adonthell-0.3.5/0000777000076500000240000000000011017604072010472 500000000000000adonthell-0.3.5/ABOUT-NLS0000644000076500000240000023334010704216510011640 000000000000001 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `translation@iro.umontreal.ca' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of October 2006. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ GNUnet | [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] [] [] | batchelor | [] | bfd | | bibshelf | [] | binutils | [] | bison | [] [] | bison-runtime | | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | [] [] | coreutils | [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | darkstat | [] () [] | dialog | [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] () [] | fileutils | [] [] | findutils | [] [] [] | flex | [] [] [] | fslint | [] | gas | | gawk | [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gimp-print | [] [] [] [] | gip | [] | gliv | [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | () () [] | gnucash-glossary | [] () | gnuedu | | gnulib | [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | () () | gramadoir | [] [] | grep | [] [] [] [] [] [] | gretl | | gsasl | | gss | | gst-plugins | [] [] [] [] | gst-plugins-base | [] [] [] | gst-plugins-good | [] [] [] [] [] [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | id-utils | [] [] | impost | | indent | [] [] [] | iso_3166 | [] [] | iso_3166_2 | | iso_4217 | [] | iso_639 | [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | | keytouch-editor | | keytouch-keyboa... | | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailutils | [] | make | [] [] | man-db | [] () [] [] | minicom | [] [] [] | mysecretdiary | [] [] | nano | [] [] [] | nano_1_0 | [] () [] [] | opcodes | [] | parted | | pilot-qof | [] | psmisc | [] | pwdutils | | python | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | silky | | skencil | [] () | sketch | [] () | solfege | | soundtracker | [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] | texinfo | [] [] [] | textutils | [] [] [] | tin | () () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] [] [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] | xchat | [] [] [] [] [] [] | xkeyboard-config | | xpad | [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 10 0 1 2 9 22 1 42 41 2 60 95 16 1 17 16 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ GNUnet | | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] [] [] | batchelor | [] [] | bfd | [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | darkstat | [] () [] [] [] | dialog | [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | error | [] [] [] [] [] | fetchmail | [] | fileutils | [] [] [] [] [] [] | findutils | [] [] [] [] | flex | [] [] [] | fslint | [] | gas | [] [] | gawk | [] [] [] [] | gbiff | [] | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] | gimp-print | [] [] | gip | [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnucash-glossary | [] [] | gnuedu | [] | gnulib | [] [] [] [] [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] | gpsdrive | () () [] () | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] [] [] [] [] | gretl | [] [] [] | gsasl | [] [] | gss | [] | gst-plugins | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] [] | impost | [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_3166 | [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] [] | ld | [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] | libidn | [] [] | lifelines | () | lilypond | [] | lingoteach | [] [] [] | lynx | [] [] [] | m4 | [] [] [] [] | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | () | minicom | [] [] [] [] | mysecretdiary | [] [] [] | nano | [] [] [] [] [] [] | nano_1_0 | [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | sh-utils | [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | | silky | [] | skencil | [] [] | sketch | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | stardict | [] | system-tools-ba... | [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] [] [] | texinfo | [] [] | textutils | [] [] [] [] [] | tin | [] () | tp-robot | [] [] [] [] | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | vorbis-tools | [] [] | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 88 22 14 2 40 115 61 14 1 8 1 6 59 31 0 52 ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no +-------------------------------------------------+ GNUnet | | a2ps | () [] [] () | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | | cpplib | [] | cryptonit | [] | darkstat | [] [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | error | [] | fetchmail | [] [] | fileutils | [] [] | findutils | [] | flex | [] [] | fslint | [] [] | gas | | gawk | [] [] | gbiff | [] | gcal | | gcc | | gettext-examples | [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gimp-print | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] | gnubiff | | gnucash | () () | gnucash-glossary | [] | gnuedu | | gnulib | [] [] [] [] | gnunet-gtk | | gnutls | | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | | gpsdrive | () () () | gramadoir | () | grep | [] [] [] [] | gretl | | gsasl | [] | gss | | gst-plugins | [] | gst-plugins-base | | gst-plugins-good | [] | gstreamer | [] | gtick | | gtkam | [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | | hello | [] [] [] [] [] [] | id-utils | [] | impost | | indent | [] [] | iso_3166 | [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] | jpilot | () () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | | libidn | [] [] | lifelines | [] | lilypond | | lingoteach | [] | lynx | [] [] | m4 | [] [] | mailutils | | make | [] [] [] | man-db | () | minicom | [] | mysecretdiary | [] | nano | [] [] [] | nano_1_0 | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | psmisc | [] [] [] | pwdutils | | python | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | sh-utils | [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] | shishi | | silky | [] | skencil | | sketch | | solfege | | soundtracker | | sp | () | stardict | [] [] | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] [] | textutils | [] [] [] | tin | | tp-robot | [] | tuxpaint | [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | vorbis-tools | [] | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +-------------------------------------------------+ ja ko ku ky lg lt lv mk mn ms mt nb ne nl nn no 52 24 2 2 1 3 0 2 3 21 0 15 1 97 5 1 nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +------------------------------------------------------+ GNUnet | | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] | bash | [] [] [] | batchelor | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | darkstat | [] [] [] [] [] [] | dialog | [] [] [] [] [] [] [] [] [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | error | [] [] [] [] | fetchmail | [] [] [] | fileutils | [] [] [] [] [] | findutils | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] [] [] [] | gas | | gawk | [] [] [] [] | gbiff | [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gimp-print | [] [] | gip | [] [] [] [] | gliv | [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () | gnucash | () [] | gnucash-glossary | [] [] [] | gnuedu | | gnulib | [] [] [] [] [] | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] [] | gramadoir | [] [] | grep | [] [] [] [] [] [] [] [] | gretl | [] | gsasl | [] [] [] | gss | [] [] [] | gst-plugins | [] [] [] [] | gst-plugins-base | [] | gst-plugins-good | [] [] [] [] | gstreamer | [] [] [] | gtick | [] | gtkam | [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | id-utils | [] [] [] [] | impost | [] | indent | [] [] [] [] [] [] | iso_3166 | [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] | iso_639 | [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | [] [] | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] | libgpg-error | [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailutils | [] [] [] [] | make | [] [] [] [] | man-db | [] [] | minicom | [] [] [] [] [] | mysecretdiary | [] [] [] [] | nano | [] [] [] | nano_1_0 | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | [] | psmisc | [] [] | pwdutils | [] [] | python | | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | sh-utils | [] [] [] | shared-mime-info | [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | silky | [] | skencil | [] [] [] | sketch | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | stardict | [] [] [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] [] | textutils | [] [] [] | tin | () | tp-robot | [] | tuxpaint | [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | vorbis-tools | [] [] | wastesedge | | wdiff | [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] | xpad | [] [] [] | +------------------------------------------------------+ nso or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 2 3 58 30 54 5 73 72 4 40 46 11 50 128 2 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ GNUnet | [] | 2 a2ps | [] [] [] | 19 aegis | | 0 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 15 bash | [] | 11 batchelor | [] [] | 9 bfd | | 1 bibshelf | [] | 7 binutils | [] [] [] | 9 bison | [] [] [] | 19 bison-runtime | [] [] [] | 15 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 6 console-tools | [] [] | 5 coreutils | [] [] | 16 cpio | [] [] [] | 9 cpplib | [] [] [] [] | 11 cryptonit | | 5 darkstat | [] () () | 15 dialog | [] [] [] [] [] | 30 diffutils | [] [] [] [] | 28 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 error | [] [] [] [] | 18 fetchmail | [] [] | 12 fileutils | [] [] [] | 18 findutils | [] [] [] | 17 flex | [] [] | 15 fslint | [] | 9 gas | [] | 3 gawk | [] [] | 15 gbiff | [] | 5 gcal | [] | 5 gcc | [] [] [] | 6 gettext-examples | [] [] [] [] [] [] | 27 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 19 gimp-print | [] [] | 12 gip | [] [] | 12 gliv | [] [] | 8 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 15 gnubiff | [] | 1 gnucash | () | 2 gnucash-glossary | [] [] | 9 gnuedu | [] | 2 gnulib | [] [] [] [] [] | 28 gnunet-gtk | | 1 gnutls | | 2 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] | 3 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] | 14 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] | 20 gpe-filemanager | [] | 6 gpe-go | [] [] | 15 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] | 20 gpe-taskmanager | [] [] [] | 20 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] | 7 gphoto2 | [] [] [] [] | 20 gprof | [] [] | 11 gpsdrive | | 4 gramadoir | [] | 7 grep | [] [] [] [] | 34 gretl | | 4 gsasl | [] [] | 8 gss | [] | 5 gst-plugins | [] [] [] | 15 gst-plugins-base | [] [] [] | 9 gst-plugins-good | [] [] [] [] [] | 20 gstreamer | [] [] [] | 17 gtick | [] | 3 gtkam | [] | 13 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 26 gutenprint | | 3 hello | [] [] [] [] [] | 37 id-utils | [] [] | 14 impost | [] | 4 indent | [] [] [] [] | 25 iso_3166 | [] [] [] [] | 16 iso_3166_2 | | 2 iso_4217 | [] [] | 14 iso_639 | [] | 14 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] | 12 keytouch | [] | 4 keytouch-editor | | 2 keytouch-keyboa... | [] | 3 latrine | [] [] | 8 ld | [] [] [] [] | 8 leafpad | [] [] [] [] | 23 libc | [] [] [] | 23 libexif | [] | 4 libextractor | [] | 5 libgpewidget | [] [] [] | 19 libgpg-error | [] | 4 libgphoto2 | [] | 8 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] | 7 libidn | [] [] | 10 lifelines | | 4 lilypond | | 2 lingoteach | [] | 6 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailutils | [] | 8 make | [] [] [] | 20 man-db | [] | 6 minicom | [] | 14 mysecretdiary | [] [] | 12 nano | [] [] | 17 nano_1_0 | [] [] [] | 18 opcodes | [] [] | 10 parted | [] [] [] | 10 pilot-qof | [] | 3 psmisc | [] | 10 pwdutils | [] | 3 python | | 0 qof | [] | 4 radius | [] | 6 recode | [] [] [] | 25 rpm | [] [] [] [] | 14 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] | 22 sh-utils | [] | 15 shared-mime-info | [] [] [] [] | 24 sharutils | [] [] [] | 23 shishi | | 1 silky | [] | 4 skencil | [] | 7 sketch | | 6 solfege | | 2 soundtracker | [] [] | 9 sp | [] | 3 stardict | [] [] [] [] | 11 system-tools-ba... | [] [] [] [] [] [] [] | 37 tar | [] [] [] [] | 20 texinfo | [] [] [] | 15 textutils | [] [] [] | 17 tin | | 1 tp-robot | [] [] [] | 10 tuxpaint | [] [] [] | 16 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 vorbis-tools | [] [] | 11 wastesedge | | 1 wdiff | [] [] | 22 wget | [] [] [] | 19 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] [] | 11 xpad | [] [] [] | 14 +---------------------------------------------------+ 77 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 170 domains 0 1 1 77 39 0 136 10 1 48 5 54 0 2028 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If October 2006 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `translation@iro.umontreal.ca' to make the `.pot' files available to the translation teams. adonthell-0.3.5/aclocal.m40000644000076500000240000105345011017574467012274 00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # Configure paths for FreeType2 # Marcelo Magallon 2001-10-26, based on gtk.m4 by Owen Taylor # # Copyright 2001, 2003, 2007 by # David Turner, Robert Wilhelm, and Werner Lemberg. # # This file is part of the FreeType project, and may only be used, modified, # and distributed under the terms of the FreeType project license, # LICENSE.TXT. By continuing to use, modify, or distribute this file you # indicate that you have read the license and understand and accept it # fully. # # As a special exception to the FreeType project 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. # # serial 2 # AC_CHECK_FT2([MINIMUM-VERSION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) # Test for FreeType 2, and define FT2_CFLAGS and FT2_LIBS. # MINIMUM-VERSION is what libtool reports; the default is `7.0.1' (this is # FreeType 2.0.4). # AC_DEFUN([AC_CHECK_FT2], [# Get the cflags and libraries from the freetype-config script # AC_ARG_WITH([ft-prefix], dnl don't quote AS_HELP_STRING! AS_HELP_STRING([--with-ft-prefix=PREFIX], [Prefix where FreeType is installed (optional)]), [ft_config_prefix="$withval"], [ft_config_prefix=""]) AC_ARG_WITH([ft-exec-prefix], dnl don't quote AS_HELP_STRING! AS_HELP_STRING([--with-ft-exec-prefix=PREFIX], [Exec prefix where FreeType is installed (optional)]), [ft_config_exec_prefix="$withval"], [ft_config_exec_prefix=""]) AC_ARG_ENABLE([freetypetest], dnl don't quote AS_HELP_STRING! AS_HELP_STRING([--disable-freetypetest], [Do not try to compile and run a test FreeType program]), [], [enable_fttest=yes]) if test x$ft_config_exec_prefix != x ; then ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" if test x${FT2_CONFIG+set} != xset ; then FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config fi fi if test x$ft_config_prefix != x ; then ft_config_args="$ft_config_args --prefix=$ft_config_prefix" if test x${FT2_CONFIG+set} != xset ; then FT2_CONFIG=$ft_config_prefix/bin/freetype-config fi fi AC_PATH_PROG([FT2_CONFIG], [freetype-config], [no]) min_ft_version=m4_if([$1], [], [7.0.1], [$1]) AC_MSG_CHECKING([for FreeType -- version >= $min_ft_version]) no_ft="" if test "$FT2_CONFIG" = "no" ; then no_ft=yes else FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` ft_min_major_version=`echo $min_ft_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` ft_min_minor_version=`echo $min_ft_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` ft_min_micro_version=`echo $min_ft_version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test x$enable_fttest = xyes ; then ft_config_is_lt="" if test $ft_config_major_version -lt $ft_min_major_version ; then ft_config_is_lt=yes else if test $ft_config_major_version -eq $ft_min_major_version ; then if test $ft_config_minor_version -lt $ft_min_minor_version ; then ft_config_is_lt=yes else if test $ft_config_minor_version -eq $ft_min_minor_version ; then if test $ft_config_micro_version -lt $ft_min_micro_version ; then ft_config_is_lt=yes fi fi fi fi fi if test x$ft_config_is_lt = xyes ; then no_ft=yes else ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $FT2_CFLAGS" LIBS="$FT2_LIBS $LIBS" # # Sanity checks for the results of freetype-config to some extent. # AC_RUN_IFELSE([ AC_LANG_SOURCE([[ #include #include FT_FREETYPE_H #include #include int main() { FT_Library library; FT_Error error; error = FT_Init_FreeType(&library); if (error) return 1; else { FT_Done_FreeType(library); return 0; } } ]]) ], [], [no_ft=yes], [echo $ECHO_N "cross compiling; assuming OK... $ECHO_C"]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi # test $ft_config_version -lt $ft_min_version fi # test x$enable_fttest = xyes fi # test "$FT2_CONFIG" = "no" if test x$no_ft = x ; then AC_MSG_RESULT([yes]) m4_if([$2], [], [:], [$2]) else AC_MSG_RESULT([no]) if test "$FT2_CONFIG" = "no" ; then AC_MSG_WARN([ The freetype-config script installed by FreeType 2 could not be found. If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in your path, or set the FT2_CONFIG environment variable to the full path to freetype-config. ]) else if test x$ft_config_is_lt = xyes ; then AC_MSG_WARN([ Your installed version of the FreeType 2 library is too old. If you have different versions of FreeType 2, make sure that correct values for --with-ft-prefix or --with-ft-exec-prefix are used, or set the FT2_CONFIG environment variable to the full path to freetype-config. ]) else AC_MSG_WARN([ The FreeType test program failed to run. If your system uses shared libraries and they are installed outside the normal system library path, make sure the variable LD_LIBRARY_PATH (or whatever is appropriate for your system) is correctly set. ]) fi fi FT2_CFLAGS="" FT2_LIBS="" m4_if([$3], [], [:], [$3]) fi AC_SUBST([FT2_CFLAGS]) AC_SUBST([FT2_LIBS])]) # end of freetype2.m4 # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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_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_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm 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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` 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-*kfreebsd*-gnu|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-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; 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-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) 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]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $echo "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 ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else 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` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi ])# 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl 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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_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. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` 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`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux 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 ;; 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 ;; *) # from 4.6 on, and DragonFly 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' ;; interix[[3-9]]*) 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* | k*bsd*-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' 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux 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" ;; rdos*) dynamic_linker=no ;; 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_REQUIRE([LT_AC_PROG_SED])dnl 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 recognize 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 recognize 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 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; 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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx*) lt_cv_deplibs_check_method=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 ;; rdos*) 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_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 : 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` $xlcverstring' _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 $xlcverstring~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* | 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(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 ;; interix[[3-9]]*) _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* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. 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' ;; esac ;; 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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z 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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_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 <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_AC_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac ])# AC_LIBTOOL_POSTDEP_PREDEP # AC_LIBTOOL_LANG_F77_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_F77_CONFIG], [_LT_AC_LANG_F77_CONFIG(F77)]) AC_DEFUN([_LT_AC_LANG_F77_CONFIG], [AC_REQUIRE([AC_PROG_F77]) AC_LANG_PUSH(Fortran 77) _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_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 # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_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" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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]) _LT_AC_TAGVAR(GCC, $1)="$G77" _LT_AC_TAGVAR(LD, $1)="$LD" 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" ])# AC_LIBTOOL_LANG_F77_CONFIG # AC_LIBTOOL_LANG_GCJ_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_GCJ_CONFIG], [_LT_AC_LANG_GCJ_CONFIG(GCJ)]) AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG], [AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_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" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_CONFIG($1) AC_LANG_RESTORE CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_GCJ_CONFIG # AC_LIBTOOL_LANG_RC_CONFIG # ------------------------- # Ensure that the configuration vars for the Windows resource 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_RC_CONFIG], [_LT_AC_LANG_RC_CONFIG(RC)]) AC_DEFUN([_LT_AC_LANG_RC_CONFIG], [AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_AC_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_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" CC=${RC-"windres"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes AC_LIBTOOL_CONFIG($1) AC_LANG_RESTORE CC="$lt_save_CC" ])# AC_LIBTOOL_LANG_RC_CONFIG # AC_LIBTOOL_CONFIG([TAGNAME]) # ---------------------------- # If TAGNAME is not passed, then create an initial libtool script # with a default configuration from the untagged config vars. Otherwise # add code to config.status for appending the configuration named by # TAGNAME from the matching tagged config vars. AC_DEFUN([AC_LIBTOOL_CONFIG], [# 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 \ _LT_AC_TAGVAR(compiler, $1) \ _LT_AC_TAGVAR(CC, $1) \ _LT_AC_TAGVAR(LD, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_wl, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_static, $1) \ _LT_AC_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) \ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1) \ _LT_AC_TAGVAR(thread_safe_flag_spec, $1) \ _LT_AC_TAGVAR(whole_archive_flag_spec, $1) \ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1) \ _LT_AC_TAGVAR(old_archive_cmds, $1) \ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) \ _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) \ _LT_AC_TAGVAR(archive_cmds, $1) \ _LT_AC_TAGVAR(archive_expsym_cmds, $1) \ _LT_AC_TAGVAR(postinstall_cmds, $1) \ _LT_AC_TAGVAR(postuninstall_cmds, $1) \ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) \ _LT_AC_TAGVAR(allow_undefined_flag, $1) \ _LT_AC_TAGVAR(no_undefined_flag, $1) \ _LT_AC_TAGVAR(export_symbols_cmds, $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_automatic, $1) \ _LT_AC_TAGVAR(module_cmds, $1) \ _LT_AC_TAGVAR(module_expsym_cmds, $1) \ _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1) \ _LT_AC_TAGVAR(fix_srcfile_path, $1) \ _LT_AC_TAGVAR(exclude_expsyms, $1) \ _LT_AC_TAGVAR(include_expsyms, $1); do case $var in _LT_AC_TAGVAR(old_archive_cmds, $1) | \ _LT_AC_TAGVAR(old_archive_from_new_cmds, $1) | \ _LT_AC_TAGVAR(archive_cmds, $1) | \ _LT_AC_TAGVAR(archive_expsym_cmds, $1) | \ _LT_AC_TAGVAR(module_cmds, $1) | \ _LT_AC_TAGVAR(module_expsym_cmds, $1) | \ _LT_AC_TAGVAR(old_archive_from_expsyms_cmds, $1) | \ _LT_AC_TAGVAR(export_symbols_cmds, $1) | \ 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 ifelse([$1], [], [cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" AC_MSG_NOTICE([creating $ofile])], [cfgfile="$ofile"]) cat <<__EOF__ >> "$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, 2002, 2003, 2004, 2005, 2006, 2007 # 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_fix_srcfile_path # 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([LT_AC_PROG_SED]) 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* | k*bsd*-gnu) 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_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* | 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* | k*bsd*-gnu) 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_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* | cygwin* | 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* | k*bsd*-gnu) 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _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_REQUIRE([LT_AC_PROG_SED])dnl 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' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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/'\'' -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 ;; interix[[3-9]]*) _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' ;; gnu* | linux* | k*bsd*-gnu) 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 case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$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 '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 : 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` $xlcverstring' _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 $xlcverstring~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* | 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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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* | 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' 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* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # Configure paths for SDL # Sam Lantinga 9/21/99 # stolen from Manish Singh # stolen back from Frank Belew # stolen from Manish Singh # Shamelessly stolen from Owen Taylor dnl AM_PATH_SDL([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) dnl Test for SDL, and define SDL_CFLAGS and SDL_LIBS dnl AC_DEFUN([AM_PATH_SDL], [dnl dnl Get the cflags and libraries from the sdl-config script dnl AC_ARG_WITH(sdl-prefix,[ --with-sdl-prefix=PFX Prefix where SDL is installed (optional)], sdl_prefix="$withval", sdl_prefix="") AC_ARG_WITH(sdl-exec-prefix,[ --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional)], sdl_exec_prefix="$withval", sdl_exec_prefix="") AC_ARG_ENABLE(sdltest, [ --disable-sdltest Do not try to compile and run a test SDL program], , enable_sdltest=yes) if test x$sdl_exec_prefix != x ; then sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" if test x${SDL_CONFIG+set} != xset ; then SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config fi fi if test x$sdl_prefix != x ; then sdl_args="$sdl_args --prefix=$sdl_prefix" if test x${SDL_CONFIG+set} != xset ; then SDL_CONFIG=$sdl_prefix/bin/sdl-config fi fi if test "x$prefix" != xNONE; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi AC_PATH_PROG(SDL_CONFIG, sdl-config, no, [$PATH]) min_sdl_version=ifelse([$1], ,0.11.0,$1) AC_MSG_CHECKING(for SDL - version >= $min_sdl_version) no_sdl="" if test "$SDL_CONFIG" = "no" ; then no_sdl=yes else SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'` sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'` sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_CXXFLAGS="$CXXFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $SDL_CFLAGS" CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS" dnl dnl Now check if the installed SDL is sufficiently new. (Also sanity dnl checks the results of sdl-config to some extent dnl rm -f conf.sdltest AC_TRY_RUN([ #include #include #include #include "SDL.h" char* my_strdup (char *str) { char *new_str; if (str) { new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); strcpy (new_str, str); } else new_str = NULL; return new_str; } int main (int argc, char *argv[]) { int major, minor, micro; char *tmp_version; /* This hangs on some systems (?) system ("touch conf.sdltest"); */ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } /* HP/UX 9 (%@#!) writes to sscanf strings */ tmp_version = my_strdup("$min_sdl_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string\n", "$min_sdl_version"); exit(1); } if (($sdl_major_version > major) || (($sdl_major_version == major) && ($sdl_minor_version > minor)) || (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) { return 0; } else { printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); printf("*** to point to the correct copy of sdl-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } } ],, no_sdl=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi if test "x$no_sdl" = x ; then AC_MSG_RESULT(yes) ifelse([$2], , :, [$2]) else AC_MSG_RESULT(no) if test "$SDL_CONFIG" = "no" ; then echo "*** The sdl-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" echo "*** your path, or set the SDL_CONFIG environment variable to the" echo "*** full path to sdl-config." else if test -f conf.sdltest ; then : else echo "*** Could not run SDL test program, checking why..." CFLAGS="$CFLAGS $SDL_CFLAGS" CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS" AC_TRY_LINK([ #include #include "SDL.h" int main(int argc, char *argv[]) { return 0; } #undef main #define main K_and_R_C_main ], [ return 0; ], [ echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding SDL or finding the wrong" echo "*** version of SDL. If it is not finding SDL, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" echo "*** may want to edit the sdl-config script: $SDL_CONFIG" ]) CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi SDL_CFLAGS="" SDL_LIBS="" ifelse([$3], , :, [$3]) fi AC_SUBST(SDL_CFLAGS) AC_SUBST(SDL_LIBS) rm -f conf.sdltest ]) # Configure paths for libvorbis # Jack Moffitt 10-21-2000 # Shamelessly stolen from Owen Taylor and Manish Singh # thomasvs added check for vorbis_bitrate_addblock which is new in rc3 dnl XIPH_PATH_VORBIS([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) dnl Test for libvorbis, and define VORBIS_CFLAGS and VORBIS_LIBS dnl AC_DEFUN([XIPH_PATH_VORBIS], [dnl dnl Get the cflags and libraries dnl AC_ARG_WITH(vorbis,[ --with-vorbis=PFX Prefix where libvorbis is installed (optional)], vorbis_prefix="$withval", vorbis_prefix="") AC_ARG_WITH(vorbis-libraries,[ --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional)], vorbis_libraries="$withval", vorbis_libraries="") AC_ARG_WITH(vorbis-includes,[ --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional)], vorbis_includes="$withval", vorbis_includes="") AC_ARG_ENABLE(vorbistest, [ --disable-vorbistest Do not try to compile and run a test Vorbis program],, enable_vorbistest=yes) if test "x$vorbis_libraries" != "x" ; then VORBIS_LIBS="-L$vorbis_libraries" elif test "x$vorbis_prefix" != "x" ; then VORBIS_LIBS="-L$vorbis_prefix/lib" elif test "x$prefix" != "xNONE"; then VORBIS_LIBS="-L$prefix/lib" fi VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" VORBISFILE_LIBS="-lvorbisfile" VORBISENC_LIBS="-lvorbisenc" if test "x$vorbis_includes" != "x" ; then VORBIS_CFLAGS="-I$vorbis_includes" elif test "x$vorbis_prefix" != "x" ; then VORBIS_CFLAGS="-I$vorbis_prefix/include" elif test "x$prefix" != "xNONE"; then VORBIS_CFLAGS="-I$prefix/include" fi AC_MSG_CHECKING(for Vorbis) no_vorbis="" if test "x$enable_vorbistest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS" LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS" dnl dnl Now check if the installed Vorbis is sufficiently new. dnl rm -f conf.vorbistest AC_TRY_RUN([ #include #include #include #include #include int main () { vorbis_block vb; vorbis_dsp_state vd; vorbis_info vi; vorbis_info_init (&vi); vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1); vorbis_analysis_init (&vd, &vi); vorbis_block_init (&vd, &vb); /* this function was added in 1.0rc3, so this is what we're testing for */ vorbis_bitrate_addblock (&vb); system("touch conf.vorbistest"); return 0; } ],, no_vorbis=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi if test "x$no_vorbis" = "x" ; then AC_MSG_RESULT(yes) ifelse([$1], , :, [$1]) else AC_MSG_RESULT(no) if test -f conf.vorbistest ; then : else echo "*** Could not run Vorbis test program, checking why..." CFLAGS="$CFLAGS $VORBIS_CFLAGS" LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" AC_TRY_LINK([ #include #include ], [ return 0; ], [ echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding Vorbis or finding the wrong" echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"], [ echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" echo "*** or that you have moved Vorbis since it was installed." ]) CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi VORBIS_CFLAGS="" VORBIS_LIBS="" VORBISFILE_LIBS="" VORBISENC_LIBS="" ifelse([$2], , :, [$2]) fi AC_SUBST(VORBIS_CFLAGS) AC_SUBST(VORBIS_LIBS) AC_SUBST(VORBISFILE_LIBS) AC_SUBST(VORBISENC_LIBS) rm -f conf.vorbistest ]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # 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 conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/gettext.m4]) m4_include([m4/iconv.m4]) m4_include([m4/lib-ld.m4]) m4_include([m4/lib-link.m4]) m4_include([m4/lib-prefix.m4]) m4_include([m4/nls.m4]) m4_include([m4/po.m4]) m4_include([m4/progtest.m4]) adonthell-0.3.5/adonthell.spec0000644000076500000240000000332311017604053013234 00000000000000# Spec file to build RPM packages - shamefully ripped from Exult # (but since they got our configure summary, that's just fair I guess) %define ver 0.3.5 %define rel 1 %define prefix /usr %define name adonthell %define bindir %prefix/bin %define datadir %prefix/share %define gamedatadir %prefix/share/adonthell Summary: A 2D graphical RPG game. Name: %name Version: %ver Release: %rel License: GPL Group: Amusements/Games Source: http://freesoftware.fsf.org/download/adonthell/%{name}-%{ver}.tar.gz URL: http://adonthell.linuxgames.com BuildRoot: /tmp/adonthell Prereq: /usr/bin/strip Prefix: %prefix Docdir: %{prefix}/doc %description A 2D, graphical, single player role playing game inspired by good old console RPGs from the SNES like Secret of Mana or Chrono Trigger. This package contains the Adonthell engine. You will also need a game package to play Adonthell. For this release, the official package is Waste's Edge. %prep %setup %build if [ ! -f configure ]; then ./autogen.sh fi CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --bindir=%bindir --datadir=%datadir make %install rm -rf $RPM_BUILD_ROOT make prefix=$RPM_BUILD_ROOT%{prefix} bindir=$RPM_BUILD_ROOT%{bindir} gamedatadir=$RPM_BUILD_ROOT%{gamedatadir} install strip $RPM_BUILD_ROOT%{bindir}/adonthell install -m 644 src/modules/adonthell.py $RPM_BUILD_ROOT%{gamedatadir}/modules/adonthell.py install -m 644 src/modules/dialogue.py $RPM_BUILD_ROOT%{gamedatadir}/modules/dialogue.py %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc ABOUT-NLS ChangeLog COPYING NEWS FULLSCREEN.howto README %{bindir}/adonthell %{gamedatadir}/modules/adonthell.py %{gamedatadir}/modules/dialogue.py adonthell-0.3.5/adonthell.spec.in0000644000076500000240000000332711003405457013647 00000000000000# Spec file to build RPM packages - shamefully ripped from Exult # (but since they got our configure summary, that's just fair I guess) %define ver @VERSION@ %define rel 1 %define prefix /usr %define name @PACKAGE@ %define bindir %prefix/bin %define datadir %prefix/share %define gamedatadir %prefix/share/adonthell Summary: A 2D graphical RPG game. Name: %name Version: %ver Release: %rel License: GPL Group: Amusements/Games Source: http://freesoftware.fsf.org/download/adonthell/%{name}-%{ver}.tar.gz URL: http://adonthell.linuxgames.com BuildRoot: /tmp/adonthell Prereq: /usr/bin/strip Prefix: %prefix Docdir: %{prefix}/doc %description A 2D, graphical, single player role playing game inspired by good old console RPGs from the SNES like Secret of Mana or Chrono Trigger. This package contains the Adonthell engine. You will also need a game package to play Adonthell. For this release, the official package is Waste's Edge. %prep %setup %build if [ ! -f configure ]; then ./autogen.sh fi CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=%prefix --bindir=%bindir --datadir=%datadir make %install rm -rf $RPM_BUILD_ROOT make prefix=$RPM_BUILD_ROOT%{prefix} bindir=$RPM_BUILD_ROOT%{bindir} gamedatadir=$RPM_BUILD_ROOT%{gamedatadir} install strip $RPM_BUILD_ROOT%{bindir}/adonthell install -m 644 src/modules/adonthell.py $RPM_BUILD_ROOT%{gamedatadir}/modules/adonthell.py install -m 644 src/modules/dialogue.py $RPM_BUILD_ROOT%{gamedatadir}/modules/dialogue.py %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %doc ABOUT-NLS ChangeLog COPYING NEWS FULLSCREEN.howto README %{bindir}/adonthell %{gamedatadir}/modules/adonthell.py %{gamedatadir}/modules/dialogue.py adonthell-0.3.5/AUTHORS0000644000076500000240000000105107424065637011472 00000000000000The people more or less involved with the Adonthell project: Alexandre Courbot Andrew Henderson Benjamin Walther-Franks Chris Harris James Nash Jayson Baird Joel Vennin Joseph Toscano Josh Glover Kai Sterker Mark Howson Micah Cowan Micheal Avery Mike Nieforth Forgot about you? Complain to kaisterker@linuxgames.com! ____________________________________________________________________________ The core members of the Adonthell Project team can be contacted via the project's homepage at: http://adonthell.linuxgames.com/development/team.shtml adonthell-0.3.5/autogen.sh0000755000076500000240000000111410754126253012413 00000000000000#!/bin/sh # First of all clean up the generated crud rm -f configure config.log config.cache rm -f config.status aclocal.m4 # intl/Makefile.in is not generated, so don't delete it mv intl/Makefile.in intl/Makefile.bak rm -f `find . -name 'Makefile.in'` mv intl/Makefile.bak intl/Makefile.in rm -f `find . -name 'Makefile'` # Regenerate everything aclocal -I m4 libtoolize --automake --force --copy autoheader automake --add-missing --gnu --copy autoconf echo echo "Now type './configure' to prepare Adonthell for compilation." echo "Afterwards, 'make' will build Adonthell." echo adonthell-0.3.5/ChangeLog0000644000076500000240000000103310704216510012153 000000000000002007-10-13 gettextize * m4/gettext.m4: Upgrade to gettext-0.16.1. * m4/iconv.m4: Upgrade to gettext-0.16.1. * m4/lib-ld.m4: Upgrade to gettext-0.16.1. * m4/lib-link.m4: Upgrade to gettext-0.16.1. * m4/lib-prefix.m4: Upgrade to gettext-0.16.1. * m4/nls.m4: Upgrade to gettext-0.16.1. * m4/po.m4: Upgrade to gettext-0.16.1. * m4/progtest.m4: Upgrade to gettext-0.16.1. Currently, our change log is our CVS ;> You can find it at: http://savannah.nongnu.org/cgi-bin/viewcvs/adonthell/adonthell-0.3/ adonthell-0.3.5/config.guess0000755000076500000240000012703510614436542012745 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-03-06' # 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., 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. # 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, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the 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 ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep __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 ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:*) echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[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 ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep __LP64__ >/dev/null then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:*) 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-unknown-linux-gnu exit ;; 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 ;; coff-i386) echo "${UNAME_MACHINE}-pc-linux-gnucoff" exit ;; "") # 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 ;; 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 #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" test x"${LIBC}" != x && { echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit } test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i386. echo i386-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: adonthell-0.3.5/config.h.in0000644000076500000240000000525011017574533012443 00000000000000/* config.h.in. Generated from configure.in by autoheader. */ /* Define to 1 if translation of program messages to the user's native language is requested. */ #undef ENABLE_NLS /* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework. */ #undef HAVE_CFLOCALECOPYCURRENT /* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework. */ #undef HAVE_CFPREFERENCESCOPYAPPVALUE /* Define if the GNU dcgettext() function is already present or preinstalled. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* Define if you have the iconv() function. */ #undef HAVE_ICONV /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_PTHREAD_H /* Define to 1 if you have the header file. */ #undef HAVE_SDL_SDL_H /* Define to 1 if you have the header file. */ #undef HAVE_SDL_SDL_MIXER_H /* Define to 1 if you have the header file. */ #undef HAVE_SDL_SDL_TTF_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the header file. */ #undef HAVE_VORBIS_VORBISFILE_H /* Define to 1 if you have the header file. */ #undef HAVE_ZLIB_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION adonthell-0.3.5/config.rpath0000755000076500000240000003744410704216510012730 00000000000000#! /bin/sh # Output a system dependent set of variables, describing how to set the # run time search path of shared libraries in an executable. # # Copyright 1996-2006 Free Software Foundation, Inc. # Taken from GNU libtool, 2001 # Originally by Gordon Matzigkeit , 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # # The first argument passed to this file is the canonical host specification, # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld # should be set by the caller. # # The set of defined variables is at the end of this script. # Known limitations: # - On IRIX 6.5 with CC="cc", the run time search patch must not be longer # than 256 bytes, otherwise the compiler driver will dump core. The only # known workaround is to choose shorter directory names for the build # directory and/or the installation directory. # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a shrext=.so host="$1" host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` # Code taken from libtool.m4's _LT_CC_BASENAME. for cc_temp in $CC""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` # Code taken from libtool.m4's AC_LIBTOOL_PROG_COMPILER_PIC. wl= if test "$GCC" = yes; then wl='-Wl,' else case "$host_os" in aix*) wl='-Wl,' ;; darwin*) case $cc_basename in xlc*) wl='-Wl,' ;; esac ;; mingw* | pw32* | os2*) ;; hpux9* | hpux10* | hpux11*) wl='-Wl,' ;; irix5* | irix6* | nonstopux*) wl='-Wl,' ;; newsos6) ;; linux*) case $cc_basename in icc* | ecc*) wl='-Wl,' ;; pgcc | pgf77 | pgf90) wl='-Wl,' ;; ccc*) wl='-Wl,' ;; como) wl='-lopt=' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) wl='-Wl,' ;; esac ;; esac ;; osf3* | osf4* | osf5*) wl='-Wl,' ;; sco3.2v5*) ;; solaris*) wl='-Wl,' ;; sunos4*) wl='-Qoption ld ' ;; sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) wl='-Wl,' ;; sysv4*MP*) ;; unicos*) wl='-Wl,' ;; uts4*) ;; esac fi # Code taken from libtool.m4's AC_LIBTOOL_PROG_LD_SHLIBS. hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no case "$host_os" in cygwin* | mingw* | pw32*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. # Unlike libtool, we use -rpath here, not --rpath, since the documented # option of GNU ld is called -rpath, not --rpath. hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' case "$host_os" in aix3* | aix4* | aix5*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II reports # that the semantics of dynamic libraries on AmigaOS, at least up # to version 4, is to share data among multiple programs linked # with the same dynamic library. Since this doesn't match the # behavior of shared libraries on other platforms, we cannot use # them. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then : else ld_shlibs=no fi ;; interix3*) hardcode_direct=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; netbsd*) ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' else ld_shlibs=no fi ;; esac ;; sunos4*) hardcode_direct=yes ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then : else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then hardcode_libdir_flag_spec= fi else case "$host_os" in aix3*) # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix4* | aix5*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac fi hardcode_direct=yes hardcode_libdir_separator=':' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && \ strings "$collect2name" | grep resolve_lib_name >/dev/null then # We have reworked collect2 hardcode_direct=yes else # We have old collect2 hardcode_direct=unsupported hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac fi # Begin _LT_AC_SYS_LIBPATH_AIX. echo 'int main () { return 0; }' > conftest.c ${CC} ${LDFLAGS} conftest.c -o conftest aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } }'` fi if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib" fi rm -f conftest.c conftest # End _LT_AC_SYS_LIBPATH_AIX. if test "$aix_use_runtimelinking" = yes; then hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' else hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" fi fi ;; amigaos*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. hardcode_libdir_flag_spec=' ' libext=lib ;; darwin* | rhapsody*) hardcode_direct=no if test "$GCC" = yes ; then : else case $cc_basename in xlc*) ;; *) ld_shlibs=no ;; esac fi ;; dgux*) hardcode_libdir_flag_spec='-L$libdir' ;; freebsd1*) ld_shlibs=no ;; freebsd2.2*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; freebsd2*) hardcode_direct=yes hardcode_minus_L=yes ;; freebsd* | kfreebsd*-gnu | dragonfly*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; hpux9*) hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; hpux10*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no ;; *) hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; netbsd*) hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes ;; newsos6) hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; openbsd*) hardcode_direct=yes if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then hardcode_libdir_flag_spec='${wl}-rpath,$libdir' else case "$host_os" in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) hardcode_libdir_flag_spec='-R$libdir' ;; *) hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; osf3*) hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) if test "$GCC" = yes; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else # Both cc and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) hardcode_libdir_flag_spec='-R$libdir' ;; sunos4*) hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes ;; sysv4) case $host_vendor in sni) hardcode_direct=yes # is this really true??? ;; siemens) hardcode_direct=no ;; motorola) hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac ;; sysv4.3*) ;; sysv4*MP*) if test -d /usr/nec; then ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7*) ;; sysv5* | sco3.2v5* | sco5v6*) hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' ;; uts4*) hardcode_libdir_flag_spec='-L$libdir' ;; *) ld_shlibs=no ;; esac fi # Check dynamic linker characteristics # Code taken from libtool.m4's AC_LIBTOOL_SYS_DYNAMIC_LINKER. libname_spec='lib$name' case "$host_os" in aix3*) ;; aix4* | aix5*) ;; amigaos*) ;; beos*) ;; bsdi[45]*) ;; cygwin* | mingw* | pw32*) shrext=.dll ;; darwin* | rhapsody*) shrext=.dylib ;; dgux*) ;; freebsd1*) ;; kfreebsd*-gnu) ;; freebsd* | dragonfly*) ;; gnu*) ;; hpux9* | hpux10* | hpux11*) case $host_cpu in ia64*) shrext=.so ;; hppa*64*) shrext=.sl ;; *) shrext=.sl ;; esac ;; interix3*) ;; irix5* | irix6* | nonstopux*) case "$host_os" in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; *) libsuff= shlibsuff= ;; esac ;; esac ;; linux*oldld* | linux*aout* | linux*coff*) ;; linux*) ;; knetbsd*-gnu) ;; netbsd*) ;; newsos6) ;; nto-qnx*) ;; openbsd*) ;; os2*) libname_spec='$name' shrext=.dll ;; osf3* | osf4* | osf5*) ;; solaris*) ;; sunos4*) ;; sysv4 | sysv4.3*) ;; sysv4*MP*) ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) ;; uts4*) ;; esac sed_quote_subst='s/\(["`$\\]\)/\\\1/g' escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` shlibext=`echo "$shrext" | sed -e 's,^\.,,'` escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. 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, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-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 | -knuth | -cray) 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 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) 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] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64vr | mips64vrel \ | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | 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) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64vr-* | mips64vrel-* \ | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | 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 ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; 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 ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16c) basic_machine=cr16c-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'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 ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) 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 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; 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 ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; 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 ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -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* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # 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 ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: adonthell-0.3.5/configure0000755000076500000240000312401111017574472012331 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for adonthell 0.3.5. # # Report bugs to . # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # 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 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done 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) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # 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'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= 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=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # 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 after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, 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 # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { 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 sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' 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$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # 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'" # 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 exec 7<&0 &1 # 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` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='adonthell' PACKAGE_TARNAME='adonthell' PACKAGE_VERSION='0.3.5' PACKAGE_STRING='adonthell 0.3.5' PACKAGE_BUGREPORT='adonthell-devel@nongnu.org' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" gt_needs= 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 datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP SED GREP EGREP LN_S ECHO AR RANLIB CPP F77 FFLAGS ac_ct_F77 LIBTOOL USE_NLS MSGFMT GMSGFMT MSGFMT_015 GMSGFMT_015 XGETTEXT XGETTEXT_015 MSGMERGE INTL_MACOSX_LIBS LIBICONV LTLIBICONV INTLLIBS LIBINTL LTLIBINTL POSUB MAKE_BUNDLE_TRUE MAKE_BUNDLE_FALSE SDL_CONFIG SDL_CFLAGS SDL_LIBS FT2_CONFIG FT2_CFLAGS FT2_LIBS VORBIS_CFLAGS VORBIS_LIBS VORBISFILE_LIBS VORBISENC_LIBS PYPACKAGE PY_FWDIR PY_SPDIR haveldd P_SWIG BUILD_TOOLS_TRUE BUILD_TOOLS_FALSE HAVE_GTK_TRUE HAVE_GTK_FALSE BUILD_DOC_TRUE BUILD_DOC_FALSE P_DOXYGEN P_DOT HAVE_OGG_VORBIS_TRUE HAVE_OGG_VORBIS_FALSE SDL_DEFS OGG_CFLAGS OGG_LIBS OGG_DEFS PY_CFLAGS PY_LIBS gamedatadir LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CXXCPP CPP F77 FFLAGS' # 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. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_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 ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_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'` 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 ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_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'` 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; }; } 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 directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } 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 ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $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 test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures adonthell 0.3.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/adonthell] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of adonthell 0.3.5:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-nls do not use Native Language Support --disable-rpath do not hardcode runtime library paths --disable-unix-install Disable a Unix-like install (enabled by default) --enable-memleaks Enable check for memory leaks (disabled by default) --enable-doc Build the Adonthell developer documentation (disabled by default) --disable-py-debug Disable debugging of Python scripts (enabled by default) --disable-sdltest Do not try to compile and run a test SDL program --disable-freetypetest Do not try to compile and run a test FreeType program --disable-vorbistest Do not try to compile and run a test Vorbis program 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] --with-gnu-ld assume the C compiler uses GNU ld default=no --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib --without-libiconv-prefix don't search for libiconv in includedir and libdir --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib --without-libintl-prefix don't search for libintl in includedir and libdir --with-ogg=DIR Set where the Ogg library is located --with-vorbis=DIR Set where the Vorbis library is located --with-data-dir=DIR Directory where datas will be installed --with-py-libs=DIR Override Python libraries auto-detection --with-py-cflags=DIR Override Python cflags auto-detection --with-sdl-prefix=PFX Prefix where SDL is installed (optional) --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) --with-ft-prefix=PREFIX Prefix where FreeType is installed (optional) --with-ft-exec-prefix=PREFIX Exec prefix where FreeType is installed (optional) --with-vorbis=PFX Prefix where libvorbis is installed (optional) --with-vorbis-libraries=DIR Directory where libvorbis library is installed (optional) --with-vorbis-includes=DIR Directory where libvorbis header files are installed (optional) 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 LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor CPP C preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF adonthell configure 0.3.5 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by adonthell $as_me 0.3.5, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`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_arg'" ;; 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: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # 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 -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file 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 gt_needs="$gt_needs " # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_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 # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/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_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { 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=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_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; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { 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 if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- am__api_version='1.10' # 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 { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { 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 > conftest.file # 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 conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { 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" = conftest.file ) 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 { 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 -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { 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 rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { 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 fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='adonthell' VERSION='0.3.5' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_config_headers="$ac_config_headers config.h" CFLAGS="-g -Wall -fno-exceptions" CPPFLAGS="" DEFS="" 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { 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.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi 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` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then 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 # Check that 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' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 that 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { 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 ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { 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 ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=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 -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi 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` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { 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 ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { 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 ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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 nonexistent 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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 nonexistent 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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=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 was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi { 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$lt_ac_prog$ac_exec_ext"; }; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_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_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { 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 recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize 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', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; 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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; nto-qnx*) lt_cv_deplibs_check_method=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 ;; rdos*) 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 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 5153 "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-*kfreebsd*-gnu|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-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; 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-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; ppc*-*linux*|powerpc*-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*) 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 nonexistent 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 nonexistent 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >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 #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* 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 { as_var=$as_ac_Header; eval "test \"\${$as_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. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 adonthell-devel@nongnu.org ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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 nonexistent 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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 nonexistent 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.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=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu 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 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else 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` fi ;; 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* | k*bsd*-gnu) 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi 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_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 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 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7423: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7427: \$? = $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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; 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* | cygwin* | 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* | k*bsd*-gnu) 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7713: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7717: \$? = $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" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7817: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7821: \$? = $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/'\'' -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 ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) 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 case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$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 '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $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 : 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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` $xlcverstring' 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 $xlcverstring~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* | 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* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then 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 else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$echo "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && 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 and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`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* echo "$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 case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_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. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` 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`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux 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 ;; 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 ;; *) # from 4.6 on, and DragonFly 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' ;; interix[3-9]*) 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* | k*bsd*-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' 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux 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" ;; rdos*) dynamic_linker=no ;; 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" old_striplib="$STRIP -S" { 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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* 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 #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* 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 #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; 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 core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 \ fix_srcfile_path \ 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, 2002, 2003, 2004, 2005, 2006, 2007 # 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=$lt_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 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=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm 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 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 : 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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` $xlcverstring' 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 $xlcverstring~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* | 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*) ;; *) 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 ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && 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* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | grep "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. 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' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then 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' else ld_shlibs_CXX=no fi ;; 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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='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' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # 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 interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 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* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12699: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12703: \$? = $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" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12803: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12807: \$? = $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' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) 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* echo "$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" 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`' 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 ;; 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 ;; *) # from 4.6 on, and DragonFly 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' ;; interix[3-9]*) 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* | k*bsd*-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' 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux 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" ;; rdos*) dynamic_linker=no ;; 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 \ fix_srcfile_path_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=$lt_fix_srcfile_path # 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries 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' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_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* | cygwin* | 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* | k*bsd*-gnu) 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) 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 echo "$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:14380: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14384: \$? = $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" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14484: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14488: \$? = $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/'\'' -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 ;; interix[3-9]*) 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' ;; gnu* | linux* | k*bsd*-gnu) 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 case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$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 '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) 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 : 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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` $xlcverstring' 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 $xlcverstring~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* | 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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then 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 else ld_shlibs_F77=no 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 and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; 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* | sco3.2v5.0.[024]*) 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* echo "$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" 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`' 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 ;; 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 ;; *) # from 4.6 on, and DragonFly 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' ;; interix[3-9]*) 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* | k*bsd*-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' 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux 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" ;; rdos*) dynamic_linker=no ;; 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 \ fix_srcfile_path_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=$lt_fix_srcfile_path # 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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16684: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16688: \$? = $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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries 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' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_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* | cygwin* | 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* | k*bsd*-gnu) 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) 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 echo "$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:16974: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16978: \$? = $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" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $echo "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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:17078: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:17082: \$? = $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/'\'' -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 ;; interix[3-9]*) 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' ;; gnu* | linux* | k*bsd*-gnu) 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 case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$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 '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) 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 : 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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 { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$aix_libpath"; then aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ 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` $xlcverstring' 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 $xlcverstring~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* | 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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then 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 else ld_shlibs_GCJ=no 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 and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; 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* | sco3.2v5.0.[024]*) 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* echo "$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" 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`' 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 ;; 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 ;; *) # from 4.6 on, and DragonFly 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' ;; interix[3-9]*) 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* | k*bsd*-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' 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsdelf*-gnu) version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='NetBSD ld.elf_so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux 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" ;; rdos*) dynamic_linker=no ;; 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 \ fix_srcfile_path_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=$lt_fix_srcfile_path # 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 }' # 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 echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm 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 \ fix_srcfile_path_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=$lt_fix_srcfile_path # 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 whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { 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 { echo "$as_me:$LINENO: checking whether NLS is requested" >&5 echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6; } # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { 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. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != ":"; then { 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 # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { 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 case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { 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. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { 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 rm -f messages.po case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_MSGMERGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case "$MSGMERGE" in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&5 if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" ;; esac fi MSGMERGE="$ac_cv_path_MSGMERGE" if test "$MSGMERGE" != ":"; then { echo "$as_me:$LINENO: result: $MSGMERGE" >&5 echo "${ECHO_T}$MSGMERGE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$localedir" || localedir='${datadir}/locale' ac_config_commands="$ac_config_commands po-directories" if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by GCC" >&5 echo $ECHO_N "checking for ld used by GCC... $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. [\\/]* | [A-Za-z]:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { 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 "${acl_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi fi LD="$acl_cv_path_LD" if test -n "$LD"; then { echo "$as_me:$LINENO: result: $LD" >&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 "${acl_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 ld's only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$acl_cv_prog_gnu_ld" >&6; } with_gnu_ld=$acl_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for shared library run path origin" >&5 echo $ECHO_N "checking for shared library run path origin... $ECHO_C" >&6; } if test "${acl_cv_rpath+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done fi { echo "$as_me:$LINENO: result: $acl_cv_rpath" >&5 echo "${ECHO_T}$acl_cv_rpath" >&6; } wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" # Check whether --enable-rpath was given. if test "${enable_rpath+set}" = set; then enableval=$enable_rpath; : else enable_rpath=yes fi acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libiconv-prefix was given. if test "${with_libiconv_prefix+set}" = set; then withval=$with_libiconv_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBICONV= LTLIBICONV= INCICONV= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='iconv ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" else LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBICONV; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" ;; esac done fi else LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" done fi { echo "$as_me:$LINENO: checking for CFPreferencesCopyAppValue" >&5 echo $ECHO_N "checking for CFPreferencesCopyAppValue... $ECHO_C" >&6; } if test "${gt_cv_func_CFPreferencesCopyAppValue+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" 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 () { CFPreferencesCopyAppValue(NULL, NULL) ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_CFPreferencesCopyAppValue=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFPreferencesCopyAppValue=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { echo "$as_me:$LINENO: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 echo "${ECHO_T}$gt_cv_func_CFPreferencesCopyAppValue" >&6; } if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFPREFERENCESCOPYAPPVALUE 1 _ACEOF fi { echo "$as_me:$LINENO: checking for CFLocaleCopyCurrent" >&5 echo $ECHO_N "checking for CFLocaleCopyCurrent... $ECHO_C" >&6; } if test "${gt_cv_func_CFLocaleCopyCurrent+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" 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 () { CFLocaleCopyCurrent(); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then gt_cv_func_CFLocaleCopyCurrent=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 gt_cv_func_CFLocaleCopyCurrent=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$gt_save_LIBS" fi { echo "$as_me:$LINENO: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 echo "${ECHO_T}$gt_cv_func_CFLocaleCopyCurrent" >&6; } if test $gt_cv_func_CFLocaleCopyCurrent = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_CFLOCALECOPYCURRENT 1 _ACEOF fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi LIBINTL= LTLIBINTL= POSUB= case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi { echo "$as_me:$LINENO: checking for GNU gettext in libc" >&5 echo $ECHO_N "checking for GNU gettext in libc... $ECHO_C" >&6; } if { as_var=$gt_func_gnugettext_libc; eval "test \"\${$as_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. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings; int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$gt_func_gnugettext_libc=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libc=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$gt_func_gnugettext_libc'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then am_save_CPPFLAGS="$CPPFLAGS" for element in $INCICONV; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done { echo "$as_me:$LINENO: checking for iconv" >&5 echo $ECHO_N "checking for iconv... $ECHO_C" >&6; } if test "${am_cv_func_iconv+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then am_cv_lib_iconv=yes am_cv_func_iconv=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS="$am_save_LIBS" fi fi { echo "$as_me:$LINENO: result: $am_cv_func_iconv" >&5 echo "${ECHO_T}$am_cv_func_iconv" >&6; } if test "$am_cv_func_iconv" = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ICONV 1 _ACEOF fi if test "$am_cv_lib_iconv" = yes; then { echo "$as_me:$LINENO: checking how to link with libiconv" >&5 echo $ECHO_N "checking how to link with libiconv... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $LIBICONV" >&5 echo "${ECHO_T}$LIBICONV" >&6; } else CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi use_additional=yes acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" # Check whether --with-libintl-prefix was given. if test "${with_libintl_prefix+set}" = set; then withval=$with_libintl_prefix; if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi fi LIBINTL= LTLIBINTL= INCINTL= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='intl ' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" else : fi else found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi if test "$hardcode_direct" = yes; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" else LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" fi fi additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INCINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" fi fi fi fi fi if test -n "$found_la"; then save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIBINTL; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" ;; esac done fi else LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" else for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then for found_dir in $ltrpathdirs; do LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" done fi { echo "$as_me:$LINENO: checking for GNU gettext in libintl" >&5 echo $ECHO_N "checking for GNU gettext in libintl... $ECHO_C" >&6; } if { as_var=$gt_func_gnugettext_libintl; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$gt_func_gnugettext_libintl=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$gt_func_gnugettext_libintl=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *); int main () { bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS" fi ac_res=`eval echo '${'$gt_func_gnugettext_libintl'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else LIBINTL= LTLIBINTL= INCINTL= fi if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NLS 1 _ACEOF else USE_NLS=no fi fi { echo "$as_me:$LINENO: checking whether to use NLS" >&5 echo $ECHO_N "checking whether to use NLS... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $USE_NLS" >&5 echo "${ECHO_T}$USE_NLS" >&6; } if test "$USE_NLS" = "yes"; then { echo "$as_me:$LINENO: checking where the gettext function comes from" >&5 echo $ECHO_N "checking where the gettext function comes from... $ECHO_C" >&6; } if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi { echo "$as_me:$LINENO: result: $gt_source" >&5 echo "${ECHO_T}$gt_source" >&6; } fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then { echo "$as_me:$LINENO: checking how to link with libintl" >&5 echo $ECHO_N "checking how to link with libintl... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $LIBINTL" >&5 echo "${ECHO_T}$LIBINTL" >&6; } for element in $INCINTL; do haveit= for x in $CPPFLAGS; do acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" eval x=\"$x\" exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" fi done fi cat >>confdefs.h <<\_ACEOF #define HAVE_GETTEXT 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi POSUB=po fi INTLLIBS="$LIBINTL" # Check whether --enable-unix-install was given. if test "${enable_unix_install+set}" = set; then enableval=$enable_unix_install; unixinst=$enableval else unixinst=yes fi # Check whether --enable-memleaks was given. if test "${enable_memleaks+set}" = set; then enableval=$enable_memleaks; memleaks=$enableval else memleaks=no fi # Check whether --enable-doc was given. if test "${enable_doc+set}" = set; then enableval=$enable_doc; builddoc=$enableval else builddoc=no fi # Check whether --enable-py-debug was given. if test "${enable_py_debug+set}" = set; then enableval=$enable_py_debug; pydebug=$enableval else pydebug=yes fi # Check whether --with-ogg was given. if test "${with_ogg+set}" = set; then withval=$with_ogg; fi # Check whether --with-vorbis was given. if test "${with_vorbis+set}" = set; then withval=$with_vorbis; fi # Check whether --with-data-dir was given. if test "${with_data_dir+set}" = set; then withval=$with_data_dir; gamedatadir="$withval" else gamedatadir=none fi # Check whether --with-py-libs was given. if test "${with_py_libs+set}" = set; then withval=$with_py_libs; pylibs="$withval" else pylibs=none fi # Check whether --with-py-cflags was given. if test "${with_py_cflags+set}" = set; then withval=$with_py_cflags; pycflags="$withval" else pycflags=none fi if test x$gamedatadir = xnone; then if test x$unixinst = xno; then gamedatadir="" DEFS="$DEFS -DSINGLE_DIR_INST" case "$target" in *-*-darwin*) makebundle="yes" DEFS="$DEFS -Wno-long-double" ;; esac else case "$target" in *-*-cygwin* | *-*-mingw32*) gamedatadir="" DEFS="$DEFS -DSINGLE_DIR_INST" ;; *-*-beos*) gamedatadir="/boot/home/config/share/adonthell" DEFS="$DEFS -DDATA_DIR=\"\\\"$gamedatadir\\\"\"" ;; *) gamedatadir="${datadir}/adonthell" DEFS="$DEFS -DDATA_DIR=\"\\\"$gamedatadir\\\"\"" ;; esac fi else DEFS="$DEFS -DDATA_DIR=\"\\\"$gamedatadir\\\"\"" fi if test x$makebundle = xyes; then MAKE_BUNDLE_TRUE= MAKE_BUNDLE_FALSE='#' else MAKE_BUNDLE_TRUE='#' MAKE_BUNDLE_FALSE= fi if test x$memleaks = xyes; then DEFS="$DEFS -DMEMORY_LEAKS" fi { echo "$as_me:$LINENO: checking for main in -lpthread" >&5 echo $ECHO_N "checking for main in -lpthread... $ECHO_C" >&6; } if test "${ac_cv_lib_pthread_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lpthread $LIBS" 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 main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_pthread_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_pthread_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_pthread_main" >&5 echo "${ECHO_T}$ac_cv_lib_pthread_main" >&6; } if test $ac_cv_lib_pthread_main = yes; then PTHREADS=yes else PTHREADS=no fi { echo "$as_me:$LINENO: checking for main in -lz" >&5 echo $ECHO_N "checking for main in -lz... $ECHO_C" >&6; } if test "${ac_cv_lib_z_main+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" 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 main (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_z_main=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_main=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_z_main" >&5 echo "${ECHO_T}$ac_cv_lib_z_main" >&6; } if test $ac_cv_lib_z_main = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBZ 1 _ACEOF LIBS="-lz $LIBS" else echo "Adonthell requires Zlib. Exitting...";exit 1 fi SDL_VERSION=1.2.0 # Check whether --with-sdl-prefix was given. if test "${with_sdl_prefix+set}" = set; then withval=$with_sdl_prefix; sdl_prefix="$withval" else sdl_prefix="" fi # Check whether --with-sdl-exec-prefix was given. if test "${with_sdl_exec_prefix+set}" = set; then withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" else sdl_exec_prefix="" fi # Check whether --enable-sdltest was given. if test "${enable_sdltest+set}" = set; then enableval=$enable_sdltest; else enable_sdltest=yes fi if test x$sdl_exec_prefix != x ; then sdl_args="$sdl_args --exec-prefix=$sdl_exec_prefix" if test x${SDL_CONFIG+set} != xset ; then SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config fi fi if test x$sdl_prefix != x ; then sdl_args="$sdl_args --prefix=$sdl_prefix" if test x${SDL_CONFIG+set} != xset ; then SDL_CONFIG=$sdl_prefix/bin/sdl-config fi fi if test "x$prefix" != xNONE; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi # Extract the first word of "sdl-config", so it can be a program name with args. set dummy sdl-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_SDL_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $SDL_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_SDL_CONFIG="$SDL_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SDL_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 IFS=$as_save_IFS test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" ;; esac fi SDL_CONFIG=$ac_cv_path_SDL_CONFIG if test -n "$SDL_CONFIG"; then { echo "$as_me:$LINENO: result: $SDL_CONFIG" >&5 echo "${ECHO_T}$SDL_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi min_sdl_version=$SDL_VERSION { echo "$as_me:$LINENO: checking for SDL - version >= $min_sdl_version" >&5 echo $ECHO_N "checking for SDL - version >= $min_sdl_version... $ECHO_C" >&6; } no_sdl="" if test "$SDL_CONFIG" = "no" ; then no_sdl=yes else SDL_CFLAGS=`$SDL_CONFIG $sdlconf_args --cflags` SDL_LIBS=`$SDL_CONFIG $sdlconf_args --libs` sdl_major_version=`$SDL_CONFIG $sdl_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` sdl_minor_version=`$SDL_CONFIG $sdl_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_CXXFLAGS="$CXXFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $SDL_CFLAGS" CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS" rm -f conf.sdltest if test "$cross_compiling" = yes; then echo $ac_n "cross compiling; assumed OK... $ac_c" 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 "SDL.h" char* my_strdup (char *str) { char *new_str; if (str) { new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); strcpy (new_str, str); } else new_str = NULL; return new_str; } int main (int argc, char *argv[]) { int major, minor, micro; char *tmp_version; /* This hangs on some systems (?) system ("touch conf.sdltest"); */ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } /* HP/UX 9 (%@#!) writes to sscanf strings */ tmp_version = my_strdup("$min_sdl_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string\n", "$min_sdl_version"); exit(1); } if (($sdl_major_version > major) || (($sdl_major_version == major) && ($sdl_minor_version > minor)) || (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) { return 0; } else { printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); printf("*** to point to the correct copy of sdl-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 ) no_sdl=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi if test "x$no_sdl" = x ; 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; } if test "$SDL_CONFIG" = "no" ; then echo "*** The sdl-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" echo "*** your path, or set the SDL_CONFIG environment variable to the" echo "*** full path to sdl-config." else if test -f conf.sdltest ; then : else echo "*** Could not run SDL test program, checking why..." CFLAGS="$CFLAGS $SDL_CFLAGS" CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include "SDL.h" int main(int argc, char *argv[]) { return 0; } #undef main #define main K_and_R_C_main int main () { return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding SDL or finding the wrong" echo "*** version of SDL. If it is not finding SDL, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" echo "*** may want to edit the sdl-config script: $SDL_CONFIG" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi SDL_CFLAGS="" SDL_LIBS="" { { echo "$as_me:$LINENO: error: *** SDL version $SDL_VERSION not found!" >&5 echo "$as_me: error: *** SDL version $SDL_VERSION not found!" >&2;} { (exit 1); exit 1; }; } fi rm -f conf.sdltest { echo "$as_me:$LINENO: checking for Mix_OpenAudio in -lSDL_mixer" >&5 echo $ECHO_N "checking for Mix_OpenAudio in -lSDL_mixer... $ECHO_C" >&6; } if test "${ac_cv_lib_SDL_mixer_Mix_OpenAudio+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lSDL_mixer $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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char Mix_OpenAudio (); int main () { return Mix_OpenAudio (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_SDL_mixer_Mix_OpenAudio=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_SDL_mixer_Mix_OpenAudio=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_SDL_mixer_Mix_OpenAudio" >&5 echo "${ECHO_T}$ac_cv_lib_SDL_mixer_Mix_OpenAudio" >&6; } if test $ac_cv_lib_SDL_mixer_Mix_OpenAudio = yes; then LIBS="$LIBS -lSDL_mixer" else { { echo "$as_me:$LINENO: error: *** SDL_mixer is required" >&5 echo "$as_me: error: *** SDL_mixer is required" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: checking for TTF_Init in -lSDL_ttf" >&5 echo $ECHO_N "checking for TTF_Init in -lSDL_ttf... $ECHO_C" >&6; } if test "${ac_cv_lib_SDL_ttf_TTF_Init+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lSDL_ttf $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 GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char TTF_Init (); int main () { return TTF_Init (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_SDL_ttf_TTF_Init=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_SDL_ttf_TTF_Init=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_SDL_ttf_TTF_Init" >&5 echo "${ECHO_T}$ac_cv_lib_SDL_ttf_TTF_Init" >&6; } if test $ac_cv_lib_SDL_ttf_TTF_Init = yes; then LIBS="$LIBS -lSDL_ttf" else { { echo "$as_me:$LINENO: error: *** SDL_ttfis required" >&5 echo "$as_me: error: *** SDL_ttfis required" >&2;} { (exit 1); exit 1; }; } fi # Get the cflags and libraries from the freetype-config script # # Check whether --with-ft-prefix was given. if test "${with_ft_prefix+set}" = set; then withval=$with_ft_prefix; ft_config_prefix="$withval" else ft_config_prefix="" fi # Check whether --with-ft-exec-prefix was given. if test "${with_ft_exec_prefix+set}" = set; then withval=$with_ft_exec_prefix; ft_config_exec_prefix="$withval" else ft_config_exec_prefix="" fi # Check whether --enable-freetypetest was given. if test "${enable_freetypetest+set}" = set; then enableval=$enable_freetypetest; else enable_fttest=yes fi if test x$ft_config_exec_prefix != x ; then ft_config_args="$ft_config_args --exec-prefix=$ft_config_exec_prefix" if test x${FT2_CONFIG+set} != xset ; then FT2_CONFIG=$ft_config_exec_prefix/bin/freetype-config fi fi if test x$ft_config_prefix != x ; then ft_config_args="$ft_config_args --prefix=$ft_config_prefix" if test x${FT2_CONFIG+set} != xset ; then FT2_CONFIG=$ft_config_prefix/bin/freetype-config fi fi # Extract the first word of "freetype-config", so it can be a program name with args. set dummy freetype-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_FT2_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $FT2_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_FT2_CONFIG="$FT2_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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_FT2_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 IFS=$as_save_IFS test -z "$ac_cv_path_FT2_CONFIG" && ac_cv_path_FT2_CONFIG="no" ;; esac fi FT2_CONFIG=$ac_cv_path_FT2_CONFIG if test -n "$FT2_CONFIG"; then { echo "$as_me:$LINENO: result: $FT2_CONFIG" >&5 echo "${ECHO_T}$FT2_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi min_ft_version=6.0.0 { echo "$as_me:$LINENO: checking for FreeType -- version >= $min_ft_version" >&5 echo $ECHO_N "checking for FreeType -- version >= $min_ft_version... $ECHO_C" >&6; } no_ft="" if test "$FT2_CONFIG" = "no" ; then no_ft=yes else FT2_CFLAGS=`$FT2_CONFIG $ft_config_args --cflags` FT2_LIBS=`$FT2_CONFIG $ft_config_args --libs` ft_config_major_version=`$FT2_CONFIG $ft_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` ft_config_minor_version=`$FT2_CONFIG $ft_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` ft_config_micro_version=`$FT2_CONFIG $ft_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` ft_min_major_version=`echo $min_ft_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` ft_min_minor_version=`echo $min_ft_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` ft_min_micro_version=`echo $min_ft_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` if test x$enable_fttest = xyes ; then ft_config_is_lt="" if test $ft_config_major_version -lt $ft_min_major_version ; then ft_config_is_lt=yes else if test $ft_config_major_version -eq $ft_min_major_version ; then if test $ft_config_minor_version -lt $ft_min_minor_version ; then ft_config_is_lt=yes else if test $ft_config_minor_version -eq $ft_min_minor_version ; then if test $ft_config_micro_version -lt $ft_min_micro_version ; then ft_config_is_lt=yes fi fi fi fi fi if test x$ft_config_is_lt = xyes ; then no_ft=yes else ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $FT2_CFLAGS" LIBS="$FT2_LIBS $LIBS" # # Sanity checks for the results of freetype-config to some extent. # if test "$cross_compiling" = yes; then echo $ECHO_N "cross compiling; assuming OK... $ECHO_C" 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 FT_FREETYPE_H #include #include int main() { FT_Library library; FT_Error error; error = FT_Init_FreeType(&library); if (error) return 1; else { FT_Done_FreeType(library); return 0; } } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 ) no_ft=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi # test $ft_config_version -lt $ft_min_version fi # test x$enable_fttest = xyes fi # test "$FT2_CONFIG" = "no" if test x$no_ft = x ; 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; } if test "$FT2_CONFIG" = "no" ; then { echo "$as_me:$LINENO: WARNING: The freetype-config script installed by FreeType 2 could not be found. If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in your path, or set the FT2_CONFIG environment variable to the full path to freetype-config. " >&5 echo "$as_me: WARNING: The freetype-config script installed by FreeType 2 could not be found. If FreeType 2 was installed in PREFIX, make sure PREFIX/bin is in your path, or set the FT2_CONFIG environment variable to the full path to freetype-config. " >&2;} else if test x$ft_config_is_lt = xyes ; then { echo "$as_me:$LINENO: WARNING: Your installed version of the FreeType 2 library is too old. If you have different versions of FreeType 2, make sure that correct values for --with-ft-prefix or --with-ft-exec-prefix are used, or set the FT2_CONFIG environment variable to the full path to freetype-config. " >&5 echo "$as_me: WARNING: Your installed version of the FreeType 2 library is too old. If you have different versions of FreeType 2, make sure that correct values for --with-ft-prefix or --with-ft-exec-prefix are used, or set the FT2_CONFIG environment variable to the full path to freetype-config. " >&2;} else { echo "$as_me:$LINENO: WARNING: The FreeType test program failed to run. If your system uses shared libraries and they are installed outside the normal system library path, make sure the variable LD_LIBRARY_PATH (or whatever is appropriate for your system) is correctly set. " >&5 echo "$as_me: WARNING: The FreeType test program failed to run. If your system uses shared libraries and they are installed outside the normal system library path, make sure the variable LD_LIBRARY_PATH (or whatever is appropriate for your system) is correctly set. " >&2;} fi fi FT2_CFLAGS="" FT2_LIBS="" { { echo "$as_me:$LINENO: error: *** Freetype version >= 6.0.0 not found!" >&5 echo "$as_me: error: *** Freetype version >= 6.0.0 not found!" >&2;} { (exit 1); exit 1; }; } fi OGG_VORBIS=no # Check whether --with-vorbis was given. if test "${with_vorbis+set}" = set; then withval=$with_vorbis; vorbis_prefix="$withval" else vorbis_prefix="" fi # Check whether --with-vorbis-libraries was given. if test "${with_vorbis_libraries+set}" = set; then withval=$with_vorbis_libraries; vorbis_libraries="$withval" else vorbis_libraries="" fi # Check whether --with-vorbis-includes was given. if test "${with_vorbis_includes+set}" = set; then withval=$with_vorbis_includes; vorbis_includes="$withval" else vorbis_includes="" fi # Check whether --enable-vorbistest was given. if test "${enable_vorbistest+set}" = set; then enableval=$enable_vorbistest; else enable_vorbistest=yes fi if test "x$vorbis_libraries" != "x" ; then VORBIS_LIBS="-L$vorbis_libraries" elif test "x$vorbis_prefix" != "x" ; then VORBIS_LIBS="-L$vorbis_prefix/lib" elif test "x$prefix" != "xNONE"; then VORBIS_LIBS="-L$prefix/lib" fi VORBIS_LIBS="$VORBIS_LIBS -lvorbis -lm" VORBISFILE_LIBS="-lvorbisfile" VORBISENC_LIBS="-lvorbisenc" if test "x$vorbis_includes" != "x" ; then VORBIS_CFLAGS="-I$vorbis_includes" elif test "x$vorbis_prefix" != "x" ; then VORBIS_CFLAGS="-I$vorbis_prefix/include" elif test "x$prefix" != "xNONE"; then VORBIS_CFLAGS="-I$prefix/include" fi { echo "$as_me:$LINENO: checking for Vorbis" >&5 echo $ECHO_N "checking for Vorbis... $ECHO_C" >&6; } no_vorbis="" if test "x$enable_vorbistest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $VORBIS_CFLAGS $OGG_CFLAGS" LIBS="$LIBS $VORBIS_LIBS $VORBISENC_LIBS $OGG_LIBS" rm -f conf.vorbistest if test "$cross_compiling" = yes; then echo $ac_n "cross compiling; assumed OK... $ac_c" 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 #include int main () { vorbis_block vb; vorbis_dsp_state vd; vorbis_info vi; vorbis_info_init (&vi); vorbis_encode_init (&vi, 2, 44100, -1, 128000, -1); vorbis_analysis_init (&vd, &vi); vorbis_block_init (&vd, &vb); /* this function was added in 1.0rc3, so this is what we're testing for */ vorbis_bitrate_addblock (&vb); system("touch conf.vorbistest"); return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 ) no_vorbis=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi if test "x$no_vorbis" = "x" ; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } OGG_VORBIS="yes" ogg_music="enabled" OGG_LIBS="$VORBISFILE_LIBS $VORBIS_LIBS" OGG_DEFS="-DOGG_MUSIC" OGG_CFLAGS="$VORBIS_CFLAGS" else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } if test -f conf.vorbistest ; then : else echo "*** Could not run Vorbis test program, checking why..." CFLAGS="$CFLAGS $VORBIS_CFLAGS" LIBS="$LIBS $VORBIS_LIBS $OGG_LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include int main () { return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding Vorbis or finding the wrong" echo "*** version of Vorbis. If it is not finding Vorbis, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means Vorbis was incorrectly installed" echo "*** or that you have moved Vorbis since it was installed." fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$ac_save_CFLAGS" LIBS="$ac_save_LIBS" fi VORBIS_CFLAGS="" VORBIS_LIBS="" VORBISFILE_LIBS="" VORBISENC_LIBS="" { echo "$as_me:$LINENO: result: Disabling OggVorbis support" >&5 echo "${ECHO_T}Disabling OggVorbis support" >&6; } ogg_music="disabled" fi rm -f conf.vorbistest if test x$pylibs = xnone; then for ac_prog in python 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_path_PYPACKAGE+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PYPACKAGE in [\\/]* | ?:[\\/]*) ac_cv_path_PYPACKAGE="$PYPACKAGE" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PYPACKAGE="$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 IFS=$as_save_IFS ;; esac fi PYPACKAGE=$ac_cv_path_PYPACKAGE if test -n "$PYPACKAGE"; then { echo "$as_me:$LINENO: result: $PYPACKAGE" >&5 echo "${ECHO_T}$PYPACKAGE" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$PYPACKAGE" && break done PYTHON_VERSION=`$PYPACKAGE -c 'import sys ; print (int(sys.version[0]) * 10 + int(sys.version[2]))'` PY_VERSION=`$PYPACKAGE -c 'import sys ; print sys.version[0:3]'` if test $PYTHON_VERSION -lt 22; then echo "Sorry, you need to have Python 2.2+ installed - update your version!" { { echo "$as_me:$LINENO: error: *** Python 2.2 or better required" >&5 echo "$as_me: error: *** Python 2.2 or better required" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: checking for Python header files" >&5 echo $ECHO_N "checking for Python header files... $ECHO_C" >&6; } PYINCLUDE=`$PYPACKAGE -c 'import sys ; print "%s/include/python%s" % (sys.prefix, sys.version[:3])'` if test -r "$PYINCLUDE/Python.h"; then PY_CFLAGS="-I$PYINCLUDE" else { { echo "$as_me:$LINENO: error: Could not find Python.h in $PYINCLUDE" >&5 echo "$as_me: error: Could not find Python.h in $PYINCLUDE" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6; } { echo "$as_me:$LINENO: checking for Python library" >&5 echo $ECHO_N "checking for Python library... $ECHO_C" >&6; } PYLIB="" PYPREFIX=`$PYPACKAGE -c 'import sys; print sys.prefix'` PYLIBVER=`$PYPACKAGE -c 'import sys; print sys.version[:3]'` fw=`echo "$PYPREFIX" | sed 's/.*\(Python\.framework\).*/\1/;'` if test "x$fw" == "xPython.framework"; then PY_LIBS="-framework Python" PY_FWDIR="$PYPREFIX/lib/python$PYLIBVER/site-packages" PY_SPDIR="$libdir/python$PYLIBVER/site-packages" { echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6; } else py_paths="$PYPREFIX/lib64/python$PYLIBVER/config $PYPREFIX/lib64 \ $PYPREFIX/lib/python$PYLIBVER/config $PYPREFIX/lib" for ppath in $py_paths ; do if test -r "$ppath/libpython$PYLIBVER.so" -o \ -r "$ppath/libpython$PYLIBVER.a"; then PYLIB="-L$ppath -lpython$PYLIBVER" break fi if test -r "$ppath/libpython.so" -o \ -r "$ppath/libpython.a"; then PYLIB="-L$ppath -lpython" break fi done if test "x$PYLIB" != x ; then PY_LIBS="$PYLIB $PY_LIBS" { echo "$as_me:$LINENO: result: found" >&5 echo "${ECHO_T}found" >&6; } else { { echo "$as_me:$LINENO: error: *** Python library not found" >&5 echo "$as_me: error: *** Python library not found" >&2;} { (exit 1); exit 1; }; } fi fi # Extract the first word of "ldd", so it can be a program name with args. set dummy ldd; 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_haveldd+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $haveldd in [\\/]* | ?:[\\/]*) ac_cv_path_haveldd="$haveldd" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_haveldd="$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 IFS=$as_save_IFS ;; esac fi haveldd=$ac_cv_path_haveldd if test -n "$haveldd"; then { echo "$as_me:$LINENO: result: $haveldd" >&5 echo "${ECHO_T}$haveldd" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking for Python's dependencies" >&5 echo $ECHO_N "checking for Python's dependencies... $ECHO_C" >&6; } if test x$haveldd != x ; then py_deps=`ldd $PYPACKAGE | sed 's/\( *.*lib\([^\/]*\)\.so.*=.*$\)/-l\2/p; d' | grep -v 'stdc++'` for py_lib in $py_deps ; do if test "$py_lib" != "-lm" && test "$py_lib" != "-lc" ; then PY_DEPS="$PY_DEPS $py_lib" fi done fi case $target in *-sun-solaris*) PY_DEPS="$PY_DEPS -lsocket -lnsl -ldl" ;; esac { echo "$as_me:$LINENO: result: $PY_DEPS" >&5 echo "${ECHO_T}$PY_DEPS" >&6; } if $LD -v 2>&1 &5; then PY_LIBS="-Wl,-E $PY_LIBS $PY_DEPS" else PY_LIBS="$PY_LIBS $PY_DEPS" fi else PY_CFLAGS=${pycflags} { echo "$as_me:$LINENO: checking for Python cflags" >&5 echo $ECHO_N "checking for Python cflags... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $PY_CFLAGS" >&5 echo "${ECHO_T}$PY_CFLAGS" >&6; } PY_LIBS=${pylibs} { echo "$as_me:$LINENO: checking for Python library flags" >&5 echo $ECHO_N "checking for Python library flags... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $PY_LIBS" >&5 echo "${ECHO_T}$PY_LIBS" >&6; } PY_VERSION="Manually specified" fi { echo "$as_me:$LINENO: checking whether to enable Python debugging" >&5 echo $ECHO_N "checking whether to enable Python debugging... $ECHO_C" >&6; } if test x$pydebug = xno; then { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } else PY_CFLAGS="$PY_CFLAGS -DPY_DEBUG" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } fi SWIG_MINVER=1.3.20 haveswig=no # Extract the first word of "swig", so it can be a program name with args. set dummy swig; 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_P_SWIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $P_SWIG in [\\/]* | ?:[\\/]*) ac_cv_path_P_SWIG="$P_SWIG" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_P_SWIG="$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 IFS=$as_save_IFS test -z "$ac_cv_path_P_SWIG" && ac_cv_path_P_SWIG="no" ;; esac fi P_SWIG=$ac_cv_path_P_SWIG if test -n "$P_SWIG"; then { echo "$as_me:$LINENO: result: $P_SWIG" >&5 echo "${ECHO_T}$P_SWIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "$P_SWIG" != "no" ; then $P_SWIG -version &> swig.ver swig_major_ver=`more swig.ver | sed 's/.* \([0-9]*\)\.[0-9]*\.[0-9]*.*/\1/p; d'` swig_minor_ver=`more swig.ver | sed 's/.* [0-9]*\.\([0-9]*\)\.[0-9]*.*/\1/p; d'` swig_micro_ver=`more swig.ver | sed 's/.* [0-9]*\.[0-9]*\.\([0-9]*\).*/\1/p; d'` rm -f swig.ver SWIG_VERSION="$swig_major_ver.$swig_minor_ver.$swig_micro_ver" if test $swig_major_ver -gt 1 -o \ $swig_major_ver -eq 1 -a $swig_minor_ver -gt 3 -o \ $swig_major_ver -eq 1 -a $swig_minor_ver -eq 3 -a $swig_micro_ver -gt 13 ; then haveswig=yes fi fi if test x$haveswig = xno ; then if test -d "CVS"; then echo "*** To compile Adonthell from CVS, you will need SWIG ${SWIG_MINVER} or higher." echo "*** You can obtain the most recent version from http://www.swig.org." exit 1; else echo "*** NOTE: If you plan to make changes to the code you will need" echo "*** SWIG ${SWIG_MINVER} or higher. SWIG can be found at http://www.swig.org." fi fi if false; then BUILD_TOOLS_TRUE= BUILD_TOOLS_FALSE='#' else BUILD_TOOLS_TRUE='#' BUILD_TOOLS_FALSE= fi if false; then HAVE_GTK_TRUE= HAVE_GTK_FALSE='#' else HAVE_GTK_TRUE='#' HAVE_GTK_FALSE= fi { echo "$as_me:$LINENO: checking whether to build the developer documentation" >&5 echo $ECHO_N "checking whether to build the developer documentation... $ECHO_C" >&6; } if test x$builddoc = xno; then { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } fi if test x$builddoc = xyes; then BUILD_DOC_TRUE= BUILD_DOC_FALSE='#' else BUILD_DOC_TRUE='#' BUILD_DOC_FALSE= fi if test x$builddoc = xyes; then # Extract the first word of "doxygen", so it can be a program name with args. set dummy doxygen; 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_P_DOXYGEN+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $P_DOXYGEN in [\\/]* | ?:[\\/]*) ac_cv_path_P_DOXYGEN="$P_DOXYGEN" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_P_DOXYGEN="$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 IFS=$as_save_IFS ;; esac fi P_DOXYGEN=$ac_cv_path_P_DOXYGEN if test -n "$P_DOXYGEN"; then { echo "$as_me:$LINENO: result: $P_DOXYGEN" >&5 echo "${ECHO_T}$P_DOXYGEN" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test x$P_DOXYGEN == x ; then echo "Adonthell documentation requires doxygen. Exiting..." exit 1 fi # Extract the first word of "dot", so it can be a program name with args. set dummy dot; 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_P_DOT+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $P_DOT in [\\/]* | ?:[\\/]*) ac_cv_path_P_DOT="$P_DOT" # 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 { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_P_DOT="$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 IFS=$as_save_IFS ;; esac fi P_DOT=$ac_cv_path_P_DOT if test -n "$P_DOT"; then { echo "$as_me:$LINENO: result: $P_DOT" >&5 echo "${ECHO_T}$P_DOT" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test x$P_DOT == x ; then echo "Adonthell documentation requires dot. Exiting..." exit 1 fi fi for ac_header in SDL/SDL.h zlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 adonthell-devel@nongnu.org ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 for ac_header in SDL/SDL_mixer.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 adonthell-devel@nongnu.org ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 for ac_header in SDL/SDL_ttf.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 adonthell-devel@nongnu.org ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 x$PTHREADS = xyes; then for ac_header in pthread.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 adonthell-devel@nongnu.org ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 fi if test x$OGG_VORBIS = xyes; then for ac_header in vorbis/vorbisfile.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; 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 core 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 { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&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 && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.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 adonthell-devel@nongnu.org ## ## ----------------------------------------- ## _ASBOX ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&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 fi if test x$OGG_VORBIS = xyes; then HAVE_OGG_VORBIS_TRUE= HAVE_OGG_VORBIS_FALSE='#' else HAVE_OGG_VORBIS_TRUE='#' HAVE_OGG_VORBIS_FALSE= fi CXXFLAGS="$CFLAGS $DEFS $INCLUDES" ac_config_files="$ac_config_files Makefile adonthell.spec doc/Makefile doc/devel/Makefile doc/dlgedit/Makefile doc/dlgedit-api/Makefile doc/items/Makefile m4/Makefile po/Makefile.in src/Makefile src/modules/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${MAKE_BUNDLE_TRUE}" && test -z "${MAKE_BUNDLE_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"MAKE_BUNDLE\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"MAKE_BUNDLE\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${BUILD_TOOLS_TRUE}" && test -z "${BUILD_TOOLS_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"BUILD_TOOLS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"BUILD_TOOLS\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${HAVE_GTK_TRUE}" && test -z "${HAVE_GTK_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HAVE_GTK\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"HAVE_GTK\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${BUILD_DOC_TRUE}" && test -z "${BUILD_DOC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"BUILD_DOC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"BUILD_DOC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${HAVE_OGG_VORBIS_TRUE}" && test -z "${HAVE_OGG_VORBIS_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HAVE_OGG_VORBIS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"HAVE_OGG_VORBIS\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${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 more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # 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 # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done 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) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # 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'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # 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 after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, 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 # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { 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 sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' 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$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by adonthell $as_me 0.3.5, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_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 and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ adonthell config.status 0.3.5 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _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 ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --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;; --he | --h) # Conflict between --help and --header { 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 ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { 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" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "adonthell.spec") CONFIG_FILES="$CONFIG_FILES adonthell.spec" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; "doc/devel/Makefile") CONFIG_FILES="$CONFIG_FILES doc/devel/Makefile" ;; "doc/dlgedit/Makefile") CONFIG_FILES="$CONFIG_FILES doc/dlgedit/Makefile" ;; "doc/dlgedit-api/Makefile") CONFIG_FILES="$CONFIG_FILES doc/dlgedit-api/Makefile" ;; "doc/items/Makefile") CONFIG_FILES="$CONFIG_FILES doc/items/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/modules/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$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 "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for 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 _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CXXCPP!$CXXCPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CPP!$CPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim USE_NLS!$USE_NLS$ac_delim MSGFMT!$MSGFMT$ac_delim GMSGFMT!$GMSGFMT$ac_delim MSGFMT_015!$MSGFMT_015$ac_delim GMSGFMT_015!$GMSGFMT_015$ac_delim XGETTEXT!$XGETTEXT$ac_delim XGETTEXT_015!$XGETTEXT_015$ac_delim MSGMERGE!$MSGMERGE$ac_delim INTL_MACOSX_LIBS!$INTL_MACOSX_LIBS$ac_delim LIBICONV!$LIBICONV$ac_delim LTLIBICONV!$LTLIBICONV$ac_delim INTLLIBS!$INTLLIBS$ac_delim LIBINTL!$LIBINTL$ac_delim LTLIBINTL!$LTLIBINTL$ac_delim POSUB!$POSUB$ac_delim MAKE_BUNDLE_TRUE!$MAKE_BUNDLE_TRUE$ac_delim MAKE_BUNDLE_FALSE!$MAKE_BUNDLE_FALSE$ac_delim SDL_CONFIG!$SDL_CONFIG$ac_delim SDL_CFLAGS!$SDL_CFLAGS$ac_delim SDL_LIBS!$SDL_LIBS$ac_delim FT2_CONFIG!$FT2_CONFIG$ac_delim FT2_CFLAGS!$FT2_CFLAGS$ac_delim FT2_LIBS!$FT2_LIBS$ac_delim VORBIS_CFLAGS!$VORBIS_CFLAGS$ac_delim VORBIS_LIBS!$VORBIS_LIBS$ac_delim VORBISFILE_LIBS!$VORBISFILE_LIBS$ac_delim VORBISENC_LIBS!$VORBISENC_LIBS$ac_delim PYPACKAGE!$PYPACKAGE$ac_delim PY_FWDIR!$PY_FWDIR$ac_delim PY_SPDIR!$PY_SPDIR$ac_delim haveldd!$haveldd$ac_delim P_SWIG!$P_SWIG$ac_delim BUILD_TOOLS_TRUE!$BUILD_TOOLS_TRUE$ac_delim BUILD_TOOLS_FALSE!$BUILD_TOOLS_FALSE$ac_delim HAVE_GTK_TRUE!$HAVE_GTK_TRUE$ac_delim HAVE_GTK_FALSE!$HAVE_GTK_FALSE$ac_delim BUILD_DOC_TRUE!$BUILD_DOC_TRUE$ac_delim BUILD_DOC_FALSE!$BUILD_DOC_FALSE$ac_delim P_DOXYGEN!$P_DOXYGEN$ac_delim P_DOT!$P_DOT$ac_delim HAVE_OGG_VORBIS_TRUE!$HAVE_OGG_VORBIS_TRUE$ac_delim HAVE_OGG_VORBIS_FALSE!$HAVE_OGG_VORBIS_FALSE$ac_delim SDL_DEFS!$SDL_DEFS$ac_delim OGG_CFLAGS!$OGG_CFLAGS$ac_delim OGG_LIBS!$OGG_LIBS$ac_delim OGG_DEFS!$OGG_DEFS$ac_delim PY_CFLAGS!$PY_CFLAGS$ac_delim PY_LIBS!$PY_LIBS$ac_delim gamedatadir!$gamedatadir$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 60; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # 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 cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF 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&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; "po-directories":C) for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done ;; esac done # for ac_tag { (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 echo "Adonthell v$VERSION" echo echo "SDL ....................... : `$SDL_CONFIG --version`" echo "Python .................... : $PY_VERSION" echo "Python debugging .......... : $pydebug" echo "Freetype .................. : `freetype-config --version`" if test x$haveswig = xyes; then echo "SWIG ...................... : $SWIG_VERSION" fi echo "Ogg music ................. : $ogg_music" echo "Building API doc .......... : $builddoc" if test x$memleaks = xyes; then echo "Test for Memory Leaks ..... : enabled" fi if test x$unixinst = xno; then echo "Data directory ............ : Single Directory install" else echo "Data directory ............ : $gamedatadir" fi echo echo "Now type 'make' to build Adonthell" echo "Afterwards, 'make install' will install Adonthell in $prefix/bin" echo adonthell-0.3.5/configure.in0000644000076500000240000003005611003405457012724 00000000000000dnl ************************************************************** dnl Process this file with autoconf to produce a configure script. dnl ************************************************************** AC_PREREQ(2.59) AC_INIT([adonthell],[0.3.5],[adonthell-devel@nongnu.org],[adonthell]) dnl AC_PREFIX_PROGRAM(adonthell) dnl Detect the canonical host and target build environment AC_CANONICAL_HOST AC_CANONICAL_TARGET AM_INIT_AUTOMAKE([]) AC_CONFIG_HEADERS([config.h]) CFLAGS="-g -Wall -fno-exceptions" CPPFLAGS="" DEFS="" dnl ******************** dnl Checks for programs. dnl ******************** AC_PROG_CC AC_PROG_CXX AC_LANG([C]) AC_PROG_CXXCPP AM_PROG_LIBTOOL AC_PROG_MAKE_SET dnl **** dnl i18n dnl **** AM_GNU_GETTEXT([external]) dnl ******************** dnl Additional arguments dnl ******************** AC_ARG_ENABLE(unix-install, [ --disable-unix-install Disable a Unix-like install (enabled by default)], unixinst=$enableval, unixinst=yes) AC_ARG_ENABLE(memleaks, [ --enable-memleaks Enable check for memory leaks (disabled by default)], memleaks=$enableval, memleaks=no) AC_ARG_ENABLE(doc, [ --enable-doc Build the Adonthell developer documentation (disabled by default)], builddoc=$enableval, builddoc=no) AC_ARG_ENABLE(py-debug, [ --disable-py-debug Disable debugging of Python scripts (enabled by default)], pydebug=$enableval, pydebug=yes) AC_ARG_WITH(ogg, [ --with-ogg=DIR Set where the Ogg library is located]) AC_ARG_WITH(vorbis, [ --with-vorbis=DIR Set where the Vorbis library is located]) AC_ARG_WITH(data-dir, [ --with-data-dir=DIR Directory where datas will be installed], gamedatadir="$withval", gamedatadir=none) AC_ARG_WITH(py-libs, [ --with-py-libs=DIR Override Python libraries auto-detection], pylibs="$withval", pylibs=none) AC_ARG_WITH(py-cflags, [ --with-py-cflags=DIR Override Python cflags auto-detection], pycflags="$withval", pycflags=none) dnl ********************** dnl Set the data directory dnl ********************** if test x$gamedatadir = xnone; then if test x$unixinst = xno; then gamedatadir="" DEFS="$DEFS -DSINGLE_DIR_INST" case "$target" in *-*-darwin*) makebundle="yes" DEFS="$DEFS -Wno-long-double" ;; esac else case "$target" in *-*-cygwin* | *-*-mingw32*) gamedatadir="" DEFS="$DEFS -DSINGLE_DIR_INST" ;; *-*-beos*) gamedatadir="/boot/home/config/share/adonthell" DEFS="$DEFS -DDATA_DIR=\"\\\"$gamedatadir\\\"\"" ;; *) gamedatadir="${datadir}/adonthell" DEFS="$DEFS -DDATA_DIR=\"\\\"$gamedatadir\\\"\"" ;; esac fi else DEFS="$DEFS -DDATA_DIR=\"\\\"$gamedatadir\\\"\"" fi AM_CONDITIONAL(MAKE_BUNDLE, test x$makebundle = xyes) dnl ********************** dnl Check for memory leaks dnl ********************** if test x$memleaks = xyes; then DEFS="$DEFS -DMEMORY_LEAKS" fi dnl ******************** dnl Check for libraries. dnl ******************** AC_CHECK_LIB(pthread, main, PTHREADS=yes, PTHREADS=no) AC_CHECK_LIB(z, main,,echo "Adonthell requires Zlib. Exitting...";exit 1) dnl ************* dnl Check for SDL dnl ************* SDL_VERSION=1.2.0 AM_PATH_SDL($SDL_VERSION, :, AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!]) ) AC_CHECK_LIB([SDL_mixer], [Mix_OpenAudio], [LIBS="$LIBS -lSDL_mixer"], [AC_MSG_ERROR([*** SDL_mixer is required])] ) AC_CHECK_LIB([SDL_ttf], [TTF_Init], [LIBS="$LIBS -lSDL_ttf"], [AC_MSG_ERROR([*** SDL_ttfis required])] ) dnl ******************* dnl Check for FreeType2 dnl ******************* AC_CHECK_FT2(6.0.0, :, AC_MSG_ERROR([*** Freetype version >= 6.0.0 not found!]) ) dnl ******************* dnl Check for OggVorbis dnl ******************* OGG_VORBIS=no XIPH_PATH_VORBIS( OGG_VORBIS="yes" ogg_music="enabled" OGG_LIBS="$VORBISFILE_LIBS $VORBIS_LIBS" OGG_DEFS="-DOGG_MUSIC" OGG_CFLAGS="$VORBIS_CFLAGS", AC_MSG_RESULT(Disabling OggVorbis support) ogg_music="disabled" ) dnl ******************** dnl Check for Python. dnl ******************** if test x$pylibs = xnone; then dnl Find Python executable AC_PATH_PROGS(PYPACKAGE, python) dnl Extract the version using Python, check against 2.2+ changequote(<<, >>) PYTHON_VERSION=`$PYPACKAGE -c 'import sys ; print (int(sys.version[0]) * 10 + int(sys.version[2]))'` PY_VERSION=`$PYPACKAGE -c 'import sys ; print sys.version[0:3]'` changequote([, ]) if test $PYTHON_VERSION -lt 22; then echo "Sorry, you need to have Python 2.2+ installed - update your version!" AC_MSG_ERROR([*** Python 2.2 or better required]) fi dnl Find the Python.h header file AC_MSG_CHECKING(for Python header files) changequote(<<, >>) PYINCLUDE=`$PYPACKAGE -c 'import sys ; print "%s/include/python%s" % (sys.prefix, sys.version[:3])'` changequote([, ]) if test -r "$PYINCLUDE/Python.h"; then PY_CFLAGS="-I$PYINCLUDE" else AC_MSG_ERROR([Could not find Python.h in $PYINCLUDE]) fi AC_MSG_RESULT(found) dnl Find the Python library AC_MSG_CHECKING(for Python library) PYLIB="" changequote(<<, >>) PYPREFIX=`$PYPACKAGE -c 'import sys; print sys.prefix'` PYLIBVER=`$PYPACKAGE -c 'import sys; print sys.version[:3]'` changequote([, ]) dnl look for a framework build of python first fw=`echo "$PYPREFIX" | sed 's/.*\(Python\.framework\).*/\1/;'` if test "x$fw" == "xPython.framework"; then PY_LIBS="-framework Python" PY_FWDIR="$PYPREFIX/lib/python$PYLIBVER/site-packages" PY_SPDIR="$libdir/python$PYLIBVER/site-packages" AC_SUBST(PY_FWDIR) AC_SUBST(PY_SPDIR) AC_MSG_RESULT(found) else py_paths="$PYPREFIX/lib64/python$PYLIBVER/config $PYPREFIX/lib64 \ $PYPREFIX/lib/python$PYLIBVER/config $PYPREFIX/lib" dnl Try for specific version first, then the generic version, then panic for ppath in $py_paths ; do if test -r "$ppath/libpython$PYLIBVER.so" -o \ -r "$ppath/libpython$PYLIBVER.a"; then PYLIB="-L$ppath -lpython$PYLIBVER" break fi if test -r "$ppath/libpython.so" -o \ -r "$ppath/libpython.a"; then PYLIB="-L$ppath -lpython" break fi done if test "x$PYLIB" != x ; then PY_LIBS="$PYLIB $PY_LIBS" AC_MSG_RESULT(found) else AC_MSG_ERROR([*** Python library not found]) fi fi dnl Get the libraries that python depends on AC_PATH_PROG(haveldd, ldd) AC_MSG_CHECKING(for Python's dependencies) if test x$haveldd != x ; then changequote(<<, >>) py_deps=`ldd $PYPACKAGE | sed 's/\( *.*lib\([^\/]*\)\.so.*=.*$\)/-l\2/p; d' | grep -v 'stdc++'` for py_lib in $py_deps ; do if test "$py_lib" != "-lm" && test "$py_lib" != "-lc" ; then PY_DEPS="$PY_DEPS $py_lib" fi done changequote([, ]) fi case $target in *-sun-solaris*) PY_DEPS="$PY_DEPS -lsocket -lnsl -ldl" ;; esac AC_MSG_RESULT($PY_DEPS) dnl only GNU ld seems to know -E flag if $LD -v 2>&1 &5; then PY_LIBS="-Wl,-E $PY_LIBS $PY_DEPS" else PY_LIBS="$PY_LIBS $PY_DEPS" fi else PY_CFLAGS=${pycflags} AC_MSG_CHECKING(for Python cflags) AC_MSG_RESULT($PY_CFLAGS) PY_LIBS=${pylibs} AC_MSG_CHECKING(for Python library flags) AC_MSG_RESULT($PY_LIBS) PY_VERSION="Manually specified" fi dnl See whether we should enable python debugging AC_MSG_CHECKING(whether to enable Python debugging) if test x$pydebug = xno; then AC_MSG_RESULT(no) else PY_CFLAGS="$PY_CFLAGS -DPY_DEBUG" AC_MSG_RESULT(yes) fi dnl ************** dnl Check for SWIG dnl ************** SWIG_MINVER=1.3.20 haveswig=no AC_PATH_PROG(P_SWIG,swig,no) if test "$P_SWIG" != "no" ; then $P_SWIG -version &> swig.ver changequote(<<, >>) swig_major_ver=`more swig.ver | sed 's/.* \([0-9]*\)\.[0-9]*\.[0-9]*.*/\1/p; d'` swig_minor_ver=`more swig.ver | sed 's/.* [0-9]*\.\([0-9]*\)\.[0-9]*.*/\1/p; d'` swig_micro_ver=`more swig.ver | sed 's/.* [0-9]*\.[0-9]*\.\([0-9]*\).*/\1/p; d'` changequote([, ]) rm -f swig.ver SWIG_VERSION="$swig_major_ver.$swig_minor_ver.$swig_micro_ver" if test $swig_major_ver -gt 1 -o \ $swig_major_ver -eq 1 -a $swig_minor_ver -gt 3 -o \ $swig_major_ver -eq 1 -a $swig_minor_ver -eq 3 -a $swig_micro_ver -gt 13 ; then haveswig=yes fi fi dnl SWIG is needed to compile the code from CVS dnl or after making changes to the distributed code if test x$haveswig = xno ; then if test -d "CVS"; then echo "*** To compile Adonthell from CVS, you will need SWIG ${SWIG_MINVER} or higher." echo "*** You can obtain the most recent version from http://www.swig.org." exit 1; else echo "*** NOTE: If you plan to make changes to the code you will need" echo "*** SWIG ${SWIG_MINVER} or higher. SWIG can be found at http://www.swig.org." fi fi dnl ******************************** dnl Check whether to build our tools dnl ******************************** AM_CONDITIONAL(BUILD_TOOLS, false) dnl *************************** dnl For some tools we need GTK+ dnl *************************** AM_CONDITIONAL(HAVE_GTK, false) dnl **************************************** dnl Check whether to build the documentation dnl **************************************** AC_MSG_CHECKING(whether to build the developer documentation) if test x$builddoc = xno; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes) fi AM_CONDITIONAL(BUILD_DOC, test x$builddoc = xyes) dnl ***************************************************** dnl Doxygen and dot are needed to build the documentation dnl ***************************************************** if test x$builddoc = xyes; then AC_PATH_PROG(P_DOXYGEN,doxygen) if test x$P_DOXYGEN == x ; then echo "Adonthell documentation requires doxygen. Exiting..." exit 1 fi AC_PATH_PROG(P_DOT,dot) if test x$P_DOT == x ; then echo "Adonthell documentation requires dot. Exiting..." exit 1 fi fi dnl ************************** dnl Check for required headers dnl ************************** AC_CHECK_HEADERS([SDL/SDL.h zlib.h]) AC_CHECK_HEADERS([SDL/SDL_mixer.h]) AC_CHECK_HEADERS([SDL/SDL_ttf.h]) if test x$PTHREADS = xyes; then AC_CHECK_HEADERS([pthread.h]) fi if test x$OGG_VORBIS = xyes; then AC_CHECK_HEADERS([vorbis/vorbisfile.h]) fi AM_CONDITIONAL(HAVE_OGG_VORBIS, test x$OGG_VORBIS = xyes) dnl ******************************** dnl Generate our compiler arguements dnl ******************************** CXXFLAGS="$CFLAGS $DEFS $INCLUDES" AC_SUBST(CXX) AC_SUBST(CXXFLAGS) AC_SUBST(CPPFLAGS) AC_SUBST(LIBS) AC_SUBST(SDL_CFLAGS) AC_SUBST(SDL_LIBS) AC_SUBST(SDL_DEFS) AC_SUBST(OGG_CFLAGS) AC_SUBST(OGG_LIBS) AC_SUBST(OGG_DEFS) AC_SUBST(PY_CFLAGS) AC_SUBST(PY_LIBS) AC_SUBST(P_SWIG) AC_SUBST(gamedatadir) dnl AC_SUBST(FT2_LIBS) dnl AC_SUBST(FT2_CFLAGS) AC_CONFIG_FILES([ Makefile adonthell.spec doc/Makefile doc/devel/Makefile doc/dlgedit/Makefile doc/dlgedit-api/Makefile doc/items/Makefile m4/Makefile po/Makefile.in src/Makefile src/modules/Makefile ]) AC_OUTPUT dnl **************** dnl Configure Status dnl **************** echo echo "Adonthell v$VERSION" echo echo "SDL ....................... : `$SDL_CONFIG --version`" echo "Python .................... : $PY_VERSION" echo "Python debugging .......... : $pydebug" echo "Freetype .................. : `freetype-config --version`" if test x$haveswig = xyes; then echo "SWIG ...................... : $SWIG_VERSION" fi echo "Ogg music ................. : $ogg_music" echo "Building API doc .......... : $builddoc" if test x$memleaks = xyes; then echo "Test for Memory Leaks ..... : enabled" fi if test x$unixinst = xno; then echo "Data directory ............ : Single Directory install" else echo "Data directory ............ : $gamedatadir" fi echo echo "Now type 'make' to build Adonthell" echo "Afterwards, 'make install' will install Adonthell in $prefix/bin" echo adonthell-0.3.5/COPYING0000644000076500000240000004307707102001637011452 00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS Appendix: How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 19yy 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., 675 Mass Ave, Cambridge, MA 02139, USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. adonthell-0.3.5/debian/0000777000076500000240000000000011017604066011717 500000000000000adonthell-0.3.5/debian/adonthell.60000644000076500000240000000146107427756424013716 00000000000000.TH Adonthell 6 .SH NAME Adonthell \- a Free Role Playing Game engine. .SH SYNOPSIS .B adonthell .I "[options] files ..." .SH "DESCRIPTION" .BR Adonthell is a Free graphical role playing game engine. .BR This program is used to run .BR Adonthell games - therefore you need one game installed in order to play something. .SH OPTIONS .TP .B \-h, Print help message. .TP .B \-v, Print version and exit. .TP .B \-d, Print the data directory and exit (for developers). .TP .B \-l, List installed games and exit. .TP .B \-g .I dir , play the game contained in .I dir (for developers). .TP .B \-c, Byte-compile all Python scripts in this directory (for developers). .SH AUTHOR This manual page was written by Alexandre Courbot , for the Debian GNU/Linux system (but may be used by others). adonthell-0.3.5/debian/changelog0000644000076500000240000000134607542363322013516 00000000000000adonthell (0.3.3-1) unstable; urgency=low * New upstream release -- Gordon Fraser Thu, 19 Sep 2002 16:41:22 +0200 adonthell (0.3.2.cvs.20020906-3) unstable; urgency=low * Remove accidential need for autotools (Closes: #160665) -- Gordon Fraser Fri, 13 Sep 2002 08:33:43 +0200 adonthell (0.3.2.cvs.20020906-2) unstable; urgency=low * Remove -fno-rtti to fix build problem on ia64 * Revert hash changes to fix build problem on hppa -- Gordon Fraser Thu, 12 Sep 2002 19:47:21 +0200 adonthell (0.3.2.cvs.20020906-1) unstable; urgency=low * Initial Debian-upload (Closes: #158679) -- Gordon Fraser Wed, 28 Aug 2002 20:37:34 +0200 adonthell-0.3.5/debian/compat0000644000076500000240000000000207542363322013036 000000000000004 adonthell-0.3.5/debian/control0000644000076500000240000000133707542363322013247 00000000000000Source: adonthell Section: games Priority: optional Maintainer: Gordon Fraser Build-Depends: debhelper (>= 4), libsdl1.2-dev, python (>= 1.5), python-dev (>=1.5), libvorbis-dev, libc6-dev, zlib1g-dev, swig1.3 (>= 1.3.14), libfreetype6-dev, bison Standards-Version: 3.5.6.1 Package: adonthell Architecture: any Depends: ${shlibs:Depends} Recommends: adonthell-data (>= 0.3), adonthell-data (<< 0.4) Description: A 2D graphical roleplaying game A 2D graphical RPG game inspired by good old console RPGs like the ones on the SNES. . This package contains the Adonthell engine. You'll also need a game to be able to play. For this release, the official game is Waste's Edge, found in the package adonthell-data. adonthell-0.3.5/debian/copyright0000644000076500000240000000143607542363322013577 00000000000000This package was debianized by Gordon Fraser on Wed, 28 Aug 2002 20:37:34 +0200. It was downloaded from http://adonthell.linuxgames.com/download/ Upstream Authors: Kai Sterker & the Adonthell team Copyright: 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. The GNU GPL may be viewed on Debian systems in /usr/share/common-licenses/GPL adonthell-0.3.5/debian/dirs0000644000076500000240000000007707542363322012530 00000000000000usr/games usr/share/games/adonthell/modules usr/share/man/man6 adonthell-0.3.5/debian/docs0000644000076500000240000000004507542615275012521 00000000000000AUTHORS FULLSCREEN.howto NEWS README adonthell-0.3.5/debian/README.debian0000644000076500000240000000034607542363322013744 00000000000000adonthell for Debian ---------------------- This only includes the game engine, to actually play Adonthell you'll need datafiles included in adonthell-data. -- Gordon Fraser , Tue, 17 Sep 2002 15:16:21 +0200 adonthell-0.3.5/debian/rules0000755000076500000240000000430007542363322012715 00000000000000#!/usr/bin/make -f #export DH_VERBOSE=1 DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) CXXFLAGS = "-Wall -O2 -fno-exceptions -DDATA_DIR=\"\\\"/usr/share/games/adonthell\"\\\"" CFGDEBUG = "" INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} -p -o root -g root -m 755 ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) CXXFLAGS += -g CFGDEBUG = "--enable-py-debug" endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s endif config.status: configure dh_testdir ./configure --host=$(DEB_HOST_GNU_TYPE) \ --build=$(DEB_BUILD_GNU_TYPE) \ --prefix=/usr \ --mandir=\$${prefix}/share/man \ --bindir=\$${prefix}/games \ --datadir=\$${prefix}/share/games \ --with-py-libs="-Wl,-E -L/usr/lib/python2.2/config -lpython2.2 -ldl -lpthread -lutil" \ --with-py-cflags="-I/usr/include/python2.2" \ $(CFGDEBUG) build: build-stamp build-stamp: config.status dh_testdir $(MAKE) CXXFLAGS=$(CXXFLAGS) INSTALL_PROGRAM="$(INSTALL_PROGRAM)" touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp -$(MAKE) distclean # -test -r /usr/share/misc/config.sub && \ # cp -f /usr/share/misc/config.sub config.sub # -test -r /usr/share/misc/config.guess && \ # cp -f /usr/share/misc/config.guess config.guess -rm -f `find . -name "*~"` -rm -f src/adonthell.pyc dh_clean install: build dh_testdir dh_testroot dh_clean -k dh_installdirs $(MAKE) install DESTDIR="$(CURDIR)/debian/adonthell" INSTALL_PROGRAM="$(INSTALL_PROGRAM)" # Build architecture-independent files here. binary-indep: build install # We have nothing to do by default. # Build architecture-dependent files here. binary-arch: build install dh_testdir dh_testroot dh_installdocs dh_installmenu dh_installman debian/adonthell.6 dh_installchangelogs ChangeLog dh_link dh_strip dh_compress dh_fixperms dh_installdeb dh_shlibdeps dh_gencontrol dh_md5sums dh_builddeb binary: binary-indep binary-arch .PHONY: build clean binary-indep binary-arch binary install adonthell-0.3.5/depcomp0000755000076500000240000004224610704200400011760 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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., 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. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputing dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ## The second -e expression handles DOS-style file names with drive letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the `deleted header file' problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. tr ' ' ' ' < "$tmpdepfile" | ## Some versions of gcc put a space before the `:'. On the theory ## that the space means something, we add a space to the output as ## well. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like `#:fec' to the end of the # dependency line. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \ tr ' ' ' ' >> $depfile echo >> $depfile # The second pass generates a dummy entry for each header file. tr ' ' ' ' < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> $depfile else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` tmpdepfile="$stripped.u" if test "$libtool" = yes; then "$@" -Wc,-M else "$@" -M fi stat=$? if test -f "$tmpdepfile"; then : else stripped=`echo "$stripped" | sed 's,^.*/,,'` tmpdepfile="$stripped.u" fi if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi if test -f "$tmpdepfile"; then outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile # "include basename.Plo" scheme. echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; icc) # Intel's C compiler understands `-MD -MF file'. However on # icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c # ICC 7.0 will fill foo.d with something like # foo.o: sub/foo.c # foo.o: sub/foo.h # which is wrong. We want: # sub/foo.o: sub/foo.c # sub/foo.o: sub/foo.h # sub/foo.c: # sub/foo.h: # ICC 7.1 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using \ : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in `foo.d' instead, so we check for that too. # Subdirectories are respected. dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` test "x$dir" = "x$object" && dir= base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then # With Tru64 cc, shared objects can also be used to make a # static library. This mechanism is used in libtool 1.4 series to # handle both shared and static libraries in a single compilation. # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. # # With libtool 1.5 this exception was removed, and libtool now # generates 2 separate objects for the 2 libraries. These two # compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 tmpdepfile2=$dir$base.o.d # libtool 1.5 tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.o.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" tr ' ' ' ' < "$tmpdepfile" | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # X makedepend shift cleared=no for arg in "$@"; do case $cleared in no) set ""; shift cleared=yes ;; esac case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix="`echo $object | sed 's/^.*\././'`" touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" sed '1,2d' "$tmpdepfile" | tr ' ' ' ' | \ ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test $1 != '--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o, # because we must use -o when running libtool. "$@" || exit $? IFS=" " for arg do case "$arg" in "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" . "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: adonthell-0.3.5/doc/0000777000076500000240000000000011017604074011241 500000000000000adonthell-0.3.5/doc/charedit.lyx0000644000076500000240000001462007174636226013516 00000000000000#LyX 1.1 created this file. For more info see http://www.lyx.org/ \lyxformat 2.15 \textclass article \language default \inputencoding latin1 \fontscheme default \graphics default \paperfontsize default \spacing single \papersize Default \paperpackage a4wide \use_geometry 0 \use_amsmath 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle default \layout Title The Character Editor \layout Author Kai Sterker \layout Section Overview \layout Standard The character editor is used to create and edit the non player characters (NPC's) that will populate the gameworld. With the editor you can set all the character's attributes such as it's name, race and gender, the different animations, events specific to that character and his schedule and dialogue scripts. Each of that, as well as how to use the editor is explained in the correspondin g section. \layout Section Attributes \layout Standard The editor starts with this section displayed. You can enter the character's name and select his race and gender from the optionmenus. Below is a list with further attributes, which usually will already contain some default attributes. This shall save you some typing. You can change the list of default attributes by editing the file \emph on attributes.txt \emph default in the editior's directory. \layout Itemize To \series bold add \series default a new attribute, enter it's name into the \emph on Attribute \emph default field, it's value into the \emph on Value \emph default field. Then click \emph on Update \emph default . \layout Itemize To \series bold change \series default an entry, select it from the list. Then change the value and also click \emph on Update \emph default . \layout Itemize To \series bold remove \series default an entry, select it from the list and click \emph on Remove \emph default . \layout Standard A word on the character's name. \series bold It \series default is probably the most important attribute for the character, as the game engine needs it to distinguish all the different NPC's. For most operations on a NPC, the engine utilizes it's name. For that reason, each character \emph on must \emph default have an unique name. This is partly ensured by using the character name as the file name, so you won't be able to create two characters with the same name in the same directory. \layout Standard What attributes and flags to add to the list may vary from character to character. Currently, it's too early to say which ones we'll need for sure. \layout Section Graphics \layout Standard Once we know what graphics a character needs, you'll be able to assign them here. Until then, this part of the editor is left blank. \layout Section Events \layout Standard Here you can assign event handlers to that particular character. That is, they will only react if an event was triggered by this very character. Apart from that you can specify other limitations for each event. See the event documentation for more details. \layout Itemize To \series bold add \series default an event, select the event type from the optionmenu and click \emph on Add \emph default . \layout Itemize To \series bold change \series default an event, select it from the list and click \emph on Update \emph default . Note that you cannot change the event type itself, only the additional parameters. \layout Itemize To \series bold remove \series default an event, select it from the list and click \emph on Remove \emph default . \layout Standard When adding or changing an event, a new dialog will pop up where you can enter the script that will get executed whenever the event occurs. Either type in the filename without any path and file extension (e.g. to add the /home/me/scripts/event_handler.py type event_handler), or click on \emph on Browse \emph default to open a file browser. Note, that the script needs to be placed in \emph on /scripts/events/ \emph default for the game engine to find it. \layout Standard Each event has some additional parameters that control when it will be triggered. You can change them by selecting a entry from the list, entering a value and clicking the \emph on Update \emph default button. To find out what attributes are available for a certain type of event, what values are allowed and what for they are, look at the event documentation. \layout Section Actions \layout Standard Here you can specify the initial schedule and dialogue script of a character. The schedule controls it's movements on the map, the dialogue is used for conversations with the player. Those scripts can be changed within the game from event, schedule and dialogue scripts. See the corresponding documention on how to do that. \layout Standard To set those scrips, either type in the filename without any path and file extension, or click on \emph on Browse \emph default to open a file browser. Schedule scripts have to be placed into \emph on /scripts/schedules/ \emph default and dialogue scripts into \emph on /scripts/dialogues/ \emph default for the game engine to find them. \layout Section Saving and Loading \layout Standard For editiing purpose, each character is saved in an ASCII file of it's own. If you want, you can edit this file with your favourite text editor, but errors in that file might crash the editor, so be careful. (If you don't like this, write a more flexible parser!) \layout Standard For use in the game, all character files of a specific directory are merged into a single, binary file that will be loaded at startup of the game. So make sure to store all characters belonging to the same project in the same directory. \layout Section Creating the character.data \layout Standard To merge all characters to the file that is read by the game engine, you can use the \emph on mergechars \emph default command line tool (which will later be integrated with charedit). Its usage is \layout LyX-Code mergechars [outfile] \layout Standard It will add all characters in the \emph on character directory \emph default either to the optional \emph on outfile \emph default , or to a file called character.data it creates in the current working directory. If the file already exists, it will be overwritten. \the_end adonthell-0.3.5/doc/devel/0000777000076500000240000000000011017604073012337 500000000000000adonthell-0.3.5/doc/devel/dialog.dxt0000644000076500000240000000271707362652234014254 00000000000000/* $Id: dialog.dxt,v 1.2 2001/10/15 21:26:52 ksterker Exp $ Copyright (C) 2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page5 The Dialogue Engine The dialogue engine is handling conversations between the player and NPCs. Dialogues themselves are %python scripts that are executed step by step by the lowlevel dialog class. Each step results in a number of strings, the speech of the NPC and an optional list of the player's possible responses. These are displayed in the \link dialog_screen Dialogue Window \endlink . Once the player has chosen an answer the next step of the script is executed. The script itself returns three lists. Possible NPC speeches, the player's possible responses for each of those speaches and finally a list with the successor of each choice. The dialogue engine randomly picks one of the NPC speeches and the according answers. It also makes sure that each piece of dialogue is only used once during the conversation. More complex operations, such as depending a piece of dialogue on a certain condition are already handled in the %python script. For more information you should refer to the Dialogue Editor documentation. */ adonthell-0.3.5/doc/devel/event.dxt0000644000076500000240000002740707577135222014142 00000000000000/* $Id: event.dxt,v 1.3 2002/12/15 17:23:30 ksterker Exp $ Copyright (C) 2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page3 The Event System The %event system is divided into three parts. The \ref event_sec1 keeps track of all registered %event scripts. Whenever an %event occurs, the %event handler is notified and executes all scripts registered for that particular %event. The \ref event_sec2 keeps track of the %events registered by a certain %object, (e.g. a NPC, a maptile or item) and automatically unregisters these %events when this %object is deleted. Finally, there are the \ref event_sec3 themself, used both as message sent to the %event handler whenever an %event occurs and to register an %event script. Each %event has its own data structure with parameters corresponding to its type. These parameters are passed to the %event script, so all infomation regarding an %event is available from within the script as well. The parameters can further be used to specialize the script so it reacts to a smaller range of %events. \section event_sec1 Event Handler The %event handler is the core component of the %event system. It provides a method to initialize the %event system and allows global access to the specialized handlers for individual events. For that purpose, it stores a list of event_handler_base %objects, the virtual base class for the specialized handlers, and passes any %event it receives to the right handler. The %event_handler_base class provides three pure virtual methods that need to be implemented by each specialized handler: - register_event() to pass a new %event to the handler. %Events need to be registered with the handler before they can take place - remove_event() to remove a previously registered %event from the handler - raise_event() to send a message to the handler that will trigger matching events. \section event_sec2 Event List The event_list is a convenience class for %objects that register events with the handler. As it is up to each object to save the events it registers, and to load and re-register them, the %event list has been written to take care of that. To make the %event list independent from specific %event types, it only works on pointers to the %event base class. That works fine in all cases, except one. When loading events, the %event list needs to instanciate the proper %event subclass. For that purpose, the %event list stores a list of callbacks that return a newly instanciated %event subclass of a given type. Two macros have been written that take care of most of the work. \code NEW_EVENT (subclass) REGISTER_EVENT (type, subclass) \endcode %NEW_EVENT provides the function that will return a newly allocated %event. %REGISTER_EVENT will pass this function to the %event list. For each %event type, these two macros should be added to event_handler::init(), the %event system's init method. The %event list provides the following methods: - event_list::add_event() adds an %event to the list and registers it with the %event handler. - event_list::put_state() saves the list with all events inside. - event_list::get_state() restores the list with all events and registers them with the %event handler. \section event_sec3 Events Events have two main purposes. Registered with the %event handler, they allow to execute either a %python script, a %python or a C/C++ callback in case that %event takes place. But they are also sent as messages to the handler, to trigger matching events. Each specific %event may have its own %data fields and methods, depending on its purpose. However, all events share a number of common features, which are implemented by the %event base class. The first feature is the %event's action, i.e. what happens if that %event is triggered. The %event class allows to attach a \link py_object python script \endlink, a \link py_callback python callback \endlink or a C/C++ callback. C/C++ callbacks are only useful when the %game engine wants to make use of the %event system internally. %Python callbacks allow scripts like \link schedule character schedules \endlink to use the %event system. %Event scripts usually define the action of a certain class of events. For example an %event script might implement a trap that is activated whenever a %character steps on it. This 'trap' script can then be used by traps all over the place. Apart from the %event's action, the base %event class also provides means to repeat events or prevent them from repeating. For example, a trap might only work once. event::set_repeat() allows to specify how often an %event can be executed. Once that repeat count reaches zero, executing the event will automatically delete it. This will also remove it from the %event_handler and %event_list. That way, events that are used up vanish from the game, just as one would expect. Further, the %event class has two pure virtual methods that need to be implemented by the specific events. They are provided so that (not so) specialized %event handlers may take care of different %event types. - equals() is used to compare two events for 'equality'. The message sent to the handler is compared to all registered events to see if they match. - execute() is used once the %event is triggered and should executed the %event's action. \section event_sec4 Using the Event System The %event handler is implemented in the event_handler class. It totally consists of static members and methods, to make it easily accessible from any part of the code. Just include the event_handler.h file. To register a script with the handler that is executed whenever the player arrives at the coordinates (20, 20) of a map, you'd write: \code // Create the filter and set it's parameters event *filter = new enter_event; filter->x = 20; filter->y = 20; filter->c = data::the_player; // Set the script to be executed when the event occurs filter->set_script ("a_script"); // Finally add the filter to the event list. This will register it with the event handler add_event (filter); \endcode For a list of available events with their corresponding parameters see the \link event API documentation \endlink. The %event script in that example could look as follows: \verbatim class a_script: # -- constructor def __init__ (self, event, ): # -- the event the script belongs to self.myself = event ... # -- method called when the event occurs, the parameters # depend on the type of the event def run (self, submap, x, y, direction, character): print "%s arrived at %i, %i" % (character, x, y) \endverbatim As you can see, you have the possibility to pass extra parameters to the script constructor. This is limited to strings and integers though. When you set the argument list from C++, you have to manually create a %Python tuple, and you should not forget to decrement its reference count when you are done with it. The following code could be used for the example above: \code // Create our argument tuple that will be passed to the script constructor PyObject * args = PyTuple_New (2); PyTuple_SetItem (args, 0, PyInt_FromLong (10)); PyTuple_SetItem (args, 0, PyString_FromString ("2nd argument")); // Set the script to be executed when the event occurs filter->set_script ("a_script", args); // We don't need our reference to the tuple anymore Py_DECREF (args); \endcode The script constructor would then receive two additional arguments. This is useful to create generic scripts that can be customized at runtime. To return to our old trap example, the amount of damage the trap does could be specified for each trap in this way. Now we have registered an %event with the %event handler. But that alone won't get the %event triggered. So depending on its type, you'll have to notify the %event handler of an %event's occurance. In case of the \link enter_event enter event \endlink , you'll want to send a message to the %event handler whenever a %character reaches a new position on the map. \code // Event structures are also used to pass messages to the event_handler enter_event message; // Fill in the parameters message.x = mapcharacter::posx (); message.y = mapcharacter::posy (); message.submap = mapcharacter::submap (); message.c = this; // Notify the event handler event_handler::raise_event (&message); \endcode The %event handler will then compare all %events of the given type with the message it received and execute the %event action of events that match. \section event_sec5 The Different Event Types Various types of events are defined by the %game engine, all inheriting from the event class defined in event.h. \subsection mapevents Map Events There are 3 types of map events: \li enter_event, which are triggered whenever a %character enters a square, \li leave_event, which are triggered whenever a %character leaves a square, \li action_event, which are triggered when the main %character "acts" on a given square. All these map events inherits from the map_event class, which contains all the parameters they need: \li x, the X coordinate of the square the %event happened on, \li y, the Y coordinate of the square the %event happened on, \li submap, the number of the submap where the %event happened on, \li c, a pointer to the %mapcharacter that triggered the %event, \li dir, the direction the %mapcharacter is facing when the %event is triggered. When a map %event is triggered, the run ()method of the Python script is called, with the arguments \e submap, \e x, \e y and \e name, which is the name of the mapcharacter that triggered the %event. Map events are repeated forever by default. \subsection timeevent Time Event The time_event can be used to track relative or absolute %game time. Relative means, the %event will be triggered after a given amount of time has passed, starting at the moment it is created. Absolute means a fixed point in time, i.e. a certain hour at a certain day. Time events are not repeated by default. They can be told to repeat though, and it is also possible to specify the delay between two occurances. Time events pass no arguments to the run() method of the Python script. The script can easily get the current %game time from the gamedate class. \section event_sec6 Saving and Restoring Events As described in the \ref event_sec2 section, events can be saved to disk and restored at a later point. For this to work, a few restrictions have to be made, especially regarding any %python arguments that get passed to script or callback. Events that contain a C/C++ callback cannot be saved at all, as it is not possible to restore that callback. For events with an attached %python script, the only restriction is that the argument needs to be a tuple, containing only string and/or integer %objects. On saving, the name of the script and this argument tuple are saved to disk. On loading, the arguments are loaded, and the script is instanciated with those arguments. The same restriction concerning arguments applies to events with an attached %python callback. However, when saving the callback, only the name of the function or method is saved, but not the instance it belongs to. To restore the callback, it is neccessary to restore that instance first. Then a pointer to it needs to be assigned to py_callback::instance, which is a static member of the %py_callback class. Only then can the callback be restored properly. */ adonthell-0.3.5/doc/devel/intro.dxt0000644000076500000240000001543307362574766014164 00000000000000/* $Id: intro.dxt,v 1.1 2001/10/15 15:00:06 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Copyright (C) 2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page1 Introduction for new programmers \section cpp C++ Adonthell makes intense use of the features of C++ whenever they make the code clearer and easier and do not slow things down too much. Adonthell tries to respect the concepts of Object Oriented Programming as much as possible. In Adonthell, everything is an %object and inheritance and templates are used where appropriate. Attributes are usually hidden and may only be accessed through an %object's methods. Further, Adonthell makes heavy use of the Standard Template Library (STL) (http://www.sgi.com/tech/stl/), especially of strings and containers like lists and hash maps. So you'll certainly want to give it a look. \section python Python In many kinds of computer games, including RPGs, a script language is necessary to command characters, build complex actions, cutscenes, etc... As we want modularity and reusability, in-%game actions must be real-time interpreted. Scripts need to interact with the C++ interface and of course they have to share variables with it. Python (http://www.python.org) has proven to be very efficient at both - moreover it is an object-oriented language and therefore fits well with C++. And with SWIG (http://www.swig.org), a great tool is available to automate the process of building the Python interface to our C++ classes. Basically, each class and method described in this document is also available from Python scripts, with only a few exceptions: Python allows no method and operator overloading, so only the first of overloaded methods or constructors and no operators are accessible from Python. \section scorg Source code organisation Adonthell makes use of autoconf and automake to be built. In each subdirectory resides a Makefile.am file that containes the building rules for the files inside that directory as well as its subdirectories. Running "automake" in the root directory creates a Makefile.in from each Makefile.am. "autoconf" builds the configure script from configure.in. Finally, running "./configure" generates all the Makefiles from the Makefile.ins, making the package ready for compilation via "make". Here is what the source tree does look like: - doc The user and developer documentation - src Source code for Adonthell engine - this is where the adonthell executable is built - tools Various development tools - dlgedit The dialogue editor (requires GTK+) - charedit The character editor (requires GTK+) - questedit The quest editor (requires GTK+) - maptools The map building tools - pydonthell A custom Python interpreter with Adonthell Python modules inside - oggloop Ogg music looping utility Each class that is documented here is usually defined by classname.h and implemented by classname.cc. \section datatypes Data types Adonthell can run on several platforms, which all have different characteristics. One of these differences can reside in the way the basic C types (char, ints, ...) are encoded. A 32 bit operating system will code it's ints with 32 bits, while a 64 bits operating system will use 64 bits for ints. For several operations (like reading an int from a file) this can result in different behavior, and catastrophic consequences (most likely a protection fault). That's why some of the most basic types have been redifined according to the architecture in types.h: - u_int8: unsigned 8 bit integer - s_int8: signed 8 bit integer - u_int16: unsigned 16 bit integer - s_int16: signed 16 bit integer - u_int32: unsigned 32 bit integer - s_int32: signed 32 bit integer \section gamedyn Game dynamic As we display animated things, we need to know when they have to change. A %game that runs at a different speed on various machines has nearly no interest, as only a few configurations can make it run at the right speed. So it's very important to have a timing system built into the %game engine. Adonthell uses it's own timing system. The time unit is the %game cycle, which corresponds to approximatively 1/70 of second. When the %game runs, it performs a loop which looks like this: \code while() { gametime::update(); for(i=0;i } } \endcode Explanations: This loop performs what is necessary to update the %screen. Depending on the speed of the CPU, this can take more or less time. You've seen that a %game cycle durate 1/70 of a second. For some machines, this is not enough to perform the entire loop. As you've seen, there are two kinds of operations that are in the loop: \li Update operations, which actually update the state of the %game, according to user %input, previous %game state, etc... These operations are very fast to perform. \li Drawing operations, that is, update the %screen. This is what may slow things down. Some graphic boards simply can't redraw the entire %screen 70 times per second. Moreover, even with high-end boards, hardware acceleration may not be used depending on the SDL target used. x11 is know to be unable to use hardware acceleration, while fbcon does, when possible. So the solution to keep the %game running at the same speed on every machine is to draw less frames per second on slow machines (instead of drawing 1 frame every %game cycle, we'll draw one frame for 2 %games cycles, for example). This is where gametime is usefull: The gametime::update() method calculates the delay between the last call and the current call. It can then calculate if we've been late, and catch the time back by telling to the other %objects that we must perform 2 %games cycles instead of 1 to be sync (this is the result of the gametime::get_frames_to_do() method). For example, if the last loop took 1/35 of a second to be completed, gametime::get_frames_to_do() will return 2, so the loop will perform 2 %game updates before drawing the %screen. On the contrary, if the machine is too fast (if it can draw 2 frames for each %game cycle, for example), it will usleep() to stay in sync. In a more general manner, every class that get's updated and draw something on the %screen MUST have an update() method, that updates it's state once, and a draw() method to draw it on the %screen. */ adonthell-0.3.5/doc/devel/mainpage.dxt0000644000076500000240000000443107577135222014572 00000000000000/* $Id: mainpage.dxt,v 1.4 2002/12/15 17:23:30 ksterker Exp $ Copyright (C) 2001 Alexandre Courbot Copyright (C) 2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \mainpage \section intro Welcome to the Adonthell Programmer's documentation Writing a Role Playing Game from scratch is a huge undertaking and requires the active help of quite a few people. But the further we progress in coding, the harder it will be for new programmers to join in, simply because of the large amount of code that has accumulated over the years. This is the point where this manual comes in: its purpose is to show you the way around Adonthell's code base and some of the important underlying concepts. In case you are not so much interested in programming for Adonthell but rather in creating %game content you should take a look at the Designer's documentation instead. \section overview Overview Apart from the pure API documentation, which contains the interface description of the different classes and shows how they interact, there are a few chapters about general issues. The \ref page1 gives an overview about the engine's foundamentals. Programming languages, source code organization and such. Before you dive into the code, have a look at this for the basics. Of similar importance -- if you want to lend a hand to the coding -- are the \ref page2 . They include indentation rules, naming conventions and a few other odds and ends that shall help to give the code of different programmers a similar shape to make it easier to read. Once you understand the basics, you might want to explore specific parts of the engine in more detail. As many parts of the %game are divided into several classes, these chapters are there to give a first overview how they work and interact. - \ref page3 - \ref page4 - \ref page5 - \ref page6 - \ref page7 - \ref page8 - \ref page9 */ adonthell-0.3.5/doc/devel/Makefile.am0000644000076500000240000000047107376210504014316 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = reference.cfg mainpage.dxt intro.dxt prog_rules.dxt event.dxt \ map.dxt dialog.dxt python.dxt mapcharschedules.dxt save.dxt \ mapviewschedules.dxt newmap.dxt if BUILD_DOC all: $(P_DOXYGEN) reference.cfg CLEANFILES = -R html latex endif adonthell-0.3.5/doc/devel/Makefile.in0000644000076500000240000002372111017574471014335 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc/devel DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = reference.cfg mainpage.dxt intro.dxt prog_rules.dxt event.dxt \ map.dxt dialog.dxt python.dxt mapcharschedules.dxt save.dxt \ mapviewschedules.dxt newmap.dxt @BUILD_DOC_TRUE@CLEANFILES = -R html latex all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/devel/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/devel/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am @BUILD_DOC_TRUE@all: @BUILD_DOC_TRUE@ $(P_DOXYGEN) reference.cfg # 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: adonthell-0.3.5/doc/devel/map.dxt0000644000076500000240000000347407362574766013610 00000000000000/* $Id: map.dxt,v 1.1 2001/10/15 15:00:06 gnurou Exp $ Copyright (C) 2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page4 The Map Engine The map engine consists of several parts that work together to display the %game world on %screen. \section map_data Map Data The landmap holds the %data of the map: the actual \link mapobject graphics \endlink used on that map, and the information how to place them. A single map can contain multiple, independent \link mapsquare_area terrains \endlink that share the same graphics though. All terrains (or submaps) of a map are kept in memory, so transition between them is fast. Therefore it is desirable to keep related areas, like different levels of a dungeon or the floors of a building, on the same map. \section map_rendering The Renderer The %data on its own is only of little use as long as there is no way of displaying it. This is the \link mapview mapview's \endlink task. It renders a certain area of the map and everything on it onto a surface. That way, it can be as easily displayed on %screen as it can be saved to disk. The %mapview itself is rather dumb and without further instructions it would render the same part of the map for the rest of eternity. A \link py_object python script \endlink can be used to achieve a dynamic behaviour of the mapview, like following the player around the map. This script is called once every cycle of the %game and has access to practically all API functions and in-%game data, to permit as much flexibility as possible. */ adonthell-0.3.5/doc/devel/mapcharschedules.dxt0000644000076500000240000000605607362574766016345 00000000000000/* $Id: mapcharschedules.dxt,v 1.1 2001/10/15 15:00:06 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page8 Writing mapcharacter schedules \section mcharsched0 Generalities A mapcharacter schedule file should always be placed in the \e script/schedules/mapcharacters directory in the %game hierarchy. It should contain a single class, named like the module. A schedule is attached to a mapcharacter by the mapcharacter::set_schedule () method. See it's documentation for more details. You should be particularly careful that the argument list given to mapcharacter::set_schedule () \e has to be a Python tuple containing ONLY Python strings or integers. \section mcharsched1 Arguments passed to __init__ () When you call mapcharacter::set_schedule (), the first argument passed to the class constructor is a reference to the mapcharacter that called this method. This parameter should be saved as it will most likely be used during the run () method to control the mapcharacter. Then follow the arguments inside the tuple (optionally) passed to mapcharacter::set_schedule (). \section mcharsched2 Arguments passed to run () No arguments are passed to the run () method. \section mcharsched3 Structure of a mapcharacter schedule file Here is what a mapcharacter schedule file should ideally look like: \verbatim # # (C) Copyright # Part of the Adonthell Project http://adonthell.linuxgames.com # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY. # # See the COPYING file for more details # # # # class myschedule: # Parameters: # Description of myparameter1 # Description of myparameter2 def __init__ (self, mapcharacterinstance, myparameter1, myparameter2): self.myself = mapcharacterinstance def run (self): def __del__ (self) \endverbatim \section mcharsched4 Storing variables It is unsafe to store variables in the class instance others than those passed to the __init__ method. When a mapcharacter's schedule is state-saved, only the schedule filename and it's initialisation arguments (the Python tuple passed to mapcharacter::set_schedule ()) are saved. So, if you create variables in the \e self object, do not expect them to survive %game saving/loading. A safe approach is to make use of the storage class, from which mapcharacter inherits, to store your persistant variables. Then they are automatically saved together with the mapcharacter. */ adonthell-0.3.5/doc/devel/mapviewschedules.dxt0000644000076500000240000000562207362574766016400 00000000000000/* $Id: mapviewschedules.dxt,v 1.1 2001/10/15 15:00:06 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page9 Writing mapview schedules \section mviewsched0 The Basics A mapview schedule file should always be placed into the \e script/schedules/mapviews directory in the %game hierarchy. It should consist of a single class, named like the module itself. A schedule is attached to a mapview by using the mapview::set_schedule () method. See it's documentation for more details. You should be particularly careful that the argument list given to mapview::set_schedule () \e has to be a Python tuple containing ONLY Python strings or integers. \section mviewsched1 Arguments passed to __init__ () When you call mapview::set_schedule (), the first argument passed to the class constructor is a reference to the mapview that called this method. This parameter should be saved as it will most likely be used during the run () method to control the mapcharacter. Then follows the arguments stored in the Python tuple that has (optionally) been passed to mapview::set_schedule (). \section mviewsched2 Arguments passed to run () No arguments are passed to the run () method. \section mviewsched3 Structure of a mapview schedule file Here is what a mapcharacter schedule file should ideally look like: \verbatim # # (C) Copyright # Part of the Adonthell Project http://adonthell.linuxgames.com # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY. # # See the COPYING file for more details # # # # class myschedule: # Parameters: # Description of myparameter1 # Description of myparameter2 def __init__ (self, mapviewinstance, myparameter1, myparameter2): self.myself = mapviewinstance def run (self): def __del__ (self) \endverbatim \section mviewsched4 Storing variables It is unsafe to use class variables different from those that are passed to the __init__ method. When a mapview's schedule is state-saved, only the schedule filename and it's initialisation arguments (the Python tuple passed to mapview::set_schedule ()) are saved. So, if you create class variables inside the object, do not expect them to survive %game saving/loading. However, mapview schedules usually don't need persistant variables. */ adonthell-0.3.5/doc/devel/newmap.dxt0000644000076500000240000002565307454013240014276 00000000000000/* $Id: newmap.dxt,v 1.4 2002/04/07 09:51:28 ksterker Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file newmap.dxt * * @author Alexandre Courbot * @brief Specifications for the new mapengine. */ /*! \page newmap Specifications for the new mapengine. This document will precisely describe the specifications/internals of the new map engine implementation that is supposed to be shipped with versions >= 0.4 of the Adonthell engine. \section p10spec Specification What we want is a flexible, powerfull map engine that allows the following things:
  • Unlimited number of \e submaps, that is different areas that can be connected to each others (ex. several rooms in a house),
  • Precise, pixel-unit based %characters movments and %objects placement,
  • Unlimited number of possible \e levels, to allow things like bridges and so on,
  • Altitude management through \e levels. A %character must be able to fall from a bridge to the ground. A %character must also be able to naturally climb stairs, for example,
  • No limit about the number of %objects that can be placed on the maps, no matter if they are all at the same place,
  • %Objects and %characters must have the possibility to be animated. Furthermore, the ways of animations must be very flexible, allowing from very-simple to very-complex animations,
  • %Characters animations should be most flexible. In particular, a %character can have an unlimited number of special animations (jumping, falling,...) that may be unique to him.
  • Finally, the rendering must be realistic, bug-free of course, but should remain as fast as possible.
The above have been written with the ideas of speed, flexibility and minimized ressource usage in mind. No pig-solution can pretend to be a viable solution for the implementation. ... All the problem will now be to stand on these specifications! :) \section p10imp Implementation proposal Of course, our implementation will have to be well structured to be viable. Such demanding specifications implies that the proposed solution remains simple in it's parts, even if complex in it's whole. That's why this section is highly hierarchised. We'll try to describe the implementation from the higher layer to the lowest one. \subsection mapcoord_class The mapcoordinates class Not much to say about this one. It represents the position of any object on the map, with the tile it is on and an offset from this tile: \verbatim class mapcoordinates { public: u_int16 x, y; u_int16 ox, oy; bool operator < (const mapcoords & mc); bool operator <= (const mapcoords & mc); bool operator > (const mapcoords & mc); bool operator >= (const mapcoords & mc); }; \endverbatim The operators let you easily compare two coordinates. A coordinate is superior to another if it's \e y is superior, \b or it's \e x, \b or it's \e oy, \b or it's \e ox (in this order). They should be mostly used when you need to sort lists of objects - rendering, for example, will need the objects to be sorted by coordinates in order to have a good and fast result. \subsection p10landmap The landmap class This class contains the entire map, as well as the elements (%characters, %objects) that are on it. It may or may not contains the \e graphical %data of these %objects - anyway it is of no importance for it as it's job is only to make the world it represents live - and in no way to render it. At this level, we only need the submaps, (map)%characters and (map)%objects this \e %landmap owns. So the structure of the \e %landmap class is as simple as this: \verbatim class landmap { vector submap; vector mapchar; vector mobj; }; \endverbatim Using such a structure, we have the following advantages:
  1. The number of landsubmaps, mapcharacters and mapobjects are unlimited, and the allocated memory will exactly reflect the actual number of them used. We are using pointers here for several reasons:
    1. The vector container needs to perform copies when resized. As we don't want our whole structures to be copied (which would be very slow and would need a tricky copy-constructor) we are using arrays of pointers.
    2. Sometimes (depending on the implementation) the actual size of the vector is larger than the number of elements that are inside it, to perform faster growings. As our classes are rather large, using pointers we will ``waste'' less memory.
    3. Finally, and probably the most important, using pointers the adress of the %objects in memory will remain the same, no matter whether we resize the vector or not. As mapobjects and %mapcharacter will further be referenced by their memory adress, using pointers here is mandatory if we want to keep this flexibility.
    On the other hand, we will be responsible for manually allocating/freeing our %objects, which will require additionnal attention.
  2. The flexibility is maximal, as we can dynamically add/remove landsubmaps, mapobjects or mapcharacters. Beware, though, that the resizing of a vector can be time consuming.
\subsection p10landsubmap The landsubmap class This class will be quite simple too. Actually, we will define a \e landsubmap as a vector of \e mapsquare_areas, which are the \e layers of this submap. On a simple map, the layer 0 could for example be the ground, while the layer 1 will be a bridge: that way characters can safely walk on and under the bridge, it's just a matter of \e layer. All the problem will then be to define \e when does the characters switch from layer 0 to layer 1 and to layer 1 to layer 0 - but we will have a look at this later, so hang on ;). So our structure for \e landsubmap will be: \verbatim class landsubmap { vector area; }; \endverbatim Although things have quite quite simple until now, I fear the next sections will give you a little more headache. \subsection p10mapsquare_area The mapsquare_area class Serious matters starts now, as this class represents a bit more than arrays of things. First, it seems sensible that all areas on the map aren't necessarly the same size. Obviously, the ground will be larger than a bridge, so the different areas can be differently sized. That's why their position is precisely set by an \e offset, which sets which %mapsquare this area starts on. ONLY for the \e first %mapsquare_area (0 indexed) this offset parameter won't make sense, as others are placed relatively to this one. Also, the area indexed \e n must ALWAYS be higher than the one indexed \e n-1, for renderer performance reasons. %Mapsquare_areas will also have (excepted, once again, for the layer 0) an altitude parameter. The layer will be drawn \e alt pixels higher than the ground layer, \e alt being the altitude of that layer. Also, having the altitude we can make characters fall from a layer to another and, why not, jump from a lower layer to an higher one if the %character can jump high enough. Apart from that, the %mapsquare_area will also contain a two-dimensional array of %mapsquares. Hang on for details about %mapsquares. \verbatim class mapsquare_area { vector> area; u_int16 xoffset; u_int16 yoffset; u_int16 altitude; }; \endverbatim \subsection p10mapsquare The mapsquare class Although this class just represents a basic square of a level of a map, it's structure is much more complex than what we've seen until now. A %mapsquare contains informations about the following things:
  • The %mapobjects that are on it. Their number is virtually unlimited.
  • The %mapcharacters that are on it. Unlimited number of %mapcharacters too.
  • The walkability of this square. Actually, this information is indirectly determined from the %mapobjects that are on it (as %mapobjects have their own walkability information).
The easiest way to handle such freedom in the number of %mapobjects and %mapcharacters that can be placed on a %mapsquare is to use a dynamic structure, the best candidate being a linked list. That's at this level that we have to think about rendering issues. Actually, there is only one, but huge issue: having in mind that some %objects are totally flat (carpets) and that they must then be drawn BEFORE %characters, while others (tree, houses) have an "height" and therefore must be drawn before the %characters that are in front of them, and after the characters that are behind them, how can we correctly handle that without making things too much complex and eating CPU time finding out what to draw before what? Having the %data structure well organised can deadly accelerate things by having simplier algorithms, and that's what we'll try to do with the %mapsquare class. As we only have two particular cases with %mapobjects (flat ones and non-flat ones), let's separate their %storage in memory: we'll have one list (not especially linked, as you will see after) for flat %objects, and another one for non-flat %objects. That way we can easily draw flat %objects before all. Handling flat %objects So, we have our list of flat %objects for this %mapsquare. But even if these %objects are flat, some can be upper than others, for example two carpets that superimposed on each others. Which one to draw first, the red or the blue? The renderer will perform as follows: it will first draw the first element of each %mapsquare, then perform another pass to draw the second, and so on until all "layers" are done. This has the following consequences:
  • The renderer have to perform one pass per "layer" of flat %objects. This is the price for having such freedom in %objects placement.
  • We can add an additionnal information to the %mapsquare_area, about the number of layers of flat %objects it has. That way, the renderer won't have to perform a pass for nothing when we have drawn all the layers.
  • We can't reasonnably use a linked list for these %objects, as the renderer will perform the layer 0 of all mapsquares, then the layer 1, etc. We need a container that has constant access time. A vector seems to be the best candidate here, as anyway it's size won't be changed, or very occasionally, and the reallocations won't be too huge (actually, they will rather be very small ones).
Handling non-flat %objects With non-flat %objects it is ok to use linked lists, and the renderer will only have to perform one pass to draw the entire thing, non-flat %objects and %mapcharacters, provided the linked lists are correctly organized. The details about this will be discussed into the renderer section. \section p10dyn Map dynamic: how to make things move correctly \subsection p10levchan Handling characters map level change \section p10renderer Renderer details */ adonthell-0.3.5/doc/devel/prog_rules.dxt0000644000076500000240000002641707362574766015216 00000000000000/* $Id: prog_rules.dxt,v 1.1 2001/10/15 15:00:06 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Copyright (C) 2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page2 Programming rules \section indent Indentation No matter who wrote a file, it must be readable by anybody. The beginning of readability is a correct indentation. Here are a few rules to follow: \li Block indentation is set to 4 characters. \li A space should be placed before/after every operator and separator. \li Air your code. Skip lines between blocks, and don't hesitate to comment when it is useful. \li In your classes declarations, make the public interface appear AS SOON AS POSSIBLE, so users of your class doesn't need to search through the entire file. Here is a sample code: \verbatim int main (int argc, char * argv []) { int i; for (i = 0; i < 10; i++) { int ret = myfunc (0, 1, 2); if (ret <= 10) return ret; } return 0; } \endverbatim \section doxydoc Documentation System The document you are currently reading is generated by Doxygen from the source code. Doxygen is a very powerful documentation system that allows programmers to quickly document their code with class references, diagrams (inheritance, class hierarchy, ...) and many other useful things with a very small effort, letting them concentrate on the code rather than the documentation. The programmer documentation can easily be generated provided the source code (or rather the header files) are correctly commented. For more informations, have a look at Doxygen's own documentation which is available at http://www.doxygen.org. Your classes must all be clearly documented, to allow other developers to use them, and yourself to remember how they work. You'll have to document at file level, class level and member level. \subsection filelev Documenting at file level EVERY file of Adonthell HAS TO start with the following: \verbatim /* $Id: Copyright (C) Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file * @author <> * * @brief * * */ \endverbatim The first block is for Copyright issues. You clearly show that this file is distributed under the terms of the GPL ; that it comes with no warranty and that you are the copyright holder of the file. The Copyright line has to show all the years this file has been worked on. Several persons may hold the copyright of a file. In this case, put one Copyright line per person. The $Id: line is for the CVS system. It will put useful information on this line when the file will be committed, indicating who last modified this file, when, and which version number it is. The second block is for referencing this file into Doxygen's documentation system. It's quite explicit and MANDATORY if you want to document the classes in this file. \subsection classlev Documenting at class level Each class must have a little documentation block explaining what it does. Moreover, you can't document a class member if the class itself isn't documented. Just put a Doxygen block before your class and explain what it is for: \verbatim /** * This very powerful class blah blah.... * blah blah blah blah blah * blah blah blah blah. * * @bug Uh, I still have to write the members. * */ class my_very_cool_class { ..... } \endverbatim Don't hesitate to use Doxygen's special tags, like \\note or \\bug. \subsection memblev Documenting at member level Once your class is briefly described, you can start the "true" documenting, that is, clearly and precisely describe your public interface. Once again, everything is better explained in Doxygen's own documentation, but here is an example for a member function: \verbatim class my_class { public: /** * Returns the square root of the parameter. * @param a_number Number to calculate the square root of. * @return Square root of a_number. */ float sqrt (float a_number); } \endverbatim Once you have done this, and rebuild the documentation, your class will appear in the Class Hierarchy diagram, with it's own documentation page and automatically generated Inheritance Diagram. Have a look at the \link image Image Class Page \endlink for a sample of the result you can expect, and \link image.h the image.h file \endlink (see the source code) to see how it has been done. \section names Method naming \subsection namgen General naming conventions There are several different more or less popular ways to name your functions and classes. Depending on what you like, you can call the same function perform_something () or PerformSomething (), etc... To keep the interface as clear and homogeneous as possible, here are a few rules to follow when naming your classes and functions: \li Use lower cases, and '_' as a separator if your function name has several words (ex: perform_something ()). \li Member access functions should be as short as possible. For read-access, use the most direct name possible (i.e. length () for the length of an object), for write access, use set_member style names (set_length (u_int16 l)). Of course, the member itself should then have a different name than length. Placing an underscore right after (length_) for naming your member is widely used through the code - but you are free to do something else if you don't like it. \li Methods returning something more complicated than a simple %data type (i.e. functions that returns a pointer to a complex %data structure, etc...) should use a get_name style instead. For example, a method returning an %image of an %animation should be named get_image (). \li If your class is static, the "manual" constructor/destructor should then be named respectively init () and cleanup (). Let's see a concrete example of this naming convention through a class interface: \verbatim class animation { public: // Constructor animation (); // Destructor ~animation (); u_int16 length () { return length_; } u_int16 height () { return height_; } image * get_image (u_int16 pos) { return frame[pos]; } ..... private: u_int16 length_; u_int16 height_; vector frame; } \endverbatim \subsection namcons Constructor selection for Python As Python can only have one constructor per class, you have to choose which one will be available. The default constructor often makes sense ; but if your class requires a constructor with arguments, then you can transgress this rule of course. In any case, be aware that you need to be able to reach the state of ANY of your C++ constructors from Python by using the available constructor plus one or more of your class methods. To select which constructor is available, embed the others with a ifndef SWIG directive. \verbatim class image { public: // Default constructor (the one available from Python) image (); #ifndef SWIG // Creates an image of size (l, h) image (u_int16 l, u_int16 h); #endif // This method makes it possible to reach the state of the second constructor // from Python by doing: im = image (); im.resize (l, h); // Moreover, it's also useful in other cases. void resize (u_int16 l, u_int16 h); ... }; \endverbatim \subsection nampy Making overloaded methods and operators available for Python SWIG doesn't like overloaded functions and operators, and will print a warning if it meets one. But the functions or operators you have overloaded have to be available from the Python interface. To make them available, you should us a ifdef SWIG directive to declare another inlined function that matches the overloaded function or operator. An example is better than a long explanation: \verbatim class myclass { public: ...... /** * Drawing method 1 */ void draw (int x, int y); #ifndef SWIG /** * Drawing method 2 * @attention Not available from Python. Use draw_part () instead. * @sa draw_part () */ void draw (int x, int y, int l, int h); #endif /** * Synonym of draw (x, y, l, h) to guarantee it's availability from Python. */ void draw_part (int x, int y, int l, int h) { draw (x, y, l, h); } /** * Copy operator (similar to copy ()). * * @attention Not available from Python. Use copy () instead. * @sa copy () */ myclass& operator = (const myclass & src); /** * Synonym of operator = to guarantee its access from Python. * * @sa operator = */ void copy (const myclass& src) { *this = src; } ... } \endverbatim Don't forget to comment your methods accordingly to their access. Functions synonym to Operators should have explicit names. As an operator could have several meanings (+ could be said "add" or "concat", for example) you are free to choose whatever name fits best with your usage. \section args Argument passing conventions \subsection objcts Object passing Most often you will work with %objects created by yourself or someone else. Passing such %objects to methods by value has to be absolutely avoided, for performances and bug issues. Passing a big object by value to a function requires memory to be allocated for the function's object, and of course the copy-constructor and destructor to be called. Needless to say, that without a copy-constructor most complicated %objects won't be correctly passed, and this is a source of useless bug tracking. Instead of passing your %objects by value, you'll pass them by reference. That way, no memory is allocated, and actions are performed directly on your object. To make it obvious which methods modify the object you're passing and which don't, the following conventions has been set up: \li When a function requires an object and doesn't modify it, pass it by const reference. \code void doesntmodify (const myclass & myobject); \endcode \li When a function requires an object and modifies it, pass it by address. \code void modify (myclass * myobject); \endcode \note Of course, this doesn't apply to your operator overloading functions which are obviously explicit. And, to make sure nobody will ever pass one of your %objects by value, declare the copy-constructor as private: \code class myclass { ... private: myclass (myclass & src); }; \endcode This will cause a compilation error if someone ever tries to pass an object of your class by value. */ adonthell-0.3.5/doc/devel/python.dxt0000644000076500000240000000541307362574766014347 00000000000000/* $Id: python.dxt,v 1.1 2001/10/15 15:00:06 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page7 Python Scripting Adonthell makes use of Python (http://www.python.org) as a scripting language. Small modules of Python code are used to controll %game elements like mapcharacters, mapviews and events or to perform special tasks like animated cutscenes, etc.. \section whypython Why use a scripting language? There is an important difference between %game engine and %game %data. Adonthell's goal is the ability to run different %games without any modification to the actual %game engine. This requires that %games using the Adonthell engine can be created without writing a single line of C++ code. Most %game %data (maps, characters, etc...) can be easily created with the help of the respective editor. But some elements need to be controlled by a program. For example, Non-Player Characters (NPC's) or mapviews. Rather than having a limited set of behaviors in the engine, it's better to directly program them using a easy to use, platform independant, interpreted language. And that is where Python comes in. Using Python, you can easily create your own behavior scripts (also called \e schedules) for the characters, as well as other parts of the %game (cutscenes, etc...). Actually, the entire C++ API is available from Python - so when you create Python scripts you have exactly the same possibilities you would have when writting them in C++. \section usingpython Using Python with Adonthell The complete Adonthell API is available through the \e adonthell module, which is imported at startup. There is a little customized Python interpreter in \e src/tools/pydonthell/ you can use for testing purposes: go into a valid %game directory, run \e pydonthell from here and try this little example program: \verbatim >>> from adonthell import * >>> im = image () >>> im.resize (100, 100) >>> im.fillrect_rgb (0, 0, im.length (), im.height (), 255, 0, 0) >>> im.draw (10, 10) >>> screen_show () \endverbatim All the classes and methods used in this little script are explained in the API reference. \section Running Python scripts The py_object class is designed to handle most of the Python scripting. It imports a Python module which should only contain Python classes. An instance of the selected class is created and you can freely call it's methods. See the \link py_object py_object class reference \endlink for more details concerning it's use. */ adonthell-0.3.5/doc/devel/reference.cfg0000644000076500000240000001573207454013240014702 00000000000000# Doxygen configuration generated by Doxywizard version 0.1 #--------------------------------------------------------------------------- # General configuration options #--------------------------------------------------------------------------- PROJECT_NAME = Adonthell PROJECT_NUMBER = 0.4 OUTPUT_DIRECTORY = OUTPUT_LANGUAGE = English EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = YES HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ALWAYS_DETAILED_SEC = YES FULL_PATH_NAMES = NO STRIP_FROM_PATH = INTERNAL_DOCS = NO CLASS_DIAGRAMS = YES SOURCE_BROWSER = YES INLINE_SOURCES = NO STRIP_CODE_COMMENTS = NO CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO VERBATIM_HEADERS = YES SHOW_INCLUDE_FILES = YES JAVADOC_AUTOBRIEF = YES INHERIT_DOCS = YES INLINE_INFO = YES SORT_MEMBER_DOCS = NO DISTRIBUTE_GROUP_DOC = NO TAB_SIZE = 4 ENABLED_SECTIONS = GENERATE_TODOLIST = YES GENERATE_TESTLIST = YES GENERATE_BUGLIST = YES ALIASES = MAX_INITIALIZER_LINES = 30 OPTIMIZE_OUTPUT_FOR_C = NO SHOW_USED_FILES = YES #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_FORMAT = WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = ../../src/ \ . FILE_PATTERNS = *.h \ *.cc \ *.dxt RECURSIVE = NO EXCLUDE = ../../src/py_adonthell_wrap.cc \ ../../src/yarg.cc \ ../../src/yarg.h \ ../../src/lex.prefs.cc \ ../../src/callback.h \ ../../src/SDL_mixer.h \ ../../src/music_cmd.h \ ../../src/music_ogg.h \ ../../src/wave.h \ ../../src/wavestream.h \ ../../src/mixer.c \ ../../src/music.c \ ../../src/music_cmd.c \ ../../src/music_ogg.c \ ../../src/wavestream.c \ ../../src/win_wrappers.h \ ../../src/effect.cc \ ../../src/effect.h \ ../../src/item.cc \ ../../src/item.h \ ../../src/effect.cc \ ../../src/effect.h \ ../../src/inventory.cc \ ../../src/inventory.h \ ../../src/test-inventory.cc \ ../../src/test-item.cc EXCLUDE_PATTERNS = EXAMPLE_PATH = EXAMPLE_PATTERNS = IMAGE_PATH = INPUT_FILTER = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = YES COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = YES LATEX_OUTPUT = COMPACT_LATEX = NO PAPER_TYPE = a4 EXTRA_PACKAGES = LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = YES #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = MAN_EXTENSION = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = #--------------------------------------------------------------------------- # Configuration::addtions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = reference.tag ALLEXTERNALS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- HAVE_DOT = YES CLASS_GRAPH = YES COLLABORATION_GRAPH = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES GRAPHICAL_HIERARCHY = YES DOT_PATH = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::addtions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO CGI_NAME = CGI_URL = DOC_URL = DOC_ABSPATH = BIN_ABSPATH = EXT_DOC_PATHS = adonthell-0.3.5/doc/devel/save.dxt0000644000076500000240000001452307362574766013766 00000000000000/* $Id: save.dxt,v 1.1 2001/10/15 15:00:06 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \page page6 Saving/Loading \section objdatobjst Object data and object state This is another important part of the %game engine. Quite a few %objects should be loadable and saveable, but there is a difference between two things that may look like one: an %object's %data itself and an %object's state. But there is a significant difference. Data is all the information that stays the same during an %object's lifetime. As a consequence, %data remains persistent over the whole %game. An %object's state is the information that changes while the %game progresses. For example, when loading a map, all the actual graphics are persistant %data. OTOH, player and NPC's are certainly no longer at their initial position, so this information belongs to the map's state. Let's see precisely how it works with a simple %animation class: \verbatim class animation { public: // Constructor / Destructor. animation (); ~animation (); ..... // Saving / Loading methods. void get (FILE * in); void put (FILE * out); // State saving / loading methods. void get_state (FILE * in); void put_state (FILE * out); private: vector frames; u_int32 currentframe; } \endverbatim The difference between the %object %data and the %object state is quite obvious here: the \e frames vector is an array containing the raw %images - they won't change during gameplay, so they are considered as the %object \e %data, while the \e currentframe member will change during the %game, and actually when we load a %game we would like it to have the same value than when we saved it. That's why \e get and \e put will save the \e frames vector (and maybe put \e currentframe to 0 for \e get, to make sure the %object is in a stable state), and \e get_state and \e put_state will save/load the currentframe member. That way, when you load a %game, you can simply get the %object state from the save file, while the %object itself will be loaded from the %data directory. \section convsave Conventions for saving/loading methods To reduce the amount of space needed for the %game, loading/saving methods use the igzstream and ogzstream classes for disk access. See their own documentation for more details. The saving methods should be constant - that is, they doesn't change the state of the %object itself. The loading methods should always bring the %object into a stable state once they return (think of what would happen if you load an %animation and the \e currenframe member remains with a value superior to the actual number of %images in this %animation). The declaration conventions are the following (you can use this template declaration for your own classes, as it also shows you the proper way to document your code with sections): \verbatim class myclass { public: ..... /** * @name Loading/Saving methods * */ //@{ /** * Loads a from an opened file. * @param file the opened file from which to load. * @return 0 in case of success, error code otherwise. * * @sa load () * */ s_int8 get (igzstream& file); /** * Loads a from it's filename. * * @param fname the name of the file to load. * @return 0 in case of success, error code otherwise. * * @sa get () */ s_int8 load (string fname); /** * Saves a into an opened file. * * @param file opened file where to save into. * @return 0 in case of success, error code otherwise. * * @sa save () */ s_int8 put (ogzstream& file) const; /** Saves a into a file from it's name. * @param fname file name where to save into. * @return 0 in case of success, error code otherwise. * * @sa put () */ s_int8 save (string fname) const; //@} /** * @name State loading/saving methods * */ //@{ /** * Restore the state from an opened file. * * @param file the opened file from which to load the state. * @return 0 in case of success, error code otherwise. */ s_int8 get_state (igzstream& file); /** * Saves the state into an opened file. * * @param file the opened file where to the state. * @return 0 in case of success, error code otherwise. */ s_int8 put_state (ogzstream& file) const; //@} .... } \endverbatim \section objreuse Making your objects reusable Another issue that can decrease the %game performance is %objects lifetime. Take our sample %animation class. Say that I've already loaded an %animation that I don't need anymore, and I need to load another one. If my %object doesn't have a cleaning method, I'll have to delete my %animation %object and reallocate another one. And destructor call + deallocation + allocation + constructor call = a lot of time wasted. This can easily be avoided if your %object has a cleaning method, that restores it to it's post-constructor state and allow you to reuse it as if it was a new one. The loading method is a good place where to call this cleaning function, as you can't expect to load something if your %object isn't empty. In our %animation sample class, the \e clear () method would delete the \e frames vector (cleaning up the %datas) and put \e currentframe to 0 (safe, post-constructor state). And I now can use the same %object multiple times. Most often too, the destructor will be a simple call to clear (), as it also frees all the memory occupied by the %object. The declaration convention is quite straightforward then: \verbatim class myclass { public: .... /** * Puts the back to it's post-constructor state. * */ void clear (); .... } \endverbatim Note that not every %object int the %game needs to be state-saveable. First, they must have a changeable state, and second, they have to be saved/loaded during %game saving/loading. */ adonthell-0.3.5/doc/dlgedit/0000777000076500000240000000000011017604074012655 500000000000000adonthell-0.3.5/doc/dlgedit/dlgedit.cfg0000644000076500000240000001341007506161216014671 00000000000000# Doxygen configuration generated by Doxywizard version 0.1 #--------------------------------------------------------------------------- # General configuration options #--------------------------------------------------------------------------- PROJECT_NAME = Dlgedit PROJECT_NUMBER = v0.8 OUTPUT_DIRECTORY = OUTPUT_LANGUAGE = English EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ALWAYS_DETAILED_SEC = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = INTERNAL_DOCS = NO CLASS_DIAGRAMS = NO SOURCE_BROWSER = NO INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO VERBATIM_HEADERS = YES SHOW_INCLUDE_FILES = YES JAVADOC_AUTOBRIEF = NO INHERIT_DOCS = YES INLINE_INFO = YES SORT_MEMBER_DOCS = YES DISTRIBUTE_GROUP_DOC = NO TAB_SIZE = 4 ENABLED_SECTIONS = GENERATE_TODOLIST = NO GENERATE_TESTLIST = NO GENERATE_BUGLIST = NO ALIASES = MAX_INITIALIZER_LINES = 30 OPTIMIZE_OUTPUT_FOR_C = NO SHOW_USED_FILES = YES #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = dlgedit.dxt FILE_PATTERNS = RECURSIVE = NO EXCLUDE = EXCLUDE_PATTERNS = EXAMPLE_PATH = EXAMPLE_PATTERNS = IMAGE_PATH = . INPUT_FILTER = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_HEADER = header.html HTML_FOOTER = footer.html HTML_STYLESHEET = dlgedit.css HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = NO TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = YES LATEX_OUTPUT = latex COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = ./dlgedit.tex PDF_HYPERLINKS = YES USE_PDFLATEX = NO LATEX_BATCHMODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = #--------------------------------------------------------------------------- # Configuration::addtions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- HAVE_DOT = NO CLASS_GRAPH = YES COLLABORATION_GRAPH = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES GRAPHICAL_HIERARCHY = YES DOT_PATH = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::addtions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO CGI_NAME = search.cgi CGI_URL = DOC_URL = DOC_ABSPATH = BIN_ABSPATH = /usr/local/bin/ EXT_DOC_PATHS = adonthell-0.3.5/doc/dlgedit/dlgedit.dxt0000644000076500000240000007603607573433334014755 00000000000000/* $Id: dlgedit.dxt,v 1.9 2002/12/04 17:09:48 ksterker Exp $ Copyright (C) 1999/2000/2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \mainpage The Adonthell Dialogue Editor This document is a part of the Adonthell Developer's Reference. It describes the usage of the dialogue editor (dlgedit) and gives a few hints for writing well designed dialogues.

Contents

-# \ref page1 -# \ref page2 -# \ref sec21 -# \ref sec22 -# \ref sec23 -# \ref page3 -# \ref sec30 -# \ref sec31 -# \ref sec32 -# \ref sec33 -# \ref sec34 -# \ref page4 -# \ref sec41 -# \ref sec42 -# \ref sec43 -# \ref page5 */ /*! \page page1 Understanding the Dialogue Engine Before we start designing our first dialogues, lets have a look behind the concept of the dialogue engine. Understanding the basics will allow you to use the editor more efficiently and prevent you from trying to accomplish the impossible. First of all, what exactly is a dialogue? In our case, a dialogue is the conversation between the player and at least one NPC. The NPCs speech is usually followed by a number of replies for the player to chose from. The NPC will then react according to the choice. After that it is the player's turn again, and so on. Apart from player and NPC there is a third entity: the Narrator. Technically, it behaves like a NPC, but it has a completely different role. Usually it will decribe matters that are of importance to the player, but cannot be depicted by the game engine. Now that we've seen who may take part in a dialogue, we'll have a look at its organization. It will usually start with NPC or Narrator speech, to give the player something to react to. However, there is no need for a player reaction. Instead, the Narrator and various NPCs could go on and on (in which case the dialogue would either degenerate into a monologue or into a conversation between different NPCs). Player speech however will \b always be followed by either NPC or Narrator text, unless it ends the dialogue. Dialogues following the scheme above will remain rather static. The player may chose from a list of replies whenever it is his turn, but other than that everything remains the same in all circumstances. Therefore, the dialogue engine provides a few mechanisms to make dialogues more dynamic and adaptive to different situations. For one, NPCs and Narrator can have choises too. Whenever they have several options, they will randomly pick one. That may liven up the dialogue somewhat, but it also means a total loss of control. Therefore, each choice can be combined with a condition. Player, NPC and Narrator will only be able to chose those alternatives whose conditions evaluated true. As practically every aspect of gameworld and characters can be queried in a condition, it is possible to create dialogues that can adapt to many different situations. Such dialogues require lots of writing, of course. Therefore, dlgedit's main aim is assisting you with the complex structure of dialogues, so you can fully concentrate on the actual writing. As it tries to get as little in the way as possible, its usage is not always intuitive. However, the brief tutorial that follows should make you comfortable with most of its controls. \htmlonly
<< Main Page   Contents   An Example >>
\endhtmlonly */ /*! \page page2 An Example After the theory, something more practical now. \subsection sec21 The Dialogue This is a very simplistic Dialogue we want to model, but you will see that it is sufficient to demonstrate the basic functionality of the Dialogue Editor. \verbatim Npc: "Hello, I am Eric." Player: "I am Kai." or "Goodbye!" Npc: "Nice to meet you." "Fare well." Player: "Goodbye!" Npc: "Fare well." \endverbatim \subsection sec22 Creating the Dialogue Dialogues start with a NPC line, so that is what we add first. Simply left-click on the dialogue area of the Editor. A dialog window pops up that allows you to enter the text of the node. As you see, NPC is the default, so simply enter the line of dialogue ("Hello, I am Eric.") and press OK. What you will see when moving the cursor over the newly created node is the following:
\image latex step1.eps \image html step1.png
Now we add the player's response. To do this, left-click on the circle. It will appear in red to signal that it is the selected node. Now left-click on a location a bit further down. Again the Text Input Window pops up, this time with Player preselected, just as we want it. Enter the text ("I am Kai.") and press OK.
\image latex step2.eps \image html step2.png
Your screen should look like this. The NPC node is still selected, therefore drawn red, and the Player node is drawn blue, to distinguish it from NPC nodes. The arrow between them symbolises the flow of the dialogue . Since the player shall have two possible responses, we have to create another Player node, somewhere next to the first one. ("Goodbye!") Voila, the first two lines of dialogue are already done. Now right-click on an empty spot to deselect the NPC node and then select the first Player node. You see that it appears orange, so you know at the first glance that it is a selected Player node. Left-click somewhere below it, enter the appropriate text ("Nice to meet you."), confirm with OK and repeat the same for the second Player node. ("Fare well.")
\image latex step3.eps \image html step3.png
If your display shows something similar, you've done it :-). Now lines 4 and 5 of the Dialogue have to follow, but, as you have already noticed, they are just the same as a part of the existing dialogue. Would be nice if we could reuse that part, eh? Well, we can. All we need to do is linking the right nodes. Okay, lets dot it: Deselect the Player node and select the bottom left NPC node (or the node correspondenting to that one in your work). Then simply left-click on the Player node that needs to follow. And this is the complete dialogue:
\image latex step4.eps \image html step4.png
Of course this is a most minimalistic example, and there are many advanced techniques yet to be explored, like \ref page4 to your dialogue. But at least you should have learned how to operate the program. For detailed descriptions of the remaining features refer to the following chapters. \subsection sec23 The Result Now save (File->Save) and compile (Dialogue->Compile) the dialogue. You'll get a .py file, the Python dialogue script. In our example it will look similar to the following: \verbatim import dialogue # -- pygettext support def _(message): return message class untitled (dialogue.base): text = [None,\ _("Hello, I am Eric."),\ _("I am Kai."),\ _("Goodbye!"),\ _("Nice to meet you."),\ _("Fare well.")] # -- (speaker, code, ((text, operation, condition), ...)) dlg = [\ (None, -1, ((1, 0, -1), )),\ ("Default", -1, ((2, 0, -1), (3, 0, -1), )),\ (None, -1, ((4, 0, -1), )),\ (None, -1, ((5, 0, -1), )),\ ("Default", -1, ((3, 0, -1), )),\ ("Default", -1, ())] def __init__(self, p, n): self.namespace = globals () self.the_player = p self.the_npc = n \endverbatim You see, its a lot easier to use the Dialogue Editor than writing that code by hand. Of course, if you know what you are doing, you can edit this file afterwards. But usually, you should do any editing in the editor only. (See http://www.python.org for an extensive documentation of the Python scripting language.) \htmlonly
<< Understanding the Dialogue Engine   Contents   The Dialogue Editor >>
\endhtmlonly */ /*! \page page3 The Dialogue Editor After above example you should be able to start designing Dialogues right away. But for your convenience, and because some of the advanced editor features are not described yet, this section contains the complete reference guide. \subsection sec30 Command line Switches Although dlgedit is a graphical editor, there are a few commandline options for convenience. \par -c compile all SOURCES and exit
If the -c option is specified with a list of dialogue source files (recognizable by their .adlg suffix), these sources are turned into python dialogue scripts without invoking the graphical editor. \par -d print project directory and exit
A dialogue is usually assigned to a certain project, i.e a game. The project directory tells dlgedit where to search for things like character and quest data needed to compile dialogues. \par -j project specify a default project
Assigns the given project to new dialogues, or to dialogues that do not belong to a project yet. To properly compile dialogues, they usually need to belong to a project. Works in combination with the -c option. \par -p path specify a custom project directory
If your project/game does not reside in the default project directory (which can be queried with the -d option), you can specify an alternative path with this option. \par -v print version number and exit You may specify a list of dialogue sources on the command line. Unless the -c switch is used, all of them will be opened in the editor. If no sources are given, it will start with a new, blank dialogue. \subsection sec31 The Main Window \anchor diaare
\image latex dlgedit_main.eps "The main interface" \image html dlgedit_main.png "The main interface"
\par 1. The Dialogue Area This is where you create the outline of the dialogue; what lines of text exist and how they are linked to each other. Most of the work is done with the mouse, but there are also a few shortcuts on the keyboard and some functionality is only available through the keyboard. \par The actions taken when a mouse- or keypress occurs depend on the current selection (none, circle, arrow) and the position of the cursor. The table below shows all possible constellations:
\htmlonly \endhtmlonly \htmlonly \endhtmlonly \htmlonly \endhtmlonly \htmlonly \endhtmlonly \htmlonly \endhtmlonly
\b Left-click \e Nothing \e selected \e Circle \e selected \e Arrow \e selected
\e on \e empty \e space Create new Circle Create new Circle \& link with selected -
\e on \e Circle Select Circle Link with selected -
\e on \e Arrow Select Arrow - -
\latexonly \hline\hline \endlatexonly \b Middle-click \e Nothing \e selected \e Circle \e selected \e Arrow \e selected
\e on \e empty \e space - Edit selected Circle -
\e on \e Circle Select \& edit Circle Edit selected Circle -
\e on \e Arrow Select Arrow Edit selected Circle -
\latexonly \hline\hline \endlatexonly \b Right-click \e Nothing \e selected \e Circle \e selected \e Arrow \e selected
\e on \e empty \e space - Deselect Circle Deselect Arrow
\e on \e Circle - Deselect Circle Deselect Arrow
\e on \e Arrow - Deselect Circle Deselect Arrow
\latexonly \hline\hline \endlatexonly \b Return \e Nothing \e selected \e Circle \e selected \e Arrow \e selected
\e wherever - Edit Circle -
\latexonly \hline\hline \endlatexonly \b Del \e Nothing \e selected \e Circle \e selected \e Arrow \e selected
\e wherever - Delete Circle and its Links Delete Arrow
\latexonly \hline\hline \endlatexonly \b Esc \e Nothing \e selected \e Circle \e selected \e Arrow \e selected
\e wherever - Deselect Circle Deselect Arrow
\par Further key-commands are \b c, which centers the view on the selected Node if it lies in the outer 20% of the Dialogue Area, the \b Cursor \b Keys and the \b Numpad to scroll the dialogue and finally \b Tab to select the next Node (That is, the next node in the editors internal data representation, not the next node on the screen!). Moving the mouse close to the Dialogue Areas border will also scroll the dialogue, and when dragging the mouse with left button pressed, you can select multiple Circles, for example to delete all of them at once. \par 2. A Node with additional code An exclamation mark (!) inside a circle means that the node contains commands other than just a line of text. What commands that may be in detail is explained in the \ref edit "Edit Dialog" description. \anchor indlin \par 3. An indirect Link Whenever a node with indirect links is \ref selcir "selected", they are highlighted in purple. Indirect links are equivalent to a normal link between selected node and the node the indirect link points at, but to avoid arrows criss-crossing over the whole Dialogue Area, it's often better to use an indirect link. The number inside Circles tells how many indirect links they have. \note This feature is deprecated and will be removed soon. Full downwards compatibility will be remained by automatically converting indirect links when loading old dialogues. \par 4. Highlighted Node Nodes below the mousepointer appear in green to give you some feedback what action a click will start at this point. \anchor selcir \par 5. Selected Node Selected Player nodes are drawn orange, NPC nodes red. Furthermore, the \ref inspre "Instant preview" shows their text as well as that of their predecessors and followers. \par 6. Tooltip Whenever a Circle is below the mousepointer, a tooltip with its text appears to make it easier for you to find a certain position in the dialogue. \anchor prenod \par 7. Text of preceding Nodes All the different lines of text that may preceed the \ref selcir "selected circle". The colour of the entries gives some information of the type: Blue text denotes lines of the Player, black text lines of the NPC; the Narrator appears green. Somewhat dimmed lines mean that the Circles are connected by \ref indlin "indirect links". \anchor inspre \par 8. The Instant preview This shall give a first impression of what the Dialogue will look like in the game. Basically it displays the text of the selected circle, together with all preceeding and following text. With this you should be able to judge whether all the combinations of text fit well together. Furthermore, by clicking on a line of text, the attached Circle is selected, meaning you can browse through the whole dialogue. Note that additional code of Nodes won't be taken into account, so in the game, the dialogue might be slightly different. \par 9. Text of selected node Again this is colour-coded: as in the \ref diaare "Dialogue Area", orange text means a Player line, red text a NPC line and green is the Narrator. \par 10. Text following the selected node Text following the selected Node. The colours are the same as for the \ref prenod "preceding nodes". \latexonly \newpage \endlatexonly \subsection sec32 The Edit Dialog
\image latex dlgedit_edit.eps "The Edit dialog" \image html dlgedit_edit.png "The Edit dialog"
\par 1. Edit Circle's Text When you create a new Circle, you should attach some text to it. This is done on this page. Simply type the text into the entry. Player text will be displayed blue, NPC text black and Narrator text in green. You can switch between the three with the \ref radbut "radiobuttons". \anchor edit \par 2. Conditions for the Node On this page, you can specify a condition which then decides whether this line of text will be available in the game or not. In fact you may enter any valid Python code, but the result may be unpredictable; so to be on the safe side, the code you write here should be a single (but not necessarily simple) if statement, like \par \verbatim if condition_1 == 1 and (flag_1 + flag_2) <= 10: \endverbatim \par You may also use elif and else statements, but again the results might be unpredictable, unless you restrict yourself to a single if and else. \anchor variab \par 3. Set and/or change Variables Here you can enter a variety of Python code. In contrast to the Condition code, where your code decides whether text is displayed or not, this code is executed if the line of text is displayed (in case of NPC text) or selected as response (in case of Player text). Use the code you enter here to change quest objects, NPC or Player attributes, etc. See the section about additional \ref page4 "Python code" for a description. \par The green page label tells you at a glance that this Circle contains some variable code, but neither Conditions nor miscellaneous Commands. The Text-page's label will always be black, as text isn't really optional. \par 4. Actions Here are just a few shortcuts that create code as you can enter in the \ref variab "Variables Tab". Currently, only the Loop command works. When activated, the Node will not be marked as used once it appears in the conversation, and thus may occur several times. \anchor radbut \par 5. Assign text to Narrator, NPC or Player Use the Radiobuttons to assign the Circle either to the Player, the Narrator or to a NPC. The Editor tries its best to guess to whom this line of text shall belong, but as long as it can't read your thoughts, you'll have to correct it sometimes. \par 6. Set NPC You can select the NPC who shall speak here. When using default, this will be the NPC this dialogue is assigned to. In case of a conversation between multiple NPC's, you might want to chose somebody else though. Note that only those NPC's are available that are currently in the character.data file in your adonthell-data directory. Use charedit to change this file. \par 7. Set NPC's mood Here you can specify what picture of the selected NPC the player gets to see. This feature needs to be implemented yet. \par 8. Annotation Here is some room for personal notes of all kind. Since a dialogue can get quite complex, you really should add some comments, so that other people as well as you can easier understand what is going on. \latexonly \newpage \endlatexonly \subsection sec33 The Run Dialog
\image latex dlgedit_run.eps "The Run dialog" \image html dlgedit_run.png "The Run dialog"
\par 1. The conversation so far The top part of the Dialogue test window will display the conversation you had so far. As known from the Editor, Player lines are displayed blue, NPC lines black. \par 2. The current NPC line The NPC's reaction to your last speech is displayed in red. If no responses of the player are available, click on this line to continue the conversation. \par 3. Your possible responses Usually, a line of NPC text will be followed by one or more responses, the player can chose from. Simply click on the text you wish to say and the dialogue will continue. \par 4. Restart this conversation Runs the dialogue from the beginning. This will also reload the dialogue in case it has changed on disk. \par 5. Debug this dialogue Opens the debug window if it is not already open. \subsection sec34 The Debug Dialog
\image latex dlgedit_debug.eps "The Debug dialog" \image html dlgedit_debug.png "The Debug dialog"
\par 1. Display local variables This tab shows the current dialogue's local variables, if that dialogue was compiled with debugging enabled and is currently running. Local variables are only available as long as the Run window is open. Further they are reinitialised when restarting the dialogue. \par 2. Display character attributes Here you can browse through all characters (and their attributes) in the character.data file in your adonthell-data directory. Unlike local variables, character attributes remain valid as long as the dialogue editor is running. Changes made to them will survive until the end of the editing session. In a future version of dlgedit, it should be possible to revert the attribute to those of the character.data. \par 3. Display quest attributes This tab shows all quests available in the quest.data file of you adonthell-data directory. The same rules as for the character attributes apply here. \par 4. The debug tree The actual attributes are shown in a tree. Unchanged attributes are displayed black, changed ones in green and deleted ones in red colour. You can change an attributes value by leftclicking on the attribute's name. To delete an attribute, assign a value of zero to it. To add a new attribute, simply click on the parent you want to add the attribute to. \par 5. Run dialogue Click here to run the current dialogue. This opens the Run Dialogue window in case it isn't open already. \htmlonly
<< An Example   Contents   Adding Python Code >>
\endhtmlonly */ /*! \page page4 Adding Python Code From the \ref sec23 "tutorial" you might have seen that each dialogue gets compiled into a python class which then is fed into Adonthell's Python interpreter to execute it step by step. Given the flexibility of Python, it is only sensible to use it to achieve more than simple static dialogues. In brief, Python makes it possible to reflect the gameworld's current state in a dialogue, and also to change that state depending on the player's behaviour throughout the dialogue. As you have learned above, you can enter additional Python code at various places of the dialogue: - into the constructor and destructor of the dialogue class. - directly into the text. This code has to be enclosed in braces {} and should return a string. - as a condition that decides whether a chunk of dialogue is displayed or not, - and finally you can add code that is executed after a piece of dialogue has been displayed. This section tries to give an overview of the possibilities additional Python code offers for the conversation with NPC's. One day there'll be some document discussing the Python scripting abilities of Adonthell in general. \subsection sec41 Embedded Code The dialogue engine allows to embed a function call into a line of text and will insert whatever string this function returns in place of the function. This only works for methods defined in the custom function window (Dialogue->Functions or \b Ctrl+F). It mustn't take any arguments and should return a string. For example, the method \verbatim def hello_world (self): return "Hello world!" \endverbatim can be used in the text "This will print: {hello_world}" to produce "This will print: Hello world!". Of course for this to make sense, such a method should return one of several strings according to the current situation. Note that this code is always evaluated whenever the line of text is displayed, no matter whether it gets selected by the player or not Apart from that, there are the \$name and \$fm{text_a/text_b} macros. \$name will be replaced with the player's name at runtime, whereas \$fm{/} will cause text_a to be displayed if the player is female or text_b in case the player is male. \subsection sec42 Local Variables For more advanced dialogues it might be necessary to define local variables. They belong to the dialogue class and are addressed as self.variable. Local variables are only accessible from within the dialogue itself and thus are only available as long as the dialogue is running. They are freed at the end of the dialogue. What for are they then? Basically they can be used to track the player's path through the dialogue. Information he may or may not have received could enable or disable additional choices at a later point in the same dialogue, but how does the dialogue engine learn about that. The solution is to use local variables. So when the player receives the special information you'd add the following variable code \verbatim self.special_info_gained = 1 \endverbatim and later on, you base the special choice on following condition: \verbatim if self.special_info_gained == 1: \endverbatim Note that you need not define a variable before you use it. Undefined variables are assumed to have the value 0, so in above example you needn't do anything about the case where the player doesn't get that special information. In many situations, it will be necessary that information survives an individual dialogue. That is where persistent variables come into play: \subsection sec43 Persistent Variables The state of the gameworld, of each NPC and the player are also accessible from a dialogue script. The full details should be discussed in a general scripting doc, but unless this has happened, here are the bits relevant for the dialogue engine. The state of the gameworld is conserved in the various quests. All quests are stored in the global data::quests dictionary. To retrieve a certain quest you'd write \verbatim myquest = adonthell.gamedata_get_quest("quest_name") \endverbatim Particular attributes of myquest are retrieved/set via \verbatim myattribute = myquest.get_val ("attribute_name") myquest.set_val ("attribute_name", ) \endverbatim To save you some writing, dlgedit recognises the following shortcuts: \verbatim myattribute = quest_name.attribute_name quest_name.attribute_name = \endverbatim Characters are treated in the same way. They are retrieved with adonthell.gamedata_get_character() and their attributes are also changed via the get_val()/set_val() functions. Even the shortcuts are the same. Instead of quest_name you'll have to give the character's name, e.g. \verbatim # character names containing blanks work too! Bjarn Fingolson.attribute_name = \endverbatim As an addition, the member variable the_player always points to the player character and the_npc to the npc the dialogue is assigned to. Of course you can do more than just read or change character and quest attributes. For example, you could change an NPC's schedule, or assign a different dialogue: \verbatim # you can access any character you want ... bjarn = gamedata_get_character ("Bjarn Fingolson") # .. and completely change his behaviour bjarn.set_schedule ("new_schedule") bjarn.set_dialogue ("new_dialogue") \endverbatim In fact, you have access to almost the complete Adonthell API, so there is much more you can influence than just the characters. Take a look at the Developer Documentation for the numerous functions you have at your command. \htmlonly
<< The Dialogue Editor   Contents   A Guideline for writing Dialogues >>
\endhtmlonly */ /*! \page page5 A Guideline for writing Dialogues After taking a look at the technical side, it's about time to give some hints on the actual dialogue creation. Although it might take a little while to get used to the editor itself, the real difficulty lies in the writing of high-quality dialogues. What follows are mainly personal experiences not the ultimate wisdom, but for the sake of consistency you should keep these points in mind when doing dialogues for Adonthell. You shouldn't consider them as strict rules, though. If you have a good reason to break them here and there, feel free to do so. \par Describe the NPC At the beginning of the dialogue, a short description of the NPC's mood or other features that would be obvious to their counterpart but cannot be portrayed by the game engine can give the player an idea how to deal with that character. It also enables us to give each NPC an individual touch thus adding more flavour to the game world. \par Leave the thinking to the player All the information contained in a dialogue should be kept in the NPC's part, whereas the player's part should contain as little hints as possible, and no information the person in front of the screen cannot deduce from previous dialogue(s). After all, part of the fun of playing the game comes from making connections between information given by various NPC's. Therefore, a player's answer may reveal the correct result of the thinking process, but it shouldn't give any (lengthy) explanations. \par Avoid single choices A single choice is no choice and rather boring. The reason for writing dlgedit is exactly this point. Adonthell is no self-running demo, but an interactive game, and interactivity requires that the player can choose from different alternatives. That doesn't mean that you can't have lengthy monologues of the NPC. However, if there is only one choice for the player, you might as well leave it away and let the NPC go on without interruption. \par Keep the player's text neutral Bear in mind that different players will have different feelings in the same situation. And unless you don't give the player the chance to chose an answer that comes close to his or her own personality, you should try to leave (strong) feelings away. Of course, depending on the underlying role playing system, you might present players with choices according to their alignment or behaviour in previous situations. \par Keep the text short Since there is only limited space in the game's dialogue window, you should limit the amount of text displayed a time. NPC text should fit entirely into the window, meaning it should not exceed 4 lines in the \ref sec32 "edit dialog". Longer text can be distributed over several nodes. Player text should take a single line, 2 at most, so that several choices fit into the dialogue window. \htmlonly
<< Adding Python Code   Contents  
\endhtmlonly */ adonthell-0.3.5/doc/dlgedit/dlgedit.sty0000644000076500000240000000451107506161216014753 00000000000000% % $Id: dlgedit.sty,v 1.4 2002/06/25 21:37:18 ksterker Exp $ % % Copyright (C) 1997-2001 by Dimitri van Heesch. % % Permission to use, copy, modify, and distribute this software and its % documentation under the terms of the GNU General Public License is hereby % granted. No representations are made about the suitability of this software % for any purpose. It is provided "as is" without express or implied warranty. % See the GNU General Public License for more details. % % Documents produced by Doxygen are derivative works derived from the % input used in their production; they are not affected by this license. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{dlgedit} \RequirePackage{calc} \RequirePackage{array} \pagestyle{fancy} \addtolength{\headwidth}{\marginparsep} \addtolength{\headwidth}{\marginparwidth} \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} \lhead[\fancyplain{}{\bfseries\thepage}] {\fancyplain{}{\bfseries\rightmark}} \rhead[\fancyplain{}{\bfseries\leftmark}] {\fancyplain{}{\bfseries\thepage}} \lfoot[]{\fancyplain{}{\bfseries\scriptsize Dlgedit v0.8 User Manual}} \rfoot[\fancyplain{}{\bfseries\scriptsize Adonthell Designer's Reference}]{} \cfoot{} \newenvironment{CompactList} {\begin{list}{}{ \setlength{\leftmargin}{0.5cm} \setlength{\itemsep}{0pt} \setlength{\parsep}{0pt} \setlength{\topsep}{0pt} \renewcommand{\makelabel}{}}} {\end{list}} \newenvironment{CompactItemize} { \begin{itemize} \setlength{\itemsep}{-4pt} \setlength{\parsep}{0pt} \setlength{\topsep}{0pt} \setlength{\partopsep}{0pt} } {\end{itemize}} \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} \newlength{\tmplength} \newenvironment{TabularC}[1] { \setlength{\arrayrulewidth}{0.1pt} \setlength{\tmplength} {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} \par\begin{tabular*}{\linewidth} {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} } {\end{tabular*}\par} \newcommand{\entrylabel}[1]{ {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\\}}} \newenvironment{Desc} {\begin{list}{} { \settowidth{\labelwidth}{40pt} \setlength{\leftmargin}{\labelwidth} \setlength{\parsep}{0pt} \setlength{\itemsep}{-4pt} \renewcommand{\makelabel}{\entrylabel} } } {\end{list}} \setlength{\parindent}{0cm} \setlength{\parskip}{0.2cm} \sloppy adonthell-0.3.5/doc/dlgedit/dlgedit.tex0000644000076500000240000000274707506161216014745 00000000000000\documentclass[11pt,a4paper,ps2pdf,twoside]{article} \usepackage{a4wide} \usepackage{makeidx} \usepackage{fancyhdr} \usepackage{graphicx} \usepackage{float} \usepackage{dlgedit} \usepackage{alltt} \usepackage{times} \usepackage[ps2pdf, pagebackref=true, colorlinks=true, linkcolor=blue, pdftitle={$projectname v$projectnumber}, pdfauthor={Kai Sterker}, bookmarksopen=True, pdfsubject={Adonthell Designer's Reference} ]{hyperref} \makeindex \setcounter{tocdepth}{2} \setlength{\footrulewidth}{0.4pt} \begin{document} % -- Title \title{The Adonthell Dialogue Editor\\{}$projectname $projectnumber} \author{Kai Sterker} \date{$date} \maketitle % -- Copyright \pagenumbering{roman} \newpage \pagestyle{empty} \begin{center} {\sc The Adonthell Dialogue Editor} \\ \vspace*{\stretch{2}} This document is part of the Adonthell Designer's Documentation\\ {\sf http://adonthell.linuxgames.com}\\ \vspace{1em} \copyright 2000/2001/2002 Kai Sterker\\ {\sf kaisterker@linuxgames.com}\\ \vspace{1em} Created with Doxygen $doxygenversion\\ {\sf http://www.doxygen.org}\\ Typeset with \LaTeX \end{center} \clearemptydoublepage \tableofcontents \clearemptydoublepage \pagenumbering{arabic} % \chapter{Dlgedit Page Index} % \input{pages} % \chapter{Dlgedit Page Documentation} \pagestyle{fancy} \input{page1} \newpage \input{page2} \newpage \input{page3} \newpage \input{page4} \newpage \input{page5} \printindex \end{document} adonthell-0.3.5/doc/dlgedit/dlgedit_debug.eps0000644000076500000240000022023207362407534016077 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner %%Title: /home/kai/adonthell/adonthell-src/doc/dlgedit/dlgedit_debug.eps %%CreationDate: Sun Oct 14 23:52:09 2001 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 0 0 293 252 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 0.000028 0.000028 translate % Translate to begin of first scanline 0.000000 251.280000 translate 292.320000 -251.280000 scale % Image geometry 406 349 8 % Transformation matrix [ 406 0 0 349 0 0 ] % Strings to hold RGB-samples per scanline /rstr 406 string def /gstr 406 string def /bstr 406 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 72837 ASCII Bytes colorimage JcC<$JcG'9J,~> JcC<$JcG'9J,~> JcC<$JcG'9J,~> !WU,i@Y&!>@ddb,`W(G~> !WU#fAV"EDAaa12_Z,,~> !WU,iRt7&[S*ugI`W(G~> !<7UZJRX1>m:$(qJ,~> !<7U]JRsCDm:?:tJ,~> !<7V>JX_4[m@++UJ,~> !<<%-JcC<$JcG<@s'c!.J,~> !<<%0JcC<$JcG<@s()31J,~> !<<%fJcC<$JcG<@s-j#gJ,~> "TMq?s8RYoJ]r\ho?@5D!<7Q~> "TN%Es8RYqJ^/hlo?RAI!<7Q~> !rnaZJcC<$JcG9?s-j#gJ,~> "92h>s+/CFb^n"/bl;,Ps*t~> "92qDs+/IHc@O:3cMqGUs*t~> !rnaZJcC<$JcG9?s-j#gJ,~> "92h>s+/CFb`L'BS,CM(S,UY3@K?FY~> "92qDs+/IHcB-?FRJbA(RJtM3AH;a\~> !rnaZJcC<$O8nptr;ZK7rr<"f!<7Q~> "92h>s0g,Os8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs7jh3RfNKe bQ+.,!!WDHb[P&]J,~> "92qDs0g2Qs8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds7jn5R/m9c c2a:,!!WDJc=LSeJ,~> !rnaZJcC<$O8nptr;Qc@pAk3ms-j#gJ,~> "92h>s0^&N@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@en7JS,(8/ S,`H2!Lj)dS,Zq%!<:9e@Uf@f~> "92qDs0^,PAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAbjXORJG,/ RK*62!LWrbRK$h&!<:?iAS(ml~> !rnaZ[/U,qrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfq>^K=q>UH= r;QfA!;k"?RfEHfs8SPgs*t~> "92h>s8L7@s7sk=s5hK)!9VK*s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs7X\:S,(8/S,`H2!Lj)eS,Qk$!<:9e@Uf@f~> "92qDs8L=B!;Xn?!9MN+!9VQ,s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds7Xb !rnaZrVufrq>UEpjo>>\JcC<$^An5Wq>UH=r;QfA!;t(?RfEHfs8SPgs*t~> "92h>s8C1?s81"?s7X\7!;+M8!9ME)@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@e\+HS,(8/S,`H2!Lj)c@L(*Ws3/\r@fLr~> "92qDs8C7A!;k%A!;=_9!;+S:!9MK+AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAbXLMRJG,/RK*62!LWraAI$K\s3Ao$AcI8~> !rnaZr;Z]qqu6WrpAb$jo`+pkjo5=Mrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfp](9;q>UH=r;QfA!;`/crrE&us-j#gJ,~> "92h>s8:+>s8C.As7OV9!<::C!;4S9!9D?(s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs7jh "92qDs8:1@!<(1C!;4Y;!<:@E!;4Y;!9DE*s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds7jn>RJG,/RK*62!LWrecMhDTc3=:KcH^!4s*t~> !rnaZqu?TprVlitp&G$ls8W*!p&G$lJcC<$^An5Wq>UH=r;QfA!<3#tS,`Kg!<3#uRfNJ=~> "92h>s81%=s8U:Cs7FP8!<14B!<14@!<(.A!!:@E!<(.A!<::C!<14?!;Ob<@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@en7JS,(8/S,`H2".K;7bl2)NbQ\(IbfjO* s*t~> "92qDs81+?!<:=E!;+S:!<1:D!<1:B!<(4C!!:FG!<(4C!<:@E!<1:A!;Oh>AcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAbjXORJG,/RK*62".9/7cMhDSc3=:KcH^!4 s*t~> !rnaZqZ$Kos8N'!o`+pkrr;uurr;osrVult!ri6#rVults8W*!rr;lrq#:>`rr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfq>^K=q>UH=r;QlC!<<)uS,WEf!<3#uRfNJ=~> "92h>s8't=rrL@Do?@47rlkBBs31KCs31KCrlk?A!mCWErlkBBs31KCs31KCs31KCqof'?rlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBp< "92qDs8(%?!!1@Fo?R@9rm(NDs3CWEs3CWErm(KC!mUcGrm(NDs3CWEs3CWEs3CWEqp#3ArltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDp !rnaZq>^Eo!WN/ks8N)us8N*!s8N*!s8N)us8E!"rr<&us8N*!s8N*!s8N*!s8N(Ms+14!s8U== rrC:@rrUCEs8JMdrr<&us8SPgs*t~> "92h>s7sk@s31NCo?@47rlkBBs31KCs31KCrlkBBs31KCrlkBBs31KCs31KCs31KCqTJqKrlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@OpWNW,pAb3nrQG;3!<-I*bQ\(I bfjO*s*t~> "92qDs7sqB!6tQEo?R@9rm(NDs3CWEs3CWErm(NDs3CWErm(NDs3CWEs3CWEs3CWEqT](PrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTpW`c,pAb3nrQYG3!<-R-c3=:K cH^!4s*t~> !rnaZq#:Errr<&js8N)us8N*!s8N*!s8N)us8N*!s8N)us8N*!s8N*!s8N*!s8N)qrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAP_rrC:;!;uitbQ.X3r;Q`srr<"f !<7Q~> "92h>s8'q?s31HAoZ[=8rlkBBs31??rlkBBs31KCrlkBBs31KCs31KCs31KCq9/j=rlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBpric.!;W)b!<<#A".K:"@f+@R!<:9e @Uf@f~> "92qDs8("A!7(NCoZmI:rm(NDs3CKArm(NDs3CWErm(NDs3CWEs3CWEs3CWEq9B!?rltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDps&o.!;W#`!<<#C".9.#Ac'aW!<:?i AS(ml~> !rnaZq>UHqs8;ris8N)us8N*!s8)fqs8N*!s8N)us8N*!s8N*!s8N*!s8N(Ms+14!rrL=Dq9/g= r;QlC!1TJTrr<&us8SPgs*t~> "92h>s81"?s8L7@s7OV9!<14B!<::C!;aq>!<::C!<14B!<::C!<::C!!(7B!;Ob<@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@en4JS+cm_s8C.AS+cmds3/\r@fLr~> "92qDs81(A!<1:B!;4Y;!<1:D!<:@E!;b"@!<:@E!<1:D!<:@E!<:@E!!(=D!;Oh>AcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAbjUORJ-[]s8C4CRJ-[bs3Ao$AcI8~> !rnaZqYpNqrr;osp&G$lrr;uus8W*!qZ$Qqs8W*!rr;uus8W*!s8W*!!<<#uq#:>`rr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfq>UH=pAk-k!6k0;rr<"f!<7Q~> "92h>s8:(@s8:+>s7X\:!<::C!<14B!<11B!<14B!<::C!<14B!!(7B!<14B!!:@E!;jt?s8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs7OV0s8:+7s8U=C@K?FY~> "92qDs8:.B!;t.@!;=_ !rnaZqu6Wrr;Z]qpAb-ms8W*!rr;uurr2rurr;uus8W*!rr;uu!<<#urr;uu!ri6#JcC<$[K$8r !<7Q~> "92h>s8C.As8't!<(.>!;t(@!!:@E!;k"?!;an>@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@bK!*@K?FY~> "92qDs8C4C!;b">!;Fe:!;t.@!<(4@!;t.B!!:FG!;k(A!;at@AcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTA_GB/AH;a\~> !rnaZr;Q`sqZ$Kop](-kr;Z]qrVucqr;Zcs!ri6#qu?ZrqYpPbrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfg&M)A!<7Q~> "92h>s8L4Bs7jh:s4,?n!<::C!;Xh=s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs4Y]s@K?FY~> "92qDs8L:D!;Ok !rnaZrVlitq#C9mec5XLs8W*!JcC<$[K$8r!<7Q~> "92h>s23(Z!;F\;@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@f4I. S,Zpts*t~> "92qDs23.\!;Fb=AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAc0j3 RK$gus*t~> !rnaZ_Z0Q7p\t5_rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfr;Y^! s-j#gJ,~> "92h>s+/CFba$EOS)7ZTs*t~> "92qDs+/IHcBZ]SRGVQUs*t~> !rnaZJcC<$PlLa,hjXWGJ,~> "92h>s+/CFba-KQS,ZsVbl;,Ps*t~> "92qDs+/IHcBccURK$jWcMqGUs*t~> !rnaZJcC<$Q2gm.s-r!Is-j#gJ,~> "92h>s+/CFba6QRRfHpTbl;,Ps*t~> "92qDs+/IHcBliVR/ggUcMqGUs*t~> !rnaZJcC<$QN.!/!1VmGs-j#gJ,~> "92h>s+-YjS!TWE@c#?/@K?FY~> "92qDs+-ShR?s?AA_t`4AH;a\~> "94j[s+/CFba6QRS)42FRfNJ=~> !<7UZJRXjQgs#e-!<7Q~> !<7U]JRt'Wgs5q2!<7Q~> !<7V>JX_mnh#IDD!<7Q~> "92h>e]%Q>eUc8Rec0(Ys*t~> "92qDf#@Z?eq)DTf)K:]s*t~> "94j[e]%Q>eUc8Rec2*=s*t~> "92h>s2ELg!.i[OeZ[O'@K?FY~> "92qDs2EOh!.i^Pf!![)AH;a\~> "94j[s2ELg!.i[OeZ[O'RfNJ=~> "92h>s2NRiPQ8>q!7fKsJ^pXJs'c!.J,~> "92qDs2NUjPlSGr!7oQtJ_$^Ls()31J,~> "94j[s2NRiPQ8>q!7fKsJ^pXJs-j#gJ,~> "92h>s2NRiPQ8>7!!(Ec!!%T#Vq(fV!<7Q~> "92qDs2NUjPlSG5!!(E`!!%T$Vq1lZ!<7Q~> "94j[s2NRiPQ8>7!!(Ec!!%T#Vq(g:!<7Q~> "92h>s2NRiPQ8A8!K$m*`;thrJ^p[Ks'c!.J,~> "92qDs2NUjPlSJ6!Jga(_?#GmJ_$aMs()31J,~> "94j[s2NRiPQ8A8!K$m*`;thrJ^p[Ks-j#gJ,~> "92h>s2NRiPQ8A8!K$m*`;thrJ^p[Ks'c!.J,~> "92qDs2NUjPlSJ6!Jga(_?#GmJ_$aMs()31J,~> "94j[s2NRiPQ8A8!K$m*`;thrJ^p[Ks-j#gJ,~> "92h>s2NRiPQ8A8!K$m*`;thrJ^p[Ks'c!.J,~> "92qDs2NUjPlSJ6!Jga(_?#GmJ_$aMs()31J,~> "94j[s2NRiPQ8A8!K$m*`;thrJ^p[Ks-j#gJ,~> "92h>s2NRiPQ8A8!K$m*`;thrJ^p[Ks'c!.J,~> "92qDs2NUjPlSJ6!Jga(_?#GmJ_$aMs()31J,~> "94j[s2NRiPQ8A8!K$m*`;thrJ^p[Ks-j#gJ,~> "92h>s2NRiPQ8A8!K$m*`;thrJ^p[Ks'c!.J,~> "92qDs2NUjPlSJ6!Jga(_?#GmJ_$aMs()31J,~> "94j[s2NRiPQ8A8!K$m*`;thrJ^p[Ks-j#gJ,~> "92h>s81@E!<(FJ!;P(E!8uB.PQ8A8!K$m*`;thrJ^p[Ks'c!.J,~> "92qDs81CF!<(IK!;P+F!8uE/PlSJ6!Jga(_?#GmJ_$aMs()31J,~> "94j[s81@E!<(FJ!;P(E!8uB.PQ8A8!K$m*`;thrJ^p[Ks-j#gJ,~> "92h>s81=H!<(FJ!;+eA!8uB.PQ:R!r;ci9!!)#t!!)?(!K$mR`Vff$`;fo3`;thrJ^p[Ks'c!. J,~> "92qDs81@I!<(IK!;+hB!8uE/PlUZtr;ci6!!)#q!!)?%!JgaP_YjK!_>jT0_?#GmJ_$aMs()31 J,~> "94j[s81=H!<(FJ!;+eA!8uB.PQ:R!r;ci9!!)#t!!)?(!K$mR`Vff$`;fo3`;thrJ^p[Ks-j#g J,~> "92h>s81=H!;t@L!7fU"rmguJrm^uKrmguJrRLoJ"P!M&eH#U!!!*#KrW)iG!L*T]`;fo:`<-+Z `;no:!!)?(!K$mS`;fo:`;fo'`;fo3`;thrJ^p[Ks'c!.J,~> "92qDs81@I!;tCM!7o^$rmq&Krmh&Lrmq&KrRUuK"P*S(ec>^#!!*#LrW)iH!L3Z^_>jT7_?0eT _>rT4!!)?%!JgaQ_>jT7_>jT$_>jT0_?#GmJ_$aMs()31J,~> "94j[s81=H!;t@L!7fU"rmguJrm^uKrmguJrRLoJ"P!M&eH#U!!!*#KrW)iG!L*T]`;fo:`<-+Z `;no:!!)?(!K$mS`;fo:`;fo'`;fo3`;thrJ^p[Ks-j#gJ,~> "92h>s81=H!;t@O!7fU"e^X[!eHQ$(eH".M!<1LU!7fU"e^XX"e^X[!eH5g%eH#U!!!)rI!L*T^ `;fo6`<-+Z!!)u:rW)r:"9?C@`PqfVrPea9s2Fs;s2Fs;rl#'A`;mlr!!)o8!K$mT`;fo8`<-+Z `;onV!!*#;rW)o9rrE) "92qDs81@I!;tCP!7o^$f%'j#ecl-*ec=:P!<1OV!7o^$f%'g$f%'j#ecPp'ec>^#!!)rJ!L3Z_ _>jT3_?0eT!!)u7rW)r7"9?:=_SZ9PrPJO6s2+a8s2+a8rk\j>_>qHi!!)o5!JgaR_>jT5_?0eT _>sSP!!*#8rW)o6rrE)9rW)u8rrDr5!Jg`,eu.+!AH;a\~> "94j[s81=H!;t@O!7fU"e^X[!eHQ$(eH".M!<1LU!7fU"e^XX"e^X[!eH5g%eH#U!!!)rI!L*T^ `;fo6`<-+Z!!)u:rW)r:"9?C@`PqfVrPea9s2Fs;s2Fs;rl#'A`;mlr!!)o8!K$mT`;fo8`<-+Z `;onV!!*#;rW)o9rrE) "92h>s8LOWg["\8lKd3TeH".M!;k:N!7fU"e^X[!eH5g%eH#U!!s$m%!<1LN!7fU"rm^uKr7(h4 !;se9!;XV6!<:"?!6)nWrl#*B`PhfW`PhiV`<-+Z`;onV"ouW]!6)nWrl#9G`PhfW`QY@Vs6/Id rl"nq!;se9!;j_;!6)nWrl"s>`PhiV`=Dsf`;mlr!6)nW`Phhr`;okU#+s?-s7kd/J^pgOs'c!. J,~> "92qDs8LRXcF^0VT>/b(ec=:P!;k=O!7o^$f%'j#ecPp'ec>^#!s$p'!<1OO!7o^$rmh&Lr71n6 !;s\6!;XM3!<9nsSP"ouNW!5cSQrk]'D_SQ9Q_S:`1YbAG; rk\\l!;s\6!;jV8!5cSQrk\a;_SQqHi!5cSQ_SQ;i_>sPO#-+PkUo(N?J_$mQs()31 J,~> "94j[s8LOW[UpT]&8&B$eH".M!;k:N!7fU"e^X[!eH5g%eH#U!!s$m%!<1LN!7fU"rm^uKr7(h4 !;se9!;XV6!<:"?!6)nWrl#*B`PhfW`PhiV`<-+Z`;onV"ouW]!6)nWrl#9G`PhfW`Mb+&!"<55 rl"nq!;se9!;j_;!6)nWrl"s>`PhiV`=Dsf`;mlr!6)nW`Phhr`;okU#'irP!$,UUJ^pgOs-j#g J,~> #6/.As4,`hqYp`ef)X@O!<1OI!<:RO!7fU"rm_)Ne^X[!eH5g%eH#U!!W^d$quHZF!L*T^`;fo6 `;fo;`;fo8`<-+Z`;obR!s$l,Uc#!;se9!;j_;!6)nWrl"s> `PhiV`<-+Z`;ohT!s$ $3+RJs45])S_rB)i^#!W^g&quHZG!L3Z_ _>jT3_>jT8_>jT5_?0eT_>sGL!s$3T!;jV8!5cSQrk\g=_SQ;hPQ'VKj5T$jWkcK-!;s\6!;jV8 !5cSQrk\a;_SQsMN!s$3T!;s\@_6pB(iS`PJQ)Du[eudO'AH;a\~> #QL9_s4,=i!;ri$!)Ul>e^X[!eboLJeH5g%eH#U!!s$m%!<1LN!7fU"rm_&Me^aQtr7(h4!;se9 !;XS6!<0q;!;j_;!6)nWqS`O:`PhiS`<-+Z`;onV"TZN\!50lZWW`Ap]u>j/r5AX9qo&X;`PhiV `<-+Z`;onV!s$ "oi%@s4@)Ars/?Le^XZMeH#U!"p!3(!7fU"rm_)Ne^X[!eH5g%eH#U!!s$m%!;P(FPQ:X#!!)i6 !!*#;!!*#;r;cl:!!)u:r;cl:!!)o8!W^3YquHc9!=8,grr`#/M?*Rn!!*#;"ouW]!6)nWrl"p= `Pq`Trl+m;rl"j;rl+m;s2>#Zl1k8ZpsalFY1 #QJ@Hs4!U,RJd*bTEh>@f%'iPec>^#"p!6*!7o^$rmh/Of%'j#ecPp'ec>^#!s$p'!;P+GPlUa! !!)i3!!*#8!!*#8r;cl7!!)u7r;cl7!!)o5!W^*SquHc6!_SQ;i _>sSP!W^*SquH`5rrE&8!!*#8rrE)9!l:hqqYpW(PL+m3Y1EVa!<7Q~> #QL9_s3)Pb!;uls!!aSge^XZMeH#U!"p!3(!7fU"rm_)Ne^X[!eH5g%eH#U!!s$m%!;P(FPQ:X# !!)i6!!*#;!!*#;r;cl:!!)u:r;cl:!!)o8!W^3YquHc9! "TMq?s6fU\#4C$l!7fU"rm_2Qe^XZMeH#U!&HLA3!7fU"!7fU"e^XX"e^X[!eGoUIeH(m7r5AX9 q8E=6rl"s>`PhiV`<-+Z`;onV!!*#;!s$ $3+RJs/D0GQeh<5s8SPnRBG,l!7o^$rmh8Rf%'iPec>^#&HLD5!7o^$!7o^$f%'g$f%'j#ec5^J ecD$9r5&F6q8*+3rk\a;_SQsSP!!*#8!s$3T!;jV8!5cSQqn`Dc^]4;k!:'R`"ON9s L]I@i!!)u7"TZC>_SQsAJ!s$3T!;s\>!5c"=iSi_Pl2CV_LnTCNY1EVa!<7Q~> "TOs\s%r[p!NP/Ys8E!&:t=(re^X[!eHQ$(eH".M!<1L\!7fU"e^XX"e^XZMeGoU"eH#U!!!)rI !L*T^`;fo6`;fo;`<-+Z`;onV!s$!6)nWqo&X;`PhiS`<%2_s8K"u`r>u@MuZ/$ !;se9!<'k?!6"rW`;onV!s$ "92h>p%87cgXQ<'ec#ONeH","rmguJrRLoJ!S%2Lec,UMeH#U!rW)iG!L*T]`;fo:`<-+Z`;onV !s$!6)nWrl"j;rl"s>`PhiV` $3+RJjGJt[PEal%rs"jWQB]VE!<1RK!!CdPec>^#rW)oJrr<)N!<1RL!!1XNrmq&Kqpke5!;jV5 !<'b:!5cSQrk\a;_SQsSP!!*#8!s$3T!<0h>!5cSQ_SQqHi!5cSQ_SQ;i_>q9DU:-\bS"o0GrrRt1\:N57 f)K:]s*t~> "94j[d/3kDWrE%s!!9UZ!<1OJ!!CaOeH#U!rW)oIrr<)M!<1OK!!1UMrmguJqpb_3!;j_8!<'k= !6)nWrl"s>`PhiV`<-+Z`;onV!!*#;!s$ "92h>p@S@blfck!!:JA!6"s:`Voi>`;mlrrW)r:rrE)'<`W#o=`;onVrW)o9rrE&;rrE) $3+RJ\VQ-%Nf`#ps8S8aP)us4ec5^sSPrr<):!<0k7!<'e7!<0k8!<9q9!"ZrL SXl7>R?sT/s8V/7Kq!YEYL`_b!<7Q~> "94j[Er5n;WrE%s!!$WpeGoU;eH(m7qSiC5rl"j;rl"j;rl+j:"2t8Z!<'n9!!C1?`PqfVrl+m; s2Fs;s2=tFq>^Mqrr;uu!@@gC`Vfc;`;onVrr<)=!<0t:!<'n:!<0t;!<:% "oi%@qYgEerrDl]eGoUKeGoU;eH(m7b/FATpAY6nr8@Y-`;oZ,rr`5tqs]0eYLWY^!<7Q~> $3+RJQ%t-NMN$6fs8S,ZMu]11ec5^Lec5^r gZJP9jHG:NLk4-\f)K:]s*t~> "94j[,5_E@WrE%s!!",-eGoUKeGoU;eH(m7b/F?"qZ$m\irB%;!!3Q/f>R_/r;ckt#KHfD`Z5*` *J)bEec2*=s*t~> #QJ7Br;?NmrqQKnrp/,6!:A;;PQ8kF!<2`m"TA8qq>f-dp\tBqr;6?dJ^psSs'c!.J,~> $3+RJKnY8:LPXU^s8RuVL]E4rf)>[:ecD$9b/+79Ll.)hN!SPFs5]AtKS'9V_Z#c#PEPkD"P8?\ K7\[*YL`_b!<7Q~> "TOs\!Wr<#!36%uquH'5rW)?9!L*T,`VKQ?`rH(Y* #le@Cq"t!erVc]prr)rspXI^oPQ8kF!qcHirr2lrs82urqVM;)`;oZ,rr`5rq $3+RJObAFBL5+=Zs8IcSL6C';!L3Z-_?#[OreCiGjT#8@KnY24G6$73!13\F$B3ZjfCAn@aFf)# J_%$Us()31J,~> "94j[,lRlF!!'%us8;ot+OnpBPQ8kF!$2"<$6."bs2G*A"9]89f>R_/r;chs#3,[_NW]P/J^psS s-j#gJ,~> $3+IDoD8@]r;?QnrrE#squH!2eH(m7b/FD?qu6L#rr<#tqtp6cpne&C`;nors8W)ur<<3#s8;ZE J^psSs'c!.J,~> $3+RJ[Y'6dKn\+Ws8RiRK`J4(ecD$9b/+[`KS>,7jT#8$P(\I>JS5&8_>pG3MZ8J "ok']Fp%sI!W]8"s8R_sq>^^[a8c0]#$ZZ/YLWZB !<7Q~> $3+IDo_J=ZqYU9ks8Dfpg=4XRPQ8kF#28qNrr<#trqZfoq"XTl!8#0ig\q*OrVl]urr<#spZ-nU YLWY^!<7Q~> $3+RJj+;l8K7qhTs8@TNb1+uCPlStD&'' "ok']d09gS"9>J$s8N0#"9>p\eH(m7b/FRo" "oi%@s6BCYq#LBms8MipldOAbPQ8hE!U0CZrrN&prV?Wijba&h` $3+RJs.FpoJqDSQs8IWNU=7ZoPlSqC!M-7irrL0ArMfsLRtq'q_?Z`gf)MnSXQ0<[!P"eReumU( AH;a\~> "TOs\s&K"%!3H2"rWE4$e("J`!6N1\;Ha#!!0I+]!shh_!7o*k:'.Hqr`9*?rr3"A=+So)ec2*= s*t~> $3+IDs46c8q"Xgerr`)lo@DC@!L*T+`<"*Qq#:Hcabg)L`<+0RrqZQpo%&BBY1 $3+RJs3lpWJ:Z8Ms8RWNN768,!L3Z,_?%QWq#:GP_h\ $3-Kas3;kq"pV1.s8N9(,0nZf!L*T+` $3+IDs4,]bp@nI`quZWXf$Msgs8VrmquZclpsT0Cq"4O`s82rlo([e9Y5\S(@Uf@f~> $3+RJs45YlIt,!-eH18oe'Q[errMlRqU>Q*o["4Vh!oR[%FrrW74AcI8~> $3-Kas4,Cp#RGSPX9&Z-cHt+_rrM`5r2fq$!QjiZrrMUpqlBi)@.8aIY5\S(S"'G.~> "92h>s8LOQg?.u"o&eYieHXahnFZ/1g!8+Pg?.u"o&eYWeZ@:'!+KF;J,~> "92qDs8LRRaf1/GMQ+^]ecs6oLjOrUaj/HAaf:;LMQ+^Keu[F)!+faAJ,~> "94j[s8LOQ\83K!->^2UeHWO"-k%M?\B`V/[qm;q,]'uAeZ@:'!1TJXJ,~> "TMq?s4)[bJWtqSrmgRs"I&mq@fLr~> "TN%Es42adJX)"UrmpXr"I/suAcI8~> "TOs\s4)[bJWtqSrmgRs"I&nUS,\!~> "oi%@s4*?b!.b-,!!*&ueGtL!!!WCe!+KF;J,~> "oi.Fs43Hd!.b-,!!*&uec:Nu!!WCf!+faAJ,~> "ok']s4*?b!.b-,!!*&ueGtL!!!WCe!1TJXJ,~> #6/.As4*>6q>UEpJcC<$PlCd7s8LOLM?*Rn!<;r8"ojee@Uf@f~> #6/7Gs43G8q>UEpJcC<$PlCd8s8LRML]I@i!<;r5"ojhfAS(ml~> #610^s4*>6q>UEpJcC<$PlCd7s8LOLM?*Rn!<;r8"ojeeS"'G.~> #6/.As4*>6q>UEpJcC<$PlCd7s8LOLM?*Uo!rpdNr5Aj>PQ50%s*t~> #6/7Gs43G8q>UEpJcC<$PlCd8s8LRML]ICj!rpgOr5&X;PlPB,s*t~> #610^s4*>6q>UEpJcC<$PlCd7s8LOLM?*Uo!rpdNr5Aj>PQ72Bs*t~> #6/.As4*>6q>UEpJcC<$PlCd7s8LOLM?*Uo!rpdNr5Aj>PQ50%s*t~> #6/7Gs43G8q>UEpJcC<$PlCd8s8LRML]ICj!rpgOr5&X;PlPB,s*t~> #610^s4*>6q>UEpJcC<$PlCd7s8LOLM?*Uo!rpdNr5Aj>PQ72Bs*t~> #6/.As4*>6q>UEpJcC<$PlCd7s8LOLM?*Xp"TR$&PQ:[$"ojee@Uf@f~> #6/7Gs43G8q>UEpJcC<$PlCd8s8LRML]IFk"TR'(PlUd""ojhfAS(ml~> #610^s4*>6q>UEpJcC<$PlCd7s8LOLM?*Xp"TR$&PQ:[$"ojeeS"'G.~> #6/.As4*>6rVuWmqu6Wrk5PD]qu6Wrr;Q`so`"mkq#: #6/7Gs43G8rVuWmqu6YPk5PF;qu6YPr;QbQo`"oIq#:>Mqu6YPJcC<$kPkS6s8LRML]IFk"TR'( PlUd""ojhfAS(ml~> #610^s4*>6rVuWmqu6Wrk5PD]qu6Wrr;Q`so`"mkq#: #6/.As4*>6rVlitqYpNqqu6Wrk5PD]qu6Wrr;Q`slMghaqu6WrJcC<$kPkS5s8LOOM?(W7s8CIK PQ:^%"ojee@Uf@f~> #6/7Gs43G8rVlitqYpNqqu6YPk5PF;qu6YPr;QbQlMgj?qu6YPJcC<$kPkS6s8LRPL]G #610^s4*>6rVlitqYpNqqu6Wrk5PD]qu6Wrr;Q`slMghaqu6WrJcC<$kPkS5s8LOOM?(W7s8CIK PQ:^%"ojeeS"'G.~> #6/.As4*>6rVlitqYpNqqu6WrqZ$NprVuisrVuisrr2ruqYpNqrr2rurVuisrr3*$rrE'!rr;rt rr3'#rr<&urr<&us8E#ss8N(Ms+14ArrL[Mrm_./!6)qWrRCq5!<0q@s-*Lm@fLr~> #6/7Gs43G8rVlitqYpNqqu6YPqZ$PNrVukQrVukQrr2tSqYpPOrr2tSrVukQrr3+Ws+p]2rr;tR rr3(Vs+lL1rr@lSs8IiQs8Rn+s+14ArrL^Nrmh4.!5cVQrRM"7!<0h=s-3RqAcI8~> #610^s4*>6rVlitqYpNqqu6WrqZ$NprVuisrVuisrr2ruqYpNqrr2rurVuisrr3*$rrE'!rr;rt rr3'#rr<&urr<&us8E#ss8N(Ms+14ArrL[Mrm_./!6)qWrRCq5!<0q@s-*MQS,\!~> #6/.As4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)urrW9$rrE&u!s&B$!;c]q!<2uu!<2uu!<3!* !<<'!!<<'!s8N)urs\u.rr<'!rrE*!!<<'!rr30&s8N*!rr@WMJcGBB!S.5LeH:[/`W,hc$'YG/ `W)/&@Uf@f~> #6/7Gs43G8rVlitqYpNqqu6YPqu6YPrr3(Vs8RoSrr\)Ws+p[S",R!WM#.,OM#RDSM#RDSM#RD] M#[L2M#[L2s8RoSrsaeas+lL2s+p^TM#[L2rr31Ys8RoTs+l7+JcGBB!S7;MecU^._Z0Ma$'bM- _Z,l$AS(ml~> #610^s4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)urrW9$rrE&u!s&B$!;c]q!<2uu!<2uu!<3!* !<<'!!<<'!s8N)urs\u.rr<'!rrE*!!<<'!rr30&s8N*!rr@WMJcGBB!S.5LeH:[/`W,hc$'YG/ `W)/&S"'G.~> #6/.As4*>6rVllus82iss8E#srr<&rrr<&urrW9$rrDfn!s&B$!;c]q!<2uu!;c]t!<<'!rr2ru qu6`us8N)urrrK'rrE*!!<3!#!<<'!JcC<$nc&X?s8LONM?(Wqqpc";!6)qWPQ50%s*t~> #6/7Gs43G8rVllus82iss8E#srr@lPrr@lSrr\)Ws+pFL",R!WM#.,OM#RDSM#.,RM#[L2rr2tS qu6bSs8RoSrs";Zs+p^TM#RDVM#[L2JcC<$nc&X@s8LROL]G #610^s4*>6rVllus82iss8E#srr<&rrr<&urrW9$rrDfn!s&B$!;c]q!<2uu!;c]t!<<'!rr2ru qu6`us8N)urrrK'rrE*!!<3!#!<<'!JcC<$nc&X?s8LONM?(Wqqpc";!6)qWPQ72Bs*t~> #6/.As4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)qs8;rtrr<&prrN3#!;ulq!<<'!!<2uu!<3#s !<<'!!<3!%!<<'!s8Vusrr;uuJcC<$oD\jAs8LONM?*\,q32*a`W)/&@Uf@f~> #6/7Gs43G8rVlitqYpNqqu6YPqu6YPrr3(Vs8RoOs8@cRrr@lNrrS#VM#@;OM#[JTM#RDSM#RGQ M#[JTM#RDXM#[L2s8W"Qrr<"SJcC<$oD\jBs8LROL]IJ+q3;0b_Z,l$AS(ml~> #610^s4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)qs8;rtrr<&prrN3#!;ulq!<<'!!<2uu!<3#s !<<'!!<3!%!<<'!s8Vusrr;uuJcC<$oD\jAs8LONM?*\,q32*a`W)/&S"'G.~> #6/.As4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)rrr<&urrW9$rrDlp!W`6#rVlitrr3'#s8N)u rrW9$rrE&u!s&B$!<3!&!<<'!s8N)orr<%Ms+14BrrL[Mrm_+.!<:UG!!neh`W)/&@Uf@f~> #6/7Gs43G8rVlitqYpNqqu6YPqu6YPrr3(Vs8RoPrr@lSrr\)Ws+pLN!f6l4rVlkRrr3(Vs8RoS rr\)Ws+p[S",R!WM#RDYM#[L2s8RoMrr@k+s+14BrrL^Nrmh1-!<:XH!!nhi_Z,l$AS(ml~> #610^s4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)rrr<&urrW9$rrDlp!W`6#rVlitrr3'#s8N)u rrW9$rrE&u!s&B$!<3!&!<<'!s8N)orr<%Ms+14BrrL[Mrm_+.!<:UG!!neh`W)/&S"'G.~> #6/.As4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)urrW9$rrE&u!s&B$!;QQo!;uis!<3!#!<<'! rr3'#s8N)urs\u.rr<'!rrE*!!<<'!rr30&s8N*!rr@WMJcGBB!S.5LeH(O-ou.+7PQ50%s*t~> #6/7Gs43G8rVlitqYpNqqu6YPqu6YPrr3(Vs8RoSrr\)Ws+p[S",R!WM"puMM#@8QM#RDVM#[L2 rr3(Vs8RoSrsaeas+lL2s+p^TM#[L2rr31Ys8RoTs+l7+JcGBB!S7;MecCR,otgn4PlPB,s*t~> #610^s4*>6rVlitqYpNqqu6Wrqu6Wrrr3'#s8N)urrW9$rrE&u!s&B$!;QQo!;uis!<3!#!<<'! rr3'#s8N)urs\u.rr<'!rrE*!!<<'!rr30&s8N*!rr@WMJcGBB!S.5LeH(O-ou.+7PQ72Bs*t~> #6/.As4*>6rVuWmqu?Qorr;rtrVuisrVuis"9/B$!;QQo!;lfq!!E6$rrE&u!!*#urW!0&!<3'! !!*#u!!*#urW)osrr@WMJcG?A!S.5LeH(O-p\tHu`W)/&@Uf@f~> #6/7Gs43G8rVuWmqu?SMrr;tRrVukQrVukQ"942WM"puMM#75OL]d[5s+p[S!/UXSreLdYM#W;2 Lku'1!/UXSreUOQs+l7+JcG?A!S7;MecCR,p\tHu_Z,l$AS(ml~> #610^s4*>6rVuWmqu?Qorr;rtrVuisrVuis"9/B$!;QQo!;lfq!!E6$rrE&u!!*#urW!0&!<3'! !!*#u!!*#urW)osrr@WMJcG?A!S.5LeH(O-p\tHu`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\OeHZ)ns-*Lm@fLr~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJMecu2ls-3RqAcI8~> #610^s4*>6JcC<$MuNh.s8LOMM?*\OeHZ)ns-*MQS,\!~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8jo5;\JcC<$W;cnLs8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8jo5;\JcC<$W;cnLs8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8jo5;\JcC<$W;cnLs8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8jo5;\JcC<$W;cnLs8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6jo5;\JcC<$W;cnKs8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6jo5;\m/I%cnc&[ks8N)krrW9$rr@]O!!%TMir9&0s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8jo5;\m/I'Anc&]Is8RoIrr\)Ws+l=-!/Q4+ir9&1s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6jo5;\m/I%cnc&[ks8N)krrW9$rr@]O!!%TMir9&0s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6jo5;\m/I%cnc&[ks8N)krrW9$rr@cQrW%NLir9&0s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8jo5;\m/I'Anc&]Is8RoIrr\)Ws+lC/reQ.*ir9&1s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6jo5;\m/I%cnc&[ks8N)krrW9$rr@cQrW%NLir9&0s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6p\tHgnbW:^nacDR!!)`mrW)osrr<*"!<3#t!<3!%!<3$!s8W&u"TJK%!!)utrW)rt !s&B$!/(:O!.k10rrL[Mrm_(-!<;lF#a>>.s-*Lm@fLr~> #6/7Gs43G8p\tHcf=S,ibj5!&!!)`mreUOQs+g^UM#RGRM#RDXM#W9es8W(S"TO;XLku$0reURR ",R!WLkG^-Lk5TcrrL^Nrmh.,!<;lG#aGD,s-3RqAcI8~> #610^s4*>6p\tHTMC\`YMVn.-!!)`mrW)osrr<*"!<3#t!<3!%!<3$!s8W&u"TJK%!!)utrW)rt !s&B$!/(:O!.k10rrL[Mrm_(-!<;lF#a>>.s-*MQS,\!~> #6/.As4*>6q>UK]eGB4Fq"Xjh!;HKn!<3!*!<<'!s8N'!s8N)urtGJ5rr<'!rrE*!!<<'!!<<'! s8N)urrrK'rrE*!!/(:O!.k10rrL[Mrm_(-!<;lF#a>>.s-*Lm@fLr~> #6/7Gs43G8q>UfeXLkjDd,Ep=\+]Us!!)cn!/UXS$Ae`^M#[L2M#[L2rr3[gs8Rn2s8RoTs+p^T Lku*2M#[L2rr31Ys8RoTs+l=-!/Q4+ir9&1s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6q>UKY2?!RUEW2s==nDFg!!)cn!!*#u$3:,+!<<'!!<<'!rr3Z4s8N'!s8N*!rrE*! !!*'!!<<'!rr30&s8N*!rr@]O!!%TMir9&0s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6qYpTip\=ahr:p*fq>g?k!s&B$!<3!#!<<'!rr3'#s8N)urrrK'rrE*!!<3!#!<<'! rr30&s8N*!rr@]O!!%TMir9&0s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8qYp`j['R'BaSl,?Q(@UDs7u`krr\)Ws+p[S",R!WM#RDVM#[L2rr31Ys8RoTs+p[S ",R!WM#RDYM#[L2s8Rn-rr@k+s5O%Zf)Pa#!f-jVq:5h:!5ec$!+faAJ,~> #610^s4*>6qYpTa)u]g; #6/.As4*>6qYpQhpAY-fmJm+bs8N'!rr3'#s8N)urrW9$rrE&u"p"]'!<<'!rr3$"s8Vuss8N0$ s8N(Orr<%Ms5O%Zec5X!!f@!Xq:,b8!6+u&!+KF;J,~> #6/7Gs43G8qYp]7XKJY #610^s4*>6qYpOsrVupWr;Zcs!*S^hr;clt!!*#u!s&B$!<3!#!<<'!rr30&s8N*!rrE&u!W`9# quHcs!s&B$!/(:O!.k10rrL[Mrm_(-!<;lF#a>>.s-*MQS,\!~> #6/.As4*>6qu6Zdp&>'lp$_n\!<3!#!<<'!rr3'#s8N)urrW9$rrE&u"p"]'!<<'!rr3'#s8N)r rrW9$rr@]O!!%TMir9&0s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8qu6i\VPpH*p&+glOG\hSn,EBDrr3(Vs8RoSrr\)Ws+p[S",R!WM#RDYM#[L2s8RoS rr\)Ws+pRP",R!WLkG^-Lk5TcrrL^Nrmh.,!<;lG#aGD,s-3RqAcI8~> #610^s4*>6qu6Z?rVusXir&iU!!(F8rr<&urrW9$rrE&u!s&B$!<3!#!<<'!rr30&s8N*!rrE&u !s&B$!;lcu!<<'!KDtoOJcFa0!S.5LeH1U.s7t1NPQ8]&PQ72Bs*t~> #6/.As4*>6qu6Zfp&>'kp$_n\!<3!*!<<'!s8N'!s8N)urrW9$rrE&u"p"]'!<<'!rr3'#s8N)u rrrK'rrE*!!/(:O!.k10rrL[Mrm_(-!<;lF#a>>.s-*Lm@fLr~> #6/7Gs43G8qu6o;Tq]F(s2s0srr\49L:?XO!/UXS$Ae`^M#[L2M#[L2rr3(Vs8RoSrs";Zs+p^T M#RDVM#[L2rr31Ys8RoTs+l=-!/Q4+ir9&1s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6qu6n=!!$%!s)G(>.s-*MQS,\!~> #6/.As4*>6qu6ZnpAY3nr;#d\rW!3'!<<'!!<3&us8E#trr<&urrrK'rr<'!!<2uu!<3#t!<3!# !<<'!KDtoOJcFa0!S.5LeH1U.s7t1NPQ8]&PQ50%s*t~> #6/7Gs43G8qu6_nS&kU/!L_aBrr\(4Kp1s)reLgZM#[L2M#W;1s8IiRrr@lSrs";Zs+lL2M#RDS M#RGRM#RDVM#[L2KDtq-JcFa0!S7;MecLX-s7t4OPlS]$PlPB,s*t~> #610^s4*>6qu6^?!-/# #6/.As4*>6nG`UirVQGBs+13CrrL[Mrm_(-!<;lF#a>>.s-*Lm@fLr~> #6/7Gs43G8qu6ndQJDN?d$ #610^s4*>6qu?Zr"fhV&Mu]mWrrW6&!X+)SJcDDC!S.5LeH1U.s7t1NPQ8]&PQ72Bs*t~> #6/.As4*>6nG`Uir;-5?s+13CrrL[Mrm_(-!<;lF#a>>.s-*Lm@fLr~> #6/7Gs43G8qu6no[f?Bj[^G8srr]ErK9LldJcDDC!S7;MecLX-s7t4OPlS]$PlPB,s*t~> #610^s4*>6qu6mH #6/.As4*>6qu6ZipAY3mq=B1;JcDDC!S.5LeH1U.s7t1NPQ8]&PQ50%s*t~> #6/7Gs43G8qu6].ZM4A#eq1>]s+13CrrL^Nrmh.,!<;lG#aGD,s-3RqAcI8~> #610^s4*>6qu6\;>.s-*MQS,\!~> #6/.As4*>6qu6]irqQKqrVZH_JcC<$T`5&Cs8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8qu6]XU& #610^s4*>6qu6]D2uKZUir8r[XE4ZoJcC<$T`5&Cs8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6qYpQhrr)lp!<2ut!r2N\JcC<$TDnrBs8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8qYpPsreCH,!7q/L!eGm#JcC<$TDnrCs8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6qYpOuquQkurr3$(#[N#]JcDAB!S.5LeH1U.s7t1NPQ8]&PQ72Bs*t~> #6/.As4*>6qYpTkq>U6lqYgEn!r)B_JcC<$TDnrBs8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8qYpThPQ$49K@^&%!e?=(JcC<$TDnrCs8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6qYpTe,lIiGXT&5$#Uo7ps+13BrrL[Mrm_(-!<;lF#a>>.s-*MQS,\!~> #6/.As4*>6q>UKjo`"Xiqu-Hjo([e9JcD>A!S.5LeH1U.s7t1NPQ8]&PQ50%s*t~> #6/7Gs43G8q>UKhWr@SR\^f6[W:kfBJcD>A!S7;MecLX-s7t4OPlS]$PlPB,s*t~> #610^s4*>6q>UKe?2b$.FoJHC@.SsLJcD>A!S.5LeH1U.s7t1NPQ8]&PQ72Bs*t~> #6/.As4*>6p\tH%Wn[:%Wj%'SJcD8?!S.5LeH1U.s7t1NPQ8]&PQ50%s*t~> #6/7Gs43G8p\tGrH[C6hH)Q;oJcD8?!S7;MecLX-s7t4OPlS]$PlPB,s*t~> #610^s4*>6p\tGg9Gn*R9V6n9JcD8?!S.5LeH1U.s7t1NPQ8]&PQ72Bs*t~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRNL]IJNed.N@_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOMM?*\PeHhB>`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LONM?*\,q32*a`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LROL]IJ+q3;0b_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LONM?*\,q32*a`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOKMY-rR`W)/&@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRLM"L`P_Z,l$AS(ml~> #610^s4*>6JcC<$MuNh.s8LOKMY-rR`W)/&S"'G.~> #6/.As4*>6JcC<$MuNh.s8LOLM?*=g"ojee@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRML]I+b"ojhfAS(ml~> #610^s4*>6JcC<$MuNh.s8LOLM?*=g"ojeeS"'G.~> #6/.As4*>6JcC<$MuNh.s8LONM?*\,qYphc!6+u&!+KF;J,~> #6/7Gs43G8JcC<$MuNh/s8LROL]IJ+qYphd!5ec$!+faAJ,~> #610^s4*>6JcC<$MuNh.s8LONM?*\,qYphc!6+u&!1TJXJ,~> #6/.As4*>6JcC<$MuNh.s8LONM?(WqqUGiO`PqkA!+KF;J,~> #6/7Gs43G8JcC<$MuNh/s8LROL]G #610^s4*>6JcC<$MuNh.s8LONM?(WqqUGiO`PqkA!1TJXJ,~> #6/.As4*>6JcC<$MuNh.s8LONM?(Wqqpc";!6)qWPQ50%s*t~> #6/7Gs43G8JcC<$MuNh/s8LROL]G #610^s4*>6JcC<$MuNh.s8LONM?(Wqqpc";!6)qWPQ72Bs*t~> #6/.As4*>6JcC<$MuNh.s8LOOM?(W7s8:CI!<0q@s-*Lm@fLr~> #6/7Gs43G8JcC<$MuNh/s8LRPL]G #610^s4*>6JcC<$MuNh.s8LOOM?(W7s8:CI!<0q@s-*MQS,\!~> #6/.As4*>6JcC<$MuNh.s8LOOM?(W7s8CIKPQ:^%"ojee@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRPL]G #610^s4*>6JcC<$MuNh.s8LOOM?(W7s8CIKPQ:^%"ojeeS"'G.~> #6/.As4*>6JcC<$MuNh.s8LOLM?*Xp!<<&K!!)u:"ojee@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRML]IFk!<<&L!!)u7"ojhfAS(ml~> #610^s4*>6JcC<$MuNh.s8LOLM?*Xp!<<&K!!)u:"ojeeS"'G.~> #6/.As4*>6JcC<$MuNh.s8LOLM?*Xp"TR$&PQ:[$"ojee@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRML]IFk"TR'(PlUd""ojhfAS(ml~> #610^s4*>6JcC<$MuNh.s8LOLM?*Xp"TR$&PQ:[$"ojeeS"'G.~> #6/.As4*>6JcC<$MuNh.s8LOLM?*Uo!rpdNr5Aj>PQ50%s*t~> #6/7Gs43G8JcC<$MuNh/s8LRML]ICj!rpgOr5&X;PlPB,s*t~> #610^s4*>6JcC<$MuNh.s8LOLM?*Uo!rpdNr5Aj>PQ72Bs*t~> #6/.As4*>6JcC<$MuNh.s8LOLM?*Uo!rnJbr5Aj>PQ50%s*t~> #6/7Gs43G8JcC<$MuNh/s8LRML]ICj!rnMcr5&X;PlPB,s*t~> #610^s4*>6JcC<$MuNh.s8LOLM?*Uo!rnJbr5Aj>PQ72Bs*t~> #6/.As4*>6JcC<$MuNh.s8LOLM?*Rn!!)o8"ojee@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRML]I@i!!)o5"ojhfAS(ml~> #610^s4*>6JcC<$MuNh.s8LOLM?*Rn!!)o8"ojeeS"'G.~> #6/.As4*>6JcC<$MuNh.s8LOLM?*Rn!!)o8"ojee@Uf@f~> #6/7Gs43G8JcC<$MuNh/s8LRML]I@i!!)o5"ojhfAS(ml~> #610^s4*>6JcC<$MuNh.s8LOLM?*Rn!!)o8"ojeeS"'G.~> #6/.As4*>6J^o>%MU__,rm_%,!;4;7s-*Lm@fLr~> #6/7Gs43G8J_#D'MUhe-rmh++!;424s-3RqAcI8~> #610^s4*>6J^o>%MU__,rm_%,!;4;7s-*MQS,\!~> "oi%@s4*?bs+13+s8LOKMY$iNPQ50%s*t~> "oi.Fs43Hds+13+s8LRLM"CWLPlPB,s*t~> "ok']s4*?bs+13+s8LOKMY$iNPQ72Bs*t~> "92h>s+-DcP_#(jPQLnp@fLr~> "92qDs+-GdQ%>4lPlh"tAcI8~> "94j[s+-DcP_#(jPQLoTS,\!~> !rl_=JH16$JH53?s'c!.J,~> !rlhCJH16$JH53?s()31J,~> !rnaZJH16$JH53?s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%b13SXrRLpW!<7Q~> !rlhCJ_#D'b1 !rnaZJ^o>%b13SXrRLq;!<7Q~> !rl_=J^o>%b1-KVXoJJ%rRLpW!<7Q~> !rlhCJ_#D'b16QXXoJJ%rRV![!<7Q~> !rnaZJ^o>%b1-KVXoJJ%rRLq;!<7Q~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^p1=\GlO/r7(h4!<(HXrr<&teH#XJec0(Ys*t~> !rlhCJ_$7?\GlO/r71n6!<(KYrr<&tec>aKf)K:]s*t~> !rnaZJ^p1=\GlO/r7(h4!<(HXrr<&teH#XJec2*=s*t~> !rl_=J^p1=!<9U[!!)rI!L*T_eH#W[eGoUJeH#XJec0(Ys*t~> !rlhCJ_$7?!<9U\!!)rJ!L3Z`ec>`\ec5^Kec>aKf)K:]s*t~> !rnaZJ^p1=!<9U[!!)rI!L*T_eH#W[eGoUJeH#XJec2*=s*t~> !rl_=J^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJ@K?FY~> !rlhCJ_$7?!<9X]!L3Z_ecD$9rRLuK]%-nI!<(IKs8COKAH;a\~> !rnaZJ^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJRfNJ=~> !rl_=J^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJ@K?FY~> !rlhCJ_$7?!<9X]!L3Z_ecD$9rRLuK]%-nI!<(IKs8COKAH;a\~> !rnaZJ^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJRfNJ=~> !rl_=J^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJ@K?FY~> !rlhCJ_$7?!<9X]!L3Z_ecD$9rRLuK]%-nI!<(IKs8COKAH;a\~> !rnaZJ^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJRfNJ=~> !rl_=J^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJ@K?FY~> !rlhCJ_$7?!<9X]!L3Z_ecD$9rRLuK]%-nI!<(IKs8COKAH;a\~> !rnaZJ^p1=!<9X\!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJRfNJ=~> !rl_=J^p1=!<;64quGF#!L*T^eH(m7rRCoJlIGh5rm^uKg!p+f!<(FJs8CLJ@K?FY~> !rlhCJ_$7?!<;65quGF$!L3Z_ecD$9rRLuKlIPn6rmh&Lg"$1h!<(IKs8COKAH;a\~> !rnaZJ^p1=!<;64quGF#!L*T^eH(m7rRCoJlIGh5rm^uKg!p+f!<(FJs8CLJRfNJ=~> !rl_=J^p1=!<;64!!)uJ!!(a'!L*T^eH(m7rRCoJldYt8rRCuMe^XZQeH(m7rRCoJrRLpW!<7Q~> !rlhCJ_$7?!<;65!!)uK!!(a(!L3Z_ecD$9rRLuKldc%9rRM&Nf%'iSecD$9rRLuKrRV![!<7Q~> !rnaZJ^p1=!<;64!!)uJ!!(a'!L*T^eH(m7rRCoJldYt8rRCuMe^XZQeH(m7rRCoJrRLq;!<7Q~> !rl_=J^p1=!<;64!!)uJ!s$m%!<1LQ!7fU"eGoU4eH(m7r7(h4!<(FJs6S89!;Y.F!<1OJ!<(IJ !<(II!:85:PQ:[4!<<#Js'c!.J,~> !rlhCJ_$7?!<;65!!)uK!s$p'!<1OR!7o^$ec5^5ecD$9r71n6!<(IKs6S;:!;Y1G!<1RK!<(LK !<(LJ!:88;PlUd6!<<#Ks()31J,~> !rnaZJ^p1=!<;64!!)uJ!s$m%!<1LQ!7fU"eGoU4eH(m7r7(h4!<(FJs6S89!;Y.F!<1OJ!<(IJ !<(II!:85:PQ:[4!<<#Js-j#gJ,~> !rl_=J^p1=!<;64!!)uJ!s$m%!<1LR!7fU"!7fU"kg]]u!;t@JPQ:[4!<;E9!!)iF!s$m%!<1LT !7fU"e^XZMeH#U!!!)E:!L*T_eH#XJec0(Ys*t~> !rlhCJ_$7?!<;65!!)uK!s$p'!<1OS!7o^$!7o^$kgfd"!;tCKPlUd6!<;E:!!)iG!s$p'!<1OU !7o^$f%'iPec>^#!!)E;!L3Z`ec>aKf)K:]s*t~> !rnaZJ^p1=!<;64!!)uJ!s$m%!<1LR!7fU"!7fU"kg]]u!;t@JPQ:[4!<;E9!!)iF!s$m%!<1LT !7fU"e^XZMeH#U!!!)E:!L*T_eH#XJec2*=s*t~> !rl_=J^p1=!<;64quH`H!!*#K!s$m%!<1LK!9hr6PQ:X3!L*T_eH#X9eGoUFeH5g%eH#U!!s$m% !;t@I!<1LK!:A;;PQ:[4!<<#Js'c!.J,~> !rlhCJ_$7?!<;65quH`I!!*#L!s$p'!<1OL!9hu7PlUa5!L3Z`ec>a:ec5^GecPp'ec>^#!s$p' !;tCJ!<1OL!:A> !rnaZJ^p1=!<;64quH`H!!*#K!s$m%!<1LK!9hr6PQ:X3!L*T_eH#X9eGoUFeH5g%eH#U!!s$m% !;t@I!<1LK!:A;;PQ:[4!<<#Js-j#gJ,~> !rl_=J^p1=!<;64!!*#K!!*#K!!*#K!s$m%!<1LK!9hr6PQ:X3!L*T_eH#X9eGoUFeH5g%eH#U! !!*#KrrE&KquH-7!L*T_eH#XJec0(Ys*t~> !rlhCJ_$7?!<;65!!*#L!!*#L!!*#L!s$p'!<1OL!9hu7PlUa5!L3Z`ec>a:ec5^GecPp'ec>^# !!*#LrrE&LquH-8!L3Z`ec>aKf)K:]s*t~> !rnaZJ^p1=!<;64!!*#K!!*#K!!*#K!s$m%!<1LK!9hr6PQ:X3!L*T_eH#X9eGoUFeH5g%eH#U! !!*#KrrE&KquH-7!L*T_eH#XJec2*=s*t~> !rl_=J^p7?#2AJAs7u!8ldYt8rRCuMe^X[!eH5g%eH#U!!!)65!L*T^eH(m7rRCoJm*u(9q:,QI e^X[!eGoUIeH5g%eH"ja!L*T_eH#XJec0(Ys*t~> !rlhCJ_$=A#11&bSY^#!!)66!L3Z_ecD$9rRLuKm+).:q:5WJ f%'j#ec5^JecPp'ec=sc!L3Z`ec>aKf)K:]s*t~> !rnaZJ^p7?#.A+f!$>g]ldYt8rRCuMe^X[!eH5g%eH#U!!!)65!L*T^eH(m7rRCoJm*u(9q:,QI e^X[!eGoUIeH5g%eH"ja!L*T_eH#XJec2*=s*t~> !rl_=J^p=A!S?u?rrM]BmF;1:rRD5Te^XZMeGoU"eH#U!!!)65!L*T^eH(m7rRCoJldYt8rRD)P e^XZMeH#U!#lrN+!7fU"e^X[!eGoU:eH(m7rRCoJrRLpW!<7Q~> !rlhCJ_$CC$In+qiS`PJgtKs#mFD7;rRM;Uf%'iPec5^$ec>^#!!)66!L3Z_ecD$9rRLuKldc%9 rRM/Qf%'iPec>^##lrQ-!7o^$f%'j#ec5^;ecD$9rRLuKrRV![!<7Q~> !rnaZJ^p=A!R/=TWWAO3mF;1:rRD5Te^XZMeGoU"eH#U!!!)65!L*T^eH(m7rRCoJldYt8rRD)P e^XZMeH#U!#lrN+!7fU"e^X[!eGoU:eH(m7rRCoJrRLq;!<7Q~> !rl_=J^p@B!S@/BrrMoHmaV:;rRClJrmh#K"P!M&eH#U!!!)65!L*T^eH(m7rRCoJlIGh5rm^uK rmguJrRLoJrRLlIm*u-$!<(FJs8CLJ@K?FY~> !rlhCJ_$FD!S":JrrUi:e*bce!<(IK!<1RL!!LjQf%'j#ec5^6ecD$9r71n6!<(IKs6A26!<1OL !<1RK!<(LK!<(LJ!:88;PlUd6!<<#Ks()31J,~> !rnaZJ^p@B!R)Y]rrT2BbjO!]!<(FJ!<1OK!!LgPe^X[!eGoU5eH(m7r7(h4!<(FJs6A/5!<1LK !<1OJ!<(IJ!<(II!:85:PQ:[4!<<#Js-j#gJ,~> !rl_=J^p@B!:KU]!WMK&eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js'c!.J,~> !rlhCJ_$FD%(`>9s6AFrgY1>oLSVc;!L3Z_ecD$9rRLuK]%-nI!<(IKs8COKAH;a\~> !rnaZJ^p@B"Af*us2Ou:!c\3;_:8RN!;t@JPQ:[4!<9X\!L*T_eH#XJec2*=s*t~> !rl_=J^pCC!8I8J"9/8sg;;A@PQ:X3!L*T_eH#W\eH(m7rRCoJrRLpW!<7Q~> !rlhCJ_$IE%aLlEs8T]uQ'./bLk^W+_U\aQ!;tCKPlUd6!<9X]!L3Z`ec>aKf)K:]s*t~> !rnaZJ^pCC"h"C2s8Q*q!!*/1_US[O!;t@JPQ:[4!<9X\!L*T_eH#XJec2*=s*t~> !rl_=J^pCC!:0CZ"9/5qkebjNPQ:X3!L*T_eH#W\eH(m7rRCoJrRLpW!<7Q~> !rlhCJ_$IE%_JC)s8UKV[[W53LPCJ^_U\aQ!;tCKPlUd6!<9X]!L3Z`ec>aKf)K:]s*t~> !rnaZJ^pCC#\F&:s8S$X !rl_=J^pCC!;ZEi"TJAtqt.bU!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJ@K?FY~> !rlhCJ_$IE!i2 !rnaZJ^pCC!ZqCBr;Qu@W]'t\" !rl_=J^pCCpAY6mqtg-*eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js'c!.J,~> !rlhCJ_$IE!go=?qYp]ZKnP)1_U\aQ!;tCKPlUd6!<9X]!L3Z`ec>aKf)K:]s*t~> !rnaZJ^pCCrW)fp"NCKG"9u`n!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJRfNJ=~> !rl_=J^pCC!;ZBh"8r#km_P+f!;t@JPQ:[4!WU]]PQ1^^eH#XJec0(Ys*t~> !rlhCJ_$IE%\8fHOcGBrfCAn@T7_`O_3G!#r71n6!<(ILs44cH!!)uK!<<#Ks()31J,~> !rnaZJ^pCC!$D+=#WJdCs8P.`"s(OE!!)rI!L*T_eH,^#\s*0prRCoJrRLq;!<7Q~> !rl_=J^pCC!:0R_rr2rt"9&&jWk\W4eH(m7rRJ@WrRCoJrRLpW!<7Q~> !rlhCJ_$IE%^D%SN/EFILY)S+eq/Hh^]=;`!L3Z`f!bYXec>aKf)K:]s*t~> !rnaZJ^pCC!+u'-#-._'X9Jk]^]=;_!L*T_e[GPWeH#XJec2*=s*t~> !rl_=J^pCC!8IMQs8N&s#6+Z&rV6-@]@?qH!3aoQs8CLJ@K?FY~> !rlhCJ_$IE%a0`cY_\'hU#c7ReU`7m]@I"J!3arRs8COKAH;a\~> !rnaZJ^pCC"1A10]@?qH!3aoQs8CLJRfNJ=~> !rl_=J^p@B#4DKjrr)fprr3&spZ]9>!L*SfeH#XJec0(Ys*t~> !rlhCJ_$FD!i:\PriQ7^rr3&1J=sL)!L3Ygec>aKf)K:]s*t~> !rnaZJ^p@B##G=" !rl_=J^p@B!S@&Arr`2no%(D&!L*SfeH#XJec0(Ys*t~> !rlhCJ_$FD!Rm5.rr^;lMUT/f!L3Ygec>aKf)K:]s*t~> !rnaZJ^p@B!R)\_rr\>g,gO!O!L*SfeH#XJec2*=s*t~> !rl_=J^p=A!S6Z9rVuTml.3Dq!L*SfeH#XJec0(Ys*t~> !rlhCJ_$CC"4O$rf)F5"J,u=l\^geH!3arRs8COKAH;a\~> !rnaZJ^p=A!mX`ErN-#)!EIFUeH(m7YLNXQrRLq;!<7Q~> !rl_=J^p7?#2883q"!S$\((JCXoJ@Ms'c!.J,~> !rlhCJ_$=A#0Ns)J;gMM\(1PEXoJ@Ns()31J,~> !rnaZJ^p7?#.J=k#UF5r\((JCXoJ@Ms-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !<7UZJRX1>m:$(qJ,~> !<7U]JRsCDm:?:tJ,~> !<7V>JX_4[m@++UJ,~> !WU,i@Y&!>@ddb,`W(G~> !WU#fAV"EDAaa12_Z,,~> !WU,iRt7&[S*ugI`W(G~> JcC<$JcG'9J,~> JcC<$JcG'9J,~> JcC<$JcG'9J,~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/dlgedit_debug.png0000644000076500000240000001336007362407534016076 00000000000000‰PNG  IHDR–]¯µÜ¶ pHYs``zxE¢IDATxÚíÝ}tTõÇñϽy"KAI«…`±*Ô–-»J[y¨›àºm÷Ý*»­kkëžvOÏ®=Ö³e9ÝŠ»ínmÏ®’Ó[´tÕåT%‘¶`ÛU$$Cy"Ìäþö›L.3wó4“¼_gç—;¿™Ü{ÃýÌ÷÷›;w,cŒ ;åJjz¹é‰d_È"w~®zÑ ‹lI䀬ãWî%‹6­a¿È‚ì®Çû’ÞüÚ» kØÞÈ/Ù%—]`ˆìÛ½7~‡¹­HÿÈ*lÔ«™K›6í¡jðt­½{~œ[tÿ±a{÷é±{œ6mÚCÑŽS:ùÞbõßüý=·;Ön¾cífßΖ1ÆÛbÓšð\XÍ<«ÿ°ÝÿÜךyV¬»bþïÍ]xÏÖ¤P…ůŒ¬¿¼õTòµÕUa¼NÒ¦=üµXzUXøðG¤›_óçYÉVaqj±ôÆÞ ‹®Ñâq±–DÜ›dÅÇk&mÚÙR‹EäW,ñª°ˆðÚûºI)¿"ê©XE™o7wIÏ«ˆãu’6íl™ Ûóºñͯ”«0o-ææ×°M] ú@’×IÚ´G¤þZ{÷üˆARø¶öîù©¿R¨Â"ò+ÉB,a å›Y ´ôª0^'iÓ‘¹°èw½é®ª¼ýÝó'¢ó+*,—<0¸ù5Ôá!×·€” Oñ/ÂÂß©þðŠŒ°ûï[T=«:ëvÜÁ7ùL #ŽÅްêYÕÙ³«g8x€ÿ>ÀØ”ÝÓù;vìpÃw´½œ½y0Ó6ŠjDØPiz¹i”ýU߸xçK;3m•¨v‘lvA¦ÙÙ´“Uˆ0Da@„À%¼#9»z¶÷Gï{RñOÈât-#aqb+Ãjñ‹Ãíð C}²Â0<ôFeø:#aqN1oœ…‹5ß\ó½×]ç “|òdËÑq”ŽÊhæÂܸqoÏX÷†F÷OéÉ“,+"~\|ãbo9^â]è¶ÃK¢;D/Løßi×J;_Úñ«}Û±V{à«dn–¡eÂ鯲ö_š§t²y±5½þlùÊîüi Gš©J>˜½–‰nÄj'¹ÐÍ”dž³ §õÐ+ÿе­b\(pü›ºßwë‰Âe󪆮j‹µÕ¾ë—8¶íæ©>ÿDÉä×g_´«Î”Ýtvâr§ìJdb„ÙN×ä·*?Õ¨?Ù"k©,½_’4ñ•Ož)_y|ê×cÕJC·Šƒûäу¯Xñðò„ãµät»~õ¢µmͪoÖ\õ$M6’QÕŽúEŸ<4é~Ç7<ø8ë¾Ë6ft®_d?§ë·È|VF=º\º|ûòw/[þÇYß°ò‹8„Af;]3šoͶȒ¦×]Ò1¨òÅg÷U_=Ýw¬7tY6 ï$=¥1¼Š~ȸ\}¨û?Ë×ùmÎ [&=__vfÓÔMi *“_‡ððÓ7ʽwÙæÂŒ?®š´øqU>ù¼÷˜Ëž­/~ù3oÝðSR a“<”ÿ^‹l)G:Ô É U\Ž0Iù[^ùöÊ?q…+‡èDˆW’,s¶ãå¹$©¥¡wQQ¥Þ_+I3ê´ð;ã~õåï|g¯–%|æ$SÌ·ïh1ú®g×O2r¤# 2’‘Š*5©¶·ë§¶ú0GFPÿtþùÀþò–F…¤)$ý¢^Ç^íïè.ìQùÑÆüó-ÑóYî-zn+âÞˆ…ÞHŠ¿0ùüòÎs§]C bçÞ[p±õc“ÞÑÑ&½P¯ûn/Ôéø®Þ~×Þ¯ ¦wìh?¼;áFÅJ±Xkâ;ñç±ÁÖIíÏ)(X¯ÿuWµ^ÿS§c»Â}ŒÑemGÞà(BFTaÖ'åH!É‘lÉ–Ì%IwîFŽ&O\õň ‰hǺ7É… žRŠÅ/X¼}£Á·CĈ’-úÞI§~¡ t& ö…¿Jøb@çÚ4¹ïnjќÜýInTxU½cÀˆUXCßdÄ:ï|iç¤S›zÿâfIr$Gêñü—ì2FÆhBë¶ÐÔp a¤ôä¿äᜎC–dY}vË]Ý7#¶Áêý¯,uM{ëãÏ püè{ XªvìØ±îÞuYqzÔ¼7êÇuzé᛼@ËTZ%I»×;/~Ù;p®hÚÃ#»Qóþ¯~\(Ðû¢e¤?Ý"#WêŠZ7¿œ­«MGÀû½Ü+Ë·s a˜­ßФˆï‘´Ï6²e9î°Ñr.­ÂB GX^{˽w¼9F>‡Tð^@îkCÈ3|¿~Co~v9Íß5ŽmŒ®(º0âk;®+Ð7\”Œtå%ïí˜sm¦#àVa…ÝÇ9œÉPÉŒœs‡$ÛY–cŒlO„™žþî’éÿÅcí”ç ª /´ÊÈ’Ô#•UX+4¥·¨éùáõ’Œ±Q ³D:;²k{!§¢?Åé}3úSª¬ÊšYg}¢Íyþcì÷ò§paõOç¯úŒ1¶{…ýflÇØŽccwL¹™—ªÓ—:ŽmÛqlÇØZÑ ŠZI¦yCè§aŒí8½·]í•#¾¶'Ë–*¤ðÍl­7[ë­õNãjxU’½à>ûº/£åœÍ̈0ëÃiúBÊý×ÛÏqdœÞhkŸº‚—ª‹WÕc›’©ö_íÌy°Çª¨5WƒßÊ =ÿ€i¸áå¾xLX|÷ȯ핫MLÌäZsuq丯jN«r¡1vÉ¢»øã"#’Å•sNN]QÖòŒŒ-KÆÈ–myª0·Ñ>mU°d*;.åº&XV6eùe¥VÅÂÞW…Öfkf –dI¡[ÏT~ê·®_ÛÝãÇ_±ü²£ÛìÞgͪ3[os§Aí_ò®Çôí9ùã"#"LÒ©šÇÚ—×ÙfGÖ%ÓùƱ,®<9÷AöZzZ®þbÉɧóú~ÌYøÅˆç}¨mæßjgs&¬í;WÞ_ôî¯ÝSïíUOEwèúõ3§—=ÅŸa&§ í¦-ïÛûpé;?·ŒœÖæpˆ9Æ>7ý–S5šœ‚ÌYû%K–8x ‹¾G2xa^°õ5»£5b8o$SV1nÝk׿îú¿òÕ¯dÄàwîçŸû›BÏ”‚‘dÔÝðÙЬÛòïymVñx! ?˲îX»Ù'ÂÜ;uÝ7ÛgÝYrx[ɯŸÉݹ1TZÙ9íÏ:—5K«2s{²í[ZKòÞ+)>´­¸å…ÜsmÝ¥•]Ó–vÎøtÈ.Qg@ dÖÊ^óµ¼sGJZž-9²=÷\[¨¸²sÚÍŸl –VéHæ­-Æx¦¾ïÇ–$ÍTñL»#LéÔ[Ò[ì¯Á3S¥3U*IzWz7ÃwïLÎT!ÿ0È£(·ñìÏžMþQE¥Eñ"LÒº{×±s )cŒwüôÀ×HòQÛ˜ ÂÜ~±† ±î€$ùNþD|¨nÑ ‹š^nJøT| €Œ³è†Eß<˜Ì5fˆ0YŒ‰%˜¤G7>š°Ka–Gô‘±}{|Ÿ3zaò¿:~Ï$€¬©ÂŒŸìÝfóUÞ‘2½“´dÉ’„…Xîð¬V¸ŠñÆGò }cÈzÄ ÷ñ¶}ŸÄíàý7þ¯s—û®CœÕ&a6æ›5É/”_çû„ {&ù8ý¤W‚Eb±®cœl„EÌ|¹IwáÀ•áÃ~PŽÿXO½<ùž Qì®Â|sj(fÄ’Ÿ8÷¦ú$iÌÓG?Ä]" x æùŒc¿8…XnFmƒï,ÕÐ=Iz¿Î7§HƒÂ÷Žn|t Uذ%Wª·¡H$Ÿ“)0`¹'Š5ç5 ¹0ßSÀ’g¹vxœ¥K§½.L/’’X=ã ã¯6A d ?…ÒH¦4á•ÒyÂ…á@IoXëIâ·}i¬‡$ÜpÉKãÚ|À@¦óã'Âd½á‹°”&Ô€$" ˆ0Ó6¥ñ‘#®–]kŒM¹ì^[vîÌas¼¡°íɼößó¯éšòykZ]éÄéƒøß7᥸â\LžO,Êïƒi\ž ÃÆû·9ÂNTgÚÛLÛn3ájv+€Ìа®)Ë /´öþpy­–ÕFŽ×Vm±Þü‰i½½ûÊ[òÙ¯2*ÂLõçÍ‹w[¿»ôÈ) UVå67bZ_5FÖ‡og·Ȭ+ª¸¶«xFÁÖÛzÍH’½ê)«/‚ ·cg®.­œÃn0óôÇ»³u®öV6}¯5ôã7œšüko]±ú?Ø›2:Â\+Vß¡Õw¸í«¤«Ø‹Fž@„D" ˆ0 €@„D" ˆ0 €@„Daˆ0 €@„Daˆ0 €" Daˆ0 €" Daˆ0 €" Da@„ €" Da@„ €" ˆ0Da@„ €" ˆ0Da@„€" ˆ0Da@„€" ˆ0Da@„€" ˆ0 Âa@„€" ˆ0 Âa@„D" ˆ0 Âa@„D" ˆ0 €@„D" ˆ0 €@„D" ˆ0 €@„Daˆ0 €@„Daˆ0 €" Daˆ0 €" Daˆ0v" ˆ0 Âa@„D" ˆ0 Âa@„D" ˆ0 €@„D" ˆ0 €@„Daˆ0 €@„Daˆ0 €@„DaÆ„\v€Ì±cÇ" @ö±,‹* @¶ÚùÒN" @¶Ztâƒo¬žU}ׯÇ6®»woÆa2BÓËMnŠEß+¿Ä;’2\ü ~" @bÑÉ8% ‹K0" @FbñK0" @—`D€Ì-Ä–`D€,.Áˆ0Zˆ%S‚a²›ÿÙù¾'ÈÀ°Iò#“>fŒa÷NiÇÎ%æÎŸm|l#;À°)*-J;vú#,½‹õÀê°°;d…õšÜïHÈbD" FWm²Fªßî3Ê,Y²„²Ûº{×Í 7ÆøžrO„Y†“¼˜ @„)a. ÙÍ÷›SG˲N{ñÍ'Â0ŒñkCñÍg d¢1~ Xò›O„  " RÂt>p‰ÙÕ³½?Ž‘Sá½[ÞäÙÕ³3ó‰0 ’÷¸ÍŠÃxàù•½›Ì@H¹N ·ÝÆìêÙµ[öæW¬ÂÓÝÆˆÍŒµd8÷U080Šë5ï¦Eo¯ï¶½A„ñ ®„Ç!×Ù=@„1ÉìÏ^r÷OÄ<$%¿»eÂéÆžƒ/T·êÎÖ1ñ¦³“WvMô£”:+~Ö{wÑðï+" ÙÇvºªÆŸ+6*_*³T=Ê—&Mt:ϵ¿WãäÏ0sÔSi¼#¿sa@Ìüšñ‡[óWö½·ô÷ xþÖw>þ“AO1ï¸iT¦Xô8Ú·ƒ·àŠHúv#€KL>úPþ…–ÞNîÒ¹6Ir$#)°+¿³eÒþo›÷Ð@G¾?F—|ïÍÞ!aœ… ;0Ë¿ÐR~¢QNßÏû7èíõH=RH É82Fã[ž9}õ]Á’©ì±Ñ_•³ E&œnTH öý JcC<$JcG*:J,~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> !WU,i@Y&!>@e!n/`W,sg~> !WU#fAV"EDAas=5_Z0Xd~> !WU,iRt7&[S+2sL`W,sg~> !<7UZJRX1>mpc=sJ,~> !<7U]JRsCDmq)P!J,~> !<7V>JX_4[n!j@WJ,~> !<<%-JcC<$JcGBBs'l$.J,~> !<<%0JcC<$JcGBBs(261J,~> !<<%fJcC<$JcGBBs-s&gJ,~> "TMq?s8RYoJ]r\hp!!GFs8RT~> "TN%Es8RYqJ^/hlp!3SKs8RT~> !rnaZJcC<$JcG?As-s&gJ,~> "92h>s+/CFb^n"1bl;/Ps*t~> "92qDs+/IHc@O:5cMqJUs*t~> !rnaZJcC<$JcG?As-s&gJ,~> "92h>s+/CFb`^3DS,CM(S,UY3@fQIY~> "92qDs+/IHcB?KHRJbA(RJtM3AcMd\~> !rnaZJcC<$OoP.!r;ZK7rr<"fs8RT~> "92h>s+/DRbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\B bQ.\BbQ.\BbQ.\BbQ.\BbQ.\?bQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\B bQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\B bQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\BbQ.\=bk@M+s8C.AS+cmes3/\r@fQIY~> "92qDs+/JTc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnD c2dnDc2dnDc2dnDc2dnDc2dnAc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnD c2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dnD c2dnDc2dnDc2dnDc2dnDc2dnDc2dnDc2dn?cM!Y+s8C4CRJ-[cs3Ao$AcMd\~> !rnaZJcC<$OoP.!r;Qc@pAk3ms-s&gJ,~> "92h>s+/DQbQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),O bQ),ObQ),ObQ),ObQ),ObQD=ub[URq!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PZGs-ri.!Ls,fbQ415qj[Up#6=eJb[P&]s*t~> "92qDs+/JSc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc3%Y'c=R"#!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T !+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T !+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+klLs-`].!L`udc2j=5qjIIq#6=eLc=LSes*t~> !rnaZJcF[.!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf !1Wuf!1Wuf!1Wuf!1Wuf".T>jS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEf S,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEf S,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS+cm^bk_8=bl%JAbQ.Oas-iugrr<"fs8RT~> "92h>s8L7@s7sk=s6Ru0!<14B!:7r0!;=Y:!6!+]!;"D7s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Es3/^erlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBpWWZ, q9/l/s8C.BRfNAUraH*4s3/\r@fQIY~> "92qDs8L=B!;Xn?!:8#2!<1:D!:8#2!;=_ !rnaZrVufrq>UEpm/R(crr;uum/R(cpAb-m`;fi;JcDGDs31<=!6kB@!R(QAbl4(3!<3#uS,`M=~> "92h>s8C1?s81"?s7X\6!;t(@!<14B!<:7C!;Xk:!;t(@!;=Y:!85Tq!<11B!;"G7!:n>6@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRR@a*&*rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Oprrc-q9/l/s8C.BRfN:o#g<;KbfjO*s8RT~> "92qDs8C7A!;k%A!;=_8!;t.B!<1:D!<:=E!;Xq !rnaZr;Z]qqu6WrpAb!ir;Zcsrr;uus8N'!q>^?mr;ZcspAb-mg&M$Orr2ruoDegjo)A]Zrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr3(is8SSfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAP`s8U==rrC:@rrL=DqO7Nc!<3#uS,`M=~> "92h>s8:+>s8C.As7OV9!;Oe!;Xk=!<::C!:\54!85Tq!<11B!;"G7!:e85s8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s81"?s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs7sn=S,(8/S,`H2!Lj)gbl2)ObQe.JbfjO*s8RT~> "92qDs8:1@!<(1C!;4Y;!;Ok>!;at@!;Xq?!<:@E!:\;6!85Zs!<17D!;"M9!:e>7s8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s81(As8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds7st?RJG,/RK*62!LWrecMhDTc3F@LcH^!4s8RT~> !rnaZqu?TprVlitp&G$lq#C?oqYpNqq>^Hps8W*!nGiLgg&M$Orr2ruoDegjJcDGDs31<=!6kB@ !R(QCs8JMfrr<&us8SSgs*t~> "92h>s81%=s8U:Cs7FP8!;k"!<14B !<::C!<14@!;XhC!6bECbfg(dbl%P?bkqJ?bl%P9bQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),O bQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQD=ub[URq!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PZGs-ri.!Ls,f bQF=7bfp&qrlbTIs3/\r@fQIY~> "92qDs81+?!<:=E!;+S:!;k(>!<1:D!!(=C!;k(A!<1:D!<1:D!<1:B!<(4C!<1:B!<(4@!<1:D !<:@E!<1:B!;XnE!6tQEcHZFhcM[bAcMR\AcM[b;c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc3%Y'c=R"#!+l/T!+l/T!+l/T !+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T !+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+klLs-`].!L`ud c3'I7cHcE#rlt`Ks3Ao$AcMd\~> !rnaZqZ$Kos8N'!o`+pkqu?Qorr;uu!<;utqu?Zrrr;uurr;uurr;osrVultrr;osrVucqrr;uu s8W*!rr;osq>UX!rr<'!rrE&ur;cfrquH`rr;cTl!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf !1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf".T>jS,WEfS,WEfS,WEfS,WEf S,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEf S,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS+cm^bk_8=bl%JC bQ.\CrgWoe!!*#us-s&gJ,~> "92h>s8't=rrL@Do?@47r650@s31KCrlkBBs3(HCq98j=rlkBBrlkBBs31KCs31KCrlkBBs31KC s31KCs31KCs31KCrlkBBs31KCs31KCs31KCqTKu\bQ%XebQ,l2!!(6e!!(6e!!(6e!!(6e!!(6e !!)o?!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B !<<&B!<<&B!<<&B!<<&B"96Ths8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs7ab;S,(8/S,`H2!h026raPiM#6=eJb[P&]s*t~> "92qDs8(%?!!1@Fo?R@9r6G !rnaZq>^Eo!WN/ks8N)ss8N*!s8N)us8N*!rr<&ps8N)us8N)us8N*!s8N*!s8N)us8N*!s8N*! s8N*!s8N*!s8N)us8N*!s8N*!s8N*!s8N)qruM1?!!*'!!<<'!!<<'!!<<'!!<<'!!<<'!!<<'! !.k0Ls8U==rrC:@rrUCEs8JMdrr<&us8SSgs*t~> "92h>s7sk@s31NCo?@+4s31KCs31KCrlkBBs3(HCq98j=rlkBBrlkBBqoo'?rlkBBs31KCs31KC s31KCs31KCrlkBBs31KCs31KCs31KCqTJs?bl.S[bQ,l2!!(6e!!(6e!!(6e!!(6e!!(6e!!)l> !+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO"(KKu@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@ee.IS+cm_s8C.BRfNFsr6,BGs3/\r@fQIY~> "92qDs7sqB!6tQEo?R76s3CWEs3CWErm(NDs3:TEq9K!?rm(NDrm(NDqp,3Arm(NDs3CWEs3CWE s3CWEs3CWErm(NDs3CWEs3CWEs3CWEqT]*AcMde]c2c/8!!(NIs3Ao$AcMd\~> !rnaZq#:Errr<&js82lss8N*!s8N)us8N*!rr<&ps8N)us8N)us8N)rs8N)us8N*!s8N*!s8N*! s8N*!s8N)us8N*!s8N*!s8N*!s8N)qrrE-"rW!i9!<<'!!<<'!!<<'!!<<'!!<<'!!<<'!!;c]q S,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEfS,WEf S,WEfS,WEfS,WEiS,`MXrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfq#:? "92h>s8'q?s31HAoZ[=8r650@s31KCrlkBBs3(HCq98j=rlkBBrlkBBrlk9?rlkBBs31KCs31KC s31KCs31KCrlkBBs31KCs31??qTKcVbfg%ebQ,l2!!(6e!!(6e!!(6e!!(6eqZ-H9!<<&B!<<&B !<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B!<<&B !<;r?!<<&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!<;l=!Lj)bRfNNhrQGA5!+KF7bQe.JbfjO*s8RT~> "92qDs8("A!7(NCoZmI:r6G !rnaZq>UHqs8;ris8N)ss8N*!s8N)us8N*!rr<&ps8N)us8N)us8N)us82lrs8N*!s8N*!s8N*! s8N*!s8N)us8N*!s8N*!s8)fmrtkb9rr<'!!<<'!!<<'!!<<'!!<<'!!<<)r!.k0LrrL=Dq9/g= r;QlC!1TJTrr<&us8SSgs*t~> "92h>s81"?s8L7@s7OV9!;t(@!<::C!<14B!<:7C!;Xk=!<14B!<14B!<::C!<::C!<14B!<::C !<::C!<::C!!(7B!<14B!<::C!<::C!;=V:!<14A!<::C!<::C!<::C!<::C!<::C!;+J8@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRR@a*&*rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Op<3N+pAb3nrQG82pAbEtbfjO*s8RT~> "92qDs81(A!<1:B!;4Y;!;t.B!<:@E!<1:D!<:=E!;Xq?!<1:D!<1:D!<:@E!<:@E!<1:D!<:@E !<:@E!<:@E!!(=D!<1:D!<:@E!<:@E!;=\ !rnaZqYpNqrr;osp&G$lr;Zcss8W*!rr;uus8N'!q>^Hprr;uurr;uus8W*!s8W*!rr;uus8W*! s8W*!s8W*!!<<#urr;uus8W*!s8W*!pAY*mrr;rts8W*!s8W*!s8W*!s8W*!s8W*!o`"o\rr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr3(is8SSfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAP^rrC:;!;uisbkD,:s8SSgs*t~> "92h>s8:(@s8:+>s7X\:!;t(@!!(7B!<14B!<:7C!;Xk=!<::C!<(.A!<::C!<::C!<14B!<::C !<::C!<14B!!:@E!<14B!!(7B!<::C!<11B!;an>!<14A!<::C!<::C!<::C!!(7B!<::C!<11B !;jt?s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Es3/^erlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBp<<71r64m7s31LPs8RT~> "92qDs8:.B!;t.@!;=_ !rnaZqu6Wrr;Z]qpAb-mr;Zcs!<<#urr;uus8N'!q>^Hps8W*!rVults8W*!s8W*!rr;uus8W*! s8W*!rr;uu!ri6#rr;uu!<<#us8W*!rr2ruqYpNqrr;rts8W*!s8W*!s8W*!!<<#us8W*!rr2ru JcCZ.s-s&gJ,~> "92h>s8C.As8't !<(.A!!:@E!<14@!;Xh=!<(.A!<14@!<(.A!!:@E!<14@!;Xh=@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRR@a*&*rlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O g "92qDs8C4C!;b">!;Fe9!<:@E!!:FG!<1:D!<:@D!;k(>!;t.B!<1:C!!^^K!7&ji!<1:B!;b"@ !<(4C!!:FG!<1:B!;Xn?!<(4C!<1:B!<(4C!!:FG!<1:B!;Xn?AcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsWA^8S4rltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT g !rnaZr;Q`sqZ$Kop](*js8W*!!ri6#rr;uus8W&uqu?Qor;Zcsrr;rt#6+Z's8N'!rr;osqZ$Qq rVult!ri6#rr;osq>UEprVultrr;osrVult!ri6#rr;osq>UGarr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr3(is8SSfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPB s8SSgs*t~> "92h>s8L4Bs7jh:s1$;Q!<::C!5cq[s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs81"?s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs4bct@fQIY~> "92qDs8L:D!;OkS!<:@E!5d"]s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds81(As8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds4bj!AcMd\~> !rnaZrVlitq#C9m\GuR/s8W*!JcC<$eGoQ "92h>s/+$=!5QeY@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRR@a*&*rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Oq97cds'l$.J,~> "92qDs/+*?!5Qk[AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsWA^8S4rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTq9Iods(261J,~> !rnaZV>pJo_#FD(rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr3(is8SSfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPas5;-$S,`M=~> "92h>s+/CFba6QQS)7]Ts*t~> "92qDs+/IHcBliURGVTUs*t~> !rnaZJcC<$QN-s.hjaZGJ,~> "92h>s+/CFba?WSS,ZsVbl;/Ps*t~> "92qDs+/IHcBuoWRK$jWcMqJUs*t~> !rnaZJcC<$QiI*0s-r!Is-s&gJ,~> "92h>s+/CFbaH]TRfHpTbl;/Ps*t~> "92qDs+/IHcC)uXR/ggUcMqJUs*t~> !rnaZJcC<$R/d31!1VmGs-s&gJ,~> "92h>s+-YjS!fcG@c#?/@fQIY~> "92qDs+-ShR@0KCA_t`4AcMd\~> "94j[s+/CFbaH]TS)42FS,`M=~> !<7UZJRXpSgs#e-s8RT~> !<7U]JRt-Ygs5q2s8RT~> !<7V>JX_sph#IDDs8RT~> "92h>e_'nQeUc8Aec0+Ys*t~> "92qDf%C"Req)DCf)K=]s*t~> "94j[e_'nQeUc8Aec2-=s*t~> "92h>s4Gj%!.i[OeXk=k@fQIY~> "92qDs4Gm&!.i^Pet1ImAcMd\~> "94j[s4Gj%!.i[OeXk=kS,`M=~> "92h>s4Pp'PQ8/l!7e^]!7f-iJ^s):s'l$.J,~> "92qDs4Ps(PlS8m!7nd^!7o3jJ_'/ "94j[s4Pp'PQ8/l!7e^]!7f-iJ^s):s-s&gJ,~> "92h>s4Pp'PQ8/2!!'XM!!('Y!!%T#m+),Fs8RT~> "92qDs4Ps(PlS80!!'XJ!!('V!!%T$m+22Js8RT~> "94j[s4Pp'PQ8/2!!'XM!!('Y!!%T#m+)-*s8RT~> "92h>s4Pp'PQ823!K$li`;thraMe1;!.i\eec0+Ys*t~> "92qDs4Ps(PlS;1!Jg`g_?#GmaMIt6!.i_ff)K=]s*t~> "94j[s4Pp'PQ823!K$li`;thraMe1;!.i\eec2-=s*t~> "92h>s4Pp'PQ823!K$li`;thraMe1;!.i\eec0+Ys*t~> "92qDs4Ps(PlS;1!Jg`g_?#GmaMIt6!.i_ff)K=]s*t~> "94j[s4Pp'PQ823!K$li`;thraMe1;!.i\eec2-=s*t~> "92h>s4Pp'PQ823!K$li`;thraMe1;!.i\eec0+Ys*t~> "92qDs4Ps(PlS;1!Jg`g_?#GmaMIt6!.i_ff)K=]s*t~> "94j[s4Pp'PQ823!K$li`;thraMe1;!.i\eec2-=s*t~> "92h>s4Pp'PQ823!K$li`;thraMe1;!.i\eec0+Ys*t~> "92qDs4Ps(PlS;1!Jg`g_?#GmaMIt6!.i_ff)K=]s*t~> "94j[s4Pp'PQ823!K$li`;thraMe1;!.i\eec2-=s*t~> "92h>s4Pp'PQ823!K$li`;thraMe1;!.i\eec0+Ys*t~> "92qDs4Ps(PlS;1!Jg`g_?#GmaMIt6!.i_ff)K=]s*t~> "94j[s4Pp'PQ823!K$li`;thraMe1;!.i\eec2-=s*t~> "92h>s7k.@!;"_@!;P(FPQ823!K$li`;thraMe1;!.i\eec0+Ys*t~> "92qDs7k1A!;"bA!;P+GPlS;1!Jg`g_?#GmaMIt6!.i_ff)K=]s*t~> "94j[s7k.@!;"_@!;P(FPQ823!K$li`;thraMe1;!.i\eec2-=s*t~> "92h>s7OnB!:\M=!;P(FPQ:Hsr;c3'#lqr`!6)nW`Phi<`;thrpr*45r5AX9oYge1pr*45qo&O8 lbrm^!;4;2!;4;5!6)nWji%7X!.i\eec0+Ys*t~> "92qDs7OqC!:\P>!;P+GPlUQqr;c3$#lqiZ!5cSQ_SQ<6_?#Gmpqd#Er5&GIoYLTApqd#Eqn`>H lbW[Y!;42/!;422!5cSQjh_%S!.i_ff)K=]s*t~> "94j[s7OnB!:\M=!;P(FPQ:Hsr;c3'#lqr`!6)nW`Phi<`;thrpr*45r5AX9oYge1pr*45qo&O8 lbrm^!;4;2!;4;5!6)nWji%7X!.i\eec2-=s*t~> "92h>s7OnB!;tCH!<:RL!<(IH!;Y.GPQ:Kt!!)u:!!)E*!!)r9!!(us!K$mP`;fo9`;fo'`;fo8 `;fo(`;thrp;I(5`;oVN!!)#t!K$l.ea1id@fQIY~> "92qDs7OqC!;tFI!<:UM!<(LI!;Y1HPlUTr!!)u7!!)E'!!)r6!!(up!JgaN_>n9I_>n97_>n9H _>n98_?#Gmp;-k2_>s;H!!)#q!Jg`,f'LufAcMd\~> "94j[s7OnB!;tCH!<:RL!<(IH!;Y.GPQ:Kt!!)u:!!)E*!!)r9!!(us!K$mP`;fo9`;fo'`;fo8 `;fo(`;thrp;I(5`;oVN!!)#t!K$l.ea1idS,`M=~> "92h>s7OnB!<(FJ!<1LT!7fU"e^XZMeH#Bp!L*T[`;fo5`Vol:`<-+Z!!)u:rr<5A!6)nW`Voi< `;onVrW)r:!s$:?!<'n:!;FG5M?*Ci!!*#;!!)u:rW)r:"9?C@`;onVrW)r:!s$:?!<0q;!<0t: !<'n:!;FG5M?*@h!W^1>r5JX8s2Fs;!Q>'<`Vol:`<-+Z!!*#;rrDf4!K$l.ea1id@fQIY~> "92qDs7OqC!<(IK!<1OU!7o^$f%'iPec>Kr!L3Z\_>jT2_YsQ7_?0eT!!)u7rr<5>!5cSQ_YsN9 _>sSPrW)r7!s$12L]I1d!,2AK!,2>Jrb2;J"DGYc_J&qcrb2;J"),PbB`>jKB`>mJ B`5gJB_T@EL]I.c!W^(;r5/F5s2+a8!Q"j9_YsQ7_?0eT!!*#8rrDf1!Jg`,f'LufAcMd\~> "94j[s7OnB!<(FJ!<1LT!7fU"e^XZMeH#Bp!L*T[`;fo5`Vol:`<-+Z!!)u:rr<5A!6)nW`Voi< `;onVrW)r:!s$:?!<'n:!;FG5M?*Ci!!*#;!!)u:rW)r:"9?C@`;onVrW)r:!s$:?!<0q;!<0t: !<'n:!;FG5M?*@h!W^1>r5JX8s2Fs;!Q>'<`Vol:`<-+Z!!*#;rrDf4!K$l.ea1idS,`M=~> "92h>s7OnB!<(FJ!<1LK!<1OK!<1LK!;P(FPQ:Nu!!)i6!!*#;)?@aq!!(!W!6)nW`PhfW`Phhr `;mlr!6)nWrl# "92qDs7OqC!<(IK!<1OL!<1RL!<1OL!;P+GPlUWs!!)i3!!*#8)?@Xk!!'mQ!5cSQ_SQ9Q_SQ;i _>qHi!5cSQrk]*E_SQ9Q_SQ;i_>qHi!;OD3L]I1d!,2AK!,2AK!,2AK$>@;nBP>9"BYqW"rk]+X _STu"_SU!'_J$g'B`>jQBYqW"_SU!]_?#GmpVHn1rk\X8rk\X8rk\sA_SQ;i_>qHi!<0h "94j[s7OnB!<(FJ!<1LK!<1OK!<1LK!;P(FPQ:Nu!!)i6!!*#;)?@aq!!(!W!6)nW`PhfW`Phhr `;mlr!6)nWrl# "92h>s7OnB!<(IG!<1OK!<1LK!;P(FPQ:Nu!!)i6!!*#;!s$!6)nWrl#9G`Phhr`;mlr !6)nWrl"s>`PhiV`<-+Z`;oSM!K$mO`;fo;`;fo7`<-+Z`;onV!!)o8!s$!6)nWr5AX9ou-rh!.i\eec0+Ys*t~> "92qDs7OqC!<(LH!<1RL!<1OL!;P+GPlUWs!!)i3!!*#8!s$3T!<0h;!5cSQrk]'D_SQ;i_>qHi !5cSQrk\a;_SQs8G!JgaM_>n9K_>n9G_?4Jg_J&qc!,28H"),QgB`>jQBYqW"_SU!c _?4Jg_J&VZ!JgaM_>jT8_>jT8_>jT5_?L"W_>qHi!<0h;!5cSQr5&F6otg`c!.i_ff)K=]s*t~> "94j[s7OnB!<(IG!<1OK!<1LK!;P(FPQ:Nu!!)i6!!*#;!s$!6)nWrl#9G`Phhr`;mlr !6)nWrl"s>`PhiV`<-+Z`;oSM!K$mO`;fo;`;fo7`<-+Z`;onV!!)o8!s$!6)nWr5AX9ou-rh!.i\eec2-=s*t~> "92h>s7t1Ojn&EMm.9>heH#Ks"p!3(!7fU"psfD0!;XS6!;XS6!<0q>!6)nWrl"s>`PhiV`=)ac `;mlr!6)nW`PhiV`<-+Z`;onV!!*#;rrDf4!K$mN`<$%Y!;sh7!<:"!6)nW`PhiV`<-+Z`;oeSrrDf4!K$l.ea1id@fQIY~> "92qDs7t4P_Qp2?S$p;eec>Tu"p!6*!7o^$psoJ2!;XJ3!;XJ3!<0h;!5cSQrk\a;_SQqHi!5cSQ_SQsSP!!*#8rrDf1!JgaL_?+DfB`,aGB`GpLB`>jKB`>mIB`GpLB`>jP BYqW"_SZ4arke\KpVHre!;FA.!<0h8!;jV;!5cSQ_SQsJMrrDf1!Jg`,f'LufAcMd\~> "94j[s7t1OKKB_F!'>kaeH#Ks"p!3(!7fU"psfD0!;XS6!;XS6!<0q>!6)nWrl"s>`PhiV`=)ac `;mlr!6)nW`PhiV`<-+Z`;onV!!*#;rrDf4!K$mN`<$%Y!;sh7!<:"!6)nW`PhiV`<-+Z`;oeSrrDf4!K$l.ea1idS,`M=~> "92h>s81=Ih=g^F!qtFMrm_&MeH#Qu!W^aNpsfD0!;XS6!;XS6!<0q>!6)nWrl"s>`PhiV`=)ac `;mlr!6)nW`PhiV`<-+Z`;onV!!)r9$NSrLqu?Q]gVq-h!;=A5!6"s:`;fo;`<-+Z`;onV!s$!6)nWrl#'A`Phhr`;o\P#%?rss826=rl"nq!;OM5!;se`Phhr`;onV!s$ "92qDs81@Mb,:ffi;V[;V68#Brmh,Nec>["!W^dOpsoJ2!;XJ3!;XJ3!<0h;!5cSQrk\a;_SQ

qHi!5cSQ_SQsSP!!)r6$NRfJZ`pU8[_fn;!;=82BYnH]_>n9K_?4Jg_J&qc "),QgB`>jNBYqW"rk\kQ_SU!'_J&_]#)':^UnX`lrk\\l!;OD2!;s\9!5cSQqn`O;_SQ;i_>sSP !s$3T!;XJ3!;OD3L]E"Wm+22Js8RT~> "94j[s81=JX=OALWWN5PX8r7M!W^aNrRCrLeH#Bp!L*T[`;fo6`;fo;`<-+Z`;onV!s$!6)nWrl"j;r5B$DGrH35%QA[P`JOZh`<$%Y!<'k:!<0q>!6)nWrl"s> `PhiV`<-+Z`;onV"ouW]!6)nWpr*F;2\#ft2gPDA!K$mP`;fo9`<-+Z`;oeS"ouW]!6)nWrl"s> `PhiQ`;fo5`;thrJ^s,;s-s&gJ,~> "92h>s8:CJh>I'J!W:dQ!<:RL!<(FM!7_&Lq:,M1!;OM5!<'k=!6)nWrl"s>`PhiV`=i6j`;mlr !!(!W!6)nW`Phhr`;onV!s$M?*=g!!)r9!!*#;!s$!6)nW rl# "92qDs8:FMadJNar;Zei!M[d:!<:UM!<(IN!7h,Mq:5S3!;OD2!<'b:!5cSQrk\a;_SQqHi!!'mQ!5cSQ_SQ;i_>sSP!s$3T!<0h>!5cSQ_S(a(j9O`)iLm!XL]I+b!,2;I!,2AK"),Qg B`>jNBYqW"rk]+X_STu"_SU!'_J$g'B`>j\BYqW"^Tss#iS`PJQ(,;#L]I4e!!)r6!s$3T!<0hA !5cSQ_SQ;i_>sSP!s$3T!;s\9!5cSQpqd&f!.i_ff)K=]s*t~> "94j[s8:CLX:P@3r;Zcs!>)@3!<:RL!<(FM!7_&Lq:,M1!;OM5!<'k=!6)nWrl"s>`PhiV`=i6j `;mlr!!(!W!6)nW`Phhr`;onV!s$!6)nWr5Aa<`PhiP`;thrJ^s,;s-s&gJ,~> "92h>s8:CIp@eLdp?U60PQ:Hsr;cf8rW)r:!!*#;!!*#;rrrrW(k!;4;2!;jb7!!C1?`;onV!!*#;rW!/A!6"rW!!*#;!!*#;rW)r:!RU3.rr`/F M?*Fj!!)r9!!*#;rW)r:rr<)=!<0t:!<0q;!;jb8!;FG "92qDs8:FOSW]5(h=U^Hs-j%WVsSP rW)r7!!*#8!!*#8!?JcJrrh/FQ\ke9_>n9H_Z"3N_J$f"rk\YKrkeYJ#/Y&jBYnFrrk\YKrkeYJ rk\`MVW7OQ"LO2uL]I4e!!)r6!!*#8rW)r7rr<):!<0k7!<0h8!;jY5!;F>9L]GoE\#c[AbCS79 f)K=]s*t~> "94j[s8:CI/H,VMWoF$XrVupLldZ$#!;FJ2!<'n9!<0q;!<0q;!<0t;!"-[F`Phhr`;fnW!<0t: !<0q;!<0q;!<0q!6"s;`;fo;`VoiA`;mjW`;fo;`;fo;`Vol: `<)\4Wqu_u<=Y[Z!;OM5!;se9!<0t:!<0t;!!1%=rl+j:rl"j;qo/R8pVdDq!30 "92h>s8CIJjn/QQjm:LuPQ8V?!;#pa!TjC(`;oN'rrV_J!6E+[Qc]+(!VY2teb.Jm@fQIY~> "92qDs8CLQ\VcE0PEal%rre^UQB])LecD$9_nlJN^]4;k!:'R`"430f!6N(^XJb%9i8 "94j[s8CIJK_tfMWrE%s!!%]=eH(m7_o2[, "92h>s8CIJo(;q^oBb!.PQ8Y@!8I/G!+ "92qDs8CLQSVW/^Nf`#ps8S8aP)uI*ecD$9`52V]Q_h=nSH5VOrr3%YLbm2j#e$J%[\'+[UZ_XV ",DVd!6N(]^ok#LYfQeCs-3T.J_'PGs(261J,~> "94j[s8CIJ48]'YWrE%s!!#+IeH(m7`5Mh(!#nr;!!+%Yrr;rtb/FI.!!"tW!!+%Yrr3'#!`oBD `;utGrVupurVlp!&@[5@p=924s8RT~> "92h>s8CILqYgEerrDu`eH(m7`5M`Ep&>'l[E?Ggme6Y_rVYCMai+8OpAY-dJ^sJEs'l$.J,~> "92qDs8CLQN/*1EMN$6fs8S,ZMu]",ecD$9`52VIP*D:3QN "94j[s8CIJ&c;V/WrE%s!!!SseH(m7`5M^8q>^Mqrr;rtb/F?>qZ$m@`rH(Y!!4VMai+60rVupW r;Zcs!%`]Op=924s8RT~> "92h>s8CLJquZirrqQKnrp8/9PQ8Y@!;lKi!r`&\b/FAXp\tBpr;6$bb/FA8p&>'ljFPkUec0+Y s*t~> "92qDs8COKK`m-cLPXU^s8RuVL]E4secD$9`52V:N/j&"Op@uWs8U5sL3^qY&"AuTR$ZU_k5YJB PD+[B!6W.^\#-+&]Cl+%"-ACq\:N6*f)K=]s*t~> "94j[s8CLJ!rW*!WrE%r!:85:PQ8Y@!"Sl+#<1ZBs,6pZ!m8I^%fHD-WX-WEs2H&\":bFS`;k2_ !!,% "92h>s8CIOp\XmdrVc]prr)rsqWu`5PQ8Y@!<2`m"9&/pqT?eOrrrE"qtg*gb/FAKp&>'knU]6b ec0+Ys*t~> "92qDs8CLQLkLJ9L5+=Zs8IcSL5bKM!L3Z'_?5RLMMhCl#Nc!cjHG:NK?D(1PQ?u2r;QrPKnP)1 !6W.`WM-''s8U6trr3(ZLk_CMf([bqAcMd\~> "94j[s8CIJ'E/(5!!'%us8;ot&a\$KPQ8Y@q>^c?s8U(Z!WiMI`V]`6rroD(!X&]-b/FTE!!$%! s)G( "92h>s8CIPmeZhXr;?QnrrE#squH9ReH(m7`5MfQrVc`prVuoq!rMiVb/FAXp\tBpqYBU\b/FAX pAY3nr:kinpXT:Qs8RT~> "92qDs8CLQR=g0GKn\+Ws8RiRK`IV/ecD$9`52P4LAlr7Q/quFjFr;@K6PJT!0dDB$]NckfCAn@ aFf(r!6W.[SX[_"rrJPCrr3(VLP:V:f([bqAcMd\~> "94j[s8CIL5Qh5h!W]8"s8 "92h>s8CIPiq`EHqYU9ks8Dfpj6Y:sPQ8Y@!UT^_r!EB&s8MomqYBokb/FAKrVuoss8<0$s8W#l f`916pAY6orVQGBeb@Vo@fQIY~> "92qDs8CLQ[Xs*`K7qhTs8@TN[d;QGPlSb>%[Md%Kne[gs2^@VK7\YYb/+.Hreg`3$&=8/jT#7j JV*sF_?Z?lh#IE$Q.u<<",DVaK7VVJf)K=]s*t~> "94j[s8CILLB[t^"9>J$s8N0#"9=2CeH(m7`5M^:r;m2Cs8S*$"9e].b/F?>q>^a\a8c0]"tTbs `W#oAWrN*X!36%u!rrB("G,+tec2-=s*t~> "92h>s8:CJnG*"Y!<)osrqZWbl.*`P#6"Dqrr<#trqZcnq"XU]aoD>=!<)op"oeQ%rV-6(rr`8u qY>^Bq#:Hs@UfB;J,~> "92qDs8:FOP(A19K%Br$rdt38l.3fQ%aK]hjT#8@KS+o/JUr?sb5Vt!LPMS+L5(DSjT#81JBl:: #FMt"s6$huk5PA_Y+L?(JcGNF"9<"Es8RT~> "94j[s8:CI1]7LXXT&8!"9:4Ae\qIlTEHCXs8U.="TAT+#bfE@%\3S"3E6%\!]e=$s/ZL"ao;SZ "92h>s8:CNg[t78q#13l"8V`bgoJs+nbW7b!W;inq>p "92qDs8:FO`eK"oJ^sc"s+(3+`iIYkPH+W^!QV;?WW@U3aOUT_L=ZC-XK:I]rrKWlaOUBaZM4A# eq0<@f(df!!+faAs*t~> "94j[s8:CNXqq?J#-@h(rrrK=Y,g(R1Kj_W!0I+]!=1R(eH7E*WrN'"!6>*=!Hg9@eH%a3p\t;r #!mgjpsfKIS"'HXJ,~> "92h>s81=Lg[=e0qu6Kpp[Hq;eH+G"q#:BdgW7nHh"^mErrMcHaOL=QrqQKqrVZHMJ^sSH"dB!r @fQIY~> "92qDs81@M`K>Y"\Gk"[JJ_'YJ "dK(!AcMd\~> "94j[s81=LXtp=hFoJHD#W&W`eH)g`q#:@4Y/o,pXqRi2rrF"?aOL "92h>s7t1LiU$41o^1Y9eH+_+qtpNmq:ip>!Sm5DrVucsp?p\TeH#7@rVucqrr2p!q"O3-ebIYu PQ50%s8RT~> "92qDs7t4M[?lSqKpT3FecF4QqU>Q"`Q$I0`g$DO"4Vg_`Q$I/QMuX=K`K^'rrRb%Ob)*Yech<= AS(oAJ,~> "94j[s7t1LLdN$e)+04XeH*Lur2fq$!P>MSeH)g.qlBi)26OsL!&"0N!36%u!X8odJ^sPG"dB"V S,`M=~> "92h>s-D1>iTp(,na#,MeHY%#o_.qDiPa7IgA([E!W)corrVrefn%]KeHM0;@UfB;J,~> "92qDs-D4?[$?8jK9`d[ecrOLL4=oD[)CMrbDQ:P!JAu&rrR_)b(8.=ech<=AS(oAJ,~> "94j[s-D1>LdW0j)aoM!eHUdq(C1gELr@gE\.efD!3H2"!XKUPJ^sPG"dB"VS,`M=~> "92h>s+/^YeH+@nrqQ`prVZT]fR_TIeHM0;@UfB;J,~> "92qDs+/aZecF!Zrdkech<=AS(oAJ,~> "94j[s+/^YeH*E?rWW@Fri?,X^Oar0eHM0;S"'HXJ,~> "92h>s8:Du!0.$`0T+NWf8;9,!!$MZ)'/PQ50%s8RT~> "92qDs8:H!!0.$`)+JRpE'tSg!!"^g!<1R?M#Gm.PlPB,s8RT~> "94j[s8:Du!0$s^"9o,;"9QgJ!!L(;rmgRsrRD(9!1TJXs*t~> "92h>s8:CI!.gAcP`q=3!<1LKMY$lKp\iVGPQ50%s8RT~> "92qDs8:FJ!.gDdQ'7I5!<1OLM"CZIp\iYHPlPB,s8RT~> "94j[s8:CI!.gAcP`q=3!<1LKMY$lKp\iVGPQ72Bs8RT~> "92h>s8:CJ!0i$7JH1r8!WN0!eH(O-r5A[9qo&R0rRD(9!+KF;s*t~> "92qDs8:FK!0r*8JH1r8!WN0!ecCR,r5&I6qn`@-rRM.;!+faAs*t~> "94j[s8:CJ!0i$7JH1r8!WN0!eH(O-r5A[9qo&R0rRD(9!1TJXs*t~> "92h>s8:CL!0dH`JcC<$R/[6 "92qDs8:FM!0mNaJcC<$R/[6=rrE&L!JgaS_?0bg!;s\6p\iYHPlPB,s8RT~> "94j[s8:CL!0dH`JcC<$R/[6 "92h>s8:CL!0dH`JcC<$R/[6 "92qDs8:FM!0mNaJcC<$R/[6=rrE&L!JgaS_?0bg!;s\6p\iYHPlPB,s8RT~> "94j[s8:CL!0dH`JcC<$R/[6 "92h>s8:CJ!0mH_rr2rurr3'#s8N)krr<&rrr<&mrrW9$rrC1@!!)or!!)Wjrr<-#!!(mU!s&B$ !:9ab!.k1(rrUaN!<1LLM?*Xp"TR$&PQ:[$!;HHB"dB!r@fQIY~> "92qDs8:FK!1!N`rr2rurr3'#s8N)krr<&rrr<&mrrW9$rrC1@!!)or!!)Wjrr<-#!!(mU!s&B$ !:9ab!.k1(rrUdO!<1OML]IFk"TR'(PlUd"!;HHC"dK(!AcMd\~> "94j[s8:CM!0dH`MZ3VUMZ3VXMZ<^6o`"oKqu6YRpAY5Ps8Rturr@rRrr@rJs8RrXs,)]jrr\/Y s,-1Crec:,gA_6)rrE&K!K$mV` "92h>s8:CJ!0mH_rr2rurr3'#s8N)krr<&crr<&@rr<&rrr<&krrW9$rrCjS!s&B$!:Bdd!<2uu !.k1)rrUaN!<1LLM?*Xp"TR$&PQ:[$!;HHB"dB!r@fQIY~> "92qDs8:FK!1!N`rr2rurr3'#s8N)krr<&crr<&@rr<&rrr<&krrW9$rrCjS!s&B$!:Bdd!<2uu !.k1)rrUdO!<1OML]IFk"TR'(PlUd"!;HHC"dK(!AcMd\~> "94j[s8:CM!0dH`MZ3VUMZ3VXMZ<^6o`"oKm/I'Cao;?uqu6YRo`##Ns8Ru3rr\/Ys,-4D!/gdU !/c@-g]%?*rrE&K!K$mV` "92h>s8:CJ!0mH_rr2rurr30&s8N*!!!)utrW)uurW)lr!!*#u!!)lq! "92qDs8:FK!1!N`rr2rurr30&s8N*!!!)utrW)uurW)lr!!*#u!!)lq! "94j[s8:CM!0dH`MZ3VUMZ3V[MZ<^6s,)^4s8IoUs8IoRrr@rUrr@rQrrJ#WregLN!/gdU!/gdU reg^T!/gdU!/gXQreg[Sreg^T!/gdU",d-YMZ3YUM?3a7qZ$PPs8VtRs8W(Urr3%Ws,-aS"cE>; s8RuTs8IoQs8IlYs,-i6MZ*SSMZ3VXMZ8Qkrr2tUrr2tUJcFL)!nI;Nrm_./!6)qWrRCq5!<0q; p\iVGPQ72Bs8RT~> "92h>s8:CT!0dH`rrE*!!<<'!rr;uus8N0$s8N)urrW9$rrDrr"T\T&!<3&rrrW9$rrDfn!!*#u !s&B$!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)urrW9$rrE&u$3:,+!<<'!s8N'!qu6Wrrr39)s8N*! rrE*!!<3!$!<<'!!;lfr!!iN(!<3'!rrE&u!!)or$3:,+!!*'!!<<'!rr33's8N'!s8N)srr<%M s4[JSec,XKeHCa0`PqlUeH(m7rl"m3rRD(9!+KF;s*t~> "92qDs8:FU!0mNarrE*!!<<'!rr;uus8N0$s8N)urrW9$rrDrr"T\T&!<3&rrrW9$rrDfn!!*#u !s&B$!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)urrW9$rrE&u$3:,+!<<'!s8N'!qu6Wrrr39)s8N*! rrE*!!<3!$!<<'!!;lfr!!iN(!<3'!rrE&u!!)or$3:,+!!*'!!<<'!rr33's8N'!s8N)srr<%M s4[JSf)GaLec^d/_SZ?OecD$9rk\[0rRM.;!+faAs*t~> "94j[s8:CT!0dH`s,-jVMZ<^6rr<"Us8N1Ys8RuUrr\/Ys,-^R"cE?[MZ8S2rr\/Ys,-RN!/gdU ",d-YMZ3VXMZ<^6rr2tUqu6YRrr3(Xs8RuUrr\/Ys,-gU$B"l`MZ<^6s8Rt6qu6YRrr3:^s8RuV s,-jVMZ3VYMZ<^6MYmGRM?j0=MZ8S6s,-gU!/g[R$B"l`MMhH6MZ<^6rr34\s8Rt6s8RuSrr@q- s4[JSec,XKeHCa0`PqlUeH(m7rl"m3rRD(9!1TJXs*t~> "92h>s8:CT!0dH`rrE'!rrE'!rr2rurr2ruqu6`us8N)rrrW9$rrDlp!s&B$!;HKn!<3!#!<<'! rr3'#s8N)urr<&rrr<&rrr<&urrW9$rrE&u"p"]'!<<'!rr2ruqu6Wrrr39)s8N*!rrE*!!<3!# !<<'!qYpj%s8N*!rrE*!!<2uu!;lcu!<<'!rr3'#s8N)urrW9$rrE&u!!)rs!!%TMgA_6)rrE&K ",[)ts81=LPQ8\Ap\iVGPQ50%s8RT~> "92qDs8:FU!0mNarrE'!rrE'!rr2rurr2ruqu6`us8N)rrrW9$rrDlp!s&B$!;HKn!<3!#!<<'! rr3'#s8N)urr<&rrr<&rrr<&urrW9$rrE&u"p"]'!<<'!rr2ruqu6Wrrr39)s8N*!rrE*!!<3!# !<<'!qYpj%s8N*!rrE*!!<2uu!;lcu!<<'!rr3'#s8N)urrW9$rrE&u!!)rs!!%TMgA_6*rrE&L ",Hros81@MPlS\ "94j[s8:CT!0dH`s,-i6s,-i6rr2tUrr2tUqu6bUs8RuRrr\/Ys,-XP",d-YMYI,NMZ3VXMZ<^6 rr3(Xs8RuUrr@rRrr@rRrr@rUrr\/Ys,-gU#)`H\MZ<^6rr2tUqu6YRrr3:^s8RuVs,-jVMZ3VX MZ<^6qYpkZs8RuVs,-jVMZ3VUMYmDUMZ<^6rr3(Xs8RuUrr\/Ys,-gU!/g^S!/c@-gA_6)rrE&K ",[)ts81=LPQ8\Ap\iVGPQ72Bs8RT~> "92h>s8:CT!0dH`rrE'!rrE'!rr2rurr2rurr;oss8N'!qu6Wrrr2ruqYpWts8N)nrrW9$rrE&u !!*#u!s&B$!<2uu!;lcr!;lcr!<3!#!<<'!rr30&s8N*!rrE&u!!)or!!*#u#QXo)!<<'!s8Vus s8N'!qYpg$s8N*!rrE*!quHWo!s&B$!<3!"!<<)s!<<'!!<2uu!<)ot!.k1'rrUaN!<1LNM?(Wq qpbh6!6)qOrRD(9!+KF;s*t~> "92qDs8:FU!0mNarrE'!rrE'!rr2rurr2rurr;oss8N'!qu6Wrrr2ruqYpWts8N)nrrW9$rrE&u !!*#u!s&B$!<2uu!;lcr!;lcr!<3!#!<<'!rr30&s8N*!rrE&u!!)or!!*#u#QXo)!<<'!s8Vus s8N'!qYpg$s8N*!rrE*!quHWo!s&B$!<3!"!<<)s!<<'!!<2uu!<)ot!.k1'rrUdO!<1OOL]G "94j[s8:CT!0dH`s,-i6s,-i6rr2tUrr2tUrr;qSs8N(Vqu6YRrr2tUqYpYTs8RuNrr\/Ys,-gU !/gdU",d-YMZ3VUMYmDRMYmDRMZ3VXMZ<^6rr31[s8RuVs,-gU!/g[R!/gdU#`AZ^MZ<^6s8W"S s8N(VqYphYs8RuVs,-jVr/1CO",d-YMZ3VWMZ<_SMZ<\VMZ3VUMZ*PTMLkf\rrUaN!<1LNM?(Wq qpbh6!6)qOrRD(9!1TJXs*t~> "92h>s8:CO!0dH`s8N)urr<&trr<&urrW9$rrE&u!s&B$!;lcr!<)ot!;lcu!<<'!pAY0orrE&u !!*#u!s&B$!<2uu!;lcr!;lcr!<3!#!<<'!rr30&s8N*!rrE&u!!)or!!*#u#lt#*!<<'!s8N)r rr<&qrs8]*rrE*!!<<'!p\t "92qDs8:FP!0mNas8N)urr<&trr<&urrW9$rrE&u!s&B$!;lcr!<)ot!;lcu!<<'!pAY0orrE&u !!*#u!s&B$!<2uu!;lcr!;lcr!<3!#!<<'!rr30&s8N*!rrE&u!!)or!!*#u#lt#*!<<'!s8N)r rr<&qrs8]*rrE*!!<<'!p\t "94j[s8:CO!0dH`s8RuUrr@rTrr@rUrr\/Ys,-gU",d-YMYmDRMZ*PTMYmDUMZ<^6pAY2Os,-gU !/gdU",d-YMZ3VUMYmDRMYmDRMZ3VXMZ<^6rr31[s8RuVs,-gU!/g[R!/gdU$&\c_MZ<^6s8RuR rr@rQrs=S_s,-jVMZ<^6p\t>Qs8RuUrr\/Ys,-^R!/gdU!/gaT!/c@-g&D-(rrE&K",[*YebPF2 !6+^2eHM0;S"'HXJ,~> "92h>s8:CO!0dH`s8N)urr<&trr<&urrW9$rrE&u!s&B$!;ld"!<<'!rrDrr!s&B$!;?Eo!<3&u rr<&urs&Q(rrE*!!!)or!!*#u!s&B$!<3!1!<<'!s8N'!s8N*!rrE*!!!)or!!*#u#lt#*!<<'! s8N)urrW9$rrDoq#lt#*!<<'!s8N)urr<&rrrW9$rrE&u!s&B$!<3!#!<<'!rr2ruJcF7"!nI;N rm_+.!<:UG!!AGc`V9>]"dB!r@fQIY~> "92qDs8:FP!0mNas8N)urr<&trr<&urrW9$rrE&u!s&B$!;ld"!<<'!rrDrr!s&B$!;?Eo!<3&u rr<&urs&Q(rrE*!!!)or!!*#u!s&B$!<3!1!<<'!s8N'!s8N*!rrE*!!!)or!!*#u#lt#*!<<'! s8N)urrW9$rrDoq#lt#*!<<'!s8N)urr<&rrrW9$rrE&u!s&B$!<3!#!<<'!rr2ruJcF7"!nRAO rmh1-!<:XH!!AJd_Y=#["dK(!AcMd\~> "94j[s8:CO!0dH`s8RuUrr@rTrr@rUrr\/Ys,-gU",d-YMYmDWMZ<^6s,-^R",d-YMY@&OMZ8S5 rr@rUrs+G]s,-jVMMh<2!/gdU",d-YMZ3VfMZ<^6s8Rt6s8RuVs,-jVMMh<2!/gdU$&\c_MZ<^6 s8RuUrr\/Ys,-[Q$&\c_MZ<^6s8RuUrr@rRrr\/Ys,-gU",d-YMZ3VXMZ<^6rr2tUJcF7"!nI;N rm_+.!<:UG!!AGc`V9>]"dB"VS,`M=~> "92h>s8:CO!0dH`s8N)urr<&trr<&urr<&us8E!$rrE'!!;uis!<2uu!;c^#!<<'!!<<'!q>UEp r;Z`rrVult!WN/rs8E#ss8E#ss8N'%rrE*!!<3#u!!3*"qZ$Nprr3'#s8N)us8E#trr<&qrrrK' rrE*!!<3#t!;c`q!!3*"rr2rurr;rtrr2rurr2rurVlitJcFF'!nI;Nrm_%,!;4;2p\iVGPQ50% s8RT~> "92qDs8:FP!0mNas8N)urr<&trr<&urr<&us8E!$rrE'!!;uis!<2uu!;c^#!<<'!!<<'!q>UEp r;Z`rrVult!WN/rs8E#ss8E#ss8N'%rrE*!!<3#u!!3*"qZ$Nprr3'#s8N)us8E#trr<&qrrrK' rrE*!!<3#t!;c`q!!3*"rr2rurr;rtrr2rurr2rurVlitJcFF'!nRAOrmh++!;42/p\iYHPlPB, s8RT~> "94j[s8:CO!0dH`s8RuUrr@rTrr@rUrr@rUs8IlYs,-i6MZ!JSMZ3VUMYd>XMZ<^6MZ<^6q>UGP r;ZbRrVunT!WS&Rs8IoSs8IoSs8RrZs,-jVMZ3YUM?3a7qZ$PPrr3(Xs8RuUs8IoTrr@rQrs"A\ s,-jVMZ3YTMYdAQM?3a7rr2tUrr;tTrr2tUrr2tUrVlkTJcFF'!nI;Nrm_%,!;4;2p\iVGPQ72B s8RT~> "92h>s8:CL!0dH`cMmkEq>UEpJcC<$ec,^$rrE&K!K$mOrrN2>p\iVGPQ50%s8RT~> "92qDs8:FM!0mNacMmkEq>UEpJcC<$ec,^%rrE&L!JgaMrrN2;p\iYHPlPB,s8RT~> "94j[s8:CL!0dH`cMmm%q>UGPJcC<$ec,^$rrE&K!K$mOrrN2>p\iVGPQ72Bs8RT~> "92h>s8:CK!0dK/rr<&prr<%Ms+14"rrUaN!<1LMM?*\OeH,`ip\iVGPQ50%s8RT~> "92qDs8:FL!0mQ0rr<&prr<%Ms+14"rrUdO!<1ONL]IJMecGigp\iYHPlPB,s8RT~> "94j[s8:CK!0dK/rr@rPrr@q-s+14"rrUaN!<1LMM?*\OeH,`ip\iVGPQ72Bs8RT~> "92h>s8:CK!0dK'rr<%Ms+14!rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mQ(rr<%Ms+14!rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dK'rr@q-s+14!rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1ONL]IJNecV0;_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LMM?*\PeH;$9`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LNM?*\,q31p\`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1OOL]IJ+q3;!]_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LNM?*\,q31p\`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LKMY-rM`V9>]"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1OLM"L`K_Y=#["dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LKMY-rM`V9>]"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LLM?*=g!;HHB"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1OML]I+b!;HHC"dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LLM?*=g!;HHB"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LNM?*\,qYpY^!6+^2eHM0;@UfB;J,~> "92qDs8:FL!0mP8s+13:rrUdO!<1OOL]IJ+qYpY_!5eL/ech<=AS(oAJ,~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LNM?*\,qYpY^!6+^2eHM0;S"'HXJ,~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LNM?(WqqUGZJ`PqTMeHM0;@UfB;J,~> "92qDs8:FL!0mP8s+13:rrUdO!<1OOL]G "94j[s8:CK!0dJ7s+13:rrUaN!<1LNM?(WqqUGZJ`PqTMeHM0;S"'HXJ,~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LNM?(Wqqpbh6!6)qOrRD(9!+KF;s*t~> "92qDs8:FL!0mP8s+13:rrUdO!<1OOL]G "94j[s8:CK!0dJ7s+13:rrUaN!<1LNM?(Wqqpbh6!6)qOrRD(9!1TJXs*t~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LOM?(W7s8:CI!<0q;p\iVGPQ50%s8RT~> "92qDs8:FL!0mP8s+13:rrUdO!<1OPL]G "94j[s8:CK!0dJ7s+13:rrUaN!<1LOM?(W7s8:CI!<0q;p\iVGPQ72Bs8RT~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LOM?(W7s8CIKPQ:^%!;HHB"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1OPL]G "94j[s8:CK!0dJ7s+13:rrUaN!<1LOM?(W7s8CIKPQ:^%!;HHB"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LLM?*Xp!<<&K!!)u:!;HHB"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1OML]IFk!<<&L!!)u7!;HHC"dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LLM?*Xp!<<&K!!)u:!;HHB"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LLM?*Xp"TR$&PQ:[$!;HHB"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1OML]IFk"TR'(PlUd"!;HHC"dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LLM?*Xp"TR$&PQ:[$!;HHB"dB"VS,`M=~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LLM?*Uo!rpdNr5A[1rRD(9!+KF;s*t~> "92qDs8:FL!0mP8s+13:rrUdO!<1OML]ICj!rpgOr5&I.rRM.;!+faAs*t~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LLM?*Uo!rpdNr5A[1rRD(9!1TJXs*t~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LLM?*Uo!rnJbr5A[1rRD(9!+KF;s*t~> "92qDs8:FL!0mP8s+13:rrUdO!<1OML]ICj!rnMcr5&I.rRM.;!+faAs*t~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LLM?*Uo!rnJbr5A[1rRD(9!1TJXs*t~> "92h>s8:CK!0dJ7s+13:rrUaN!<1LLM?*Rn!!)o8!;HHB"dB!r@fQIY~> "92qDs8:FL!0mP8s+13:rrUdO!<1OML]I@i!!)o5!;HHC"dK(!AcMd\~> "94j[s8:CK!0dJ7s+13:rrUaN!<1LLM?*Rn!!)o8!;HHB"dB"VS,`M=~> "92h>s8:CK!0dJ7eUc8:eH,[Mrm_%,!;se9!;j_8p\iVGPQ50%s8RT~> "92qDs8:FL!0mP8eq)D "94j[s8:CK!0dJ7eUc8:eH,[Mrm_%,!;se9!;j_8p\iVGPQ72Bs8RT~> "92h>s8:CJ!0i'7JcCu7!!*#K!K$mM`;oZ2eHM0;@UfB;J,~> "92qDs8:FK!0r-8JcCu7!!*#L!JgaK_>s?/ech<=AS(oAJ,~> "94j[s8:CJ!0i'7JcCu7!!*#K!K$mM`;oZ2eHM0;S"'HXJ,~> "92h>s8:Du!.b-4!<1LKMY$T@eHM0;@UfB;J,~> "92qDs8:H!!.b-4!<1OLM"CB>ech<=AS(oAJ,~> "94j[s8:Du!.b-4!<1LKMY$T@eHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s7OnBp\32 "92qDs7OqCp\35=B`-E]B^4.KBS"`ceu[F+PlPB,s8RT~> "94j[s7OnBp\32<3W.D-3U5,p3J#_3eZ@:)PQ72Bs8RT~> "92h>s7Y"Bp\<;=!<(FJ!:&)7!.i[OeZ@:)PQ50%s8RT~> "92qDs7Y%Cp\<>>B`6K^B^4.KBS"`ceu[F+PlPB,s8RT~> "94j[s7Y"Bp\<;=3W7J.3U5,p3J#_3eZ@:)PQ72Bs8RT~> "92h>s7b(DpB&n>p\E>@!7_)KeGoUKec#RJeHZ*)!7_)"!7h&Ks4.)Ks4.)Krm_&MeGt0NJ^q9\ "dB!r@fQIY~> "92qDs7b+EpB&q?p\EAAB\$krec9C_f)B@^ed#m>B\$kJB\*/rs470_s470_rmh-aenBWcJ_%?^ "dK(!AcMd\~> "94j[s7b(DpB&n>p\E>@3Rp.heGqW/ec%T.eH\+b3Rp.?3S"*hs4.*/s4.*/rm_'1eN&32J^q9\ "dB"VS,`M=~> "92h>s7k.Ep\r_Cp\NDA!7_)KeH5g%eH#U!$38W,!!(R"!!(OLrm_2Qe^XZMeH#U:"9@!&!!%T# J^q6["dB!r@fQIY~> "92qDs7k1Fp\rbDp\NGBB\$krecTU:enG'6$>A#ABP>uJBP>t1rmh9ef%+NcenG'J"DHB;BP;tJ J_%<]"dK(!AcMd\~> "94j[s7k.Ep\r_Cp\NDA3Rp.heH7h^eN*WZ$9?Ye3B>X?3B>VMrm_35e^Z\1eN*Ws"?G#_3B;Z@ J^q6["dB"VS,`M=~> "92h>s7t4Fp\`SAp\WJF!7fU"e^XZseH5g%eH#U!!!)oH"p!3(!7fU"rpBjge^XYNeUc8ZeHM0; @UfB;J,~> "92qDs7t7Gp\`VBp\WMGB\(aJf%+O3ecTU:enG'6!,28\#&)T=B\(aJrosT!f%+Mceq)D\ech<= AS(oAJ,~> "94j[s7t4Fp\`SAp\WJF3RuY?e^Z\WeH7h^eN*WZ!'0r,#!(5a3RuY?rpBkKe^Z[2eUc8ZeHM0; S"'HXJ,~> "92h>s8(:Gp\NG?p\`PA!<1LM!7_)KeboLJeGoUKeGoUKeboLJeH5g%eH#U:!s$m%!.i[Oe[F!3 PQ50%s8RT~> "92qDs8(=Hp\NJ@p\`SBB`?QaB\$krf)9:^ec9C_ec9C_f)9:^ecTU:enG'J")-9:BS"`cf!a-5 PlPB,s8RT~> "94j[s8(:Gp\NG?p\`PA3W@P13Rp.hebqN.eGqW/eGqW/ebqN.eH7h^eN*Ws"$+o^3J#_3e[F!3 PQ72Bs8RT~> "92h>s7t1H!2QFiec2EF!;k:H!<1LP!7_)"eH#U:!s$m%!<1LN!7fU"rpBsje^XZMeH#U:!s$m% !.i[Oe[F!3PQ50%s8RT~> "92qDs7t4I!2ZOkf)MQH!;k=IB`?QdB\$kJenG'J")-9:B`?QbB\(aJros]$f%+NcenG'J")-9: BS"`cf!a-5PlPB,s8RT~> "94j[s7t1H!2QFiec2EF!;k:H3W@P43Rp.?eN*Ws"$+o^3W@P23RuY?rpBtNe^Z\1eN*Ws"$+o^ 3J#_3e[F!3PQ72Bs8RT~> "92h>s7k+K!2QF@Une"eeGoUJec,XLeGoUKmK3I>eH#U!!s$m%!<2Bj!7fU"e^X[!mK3I>eGt0N J^q3Z"dB!r@fQIY~> "92qDs7k.L!2ZOCV541gec9C^f)KF`ec9C_l2t_NenG'6")-9:B`@9$B\(aJf%+O6l2t_NenBWc J_%9\"dK(!AcMd\~> "94j[s7k+K!2QF@Une"eeGqW.ec.Z0eGqW/mK5K"eN*WZ"$+o^3WAFN3RuY?e^Z\ZmK5K"eN&32 J^q3Z"dB"VS,`M=~> "92h>s7b%D!%[abPG !+KF;s*t~> "92qDs7b(E! "94j[s7b%D!%[abPG !1TJXs*t~> "92h>s7XtE!2KUGeUc8(eHM0;@UfB;J,~> "92qDs7Y"F!2T[Heq)D*ech<=AS(oAJ,~> "94j[s7XtE!2KUGeUc8(eHM0;S"'HXJ,~> "92h>s7OnB!.i[OeUuBUPQ50%s8RT~> "92qDs7OqC!.i^Peq;NWPlPB,s8RT~> "94j[s7OnB!.i[OeUuBUPQ72Bs8RT~> "92h>s1Qq`f[p,Q!S>tTeUc8eeHM0;@UfB;J,~> "92qDs1Qtaf[p,R!S>tTeq)Dgech<=AS(oAJ,~> "94j[s1Qq`f[p,Q!S>tTeUc8eeHM0;S"'HXJ,~> "92h>s1d(kf[]*Tr;Z]djji"7eUc8geHM0;@UfB;J,~> "92qDs1d+lg"+-LVOa9V]@PYdeq)Diech<=AS(oAJ,~> "94j[s1d(kf[YX:&-*8'K[n_+eUc8geHM0;S"'HXJ,~> "92h>s1m.dfA6B$rrW&Qf7DJ'e\ouAPQ50%s8RT~> "92qDs1m1of?WO "94j[s1m.df;uOZWWJ'Zf7DJ'e\ouAPQ72Bs8RT~> "92h>s2!4ef\QK#rrW)RfR_S(e]$&BPQ50%s8RT~> "92qDs2!7fg!6\prr^o6a4Z$pJ_%fk"dK(!AcMd\~> "94j[s2!4efW5Y[rr]84XOr*SJ^q`i"dB"VS,`M=~> "92h>s1m.bp@nRfrq(clJ^q]h"dB!r@fQIY~> "92qDs1m1oZDR[%lJ::Ng=a/pQ\!_=f#6,CPlPB,s8RT~> "94j[s1m.f/-,_M`r)h "92h>s2*:ef]Dl-"TJAtj4Jq5J^qcj"dB!r@fQIY~> "92qDs2*=ufYaMZs8T]uQ'./bLk^VmfR_V)f#H8EPlPB,s8RT~> "94j[s2*:jfRs5)s8Q*q!!34VfR_S(e]-,CPQ72Bs8RT~> "92h>s2!4coCr7erquZ_J^o>%`RP-V!+KF;s*t~> "92qDs2!7rYb7Qes3\?bRuE/YL4ktGeq)Dkech<=AS(oAJ,~> "94j[s2!4k3rf9\s,9rX)u]j;!WYK:eUc8ieHM0;S"'HXJ,~> "92h>s2!4cr:p9prr)clp4:bFe]$&BPQ50%s8RT~> "92qDs2!7fTUVAIrs%T;Tn\8SLk4-.f#?2DPlPB,s8RT~> "94j[s2!4e&-)_.rs$KC2Za$`'nOnde]$&BPQ72Bs8RT~> "92h>s2!7Zrr`2rqY>]mJ^q`i"dB!r@fQIY~> "92qDs2!7fR$X-8rrhD:KS+l-eq)Dkech<=AS(oAJ,~> "94j[s2!7b!;c]u`W?8G#(b "92h>s2!4cr:g3nr;-6^J^o>%`RP-V!+KF;s*t~> "92qDs2!7rR$3\qNf9dcnc/W]K7\l0eq)Dkech<=AS(oAJ,~> "94j[s2!4c&GuM62lbm;s#U>f'nOnde]$&BPQ72Bs8RT~> "92h>s2!4coDJXfrr%`RP-V!+KF;s*t~> "92qDs2!7rUQ1@nMMR(DfDkm%Jq9;?eq)Dkech<=AS(oAJ,~> "94j[s2!4c48Jp]WrN+#"pRDFeUc8ieHM0;S"'HXJ,~> "92h>s2!4cjo5;[rr;p$rr<#sq"Nd!eUc8ieHM0;@UfB;J,~> "92qDs2!7r\Vc3ILkg_YjT#81JUk.Zeq)Dkech<=AS(oAJ,~> "94j[s2!4fKE)!PrW!0`a8c1@"pg!8eUc8ieHM0;S"'HXJ,~> "92h>s1m.hp&>!jrVc`prrW)lmX`o>e\ouAPQ50%s8RT~> "92qDs1m1eR"t_@XoRP^rrT`]Ob))7f#6,CPlPB,s8RT~> "94j[s1m.h/-,]M "92h>s7OnBMYG[!!<1LK!8uB.h>-pI"8qocgO[n+e\ouAPQ50%s8RT~> "92qDs7OqCM"fKu!<1OL!8uE/a,Klp"35qG`IZTkf#6,CPlPB,s8RT~> "94j[s7OnBMYG[!MZ2-+MW!"cX:b=/"-,Se\ouAPQ72Bs8RT~> "92h>s7Y"BMYP^%!<(FM!7fU"hphb_oDJRepAs^:J^o>%_pnpT!+KF;s*t~> "92qDs7Y%CM"oO$!<(IN!7o^$hpqnMQ.FOcec1.#Oi;n&J_%`i"dK(!AcMd\~> "94j[s7Y"BMYP^%MZ)'-MUg77hphe20WP)Qrs/W]Y(>,Se\fo@PQ72Bs8RT~> "92h>s7b(DM?3d8MYYd&!<(FM!7fU"rmguJrm^uKrm_&Me^aX!rm_&MeH#% _:8^R!+KF;s*t~> "92qDs7b+EL]RR4M##U%!<(IN!7o^$rmq&Krmh&Lrmh,Nf%0g#rmh,Nec>Ep#.BqTJ;0H!J_#D' _:AdT!+faAs*t~> "94j[s7b(DM?3d8MYYd&MZ)'-MUg77rmh"*rm_"+rm_(-e^aYVrm_(-eVa(N#)5AX#T#jaJ^o>% _:8^R!1TJXs*t~> "92h>s7k.EM?Eq0!/c[1eGoUJeHQ$(eH".M!<1LN!7fU"rm_&MeH#U!"9@!&!!%T#J^ppR"dB!r @fQIY~> "92qDs7k1FL]d_/!/QI-ec5^Kecl-*ec=:P!<1OO!7o^$rmh,Nec>^#"9@$(!!%T$J_%!T"dK(! AcMd\~> "94j[s7k.EM?Eq0!/c[1eGtL*eHUo]eV_o-MZ2-.MUg77rm_(-eVa@V"H(a[MMcu8J^ppR"dB"V S,`M=~> "92h>s7t4FM?!YUeH,`.MYks%!<1LK!;k:K!7fU"rm_&MeH#U!!s$m%!.i[OeZI@*PQ50%s8RT~> "92qDs7t7GL]@GSecGi-M#5d$!<1OL!;k=L!7o^$rmh,Nec>^#!s$p'!.i^PeudL,PlPB,s8RT~> "94j[s7t4FM?!YUeH,`.MYks%MZ2-+MYkp+MUg77rm_(-eVa@V",bXZMLj "92h>s8(:GM?!YSeH,`.MYu!)!;b4G!<1OI!<:RQ!7fU"e^aQts4%)LJ^o>%XjmT>!+KF;s*t~> "92qDs8(=HL]@GQecGi-M#>g(!;b7H!<1RJ!<:UR!7o^$f%0a!s4./MJ_#D'Xk!Z@!+faAs*t~> "94j[s8(:GM?!YSeH,`.MYu!)MYbj'MZ20)MZ;31MUg77e^aSTs4%+,J^o>%XjmT>!1TJXs*t~> "92h>s7t4FrrC%;eH3_is81=H!;b4J!7fU"rm^uKrm_/PeH".M!;k:H!.i[OeZI@*PQ50%s8RT~> "92qDs7t7GrrBq8ecN_gs81@I!;b7K!7o^$rmh&Lrmh5Qec=:P!;k=I!.i^PeudL,PlPB,s8RT~> "94j[s7t4FrrC%;eH3_is81=HMYbj*MUg77rm_"+rm_10eV_o-MYkp(MLj "92h>s7k.Errg "92qDs7k1Frrg3i_Z0Z4ec5^HecPp'ec>^#!!*#L"T[*Rf%'j#ecPp'ec:9PJ_$sS"dK(!AcMd\~> "94j[s7k.Errg "92h>s7b(DrrU1>s7t1F!;b4G!<1OJ!!1UMrm^uKrRLlIrm^uKJ^o>%XjmT>!+KF;s*t~> "92qDs7b+ErrU(;s7t4G!;b7H!<1RK!!1XNrmh&LrRUrJrmh&LJ_#D'Xk!Z@!+faAs*t~> "94j[s7b(DrrU1>s7t1FMYbj'MZ20*M?27brm_"+rRLn)rm_"+J^o>%XjmT>!1TJXs*t~> "92h>s7Y"Bs5_]1!.i[OeY:RtPQ50%s8RT~> "92qDs7Y%Cs5_`2!.i^PetU_!PlPB,s8RT~> "94j[s7Y"Bs5_]1MLj "92h>s7OnBs5_]1!.i[OeY1LsPQ50%s8RT~> "92qDs7OqCs5_`2!.i^PetLXuPlPB,s8RT~> "94j[s7OnBs5_]1MLj "92h>s4Gj%!.i[OeY(FrPQ50%s8RT~> "92qDs4Gm&!.i^PetCRtPlPB,s8RT~> "94j[s4Gj%MLj "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s1QsHrr<%oeW'S/!;t@NPQ50%s8RT~> "92qDs1R!Irr<%oerB\0!;tCOPlPB,s8RT~> "94j[s1QsHrr<%oeW'S/!;t@NPQ72Bs8RT~> "92h>s1Qq_s-2%6!2J'Es,PV0!;t@NPQ50%s8RT~> "92qDs1Qt`s-2(7!2J*Fs,PY1!;tCOPlPB,s8RT~> "94j[s1Qq_s-2%6!2J'Es,PV0!;t@NPQ72Bs8RT~> "92h>s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;@UfB;J,~> "92qDs1Qt`s-;.9PlRT1!<8,2!L3Z_ech<=AS(oAJ,~> "94j[s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;S"'HXJ,~> "92h>s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;@UfB;J,~> "92qDs1Qt`s-;.9PlRT1!<8,2!L3Z_ech<=AS(oAJ,~> "94j[s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;S"'HXJ,~> "92h>s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;@UfB;J,~> "92qDs1Qt`s-;.9PlRT1!<8,2!L3Z_ech<=AS(oAJ,~> "94j[s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;S"'HXJ,~> "92h>s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;@UfB;J,~> "92qDs1Qt`s-;.9PlRT1!<8,2!L3Z_ech<=AS(oAJ,~> "94j[s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;S"'HXJ,~> "92h>s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;@UfB;J,~> "92qDs1Qt`s-;.9PlRT1!<8,2!L3Z_ech<=AS(oAJ,~> "94j[s1Qq_s-;+8PQ7K/!<8,1!L*T^eHM0;S"'HXJ,~> "92h>s1Qq_s7XtC!;G%D!;"_C!7fU"^XW@L!2J'Es7t4F!<(FJ!:A;=!7fU"[abDC!;t@NPQ50% s8RT~> "92qDs1Qt`s7Y"D!;G(E!;"bD!7o^$^X`FN!2J*Fs7t7G!<(IK!:A>>!7o^$[akJE!;tCOPlPB, s8RT~> "94j[s1Qq_s7XtC!;G%D!;"_C!7fU"^XW@L!2J'Es7t4F!<(FJ!:A;=!7fU"[abDC!;t@NPQ72B s8RT~> "92h>s7OnBs7b%D!;t@K!7fWt!;tCG!://8s7XtC!;P(E!:eSA!7fU"^XW@L!9M`2!;b4G!:JA; !8Q*)s8(7G!9Vf6!7fU"[abDC!;t@NPQ50%s8RT~> "92qDs7OqCs7b(E!;tCL!7oa!!;tFH!:/29s7Y"D!;P+F!:eVB!7o^$^X`FN!9Mc3!;b7H!:JD< !8Q-*s8(:H!9Vi7!7o^$[akJE!;tCOPlPB,s8RT~> "94j[s7OnBs7b%D!;t@K!7fWt!;tCG!://8s7XtC!;P(E!:eSA!7fU"^XW@L!9M`2!;b4G!:JA; !8Q*)s8(7G!9Vf6!7fU"[abDC!;t@NPQ72Bs8RT~> "92h>s7Y"Bs7k.E!<(FM!7fU"rRClJrm^uKkLBS4q:5KF!S%2Lec#RKec#RKec#RJeGoUKeH>m& eH"/!!7KElrr<&qeH(m7jjjA2r71fImaV:;gslE)qpkZG"k "92qDs7Y%Cs7k1F!<(IN!7o^$rRLrKrmh&LkLKY5q:>QG!S.8Mf)>[Lf)>[Lf)>[Kec5^LecZ!( ec=;#!7KHmrr<&qecD$9jjsG3r7:lJma_@[KecPp'!!)uKrr<;T !7o^$f%'j#ec5]sf(T+D!;b7IPlUa5"dK(!AcMd\~> "94j[s7Y"Bs7k.E!<(FM!7fU"rRClJrm^uKkLBS4q:5KF!S%2Lec#RKec#RKec#RJeGoUKeH>m& eH"/!!7KElrr<&qeH(m7jjjA2r71fImaV:;gslE)qpkZG"k "92h>s7b(DrrUaNs7t1H!7_)KeH5g%eH#Qu!s$m%!9Vf3s8(7N!7fU"!7fU"rm_2Qe^XZMeH#U! !s$m%!<1LQ!7fU"e^XZIeH#XEeGoUGeH(m7jjjA2r71fIrmguJrRLlIrmh#K!S%2*eH#XGeHu<, eGoU"eH".M!<1L_!7fU"!7fU"e^XZMeGoU"eH".M!<1LK!796rs7b%D!;b4HPQ:X3"dB!r@fQIY~> "92qDs7b+ErrUdOs7t4I!7h/LecPp'ec>["!s$p'!9Vi4s8(:O!7o^$!7o^$rmh8Rf%'iPec>^# !s$p'!<1OR!7o^$f%'iKec>aFec5^HecD$9jjsG3r7:lJrmq&KrRUrJrmq)L!S.8+ec>aHed;E. ec5^$ec=:P!<1O`!7o^$!7o^$f%'iPec5^$ec=:P!<1OL!799ss7b(E!;b7IPlUa5"dK(!AcMd\~> "94j[s7b(DrrUaNs7t1H!7_)KeH5g%eH#Qu!s$m%!9Vf3s8(7N!7fU"!7fU"rm_2Qe^XZMeH#U! !s$m%!<1LQ!7fU"e^XZIeH#XEeGoUGeH(m7jjjA2r71fIrmguJrRLlIrmh#K!S%2*eH#XGeHu<, eGoU"eH".M!<1L_!7fU"!7fU"e^XZMeGoU"eH".M!<1LK!796rs7b%D!;b4HPQ:X3"dB"VS,`M=~> "92h>s7k.Es8LRKs8(7I!7_)KeH5g%eH#Qu!s$m%!;b4G!:JA;s8(7G!<1LN!7fU"rm_)Ne^XZs eH5g%eH#U!"p!3(!7fU"dFA6sq:,M1!;b4HPQ9gq!W^aNrm_/PeH".M!<1LN!7fU"rm_;TeH".M !!(R"!8l<,s8(7J!7fU"rm_)Ne^X[!eH5g%eH#U!!s$m%!<1LQ!7fU"e^X[!eGoTreH#XEeH(m7 qUGV2!;t@NPQ50%s8RT~> "92qDs7k1Fs8LULs8(:J!7h/LecPp'ec>["!s$p'!;b7H!:JD^#"p!6*!7o^$dFJ^#!s$p'!<1OR!7o^$f%'j#ec5]sec>aFecD$9 qUP\4!;tCOPlPB,s8RT~> "94j[s7k.Es8LRKs8(7I!7_)KeH5g%eH#Qu!s$m%!;b4G!:JA;s8(7G!<1LN!7fU"rm_)Ne^XZs eH5g%eH#U!"p!3(!7fU"dFA6sq:,M1!;b4HPQ9gq!W^aNrm_/PeH".M!<1LN!7fU"rm_;TeH".M !!(R"!8l<,s8(7J!7fU"rm_)Ne^X[!eH5g%eH#U!!s$m%!<1LQ!7fU"e^X[!eGoTreH#XEeH(m7 qUGV2!;t@NPQ72Bs8RT~> "92h>s7t4Fs8:FIs81=P!7fU"e^XZMebfFHeGoU3eH#XGeGoUKeH,a$ebfFIeGoUKeboLJeGoUK eHQ$(eH".M!7B "92qDs7t7Gs8:IJs81@Q!7o^$f%'iPf),OIec5^4ec>aHec5^LecGj&f),OJec5^Lf)5UKec5^L ecl-*ec=:P!7B?ts7t4HPlU[3!L3ZHecGj&!<1OQ!7h/$ec>^#!s$p'!<1ON!7h/Lec5^*ec>aH ecPp'ec>^#!W^g&quHcJ!!*#L!s$p'!<1OU!7o^$f%'iPec=%I!<;iF!L3Z]ecD$9r72%:!+faA s*t~> "94j[s7t4Fs8:FIs81=P!7fU"e^XZMebfFHeGoU3eH#XGeGoUKeH,a$ebfFIeGoUKeboLJeGoUK eHQ$(eH".M!7B "92h>s8(:Gs8(:Gs8:CI!<1LP!7_)"eH#Hr!!)03!<;oG!!*#K!s$m%!;k:K!7fU"rm_)Ne^X[! eHQ$(eH".M!7B "92qDs8(=Hs8(=Hs8:FJ!<1OQ!7h/$ec>Qt!!)04!<;oH!!*#L!s$p'!;k=L!7o^$rmh/Of%'j# ecl-*ec=:P!7B?ts7t4HPlU[3!L3ZHedDK/ec=8$f%'iPec>^#!s$p'!<1ON!7h/Lec5^*ec>aH ecPp'ec>^#!s$p'!;k=I!<1OO!7o^$rmh/Of%'j#ecGj&!703rs7k.GPlU[3!L3Z_ech<=AS(oA J,~> "94j[s8(:Gs8(:Gs8:CI!<1LP!7_)"eH#Hr!!)03!<;oG!!*#K!s$m%!;k:K!7fU"rm_)Ne^X[! eHQ$(eH".M!7B "92h>s7t1H!0i`Iec1j6!;k:H!<1LP!7_)"eH#Hr!!)03!<;oG#6<<)!!(R"!<1LQ!7fU"e^X[! eI;N/eH".M!!(R"!7fU"dFA6sq:,M1!;b4HPQ9gq$NS`-!7_)"eH".M!<1LN!7fU"rm_&MeH#U! !!(g)!<;oG!s$m%!<1LN!7fU"rm_)Ne^X[!eHu<,eH".M!!(R"!<1LM!7_(qeH#XEeH(m7qUGV2 !;t@NPQ50%s8RT~> "92qDs7t4I!0riKf)M!8!;k=I!<1OQ!7h/$ec>Qt!!)04!<;oH#6^# !!(g*!<;oH!s$p'!<1OO!7o^$rmh/Of%'j#ed;E.ec=:P!!(U$!<1ON!7h.rec>aFecD$9qUP\4 !;tCOPlPB,s8RT~> "94j[s7t1H!0i`Iec1j6!;k:H!<1LP!7_)"eH#Hr!!)03!<;oG#6<<)!!(R"!<1LQ!7fU"e^X[! eI;N/eH".M!!(R"!7fU"dFA6sq:,M1!;b4HPQ9gq$NS`-!7_)"eH".M!<1LN!7fU"rm_&MeH#U! !!(g)!<;oG!s$m%!<1LN!7fU"rm_)Ne^X[!eHu<,eH".M!!(R"!<1LM!7_(qeH#XEeH(m7qUGV2 !;t@NPQ72Bs8RT~> "92h>s7k+K!0i_uP`u1EeGoUJec,XLeGoUFeGoU4eH#XFec,UMeH#U!rW)rJ!!*#KrW!GY!7fU" !7_)"eH".M!!(Ht!WU^GPQ1^[eH(m7jja>2rm^uKrm_)Ne^X[!eH5g%eH#U!"p!0Re^XX"gslE) qUGZJe^X[!eGoUKec#RJeGoUKeGoUKec,UPeH".M!<(FJ!7'*qs4-n/!!)lG!L*T^eHM0;@UfB; J,~> "92qDs7k.L!0ri#Q'D@Gec5^Kf)GaMec5^Gec5^5ec>aGf)G^Nec>^#rW)rK!!*#LrW!GZ!7o^$ !7h/$ec=:P!!(Hu!WUaHPlLg\ecD$9jjjD3rmh&Lrmh/Of%'j#ecPp'ec>^#"p!3Sf%'g$gsuK* qUP`Kf%'j#ec5^Lf)>[Kec5^Lec5^Lf)G^Qec=:P!<(IK!7'-rs46t1!!)lH!L3Z_ech<=AS(oA J,~> "94j[s7k+K!0i_uP`u1EeGoUJec,XLeGoUFeGoU4eH#XFec,UMeH#U!rW)rJ!!*#KrW!GY!7fU" !7_)"eH".M!!(Ht!WU^GPQ1^[eH(m7jja>2rm^uKrm_)Ne^X[!eH5g%eH#U!"p!0Re^XX"gslE) qUGZJe^X[!eGoUKec#RJeGoUKeGoUKec,UPeH".M!<(FJ!7'*qs4-n/!!)lG!L*T^eHM0;S"'HX J,~> "92h>s7b%D! "92qDs7b(E! "94j[s7b%D! "92h>s7XtE!0dK,eH#W7eH_=IoDJXdoB!^:!T!JGrrMiLpXK9Df@9j$]%$hG!;t@NPQ50%s8RT~> "92qDs7Y"F!0mQ-ec>`8ed%I.\ZDX'XM)@!$I6/aY,\FrTUVe"pXT?Ef@Bp%]%-nI!;tCOPlPB, s8RT~> "94j[s7XtE!0dK,eH#W7eH_<=3tMB'4+t>u!N[jK!!+XPpXK9Df@9j$]%$hG!;t@NPQ72Bs8RT~> "92h>s7OnB!6Wgls-D19h<=_8!VY?ceH+M(q#:Bnh>#M#s4Gj%!4gV\PQ:X3"dB!r@fQIY~> "92qDs7OqC!6Wjms-D4Cd&aCsio&_MXJ!YNedTj,j5].YiS`PJgr7A0ec>a&ec5]\ecD$9r72%: !+faAs*t~> "94j[s7OnB!6Wgls-D1;X<.F^rMfoX/?H\ "92h>s1Qq_s-M7:h>I'J!W:cjeH#=:rrDcfeH#W1eH(m7r7(t8!+KF;s*t~> "92qDs1Qt`s-M:`2ecD$9r72%:!+faAs*t~> "94j[s1Qq_s-M7;X:PC.rrN03XMWKg/-,JF!NI^GeH#W1eH(m7r7(t8!1TJXs*t~> "92h>s1Qq_s-M79p@eLdou#;[jn8WSroEn*!<8,1!L*T^eHM0;@UfB;J,~> "92qDs1Qt`s-M:;[(ZJ=#P?p0h"$D[R)@Jb_4[L[i8`2ecD$9r72%:!+faA s*t~> "94j[s1Qq_s-M7:/3!S.!94!X"6':\0#Q3@KE)#LWWgEBs/H'Pq:,KFO4=8q!;t@NPQ72Bs8RT~> "92h>s1Qq_s-V=:jnA]Urr(lqeH#46rrN)gq:,KFO4=8q!;t@NPQ50%s8RT~> "92qDs1Qt`s-V@=`2;Mmrs5s!Q]nA*LPE:Vec;`JRg>FLQ082/U5,66ec>`2ecD$9r72%:!+faA s*t~> "94j[s1Qq_s-V="W!!G4\!!7kmeGq],!!UCB`]!l\q:,KFO4=8q!;t@NPQ72Bs8RT~> "92h>s1Qq_s-V=:oCi1crVZ0'eH#O@rrW2uq"`G?s,Y\2PQ:X3"dB!r@fQIY~> "92qDs1Qt`s-V@=$,*s^\#>7ALP;59ecD2)rg*qWQ)a!Hs+lGbMYYg's,Y_3PlUa5"dK(! AcMd\~> "94j[s1Qq_s-V=;4&u:[rD`hVrVus#5K)(P&GlG42obmt!!!'6q:,KFO4=8q!;t@NPQ72Bs8RT~> "92h>s1Qq_s-V=:r:g3nrquZf`7=S]s8;uqqYAYAs,Y\2PQ:X3"dB!r@fQIY~> "92qDs1Qt`s-V@ "94j[s1Qq_s-V=;&68`0!65$<"lcN^!Wj+Teb]=P2ral;MuWn\"SpRJs,Y\2PQ:X3"dB"VS,`M=~> "92h>s1Qq`s4*O%pAY6nr;-6-eH#OBrri;uqtg$^eH,^#O-BVEr7(t8!+KF;s*t~> "92qDs1Qtas43U'!LLCmrr\"0K7_%m%[)d0Nf8q&s8V/DKnP)7q:5THerQ'r!;tCOPlPB,s8RT~> "94j[s1Qq`s4*O%! "92h>s1QsL!!)B[rr`8tq=V\V!V66hrrE&trrrB!qtg-Vq:1E(r7(t8!+KF;s*t~> "92qDs1R!M!!.nbrr3;eN4nc]s42jTLW%aDSc+?EUAk/rL4t;5JslGcMu`e,"dK(!AcMd\~> "94j[s1QsK!!$$urs?[FET7#uWWWG>`74iLr;ZgVrr "92h>s+/_LeH#4 "92qDs+/bMecDMPrr3;0LkjU^s42dQR)IPU\G_-gfDkllKS4u0J[L'[s4.@=!+faAs*t~> "94j[s+/_LeH%a3rr3:)!!'&!s/H2+6H%CSL&CuXWrN*Z!X&W1#)@c[s4%:;!1TJXs*t~> "92h>s+/_LeH"_/s8W$%rr<#sq"NdceI;'Ir;HZqrqlQfq"X?0ec+)&PQ50%s8RT~> "92qDs+/bMedf6Hf`1unLS "94j[s+/_LeII64WrN*X!'/(!s/ZD1LVqXJ/cl)Us8U,$"TAT*1P+*UeHM0;S"'HXJ,~> "92h>s+/_KeH,@Brr3#trr2p!qtKNqeI:7-qYgHoqt^$^p[m3kec+)&PQ50%s8RT~> "92qDs+/bLecD/Mrr3#%jSo/\\U]gZedTQSK?4)mXFc"SJ;(snf)F5(PlPB,s8RT~> "94j[s+/_KeH%:Crr3"!a8Z)?FU0e?eHW/k"HNN^=8iC*#T'Xpec+)&PQ72Bs8RT~> "92h>s7=b@!9_l4!;Y.I!7fU"Lt)R^q>L3j"8qocgVMD@h!tCD"o@ufp?p[dec"#%PQ50%s8RT~> "92qDs7=eA!9_o5!;Y1J!7o^$Lt2XJMQZjV"35qG`PL++`g$K&"fd*'J!%^$f)=/'PlPB,s8RT~> "94j[s7=b@!9_l4!;Y.I!7fU"Lt)R.'3G)2"- "92h>s7FhC!7_)5eGoUFeGoT&eH4Osqu-KnpAs^:^=9sZmGWWHqpbk7!+KF;s*t~> "92qDs7FkD!7h/6ec5^Gec5]'ecNjVSc.(@J:E^#^=EMNh:A'LQaMCqqpkq9!+faAs*t~> "94j[s7FhC!7_)5eGoUFeGoT&eH2m.48l8\#QZfc^=^p60@6\p "92h>s7FhC!7_)JeH5g%!!*#K!s$jO!<(II!<:UK!<:UL!<:UK!!1UMrmguJrm_)NeGoUJec,W9 eHF[tp[HmfeZRF+PQ50%s8RT~> "92qDs7FkD!7h/KecPp'!!*#L!s$mP!<(LJ!<:XL!<:XM!<:XL!!1XNrmq&Krmh/Oec5^Kf)G`: ec^b[J:WE*eumR-PlPB,s8RT~> "94j[s7FhC!7_)JeH5g%!!*#K!s$jO!<(II!<:UK!<:UL!<:UK!!1UMrmguJrm_)NeGoUJec,W9 eH@K:#SSnCeZRF+PQ72Bs8RT~> "92h>s7OnB!<1LK!<1OK!<:RV!7fU"!7fU"e^X[!eIhl4eH".M!7fU"e^XZMeH".M!<1L[!7fU" !7fU"e^XZMeH".M!.i[Oe\fo@PQ50%s8RT~> "92qDs7OqC!<1OL!<1RL!<:UW!7o^$!7o^$f%'j#ee.u6ec=:P!7o^$f%'iPec=:P!<1O\!7o^$ !7o^$f%'iPec=:P!.i^Pf#-&BPlPB,s8RT~> "94j[s7OnB!<1LK!<1OK!<:RV!7fU"!7fU"e^X[!eIhl4eH".M!7fU"e^XZMeH".M!<1L[!7fU" !7fU"e^XZMeH".M!.i[Oe\fo@PQ72Bs8RT~> "92h>s8:FGPQUs9eH#U!!!*#K!!*#K!s$m%!<1LN!7fU"rm_)Ne^XZteHl6+eH".M!7fU"rm_)N e^X[!eH5g%eH#Hr!<7V7JX" "92qDs8:IHPlq';ec>^#!!*#L!!*#L!s$p'!<1OO!7o^$rmh/Of%'j!ed2?-ec=:P!7o^$rmh/O f%'j#ecPp'ec>Qt!<7V8JX+BC!<<#K"dK(!AcMd\~> "94j[s8:FGPQUs9eH#U!!!*#K!!*#K!s$m%!<1LN!7fU"rm_)Ne^XZteHl6+eH".M!7fU"rm_)N e^X[!eH5g%eH#Hr!<7V7JX" "92h>s8:CIPlC^^ebfFHeGoUKeH5g%eH#U!!s$m%!<1LN!7fU"rmguJs4%;Re^XZMeH#U!!s$m% !<1LK!<1OK!;k;ts+13ls8CIOPQ50%s8RT~> "92qDs8:FJQ2^g_f),OIec5^LecPp'ec>^#!s$p'!<1OO!7o^$rmq&Ks4.ASf%'iPec>^#!s$p' !<1OL!<1RL!;k>us+13ls8CLPPlPB,s8RT~> "94j[s8:CIPlC^^ebfFHeGoUKeH5g%eH#U!!s$m%!<1LN!7fU"rmguJs4%;Re^XZMeH#U!!s$m% !<1LK!<1OK!;k;ts+13ls8CIOPQ72Bs8RT~> "92h>s8:CJPlL^4!!)rI!s$m%!<1LN!7fU"rm_)Ne^X[!eIhl4eH".M!7fU"e^XZMeH".M!<1LN !7fU"rm^uKr7(cIJ^o>%`mk*Ss8CIOPQ50%s8RT~> "92qDs8:FKQ2gg6!!)rJ!s$p'!<1OO!7o^$rmh/Of%'j#ee.u6ec=:P!7o^$f%'iPec=:P!<1OO !7o^$rmh&Lr71iJJ_#D'`mt0Us8CLPPlPB,s8RT~> "94j[s8:CJPlL^4!!)rI!s$m%!<1LN!7fU"rm_)Ne^X[!eIhl4eH".M!7fU"e^XZMeH".M!<1LN !7fU"rm^uKr7(cIJ^o>%`mk*Ss8CIOPQ72Bs8RT~> "92h>s8:CJPlL^4!!)rI!s$m%!<1LN!7fU"rm_)Ne^X[!eIhl4eH".M!7fU"e^XZMeH".M!<1LN !7fU"rm_2Qe^XZMeGt0NJ^qcj!L3W_eHM0;@UfB;J,~> "92qDs8:FKQ2gg6!!)rJ!s$p'!<1OO!7o^$rmh/Of%'j#ee.u6ec=:P!7o^$f%'iPec=:P!<1OO !7o^$rmh8Rf%'iPec:9PJ_%il!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlL^4!!)rI!s$m%!<1LN!7fU"rm_)Ne^X[!eIhl4eH".M!7fU"e^XZMeH".M!<1LN !7fU"rm_2Qe^XZMeGt0NJ^qcj!L3W_eHM0;S"'HXJ,~> "92h>s8:CJPlL^4!!)rI!s$m%!<1LN!7fU"rm^uKrmguJrmh#Ks4.,L#1W_(!!(OLrmguJrm^uK rm^uKrmh#Krm^uKJ^o>%ajgEVs8CIOPQ50%s8RT~> "92qDs8:FKQ2gg6!!)rJ!s$p'!<1OO!7o^$rmh&Lrmq&Krmq)Ls472M#1`e*!!(RMrmq&Krmh&L rmh&Lrmq)Lrmh&LJ_#D'ajpKXs8CLPPlPB,s8RT~> "94j[s8:CJPlL^4!!)rI!s$m%!<1LN!7fU"rm^uKrmguJrmh#Ks4.,L#1W_(!!(OLrmguJrm^uK rm^uKrmh#Krm^uKJ^o>%ajgEVs8CIOPQ72Bs8RT~> "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlL^4JWt_MSWs-(nr!Cr!L3W_eHM0;@UfB;J,~> "92qDs8:FKQ2gg6JX(eOSX'3*nqd7q!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlL^4JWt_MSWs-(nr!Cr!L3W_eHM0;S"'HXJ,~> "92h>s8:CJPlL^4!0i$7JH2;B!<<&K!/gCK!<<#J!L3W_eHM0;@UfB;J,~> "92qDs8:FKQ2gg6!0r*8JH2;B!<<&L!/U7I!<<#K!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlL^4!0i$7JH2;B!<<&K!/gCK!<<#J!L3W_eHM0;S"'HXJ,~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!;se9s80b8s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!;s\6s80Y5s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!;se9s80b8s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<'b9s4.2J_>sW7ecD'9rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<'b9s4.2J_>sW7ecD'9rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q?s4,Ya!<'k:s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<0h "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q?s4,Ya!<'k:s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q?s4,Ya!<'k:s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<0h "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q?s4,Ya!<'k:s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWrRCq5!<0q;s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh4.!5cVQrRM"7!<0h8s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWrRCq5!<0q;s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWrRCq5!<0q;s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh4.!5cVQrRM"7!<0h8s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWrRCq5!<0q;s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!6,!8eHD*:`PqlUeH(p7rRD(9!+KF;s*t~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh1-!5ed5ec_6<_SZ?OecD'9rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!6,!8eHD*:`PqlUeH(p7rRD(9!1TJXs*t~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!6,!8eHD*:`PqlUeH(p7rRD(9!+KF;s*t~> "92qDs8:FKQ2gg6!L3ZRrs%8r\A->:idq,\s1842f)Pa#",Hros81@MPlS\ "94j[s8:CJPlL^4!L*TQrs##b'*&\:SUpfls1842ec5X!",[)ts81=LPQ8\As8CIKPlL^4"dB"V S,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!<:UFPQCj(s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3ZTrsJ(sUqPpXp?f6#mXbChs1J@4f)Pa#",HsWf(kR4!5ed7ecD'9rRM.; !+faAs*t~> "94j[s8:CJPlL^4!L*TSrr^P(!&skV!WY+'JcC<$]`/#_s8LONM?*\,q31p\`W,ne!L3W_eHM0; S"'HXJ,~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!<:UG!!AGc`W,ne!L3W_eHM0;@UfB;J,~> "92qDs8:FKQ2gg6!L3ZUrrVGSS,3-da/\KWs+13`rrL^Nrmh1-!<:XH!!AJd_Z0Sc!L<]`ech<= AS(oAJ,~> "94j[s8:CJPlL^4!L*TTrrUIZ!;c]s<>3Z/s+13`rrL[Mrm_+.!<:UG!!AGc`W,ne!L3W_eHM0; S"'HXJ,~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!;4;2s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3ZUrs,<^h>dNBjnA]R!MHTHs+13`rrL^Nrmh++!;42/s8CLLQ2gg6"dK(! AcMd\~> "94j[s8:CJPlL^4!L*TTrs(C]WrN+=WoF$X!<>!.s+13`rrL[Mrm_%,!;4;2s8CIKPlL^4"dB"V S,`M=~> "92h>s8:CJPlL^4!L*TUs8W(Ls+13TrrL[Mrm_%,!;HKp!6,!:eH(p7rRD(9!+KF;s*t~> "92qDs8:FKQ2gg6!L3ZVrsmG4Nnj[7`2^N;s8SRSe:IXNs1\L6f)Pa#!JgaMrrN2;s8CLLQ2gg6 "dK(!AcMd\~> "94j[s8:CJPlL^4!L*TUrskY$!36)!<<+tts8N'!SUpfls1\L6ec5X!!K$mOrrN2>s8CIKPlL^4 "dB"VS,`M=~> "92h>s8:CJPlL^4!L*TUrrN&rJcC<$Z2XjTs8LOMM?*\OeH,`is8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3ZVrr]0RMSfAms2"s)s65l4XF^D&s1\L6f)Pa#!f-jVpsoKH_Z0Sc!L<]` ech<=AS(oAJ,~> "94j[s8:CJPlL^4!L*TUrrYjn!-/# "92h>s8:CJPlL^4!L*TUrrW&prq??lrdk*#s1\L6ec5X!!f@!Xq:,S3!6,!:eH(p7rRD(9!+KF; s*t~> "92qDs8:FKQ2gg6!L3ZVrre:7LQ&\>rrhP[Oc5BQs+13arrL^Nrmh.,!<;lG"-il's8CLLQ2gg6 "dK(!AcMd\~> "94j[s8:CJPlL^4!L*TUrra,>!!$$srrg=\!!![`s+13arrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4 "dB"VS,`M=~> "92h>s8:CJPlL^4!L*TUrr`&mr;QKk!WN"Js+13arrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r @fQIY~> "92qDs8:FKQ2gg6!L3ZVrrdn*KnkQ`rrhqlMMHn:s+13arrL^Nrmh.,!<;lG"-il's8CLLQ2gg6 "dK(!AcMd\~> "94j[s8:CJPlL^4!L*TUrr`N/!WW5urrh=?!!!(Os+13arrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4 "dB"VS,`M=~> "92h>s8:CJPlL^4!L*TUrr`&lqYg6i!r`&nJcC<$^Ae5as8LOMM?*\PeH;$9`W,ne!L3W_eHM0; @UfB;J,~> "92qDs8:FKQ2gg6!L3ZVrsjj:K:r8Eje^Z$s8SdHN.M"[s1\L6f)Pa#!f-jVq:5Y5!5ed7ecD'9 rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*TUrsfnN"?HM^`]'pWs8P(\(P2U;s1\L6ec5X!!f@!Xq:,S3!6,!:eH(p7 rRD(9!1TJXs*t~> "92h>s8:CJPlL^4!L*TUrs&8mqYpNprr2lrrrW2rqLSZts1\L6ec5X!!f@!Xq:,S3!6,!:eH(p7 rRD(9!+KF;s*t~> "92qDs8:FKQ2gg6!L3ZVrskcRSala[Y(h_*s8UZ&V1JYts1\L6f)Pa#!f-jVq:5Y5!5ed7ecD'9 rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*TUrshd04lcSB<<*"Zs8T)%9S*4ps1\L6ec5X!!f@!Xq:,S3!6,!:eH(p7 rRD(9!1TJXs*t~> "92h>s8:CJPlL^4!L*TUrrW&iq>UC"rVQKis8W&mr.4m!s1\L6ec5X!!f@!Xq:,S3!6,!:eH(p7 rRD(9!+KF;s*t~> "92qDs8:FKQ2gg6!L3ZVrrUDmWrE#(aFo5=s8UW#c@Q"Hs1\L6f)Pa#!f-jVq:5Y5!5ed7ecD'9 rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*TUrrSr&>Q4X.NW]JHs8T/)Tn35ps1\L6ec5X!!f@!Xq:,S3!6,!:eH(p7 rRD(9!1TJXs*t~> "92h>s8:CJPlL^4!L*TTrrMigrVuoo"TAB#qtPaBJcEF`!S.5LeH1U.s7t1IPQ8]&rRCq5s8CIO PQ50%s8RT~> "92qDs8:FKQ2gg6!L3ZUrrJLcrVunt"QTO^\=%pJJcEF`!S7;MecLX-s7t4JPlS]$rRM"7s8CLP PlPB,s8RT~> "94j[s8:CJPlL^4!L*TTrrGAhrVun#"N^WCG!1EVJcEF`!S.5LeH1U.s7t1IPQ8]&rRCq5s8CIO PQ72Bs8RT~> "92h>s8:CJPlL^4!L*TTrrW)ir;-Epqt9o=s+13`rrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r @fQIY~> "92qDs8:FKQ2gg6!L3ZUrrV;FiqiZV`J "94j[s8:CJPlL^4!L*TTrrUY.anl#=Or_r$s+13`rrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"V S,`M=~> "92h>s8:CJPlL^4!L*TSrrW&do)/@doCi-6s+13_rrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r @fQIY~> "92qDs8:FKQ2gg6!L3ZTrrV8DH2Q+mH^ElGs+13_rrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(! AcMd\~> "94j[s8:CJPlL^4!L*TSrrU\>%fEI2$p`6ls+13_rrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"V S,`M=~> "92h>s8:CJPlL^4!L*TQrs&/_lg*s.pOW?qs1842ec5X!!f@!Xq:,S3!6,!:eH(p7rRD(9!+KF; s*t~> "92qDs8:FKQ2gg6!L3ZRrs$N0HZOV)aasJCs1842f)Pa#!f-jVq:5Y5!5ed7ecD'9rRM.;!+faA s*t~> "94j[s8:CJPlL^4!L*TQrs#H..MX:3W.Fu"s1842ec5X!!f@!Xq:,S3!6,!:eH(p7rRD(9!1TJX s*t~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh.,!<;lG"-il's8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_(-!<;lF"-`f)s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!<:UFPQCj(s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh1-!<:XGPl^s&s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!<:UFPQCj(s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_"+o`,$3s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh(*o`,$0s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_"+o`,$3s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!;4;2s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!;42/s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!;4;2s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!<:UGrr\Jc`W,ne!L3W_eHM0;@UfB;J,~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh1-!<:XHrr\Md_Z0Sc!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!<:UGrr\Jc`W,ne!L3W_eHM0;S"'HXJ,~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!6,!7eH5fj`W,ne!L3W_eHM0;@UfB;J,~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh1-!5ed4ecPoh_Z0Sc!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!6,!7eH5fj`W,ne!L3W_eHM0;S"'HXJ,~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!6,!8eHD*:`PqlUeH(p7rRD(9!+KF;s*t~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh1-!5ed5ec_6<_SZ?OecD'9rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_+.!6,!8eHD*:`PqlUeH(p7rRD(9!1TJXs*t~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWr7(cIrl"m;rRCq5s8CIOPQ50%s8RT~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh4.!5cVQr71iJrk\[8rRM"7s8CLPPlPB,s8RT~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWr7(cIrl"m;rRCq5s8CIOPQ72Bs8RT~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWrRCq5!<0q;s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh4.!5cVQrRM"7!<0h8s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_./!6)qWrRCq5!<0q;s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q;s8LOK!<'k:s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<0h8s8LRL!<'b7s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q;s8LOK!<'k:s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q?s4,Ya!<'k:s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<0h "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<0q?s4,Ya!<'k:s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<'b9s4.2J_>sW7ecD'9rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!<'b9s-3T^_>sW7ecD'9rRM.;!+faAs*t~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!<'k "92h>s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!;se9!;j_8s8CIKPlL^4"dB!r@fQIY~> "92qDs8:FKQ2gg6!L3Y9s+13DrrL^Nrmh++!;s\6!;jV5s8CLLQ2gg6"dK(!AcMd\~> "94j[s8:CJPlL^4!L*S8s+13DrrL[Mrm_%,!;se9!;j_8s8CIKPlL^4"dB"VS,`M=~> "92h>s8:CJPlL^4!L*S8eUc8DeH#XKeH(O-ou-q2rRCq5s8CIOPQ50%s8RT~> "92qDs8:FKQ2gg6!L3Y9eq)DFec>aLecCR,otg_/rRM"7s8CLPPlPB,s8RT~> "94j[s8:CJPlL^4!L*S8eUc8DeH#XKeH(O-ou-q2rRCq5s8CIOPQ72Bs8RT~> "92h>s8:CJPlL^4!0i'7JcD>Arm_"+oDed>!L3W_eHM0;@UfB;J,~> "92qDs8:FKQ2gg6!0r-8JcD>Armh(*oDed?!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlL^4!0i'7JcD>Arm_"+oDed>!L3W_eHM0;S"'HXJ,~> "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:CJPlH "92qDs8:FKQ2cEdJ_#J)!L<]`ech<=AS(oAJ,~> "94j[s8:CJPlH "92h>s8:DuP_#'MPQ@$KrRD(9!+KF;s*t~> "92qDs8:H!Q%>3OPl[0MrRM.;!+faAs*t~> "94j[s8:DuP_#'MPQ@$KrRD(9!1TJXs*t~> "92h>s8:Dus+13$s8W,teHM0;@UfB;J,~> "92qDs8:H!s+13$s8W,tech<=AS(oAJ,~> "94j[s8:Dus+13$s8W,teHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+/^OeUc9EeHM0;@UfB;J,~> "92qDs+/aPeq)EGech<=AS(oAJ,~> "94j[s+/^OeUc9EeHM0;S"'HXJ,~> "92h>s+-DcP_#(lPQUtq@fQIY~> "92qDs+-GdQ%>4nPlq(uAcMd\~> "94j[s+-DcP_#(lPQUuUS,`M=~> !rl_=JH16$JH59As'l$.J,~> !rlhCJH16$JH59As(261J,~> !rnaZJH16$JH59As-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^p+;\GlO/p=6\Q!!)rIs'l$.J,~> !rlhCJ_$1=\GlO/p=?bR!!)rJs(261J,~> !rnaZJ^p+;\GlO/p=6\Q!!)rIs-s&gJ,~> !rl_=J^p+;!<9U[!!)`C!<9U[!!)rIs'l$.J,~> !rlhCJ_$1=!<9U\!!)`D!<9U\!!)rJs(261J,~> !rnaZJ^p+;!<9U[!!)`C!<9U[!!)rIs-s&gJ,~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<;*0r;cfH!!)uJ!!)03!L*TXeH#X;eboL-eGoU>eH(m7r71gVs8RT~> !rlhCJ_$1=!<;*1r;cfI!!)uK!!)04!L3ZYec>a !rnaZJ^p+;!<;*0r;cfH!!)uJ!!)03!L*TXeH#X;eboL-eGoU>eH(m7r71h:s8RT~> !rl_=J^p+;!<;-1!!)uJ!!*#K!!*#K!!)-2!L*TXeH#XeH(m7r71gVs8RT~> !rlhCJ_$1=!<;-2!!)uK!!*#L!!*#L!!)-3!L3ZYec>a=ec5^Kec5^1ec5^?ecD$9r7:mZs8RT~> !rnaZJ^p+;!<;-1!!)uJ!!*#K!!*#K!!)-2!L*TXeH#XeH(m7r71h:s8RT~> !rl_=J^p+;!<;02!!)oH"p!3(!7fU"jOF9q!;=qCs7"P=!;P+D!<1LN!7_&LrRLlIrRLlIrm^uK n^RZ)!;tCI@fQIY~> !rlhCJ_$1=!<;03!!)oI"p!6*!7o^$jOO?s!;=tDs7"S>!;P.E!<1OO!7h,MrRUrJrRUrJrmh&L n^[`+!;tFJAcMd\~> !rnaZJ^p+;!<;02!!)oH"p!3(!7fU"jOF9q!;=qCs7"P=!;P+D!<1LN!7_&LrRLlIrRLlIrm^uK n^RZ)!;tCIS,`M=~> !rl_=J^p+;!<;02!!)oH"T[*'!7_)0eH(m7p=00CnC7L=q:,HFrm_>Ue^XX"e^XZMeH#U!!s$m% !<1LN!7fU"n^RZ)!;tCI@fQIY~> !rlhCJ_$1=!<;03!!)oI"T[-)!7h/1ecD$9p=96DnC@R>q:5NGrmhDVf%'g$f%'iPec>^#!s$p' !<1OO!7o^$n^[`+!;tFJAcMd\~> !rnaZJ^p+;!<;02!!)oH"T[*'!7_)0eH(m7p=00CnC7L=q:,HFrm_>Ue^XX"e^XZMeH#U!!s$m% !<1LN!7fU"n^RZ)!;tCIS,`M=~> !rl_=J^p+;!<;02!!)oH!W^d$rW)!/!L*TXeH#X=eGoUBeH5g%eH#U!!s$m%!;k:H!<1LN!7fU" n^RZ)!;tCI@fQIY~> !rlhCJ_$1=!<;03!!)oI!W^g&rW)!0!L3ZYec>a>ec5^CecPp'ec>^#!s$p'!;k=I!<1OO!7o^$ n^[`+!;tFJAcMd\~> !rnaZJ^p+;!<;02!!)oH!W^d$rW)!/!L*TXeH#X=eGoUBeH5g%eH#U!!s$m%!;k:H!<1LN!7fU" n^RZ)!;tCIS,`M=~> !rl_=J^p+;!<;02!!)oH"p!3(!7fU"jOF9q!;=qCs7"P=!;P+C!<:RL!<1LN!7fU"qpkTEs4%)L n^RZ)!;tCI@fQIY~> !rlhCJ_$1=!<;03!!)oI"p!6*!7o^$jOO?s!;=tDs7"S>!;P.D!<:UM!<1OO!7o^$qptZFs4./M n^[`+!;tFJAcMd\~> !rnaZJ^p+;!<;02!!)oH"p!3(!7fU"jOF9q!;=qCs7"P=!;P+C!<:RL!<1LN!7fU"qpkTEs4%)L n^RZ)!;tCIS,`M=~> !rl_=J^p+;!<;02!!)oH!s$m%!<1LK!9M`3PQ:F-!<;Q=!!)iF!!*#K!s$m%!<1LN!7fU"qpbZH qpbZHn^RZ)!;tCI@fQIY~> !rlhCJ_$1=!<;03!!)oI!s$p'!<1OL!9Mc4PlUO/!<;Q>!!)iG!!*#L!s$p'!<1OO!7o^$qpk`I qpk`In^[`+!;tFJAcMd\~> !rnaZJ^p+;!<;02!!)oH!s$m%!<1LK!9M`3PQ:F-!<;Q=!!)iF!!*#K!s$m%!<1LN!7fU"qpbZH qpbZHn^RZ)!;tCIS,`M=~> !rl_=J^p+;!<;-1!!)uJ!!*#K!!)uJ!!)03!L*TXeH#X !rlhCJ_$1=!<;-2!!)uK!!*#L!!)uK!!)04!L3ZYec>a=ec5^KecPp'ec>^#!s$p'!<1OO!7o^$ rmh/Of%'j#ecPp'ec>6k!L3Z_f)K=]s*t~> !rnaZJ^p+;!<;-1!!)uJ!!*#K!!)uJ!!)03!L*TXeH#X !rl_=J^p+;!<;*0r;cfH!!)rI!!)34!L*TXeH#X;eboLHec#ONeH","rm^uKrmguJrRLlIrm^uK n^RZ)!;tCI@fQIY~> !rlhCJ_$1=!<;*1r;cfI!!)rJ!!)35!L3ZYec>aXOec=8$rmh&Lrmq&KrRUrJrmh&L n^[`+!;tFJAcMd\~> !rnaZJ^p+;!<;*0r;cfH!!)rI!!)34!L*TXeH#X;eboLHec#ONeH","rm^uKrmguJrRLlIrm^uK n^RZ)!;tCIS,`M=~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!<9X\!L*TXeH#W\eH(m7r71gVs8RT~> !rlhCJ_$1=!<9X]!L3ZYec>`]ecD$9r7:mZs8RT~> !rnaZJ^p+;!<9X\!L*TXeH#W\eH(m7r71h:s8RT~> !rl_=J^p+;!WU]]PQ1^WeH,^#\s*0pr71gVs8RT~> !rlhCJ_$1=!WU`^PlLgXecGg%\s36qr7:mZs8RT~> !rnaZJ^p+;!WU]]PQ1^WeH,^#\s*0pr71h:s8RT~> !rl_=J^p+;[fH-P[fH?Vs'l$.J,~> !rlhCJ_$1=[fH-Q[fH?Ws(261J,~> !rnaZJ^p+;[fH-P[fH?Vs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !rl_=J^o>%J^sABs'l$.J,~> !rlhCJ_#D'J_'GDs(261J,~> !rnaZJ^o>%J^sABs-s&gJ,~> !<7UZJRX1>mpc=sJ,~> !<7U]JRsCDmq)P!J,~> !<7V>JX_4[n!j@WJ,~> !WU,i@Y&!>@e!n/`W,sg~> !WU#fAV"EDAas=5_Z0Xd~> !WU,iRt7&[S+2sL`W,sg~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> JcC<$JcG*:J,~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/dlgedit_edit.png0000644000076500000240000002170207362407534015734 00000000000000‰PNG  IHDR•]D‚gµ pHYs``zxE IDATxÚíÝ{xå/ðÄN|Mš‹Û¹@›X"Üpl¶Î–=›“ChºÇ†¥ô²àÀSâ‡6Ë’¥‡>ûäéî>g=Ù ¡xh¡À±¡)´)݃wÉÚŽqÒÀ®/´”Ül'„D¶“ø&Í{þY¤Ñè>#?žd<4·¯~ï«‘FB€ˆÈ†d®"b~%U€–Ã-ϽØÅuAD¶pß7œ•*}õˈlÄY“Æ>[ÇUCD–.¾î?0©ý¨ ¯cǹ~ˆÈ&õß3¼ˆÈF2¸ ˆ(3ž`Õº5±L¤þ¢4¶fUz§ýÚnCD±Cª¶=°Öàô¹˜_SűãxúÇÒo8-ÊFÃa‹¦ ·PÓïæ¨îvï¶ý÷nÛjzI¡öç?÷lÿÕ¬Y-Mì÷¿ þ£5«¥Pw™´vµàèøLtÆež1NfM‘¾ø5«&ö³´Nû´ø°Aû1TTo?Vwÿ펷ÛöÀÚýÏÕNÖzÔ7Åóû· !ÔéÕôT?o ^iƒI›e…×ÚÕ’îé!jf¶6 Ý‹O肤}!Àj(µÃqÔzô¸ö¦Ž|ð;u‘Õ_ÆU˜ÉÊ+l™`0ÁÚÕR¨ju•ÚúËŸVÚÚÓü‹‰îŧý›?«!KUaÑÕ_þ½ÚŽjx­]-EPTaqi6-ü#ýÿ†­J´)¦›I`±f²T4SëiÿŒî_¹ùcrzöq8åý_ÑÑ…—£úK—\Ç~'" ¯ e‚Aõ¤»ËLýv&&Ÿ+¢áèX]]ÞX^X¨gdÿ‡íÒÿuôw"hxESi«05¼âXm%ÁÑß ë÷Ð'aͰÿ‹Ã)éÿÚöÀÚÀNpõ¶íµ1V^Ô_ºð2Y‚¥¼þ L‡äÔ_AŸ1hïžÿ±1Ö_aŸ‘ý_N~ÿWàç‰Úhó×SÚéÕS%Ã+ÊúËß` û‰¤eK›Ø«°HK$õÍ<¯A/XÜŸ‘ý_N~ÿW¨“QCMÿüþmÏïßfþÔ…0Ÿ?êJ­ˆª0ãú+ègp‘Ö_OǬÀWj¼ÁÃÃ~ºj0‡ ÃQ<#û¿8œüþ/˜8;_8æ¦7Uíª¢ Ó…hØx õIb¨{ æã.]ëÌ`2Ý CU4¡–B;+“§DÌA{o,ÏÈþ/§¤ÿëØñ0·§‡Áù÷åU}av—ͬƒý_NIw‘ô^ÿ éË .³#öq8 ý_ÇÛ%úÙçDDaù“Åÿ½Ÿ„Rë/þþÅ'¼Ôä2yêVŒíGó‹ˆâ^‰N®@A+@""“’Sv…É/íU=ˆˆLJIréóëá•Î2gª^GW7¯AIdS);x'òËYæLaˆ¸œ®Î®NîDM~¥PSS“ iþ&ÕÝ•~Ëh»…b¥ÏüJˆ–Ã-é½®«n­j~¯™ •òÌJ?mðúCIÒÜÒÌ…â &æ󋈘_DDÌ/""³Ì~þèrºGšÿ‡§wQÊê¯Î®Nõ¦Nšª[«ü·Øgv ùª^® ;ÆücÃÞk~æñÚ|Ñm¢8Ô_fJ35Ñt¥–ÿÞXJ0ÝIFñ:ç(p&6=?«ùnK¿lu{E´ÕÒïD9JeýeÜ0TojTù´÷FÔØ4/ÝÎX”©Ã•ZÐ1Aÿ}ÎÑe¶&ªz¹J›JU/W©7]¥ý7Ô”Úñ¡ ´À{ ¦{MjsD´!â²hÊÕ_A›þ,K»ÁpÐÀ·úÀˆŒnÎ ª´YjØä”&b0}ÔÛH·ž‡£Û¡¶ 1¿"k?Z¨=zV’Í9ÉÍÃÀñæ§´TË4ŠUê! /æ—^þçsÝoe w:÷çû1ãÔýy›Ü[ýÕVÐF%¦ÆÇŽþ@ŒýÈQ›þuU’ùb-Šú.Tc6.ù•„f]·¥O~e^é.üdWÖµll€H˜Èþ÷Ú‚ó¯ž+Ý[ÚÌÒý™Æ¦¥¿ýý9žws<ÝÞ’;ˆ²‹™?Ëþoñm?ÆeʰE–:òÀ{U»W–ç wgŒx”ÜÁŒ²‹Ù?Ë7»DÆíÁmFó 2»}PçnHÀâšI÷!k¬cQWÝ'í¯]7ùóGƒfftAØ-Ë>÷Z@}1³Æ>nûŸ¸¾l° 2  šj\zã“y;#-Áâü"ÍÍSÛíõÁ/\7øøóË›†2¼( ~S»àüŸ”ì¼:ó‹ñ]‡©¥[~vìrŒ¸!àD#æ¯Ç¬~p(îÂ?ìÒ¥RÐ?c,ÁtVþ=U;Þx÷Õ¶/‚F˜îˆhÎÛ¿^õÞs59»@䆆ì·k]ƒ}(ßc»ÒLÀ…šÒ =¨{ˆ:ðAÍ Åç¾½¡Å5úçxPdªuu=ÔYöd¼¶©Á›“É Qû1ÓÛ™wå—¹îw§]íÜý³ožåbØÎ¤ë?jÚ-¿ç`ч?@àd@þ¼×ïÍÏHê{2œ-ûwáÖX^DSSSýözû¾®<³-{¡ _nÀéFߨ™Å˜[áþp7þíoΔíì±Ë2®ül[öX*ÔZ˜YŒySü/i`–ó™«ßÞùèNm¸ÿ8ú›ÕYóõÀàï@AàÅPë{œOx20,n÷ž„½þcNï[P 2 bRûÑ·g+È=ûVŒùekó.ÿ*{° gûñN-ÎŒçWÖBllÄü ¸ña¼ó7…JÏ·×Ød‰®ü*ûZtîÆù6(€d.ÄW±ÀaB {ð£$;]°j†Ò÷­Å»³¦C€,¨Áÿì¿7ë7µ×µþÅÉòWFg–2#ì"äù«™—»á<ã7er~£€Y—¦ôç|þ.Æ€Ë}ø¸£ðÝÜ}ì˜È!P³Â&KÔÿ®oûöµMl}¯æ ¬¯U/*ÿi£-µÌ½+K¹æÛosÊQÞ0énŽ÷Âc0Ò¡ÿKé!)à…¤L®¿<¾M@sOå5˜Óßí+Q€4>v~9æ¯÷ ·ïV„×â[,Ñ•nß{•Úr¼­˜UŒÂ 5¼”ƒw ! !Ͻ¶)“¯þ*ûZ—ïýzN9Ö7ê§ðd^êÈ;ó‹þÒ¯2ì_cŽ‚ Ïe@’¤Y“_ ;Â;½`*¯AÇÈ$@<šrö–=È)ñímOE³gʶȯŒ‘ñ­ Ltzªã{Å@ŸZÍö)“ÞÅ|Ÿ¤oh€ö¿Æœ ,­™xKV rz~Ãü²}ûq¨`…ú+ü;±!+Š,„<”wÃT^ƒ£ŽEâ…ðBŒAd-Ä]-(ò•*ÞŸÜ"úÔøù{üÚšGäúZÁjSëø}#>jÄ@iyô§ÿ[]¢!̲M™|¥£À—vøÂ Àñ=º&…º«Ï¸Ì Ù?¿®”ü1žPê¿“ú Å—k 7Må5x%{¹¢ÈB‘EV„Œ;±°€hÛãùù_ªkO½µÛ¤±58½l¢ÛËq°V¬UÖ*¿¸Sô —ïoþž8/-´MCcxcÀ4 {&u‰Œ¿OCég.ؾý8¸xKî_˼üŸ2$²¤©¿ÆË´•‹ïˆñETWWwvuÚôÚˆJöÞCíÈ)vüÅ+ÒÂõDßÏ ÔcÃ_· !o~øǪJ,RÞýâ×mPTœbñQ£€¬~ÖìߤâõBì½nó#âß´ÇvꚃҾ¶ð§­8Û†Å5˜U<1Á²Ñß+zÛÅŒ¹i)Rû’$éÞmûÃç€ k+ü×ï8Fû%¡@šüf¥ÈðNÏ»°úqÛÁlzaÑÌuÅù7fÍÿ’^”ž6iyP¨ß¹‚§óàðì'2×ÂË8mý¢ü•™—;äu;¤²qð.ß5åßÓ.ãP}–(±<Û3þÇ‚ lªÐ[¤î×EÏÝWó–ÿ‘׸µ{ý`4Ù¹?ùñœ£ÿ˜y©SPzÚü ¦yd¶ëÂÚÇFó—q%~¶æ±’OíÿÓ±þ»º FþPtqí÷m´DŸÞ´«øð¶éjÃÖW'9öÒÅ/ï³Ñ nšuþ—ÒG“?v,Z\ßWJ”î×EÏ!p¥øÏ¸K[SSSSù`´`Ù¹Û~š}ò—³Î¼yì%¹yŸ’™72ÛyuÝ®Á%·s…úƒþBöœy¿ãÕuÈP¦ç|Z½o´ÀNA?’·¬÷–ýsßý‡lM¿§ 0ÚxÏðì¿l³%r—nÍ;Ñuð®ñ_4Kãù5Öx·òPÁŠÁ%[¸K§CýåweÉíW˜VÆoï_ð ûÔ±™§ß™q©[î÷fæÎ.»Zú•«×Ýža2’¿¬wã‹9'ßœÕóöŒKòH¿2=oxö W×íº²Ô–;ÃÙu—6}Ýÿ#¤É]ºÞiy*þ‘;sºå™teéí6=¶C\²%mꑱY%§7¾¶àÈÙ—:|mÆž6_]9T°â³ªÇ½3çq7N“ü²à«Åî¦Bܽ"c‹S^ÔòÔ©þ§~Ùáy¹SùàœT[ó㦌?ðØ}µû„æÐ›‡Ì?jó–ÍÑ×_{÷íåîNiéõ¿y˜ùEÔYþ÷Êm¾¶ë·×kÿÜù¨©_Ä:qòDLíGÝED#ºŸ]ªÜPÙr¸%žíGÝ+àf ¢H™9¯³rCeWwW?¢+sý‘M™Í/Iú‘ñ°v¤ùY 5ùçJ¹¨V;±:½ ɯ<ö'U_¹¶%“Z|Ø»oo¤—§°ÊùB<—iÒŒ$ýH]jÿ€}ÁÖKAö®¿"-B½÷úK “õ]à4¡æ`²ZÔ½B“Ïv¹ÌÌ*l j]é9ÔS‡Z«¡*)ƒ²(p†æ×K-Š¢øP]]i f¾ÿþ‘À7OݘÀb!ð½7è|çi0MØ9Ä·ú¨(f¥}¬É'Ò.iاõ2üëS·êŒ«[ÉQ¼ ÿ‹/²Pý¥=¶ï¢Þ_­¹£ÇåU%hÑ â>öç5ÿX&EW|EW‚%¼ÿ+Ò¦DÔåUØ¢&mÄ«uã|"ý‚ÑFqA~i“ÅdÊèZI‹°ø†`Z–±Ï‡yD±_?‰ƒñ"Íœ f¹ïo§*wLžÀa²«+ ÕS×UŒó1óp†ôë=æ¿¶˜ØüÒö”…ê<Ž®t ;«Àùè^Œn¤A§žÁ£ÌÏ*º'Šz²H7M¤ÁéË`û‘tÔo …*²Lžˆ/ !î»ÿ€çž­Óõ¥¹œ®½ûöªiÙ€³­ìm»E_;yúežÂFÄü²TrØíëçÒ)ª e+?¹EY8Fû¹í‰˜_VjB"ßáqCOJ¾–ã‚r¬yEë‘[‚…(ª½mBÈžiyÜöDv—VךåÂàï_Do›øE­8{D@*ß¡Ö_Ã+¸í‰˜_20o<À(p}úQ£P Š*Sâ›B@!_-¹ÛžˆíG q—lÍ?ùjÖåéŽ(µdéæïI ׫(½mBÈC®Á%[¸í‰¦\~zóÐæ-†?ê<¤ý³³k³¼8q>½qWqó¶é€´µAš|—÷ÈžÖ§¼Óò.®}ŒžhÊåס7™‰0mN%'¶ü†óÊzªž›ÿôª™ÕÿýŸEŽ6Þ`¨Àuqíc£˸á‰Ò@ý_jxí|t§8j.ç!õ´jó‡šLWâéŒä-;Sý³³§þØxïð›ßk¼gèí×T]X·ëÜm?exM¹úË^êO>þO‡­Â ÂËL£2Ôd& ºÅw ,æöDS>¿´á…ñ_a5ˆ0m}˜516'“Ù%"{ç—.¼ÆCÄ(ÂÂFŒAPWjq QôùµyËfg™ó‘¿}¤åpKþòÕ‘îÏÝBa/ùa2¡:»66 Yj‘Sý÷jHUn¨tîVërCetábDMýå0g™³rCeËá–ÃK-µË.] ¦›Œ›Šˆ¢Ì/m„‡W¨¬ÑŽ5vV 2"Ьý¨kH&¨Ù˜ä3]‰hjåˈlœ_ Âð""»æ󋈘_DDÌ/""æÑ„Œt]0g™“[7.$IÒ~uŸ¸›YgÇËHãåOÚ×3i*ãnÆö#YTSSWYvÇc~ë/""æ󋈘_iÊåt… ì4AgÑ£(]÷.Ýnã^Á½+PÄçO8˜ƻœ.ÝYþ1ºõ8Y¨»Rµÿñ¼§ä¯ÞXV»u6YÐWÂÝ)Åù¥ž­E„Ý„ÚÉ’¹ç©A*=µQ˜¼A_°îÅëkÆgZ¦ä$Õ ouiS׫KøoÐýM;}àa*ûRuÅk¯‹}Çˈô¥¨¿"maºMe©·Í Å`à~ ]„H÷’H?ilw¦eàAêÈ·TuU¡Z$¡†ƒØ4ͺ×É‘†—ÿß$|s"¡ÛÌüîžöeªNRõ—¡ÊXõD;YàHíû5븸ìii¹ƾ㙪¿´áåÏTã*,T Q'W2·™ñÏSëÓF˜õöøîQS¶¯6|~†W,fÙµlð‚v[P|›ZSíŒËÂNÁõqû±«»K’¤¦¦&m±§þ)I’}¿¼*‰"M(&%¡ãn}ûQù½ûö655UWW«AV¿½ÞdO¶¥ÞF´ñh›MÀ)µ.¡–ÑšoŒü>v¼¶¾ŽpóMݰ»™-J°Äíu­q5ÂL†W¦«®´aüóÔÎÜøl Ãf¬C’$;6-W¬ndÐ#<Ò='ð`îÀ[YCŽa·ùC3\ù›Üs·&n‹Ëþf}‰Þë2"ÝŸöîÛk^&ì[M"ú(Æ•ùW_AiÏýYƒŽ·Wäeº 6¹ ·Æñõ˜?ÈMî`æ6s¸»ð³]Y×:À(pxÜÙך³?k.è}õÜõ»†sÊ,Þü´òa’è×–é«áYéSGæh÷Ÿÿ£íóoFÙw¡À!­ ûøî‚žWÏ-ß5œ[fïî^tªÎ±îYðý+/d ,>ìÔ,»˜<#þþÃkª„×p÷¢¾:‡ìÆV¡¿oiMÖiÑ‘ºÓå†óla…§v9†Ý(® 5ìEá¿î:¹áÿMÍê& 󋦈³»3—aãßßW{pá@óÖCcÔ½àÞºõ›.`þ…ƒY€Óõ—˜UŒù¾¿Ü‘wæ`éVîÌ/²É±}é`Ö@V4LŒjªÁÙ6(€˜[B óRGîé_ ,úª—1÷ü[¼]륌7¿Ög[Ѷ[äôü ó‹ùEö9¶? kP:Þ°z·™¥XR /нmP !Óû[›æWÖåNxÿçcjÏ×Ürܲ *àÅJ!!ϸÌ+t0¿ÈFǶ»9E»vøÛSìÁÙ#â`­²˜qѮǶcÈ ir~Í/ÇŸ7"§Úw+²" ôs—`~¥/Ÿ§ìV?ƒóñ‡€œ,+B†€²Ê:/ (ýg½ÓòFfßp¥ô¶+Knçn†ùej0}I^ì'ð®¸_¾…ÂÛ=Õ/˜ñÆ_Îë™® H³>›¶|lëÏÒlIO¹`.0UOs»§s~ùC$°3¾`Á½A/öxWà!’Ë·$ô7ÅÒ<Èîx¥—kì•_Ú³ò¶?¸=ìOE›üµ¦Ä5Íü*™:à,sî{z7?‘•…Œ°W´sIt?zç´E©.Žш(mÛºä2hÊÅ+¼â{ÁÎPÍFû^y„h*hjj [d¤ùù_<å‚hJ×_qêâ+A¯ë´zŠîò- *‰ÈùeòÚñºøŠÿƒÎ¨ç8%Ë(mðûCDÄü""b~1¿ˆˆùEDÄü""b~ÑTÙù_¼Î ™Q]]­zóùGmÞ²9ù ~{=· Bh¿_¼óÑQ<*!ù¥> ·4ƒšßkÖþY¹¡²åpKìÏÅþ/"JªÊ •]Ý]U·V1¿ˆhêb~Q²‹/{÷í½c~ë/""sÅ€êêêØK0æ±þ""2W|Å«KâïGò<Î5âj;f\DÞ8Ö¡ %÷r»‘…óëóãhyƒí(,ÇÊc ­µøøÿbÕ3(XÅ-A”öÅWÐ/ ª%˜îWËä×gÇñæmÀEÔM>k? Ø,p¤ï܆oc#Œ(ÍýöáÞ}{-\ýö ]Äæߟ—Z1Ü‹‚õÈ*€õ ø½„÷ÀÖ÷¹u‰Ò•úm¡PEVtÅWÂóKüÇ èk—¦þÚ«{Î6bN9n܃90|ÚŽÎçáb_QÚ¶ î•$ÉŠíG¥«QR y€³­¸®ªp¸µuÙ 0|ÔÈü"Jc‰¸â}‚ó«ï˜,dáU¤÷÷àJ/65À†ñ¶äùVü¶£ÀDo»Ä-L4õÄò«‚‰=ÿK¹zYQdE‘ÅÐѨ¿{V1¦cb ÊÕËÜDd¡üÂŒ9BÈŠ"‹Â <"àl+^^?4b°Ù%¸óˆ2¿BQdeÆ\n "²R~­SEÒV_›Q´íQN·)?¯UÞ©Ž‘ÖíP…ë¸1ˆÈBù%;k¯,rJ¥Üb_~U(J†âÍŠï©ÕM.«áÆ ¢ˆ$¶ÿ~Úš{º€c~QµnQ#,ð®¨Ã üü‘ˆR(Æ}æ%© l?ÆR|1¿ˆÈ®Åó‹ˆRV‚ÅX|1¿ˆÈ®Åó‹ˆRS‚Å^|1¿ˆÈ®Åó‹ˆRP‚Å¥øBtç¯= ˆÈ¤x}(âüBpí‘B#²üª®®fñEDæmÞ²9q¡Áþ/"²+æ1¿ˆˆ’+Lÿ×¾§÷q‘ýòkûƒÛ¹‚ˆÈ–ùʼnÈÊØÿEDÌ/""æ‘“ú¿â~uI"¢däW‚.0ID”ðüêìêäê "‹Û½§Å?Ìþ/"²+æ1¿ˆˆ˜_DDÌ/"Jg\”/LŸ6$I {nÀ”]|楉)þsSsñÙ~$²®)þ•˜°‹Ïü""Ö_DDÌ/""3ØO†Ëéòk? s9]Ú}éñDqŸ?ó‹(‚£.ÔAhßð²u3¿ˆ"(:»:G¦GxV—º‘êôêxã)Cd~Y=Òl¡‚„™ì¿'Šé8OËå •8ÆI”ügýEëqž®%˜õ“ùE‡K³Ó5ãXÁ±ýH”Ô` u`OiÓ¥‹{Í•ÐÕÂú‹(‚ƒÜ ¬°cjé´ã—K7¥ÁHæQjr“ãíØ„4³têpàƒ9$gå°ýHDvÅü""æó‹ˆÈ ößSú௕2¿ˆìG’$.>ë/"[J¿¯ïpñÍ`ÿ1¿ˆˆ˜_DDÌ/"Jgý÷»÷´pu‘Íê¯û¾áäŠ "»ðG–$„àê ";úÿm@u¢úØIEND®B`‚adonthell-0.3.5/doc/dlgedit/dlgedit_main.eps0000644000076500000240000043672007362407534015750 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner %%Title: /home/kai/adonthell/adonthell-src/doc/dlgedit_main.eps %%CreationDate: Sun Oct 14 16:04:50 2001 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 0 0 379 304 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 0.000028 0.000028 translate % Translate to begin of first scanline 0.000000 303.120000 translate 378.720000 -303.120000 scale % Image geometry 526 421 8 % Transformation matrix [ 526 0 0 421 0 0 ] % Strings to hold RGB-samples per scanline /rstr 526 string def /gstr 526 string def /bstr 526 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 145860 ASCII Bytes colorimage JcC<$JcC<$oDa=~> JcC<$JcC<$oDa=~> JcC<$JcC<$oDa=~> !WU,i@Y&!>@Y&"_@KFIJJ,~> !WU#fAV"EDAV"FeAHB[JJ,~> !WU,iRt7&[Rt7('RfUM.J,~> !<;V!JX_4[JX_jmnmVV!J,~> !<;V$JXM(WJXM^inmqh$J,~> !<;VZJ]r\hJ]s>%ns]XZJ,~> !<;V!!1SOKJRX1>Q!s^nnmVV!J,~> !<;V$!1ACLJRsCDQ"9pqnmqh$J,~> !<;VZ!6g"`JX_4[Q(%aRns]XZJ,~> !<;V!!1SOKJRX1>Q!s^nnmVV!J,~> !<;V$!1ACLJRsCDQ"9pqnmqh$J,~> !<;VZ!6g"`JX_4[Q(%aRns]XZJ,~> !<;V!!1SOKJRX1>Q!s^nnmVV!J,~> !<;V$!1ACLJRsCDQ"9pqnmqh$J,~> !<;VZ!6g"`JX_4[Q(%aRns]XZJ,~> !<7UZJRX1>JR\:]!<7Q~> !<7U]JRsCDJS"Lc!<7Q~> !<7V>JX_4[JXc>%!<7Q~> !<;n)JcC<$JcC?%qdKR*J,~> !<;n,JcC<$JcC?%qdfd-J,~> !<;nbJcC<$JcC?%qjRTcJ,~> !<;q*s8RYoJ]r\hK?X4%!<7Q~> !<;q-s8RYqJ^/hlK?j@*!<7Q~> !<;qcJcC<$JcC<$qjRTcJ,~> !<;q*!<7VoJ]r\hK$=+$!<7Q~> !<;q-!<7VqJ^/hlK$O7)!<7Q~> !<;qcJcC<$JcC<$qjRTcJ,~> !<;q*!<7VoJ]r\hYfug1r64l(r64l(rlk7K!<7Q~> !<;q-!<7VqJ^/hlYg2s1r6G#(r6G#(rm(CP!<7Q~> !<;qcJcC<$JcDqRp< !<;q*!<7VoJ]s\/!<<&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!<;l=p6u'^ rQG82pAb3nrQG82pAb9pbforn!<7Q~> !<;q-!<7VqJ^0h3!<<&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!<;l?p6bp\ rQYD2pAb3nrQYD2pAb9pcHc;u!<7Q~> !<;qcJcC<$JcDqRp< !<;q*!<7VoJ]sY.!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PZGs-ri.!Ls,f bQ415q3qBbs8C.BRfN>Ts'c'1s3/^a@K?FY~> !<;q-!<7VqJ^0e2!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T !+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+klLs-`].!L`ud c2j=5q3_6`s8C4DR/m,Ps()94s3ApeAH;a\~> !<;qcJcC<$S,WJXrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfpAb0:q>UH=r;QfA !;Xh=!;uitbQ.Oas-iugrr;kb!<7Q~> !<;q*!<<&BrVu];!<;B/rrD9,rrDW6rrE&BrrDQ4rrDc:rrC?grrE&BrrBaVr;b'crrD6+rrDf; r;c`=!<<&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!<;f;s-ri.!Ls,fbQ415 r1![p! !<;q-!<<&Dr;cZ=!!)?1rrD9.rrDW8rrE&DrrDQ6rrDc !<;qcrVufrq>UEpli6tbkl:Y_o)J^irr;uunGiLgpAb-mcN!nErr;uu^&S$2bl@\CkPtP^p](0l N;rq%q>UH=r;QfA!;t(?RfEHdrrL=Dr65/0!!*#uqjRTcJ,~> !<;q*!<<#ArVuc=!<;]8rrDl=rrDH1!!)uArrDW6rrE&BrrDo>quHZ=rrDc:rrC`rqZ-Q!!)K3rrD`9rrDo>!+PrO!+PrO!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO!+PrO !+PrO!+PrO!+PrO!+PrO!+PrO!+P`Is-ri.!Ls,fbQ415r*oZL! !<;q-!<<#Cr;c`?!!)Z:rrDl?rrDH3!!)uCrrDW8rrE&DrrDo@quHZ?rrDcrrE&D rrE&D!!)')r;c`?qZ-*1rrE#C!!(?jrrDo@!!)K5rrD`;rrDo@!+l/T!+l/T!+l/T!+l/T!+l/T !+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T!+l/T !+l/T!+l/T!+l/T!+l/T!+l/T!+krNs-`].!L`udc2j=5r+5lQ! !<;qcr;Z]qqu6Wro`+pkq>^HpmJd.drVulto)J^irr;uuqZ$Hnr;ZcspAb-mg&LpLr;Zcsrr;uu rr2ruj8]&Xqu?Nnn,NCfrVlitci="FqYpNqn,NCfp&G$lqYpPbrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfq#CBUH=r;QfA!;r>crr<&srrL=DqO7Nc!<3#qRfNJ=~> !<;q*!<;u@rVui?!<;Z7rrDl=rrDK2rrE#ArrDW6rrE&BrrDo>rrE)CrrDQ4rrC`rrrDi rrD-(rrE)CrrDu@qZ-*/rrE&BrrCBhrrDr?rrD$%rrDl=!<<&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!<;l=s-ri.!Ls,fbQ415q9/j>s8C.BRfNH3raPoO!s&AFbkkiLs*t~> !<;q-!<;uBr;cfA!!)W9rrDl?rrDK4rrE#CrrDW8rrE&DrrDo@rrE)ErrDQ6rrC`trrDi>rrDo@ rrD-*rrE)ErrDuBqZ-*1rrE&DrrCBjrrDrArrD$'rrDl?!<<&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!<;l?s-`].!L`udc2j=5q9B!@s8C4DR/m63ral,T!s&AHcMM/Qs*t~> !<;qcqu?TprVlitoDegjq>^Hpmf3:erVulto)J^irr;uuqZ$Qqs8W*!nGiLgg&M'Pq#C?oqZ$Qq jT#5[s8W*!r;ZWon,NCfrr;uuci="Fqu?ZriW&oXN;rq%q>UH=r;QfA!;ZWp!;uitbQ.YBrgWrf !!*#uqjRTcJ,~> !WQX-RfR!uqoo$=s3(KCo?7::bQ%YAbkqJ?bl%P?bl7YGbQ%XebkqJ@bl7YEbQ%YAbl%P?bl7\B bl7\>bl7\Bbl7\Bbl7\Bbl%P?bl7\Bbl%P?bkqJ?bl7\Cbl7\Bbl%P;bl7\?bkqJ?bl7YCbkqJ@ bl%P@bl7YEbQ%Y@bl7\Cbl7\Cbl7\Cbl7\!<<#A".K;7bl2)NbQIqGbfjPp RfR!uJ,~> !WQa0R/pn!qp,-?s3:TEo?IFcMmn5cMmnEcMR\BcM[bAcMmkKc2[jic2[kCcM[bA cMR\8cMmkIc2[jicMR\BcM[bBcMmkKc2[jic2[kDcMmkGc2[kCcMmn>c2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc2_GTc2_GLcMs=.c2j@5rQYG3!;Xn@!<<#C".9/7cMhDSc3+.IcH^#" R/pn!J,~> !WSYfbQ+./s8;rtrr<&jrrW9$!!)utquH`rr;cfrrr<3%!!*'!quHcsrr<-#!!)utr;cfrrrE&u rrDoqrrE&urrE&urrE&ur;cfrrrE&ur;cfrquH`rrrE*!rrE&ur;cZnrrDrrquH`rrr<'!quHcs r;cisrr<-#!!)rsrrE*!rrE*!rrE*!rrDiorrDNfrrE*!quHcsr;cfrrr<9'!!*'!!!)utr;cfr quHEirr<3%!!*'!quHcsr;cisrr<9'!!*'!!!*#urr<-#!!)utrrDio!1Wuf!1Wuf!1Wuf!1Wuf !1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1Wuf !1Wuf!1Wuf!1Wuf!1Wuf!1Wuf!1W]^s31<=!6kB@!R(Q>rr<&srr^IFs8W(frr2rurr2tfrQG;3 s*t~> !rl`!rF,d,qTSs=!R1T7bQ@jh!!*#BrrE)CrrE)CrrE)CrrE&BrW!/H!!(6e!!)uArW!;L!!(6e !!(6e!!*#BrrE&BrrDo>rrE&BrrE&BrrE)CrrE)CrrE&BrrE)CrrE)CrrE)CrrE)CrrE&BrrE)C rrE)CrrE)CrrDo>rrDu@rrE)CrrE&BrrE)CrrE&BrrE)CrrE)Crr<,E!!)r@rrE)CrrE)CrrE)C rrDl=rrDK2rrE&BrrE&BrrE)CrrE&BrVurBrW!GP!!(6e!!(6e!!(6e!!)Q5rW!/H!!(6e!!*#B rrE)CrrE)Crr<8I!!(6e!!*#BrW!#D!!*#BrrDr?!<<&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!<;f;s-ri.!Ls,fbQ415q9/j>s8C.CRfL\3@f=LS!<:9e@[m=*!<7Q~> !rli"rFH!/qTf'?!R:]9c3"'l!!*#DrrE)ErrE)ErrE)ErrE&DrW!/J!!( !rnb6rL^Hpmf3:err;uurr;uus8W*!rr;rt!<<#u%fZM/s8N'!s8N'!s8N'!nc/Rg#6+Z's8N'!rr;uu s8W*!s8W*!#6+Z's8N'!rr;rt!ri6#rr;uuN;rq%q>UH=r;QfA!;ZWp!;uiubQ.\BS,N?e!<3!! S':i#!<7Q~> !rl`!rF,d,q9/s@bl@_7bQIpibQ%YBbl7\Cbl7\Cbl7\Cbl7\Bbl7\Cbl7\Cbl7\Abl7\Cbl7\C bl7\Cbl7\Bbl7\Bbl7\>bl7\Bbl7\Bbl7\?bl7\Bbl7\Cbl7\Cbl7\Cbl7\Cbl7\Bbl7\Cbl7\C bl7\Cbl7\>bkqJ@bl7\Cbl7\Bbl7\Cbl7\Bbl7\Cbl7\Cbl.V=bl7\Cbl7\Cbl7\Cbl7\=bl7\> bk_>;bl7\Bbl7\Bbl7\Cbl7\Bbl7\Cbl7\Cbl7\?bl7\Cbl.V5bl7\Cbl7\Cbl7\Bbl7\Cbl7\C bl.V@bl7\Bbl7\Cbl7\Bbl7\>bQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),O bQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),O bQ),IbQ+.,!!*&tbQ415q9/j>s8C.BRfNFsr6, !rli"rFH!/q9B'Bc2[k9c3+-mc2[kDcMmnEcMmnEcMmnEcMmnDcMmnEcMmnEcMmnCcMmnEcMmnE cMmnEcMmnDcMmnDcMmn@cMmnDcMmnDcMmnAcMmnDcMmnEcMmnEcMmnEcMmnEcMmnDcMmnEcMmnE cMmnEcMmn@cMR\BcMmnEcMmnDcMmnEcMmnDcMmnEcMmnEcMdh?cMmnEcMmnEcMmnEcMmn?cMmn@ cM@P=cMmnDcMmnDcMmnEcMmnDcMmnEcMmnEcMmnAcMmnEcMdh7cMmnEcMmnEcMmnDcMmnEcMmnE cMdhBcMmnDcMmnEcMmnDcMmn@c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GT c2_GNc2a:,!!*&tc2j=5q9B!@s8C4DR/m4tr6>HGs3Ao$RJg[ss*t~> !rnb6rLUEpr;QfA! !rl`!rF,d,qTK!?bl.S6bkhD?bl7\Cbl7\Cbl7\Cbl7\Bbl7\Cbl7\Cbl7\Abl7\Cbl7\CbkhD> bl7\Bbl7\>bl7\Bbl7\Bbl7\BbkqJ?bl7\Cbl7\Cbl7\Cbl7\Cbl7\Bbl7\Cbl7\CbkhD:bl7\@ bl7\Cbl7\Bbl7\Cbl7\Bbl7\Cbl7\Cbl7\rrDH1rrE&BrrE&BrrE)C rrE&BrrE)CrrE)CrrE&BquH`?r;cK6rrE)CrrE)CrrE&BqZ-Z?rrDu@rrE&BrrE)CrrE&BrrDl= !<<&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!<;l=!Lj)bRfNNhrQG;3!;Xh> !<<#A".K:"@f+@Q!<:9e@[m=*!<7Q~> !rli"rFH!/qT]*AcM[b8cMIVAcMmnEcMmnEcMmnEcMmnDcMmnEcMmnEcMmnCcMmnEcMmnEcMIV@ cMmnDcMmn@cMmnDcMmnDcMmnDcMR\AcMmnEcMmnEcMmnEcMmnEcMmnDcMmnEcMmnEcMIVcMmkFc2djhrrE)ErrDo@rrDH3rrE&DrrE&DrrE)E rrE&DrrE)ErrE)ErrE&DquH`Ar;cK8rrE)ErrE)ErrE&DqZ-ZArrDuBrrE&DrrE)ErrE&DrrDl? !<<&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!<;l?!LWr`R/m !rnb6rL !rl`!rF,d,qof'?rlk?@p<rlkBBqTSs>rlkBBrlkBBs31KCs31KCrlkBBs31KCs31KCs31KC!6kEBrlkBBs31KC s31KCp<bl7\1bl7\B bl7\Bbl7\Cbl7\Bbl7\Cbl7\Cbl7\Cbl7\Cbl7\@bl.V8bl7\Cbl7\Cbl7\Bbl7\?bl7\@bl7\B bl7\Cbl7\Bbl7\Gb[R(?@K?FY~> !rli"rFH!/qp#0Arm(HBp!R:]EcMmnEcMmn@cMmn3cMmnD cMmnDcMmnEcMmnDcMmnEcMmnEcMmnEcMmnEcMmnBcMdh:cMmnEcMmnEcMmnDcMmnAcMmnBcMmnD cMmnEcMmnDcMmn>c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GLc2a:,!!*&t c2a:,!!*&tc2a:,!!N>Ic=NFBAH;a\~> !rnb6rL !rl`!rF,d,r6,0@r65->pWWX;rlkBBs31KC!6kEBs31KCs31KCrlkBBs31KCs31KCrQP9As31KC s31KCrlb?BrlkBBrlkBBqTSs>s31KCrQP9As31KCs31KCrlkBBs31KCs31KCrlkBB!mCWErlkBB !6kEBs31KCrlb?BqTSs>r650@!6kEBrlkBBs31KCrlkBBs31KCs31KCpWWX;rQP9As31KCs31KC s31KCm*,J0rlkBBrlkBBs31KCrlkBBs31KCs31KCs31KCs31KCqoo'?p!!F9s31KCs31KCrlkBB rlbKFbfg%er650@rlkBBs31KCrlkBBqof'?rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBp<<71r64m7r64m7s3(LQS,Hdrs*t~> !rli"rFH!/r6>9Br6G6@pWid=rm(NDs3CWE!7(QDs3CWEs3CWErm(NDs3CWEs3CWErQbECs3CWE s3CWErltKDrm(NDrm(NDqTf*@s3CWErQbECs3CWEs3CWErm(NDs3CWEs3CWErm(ND!mUcGrm(ND !7(QDs3CWErltKDqTf*@r6GV2rm(NDrm(NDs3CWErm(NDs3CWEs3CWEs3CWEs3CWEqp,3Ap!3R;s3CWEs3CWErm(ND rltWHcHZCir6G !rnb6rL<]a!!)rsr;cTlrrE&urrE*!rr<'!rW)uurrE*!rrE&urrE*!rrE*!rrE#trrE*!rrE*! rrE&u!!*#urrE&urrDoqrrE*!rrE#trrE*!rrE*!rrE&urrE*!rrE*!rrE&urr<-#!!*#urr<'! rW)uurrE&u!!)lqrrDusrr<'!rW)rtrrE*!rrE&urrE*!rrE*!rrDfnrrE#trrE*!rrE*!rrE*! rrDEcrrE&urrE&urrE*!rrE&urrE*!rrE*!rrE*!rrE*!rrDrrrrD`lrrE*!rrE*!rrE&urrE&u "9AK%!!)rsrrE&urrE*!rrE&urr@WMhZ!VGbl+"2s*t~> !rl`!rF,d,rQG9AqTSprQP9A!mCWErlk<@q98^9s31KC!mCWE rlkBBrlk?As31EArlkBBpWWX;r65*>rlkBBs31KCm*,J0rQP6@s31EArQP9As31KCs31KCrlk?A "3^`FbkqJ5bl7\Cbl7\Bbl.VBbl%P@bl7\@bl7\Bbl7\Cbl7\Bbl7\>bQ),ObQ),ObQ),ObQ),O bQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ),O bQ),ObQ),ObQ),ObQ),ObQ),ObQ),ObQ)+pbQ21BrF,d,J,~> !rli"rFH!/rQYBCqTf$>ps/m>rm(NDrm(ND!mUcGrm(HBrQbECs3CWErm(KCs3CWEs3CWErm(HB rQbECrm(NDqTf!=r6GV2rQbBBs3CQCrQbECs3CWEs3CWErm(KC "3plHcMR\7cMmnEcMmnDcMdhDcM[bBcMmnBcMmnDcMmnEcMmnDcMmn@c2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_GT c2_GTc2_GTc2_GTc2_GTc2_GTc2_GTc2_Fuc2hLErFH!/J,~> !rnb6rL<`b!!)lqr;cWmrrE&urrE&urr<-#!!*#ur;cfrrrE*!rrE&urW)uurrE*!rrE&ur;cfr rrE&urrDoqquHZprrE&urW!0&!!*'!!!*#ur;c]orrE#trr<-#!!*#ur;cZnqZ-Zrrr<-#!!*#u rrE&urW)uur;cisrrDfnrrDusr;cisrrE*!rrDEcrrE#trW)uur;cfrrrE*!rrE*!rrE&urW!'# !!*&s!;- !rl`!rF,d,rlbBBprr^:O3IV(s31KCPK`t*f$*sjf$+'mq9/j=rlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBbKKurS,Hdrs*t~> !rli"rFH!/rltKDps/g !rnb6rLf+Hr;_EKhZ!VGbl+"2s*t~> !rl`!rF,d,J^"):r;_DmUs&gJrlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Oq973T !FhPs@K?FY~> !rli"rFH!/J^45>r;_DoUs8sOrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLT rltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTrltLTq9I?T !G.\tAH;a\~> !rnb6rL8B !rl`!rF,d,J]r\hJ]tOGrgV8D!1Wpr!<7Q~> !rli"rFH!/J^/hlJ^1[KrgD,E!1Eds!<7Q~> !rnb6rL8B !rl`!rF,d,J]r\hJ]tRHs-s$tdEDW#S,Hdrs*t~> !rli"rFH!/J^/hlJ^1^Ls-`mudEVc(RJg[ss*t~> !rnb6rL8B !rl`!rF,d,J]r\hJ]tUIs-j!tcccE!S,Hdrs*t~> !rli"rFH!/J^/hlJ^1aMs-WjuccuQ&RJg[ss*t~> !rnb6rL8B !rl`!rF,d,JX_4[JXa- !rli"rFH!/JXM(WJXO!8s(0L$!G.\tAH;a\~> !rnb6rL3feJ]r\hJ]tUIs-q=6!Lq=3RfNJ=~> !rl`!JRX1>JRYoobfg)sS,Hdrs*t~> !rli"JRsCDJRu,ubg$6#RJg[ss*t~> !rnb6JX_4[JX`s7bl7^5bl+"2s*t~> !rl`!rF1?.J^o>%J^jd1S,Hdrs*t~> !rli"rFLQ2J_#D'J^sj5RJg[ss*t~> !rnb6rL8AgJ^o>%J^jdjbl+"2s*t~> !rl`!rF1?.J^o>%J^jd1S,Hdrs*t~> !rli"rFLQ2J_#D'J^sj5RJg[ss*t~> !rnb6rL8AgJ^o>%J^jdjbl+"2s*t~> !rl`!rF1?XJcC<$K)YlP@[m=*!<7Q~> !rli"rFLQ[JcC<$K)YlPAXWL.!<7Q~> !rnb6rL8B !rl`!rF,d,J^o>%J^oD'!WZ]!rF,d,J,~> !rli"rFH!/J_#D'J_#J)!WZf"rFH!/J,~> !rnb6rL3feJ^o>%J^oD'!W\_6rL3feJ,~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,d,qUPHCs4%2Oe^XZ`ebfFGeGoUEeGoTueb]@BeGoT#eUc8%eH;$9@[m=*!<7Q~> !rli"rFH!/qUYNDs4.8Pf%'ibf),OHec5^Fec5^!f)#ICec5]$eq)D'ecV0;AXWL.!<7Q~> !rnb6rL3feqUPHCs4%2Oe^XZ`ebfFGeGoUEeGoTueb]@BeGoT#eUc8%eH;$9S':i#!<7Q~> !rl`!rF,d,qUGQGpXK6Dkg]Y5rRClJo[NpAe("Euo[NpAJ^o>%J^jje!+MGr@K?FY~> !rli"rFH!/qUPWHpXT !rnb6rL3feqUGQGpXK6Dkg]Y5rRClJo[NpAe("Euo[NpAJ^o>%J^jje!1V42RfNJ=~> !rl`!rF,d,qUGQGqUGZJe^X[!ec#R:eGoUIeH5g%eH#U!rW)rJ!!*#KrW)oIrr<2P!7fU"rm^uK rmguJmaV:;qpbZHrRLiH"k !rli"rFH!/qUPWHqUP`Kf%'j#f)>[;ec5^JecPp'ec>^#rW)rK!!*#LrW)oJrr<2Q!7o^$rmh&L rmq&Kma_@ !rnb6rL3feqUGQGqUGZJe^X[!ec#R:eGoUIeH5g%eH#U!rW)rJ!!*#KrW)oIrr<2P!7fU"rm^uK rmguJmaV:;qpbZHrRLiH"k !rl`!rF,d,qUGQGqUGcMe^XZMeH#U!!!)K !rli"rFH!/qUPWHqUPiNf%'iPec>^#!!)K=!!)rJ"p!6*!7o^$rmh8Rf%'iPec>^#$38Z.!7o^$ !7o^$rmh/Of%'j#ec5^=ec5^HedVW1ec=:P!7o^$!7o^$rmh8Rf%'iPec:9PJ_$"8"-ijtRJg[s s*t~> !rnb6rL3feqUGQGqUGcMe^XZMeH#U!!!)K !rl`!rF,d,qUPKDrm_2Qe^XZMeH#U!!!)K !rli"rFH!/qUYQErmh8Rf%'iPec>^#!!)K=!!)rJ!s$p'!;k=O!7o^$f%'j#ecPp'ec>^#!s$p' !<1OO!7o^$rmh&Ln(.@9rmq)Lrmh/Of%'itecPp'ec:9PJ_#n5"-ijtRJg[ss*t~> !rnb6rL3feqUPKDrm_2Qe^XZMeH#U!!!)K !rl`!rF,d,qUGQGqUG`Le^XZMebfF9eGoUIeH5g%eH#U!r;clJ!s$m%!<1LN!7fU"rm_)Ne^X[! eH,a$ebfF9eGoUFec,XKeH5g%eH#Qur;ciIrr@W#J^on5"-`dpS,Hdrs*t~> !rli"rFH!/qUPWHqUPfMf%'iPf),O:ec5^JecPp'ec>^#r;clK!s$p'!<1OO!7o^$rmh/Of%'j# ecGj&f),O:ec5^Gf)GaLecPp'ec>["r;ciJrr@W$J_#t7"-ijtRJg[ss*t~> !rnb6rL3feqUGQGqUG`Le^XZMebfF9eGoUIeH5g%eH#U!r;clJ!s$m%!<1LN!7fU"rm_)Ne^X[! eH,a$ebfF9eGoUFec,XKeH5g%eH#Qur;ciIrr@W#J^on5"-`eTbl+"2s*t~> !rl`!rF,d,qUGQGqUGcMe^XZMeH"pc!!)rI"p!3(!7fU"rm_2Qe^XZMeH#U!!s$m%!<1LN!7fU" rm_)Ne^XZceGoUGeHl6+eH".M!7fU"rm^uKrm^uKr7(cIJ^o>%P19Z!!+MGr@K?FY~> !rli"rFH!/qUPWHqUPiNf%'iPec>$e!!)rJ"p!6*!7o^$rmh8Rf%'iPec>^#!s$p'!<1OO!7o^$ rmh/Of%'ieec5^Hed2?-ec=:P!7o^$rmh&Lrmh&Lr71iJJ_#D'P1B`#!+hSsAH;a\~> !rnb6rL3feqUGQGqUGcMe^XZMeH"pc!!)rI"p!3(!7fU"rm_2Qe^XZMeH#U!!s$m%!<1LN!7fU" rm_)Ne^XZceGoUGeHl6+eH".M!7fU"rm^uKrm^uKr7(cIJ^o>%P19Z!!1V42RfNJ=~> !rl`!rF,d,qUGQGqUGcMe^XZMeH#U!!!)K !rli"rFH!/qUPWHqUPiNf%'iPec>^#!!)K=!!)uK!!*#L!s$p'!<1OR!7o^$f%'j#ee%o5ec=:P !!(U$!7o^$!7o^$rmh&Ln(%I=qpk`IrRM,Pec=:P!<1OL!<1OR!7o^$f%'hPeq)D8ecV0;AXWL. !<7Q~> !rnb6rL3feqUGQGqUGcMe^XZMeH#U!!!)K !rl`!rF,d,qUGQGqUGZJe^X[!ec#R:ebfFGeGoUKec#ONeH","rmguJrRLoJ!S%2Lec,UMeH#U! rW)B:qZ$ZI!<(FO!7_&LeH#QurW!,P!7fU"!.i[OeWJAaPQ50^rF,d,J,~> !rli"rFH!/qUPWHqUP`Kf%'j#f)>[;f),OHec5^Lf)>XOec=8$rmq&KrRUuK!S.8Mf)G^Nec>^# rW)B;qZ$ZJ!<(IP!7h,Mec>["rW!,Q!7o^$!.i^PereMcPlPB`rFH!/J,~> !rnb6rL3feqUGQGqUGZJe^X[!ec#R:ebfFGeGoUKec#ONeH","rmguJrRLoJ!S%2Lec,UMeH#U! rW)B:qZ$ZI!<(FO!7_&LeH#QurW!,P!7fU"!.i[OeWJAaPQ72srL3feJ,~> !rl`!rF,d,[+,-VJ^o>%J^r3!"-`dpS,Hdrs*t~> !rli"rFH!/[+53WJ_#D'J_&9#"-ijtRJg[ss*t~> !rnb6rL3fe[+,-VJ^o>%J^r3!"-`eTbl+"2s*t~> !rl`!rF,d,\CCQZrm^uKJ^o>%J^r3!"-`dpS,Hdrs*t~> !rli"rFH!/\CLW[rmh&LJ_#D'J_&9#"-ijtRJg[ss*t~> !rnb6rL3fe\CCQZrm^uKJ^o>%J^r3!"-`eTbl+"2s*t~> !rl`!rF,d,\(1HXJ^o>%J^r/u"-`dpS,Hdrs*t~> !rli"rFH!/\(:NYJ_#D'J_&6""-ijtRJg[ss*t~> !rnb6rL3fe\(1HXJ^o>%J^r/u"-`eTbl+"2s*t~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,d,J^o>%J^oG("-`dpS,Hdrs*t~> !rli"rFH!/J_#D'J_#M*"-ijtRJg[ss*t~> !rnb6rL3feJ^o>%J^oG("-`eTbl+"2s*t~> !rl`!rF,g-eU`s9P_#'PPQChoS,Hdrs*t~> !rli"rFH$0eq'*;Q%>3RPl^qsRJg[ss*t~> !rnb6rL3ifeU`s9P_#'PPQCiSbl+"2s*t~> !rl`!rF1 !rli"rFLN[JH16$JH,^^RJg[ss*t~> !rnb6rL8? !rl`!rF1?.J^o>%J^jd1S,Hdrs*t~> !rli"rFLQ2J_#D'J^sj5RJg[ss*t~> !rnb6rL8AgJ^o>%J^jdjbl+"2s*t~> !rl`!rF1?.J^o>%J^jd1S,Hdrs*t~> !rli"rFLQ2J_#D'J^sj5RJg[ss*t~> !rnb6rL8AgJ^o>%J^jdjbl+"2s*t~> !rl`!rF1?.J^o>%J^jd1S,Hdrs*t~> !rli"rFLQ2J_#D'J^sj5RJg[ss*t~> !rnb6rL8AgJ^o>%J^jdjbl+"2s*t~> !rl`!rF1?.J^o>%J^jd1S,Hdrs*t~> !rli"rFLQ2J_#D'J^sj5RJg[ss*t~> !rnb6rL8AgJ^o>%J^jdjbl+"2s*t~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?JcGKE!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?JcGKE!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?JcGKE!Lq=3RfNJ=~> !rl`!rF2o/!!&Mg!!%TMaSu5?W;d(>bO,>sbJVs3!FhPs@K?FY~> !rli"rFN,2!!&Mg!!%TMaSu5?W;d()\%T2DMOiB!!G.\tAH;a\~> !rnb6rL9qh!!&Mg!!%TMaSu5?W;cm-'E.t4'4TSn!Lq=3RfNJ=~> !rl`!rF3)4p&Lrhp&K[Dc2RbDWrE+PeGB1GeC`IS!FhPs@K?FY~> !rli"rFN;7p&Lrhp&K[Dc2RbDWrEFIRDJ=Vk2YEkK#?:A!G.\tAH;a\~> !rnb6rL:+mp&Lrhp&K[Dc2RbDWrE.!$3:"(!WWS+g&D)Bbl+"2s*t~> !rl`!rF3&3!!)lq!!&eo!!)lq!!%TMdJrn?Yl=aXmeHe_mb6Cp!FhPs@K?FY~> !rli"rFN86!!)lq!!&eo!!)lq!!%TMdJrn?Yl=gIT<>Nurr\aTKuD^F!G.\tAH;a\~> !rnb6rL:(l!!)lq!!&eo!!)lq!!%TMdJrn?Yl=g*!WW5us8N'"!ijuS!Lq=3RfNJ=~> !rl`!rF3&3!!)lq!!&eo!!)lq!!%TMd/O(GqYpNqYQ"UUpAY-FgA_1_S,Hdrs*t~> !rli"rFN86!!)lq!!&eo!!)lq!!%TMd/O(GqYpNqYQ"cbUoCHVpAY'oR$!8OgA_1bRJg[ss*t~> !rnb6rL:(l!!)lq!!&eo!!)lq!!%TMd/O(GqYpNqYQ"S6rVuu!ir8uW!!!VbrrJV5rL3feJ,~> !rl`!rF3#2!!)rs!!&_m!!)rs!!%TMci3tFqYpNqYl=^IpAY3nr63pq!FhPs@K?FY~> !rli"rFN55!!)rs!!&_m!!)rs!!%TMci3tFqYpNqYl=p'R@U(KVW%OS"I"e"Kq6uu!G.\tAH;a\~> !rnb6rL:%k!!)rs!!&_m!!)rs!!%TMci3tFqYpNqYl=]>qu?_srr;rt! !rl`!rF3#2!!)rs!!&_m!!)rs!!%TMcMmkEr;Q`sYQ"USpAY3mqpX="!FhPs@K?FY~> !rli"rFN55!!)rs!!&_m!!)rs!!%TMcMmkEr;Q`sYQ"f]PF.i1S_a;F"HJ:mKRMVT!G.\tAH;a\~> !rnb6rL:%k!!)rs!!&_m!!)rs!!%TMcMmkEr;Q`sYQ"SFqu?_srr;rt! !rl`!rF2u1!!*#u!!&Yk!!*#u!!%TMc2RbDr;Q`sYQ"Uop\t?oqtf[6rrHSurF,d,J,~> !rli"rFN24!!*#u!!&Yk!!*#u!!%TMc2RbDr;Q`sYQ"f\N00?jQJDK>"GhedK72MS!G.\tAH;a\~> !rnb6rL:"j!!*#u!!&Yk!!*#u!!%TMc2RbDr;Q`sYQ"S,qu?_srr;uu!WiK5g]%;Dbl+"2s*t~> !rl`!rF2u1!!*#u!!&Yk!!*#u!!%TMbl7YCrr2ruY5\P$rqZQsrVQHdp=oTJ@[m=*!<7Q~> !rli"rFN24!!*#u!!&Yk!!*#u!!%TMbl7YCrr2ruY5\]\LPh%NNnOF3"GVV_JUcGS!G.\tAH;a\~> !rnb6rL:"j!!*#u!!&Yk!!*#u!!%TMbl7YCrr2ruY5eA!!36%u"98K+"piu`!Lq=3RfNJ=~> !rl`!rF2r0!W`6#Sc8`krr@WMbPqPBrr2ruY5\Rnr;HWorVm#tqY9gNg]%:`S,Hdrs*t~> !rli"rFN/3!W`6#Sc8`krr@WMbPqPBrr2ruY5\]YKnbA !rnb6rL9ti!W`6#Sc8`krr@WMbPqPBrr2ruY5\M2!rW*!WrE%u"9Jc5'ANNfS':i#!<7Q~> !rl`!rF2r0!W`6#Sc8`krr@WMb5VMCrrB2$#2f:Squ$Bkrr3,sq"FC8g]%:`S,Hdrs*t~> !rli"rFN/3!W`6#Sc8`krr@WMb5VMCrrB2$!fDV`re1@'rr3+QJU`*%g]%:cRJg[ss*t~> !rnb6rL9ti!W`6#Sc8`krr@WMb5VMCrrB2$!\jf\rW3)"rr !rl`!rF2o/!!&Mg!!%TMao;DBrrB2$#2f4Oq>0sdrr3,qp@Rt3g]%:`S,Hdrs*t~> !rli"rFN,2!!&Mg!!%TMao;DBrrB2$#-rf2JqAX*rr3+OI=6IFg]%:cRJg[ss*t~> !rnb6rL9qh!!&Mg!!%TMao;DBrrB2$!/:CVrr`>'rr3*,$472tg]%;Dbl+"2s*t~> !rl`!rF3#2q>d5hq>c*HbPqPBX8`4_pAXddr;Q]up%7h2gA_1_S,Hdrs*t~> !rli"rFN55q>d5hq>c*HbPqPBX8`3VJ,Xruec,RNI=$ !rnb6rL:%kq>d5hre^[Urec:,bPqPBX8`/Nr !rl`!rF3)4rrDoqrrAnqrrDoqrr@WMd/WqBY5eOirq-9hrr3)lnDilhrrHSurF,d,J,~> !rli"rFN;7rrDoqrrAnqrrDoqrr@WMd/WqBY5\OUJc:&teGfIMHZsS_gA_1bRJg[ss*t~> !rnb6rL:+mrrDoqrrAnqs,-[Qs,)C-d/WqBY5\O?(]FaAY5\G'$kXc*gA_2Cbl+"2s*t~> !rl`!rF3,5!!)`m!!&qs!!)`m!!%TMe,TFJqZ$QqYQ"t"kjn??qtg-Oh !rli"rFN>8!!)`m!!&qs!!)`m!!%TMe,TFJqZ$QqYQ"s`ML0]Xe'cW]J(WHS!G.\tAH;a\~> !rnb6rL:.n!!)`m!!&qs!/gLM!/c@-e,TFJqZ$QqYQ"sL2%0n;Y-,#K5fq^Z!Lq=3RfNJ=~> !rl`!rF3/6!!)Zk!!'"u!!)Zk!!%TMec,ULpAY*mY5\^hi8`qZi9/_l!FhPs@K?FY~> !rli"rFNA9!!)Zk!!'"u!!)Zk!!%TMec,ULpAY*mY5\^:MKEZVMRh@=!G.\tAH;a\~> !rnb6rL:1o!!)Zk!!'"u!/gFK!/c@-ec,ULpAY*mY5\]q:b!J8:n-):!Lq=3RfNJ=~> !rl`!rF327!!)Ti!!')"!!)Ti!!%TMfDbgNo`"mkJcG`L!FhPs@K?FY~> !rli"rFND:!!)Ti!!')"!!)Ti!!%TMfDbgNo`"mkJcG`L!G.\tAH;a\~> !rnb6rL:4p!!)Ti!!')"!/g@I!/c@-fDbgNo`"mkJcG`L!Lq=3RfNJ=~> !rl`!rF358!!)Ng!!'/$!!)Ng!!%TMg&D$Po)A[iJcGcM!FhPs@K?FY~> !rli"rFNG;!!)Ng!!'/$!!)Ng!!%TMg&D$Po)A[iJcGcM!G.\tAH;a\~> !rnb6rL:7q!!)Ng!!'/$!/g:G!/c@-g&D$Po)A[iJcGcM!Lq=3RfNJ=~> !rl`!rF358!!)lqrrDlp!!'/$!!)ip!!)ip!!%TMgA_-QnG`IgJc>fO@[m=*!<7Q~> !rli"rFNG;!!)lqrrDlp!!'/$!!)ip!!)ip!!%TMgA_-QnG`IgJc>fOAXWL.!<7Q~> !rnb6rL:7q!!)lqrrDlp!!'/$!/gUP!/gUP!/c@-gA_-QnG`IgJc>fOS':i#!<7Q~> !rl`!rF389!!)lq!s&B$!;ZWp!3cD&!;c`p!;QQo!.k1)rr<&ss8N)trr<&srr<%MrrW40S,Hdr s*t~> !rli"rFNJ !rnb6rL::r!!)lq!s&B$!;ZWp!3cD&MYdAPMYR2OMLkf^rr<&ss8N)trr<&srr<%MrrW4ibl+"2 s*t~> !rl`!rF389!!)or!!)ut!!)lq!!'5&!!)fo!!)fo!!%TMh#@?Sr;Qj!s8N)urr<&rrr<%MrrHSu rF,d,J,~> !rli"rFNJ !rnb6rL::r!!)or!!)ut!!)lq!!'5&!/gRO!/gRO!/c@-h#@?Sr;Qj!s8N)urr<&rrr<%MrrJV5 rL3feJ,~> !rl`!rF389!!)or!!)ut!!)lq!!'5&!!)fo!!)fo!!%TMh#@?SrVlitrVls"s8N)rrr<%MrrHSu rF,d,J,~> !rli"rFNJ !rnb6rL::r!!)or!!)ut!!)lq!!'5&!/gRO!/gRO!/c@-h#@?SrVlitrVls"s8N)rrr<%MrrJV5 rL3feJ,~> !rl`!rF389!!)or!!)ut!!)lq!!'5&!!)fo!!)fo!!%TMh#@?SrVlitrVls"s8N)rrr<%MrrHSu rF,d,J,~> !rli"rFNJ !rnb6rL::r!!)or!!)ut!!)lq!!'5&!/gRO!/gRO!/c@-h#@?SrVlitrVls"s8N)rrr<%MrrJV5 rL3feJ,~> !rl`!rF389!!)or!!)ut!!)lq!!'5&!!)fo!!)fo!!%TMh#@?SrVlitrVls"s8N)rrr<%MrrHSu rF,d,J,~> !rli"rFNJ !rnb6rL::r!!)or!!)ut!!)lq!!'5&!/gRO!/gRO!/c@-h#@?SrVlitrVls"s8N)rrr<%MrrJV5 rL3feJ,~> !rl`!rF389!!)or!!)ut!!)lq!!'5&!!)fo!!)fo!!%TMh#@?SrVlitrVls"s8N)rrr<%MrrHSu rF,d,J,~> !rli"rFNJ !rnb6rL::r!!)or!!)ut!!)lq!!'5&!/gRO!/gRO!/c@-h#@?SrVlitrVls"s8N)rrr<%MrrJV5 rL3feJ,~> !rl`!rF389!!)lq!s&B$!;ZWp!3cD&!;QQo!;QQo!.k1*rr<&trr<&trr<&orr<%MrrHSurF,d, J,~> !rli"rFNJ !rnb6rL::r!!)lq!s&B$!;ZWp!3cD&MYR2OMYR2OMLkf_rr<&trr<&trr<&orr<%MrrJV5rL3fe J,~> !rl`!rF358!!)lqrrDlp!!'/$!!)ip!!)ip!!%TMg]%6Rr;Qj!s8N)urr<&rs8N(NrrHSurF,d, J,~> !rli"rFNG;!!)lqrrDlp!!'/$!!)ip!!)ip!!%TMg]%6Rr;Qj!s8N)urr<&rs8N(NrrH]!rFH!/ J,~> !rnb6rL:7q!!)lqrrDlp!!'/$!/gUP!/gUP!/c@-g]%6Rr;Qj!s8N)urr<&rs8N(NrrJV5rL3fe J,~> !rl`!rF358!!)Ng!!'/$!!)Ng!!%TMh#I?Rr;ZcsrVlitr;Qfus8W&uL&V0_S,Hdrs*t~> !rli"rFNG;!!)Ng!!'/$!!)Ng!!%TMh#I?Rr;ZcsrVlitr;Qfus8W&uL&V0bRJg[ss*t~> !rnb6rL:7q!!)Ng!!'/$!/g:G!/c@-h#I?Rr;ZcsrVlitr;Qfus8W&uL&V1Cbl+"2s*t~> !rl`!rF327!!)Ti!!')"!!)Ti!!%TMh>dKTs8N'!nG`Igr;Z`rM#RKbS,Hdrs*t~> !rli"rFND:!!)Ti!!')"!!)Ti!!%TMh>dKTs8N'!nG`Igr;Z`rM#RKeRJg[ss*t~> !rnb6rL:4p!!)Ti!!')"!/g@I!/c@-h>dKTs8N'!nG`Igr;Z`rM#RLFbl+"2s*t~> !rl`!rF3/6!!)Zk!!'"u!!)Zk!!%TMhuEZUr;Q`so)A[iq#C !rli"rFNA9!!)Zk!!'"u!!)Zk!!%TMhuEZUr;Q`so)A[iq#C !rnb6rL:1o!!)Zk!!'"u!/gFK!/c@-huEZUr;Q`so)A[iq#C !rl`!rF3,5!!)`m!!&qs!!)`m!!%TMi;`fWq#: !rli"rFN>8!!)`m!!&qs!!)`m!!%TMi;`fWq#: !rnb6rL:.n!!)`m!!&qs!/gLM!/c@-i;`fWq#: !rl`!rF3)4rrDoqrrAnqrrDoqrr@WMirAuXp&>!lpAY*mnGiIfOoGGkS,Hdrs*t~> !rli"rFN;7rrDoqrrAnqrrDoqrr@WMirAuXp&>!lpAY*mrVm;o]&DT'h;$bFUZhaXrW&)\!G.\t AH;a\~> !rnb6rL:+mrrDoqrrAnqs,-[Qs,)C-irAuXp&>!lpAY*mrVloD2>aBV!&`(%s8E"\rrJV5rL3fe J,~> !rl`!rF3#2q>d5hq>c*HirB#Ync/UhqZ$Qqo)Aahrr)lr!0mKa@[m=*!<7Q~> !rli"rFN55q>d5hq>c*HirB#Ync/UhqZ$QqrVlodaSPo=fnbaRrVuisPlCbqRJg[ss*t~> !rnb6rL:%kq>d5hqMKk(irB#Ync/UhqZ$QqrVloD@f$*,WW3^XrVuisPlCcRbl+"2s*t~> !rl`!rF2o/!!%TMJcGWIrW)?cq>g$b!WDrms8;qbrrHSurF,d,J,~> !rli"rFN,2!!%TMJcGWIrW)?cq>gEm!k,rFrnRS;rr3&AL7e>Br;`5b!G.\tAH;a\~> !rnb6rL9qh!!%TMJcGWIrW)?cq>gEm!]=!Xri,t !rl`!rF2o/!!%TMJcG]KrrD6^!!)Ed!rVrop](3mS,WLuS,Hdrs*t~> !rli"rFN,2!!%TMJcG]KrrD6^!!)ip#htuN]pY4OS`]qO!el !rnb6rL9qh!!%TMJcG]KrrD6^!!)ip".]E2 !rl`!rF2o/!!%TMJcGcMrrD0\!!)Ed!rMiko`+mjT)Sh#S,Hdrs*t~> !rli"rFN,2!!%TMJcGcMrrD0\!!)ip#e-:kR$NquNnF@2!ec3&o`+mjT)Sh&RJg[ss*t~> !rnb6rL9qh!!%TMJcGcMrrD0\!!)ip!(cqd!36%u!WiKuo`+mjT)Sh\bl+"2s*t~> !rl`!rF2o/!!%TMK)bfMj8T)Zmf*CfqYBsWs8E"lrrHSurF,d,J,~> !rli"rFN,2!!%TMK)bfMj8T)Zq>UqsQBd\tOGp"*s8U/mJr9*urW&Yl!G.\tAH;a\~> !rnb6rL9qh!!%TMK)bfMj8T)Zq>UF.qZ$j[irB%="9ob6s8E"lrrJV5rL3feJ,~> !rl`!rF2o/!!%TMK`DΠWcWn,EOiqt^$]mf37dV#LI)S,Hdrs*t~> !rli"rFN,2!!%TMK`DΠWcWq>^JX%$?R1N/H]rs5]>pJUm1grW&bo!G.\tAH;a\~> !rnb6rL9qh!!%TMK`DΠWcWq>^9k#KHfD`ukKh#k%`l!2TVqS':i#!<7Q~> !rl`!rF2o/!!%TML]@>RhZ!QUnG`[kqtg-`pZqkY!2oht@[m=*!<7Q~> !rli"rFN,2!!%TML]@>RhZ!QUq>UqjN/WXOQ/quFjFi/:J;EOkrW&kr!G.\tAH;a\~> !rnb6rL9qh!!%TML]@>RhZ!QUq>UF.r;[-C`rH(Z"9\o7)sdP'!2ohtS':i#!<7Q~> !rl`!rF2o/!!%TMM?!SUg]%6RpAb0lrr33$qt^'_p\F%QrW&tu!FhPs@K?FY~> !rli"rFN,2!!%TMM?!SUg]%6Rq>UGpreLo:jT#8$Ob/.7J"l0,rW&tu!G.\tAH;a\~> !rnb6rL9qh!!%TMM?!SUg]%6Rq>UFcr;[/Ds8S*%"9o&9:?_`W!36&"S':i#!<7Q~> !rl`!rF2o/!!%TMN;rkWg&D$Pq#CBmrr39'qtg-`q"OLZjo>;[XoAE2S,Hdrs*t~> !rli"rFN,2!!%TMN;rkWg&D$Pq>UrPLQpm"s5\icJq8H%IEpsSrW')#!G.\tAH;a\~> !rnb6rL9qh!!%TMN;rkWg&D$Pq>Uqq!$0)Zs2P6F"pP>=$DQY^rW')#!Lq=3RfNJ=~> !rl`!rF2o/!!%TMNrT+Zf)G^Mq#CBmrr36%r;6?eq=aRAs8E#&rrHSurF,d,J,~> !rli"rFN,2!!%TMNrT+Zf)G^Mq#:AeY5\G&aK2KBWW@O9iW&lWYl=`8RJg[ss*t~> !rnb6rL9qh!!%TMNrT+Zf)G^Mq#:@R=8r4#N`Z3_!a?!riW&lWYl=`nbl+"2s*t~> !rl`!rF2o/!!%TMOoPC\eGfLKq#:Bor:p9mpANkJrW';)!FhPs@K?FY~> !rli"rFN,2!!%TMOoPC\eGfLKq#:BYZhXP$LZ[InrW';)!G.\tAH;a\~> !rnb6rL9qh!!%TMOoPC\eGfLKq#:BAAGH0**RWaDrW';)!Lq=3RfNJ=~> !rl`!rF2o/!!%TMPQ1X_dJj1Hp\t6mrVcZl!<(XOrW'D,!FhPs@K?FY~> !rli"rFN,2!!%TMPQ1X_dJj1Hp\t9\h>Pn'e,eCfgAh-P[f6A>RJg[ss*t~> !rnb6rL9qh!!%TMPQ1X_dJj1Hp\t9J^&"f2^X:d8rW'D,!Lq=3RfNJ=~> !rl`!rF2o/!!%TMQN-paci3tFp&>6oq=jUVq"rVArW'M/!FhPs@K?FY~> !rli"rFN,2!!%TMQN-paci3tFp&>6AUkjGTU !rnb6rL9qh!!%TMQN-paci3tFp&>5i:)aNZ:nuS@rW'M/!Lq=3RfNJ=~> !rl`!rF2o/!!%TMR/d0dbl7YC^]495]`/"AS,Hdrs*t~> !rli"rFN,2!!%TMR/d0dbl7YC^]495]`/"DRJg[ss*t~> !rnb6rL9qh!!%TMR/d0dbl7YC^]495]`/#%bl+"2s*t~> !rl`!rF2o/!!%TMS,`Hfb5VGA]`7s2^]+=DS,Hdrs*t~> !rli"rFN,2!!%TMS,`Hfb5VGA]`7s2^]+=GRJg[ss*t~> !rnb6rL9qh!!%TMS,`Hfb5VGA]`7s2^]+>(bl+"2s*t~> !rl`!rF2o/!!%TMScA]ia8Z,>\c;X/_Z'XGS,Hdrs*t~> !rli"rFN,2!!%TMScA]ia8Z,>\c;X/_Z'XJRJg[ss*t~> !rnb6rL9qh!!%TMScA]ia8Z,>\c;X/_Z'Y+bl+"2s*t~> !rl`!rF2o/!!%TMT`=uk`W#o<[f?:+`r?'KS,Hdrs*t~> !rli"rFN,2!!%TMT`=uk`W#o<[f?:+`r?'NRJg[ss*t~> !rnb6rL9qh!!%TMT`=uk`W#o<[f?:+`r?(/bl+"2s*t~> !rl`!rF2o/!!%TMUAt5n_Z'T9ZN'n(ao;BNS,Hdrs*t~> !rli"rFN,2!!%TMUAt5n_Z'T9ZN'n(ao;BQRJg[ss*t~> !rnb6rL9qh!!%TMUAt5n_Z'T9ZN'n(ao;C2bl+"2s*t~> !rl`!rF2o/!!%TMV#UGp_#FB7YQ+S%bl7]QS,Hdrs*t~> !rli"rFN,2!!%TMV#UGp_#FB7YQ+S%bl7]TRJg[ss*t~> !rnb6rL9qh!!%TMV#UGp_#FB7YQ+S%bl7^5bl+"2s*t~> !rl`!rF2o/!!%TMVuQ_r^Ae05XT/8"ci4#TS,Hdrs*t~> !rli"rFN,2!!%TMVuQ_r^Ae05XT/8"ci4#WRJg[ss*t~> !rnb6rL9qh!!%TMVuQ_r^Ae05XT/8"ci4$8bl+"2s*t~> !rl`!rF2o/!!%TMWW2tu]Dhj2WW2qtdf0>WS,Hdrs*t~> !rli"rFN,2!!%TMWW2tu]Dhj2WW2qtdf0>ZRJg[ss*t~> !rnb6rL9qh!!%TMWW2tu]Dhj2WW2qtdf0?;bl+"2s*t~> !rl`!rF3)4p&K[DZ2ae'^Amm,X8i/!ec,YZS,Hdrs*t~> !rli"rFN;7p&K[DZ2ae'^Amm,X8i/!ec,Y]RJg[ss*t~> !rnb6rL:+mp&K[DZ2ae'^Amm,X8i/!ec,Z>bl+"2s*t~> !rl`!rF3&3!!)lq!!%TMZN'q)])Ma1qYpNqVuQ_rf`(t]S,Hdrs*t~> !rli"rFN86!!)lq!!%TMZN'q)])Ma1qYpNqVuQ_rf`(t`RJg[ss*t~> !rnb6rL:(l!!)lq!!%TMZN'q)])Ma1qYpNqVuQ_rf`(uAbl+"2s*t~> !rl`!rF3&3!!)lq!!%TM[K$4+\GlO/qYpNqV#UDog]%:`S,Hdrs*t~> !rli"rFN86!!)lq!!%TM[K$4+\GlO/qYpNqV#UDog]%:cRJg[ss*t~> !rnb6rL:(l!!)lq!!%TM[K$4+\GlO/qYpNqV#UDog]%;Dbl+"2s*t~> !rl`!rF3#2!!)rs!!%TM[f?@-[/U++r;Q`sT`=ukhZ!UcS,Hdrs*t~> !rli"rFN55!!)rs!!%TM[f?@-[/U++r;Q`sT`=ukhZ!UfRJg[ss*t~> !rnb6rL:%k!!)rs!!%TM[f?@-[/U++r;Q`sT`=ukhZ!VGbl+"2s*t~> !rl`!rF3#2!!)rs!!%TM\c;X/ZMsn)r;Q`sScAZhiVrpfS,Hdrs*t~> !rli"rFN55!!)rs!!%TM\c;X/ZMsn)r;Q`sScAZhiVrpiRJg[ss*t~> !rnb6rL:%k!!)rs!!%TM\c;X/ZMsn)r;Q`sScAZhiVrqJbl+"2s*t~> !rl`!rF2u1!!*#u!!%TM])Vd1Y5\J%rr2ruRK*6djSo6iS,Hdrs*t~> !rli"rFN24!!*#u!!%TM])Vd1Y5\J%rr2ruRK*6djSo6lRJg[ss*t~> !rnb6rL:"j!!*#u!!%TM])Vd1Y5\J%rr2ruRK*6djSo7Mbl+"2s*t~> !rl`!rF2u1!!*#u!!%TM^&S'3XT&8#rr2ruQN-pakPkQlS,Hdrs*t~> !rli"rFN24!!*#u!!%TM^&S'3XT&8#rr2ruQN-pakPkQoRJg[ss*t~> !rnb6rL:"j!!*#u!!%TM^&S'3XT&8#rr2ruQN-pakPkRPbl+"2s*t~> !rl`!rF2r0!W`6#JcEIarrB"t!W`6#P5kL]lMgloS,Hdrs*t~> !rli"rFN/3!W`6#JcEIarrB"t!W`6#P5kL]lMglrRJg[ss*t~> !rnb6rL9ti!W`6#JcEIarrB"t!W`6#P5kL]lMgmSbl+"2s*t~> !rl`!rF2r0!W`6#JcERdrW&hq!W`6#O8o1ZmJd2rS,Hdrs*t~> !rli"rFN/3!W`6#JcERdrW&hq!W`6#O8o1ZmJd2uRJg[ss*t~> !rnb6rL9ti!W`6#JcERdrW&hq!W`6#O8o1ZmJd3Vbl+"2s*t~> !rl`!rF2o/!!%TM_Z0W9UAk2nMuWbVo)Adls'hJr@K?FY~> !rli"rFN,2!!%TM_Z0W9UAk2nMuWbVo)Adls(.VsAH;a\~> !rnb6rL9qh!!%TM_Z0W9UAk2nMuWbVo)Adls-q72RfNJ=~> !rl`!rF3#2q>c*Hf)G^Mo`+mjU]:/jMuW_UpAb-m!FhPs@K?FY~> !rli"rFN55q>c*Hf)G^Mo`+mjU]:/jMuW_UpAb-m!G.\tAH;a\~> !rnb6rL:%kq>c*Hf)G^Mo`+mjU]:1JMuW_UpAb-m!Lq=3RfNJ=~> !rl`!rF3)4rrDoqrr@WMg&D*RrrDfnrrAenrrDoqrr@oUrW)fp"9AK%@[m=*!<7Q~> !rli"rFN;7rrDoqrr@WMg&D*RrrDfnrrAenrrDoqrr@oUrW)fp"9AK%AXWL.!<7Q~> !rnb6rL:+mrrDoqrr@WMg&D*RrrDfnrrAens,-[Qs,)[5rW)fp"9AK%S':i#!<7Q~> !rl`!rF3,5!!)`m!!%TMg]%?Us8N)ps8N(mrr<&mrr<%Ss8E#srr`?%s'hJr@K?FY~> !rli"rFN>8!!)`m!!%TMg]%?Us8N)ps8N(mrr<&mrr<%Ss8E#srr`?%s(.VsAH;a\~> !rnb6rL:.n!!)`m!!%TMg]%?Us8N)ps8N(mrr@rMrr@q3s8E#srr`?%s-q72RfNJ=~> !rl`!rF3/6!!)Zk!!%TMmf3+`pAY*mrr2rurVuisT`4ulo`"mkL&_,P"oeT&s'hJr@K?FY~> !rli"rFNA9!!)Zk!!%TMmf3+`pAY*mrr2rurVuisT`4ulo`"mkL&_,P"oeT&s(.VsAH;a\~> !rnb6rL:1o!!)Zk!!%TMmf3-@pAY*mrr2rurVuisT`5"Lo`"oKL&_,P"oeT&s-q72RfNJ=~> !rl`!rF327!!)Ti!!%TMnc/UhqZ$Qqq>UEprVm!#s8N'!T)Scjo)A[iKDtoOrr3".S,Hdrs*t~> !rli"rFND:!!)Ti!!%TMnc/UhqZ$Qqq>UEprVm!#s8N'!T)Scjo)A[iKDtoOrr3"1RJg[ss*t~> !rnb6rL:4p!!)Ti!!%TMnc/WHqZ$SQq>UEprVm!#s8N'!T)SeJo)A]IKDtoOrr3"gbl+"2s*t~> !rl`!rF358!!)Ng!!%TMoD\djpAY*mqu6Wrqu?ZrSc8ZinG`IgK`;#Prr3".S,Hdrs*t~> !rli"rFNG;!!)Ng!!%TMoD\djpAY*mqu6Wrqu?ZrSc8ZinG`IgK`;#Prr3"1RJg[ss*t~> !rnb6rL:7q!!)Ng!!%TMoD\fJpAY,Mqu6Wrqu?ZrSc8\InG`KGK`;#Prr3"gbl+"2s*t~> !rl`!rF358!!)lqrrDlp!!%TMo`"mko`"mkrVlitqYpNqSGrQhqZ$Qqq>UEpK`;#Prr3".S,Hdr s*t~> !rli"rFNG;!!)lqrrDlp!!%TMo`"mko`"mkrVlitqYpNqSGrQhqZ$Qqq>UEpK`;#Prr3"1RJg[s s*t~> !rnb6rL:7q!!)lqrrDlp!!%TMo`"oKo`"oKrVlitqYpNqSGrSHqZ$SQq>UGPK`;#Prr3"gbl+"2 s*t~> !rl`!rF389!!)lq!s&B$!;ZWp!.k1Drr<&irr<&urr<&prr<%jrr<&qrrW9$rrDlp!!%cR!!)ut !FhPs@K?FY~> !rli"rFNJ !rnb6rL::r!!)lq!s&B$!;ZWp!.k1Drr@rIrr@rUrr<&prr<%jrr@rQrr\/Ys,-XP!/cO2!!)ut !Lq=3RfNJ=~> !rl`!rF389!!)or!!)ut!!)lq!!%TMp\t3nnG`OirrDio!!&Vj!!)or!!)ut!!)lq!!%cRqu?b, S,Hdrs*t~> !rli"rFNJ !rnb6rL::r!!)or!!)ut!!)lq!!%TMp\t5NnG`QIrrDio!!&Vj!/g[R!/gaT!/gXQ!/cO2qu?be bl+"2s*t~> !rl`!rF389!!)or!!)ut!!)lq!!%TMp\t3nqZ$Qqq>^$dTDnlkqu6WrrVlitqYpNqJc>a[S,Hdr s*t~> !rli"rFNJ^$dTDnlkqu6WrrVlitqYpNqJc>a^RJg[s s*t~> !rnb6rL::r!!)or!!)ut!!)lq!!%TMp\t5NqZ$SQq>UGPoDkN`!/g[R!/gaT!/gXQ!/c@-!Lq=3 RfNJ=~> !rl`!rF389!!)or!!)ut!!)lq!!%TMq#: !rli"rFNJ !rnb6rL::r!!)or!!)ut!!)lq!!%TMq#:>OqYpYTs8RuPrr@q?rr@rRrr@rTrr@rQrr@q-rrJV5 rL3feJ,~> !rl`!rF389!!)or!!)ut!!)lq!!%TMq#:a[ S,Hdrs*t~> !rli"rFNJa^ RJg[ss*t~> !rnb6rL::r!!)or!!)ut!!)lq!!%TMq#:>Oqu6YRrVlkTqYpPQPQ(W?qu6YRrVlkTqYpPQJc>b? bl+"2s*t~> !rl`!rF389!!)or!!)ut!!)lq!!%TMq#:a[ S,Hdrs*t~> !rli"rFNJa^ RJg[ss*t~> !rnb6rL::r!!)or!!)ut!!)lq!!%TMq#:>Oqu6YRrVlkTqYpPQPQ(W?qu6YRrVlkTqYpPQJc>b? bl+"2s*t~> !rl`!rF389!!)lq!s&B$!;ZWp!.k1Frr<&rrr<&trr<&qrr<%_rr<&qrrW9$rrDlp!!%TM!FhPs @K?FY~> !rli"rFNJ !rnb6rL::r!!)lq!s&B$!;ZWp!.k1Frr@rRrr@rTrr@rQrr@q?rr@rQrr\/Ys,-XP!/c@-!Lq=3 RfNJ=~> !rl`!rF358!!)lqrrDlp!!%TMp\t3nqu6WrrVlitqYpNqP5bL^qZ$Qqq>UEpJc>fO@[m=*!<7Q~> !rli"rFNG;!!)lqrrDlp!!%TMp\t3nqu6WrrVlitqYpNqP5bL^qZ$Qqq>UEpJc>fOAXWL.!<7Q~> !rnb6rL:7q!!)lqrrDlp!!%TMp\t5Nqu6YRrVlkTqYpPQP5bN>qZ$SQq>UGPJc>fOS':i#!<7Q~> !rl`!rF358!!)Ng!!%TMp\t3nqu6WrrVlitqYpNqP5bL^nG`IgJc>fO@[m=*!<7Q~> !rli"rFNG;!!)Ng!!%TMp\t3nqu6WrrVlitqYpNqP5bL^nG`IgJc>fOAXWL.!<7Q~> !rnb6rL:7q!!)Ng!!%TMp\t5Nqu6YRrVlkTqYpPQP5bN>nG`KGJc>fOS':i#!<7Q~> !rl`!rF327!!)Ti!!%TMpAY*mqYpWts8N)prr<%]rr<&irr<%Ms8W*"@[m=*!<7Q~> !rli"rFND:!!)Ti!!%TMpAY*mqYpWts8N)prr<%]rr<&irr<%Ms8W*"AXWL.!<7Q~> !rnb6rL:4p!!)Ti!!%TMpAY,MqYpYTs8RuPrr@q=rr@rIrr@q-s8W*"S':i#!<7Q~> !rl`!rF3/6!!)Zk!!%TMo`"mkqZ$Qqq>UEpO8f1[o`"mkJcG`L!FhPs@K?FY~> !rli"rFNA9!!)Zk!!%TMo`"mkqZ$Qqq>UEpO8f1[o`"mkJcG`L!G.\tAH;a\~> !rnb6rL:1o!!)Zk!!%TMo`"oKqZ$SQq>UGPO8f3;o`"oKJcG`L!Lq=3RfNJ=~> !rl`!rF3,5!!)`m!!%TMoD\djnG`IgNrK(ZpAY*mJcG]K!FhPs@K?FY~> !rli"rFN>8!!)`m!!%TMoD\djnG`IgNrK(ZpAY*mJcG]K!G.\tAH;a\~> !rnb6rL:.n!!)`m!!%TMoD\fJnG`KGNrK*:pAY,MJcG]K!Lq=3RfNJ=~> !rl`!rF389!!)utrrDoqrr@WMnc&Rho)A[iN;rnXqZ$QqJcGZJ!FhPs@K?FY~> !rli"rFNJ !rnb6rL::r!!)utrrDoqrr@WMnc&THo)A]IN;rp8qZ$SQJcGZJ!Lq=3RfNJ=~> !rl`!rF3;:!!)lqq>gEm!!%TMp&>!lo`"mkM?!DPJcGTH!FhPs@K?FY~> !rli"rFNM=!!)lqq>gEm!!%TMp&>!lo`"mkM?!DPJcGTH!G.\tAH;a\~> !rnb6rL:=s!!)lqq>gEm!!%TMp&>#Lo`"oKM?!F0JcGTH!Lq=3RfNJ=~> !rl`!rF3>;!!)?b!!%TMp&>!lpAY*mL&V,QJcGKE!FhPs@K?FY~> !rli"rFNP>!!)?b!!%TMp&>!lpAY*mL&V,QJcGKE!G.\tAH;a\~> !rnb6rL:@t!!)?b!!%TMp&>#LpAY,ML&V,QJcGKE!Lq=3RfNJ=~> !rl`!rF3A !rli"rFNS?!!)9`!!%TMp&G$lqZ$QqK`;#PJcGKE!G.\tAH;a\~> !rnb6rL:Cu!!)9`!!%TMp&G&LqZ$SQK`;#PJcGKE!Lq=3RfNJ=~> !rl`!rF3D=!!)3^!!%TMo`+afK)YfNJcGKE!FhPs@K?FY~> !rli"rFNV@!!)3^!!%TMo`+afK)YfNJcGKE!G.\tAH;a\~> !rnb6rL:G!!!)3^!!%TMo`+cFK)YfNJcGKE!Lq=3RfNJ=~> !rl`!rF3G>!!)-\!!%TMo)A[iJcGcM!!%TMp\t8'S,Hdrs*t~> !rli"rFNYA!!)-\!!%TMo)A[iJcGcM!!%TMp\t8*RJg[ss*t~> !rnb6rL:J"!!)-\!!%TMo)A[iJcGcM!!%TMp\t8`bl+"2s*t~> !rl`!rF3J?!!)'Z!!%TMoD\djJcGcM!!%TMp\t8'S,Hdrs*t~> !rli"rFN\B!!)'Z!!%TMoD\djJcGcM!!%TMp\t8*RJg[ss*t~> !rnb6rL:M#!!)'Z!!%TMoD\djJcGcM!!%TMp\t8`bl+"2s*t~> !rl`!rF3M@!!)!X!!%TMo`"mkJcGcM!!%TMp\t8'S,Hdrs*t~> !rli"rFN_C!!)!X!!%TMo`"mkJcGcM!!%TMp\t8*RJg[ss*t~> !rnb6rL:P$!!)!X!!%TMo`"mkJcGcM!!%TMp\t8`bl+"2s*t~> !rl`!rF3PA!!(pV!!%TMp&>!lJcGcM!!%TMp\t8'S,Hdrs*t~> !rli"rFNbD!!(pV!!%TMp&>!lJcGcM!!%TMp\t8*RJg[ss*t~> !rnb6rL:S%!!(pV!!%TMp&>!lJcGcM!!%TMp\t8`bl+"2s*t~> !rl`!rF3SB!!(jT!!%TMpAY*mJcGcM!!%TMp\t8'S,Hdrs*t~> !rli"rFNeE!!(jT!!%TMpAY*mJcGcM!!%TMp\t8*RJg[ss*t~> !rnb6rL:V&!!(jT!!%TMpAY*mJcGcM!!%TMp\t8`bl+"2s*t~> !rl`!rF3VC!!(dR!!%TMp\t3nJcGcM!!%TMp\t8'S,Hdrs*t~> !rli"rFNhF!!(dR!!%TMp\t3nJcGcM!!%TMp\t8*RJg[ss*t~> !rnb6rL:Y'!!(dR!!%TMp\t3nJcGcM!!%TMp\t8`bl+"2s*t~> !rl`!rF3YD!!(^P!!%TMq#: !rli"rFNkG!!(^P!!%TMq#: !rnb6rL:\(!!(^P!!%TMq#: !rl`!rF3\E!!(XN!!)fo!!%ZO!!%TMs8N'!JcGKE!FhPs@K?FY~> !rli"rFNnH!!(XN!!)fo!!%ZO!!%TMs8N'!JcGKE!G.\tAH;a\~> !rnb6rL:_)!!(XN!!)fo!!%ZO!!%TMs8N'!JcGKE!Lq=3RfNJ=~> !rl`!rF4"N!!)lq!!(RL!!)lqrr@]O!!%TMs8N'!JcGKE!FhPs@K?FY~> !rli"rFO4Q!!)lq!!(RL!!)lqrr@]O!!%TMs8N'!JcGKE!G.\tAH;a\~> !rnb6rL;%2!!)lq!!(RL!!)lqrr@]O!!%TMs8N'!JcGKE!Lq=3RfNJ=~> !rl`!rF4"NrrDrr!!(OK!!)rs!s&B$!/1@P!.k1Mrr<%Ms7cNo@[m=*!<7Q~> !rli"rFO4QrrDrr!!(OK!!)rs!s&B$!/1@P!.k1Mrr<%Ms7cNoAXWL.!<7Q~> !rnb6rL;%2rrDrr!!(OK!!)rs!s&B$!/1@P!.k1Mrr<%Ms7cNoS':i#!<7Q~> !rl`!rF4%O!s&B$!<)ot!7LlI!<2uu!<2uu!/1@P!.k1Mrr<%Ms7cNo@[m=*!<7Q~> !rli"rFO7R!s&B$!<)ot!7LlI!<2uu!<2uu!/1@P!.k1Mrr<%Ms7cNoAXWL.!<7Q~> !rnb6rL;(3!s&B$!<)ot!7LlI!<2uu!<2uu!/1@P!.k1Mrr<%Ms7cNoS':i#!<7Q~> !rl`!rF4%O!!*#u!s&B$!7:`I!<3&trr<%Prr<%Ms8W*!!.k1ErrHSurF,d,J,~> !rli"rFO7R!!*#u!s&B$!7:`I!<3&trr<%Prr<%Ms8W*!!.k1ErrH]!rFH!/J,~> !rnb6rL;(3!!*#u!s&B$!7:`I!<3&trr<%Prr<%Ms8W*!!.k1ErrJV5rL3feJ,~> !rl`!rF4%O!!)utrrC@E!!)or!!%`Q!!%TMs8N'!JcGKE!FhPs@K?FY~> !rli"rFO7R!!)utrrC@E!!)or!!%`Q!!%TMs8N'!JcGKE!G.\tAH;a\~> !rnb6rL;(3!!)utrrC@E!!)or!!%`Q!!%TMs8N'!JcGKE!Lq=3RfNJ=~> !rl`!rF4(P!!)or!!(@F!!)lq!!%`Q!!%TMs8N'!JcGKE!FhPs@K?FY~> !rli"rFO:S!!)or!!(@F!!)lq!!%`Q!!%TMs8N'!JcGKE!G.\tAH;a\~> !rnb6rL;+4!!)or!!(@F!!)lq!!%`Q!!%TMs8N'!JcGKE!Lq=3RfNJ=~> !rl`!rF4(P!!)or!!(CG!!)ip!!%oVp&KsLp&K[Dr;Qe,S,Hdrs*t~> !rli"rFO:S!!)or!!(CG!!)ip!!%oVp&KsLp&K[Dr;Qe/RJg[ss*t~> !rnb6rL;+4!!)or!!(CG!!)ip!!%oVp&KsLp&K[Dr;Qeebl+"2s*t~> !rl`!rF4+Q!!)ip!!(II!!)cn!!%oV!!)lq!!%fS!!)lq!!%TMqu6\+S,Hdrs*t~> !rli"rFO=T!!)ip!!(II!!)cn!!%oV!!)lq!!%fS!!)lq!!%TMqu6\.RJg[ss*t~> !rnb6rL;.5!!)ip!!(II!!)cn!!%oV!!)lq!!%fS!!)lq!!%TMqu6\dbl+"2s*t~> !rl`!rF4+Q!!)fo!!(OK!!)`m!!%oV!!)lq!!%fS!!)lq!!%TMqu6\+S,Hdrs*t~> !rli"rFO=T!!)fo!!(OK!!)`m!!%oV!!)lq!!%fS!!)lq!!%TMqu6\.RJg[ss*t~> !rnb6rL;.5!!)fo!!(OK!!)`m!!%oV!!)lq!!%fS!!)lq!!%TMqu6\dbl+"2s*t~> !rl`!rF4+Q!!)cn!!(UMrrDcm!!%lU!!)rs!!%`Q!!)rs!!%TMqYpS*S,Hdrs*t~> !rli"rFO=T!!)cn!!(UMrrDcm!!%lU!!)rs!!%`Q!!)rs!!%TMqYpS-RJg[ss*t~> !rnb6rL;.5!!)cn!!(UMrrDcm!!%lU!!)rs!!%`Q!!)rs!!%TMqYpScbl+"2s*t~> !rl`!rF4.R!!)`mrrCULrW)`n!!%oV!!)rs!!%`Q!!)rs!!%TMqYpS*S,Hdrs*t~> !rli"rFO@U!!)`mrrCULrW)`n!!%oV!!)rs!!%`Q!!)rs!!%TMqYpS-RJg[ss*t~> !rnb6rL;16!!)`mrrCULrW)`n!!%oV!!)rs!!%`Q!!)rs!!%TMqYpScbl+"2s*t~> !rl`!rF4.R!!)lqr;b4ErW)iq!!%lU!!*#u!!%ZO!!*#u!!%TMq>UJ)S,Hdrs*t~> !rli"rFO@U!!)lqr;b4ErW)iq!!%lU!!*#u!!%ZO!!*#u!!%TMq>UJ,RJg[ss*t~> !rnb6rL;16!!)lqr;b4ErW)iq!!%lU!!*#u!!%ZO!!*#u!!%TMq>UJbbl+"2s*t~> !rl`!rF4.R!!)utrW((?rW)rt!!%lU!!*#u!!%ZO!!*#u!!%TMq>UJ)S,Hdrs*t~> !rli"rFO@U!!)utrW((?rW)rt!!%lU!!*#u!!%ZO!!*#u!!%TMq>UJ,RJg[ss*t~> !rnb6rL;16!!)utrW((?rW)rt!!%lU!!*#u!!%ZO!!*#u!!%TMq>UJbbl+"2s*t~> !rl`!rF4X`q>gEm!mVWrr@WM!W`6#JcGNF!FhPs@K?FY~> !rli"rFOjcq>gEm!mVWrr@WM!W`6#JcGNF!G.\tAH;a\~> !rnb6rL;[DqMP1M!mVWrr@WM!W`6#JcGNF!Lq=3RfNJ=~> !rl`!rF4^brrDoqrrE#trrB_3rrDrrq>ci]!W`6#Jc>cOrr@WMq#:A(S,Hdrs*t~> !rli"rFOperrDoqrrE#trrB_3rrDrrq>ci]!W`6#Jc>cOrr@WMq#:A+RJg[ss*t~> !rnb6rL;aFs,-[Qs,-dTrrB_3rrDrrqMLU=!W`6#Jc>cOrr@WMq#:Aabl+"2s*t~> !rl`!rF4ac!!)`m!!';(rrDoqrrADc!!%TMs8N'!JcGKE!FhPs@K?FY~> !rli"rFOsf!!)`m!!';(rrDoqrrADc!!%TMs8N'!JcGKE!G.\tAH;a\~> !rnb6rL;dG!/gLM!/e&]s,-[Qs,*0C!!%TMs8N'!JcGKE!Lq=3RfNJ=~> !rl`!rF4dd!!)Zk!!'A*!!)`m!!&Mgq>c6Lq>c*HqYpS*S,Hdrs*t~> !rli"rFP!g!!)Zk!!'A*!!)`m!!&Mgq>c6Lq>c*HqYpS-RJg[ss*t~> !rnb6rL;gH!/gFK!/e,_!/gLM!/d9Gq>c6Lq>c*HqYpScbl+"2s*t~> !rl`!rF4ge!!)Ti!!'G,!!)Zk!!&VjrrDoqrr@oUrrDoqrr@WMr;Qe,S,Hdrs*t~> !rli"rFP$h!!)Ti!!'G,!!)Zk!!&VjrrDoqrr@oUrrDoqrr@WMr;Qe/RJg[ss*t~> !rnb6rL;jI!/g@I!/e2a!/gFK!/dBJrrDoqrr@oUrrDoqrr@WMr;Qeebl+"2s*t~> !rl`!rF4jf!!)Ng!!'M.!!)Ti!!&\l!!)`m!!%rW!!)`m!!%TMrVln-S,Hdrs*t~> !rli"rFP'i!!)Ng!!'M.!!)Ti!!&\l!!)`m!!%rW!!)`m!!%TMrVln0RJg[ss*t~> !rnb6rL;mJ!/g:G!/e8c!/g@I!/dHL!!)`m!!%rW!!)`m!!%TMrVlnfbl+"2s*t~> !rl`!rF4jf!!)lqrrDlp!!'P/!!)Ng!!&bn!!)Zk!!&#Y!!)Zk!!%TMrr3".S,Hdrs*t~> !rli"rFP'i!!)lqrrDlp!!'P/!!)Ng!!&bn!!)Zk!!&#Y!!)Zk!!%TMrr3"1RJg[ss*t~> !rnb6rL;mJ!/gXQs,-XP!/e;d!/g:G!/dNN!!)Zk!!&#Y!!)Zk!!%TMrr3"gbl+"2s*t~> !rl`!rF4mg!!)lq!s&B$!;ZWp!4i+0!;c`q!;ZWp!2KPo!:p-i!0@-[!:p-i!.k1MrrHSurF,d, J,~> !rli"rFP*j!!)lq!s&B$!;ZWp!4i+0!;c`q!;ZWp!2KPo!:p-i!0@-[!:p-i!.k1MrrH]!rFH!/ J,~> !rnb6rL;pK!/gXQ",d-YMY[8PMRi`eMYdAQMY[8PMPL1O!:p-i!0@-[!:p-i!.k1MrrJV5rL3fe J,~> !rl`!rF4mg!!)or!!)ut!!)lq!!'V1!!)lq!s&B$!;ZWp!2]\q!:^!g!0R9]!:^!g!.k.Os'hJr @K?FY~> !rli"rFP*j!!)or!!)ut!!)lq!!'V1!!)lq!s&B$!;ZWp!2]\q!:^!g!0R9]!:^!g!.k.Os(.Vs AH;a\~> !rnb6rL;pK!/g[R!/gaT!/gXQ!/eAf!/gXQ",d-YMY[8PMP^=Q!:^!g!0R9]!:^!g!.k.Os-q72 RfNJ=~> !rl`!rF4mg!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&kq!!)lqrrDlp!!&/]!!)lqrrDlp !!%TM!rl`!rF,d,J,~> !rli"rFP*j!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&kq!!)lqrrDlp!!&/]!!)lqrrDlp !!%TM!rli"rFH!/J,~> !rnb6rL;pK!/g[R!/gaT!/gXQ!/eAf!/g[R!/gaT!/gXQ!/dWQ!!)lqrrDlp!!&/]!!)lqrrDlp !!%TM!rnb6rL3feJ,~> !rl`!rF4mg!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&nr!!)lq!s&B$!;ZWp!0dE_!;c]t !<<'!q>UEpJc>a[S,Hdrs*t~> !rli"rFP*j!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&nr!!)lq!s&B$!;ZWp!0dE_!;c]t !<<'!q>UEpJc>a^RJg[ss*t~> !rnb6rL;pK!/g[R!/gaT!/gXQ!/eAf!/g[R!/gaT!/gXQ!/dZR!!)lq!s&B$!;ZWp!0dE_!;c]t !<<'!q>UEpJc>b?bl+"2s*t~> !rl`!rF4mg!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&nr!!)or!!)ut!!)lq!!&5_!!)or !!)ut!!)lq!!%TM!FhPs@K?FY~> !rli"rFP*j!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&nr!!)or!!)ut!!)lq!!&5_!!)or !!)ut!!)lq!!%TM!G.\tAH;a\~> !rnb6rL;pK!/g[R!/gaT!/gXQ!/eAf!/g[R!/gaT!/gXQ!/dZR!!)or!!)ut!!)lq!!&5_!!)or !!)ut!!)lq!!%TM!Lq=3RfNJ=~> !rl`!rF4mg!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&nr!!)or!!)ut!!)lq!!&5_!!)or !!)ut!!)lq!!%TM!FhPs@K?FY~> !rli"rFP*j!!)or!!)ut!!)lq!!'V1!!)or!!)ut!!)lq!!&nr!!)or!!)ut!!)lq!!&5_!!)or !!)ut!!)lq!!%TM!G.\tAH;a\~> !rnb6rL;pK!/g[R!/gaT!/gXQ!/eAf!/g[R!/gaT!/gXQ!/dZR!!)or!!)ut!!)lq!!&5_!!)or !!)ut!!)lq!!%TM!Lq=3RfNJ=~> !rl`!rF4mg!!)lq!s&B$!;ZWp!4r11!;lcr!<)ot!;c]q!2fbr!;lcr!<)ot!;c]q!0dE_!;lcr !<)ot!;c]q!.k.N@[m=*!<7Q~> !rli"rFP*j!!)lq!s&B$!;ZWp!4r11!;lcr!<)ot!;c]q!2fbr!;lcr!<)ot!;c]q!0dE_!;lcr !<)ot!;c]q!.k.NAXWL.!<7Q~> !rnb6rL;pK!/gXQ",d-YMY[8PMRrffMYmDRMZ*PTMYd>QMPgCR!;lcr!<)ot!;c]q!0dE_!;lcr !<)ot!;c]q!.k.NS':i#!<7Q~> !rl`!rF4jf!!)lqrrDlp!!'S0!!)lq!s&B$!;ZWp!2fbr!;lcr!<)ot!;c]q!0dE_!;lcr!<)ot !;c]q!.k.N@[m=*!<7Q~> !rli"rFP'i!!)lqrrDlp!!'S0!!)lq!s&B$!;ZWp!2fbr!;lcr!<)ot!;c]q!0dE_!;lcr!<)ot !;c]q!.k.NAXWL.!<7Q~> !rnb6rL;mJ!/gXQs,-XP!/e>e!/gXQ",d-YMY[8PMPgCR!;lcr!<)ot!;c]q!0dE_!;lcr!<)ot !;c]q!.k.NS':i#!<7Q~> !rl`!rF4jf!!)Ng!!'P/!!)lqrrDlp!!&kq!!)or!!)ut!!)lq!!&5_!!)or!!)ut!!)lq!!%TM !FhPs@K?FY~> !rli"rFP'i!!)Ng!!'P/!!)lqrrDlp!!&kq!!)or!!)ut!!)lq!!&5_!!)or!!)ut!!)lq!!%TM !G.\tAH;a\~> !rnb6rL;mJ!/g:G!/e;d!/gXQs,-XP!/dWQ!!)or!!)ut!!)lq!!&5_!!)or!!)ut!!)lq!!%TM !Lq=3RfNJ=~> !rl`!rF4ge!!)Ti!!'M.!!)Ng!!&kq!!)lq!s&B$!;ZWp!0dE_!;c]t!<<'!q>UEpJc>a[S,Hdr s*t~> !rli"rFP$h!!)Ti!!'M.!!)Ng!!&kq!!)lq!s&B$!;ZWp!0dE_!;c]t!<<'!q>UEpJc>a^RJg[s s*t~> !rnb6rL;jI!/g@I!/e8c!/g:G!/dWQ!!)lq!s&B$!;ZWp!0dE_!;c]t!<<'!q>UEpJc>b?bl+"2 s*t~> !rl`!rF4dd!!)Zk!!'G,!!)Ti!!&eo!!)lqrrDlp!!&/]!!)lqrrDlp!!%TM!rl`!rF,d,J,~> !rli"rFP!g!!)Zk!!'G,!!)Ti!!&eo!!)lqrrDlp!!&/]!!)lqrrDlp!!%TM!rli"rFH!/J,~> !rnb6rL;gH!/gFK!/e2a!/g@I!/dQO!!)lqrrDlp!!&/]!!)lqrrDlp!!%TM!rnb6rL3feJ,~> !rl`!rF4ac!!)`m!!'A*!!)Zk!!&bn!!)Ng!!&/]!!)Ng!!%TM!rl`!rF,d,J,~> !rli"rFOsf!!)`m!!'A*!!)Zk!!&bn!!)Ng!!&/]!!)Ng!!%TM!rli"rFH!/J,~> !rnb6rL;dG!/gLM!/e,_!/gFK!/dNN!!)Ng!!&/]!!)Ng!!%TM!rnb6rL3feJ,~> !rl`!rF4^brrDoqrrB>(!!)`m!!&\l!!)Ti!!&)[!!)Ti!!%TMs8N+/S,Hdrs*t~> !rli"rFOperrDoqrrB>(!!)`m!!&\l!!)Ti!!&)[!!)Ti!!%TMs8N+2RJg[ss*t~> !rnb6rL;aFs,-[Qs,+)]!/gLM!/dHL!!)Ti!!&)[!!)Ti!!%TMs8N+hbl+"2s*t~> !rl`!rF4X`q>d\urrDoqrrAYj!!)Zk!!&,\!s&B$!;-9k!.k1LrrHSurF,d,J,~> !rli"rFOjcq>d\urrDoqrrAYj!!)Zk!!&,\!s&B$!;-9k!.k1LrrH]!rFH!/J,~> !rnb6rL;[Dre^[UredlYs,-[Qs,*EJ!!)Zk!!&,\!s&B$!;-9k!.k1LrrJV5rL3feJ,~> !rl`!rF4O]!!'"urVuqUrW&Gf!!)`m!!&/]rrE#t!!)`m!!%TMrVln-S,Hdrs*t~> !rli"rFOa`!!'"uq>d#b!!)`m!!&/]rrE#t!!)`m!!%TMrVln0RJg[ss*t~> !rnb6rL;RA!!'"uqMLdB!!)`m!!&/]rrE#t!!)`m!!%TMrVlnfbl+"2s*t~> !rl`!rF4O]!!&nr!/d-CrrDoqrrA2]!!)lqrrDoqrrE#t!!%TM!FhPs@K?FY~> !rli"rFOa`!!&nr!!&AcrrDoqrrA2]!!)lqrrDoqrrE#t!!%TM!G.\tAH;a\~> !rnb6rL;RA!!&nr!/d-CrrDoqrrA2]!!)lqrrDoqrrE#t!!%TM!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/d'Aq>cWW!!)cnq>gBl!!%WN!FhPs@K?FY~> !rli"rFOa`!!&nr!!&;aq>cWW!!)cnq>gBl!!%WN!G.\tAH;a\~> !rnb6rL;RA!!&nr!/d'Aq>cWW!!)cnq>gBl!!%WN!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/cs>!!&)[rrD6^!!%ZO!FhPs@K?FY~> !rli"rFOa`!!&nr!!&2^!!&)[rrD6^!!%ZO!G.\tAH;a\~> !rnb6rL;RA!!&nr!/cs>!!&)[rrD6^!!%ZO!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/cs>!!&,\!!)*[!!%]P!FhPs@K?FY~> !rli"rFOa`!!&nr!!&2^!!&,\!!)*[!!%]P!G.\tAH;a\~> !rnb6rL;RA!!&nr!/cs>!!&,\!!)*[!!%]P!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/cs>!!&/]!!)$Y!!%`Q!FhPs@K?FY~> !rli"rFOa`!!&nr!!)cn#3aFGZ*M4$U]1;oOoGC]ir8uYL&V0bRJg[ss*t~> !rnb6rL;RA!!&nr!/gON#+\9u!#%noU]1;oOoGC]ir8uYL&V1Cbl+"2s*t~> !rl`!rF4O]!!&nr!/cs>!!&5_rrD!W!!%cR!FhPs@K?FY~> !rli"rFOa`!!&nr!!)ip$Lks?k2k[aiM!OBV>gMqPQ1X_i;WcWLAq9cRJg[ss*t~> !rnb6rL;RA!!&nr!/gUP!mWY'r2Keu29r&u!!&5_rrD!W!!%cR!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/cs>!!&8`!!(jT!!%fS!FhPs@K?FY~> !rli"rFOa`!!&nr!!)lq!q*ATqYpW/Sa**P!!&8`!!(jT!!%fS!G.\tAH;a\~> !rnb6rL;RA!!&nr!/gXQ!mVIZqYpUs'@*KT!!&8`!!(jT!!%fS!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/cs>!!&;a!!(dR!!%lU!WZ]!rF,d,J,~> !rli"rFOa`!!&nr!!)lq#.UVkj5T(arVln]VPa@n!1!Qa!8IMR!/^^W!+hSsAH;a\~> !rnb6rL;RA!!&nr!/gXQ!AslUWW:';rrE*WVZ-VrQ2^gag]%6RM>mVWS':i#!<7Q~> !rl`!rF4O]!!&nr!/cs>!!&AcrrCaPrrA#X!s&@1S,Hdrs*t~> !rli"rFOa`!!&nr!!)or#hkuI\>5pqWp0N_!fi/cVuH_sQiI'cg&M'PN;it[s(.VsAH;a\~> !rnb6rL;RA!!&nr!/g[R".]Dl2uWdX)ohmWrr<%iVuH_sQiI'cg&M'PN;it[s-q72RfNJ=~> !rl`!rF4O]!!&nr!/g1D! !rli"rFOa`!!&nr!!)or!k4YirgsIeVs+0\k)>+qVuH_sR/[-dec,ULNrK4^s8QYurFH!/J,~> !rnb6rL;RA!!&nr!/g[R!(cte#91\_s2G$=8>lIf!1 !rl`!rF4O]!!&nr!/g4E!WN"prr<%err<&Jrr<%\rr<&urrHSurF,d,J,~> !rli"rFOa`!!&nr!!)or!M,SVRK)(Jkl:\FR>?WYVuH_sRK!6ee,KCJOT,:\rr3"1RJg[ss*t~> !rnb6rL;RA!!&nr!/g[R!#,;2s/H=Ds8U(X!!!b3rr<%err<&Jrr<%\rr<&urrJV5rL3feJ,~> !rl`!rF4O]!!&nr!/g7F!ri,pVuH_sS,`KgdJj1HP5bL^rVln-S,Hdrs*t~> !rli"rFOa`!!&nr!!)or"H\e2Pa21H"PANcL4lK)!!&MgrrCIH!!&2^!!)ut!G.\tAH;a\~> !rnb6rL;RA!!&nr!/g[RquHZp"KDG%!Wo;"!!&MgrrCIH!!&2^!!)ut!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/g:G"9/5qqPX>n!1a&h!7(TE!0mK`!;uit@[m=*!<7Q~> !rli"rFOa`!!&nr!!)or!L/QBNX=Fmg%,1Cab>D,VuH_sSGrQhcMmkEPlC^`r;Qe/RJg[ss*t~> !rnb6rL;RA!!&nr!/g[R!#,;2ri-1^s8S#Z!Z.d7!!&Ph!!(=E!!&8`!!)rs!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/g[R!<2ip!<2ut!r_umVuH_sSc8Zibl7YCQN$pbqu6\+S,Hdrs*t~> !rli"rFOa`!!&nr!!)or!i_!3reg`3#,1,Xs1 !rnb6rL;RA!!&nr!/g[R!(cqd"ujR%s)S<:VuH_sSc8Zibl7YCQN$pbqu6\dbl+"2s*t~> !rl`!rF4O]!!&nr!/g[R!ri/srr2oq"oeQ%rV?Ahrr<%ks8N)Arr<%drr<&qrrHSurF,d,J,~> !rli"rFOa`!!&nr!!)or%ag#dTrs0+L8!].s42eIVuH_sTE"okb5VGAR/[-dqYpS-RJg[ss*t~> !rnb6rL;RA!!&nr!/g[R"J5Yo3E?%Y#!'^'s/ZEuVuH_sTE"okb5VGAR/[-dqYpScbl+"2s*t~> !rl`!rF4O]!!&nr!/gXQs83'"s8Doorr2ouqt[,h!!&\l!!((>!!&Jf!!)ip!FhPs@K?FY~> !rli"rFOa`!!&nr!!)lq".t:us8K/$jSo/[\XTJr!!&\l!!((>!!&Jf!!)ip!G.\tAH;a\~> !rnb6rL;RA!!&nr!/gXQ#<)^as&E-%a8Z)>FZZK#!!&\l!!((>!!&Jf!!)ip!Lq=3RfNJ=~> !rl`!rF4O]!!&nr!/gXQ!ri&pq>UKjrMKSp!29Dm!6+s !rli"rFOa`!!&nr!!)lq!pGToq>UJOkGJ7Z!29Dm!6+s !rnb6rL;RA!!&nr!/gXQ!mha`q>UI5dAHpD!29Dm!6+s !rl`!rF4^bp&M>sp58kL!WMrnr<)ulq#.&h!!&eorrBt:!!)fo!!&tt!!)cn!FhPs@K?FY~> !rli"rFOpep&M>sp&P*l!U#sLeH18hkGA1Y!2KSo!5ng:!;QQo!3#nt!;HKoAXWL.!<7Q~> !rnb6rL;aFp&M>sp58kL!RNq*X9&YjdA?jC!2KSo!5ng:!;QQo!3#nt!;HKoS':i#!<7Q~> !rl`!rF4[a!!)lq!!'2%!/gXQ!/g[R#5n;lp\4L\W;lPkZi:"*q#: !rli"rFOmd!!)lq!!'2%!!)lq!!)or#0s$#Iu'lFW;lPkZi:"*q#: !rnb6rL;^E!!)lq!!'2%!/gXQ!/g[R#,+d0#THO5W;lPkZi:"*q#: !rl`!rF4[a!!)lq!!'2%!/gXQ!/d6F!!)lq!!'A*!W`6#qYpNq^Ae05r;Qj!s8N)+rr<&prr<&l rrHSurF,d,J,~> !rli"rFOmd!!)lq!!'2%!!)lq!!&Jf!!)lq!!'A*!W`6#qYpNq^Ae05r;Qj!s8N)+rr<&prr<&l rrH]!rFH!/J,~> !rnb6rL;^E!!)lq!!'2%!/gXQ!/d6F!!)lq!!'A*!W`6#qYpNq^Ae05r;Qj!s8N)+rr<&prr<&l rrJV5rL3feJ,~> !rl`!rF4X`!!)rs!!',#!/g^S!/d3E!!)lq!!'A*!W`6#r;Zcs]`.s3rr2rurr2ru[/^.+qu6Wr o`"r$S,Hdrs*t~> !rli"rFOjc!!)rs!!',#!!)rs!!&Ge!!)lq!!'A*!W`6#r;Zcs]`.s3rr2rurr2ru[/^.+qu6Wr o`"r'RJg[ss*t~> !rnb6rL;[D!!)rs!!',#!/g^S!/d3E!!)lq!!'A*!W`6#r;Zcs]`.s3rr2rurr2ru[/^.+qu6Wr o`"r]bl+"2s*t~> !rl`!rF4X`!!)rs!!',#!/g^S!/d0D!!)rs!!'A*!!*#u!!*#u!!'S0!W`6#rVlit[Jp=/s8N)t rr<&jrrHSurF,d,J,~> !rli"rFOjc!!)rs!!',#!!)rs!!&Dd!!)rs!!'A*!!*#u!!*#u!!'S0!W`6#rVlit[Jp=/s8N)t rr<&jrrH]!rFH!/J,~> !rnb6rL;[D!!)rs!!',#!/g^S!/d0D!!)rs!!'A*!!*#u!!*#u!!'S0!W`6#rVlit[Jp=/s8N)t rr<&jrrJV5rL3feJ,~> !rl`!rF4U_!!*#u!!'&!!/gdU!/d-C!!)rs!!'A*!!)ut!W`6#\,QF.qu6Wr[f6=-rr3'#s8N)i rrHSurF,d,J,~> !rli"rFOgb!!*#u!!'&!!!*#u!!&Ac!!)rs!!'A*!!)ut!W`6#\,QF.qu6Wr[f6=-rr3'#s8N)i rrH]!rFH!/J,~> !rnb6rL;XC!!*#u!!'&!!/gdU!/d-C!!)rs!!'A*!!)ut!W`6#\,QF.qu6Wr[f6=-rr3'#s8N)i rrJV5rL3feJ,~> !rl`!rF4U_!!*#u!!'&!!/gdU!/d*B!!*#u!!'A*!!)or!!'J-!!)or!!'J-!!)utrrDTh!FhPs @K?FY~> !rli"rFOgb!!*#u!!'&!!!*#u!!&>b!!*#u!!'A*!!)or!!'J-!!)or!!'J-!!)utrrDTh!G.\t AH;a\~> !rnb6rL;XC!!*#u!!'&!!/gdU!/d*B!!*#u!!'A*!!)or!!'J-!!)or!!'J-!!)utrrDTh!Lq=3 RfNJ=~> !rl`!rF4R^!W`6#W;cpVs,**A!!*#u!!'A*!!)or!!'M.!!)ip!!'P/!!)or!!)Qh!FhPs@K?FY~> !rli"rFOda!W`6#W;co!rrA>a!!*#u!!'A*!!)or!!'M.!!)ip!!'P/!!)or!!)Qh!G.\tAH;a\~> !rnb6rL;UB!W`6#W;cpVs,**A!!*#u!!'A*!!)or!!'M.!!)ip!!'P/!!)or!!)Qh!Lq=3RfNJ=~> !rl`!rF4R^!W`6#W;cpVs,*'@!W`6#Zi:"*q>UEp\c2X0q#: !rli"rFOda!W`6#W;co!rrA;`!W`6#Zi:"*q>UEp\c2X0q#: !rnb6rL;UB!W`6#W;cpVs,*'@!W`6#Zi:"*q>UEp\c2X0q#: !rl`!rF4O]!!&nr!/d!?!W`6#Zi:"*q#:UEpo)A`"S,Hdrs*t~> !rli"rFOa`!!&nr!!&5_!W`6#Zi:"*q#:UEpo)A`%RJg[ss*t~> !rnb6rL;RA!!&nr!/d!?!W`6#Zi:"*q#:UEpo)A`[bl+"2s*t~> !rl`!rF4X`q>dVsrVuqUrW&5`!!'k8q>gBl!!)cn!!'\3rrDcm!!'V1!!)fo!!)Wj!FhPs@K?FY~> !rli"rFOjcqM;6Qq>cf\!!'k8q>gBl!!)cn!!'\3rrDcm!!)'Z#3++Y_R[S?hu !rnb6rL;[Dq>dVsrVuqUrW&5`!!'k8qMP.L!!)cn!!'\3rrDcm!!)'Z#+\9u!#%nohu !rl`!rF4^brrDoqrrB;'rrDoqrrAMfq>eP8rrDoqrrDus!!)ipr;aJ0r;c]o!!'V1!!)cn!!)Zk !FhPs@K?FY~> !rli"rFOpes+pOOs+moZrrDoqrrAMfq>eP8rrDoqrrDus!!)ipr;aJ0r;c]o!!)-\$LY[kme6)2 jPf7niVrlXp\t3no`"r'RJg[ss*t~> !rnb6rL;aFrrDoqrrB;'rrDoqrrAMfq>eP8s,-[Qs,-aS!!)ipr;aJ0r;c]o!!)-\!R !rl`!rF4ac!!)`m!!'>)!!)`m!!&SirrDoqrrC1@!!)`m!!*#u!!*#uqZ*u&rW)os!!'Y2!!)`m rrD`l!FhPs@K?FY~> !rli"rFP^*\1WiWhdoD\fHpAY,KZMsn)pAY*mScA]iqZ$Qqao;>@pAY*mrr2rurr;iqZiC") rVlitk5PMMXK;6t!T32&rr<&ms8N)lrrH]!rFH!/J,~> !rnb6rL !rl`!rF4dd!!)Zk!!'D+!!)Zk!!&Yk!!)`m!!(4B!!)Zk!W`9#r;`ktr;Zlu!5/=3!;c`o!;$3k @[m=*!<7Q~> !rli"rFPd($Lkj6XK'S(hqbC!pAY,Ko`"oI[/U++o`"mkTDnlkpAY*mbPqPBo`"sms8W#tWrN"t !WN/ss8%09rsZ0-WW3"dk2bO[h8H2Nrr<&qs8;rhrrH]!rFH!/J,~> !rnb6rL!&pAY*mo`"mk[/U++o`"mkTDnlkpAY*mbPqR"o`"uMs8W#tWrN"t !WN/ss7u`frrk7[!<<)=r2Kd;2<4]:!;c`o!;$3kS':i#!<7Q~> !rl`!rF4ge!!)Ti!!'J-!!)Ti!!&_m!!)Zk!!(:D!!)Ti!!&_mrrCdQ!<2'Z!!)utrW)Ee!FhPs @K?FY~> !rli"rFPg)"n&UpWi3l7rrSCNl1k8YM":QGLpm<`!:p-i!29Dm!;-9k!6tND!:p-i!29Gm!<)rt IJX!DIJ !rnb6rL!:p-i!4Mn-!:p-i!29Dm!;-9k!6tNDMXpcIMP:(M!<)rt !;c`q!;HKnSc/Whrr?'q!!&SNrr<&ts8E#errJV5rL3feJ,~> !rl`!rF4jf!!)Ng!!'P/!!)Ng!!&eo!!)Ti!!(@F!!)Ng!!%TMq>UHoo)JOdqu6Zss8;rarrHSu rF,d,J,~> !rli"rFPg)!4Mm'!4Vn+!g&A7q>UGNnG`KE\GlO/nG`IgU]1;oo)A[ici3tFnG`IgSc8\0*WgT*3LoBnEq>gEm! !rnb6rLUEpnG`Ig\GlO/nG`IgU]1;oo)A[ici4!&nG`KGSc8ZipAY*m q#:=brW)uu",p5[)uTa:8FlfWMYmDS!<;utm/I*Ubl+"2s*t~> !rl`!rF50os8Mlp!!)lqrrDlp!!'P/!!)lqrrDlp!!&hp!!)Ng!!(CG!!)lqrrDlp!!%TMqYpTp qt0pg!;c`q!<)rt!9jF`@[m=*!<7Q~> !rli"rFPj*"koN>TX=@hrr\49LXGtu!/ULOs+pLN!/S/b!!)lqrrDlp!!&hp!!)Ng!!(CG!!)lq rrDlp!!&Vj!.FM>!.F\C"-\b0RJd'gkhE%nLQ;$,rrDoqrrE#trrD9_!G.\tAH;a\~> !rnb6rL !rl`!rF53p!ri/rqu6WrqYpWts8N)prr<&1rr<&qrrW9$rrDlp!!&kq!!)lqrrDlp!!(FH!!)lq !s&B$!;ZWp!/UXTrq??nrquWcrr<&mrr<&ZrrHSurF,d,J,~> !rli"rFPj*#ITtf]DqoNh#@lIIdC !rnb6rL#LpAY,Mj8T.Lbl+"2s*t~> !rl`!rF56q"9/8sqYU9m!;lcr!<)ot!;c]q!4r11!;lcr!<)ot!;c]q!2fbr!;c]t!<<'!q>UEp df0:Iqu6WrrVlitqYpNqM#RMRrV- !rli"rFPj*!h5Fmrr3"_gA_*SLPCMAqu6YPqu6YPrVlkRqYpPO])Ma1qu6WrrVlitqYpNqVZ-Vr qYpWts8N)prr<&Irr<&rrr<&trr<&qrr<%mrr@K:rr@KErsk'ELl.4QOJpk's8SaEMY@&M!;-9k !9F.\AXWL.!<7Q~> !rnb6rL:0l!;lcr!<)ot!;c]q!4r11!;lcr!<)ot!;c]q!2fbr!;lcr!<)ot!;c]q !7LlI!;lcr!<)ot!;c]q!/U[Tqu?Tprr2rtrr !rli"rFPj*s,I9:s8U<'g&D!RL4t;4qu6YPqu6YPrVlkRqYpPO])Ma1qu6WrrVlitqYpNqVZ-Vr qu6WrrVlitqYpNqdf0:Iqu6WrrVlitqYpNqU&P+@q>UGCq>UGCqu6erKnbA !rnb6rL !rl`!rF56q"8r&lq>:0l!;lcr!<)ot!;c]q!4r11!;lcr!<)ot!;c]q!2fbr!;lcr!<)ot!;c]q !7LlI!;lcr!<)ot!;c]q!/UXXr;$3drVl^!rVlisrV-3arr<&grr<&]rrHSurF,d,J,~> !rli"rFPj*#El@ls5gMijSo/]Y+:0%qu6YPqu6YPrVlkRqYpPO])Ma1qu6WrrVlitqYpNqVZ-Vr qu6WrrVlitqYpNqdf0:Iqu6WrrVlitqYpNqUAk4AqZ$PCq#:>Br;R8PJqSf[Knb;SjT#81JBmri !!)Ng!!)0]!G.\tAH;a\~> !rnb6rLu?=$$O&qu6Wrqu6WrrVlitqYpNq])Ma1qu6WrrVlitqYpNqVZ-Vr qu6WrrVlitqYpNqdf0<)qu6YRrVlkTqYpPQUAk2nqZ$Npq#: !rl`!rF5X's8Mcm!r_oiqu6Wrqu6WrrVlitqYpNq])Ma1qu6WrrVlitqYpNqVZ-Vrqu6WrrVlit qYpNqdf0:Iqu6WrrVlitqYpNqL]7JPq"ashquH`qrrMujp\t3nqZ$Qqq>UEpk5PHkS,Hdrs*t~> !rli"rFPj*!NE6rrrU`%V#1/lM#72PM#I>RM#.,OLq !rnb6rLQMPC+N!;QQo!;QQo!;lcu3sGohr`9*?rr3"B4nnsVMYdAQMY[8P MWXp>S':i#!<7Q~> !rl`!rF5X'!WN&qrr)j!rVQ?equ6Wrqu6WrrVlitqYpNq])Ma1qu6WrrVlitqYpNqVZ-Vrqu6Wr rVlitqYpNqdf0:Iqu6WrrVlitqYpNqL]7GSp\4Oa!rMZhq#: !rli"rFPj*"4$nc&Oje[^4Uqu6YPqu6YPrVlkRqYpPO])Ma1qu6WrrVlitqYpNqVZ-Vr qu6WrrVlitqYpNqdf0:Iqu6WrrVlitqYpNqUAk4Aq#:>Bq#:>Bqu6`\Lk,@%!l]rWq#: !rnb6rL !rl`!rF5U&!;ufm!W)cos8Vfnq"k!j!;c]t!<<'!q>UEp])Ma1qYpWts8N)prr<%rrr<&rrr<&t rr<&qrr<&Irr<&qrrW9$rrDlp!!%cR!r_ldr;6WgpAOac!!)or!!)ut!!)lq!!)3^!FhPs@K?FY~> !rli"rFPg)!1j(A!JAu&rrR_#RJQp`M#.,RM#[L2q>UGN])Ma1qYpWts8N)prr<%rrr<&rrr<&t rr<&qrr<&Irr<&qrrW9$rrDlp!!&bn!.FYB!.FYB!.F_D!p>u"r6tdrR-+/C!!)or!!)ut!!)lq !!)3^!G.\tAH;a\~> !rnb6rL!Lq=3RfNJ=~> !rl`!rF5U&!<2ol!<)oss7QHkq>UEpqZ$Qqq>UEp\GlO/qZ$Qqq>UEpV>gMqqYpWts8N)prr<&H rr<&qs8N)prr<%Ors&>no^h_KqXsjg!;lcr!<)ot!;c]q!9a@_@[m=*!<7Q~> !rli"rFPg)!U#@=JcO@#rrR\+kP>,XM#./OM#%&NLq*Hb!;c`q!;ZWp!2]\q!;c]t!<<'!q>UEp dJj1HqZ$Qqq>UEpU&P+@q#:>Bq#:>Bq#:QBTn[oJTZm*/!!)or!!)ut!!)lq!!)3^!G.\tAH;a\~> !rnb6rLUEp dJj3(qZ$SQq>UGPU&P)mq#:!Lq=3RfNJ=~> !rl`!rF5R%"oe>mp\4RaquQQjq#:UEpd/O(GnG`IgJcG6> !!)or!!)ut!!)lq!!)3^!FhPs@K?FY~> !rli"rFPd(!U#sOJ,m+Ye,c!"q#:>MnG`KE\GlO/nG`IgV#LDpqZ$Qqq>UEpd/O(GnG`IgU&P+@ q#:>Bq#:>Bjo5;\qu6WrrVlitqYpNqkPkQoRJg[ss*t~> !rnb6rLUEpd/O*'nG`KGU&P)m q#: !rl`!rF5L##5n;kp%J.Wp&>!lo)A[i[f6=-o)A[iU]1;onG`Igci3tFo)A[iJcG3=!!)or!!)ut !!)lq!!)3^!FhPs@K?FY~> !rli"rFP^�s!"I>=Q@p&>#Jo)A]G[f6=-o)A[iU]1;onG`Igci3tFo)A[iT`5"?q#:>Bq#:>B jo5;\qu6WrrVlitqYpNqkPkQoRJg[ss*t~> !rnb6rL!lo)A[i[f6=-o)A[iU]1;onG`Igci4!&o)A]IT`4ulq#: !rl`!rF4dd!!)Zk!!'D+!!)Zk!!&_m!!)Ti!!(:D!!)Zk!!%TMmf*7equ6WrrVlitqYpNqkPkQl S,Hdrs*t~> !rli"rFP!g!/U:I!/S#^!!)Zk!!&_m!!)Ti!!(:D!!)Zk!!&Vj!.F\C!.F\C!.Er.!!)or!!)ut !!)lq!!)3^!G.\tAH;a\~> !rnb6rL;gH!!)Zk!!'D+!!)Zk!!&_m!!)Ti!!(:D!/gFK!/dBJ!!)ip!!)ip!!)*[!/g[R!/gaT !/gXQ!/ft>!Lq=3RfNJ=~> !rl`!rF4ac!!)`m!!'>)!!)`m!!&Yk!!)Zk!!(4B!!)`m!!%TMmJd.dqYpWts8N)prr<&^rrHSu rF,d,J,~> !rli"rFOsf!/U@K!/Rr\!!)`m!!&Yk!!)Zk!!(4B!!)`m!!&Si!.FA:!.Er.!!)lq!s&B$!;ZWp !9a@_AXWL.!<7Q~> !rnb6rL;dG!!)`m!!'>)!!)`m!!&Yk!!)Zk!!(4B!/gLM!/d?I!!)Ng!!)*[!/gXQ",d-YMY[8P MWb!?S':i#!<7Q~> !rl`!rF4^brrDoqrrB;'rrDoqrrAVi!!)`m!!(.@rrDoqrr@WMli-qbqZ$Qqq>UEpk5PHkS,Hdr s*t~> !rli"rFOpes+pOOs+moZrrDoqrrAVi!!)`m!!(.@rrDoqrrAPg!.FG !rnb6rL;aFrrDoqrrB;'rrDoqrrAVi!!)`m!!(.@s,-[Qs,* !rl`!rF4X`q>dVsq>cuarrDoqrrC(=q>c*Hl2L_`nG`Igk5PHkS,Hdrs*t~> !rli"rFOjcqM;6Qq>cuarrDoqrrC(=q>co_!.FM>!.Ei+!!)Ng!!)0]!G.\tAH;a\~> !rnb6rL;[Dq>dVsq>cuarrDoqrrC(=qML[?!!)Zk!!)!X!/g:G!/fq=!Lq=3RfNJ=~> !rl`!rF4O]!!%TMSGrQhf`(pOJcFj3!!)Ti!!)-\!FhPs@K?FY~> !rli"rFOa`!!%TMSGrQhf`(pOPlC`3pAY,@hu !rnb6rL;RA!!%TMSGrQhf`(pOPlC^`pAY*mhu<\6o)A]Ijo5@Nbl+"2s*t~> !rl`!rF4O]!!)`mJ^p[K!!([O!!%TMjSo2[o`"mkjSo6iS,Hdrs*t~> !rli"rFOa`!!)`mJ_$aM!!([O!!&5_s*abDs*``'!!)Zk!!)*[!G.\tAH;a\~> !rnb6rL;RA!!)`mJ^p[K!!([O!!&5_rrDoqrrCmT!/gFK!/fk;!Lq=3RfNJ=~> !rl`!rF4O]!!)`mJ^p^L!L*T:rr<%Ms5X+Z!;?Em!9=([@[m=*!<7Q~> !rli"rFOa`!!)`mJ_$dN!L3Z;rr<%]s8%/trr<&mrr<&ZrrH]!rFH!/J,~> !rnb6rL;RA!!)`mJ^p^L!L*T:rr<%]s7u`Lrr@rMrr@r:rrJV5rL3feJ,~> !rl`!rF4O]!!)`mJ^p^L!L*T:rr<%Ms5O(Y!;c`q!94"Z@[m=*!<7Q~> !rli"rFOa`!!)`mJ_$dN!L3Z;rr<%Ms5O(Y!;c`q!94"ZAXWL.!<7Q~> !rnb6rL;RA!!)`mJ^p^L!L*T:rr<%Ms5O(YMYdAQMW4X:S':i#!<7Q~> !rl`!rF4O]!!)`mJ^p^L!L*T:rr<%Ms5 !rli"rFOa`!!)`mJ_$dN!L3Z;rr<%Ms5 !rnb6rL;RA!!)`mJ^p^L!L*T:rr<%Ms5 !rl`!rF4O]!!)`mJ^p^L!L*T:rr<%Ms5!\T!8[YU@[m=*!<7Q~> !rli"rFOa`!!)`mJ_$dN!L3Z;rr<%Ms5!\T!8[YUAXWL.!<7Q~> !rnb6rL;RA!!)`mJ^p^L!L*T:rr<%Ms5!\T!8[YUS':i#!<7Q~> !rl`!rF4O]!!)`mqpbZHi7.f-rm^uKrm^uKpsfHHe^XZDeGoUAeGoUHeGoUAeGoTkeGoUEeH(m7 f`(pOJcFR+!!(jT!FhPs@K?FY~> !rli"rFOa`!!)`mqpk`Ii77l.rmh&Lrmh&LpsoNIf%'iFec5^Bec5^Iec5^Bec5]lec5^FecD$9 f`(pOJcFR+!!(jT!G.\tAH;a\~> !rnb6rL;RA!!)`mqpbZHi7.f-rm^uKrm^uKpsfHHe^XZDeGoUAeGoUHeGoUAeGoTkeGoUEeH(m7 f`(pOJcFR+!!(jT!Lq=3RfNJ=~> !rl`!rF4O]!!)`mqpbZHi7.f-rm^uKrm^uKpsfHHe^XZDeGoUAeGoUHeGoUAeGoTkeGoUEeH(m7 f`(pOJcFR+!!(jT!FhPs@K?FY~> !rli"rFOa`!!)`mqpk`Ii77l.rmh&Lrmh&LpsoNIf%'iFec5^Bec5^Iec5^Bec5]lec5^FecD$9 f`(pOJcFR+!!(jT!G.\tAH;a\~> !rnb6rL;RA!!)`mqpbZHi7.f-rm^uKrm^uKpsfHHe^XZDeGoUAeGoUHeGoUAeGoTkeGoUEeH(m7 f`(pOJcFR+!!(jT!Lq=3RfNJ=~> !rl`!rF4O]!!)`mqpbZHqUPTGrRLlIrRLlIpXK6Drm^uKrm^uKrmguJrm_)Ne^XZoeGoUKeGoUK ec#RJeGoUKeGoUHeH5g%!!*#K"9?sPe^aX!rm_)NeGoUJec#RJeH5g%!!*#K!s$m%!<1LK!;k:K !7_&LrRLlIrm^uKrm^uKrmguJq:5KF!S%2Lec#RIec#RIec,UMeH#Bp!L*T:rr<%Ms5!\T!8[YU @[m=*!<7Q~> !rli"rFOa`!!)`mqpk`IqUYZHrRUrJrRUrJpXT[Kec5^Lec5^IecPp'!!*#L"9@!Qf%0g#rmh/Oec5^Kf)>[KecPp'!!*#L!s$p'!<1OL!;k=L !7h,MrRUrJrmh&Lrmh&Lrmq&Kq:>QG!S.8Mf)>[Jf)>[Jf)G^Nec>Kr!L3Z;rr<%Ms5!\T!8[YU AXWL.!<7Q~> !rnb6rL;RA!!)`mqpbZHqUPTGrRLlIrRLlIpXK6Drm^uKrm^uKrmguJrm_)Ne^XZoeGoUKeGoUK ec#RJeGoUKeGoUHeH5g%!!*#K"9?sPe^aX!rm_)NeGoUJec#RJeH5g%!!*#K!s$m%!<1LK!;k:K !7_&LrRLlIrm^uKrm^uKrmguJq:5KF!S%2Lec#RIec#RIec,UMeH#Bp!L*T:rr<%Ms5!\T!8[YU S':i#!<7Q~> !rl`!rF4O]!!)`mqpbZHqpblNe^XZMeH#U!!s$m%!<1LK!;G"J!7fU"e^X[!eGoUKeHQ$(eH".M !;G"D!<1LN!7fU"rm_)Ne^X[!eGoUHec,XLeHZ*)eGoU"eH#U!$38W,!!(R"!7fU"rm_GXe^XX" e^XZMeH".M!<1LK!;k=H!<:RO!7fU"rm_)Ne^X[!eH5g%eH#U!!!)oH#6<<)!!(R"!<1LN!7fU" rm_5Re^XZMeGoUEeH(m7f`(pOJcFR+!!(jT!FhPs@K?FY~> !rli"rFOa`!!)`mqpk`IqpkrOf%'iPec>^#!s$p'!<1OL!;G%K!7o^$f%'j#ec5^Lecl-*ec=:P !;G%E!<1OO!7o^$rmh/Of%'j#ec5^If)GaMecu3+ec5^$ec>^#$38Z.!!(U$!7o^$rmhMYf%'g$ f%'iPec=:P!<1OL!;k@I!<:UP!7o^$rmh/Of%'j#ecPp'ec>^#!!)oI#6 !rnb6rL;RA!!)`mqpbZHqpblNe^XZMeH#U!!s$m%!<1LK!;G"J!7fU"e^X[!eGoUKeHQ$(eH".M !;G"D!<1LN!7fU"rm_)Ne^X[!eGoUHec,XLeHZ*)eGoU"eH#U!$38W,!!(R"!7fU"rm_GXe^XX" e^XZMeH".M!<1LK!;k=H!<:RO!7fU"rm_)Ne^X[!eH5g%eH#U!!!)oH#6<<)!!(R"!<1LN!7fU" rm_5Re^XZMeGoUEeH(m7f`(pOJcFR+!!(jT!Lq=3RfNJ=~> !rl`!rF4O]!!)`mqpbZHqpbZHr7(cIrm_)Ne^X[!eGoUDeHQ$(!7_)"!<1LK!<1LQ!7fU"e^XZo eGoUKeH5g%eH#U!!s$m%!<1LK!;k:H!<1LN!7fU"rm^uKrm_)Ne^X[!eGoUHeH5g%eH#U!"p!3( !7fU"rm^uKqpbZHrm^uKqpbcKe^X[!eH5g%eH#U!!!)oH!!*#K!s$m%!<1LN!7fU"rm_)Ne^X[! eGoUEeH(m7f`(pOJcFR+!!(jT!FhPs@K?FY~> !rli"rFOa`!!)`mqpk`Iqpk`Ir71iJrmh/Of%'j#ec5^Eecl-*!7h/$!<1OL!<1OR!7o^$f%'iq ec5^LecPp'ec>^#!s$p'!<1OL!;k=I!<1OO!7o^$rmh&Lrmh/Of%'j#ec5^IecPp'ec>^#"p!6* !7o^$rmh&Lqpk`Irmh&LqpkiLf%'j#ecPp'ec>^#!!)oI!!*#L!s$p'!<1OO!7o^$rmh/Of%'j# ec5^FecD$9f`(pOJcFR+!!(jT!G.\tAH;a\~> !rnb6rL;RA!!)`mqpbZHqpbZHr7(cIrm_)Ne^X[!eGoUDeHQ$(!7_)"!<1LK!<1LQ!7fU"e^XZo eGoUKeH5g%eH#U!!s$m%!<1LK!;k:H!<1LN!7fU"rm^uKrm_)Ne^X[!eGoUHeH5g%eH#U!"p!3( !7fU"rm^uKqpbZHrm^uKqpbcKe^X[!eH5g%eH#U!!!)oH!!*#K!s$m%!<1LN!7fU"rm_)Ne^X[! eGoUEeH(m7f`(pOJcFR+!!(jT!Lq=3RfNJ=~> !rl`!rF4O]!!)`mqpbZHqUPTGrmgoHs4.#IpXKHJeH","eH#U!quHcI!s$m%!;G"G!7fU"rm^uK rm_)Ne^X[!eGoUHeGoUKeH5g%eH#U!!!*#K!s$m%!<1LK!<1OI!<:RL!<1LT!7fU"e^XZMeH#Hr !!*#K!!*#Kr;ciI!W^aNrmgoHqpbZHrm_)Ne^X[!eH5g%eH#U!!s$m%!<1LK!;P(FPQ9A9!!%TM h>[HTh>[LbS,Hdrs*t~> !rli"rFOa`!!)`mqpk`IqUYZHrmpuIs47)JpXTNKec=8$ec>^#quHcJ!s$p'!;G%H!7o^$rmh&L rmh/Of%'j#ec5^Iec5^LecPp'ec>^#!!*#L!s$p'!<1OL!<1RJ!<:UM!<1OU!7o^$f%'iPec>Qt !!*#L!!*#Lr;ciJ!W^dOrmpuIqpk`Irmh/Of%'j#ecPp'ec>^#!s$p'!<1OL!;P+GPlTJ:!!%TM h>[HTh>[LeRJg[ss*t~> !rnb6rL;RA!!)`mqpbZHqUPTGrmgoHs4.#IpXKHJeH","eH#U!quHcI!s$m%!;G"G!7fU"rm^uK rm_)Ne^X[!eGoUHeGoUKeH5g%eH#U!!!*#K!s$m%!<1LK!<1OI!<:RL!<1LT!7fU"e^XZMeH#Hr !!*#K!!*#Kr;ciI!W^aNrmgoHqpbZHrm_)Ne^X[!eH5g%eH#U!!s$m%!<1LK!;P(FPQ9A9!!%TM h>[HTh>[MFbl+"2s*t~> !rl`!rF4O]!!)`mqpbZHpsfHHe^XZseGoU?eGoUKeGoUJeGoUHeH5g%eH# !rli"rFOa`!!)`mqpk`IpsoNIf%'iuec5^@ec5^Lec5^Kec5^IecPp'ec>Ep!W^dOrmh&Lrmh/O f%'j#ec5^Iec5^LecPp'ec>^#!!*#L!s$p'!<1OO!7o^$rmh/Of%'j#ecPp'ec>^#!W^dOqUPWH rmh/Of%'j#ec5^LecGj&!<1OL!;G%E!<1OO!7o^$rmh/Of%'j#ecPp'ec>^#!!)fF!L3Z;rr<%M s5!\T!8[YUAXWL.!<7Q~> !rnb6rL;RA!!)`mqpbZHpsfHHe^XZseGoU?eGoUKeGoUJeGoUHeH5g%eH# !rl`!rF4O]!!)`mqpbZHqpblNe^XZMeH#U!!s$m%!<1LK!;=qC!<1LK!<(FJ!<1LQ!7fU"e^XZn eH,a$!<1LK!<1LR!7fU"e^XX"qpk]Hs4%2Oe^X[!eGoUKeHu<,eGoU"eH".M!<1LU!7fU"!7fU" e^X[!eH,a$!;b4G!<1LN!7fU"rm^uKrRClJrRClJrm^uKqpboOe^XX"e^X[!eH5g%eH#U!#6<<) !7fU"!;P(FPQ9A9!!%TMh>[HTh>[LbS,Hdrs*t~> !rli"rFOa`!!)`mqpk`IqpkrOf%'iPec>^#!s$p'!<1OL!;=tD!<1OL!<(IK!<1OR!7o^$f%'ip ecGj&!<1OL!<1OS!7o^$f%'g$qptcIs4.8Pf%'j#ec5^Led;E.ec5^$ec=:P!<1OV!7o^$!7o^$ f%'j#ecGj&!;b7H!<1OO!7o^$rmh&LrRLrKrRLrKrmh&LqpkuPf%'g$f%'j#ecPp'ec>^##6[HTh>[LeRJg[ss*t~> !rnb6rL;RA!!)`mqpbZHqpblNe^XZMeH#U!!s$m%!<1LK!;=qC!<1LK!<(FJ!<1LQ!7fU"e^XZn eH,a$!<1LK!<1LR!7fU"e^XX"qpk]Hs4%2Oe^X[!eGoUKeHu<,eGoU"eH".M!<1LU!7fU"!7fU" e^X[!eH,a$!;b4G!<1LN!7fU"rm^uKrRClJrRClJrm^uKqpboOe^XX"e^X[!eH5g%eH#U!#6<<) !7fU"!;P(FPQ9A9!!%TMh>[HTh>[MFbl+"2s*t~> !rl`!rF4O]!!)`mqpbZHqUPTGrRLlIrRLlIrm^uKq:,HFrm^uKr71cHrm_)Ne^X[!eGoUFeGoUI ec#RIec,UMeH#Ks!s$jO!<1LK!<(II!<1LN!7_&LrRLlI#1W_(!7_&Lrm^uKrRClJq:,HFrm^uK rmguJ!S%2LeGoUIec#REec,UMeH#U!rW)oIrW)oIrr<)M!;P(FPQ9P>p&K[Dir8uYh>[LbS,Hdr s*t~> !rli"rFOa`!!)`mqpk`IqUYZHrRUrJrRUrJrmh&Lq:5NGrmh&Lr7:iIrmh/Of%'j#ec5^Gec5^J f)>[Jf)G^Nec>Tu!s$mP!<1OL!<(LJ!<1OO!7h,MrRUrJ#1`e*!7h,Mrmh&LrRLrKq:5NGrmh&L rmq&K!S.8Mec5^Jf)>[Ff)G^Nec>^#rW)oJrW)oJrr<)N!;P+GPlTY?p&K[Dir8uYh>[LeRJg[s s*t~> !rnb6rL;RA!!)`mqpbZHqUPTGrRLlIrRLlIrm^uKq:,HFrm^uKr71cHrm_)Ne^X[!eGoUFeGoUI ec#RIec,UMeH#Ks!s$jO!<1LK!<(II!<1LN!7_&LrRLlI#1W_(!7_&Lrm^uKrRClJq:,HFrm^uK rmguJ!S%2LeGoUIec#REec,UMeH#U!rW)oIrW)oIrr<)M!;P(FPQ9P>p&K[Dir8uYh>[MFbl+"2 s*t~> !rl`!rF4^bp&P!i^srDbq:,HFldYt8f$sa#e^XX"j4+0p!8RSS!;c]q!.k1/rr<&TrrHSurF,d, J,~> !rli"rFOpep&P!i^t&Jcq:5NGldc%9f%'g$e^a^#j446r!8RSS!;c]q!.k1/rr<&TrrH]!rFH!/ J,~> !rnb6rL;aFp&P!i^srDbq:,HFldYt8f$sa#e^XX"j4+0p!8RSS!;c]q!.k1/rr<&TrrJV5rL3fe J,~> !rl`!rF4[a!!)lq!!)lq_:8Mcq:,HFlI>k7f@9j$f[Ts%rm^uKj4+0p!8RSS!;c]q!.k1/rr<&T rrHSurF,d,J,~> !rli"rFOmd!!)lq!!)lq_:ASdq:5NGlIGq8f@Bp%f[^$&rmh&Lj446r!8RSS!;c]q!.k1/rr<&T rrH]!rFH!/J,~> !rnb6rL;^E!!)lq!!)lq_:8Mcq:,HFlI>k7f@9j$f[Ts%rm^uKj4+0p!8RSS!;c]q!.k1/rr<&T rrJV5rL3feJ,~> !rl`!rF4[a!!)lq!!)lq\^^Z[l.#b6f[Ts%f%'a"ime'o!8IMR!;uis!.k13s7QHPrrHSurF,d, J,~> !rli"rFOmd!!)lq!!)lq\^g`\l.,h7f[^$&f%0g#imn-q!8IMR!;uis!.k13s7QHPrrH]!rFH!/ J,~> !rnb6rL;^E!!)lq!!)lq\^^Z[l.#b6f[Ts%f%'a"ime'o!8IMR!;uis!.k13s7QHPrrJV5rL3fe J,~> !rl`!rF4X`!!)rs!!)ipJ^p^L!L*T=rr<&srr<%Ms5a1[!;c]q!9*qY@[m=*!<7Q~> !rli"rFOjc!!)rs!!)ipJ_$dN!L3Z>rr<&srr<%Ms5a1[!;c]q!9*qYAXWL.!<7Q~> !rnb6rL;[D!!)rs!!)ipJ^p^L!L*T=rr<&srr<%Ms5a1[!;c]q!9*qYS':i#!<7Q~> !rl`!rF4X`!!)rs!!)ipJ^p^L!L*T !rli"rFOjc!!)rs!!)ipJ_$dN!L3Z=rr<&urr<%Ms5X+Z!;c]q!9*qYAXWL.!<7Q~> !rnb6rL;[D!!)rs!!)ipJ^p^L!L*T !rl`!rF4U_!!*#u!!)foJ^p^L!L*T !rli"rFOgb!!*#u!!)foJ_$dN!L3Z=rr<&urr<%Ms5O%Y!;uis!9!kXAXWL.!<7Q~> !rnb6rL;XC!!*#u!!)foJ^p^L!L*T !rl`!rF4U_!!*#u!!)fobLHRmo[NpA`mk%hqpbZHn^RgDe^XZMeH#6l!!)oH!!)oH!!)oH!!)<7 !L*T;rrN3#!.k1/rr<&srr<&WrrHSurF,d,J,~> !rli"rFOgb!!*#u!!)fobLQXno[X!B`mt+iqpk`In^[mEf%'iPec>?n!!)oI!!)oI!!)oI!!)<8 !L3Z !rnb6rL;XC!!*#u!!)fobLHRmo[NpA`mk%hqpbZHn^RgDe^XZMeH#6l!!)oH!!)oH!!)oH!!)<7 !L*T;rrN3#!.k1/rr<&srr<&WrrJV5rL3feJ,~> !rl`!rF4R^!W`6#p]&Fe!!)ZA!!'da!!)Q>!!)rI!!)ZA!!)ZA!!)oH!!)<7!L*T;rrN3#!.k1. rr<&urr<&VrrHSurF,d,J,~> !rli"rFOda!W`6#p]&Ff!!)ZB!!'db!!)Q?!!)rJ!!)ZB!!)ZB!!)oI!!)<8!L3Z !rnb6rL;UB!W`6#p]&Fe!!)ZA!!'da!!)Q>!!)rI!!)ZA!!)ZA!!)oH!!)<7!L*T;rrN3#!.k1. rr<&urr<&VrrJV5rL3feJ,~> !rl`!rF4R^!W`6#p](-@"9?sPe^aX!rRLlIrRLoJrRLlIrm_)NeGoUJec,XHec#RKec#RFeH5g% eH#U!rW)oIrW)rJ!s$jO!;b4G!<1LK!<1OJ!<1LK!<1LP!7fU"eH#Nt!!*#Krr<)M!<1OJ!<1LP !7_&Le^aX!!n@;$rVuuL!<1LK!;k:K!7_&Lrm^uKrmh#K!S%2Lec,UMeH#U!rW)rJ!s$jO!;G"E PQ9A9!!%TMhu !rli"rFOda!W`6#p](-A"9@!Qf%0g#rRUrJrRUuKrRUrJrmh/Oec5^Kf)GaIf)>[Lf)>[GecPp' ec>^#rW)oJrW)rK!s$mP!;b7H!<1OL!<1RK!<1OL!<1OQ!7o^$ec>X!!!*#Lrr<)N!<1RK!<1OQ !7h,Mf%0g#!nIA&rVuuM!<1OL!;k=L!7h,Mrmh&Lrmq)L!S.8Mf)G^Nec>^#rW)rK!s$mP!;G%F PlTJ:!!%TMhu !rnb6rL;UB!W`6#p](-@"9?sPe^aX!rRLlIrRLoJrRLlIrm_)NeGoUJec,XHec#RKec#RFeH5g% eH#U!rW)oIrW)rJ!s$jO!;b4G!<1LK!<1OJ!<1LK!<1LP!7fU"eH#Nt!!*#Krr<)M!<1OJ!<1LP !7_&Le^aX!!n@;$rVuuL!<1LK!;k:K!7_&Lrm^uKrmh#K!S%2Lec,UMeH#U!rW)rJ!s$jO!;G"E PQ9A9!!%TMhu !rl`!rF4O]!!)`mqpk]Hs4%)Lrm_)Ne^X[!eHl6+eH".M!7fU"rm_GXe^XX"e^XZMeH".M!;k:K !7fU"rm^uKqpb`JeH#U!!!*#K!s$m%!<1LR!7fU"!7fU"qpbZHrm_)Ne^X[!eH5g%eH#U!"9@!& !!)oH$38W,!7fU"!7fU"rm_Y^e^XX"e^XZMeH".M!7fU"e^X[!eGoUHec,XLeJeH".M!7fU" !7fU"e^XX"e^X[!eHZ*)eGoU"eH#Bp!L*T=s7u_Hs5EtZ!<3&UrrHSurF,d,J,~> !rli"rFOa`!!)`mqptcIs4./Mrmh/Of%'j#ed2?-ec=:P!7o^$rmhMYf%'g$f%'iPec=:P!;k=L !7o^$rmh&LqpkfKec>^#!!*#L!s$p'!<1OS!7o^$!7o^$qpk`Irmh/Of%'j#ecPp'ec>^#"9@$( !!)oI$38Z.!7o^$!7o^$rmh__f%'g$f%'iPec=:P!7o^$f%'j#ec5^If)GaMeeA,8ec=:P!7o^$ !7o^$f%'g$f%'j#ecu3+ec5^$ec>Kr!L3Z>s7u_Hs5EtZ!<3&UrrH]!rFH!/J,~> !rnb6rL;RA!!)`mqpk]Hs4%)Lrm_)Ne^X[!eHl6+eH".M!7fU"rm_GXe^XX"e^XZMeH".M!;k:K !7fU"rm^uKqpb`JeH#U!!!*#K!s$m%!<1LR!7fU"!7fU"qpbZHrm_)Ne^X[!eH5g%eH#U!"9@!& !!)oH$38W,!7fU"!7fU"rm_Y^e^XX"e^XZMeH".M!7fU"e^X[!eGoUHec,XLeJeH".M!7fU" !7fU"e^XX"e^X[!eHZ*)eGoU"eH#Bp!L*T=s7u_Hs5EtZ!<3&UrrJV5rL3feJ,~> !rl`!rF4X`q>g?kqpbZHrm^uKrm^uKqpbcKe^XZteGoUKeH5g%eH#U!!s$m%!;P(H!7fU"rm^uK qpk]HrRClJrm_)Ne^X[!eH5g%eH#U!!!)oH!!*#K!s$m%!<1LN!7fU"rm_)Ne^XZreH5g%eH#U! !s$m%!<1LN!7fU"rm_DWe^XZMeH".M!7fU"rm^uKqpbZHrm_2Qe^XZMeH#U!!s$m%!<1LN!7fU" rm_)Ne^X[!eGoUEeH(m7h>dKTqZ$QqJcFd1!W`6#hZ!UcS,Hdrs*t~> !rli"rFOjcq>g?kqpk`Irmh&Lrmh&LqpkiLf%'j!ec5^LecPp'ec>^#!s$p'!;P+I!7o^$rmh&L qptcIrRLrKrmh/Of%'j#ecPp'ec>^#!!)oI!!*#L!s$p'!<1OO!7o^$rmh/Of%'itecPp'ec>^# !s$p'!<1OO!7o^$rmhJXf%'iPec=:P!7o^$rmh&Lqpk`Irmh8Rf%'iPec>^#!s$p'!<1OO!7o^$ rmh/Of%'j#ec5^FecD$9h>dKTqZ$QqJcFd1!W`6#hZ!UfRJg[ss*t~> !rnb6rL;[Dq>g?kqpbZHrm^uKrm^uKqpbcKe^XZteGoUKeH5g%eH#U!!s$m%!;P(H!7fU"rm^uK qpk]HrRClJrm_)Ne^X[!eH5g%eH#U!!!)oH!!*#K!s$m%!<1LN!7fU"rm_)Ne^XZreH5g%eH#U! !s$m%!<1LN!7fU"rm_DWe^XZMeH".M!7fU"rm^uKqpbZHrm_2Qe^XZMeH#U!!s$m%!<1LN!7fU" rm_)Ne^X[!eGoUEeH(m7h>dKTqZ$QqJcFd1!W`6#hZ!VGbl+"2s*t~> !rl`!rF4^brrDoqrrDrrqpbZHrmgoHrmgrIrmh#Krm^uKrm_)Ne^X[!eGoUKec,XGeH5g%eH#U! !!)oHrrE#JquHcIquHcI!!*#K!!)oH!s$m%!<1LK!<1LN!7fU"rm_)Ne^XZreH5g%eH#U!!W^d$ quHcI!!*#K%fk/1!7fU"e^XZMeH".M!;b4G!<1LQ!7fU"e^X[!eH5g%eH#U!!W^d$quHcI!!*#K !!)fE!L*T@rr<&mrr<%Ms5X+Z!8[YU@[m=*!<7Q~> !rli"rFOperrDoqrrDrrqpk`IrmpuIrmq#Jrmq)Lrmh&Lrmh/Of%'j#ec5^Lf)GaHecPp'ec>^# !!)oIrrE#KquHcJquHcJ!!*#L!!)oI!s$p'!<1OL!<1OO!7o^$rmh/Of%'itecPp'ec>^#!W^g& quHcJ!!*#L%fk23!7o^$f%'iPec=:P!;b7H!<1OR!7o^$f%'j#ecPp'ec>^#!W^g&quHcJ!!*#L !!)fF!L3ZArr<&mrr<%Ms5X+Z!8[YUAXWL.!<7Q~> !rnb6rL;aFrrDoqrrDrrqpbZHrmgoHrmgrIrmh#Krm^uKrm_)Ne^X[!eGoUKec,XGeH5g%eH#U! !!)oHrrE#JquHcIquHcI!!*#K!!)oH!s$m%!<1LK!<1LN!7fU"rm_)Ne^XZreH5g%eH#U!!W^d$ quHcI!!*#K%fk/1!7fU"e^XZMeH".M!;b4G!<1LQ!7fU"e^X[!eH5g%eH#U!!W^d$quHcI!!*#K !!)fE!L*T@rr<&mrr<%Ms5X+Z!8[YUS':i#!<7Q~> !rl`!rF4ac!!)`m!!)rsqpbZHrm^uKqpbZHrm^uKr7(lLe^X[!eH5g%eH#U!!!)rI!!)oH!s$m% !<1LK!;k:J!7_)KeGoUHeGoUHeGoUKeGoUGeH,a$!<1LK!<1LN!7fU"rm_)Ne^XZreH5g%eH#U! !s$m%!;k:H!<1LT!7fU"e^XZMeH#U!!W^aNqUGQGrm_2Qe^XZMeH#U!!s$m%!<1LN!7fU"qpbZH rm^uKpsfD0!8meV!;-9k!.k15s7u`RrrHSurF,d,J,~> !rli"rFOsf!!)`m!!)rsqpk`Irmh&Lqpk`Irmh&Lr71rMf%'j#ecPp'ec>^#!!)rJ!!)oI!s$p' !<1OL!;k=K!7h/Lec5^Iec5^Iec5^Lec5^HecGj&!<1OL!<1OO!7o^$rmh/Of%'itecPp'ec>^# !s$p'!;k=I!<1OU!7o^$f%'iPec>^#!W^dOqUPWHrmh8Rf%'iPec>^#!s$p'!<1OO!7o^$qpk`I rmh&LpsoJ2!8meV!;-9k!.k15s7u`RrrH]!rFH!/J,~> !rnb6rL;dG!!)`m!!)rsqpbZHrm^uKqpbZHrm^uKr7(lLe^X[!eH5g%eH#U!!!)rI!!)oH!s$m% !<1LK!;k:J!7_)KeGoUHeGoUHeGoUKeGoUGeH,a$!<1LK!<1LN!7fU"rm_)Ne^XZreH5g%eH#U! !s$m%!;k:H!<1LT!7fU"e^XZMeH#U!!W^aNqUGQGrm_2Qe^XZMeH#U!!s$m%!<1LN!7fU"qpbZH rm^uKpsfD0!8meV!;-9k!.k15s7u`RrrJV5rL3feJ,~> !rl`!rF4dd!!)Zk!!)utqpbZHrm^uKrm_)Ne^X[!eHl6+eH".M!7fU"rm_)Ne^X[!eHQ$(eH".M !;k:K!7fU"rm^uKqpblNe^XZMeH#U!!s$m%!<1LR!7fU"!7fU"qUGWIeH#U!!!*#K$38W,!7fU" !7fU"qUGoQe^XZMeGoU"eH#U!!s$m%!<1LT!7fU"e^XZMeH#U!!W^aNqUGQGrm_\_e^XZMeH".M !!(R"!7fU"!7fU"rm_)Ne^X[!eGoUEeH(m7i;WcWo)A[iJcG$8rrDoqrrD'Y!FhPs@K?FY~> !rli"rFP!g!!)Zk!!)utqpk`Irmh&Lrmh/Of%'j#ed2?-ec=:P!7o^$rmh/Of%'j#ecl-*ec=:P !;k=L!7o^$rmh&LqpkrOf%'iPec>^#!s$p'!<1OS!7o^$!7o^$qUP]Jec>^#!!*#L$38Z.!7o^$ !7o^$qUPuRf%'iPec5^$ec>^#!s$p'!<1OU!7o^$f%'iPec>^#!W^dOqUPWHrmhb`f%'iPec=:P !!(U$!7o^$!7o^$rmh/Of%'j#ec5^FecD$9i;WcWo)A[iJcG$8rrDoqrrD'Y!G.\tAH;a\~> !rnb6rL;gH!!)Zk!!)utqpbZHrm^uKrm_)Ne^X[!eHl6+eH".M!7fU"rm_)Ne^X[!eHQ$(eH".M !;k:K!7fU"rm^uKqpblNe^XZMeH#U!!s$m%!<1LR!7fU"!7fU"qUGWIeH#U!!!*#K$38W,!7fU" !7fU"qUGoQe^XZMeGoU"eH#U!!s$m%!<1LT!7fU"e^XZMeH#U!!W^aNqUGQGrm_\_e^XZMeH".M !!(R"!7fU"!7fU"rm_)Ne^X[!eGoUEeH(m7i;WcWo)A[iJcG$8rrDoqrrD'Y!Lq=3RfNJ=~> !rl`!rF4ge!!)Ti!!*#uqpbZHrRLlIrRLlI"k !rli"rFP$h!!)Ti!!*#uqpk`IrRUrJrRUrJ"kE\)ec5^Kf)>[Kec5^Lec5^Lf)GaHf)GaMf)>[G ec5^LecGj&f)>[Jf)>[KecPp'!!)fF!!)rJrW)oJrr<2Q!7o^$qUPWHrmq)L!S.8Mf)>[Kec5^L ed;E.ec5^$!7o^$!<1OL!;Y1G!<1OO!7o^$rmq)L!S.8Mf)G^Nec>^#rW)rK!!*#L!!)fF!L3ZD rr<&grr<%Ms6Tac!;?Em!9=([AXWL.!<7Q~> !rnb6rL;jI!!)Ti!!*#uqpbZHrRLlIrRLlI"k !rl`!rF4jf!!)Ng!W`9#WRUtKp!j$B`74hfbgc`Y!9*qX!;c`q!;ZWp!.k1;rr<&krr<&[rrHSu rF,d,J,~> !rli"rFP'i!!)Ng!W`9#WR_%Lp!s*C`7=ngbglf[!9*qX!;c`q!;ZWp!.k1;rr<&krr<&[rrH]! rFH!/J,~> !rnb6rL;mJ!!)Ng!W`9#WRUtKp!j$B`74hfbgc`Y!9*qX!;c`q!;ZWp!.k1;rr<&krr<&[rrJV5 rL3feJ,~> !rl`!rF4jf!!)iprrDoq!W`9#WRUtKp=0-C`74hfbLHWX!94"Y!;c]t!<<'!q>UEpJcG3=!!)Ti !!)-\!FhPs@K?FY~> !rli"rFP'i!!)iprrDoq!W`9#WR_%Lp=93D`7=ngbLQ]Z!94"Y!;c]t!<<'!q>UEpJcG3=!!)Ti !!)-\!G.\tAH;a\~> !rnb6rL;mJ!!)iprrDoq!W`9#WRUtKp=0-C`74hfbLHWX!94"Y!;c]t!<<'!q>UEpJcG3=!!)Ti !!)-\!Lq=3RfNJ=~> !rl`!rF4mg!!)ip!W`6#q>UHqs/FNK!;G"D!6!Cf!6WgmPQ9_C!!)or!!)ut!!)lq!!%TMnG`Ig nG`Igk5PHkS,Hdrs*t~> !rli"rFP*j!!)ip!W`6#q>UHqs/FQL!;G%E!6!Fg!6WjnPlThD!!)or!!)ut!!)lq!!%TMnG`Ig nG`Igk5PHnRJg[ss*t~> !rnb6rL;pK!!)ip!W`6#q>UHqs/FNK!;G"D!6!Cf!6WgmPQ9_C!!)or!!)ut!!)lq!!%TMnG`Ig nG`Igk5PIObl+"2s*t~> !rl`!rF4mg!!)lq!s&B$!;ZWq!<7W#W7:p5!94"Y!;lcr!<)ot!;c]q!.k1>rr<&qs8N)prr<&] rrHSurF,d,J,~> !rli"rFP*j!!)lq!s&B$!;ZWq!<7W$W7D!7!94"Y!;lcr!<)ot!;c]q!.k1>rr<&qs8N)prr<&] rrH]!rFH!/J,~> !rnb6rL;pK!!)lq!s&B$!;ZWq!<7W#W7:p5!94"Y!;lcr!<)ot!;c]q!.k1>rr<&qs8N)prr<&] rrJV5rL3feJ,~> !rl`!rF4mg!!)or!!*#u!!)ip! !rli"rFP*j!!)or!!*#u!!)ip! !rnb6rL;pK!!)or!!*#u!!)ip! !rl`!rF4mg!!)rs!!)ut!!)ip! !rli"rFP*j!!)rs!!)ut!!)ip! !rnb6rL;pK!!)rs!!)ut!!)ip! !rl`!rF4mg!!)rsq>gBl! !rli"rFP*j!!)rsq>gBl!?n!!)oI!!(9prrD<7!!)ZB!!)iG!!($i!L3ZE rr<&rrr<&trr<&qrr<%Ms7-*h!;lcr!<)ot!;c]q!9a@_AXWL.!<7Q~> !rnb6rL;pK!!)rsq>gBl! !rl`!rF4mg!!)cn!!)ip! !rli"rFP*j!!)cn!!)ip!?n!!('j!!)35!!'4R!L3ZErr<&qrrW9$rrDlp !!%TMnc&Rhqu6WrrVlitqYpNqkPkQoRJg[ss*t~> !rnb6rL;pK!!)cn!!)ip! !rl`!rF4mg!!)cn!!)ip! !rli"rFP*j!!)cn!!)ip![KecPp'!!)uKrr<)N!;tFI!!LjQec5^Kf)>[Lf)>[Iec5^L f)GaHecPp'!!)uKrW)rK!s$mP!<(LJ!;Y4F!<:XL!;tCO!7h/$ec>^#!!*#L!!)oI!s$mP!<1OL !<1OO!7o^$rmq)Lrmh8Rf%'iP!!)uKrW)oJrrE#KrrCs-!L3ZDrr<&qs8N)prr<%Ms7$$g!;lcr !<)ot!;c]q!9a@_AXWL.!<7Q~> !rnb6rL;pK!!)cn!!)ip! !rl`!rF4jf!!)fo!!)lq!W`9#qpbZHrm_JYe^XX"e^XZMeH".M!!)oH$38W,!!(R"!7fU"rm_)N e^XZseHQ$(eH".M!;k=H!<:RO!7fU"rm_>Ue^XX"e^XZMeH#U!!!)oH!!*#K!s$m%!;k=H!!h$S !7_)"eH#U!!!)oHrrE)L!s$m%!<1La!7fU"e^XZMeH".M!7fU"!7fU"e^X[!eI2H.eH".M!7fU" e^XZXeH(m7iVrlXnG`IgJcG6>!!)or!!)ut!!)lq!!)3^!FhPs@K?FY~> !rli"rFP'i!!)fo!!)lq!W`9#qpk`IrmhPZf%'g$f%'iPec=:P!!)oI$38Z.!!(U$!7o^$rmh/O f%'iuecl-*ec=:P!;k@I!<:UP!7o^$rmhDVf%'g$f%'iPec>^#!!)oI!!*#L!s$p'!;k@I!!h'T !7h/$ec>^#!!)oIrrE)M!s$p'!<1Ob!7o^$f%'iPec=:P!7o^$!7o^$f%'j#edMQ0ec=:P!7o^$ f%'iZecD$9iVrlXnG`IgJcG6>!!)or!!)ut!!)lq!!)3^!G.\tAH;a\~> !rnb6rL;mJ!!)fo!!)lq!W`9#qpbZHrm_JYe^XX"e^XZMeH".M!!)oH$38W,!!(R"!7fU"rm_)N e^XZseHQ$(eH".M!;k=H!<:RO!7fU"rm_>Ue^XX"e^XZMeH#U!!!)oH!!*#K!s$m%!;k=H!!h$S !7_)"eH#U!!!)oHrrE)L!s$m%!<1La!7fU"e^XZMeH".M!7fU"!7fU"e^X[!eI2H.eH".M!7fU" e^XZXeH(m7iVrlXnG`IgJcG6>!!)or!!)ut!!)lq!!)3^!Lq=3RfNJ=~> !rl`!rF4jf!!)Ng!W`9#pXK?Ge^X[!eH5g%eH#U!!!)oH!s$m%!<1LK!;k:K!7fU"qpbcKe^XZp eGoUKeH5g%eH#U!!s$m%!<1LN!7fU"rm^uKqpbZHrm_)Ne^XZseHl6+eH".M!7fU"rm^uKqpbZH rm_)Ne^X[!eHQ$(eH".M!;t@L!7fU"rm_)Ne^X[!eH5g%eH#Nt!!(j*!L*TBrr<&irr<%Ms6osf !;c]t!<<'!q>UEpkPkQlS,Hdrs*t~> !rli"rFP'i!!)Ng!W`9#pXTEHf%'j#ecPp'ec>^#!!)oI!s$p'!<1OL!;k=L!7o^$qpkiLf%'ir ec5^LecPp'ec>^#!s$p'!<1OO!7o^$rmh&Lqpk`Irmh/Of%'iued2?-ec=:P!7o^$rmh&Lqpk`I rmh/Of%'j#ecl-*ec=:P!;tCM!7o^$rmh/Of%'j#ecPp'ec>X!!!(j+!L3ZCrr<&irr<%Ms6osf !;c]t!<<'!q>UEpkPkQoRJg[ss*t~> !rnb6rL;mJ!!)Ng!W`9#pXK?Ge^X[!eH5g%eH#U!!!)oH!s$m%!<1LK!;k:K!7fU"qpbcKe^XZp eGoUKeH5g%eH#U!!s$m%!<1LN!7fU"rm^uKqpbZHrm_)Ne^XZseHl6+eH".M!7fU"rm^uKqpbZH rm_)Ne^X[!eHQ$(eH".M!;t@L!7fU"rm_)Ne^X[!eH5g%eH#Nt!!(j*!L*TBrr<&irr<%Ms6osf !;c]t!<<'!q>UEpkPkRPbl+"2s*t~> !rl`!rF4ge!!)Ti!!*#uqUPNEs4%)Lrm_)Ne^X[!eGoUHeH5g%eH#U!!!*#Kr;clJ!!)oH!!*#K rrDoG!!*#K!s$m%!<1LN!7fU"rm_&Me^aQtqpbZHrm_)Ne^XZseI2H.eH".M!7fU"e^XZreGoUK eH5g%eH#U!!s$m%!<1OK!<1LN!7fU"rm_&Me^aQtrmh#KrRLoJhphal!8meV!;-9k!.k1;rr<&q s8N)prr<&]rrHSurF,d,J,~> !rli"rFP$h!!)Ti!!*#uqUYTFs4./Mrmh/Of%'j#ec5^IecPp'ec>^#!!*#Lr;clK!!)oI!!*#L rrDoH!!*#L!s$p'!<1OO!7o^$rmh,Nf%0a!qpk`Irmh/Of%'iuedMQ0ec=:P!7o^$f%'itec5^L ecPp'ec>^#!s$p'!<1RL!<1OO!7o^$rmh,Nf%0a!rmq)LrRUuKhpqgn!8meV!;-9k!.k1;rr<&q s8N)prr<&]rrH]!rFH!/J,~> !rnb6rL;jI!!)Ti!!*#uqUPNEs4%)Lrm_)Ne^X[!eGoUHeH5g%eH#U!!!*#Kr;clJ!!)oH!!*#K rrDoG!!*#K!s$m%!<1LN!7fU"rm_&Me^aQtqpbZHrm_)Ne^XZseI2H.eH".M!7fU"e^XZreGoUK eH5g%eH#U!!s$m%!<1OK!<1LN!7fU"rm_&Me^aQtrmh#KrRLoJhphal!8meV!;-9k!.k1;rr<&q s8N)prr<&]rrJV5rL3feJ,~> !rl`!rF4dd!!)Zk!!)utqpbZHrm_)Ne^X[!eH5g%eH#U!!!)oH!s$m%!<1LN!7fU"rm_)Ne^XZs eGoUIeGoUHeGoUKeH5g%eH#U!!s$m%!<1LN!7fU"pXK6Drm_)Ne^XZseHQ$(eH".M!<1LM!7_)G eGoUKeH5g%eH#U!!s$m%!;t@O!7fU"e^X[!eH5g%eH#Bp!!)rI!!(s-!L*T@rr<&mrr<%Ms6Tac !:^!g!9X:^@[m=*!<7Q~> !rli"rFP!g!!)Zk!!)utqpk`Irmh/Of%'j#ecPp'ec>^#!!)oI!s$p'!<1OO!7o^$rmh/Of%'iu ec5^Jec5^Iec5^LecPp'ec>^#!s$p'!<1OO!7o^$pXT^#!s$p'!;tCP!7o^$f%'j#ecPp'ec>Kr!!)rJ!!(s.!L3ZArr<&mrr<%Ms6Tac !:^!g!9X:^AXWL.!<7Q~> !rnb6rL;gH!!)Zk!!)utqpbZHrm_)Ne^X[!eH5g%eH#U!!!)oH!s$m%!<1LN!7fU"rm_)Ne^XZs eGoUIeGoUHeGoUKeH5g%eH#U!!s$m%!<1LN!7fU"pXK6Drm_)Ne^XZseHQ$(eH".M!<1LM!7_)G eGoUKeH5g%eH#U!!s$m%!;t@O!7fU"e^X[!eH5g%eH#Bp!!)rI!!(s-!L*T@rr<&mrr<%Ms6Tac !:^!g!9X:^S':i#!<7Q~> !rl`!rF4ac!!)`m!!)rsqpbZHrm_)Ne^X[!eHZ*)eH".M!!)oH!s$m%!<1LN!7fU"rm_)Ne^XZs eHQ$(eH".M!;k:H!<1LN!7fU"rm_)Ne^X[!eH5g%eH#U!!!)oH!!*#K!s$m%!;k:N!7fU"e^X[! eH,a$!;b7G!<:Rb!7fU"e^XX"e^XZMeH".M!7fU"e^X[!eH5g%eH#U!$ini.!7fU"e^XZMeH"OX !L*T?s8N)qs8N(Ms6BUa!:p-i!9O4]@[m=*!<7Q~> !rli"rFOsf!!)`m!!)rsqpk`Irmh/Of%'j#ecu3+ec=:P!!)oI!s$p'!<1OO!7o^$rmh/Of%'iu ecl-*ec=:P!;k=I!<1OO!7o^$rmh/Of%'j#ecPp'ec>^#!!)oI!!*#L!s$p'!;k=O!7o^$f%'j# ecGj&!;b:H!<:Uc!7o^$f%'g$f%'iPec=:P!7o^$f%'j#ecPp'ec>^#$inl0!7o^$f%'iPec=XZ !L3Z@s8N)qs8N(Ms6BUa!:p-i!9O4]AXWL.!<7Q~> !rnb6rL;dG!!)`m!!)rsqpbZHrm_)Ne^X[!eHZ*)eH".M!!)oH!s$m%!<1LN!7fU"rm_)Ne^XZs eHQ$(eH".M!;k:H!<1LN!7fU"rm_)Ne^X[!eH5g%eH#U!!!)oH!!*#K!s$m%!;k:N!7fU"e^X[! eH,a$!;b7G!<:Rb!7fU"e^XX"e^XZMeH".M!7fU"e^X[!eH5g%eH#U!$ini.!7fU"e^XZMeH"OX !L*T?s8N)qs8N(Ms6BUa!:p-i!9O4]S':i#!<7Q~> !rl`!rF4^brrDoqrrDrrqUPQF"4[D%!<1LK!<1OK!!1UMqpk]H!S%2LeGoUKec#OOeH","!;t@I !<1OK!;b4G!<1LK!<1OJ!<1LK!<1LK!<1OJ!;Y1E!<1LK!;k:N!7fU"e^XZueGoUFeH5g%!!)uJ rr<2P!7fU"rmh#Krm_)Ne^X[!eGoUKec#RIec,XJec,XKeGoU0eH(m7g].*MJcFp5!!)Zk!!)*[ !FhPs@K?FY~> !rli"rFOperrDoqrrDrrqUYWG"4dJ'!<1OL!<1RL!!1XNqptcI!S.8Mec5^Lf)>XPec=8$!;tCJ !<1RL!;b7H!<1OL!<1RK!<1OL!<1OL!<1RK!;Y4F!<1OL!;k=O!7o^$f%'j"ec5^GecPp'!!)uK rr<2Q!7o^$rmq)Lrmh/Of%'j#ec5^Lf)>[Jf)GaKf)GaLec5^1ecD$9g].*MJcFp5!!)Zk!!)*[ !G.\tAH;a\~> !rnb6rL;aFrrDoqrrDrrqUPQF"4[D%!<1LK!<1OK!!1UMqpk]H!S%2LeGoUKec#OOeH","!;t@I !<1OK!;b4G!<1LK!<1OJ!<1LK!<1LK!<1OJ!;Y1E!<1LK!;k:N!7fU"e^XZueGoUFeH5g%!!)uJ rr<2P!7fU"rmh#Krm_)Ne^X[!eGoUKec#RIec,XJec,XKeGoU0eH(m7g].*MJcFp5!!)Zk!!)*[ !Lq=3RfNJ=~> !rl`!rF4X`q>g?kK[g&&VUY^3!.k0\rr<&mrr<&ZrrHSurF,d,J,~> !rli"rFOjcq>g?kK[p,'VUbd5!.k0\rr<&mrr<&ZrrH]!rFH!/J,~> !rnb6rL;[Dq>g?kK[g&&VUY^3!.k0\rr<&mrr<&ZrrJV5rL3feJ,~> !rl`!rF4+QL"-/'V:>U2!.k0[s8N)qs8N)YrrHSurF,d,J,~> !rli"rFO=TL"65(V:G[4!.k0[s8N)qs8N)YrrH]!rFH!/J,~> !rnb6rL;.5L"-/'V:>U2!.k0[s8N)qs8N)YrrJV5rL3feJ,~> !rl`!rF4+QL=H8(Ut#L1!.k0Ys7u`RrrHSurF,d,J,~> !rli"rFO=TL=Q>)Ut,R3!.k0Ys7u`RrrH]!rFH!/J,~> !rnb6rL;.5L=H8(Ut#L1!.k0Ys7u`RrrJV5rL3feJ,~> !rl`!rF4+QJ^p^L!L*S8s0M_*!8[YU@[m=*!<7Q~> !rli"rFO=TJ_$dN!L3Zars%Q*[&U4>fn'1:rr<&TrrH]!rFH!/J,~> !rnb6rL;.5J^p^L!L*T`rs##b'*&\:SUpgSrr<&TrrJV5rL3feJ,~> !rl`!rF4+QJ^p^L!L*S8s0M_*!8[YU@[m=*!<7Q~> !rli"rFO=TJ_$dN%@$qnn\qi=dGj-Bh7r6+s1eR6!8[YUAXWL.!<7Q~> !rnb6rL;.5J^p^L#F#5gc8>S%EW)m<@a9Q)^]+96h>[MFbl+"2s*t~> !rl`!rF4+Q!7cXbW0@8^JcE(V!!(jT!FhPs@K?FY~> !rli"rFO=T!7l^dW0IJcn@,X)qYpS`l%/lMrr<&TrrH]!rFH!/J,~> !rnb6rL;.5!7cXbW0@Dbc4^0XqYpR0c@Q#2rr<&TrrJV5rL3feJ,~> !rl`!rF4.RJH2MHJcE(V!!(jT!FhPs@K?FY~> !rli"rFO@UJH2MH!kk\Krr32phqd)ZNh_1*_#FB7h>[LeRJg[ss*t~> !rnb6rL;16JH2MH!]9s:rr2uXri-%Z!&]?-_#FB7h>[MFbl+"2s*t~> !rl`!rF1?XO8f1[gA_0PJcERd!!(jT!FhPs@K?FY~> !rli"rFLQ[O8f1[kl1b@Vl/PRrs,p#R$=P.Ls^eR_>aK8h>[LeRJg[ss*t~> !rnb6rL8B"W!!>.[!1e]@_>aK8h>[MFbl+"2s*t~> !rl`!rF1?XO8f1[g]. !rli"rFLQ[O8f1[kl1^rU;?j/#edj]\>bFELT#e(_>aK8h>[LeRJg[ss*t~> !rnb6rL8B !rl`!rF1?XO8f1[h#@HTrVV6H_>aK8h>[LbS,Hdrs*t~> !rli"rFLQ[O8f1[kl1^ZS\>%&!9jF^"S13#L5pib_>aK8h>[LeRJg[ss*t~> !rnb6rL8BaK8h>[MFbl+"2s*t~> !rl`!rF1?XO8f1[h#@HSr;2'F_>aK8h>[LbS,Hdrs*t~> !rli"rFLQ[O8f1[kl1^ORCi7o!euD^JcERd!!(jT!G.\tAH;a\~> !rnb6rL8B !rl`!rF1?XO8f1[h#@HTqtbmD_>aK8h>[LbS,Hdrs*t~> !rli"rFLQ[O8f1[kl1^RPdp_m#j./^o)Ja@KT(K^_>aK8h>[LeRJg[ss*t~> !rnb6rL8BaK8h>[MFbl+"2s*t~> !rl`!rF1?XO8f1[h#@HTqYPjD_>aK8h>[LbS,Hdrs*t~> !rli"rFLQ[O8f1[kl1^eNjSfc#dT>DfDkm%K;F/!_>aK8h>[LeRJg[ss*t~> !rnb6rL8BaK8h>[MFbl+"2s*t~> !rl`!rF1?XO8f1[iVrrXrVlfurV?ABs2"^8!8[YU@[m=*!<7Q~> !rli"rFLQ[O8f1[kl2.@MMg'ds2p+jjT#82K$JrI_>aK8h>[LeRJg[ss*t~> !rnb6rL8BaK8h>[MFbl+"2s*t~> !rl`!rF1?XO8f1[kPtP\rr3#trr2our:tpD_#FB7h>[LbS,Hdrs*t~> !rli"rFLQ[O8f1[kPkUVLV*Qc!NtM_rrK["JcEOc!!(jT!G.\tAH;a\~> !rnb6rL8BrrI4'JcEOc!!(jT!Lq=3RfNJ=~> !rl`!rF1?XO8f1[kPkY`r;?NjrrW,orIP!arr<&TrrHSurF,d,J,~> !rli"rFLQ[O8f1[kPkYJNeX_6rrU5skCNZKrr<&TrrH]!rFH!/J,~> !rnb6rL8B5rr<&TrrJV5rL3feJ,~> !rl`!rF1?XPlLFWli.(dr;6Bir;ucirIP!`rr<&TrrHSurF,d,J,~> !rli"rFLQ[PlLFWli.=USV3Wdf%&<%S*,A&^]+96h>[LeRJg[ss*t~> !rnb6rL8B4rr<&TrrJV5rL3feJ,~> !rl`!rF1?XPQ(U_qYpNqkl1kcqt^$_q>>gD^&J'4h>[LbS,Hdrs*t~> !rli"rFLQ[PQ(U_qYpNqkl1k4V2Bh]Us=Pk^&J'4h>[LeRJg[ss*t~> !rnb6rL8B[MFbl+"2s*t~> !rl`!rF1?XPQ(U_qYpNqJcDJEp&O+P!FhPs@K?FY~> !rli"rFLQ[PQ(U_qYpNqJcDJEp&O+P!G.\tAH;a\~> !rnb6rL8B !rl`!rF1?XP5bL^r;Q`sJcDDC!!)lq!!)!X!FhPs@K?FY~> !rli"rFLQ[P5bL^r;Q`sJcDDC!!)lq!!)!X!G.\tAH;a\~> !rnb6rL8B !rl`!rF1?XP5bL^r;Q`sJcDDC!!)lq!!)!X!FhPs@K?FY~> !rli"rFLQ[P5bL^r;Q`sJcDDC!!)lq!!)!X!G.\tAH;a\~> !rnb6rL8B !rl`!rF1?XOoGC]rr2ruJcD>A!!)rs!!(sW!FhPs@K?FY~> !rli"rFLQ[OoGC]rr2ruJcD>A!!)rs!!(sW!G.\tAH;a\~> !rnb6rL8BA!!)rs!!(sW!Lq=3RfNJ=~> !rl`!rF1?.J^o>%J^jd1S,Hdrs*t~> !rli"rFLQ2J_#D'J^sj5RJg[ss*t~> !rnb6rL8AgJ^o>%J^jdjbl+"2s*t~> !rl`!rF1?.J^o>%Mq.e+!!)rI!FhPs@K?FY~> !rli"rFLQ2J_#D'Mq7k,!!)rJ!G.\tAH;a\~> !rnb6rL8AgJ^o>%Mq.e+!!)rI!Lq=3RfNJ=~> !rl`!rF1>BJWt_MMj+5Arm^uKrKIB`@[m=*!<7Q~> !rli"rFLPFJX(eOMj4;Brmh&LrKRHaAXWL.!<7Q~> !rnb6rL8A&JWt_MMj+5Arm^uKrKIB`S':i#!<7Q~> !rl`!rF1?XJcC<$MZ<_,!L*T^rrHSurF,d,J,~> !rli"rFLQ[JcC<$MZ<_-!L3Z_rrH]!rFH!/J,~> !rnb6rL8B !rl`!rF1?.J^o>%Mq%t1eWc9ur7(gWS,Hdrs*t~> !rli"rFLQ2J_#D'Mq/%2es2L#r71m[RJg[ss*t~> !rnb6rL8AgJ^o>%Mq%t1eWc9ur7(h;bl+"2s*t~> !rl`!rF1?.J^o>%Mq._*r7(gWS,Hdrs*t~> !rli"rFLQ2J_#D'Mq7e+r71m[RJg[ss*t~> !rnb6rL8AgJ^o>%Mq._*r7(h;bl+"2s*t~> !rl`!rF1>BJWt_MPEc'snqmHWS,Hdrs*t~> !rli"rFLPFJX(eOPEl-unq[ !rnb6rL8A&JWt_MPEc'snqmI;bl+"2s*t~> !rl`!rF,bkJH16$JH1r8!<<&K!/gCK!rl`!rF,d,J,~> !rli"rFGtoJH16$JH1r8!<<&L!/U7I!rli"rFH!/J,~> !rnb6rL3eOJH16$JH1r8!<<&K!/gCK!rnb6rL3feJ,~> !rl`!rF,el!.k0$s+13:rrL[Mrm_%,!;se9s80b:s'hJr@K?FY~> !rli"rFH"p!.k0$s+13:rrL^Nrmh++!;s\6s80Y7s(.VsAH;a\~> !rnb6rL3hP!.k0$s+13:rrL[Mrm_%,!;se9s80b:s-q72RfNJ=~> !rl`!rF,el!.k0$s+13:rrL[Mrm_%,!<'k !rli"rFH"p!.k0$s+13:rrL^Nrmh++!<'b9s4.2J_?0aKRJg[ss*t~> !rnb6rL3hP!.k0$s+13:rrL[Mrm_%,!<'k !rl`!rF,el!.k0$s+13:rrL[Mrm_%,!<'k !rli"rFH"p!.k0$s+13:rrL^Nrmh++!<'b9s4.2J_?0aKRJg[ss*t~> !rnb6rL3hP!.k0$s+13:rrL[Mrm_%,!<'k !rl`!rF,el!;lcrF8l1>F8l1AF8u8]o`"o4l2Lj,s8R08rr@-;s86s4rr@-;rr@,Crs!QEs)\5? F6*?$F6 !rli"rFH"p!;lcrFoMC@FoMCCFoVJao`"o6l2Lj.s8R6:rr@3=s87$6rr@3=rr@2Ers!WGs)nAA Fl`Q&Flr](Fb0RQrrL^Nrmh++!<0h !rnb6rL3hP!;lcrF8l1>F8l1AF8u8]o`"o4l2Lj,s8R08rr@-;s86s4rr@-;rr@,Crs!QEs)\5? F6*?$F6 !rl`!rF,el!;lcrF8l1>F8l1AF8u8]o`"o4k5PF&q#:>8qu6Y;rVlk=q#:>8qu6Y;X8`9Cs8R0$ rr@+ks+14@rrL[Mrm_%,!<0q?s4,Ya!<'k !rli"rFH"p!;lcrFoMC@FoMCCFoVJao`"o6k5PF(q#:>:qu6Y=rVlk?q#:>:qu6Y=X8`9Es8R6& rr@1ms+14@rrL^Nrmh++!<0h !rnb6rL3hP!;lcrF8l1>F8l1AF8u8]o`"o4k5PF&q#:>8qu6Y;rVlk=q#:>8qu6Y;X8`9Cs8R0$ rr@+ks+14@rrL[Mrm_%,!<0q?s4,Ya!<'k !rl`!rF,el!;lcrF8l1>F8l1DF8u8]s)W8[s8I*>s8I*:s8I*9rr[?BF*%?\!H\;?Erl;^rr3(A s8R0;rr@-=rr[?Bs)\2>!H\;?F8Z%!-A/>#BTqFF8p=]s8I*: rr@->rr@->rrR9As8I*:rr@->rr@->rs3]GF8u8]s8R0;rrmKDF8u8]rVukqu?Y: rVun=!WR6?s8I*=rs!QEs)\3]F8>k9F8c. !rli"rFH"p!;lcrFoMC@FoMCFFoVJas)iJ_s8I0@s8I0@!HnGAFo;7>Fo).;FoMCEFoQUas)n/;s)n>@!-S;@#Bg(HFoQUas8I0< rr@3@rr@3@rrR?Cs8I0rVuk>s8W(@qu?Y< rVun?!WRFoD@>FoMCCFoQT,JcE(V!S7;Mec^d/_SZ?OecD$9 rk\a:AXWL.!<7Q~> !rnb6rL3hP!;lcrF8l1>F8l1DF8u8]s)W8[s8I*>s8I*:s8I*9rr[?BF*%?\!H\;?Erl;^rr3(A s8R0;rr@-=rr[?Bs)\2>!H\;?F8Z%!-A/>#BTqFF8p=]s8I*: rr@->rr@->rrR9As8I*:rr@->rr@->rs3]GF8u8]s8R0;rrmKDF8u8]rVukqu?Y: rVun=!WR6?s8I*=rs!QEs)\3]F8>k9F8c. !rl`!rF,el!;c^"F8u:5s8U^Ms8R0?rr[?Bs)\2>"*=MBF8Pt;F8l1>F8Q";F8u7HF8u8]s8R0? s)\2>"*=MBF8Pt;F8c+@F8u8]rr3(As8R0;rr@-;rr@->rs #BTqFF*%B]F8l1>F8Z%F8l1@F8p=\rr@-rr@->rs3]GF8u8]s8R0;s8R-Fs)W8] F8u8]rr3(As8R0>rr[?Bs)\);!-A/>$?Q7IF8u8]F8u8]rr3=Hs8R0?s)W8]s)\);#'9hEF8u8] rr3(As8R0>rs*WFs)W8]s)Wbk[/U0Ws8LOOM?(W7s8CIKPQ:^%!rl`!rF,d,J,~> !rli"rFH"p!;c^-FlCHJ['lIZs8R4as8R6As)n>@"*OYDFo21=FoMC@Fo24=FoVIJFoVJas8R6A s)n>@"*OYDFo21=FoD=BFoVJarr3(Cs8R6=rr@3=rr@3@rs@ #Bg(HF`m`aFoMC@Fo;7>FoMC@FoMCBFoQU`rr@3>rr@3@rr@3@rs3cIFoVJas8R6=s8R3Hs)iJa FoVJarr3(Cs8R6@rr[EDs)n5=!-S;@$?cCKFoVJaFoVJarr3=Js8R6As)iJas)n5=#'KtGFoVJa rr3(Cs8R6@rs*]Hs)iJas)inmbPqe-cFpQk_;+S\!S7;Mec^d/_SZ?OecD$9rk\a:AXWL.!<7Q~> !rnb6rL3hP!;c^-F.Gi-!#$KGs8R.]s8R0?s)\2>"*=MBF8Pt;F8l1>F8Q";F8u7HF8u8]s8R0? s)\2>"*=MBF8Pt;F8c+@F8u8]rr3(As8R0;rr@-;rr@->rs #BTqFF*%B]F8l1>F8Z%F8l1@F8p=\rr@-rr@->rs3]GF8u8]s8R0;s8R-Fs)W8] F8u8]rr3(As8R0>rr[?Bs)\);!-A/>$?Q7IF8u8]F8u8]rr3=Hs8R0?s)W8]s)\);#'9hEF8u8] rr3(As8R0>rs*WFs)W8]s)WbkbPqd;8.tt:8=f;N!S.5LeHCa0`PqlUeH(m7rl"s=S':i#!<7Q~> !rl`!rF,el!;c]qp%\OeF8l1>F8Pt>F8u8]p\t57qu6Y;rr3:Gs8R0?s)\5?F8l1AF8u8]qu?S8 rr2t>rr3(As8R0;rr@-7rsrr@->rr@-;rsqu71Js8R0?s)\5?F8u8]s8R0;rsrr[?Bs)[r7"*=MB F8l1>F8PtAF8u8]s8R0>rr@-;rr@-rr[?Bs)\2>"*=MBF8l1>F+O@urrL[Mrm_+.!6,!8 eHV6<`PqjdS,Hdrs*t~> !rli"rFH"p!;ld(mbm6nmd'#rio]lUrr2t@qu6b@s8R69rr@3=rr@3@rsrr@3@rr[EDs)n>@!-S;@!-S2= $$H:JFoVJas8R6@rr@3=rss8Ps)nAAFoVJas8R6As)n5=$$H:JFoVJas8R6@rr[EDs)n>@"*OYD Fnbn@!-S2=!-S5>!-S;@"*OYDFoMCCFoVJarr2t@JcF!p$LY[6 _r]t>iLmF@oD\jBs8LROL]G !rnb6rL3hP!;lcscEd;H!k[N7rr2t>qu6b>s8R07rr@-;rr@->rsrr[?Bs)\);!-@o7$$6.HF8u8]s8R0;rr@-rr[?Bs)\2>!-A/>!-A&;$$6.H F8u8]s8R0>rr@-;rss2Ns)\5?F8u8]s8R0?s)\);$$6.HF8u8]s8R0>rr[?Bs)\2>"*=MBF8,\: F8u8]rr2t>qu6kAs8R0?s)\2>!-A&;!-A)"*=MBF8l1AF8u8]rr2t>JcF!p"3rb(2uT`X !&`'nrrL[Mrm_+.!6,!8eHV6<`PqkHbl+"2s*t~> !rl`!rF,el!:^!gN;ihWF8l4F8Pt;F8c+@ F8u8]rr3(As8R0;rr@-:s8@$=rs!QEs)\5?F8Gq:F8l1>F8l1AF8u8]rr;n;qu6qCs8R0?s)\5? r,_c8%s.dNF8u8]s8R0?s)\5?F8PtCF8u8]s8R0?s86srr@->s8@$= rr[?Bs)\2>!-A#:s)\2>!-A/>"*=MBF8l1AF8u8]rr2t>JcE+W!S.5LeH:[/`W,hc#*],,`W'D: rF,d,J,~> !rli"rFH"p!;uitmB66a!T8>(rr@3@s8@*?rr@3@"*OYDFo21=Fo).:FoVIGFoVJas8R6@r,qo:#^-1I FoVJas8W">qu71Ls8R6As)nAAFoVJas8R6=rs3cIs)nAAFoVL>FoVL>FoVIAFo).:FoVIAFoMC@ FoMF>FoVIDFoVJarr2t@qZ$S@!-NkmcMmt5XJu'r!kOldo`"sC s8LROL]G !rnb6rL3hP!;uitc4g!Q!O,l/rr@->s8@$=rr@-:s8@$9rr@->rsWuKs)\5?F8u8]s8R0>rr@-; rr@-=rr[?Bs)\2>"*=MBF8Pt;F8Gq8F8u7EF8u8]s8R0:s8R0>rr@->rr[?Bs)\2>r,_c8#]p%G F8u8]s8W" F8l4qZ$S:rr2t>rr3(As8R0>rr[?Bs)\2>!-<_kcMmsk'*.n/!`]oZo`"sB s8LONM?(Wqqpbn8!6)qWS':i#!<7Q~> !rl`!rF,el!:^!giVriZF8u8]rr3(As8R0;rr@->rr@-;rr@->rs!QEs)\5?F8l1@F8p=\rr@-; rr@-=rr[?Bs)\2>"*=MBF8Pt;F8Pt;F8l1GF8u8]s8R0?s)[u8"*=MBF8l1AF8u8]rr2t>p\tP@ s)\3]s)\5?F8,\FF8p=]F8p=]s)\5?F8u8]qu6tDs8R0?s)\5?F8Pt;F8Pt;F8Pt;F8l1AF8u8] rr3(As8R0>rs!QEs)\5?F8l1>F85b;F8u8]rr3(As8R0>rr[?Bs)\2>!-<_k[/U0Ws8LONM?*\, q32!^`W'D:rF,d,J,~> !rli"rFH"p!;uj*[&@"*OYDFo21=Fo21=FoMCIFoVJas8R6As)n,:"*OYDFoMCC FoVJarr2t@p\tPBs)n?as)nAAFnbnHFoQUaFoQUas)nAAFoVJaqu6tFs8R6As)nAAFo21=Fo21= Fo21=FoMCCFoVJarr3(Cs8R6@rs!WGs)nAAFoMC@Fnkt=FoVJarr3(Cs8R6@rr[EDs)n>@!-Nkm cMn-TT]#kMleqF7rrJ4Wo`"sCs8LROL]IJ+q3;'__Z+28rFH!/J,~> !rnb6rL3hP!;uit2$!NR"NLKAWYb[7"*=MBF8l1AF8u8]qu6Y;rr2t>qu6Y;rr31Ds8R0?s)\2> !d"B_rr2t>qu6Y;rVlt@s8R0>rr[?Bs)\);!-A&;!-A/>$$6.HF8u8]s8R08rr[?Bs)\2>"*=MB F8l1>F8,\@F8p=]F8p=]s)[r7%s.bls)\3]s8R0?s)\5?F8PtDF8u8]s8R0?s)\);!-A&;!-A&; !-A/>"*=MBF8l1AF8u8]rr31Ds8R0?s)\2>!-@r8"*=MBF8l1AF8u8]rr3(As8R0>rr@+ks3CWL 2#sZVs2M(urr3!!2>$nLec5X!",[*YebPF4!6+u-bl+"2s*t~> !rl`!rF,el!:9^fF8u8]rr3(As8R0;rr@->rr@-;s8R0?rs!QEs)\5?F8l1@F8p=Urr@-=rsEiI s)\5?F*%B]F8Pt;F8Pt;F8l1GF8u8]s8R0?s)\);%rr@->rr@-:rr@-> rr@->rr@->rr@-:rr@->rr@->rs!QEs)\5?F8PtDF8u8]s8R0?s)\2>"*=MBF8l1AF8u8]qu6Y; rr3=Hs8R0?s)W8]s)\2>#'9hEF8u8]rr2t>qu6kAs8R0?s)\2>"*=MBF8l1AF8u8]rr2t>JcEUe s8M]k!S.5LeH:[/s4-rG"dB#+s'hJr@K?FY~> !rli"rFH"p!<)p3fU\h@!d4Ncp\t59rVm4Is8R6As)iJas)n5=!-S2=!-S;@$$H:JFoVJas8R6=rsa,Ns)nAAFoVJa FoVJarr2t@rr2t@qYpP@"*OYDFo21=FoMCJFoVJas8R4as8R6@rs!WGs)nAAFoMC@Fo21CFoVJas8R6@rr[ED s)n>@"*OYDFoMC@Fb0S=rsmVIS)+,E^R_Xns8S%6dImM?f)Pa#",HsWf(o@MPlS]$AXWL.!<7Q~> !rnb6rL3hP!<)otSbW6n`rF%;!1j/iF8u8]rr3(As8R0;rr@->rr@-;s8R0?rs!QEs)\5?F8l1@ F8p=Urr@-=rsEiIs)\5?F*%B]F8Pt;F8Pt;F8l1GF8u8]s8R0?s)\);% rr@->rr@-:rr@->rr@->rr@->rr@-:rr@->rr@->rs!QEs)\5?F8PtDF8u8]s8R0?s)\2>"*=MB F8l1AF8u8]qu6Y;rr3=Hs8R0?s)W8]s)\2>#'9hEF8u8]rr2t>qu6kAs8R0?s)\2>"*=MBF8l1A F8u8]rr2t>JcF'r%\3S"WrN*!!&qptrr<%kp&>'Cs8LONM?*\,q>^\`!6+u-bl+"2s*t~> !rl`!rF,el!:9^cF8l4=Es2Mas)W8Ys8I'?s)\,<"*=K`F8l1BF8u8]F8l1>F8c+=F8Q"8F8c.= Es;Sbs8R.]r;Qbh9F8l1>F8c.h9 F8l1>F8l1DF8u8]s8R0;rs!QEs)\5?F8l4=F8c.F8Q":EsM_ds8R.]s)\2>rc8;DF8p=] s)\2>!-A#:s)\/=rcA&"*=MBF+OA2rrW2urUp0kec5X!!K$mM`<-'KS,Hdrs*t~> !rli"rFH"p!<)p0Z^[YcWiiM?m/R*TQ&_mEs)n>@rcJADFoQT,qu?YFo).;FUA(js)nAAFoVJaqZ$S@rcS2>rcS5?s)n5=rcJJG FoVJaFoQU`s8I-Fs)n?as8R6@rr@3s8I0?rr@3@rr[EDs)inmdf0EPPEs5frs--G kPsY"L8X_E!S7;MecCR,otge1AXWL.!<7Q~> !rnb6rL3hP!<)ot8G`Ah2obmtrW!$ks8R0>s8I'Bs)\3]F8Q":Erl;^r;Qk?s)W8\rrdECs)W8\ rr@-=rr@-;s86s:s8R-Ds)\5?F*%9Z!-A#:rc8DGF8p=]s)\5?F8Gq:F8c.=Es2Mas8R0=s8I*8 rr@->rr@-=s8I*8rr@->rr@->rs!QEs)\5?F8PtAF8u8]s8R0>s8I*qZ$S:rVukrr3(As8R.ks3goL8,rX0rr !rl`!rF,el!:Tpfro="YF7]D3F+OABrr@+ks-3Ncrr)ckp&>'Cs8LOLM?*DN"9?F@@[m=*!<7Q~> !rli"rFH"p!<)p-R?sD:Uo1its8UQ7Oc#7\rr@35rr@1ms472MFb0RbrreRHOHR*NrrhGKL4tTZ rrL^Nrmh++!;HKr!5ebIRJg[ss*t~> !rnb6rL3hP!<)ot'Dqh52ral;N;`eW'BB)mF7]D3F+OABrr@+ks.B;k'E.t3@s-q72RfNJ=~> !rl`!rF,el!:^!hrr(mW!-@f4!-<_kg&D%nrr2t>JcDAB!<2`m"9&/oq=Xagec5X!!f@!XpsfKI `W'D:rF,d,J,~> !rli"rFH"p!<)p-N09NsSY3dus668@N/35Krr@36rr@1ms4RDPFoMC@Fb0Rbrre+5MN!Mlrrhkc KnG!MrrL^Nrmh.,!<;iF"9?==AXWL.!<7Q~> !rnb6rL3hP!<)rp!!H=%s2H#W!!!)\rr@-4rr@+ks4RDPF8l1>F+O@`s82lprrh=A!X&`#rrL[M rm_(-!<;iE"9?F@S':i#!<7Q~> !rl`!rF,el!:^!hrVPXT!-@i5!-<_kfDkhkJcD>A"8r,rrr2rtrr2p!qt^'\rrL[Mrm_(-!<;lF "dB#+s'hJr@K?FY~> !rli"rFH"p!<)p$Oc5EfR'-Gg"dP4/Lk^lKrr@37rr@1ms4@;MFb0Rarsk'DLS=bJjIt2qs8SXA MY6uMf)Pa#!f-jVq:5_7!5ebIRJg[ss*t~> !rnb6rL3hP!<)ot'E%n22u`jT!!!borr@-5rr@+ks4@;MF+O@_rsfbD!&srX`]'pWs8P.b)>4"1 ec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!<)rtrqQKqrr)clJcC<$JcE^hs8)fprr2usrqufr!r_oip&>'Cs8LOMM?*\PeHM0; `W'D:rF,d,J,~> !rli"rFH"p!<)p-W/-=kOk]p9cAmd !rnb6rL3hP!<)ot8GrMjWrN*Xr;Zj"9S*4ps+13hrshX&3TC)=<<<4^s8T/+:A+Vfec5X!!f@!X q:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!<)rtr;cinrri?"qtg8Bs+13$s2G!>rV?BjrrE#sqZ$Qsr:^$\rrL[Mrm_(-!<;lF "dB#+s'hJr@K?FY~> !rli"rFH"p!<)p-d"[=3Z2ajcUkje\KS.R$s+13$s2G!>c@W.srs6\uK:W&BeUPm;rrL^Nrmh., !<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!<)p-T)numTE\Ksrs4Vf"?lebX9bQnrrL[Mrm_(- !<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!;ulrr!EB&s8Mupr;6?dJcC<$JcEXf!VuTjs8VourVuonp@S@cec5X!!f@!Xq:,Y5 !6+tIS,Hdrs*t~> !rli"rFH"p!;uj*SV;g?s8T6VL4t;5Rt:Tjs+13frrJUhrVunt"QTO^\!cmg!S7;MecLX-s7t4L PlS]$AXWL.!<7Q~> !rnb6rL3hP!;uj*3 !rl`!rF,el!;uiurqcKjrs&DuqYL$`rIP!"s+13frrW/orVHNqqXsgZrrL[Mrm_(-!<;lF"dB#+ s'hJr@K?FY~> !rli"rFH"p!;uiukDY&mrs#QXK7ec5kCNYas+13frrVALiqiZV`J3OIrrL^Nrmh.,!<;lG"dK)) s(.VsAH;a\~> !rnb6rL3hP!;uiuckciarr?.""9JcFd=M=Ks+13frrUS(aSPo !rl`!rF,el!;lcs0)>MF#5\/jq"ajgo`"mkl2Lhcs8N)orr<&rrr<&qrr<&hrr<&ErrrK'rrE*! !;lcr!7CfH!;QQo!9a@^!;-9k!:p-i!5AI5!9X:]!3?,$rV-!ar;ZWqoCi.SrrL[Mrm_(-!<;lF "dB#+s'hJr@K?FY~> !rli"rFH"p!;lcs(RtES#+^?sJXbg&o`"mkl2Lhcs8N)orr<&rrr<&qrr<&hrr<&ErrrK'rrE*! !;lcr!7CfH!;QQo!9a@^!;-9k!:p-i!5AI5!9X:]!3?,$kF$bse-"0HQfdo>!S7;MecLX-s7t4L PlS]$AXWL.!<7Q~> !rnb6rL3hP!;lcs!'C1]!'U;c!^"d0o`"mkl2Lhcs8N)orr<&rrr<&qrr<&hrr<&ErrrK'rrE*! !;lcr!7CfH!;QQo!9a@^!;-9k!:p-i!5AI5!9X:]!3?,$d6A!9Xo]"sde!J>ec5X!!f@!Xq:,Y5 !6+u-bl+"2s*t~> !rl`!rF,el!;ld(!<;umjnJQG?2sp)o`"mkk5PD]q#: rr<&^rr<&krr<&irr<&5rr<%Yrs&>no^h\Jq=4Icec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;ld(!<:??G(>CD0`V.Qo`"mkk5PD]q#: rr<&^rr<&krr<&irr<&5rr<%Yrs$]?KmSNHbOPT5f)Pa#!f-jVq:5_7!5ebIRJg[ss*t~> !rnb6rL3hP!;ld(!<8`f"pc/C"TSK%o`"mkk5PD]q#: rr<&^rr<&krr<&irr<&5rr<%Yrs#5q*t05hV"+Hcec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!;lcr!<2uu!<3!&!<<'!rr<&ts8E#us8E#qs8E#prrW9$!!*#u! !rli"rFH"p!;lcr!<2uu!<3!&!<<'!rr<&ts8E#us8E#qs8E#prrW9$!!*#u! !rnb6rL3hP!;lcr!<2uu!<3!&!<<'!rr<&ts8E#us8E#qs8E#prrW9$!!*#u! !rl`!rF,el!;c^"!<<'!s8N)us8N*!rrW9$rrE&u!s&B$!;lcr!<2uu!;lfr!<<'*!<<'!s8N*! rrE&u!s&B$!;lct!<3&urriE&!<<'!rr3'#s8N)ursAc+rr<'!rrE*!!<2uu!;lcr!<3!#!<<'! rr3'#s8N)urr<&srr<&urr<&urs/W)!<<'!s8N)rs8N*!rrW9$rrE&u!!)orrr<<(!!*$!s8N)u rs&Q(rr<'!rrE&u!!)or%06G.!!*'!!<<'!s8N)urs&Q(rr<'!rrE&u$ip>-!<<'!s8N*!rrE&u #6=f(!<<'!!;uis!<2uu!<3!)!<3$!s8N*!rrE&u#6=f(!!*'!!;uis!<2uu!<3!"!<3&urr<&r s8N'(rr<'!!<<'!rr3'#s8N)urrW9$rrDrr!!*#u$3:,+!<<'!!<<'!rr3<*s8N*!rr<'!rrAJe !S.5LeH1U.s7t1KPQ8]&@[m=*!<7Q~> !rli"rFH"p!;c^"!<<'!s8N)us8N*!rrW9$rrE&u!s&B$!;lcr!<2uu!;lfr!<<'*!<<'!s8N*! rrE&u!s&B$!;lct!<3&urriE&!<<'!rr3'#s8N)ursAc+rr<'!rrE*!!<2uu!;lcr!<3!#!<<'! rr3'#s8N)urr<&srr<&urr<&urs/W)!<<'!s8N)rs8N*!rrW9$rrE&u!!)orrr<<(!!*$!s8N)u rs&Q(rr<'!rrE&u!!)or%06G.!!*'!!<<'!s8N)urs&Q(rr<'!rrE&u$ip>-!<<'!s8N*!rrE&u #6=f(!<<'!!;uis!<2uu!<3!)!<3$!s8N*!rrE&u#6=f(!!*'!!;uis!<2uu!<3!"!<3&urr<&r s8N'(rr<'!!<<'!rr3'#s8N)urrW9$rrDrr!!*#u$3:,+!<<'!!<<'!rr3<*s8N*!rr<'!rrAJe !S7;MecLX-s7t4LPlS]$AXWL.!<7Q~> !rnb6rL3hP!;c^"!<<'!s8N)us8N*!rrW9$rrE&u!s&B$!;lcr!<2uu!;lfr!<<'*!<<'!s8N*! rrE&u!s&B$!;lct!<3&urriE&!<<'!rr3'#s8N)ursAc+rr<'!rrE*!!<2uu!;lcr!<3!#!<<'! rr3'#s8N)urr<&srr<&urr<&urs/W)!<<'!s8N)rs8N*!rrW9$rrE&u!!)orrr<<(!!*$!s8N)u rs&Q(rr<'!rrE&u!!)or%06G.!!*'!!<<'!s8N)urs&Q(rr<'!rrE&u$ip>-!<<'!s8N*!rrE&u #6=f(!<<'!!;uis!<2uu!<3!)!<3$!s8N*!rrE&u#6=f(!!*'!!;uis!<2uu!<3!"!<3&urr<&r s8N'(rr<'!!<<'!rr3'#s8N)urrW9$rrDrr!!*#u$3:,+!<<'!!<<'!rr3<*s8N*!rr<'!rrAJe !S.5LeH1U.s7t1KPQ8]&S':i#!<7Q~> !rl`!rF,el!;c^"!<3'!!<3&urr<&urr<&rrrW9$rrDfn!!)or!!*#u#lt#*!<<'!s8N)urrW9$ rrDrr!W`6#rr3$"rrDrr!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr3'#s8N)urr<&u rr<&rrrW9$rrE&u"p"]'!<<'!rr3'#s8N)urr<&urrW9$rrDus!s&B$!<3!#!<<'!rr2ruqu6s& s8N*!rrE*!!<3!#!<<'!rr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr2ruqu6s&s8N*!rrE*!!<3!# !<<'!rr3'#s8N)nrrW9$rrE&u!!)or"p"]'!<<'!rr2ruRK!< !rli"rFH"p!;c^"!<3'!!<3&urr<&urr<&rrrW9$rrDfn!!)or!!*#u#lt#*!<<'!s8N)urrW9$ rrDrr!W`6#rr3$"rrDrr!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr3'#s8N)urr<&u rr<&rrrW9$rrE&u"p"]'!<<'!rr3'#s8N)urr<&urrW9$rrDus!s&B$!<3!#!<<'!rr2ruqu6s& s8N*!rrE*!!<3!#!<<'!rr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr2ruqu6s&s8N*!rrE*!!<3!# !<<'!rr3'#s8N)nrrW9$rrE&u!!)or"p"]'!<<'!rr2ruRK!<=s8LRNL]IJNech<=_Z+28rFH!/ J,~> !rnb6rL3hP!;c^"!<3'!!<3&urr<&urr<&rrrW9$rrDfn!!)or!!*#u#lt#*!<<'!s8N)urrW9$ rrDrr!W`6#rr3$"rrDrr!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr3'#s8N)urr<&u rr<&rrrW9$rrE&u"p"]'!<<'!rr3'#s8N)urr<&urrW9$rrDus!s&B$!<3!#!<<'!rr2ruqu6s& s8N*!rrE*!!<3!#!<<'!rr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr2ruqu6s&s8N*!rrE*!!<3!# !<<'!rr3'#s8N)nrrW9$rrE&u!!)or"p"]'!<<'!rr2ruRK!< !rl`!rF,el!;c^"!<3'!!<3&urr<&urr<&us8;rtrr<&qs8;rprr<&ursSo-rrE*!!<<'!s8N)u rr<&rrs/W)rrE'!s8N)us8;rtrrW9$rrE&u!!*#u!W`9#quHWo!s&B$!<2uu!<3!#!<<'!rr2ru qu70,s8N*!rrE*!!<<'!s8N)rrr<&urrN3#s82lors8]*rrE*!!<<'!rr3'#s8N)us82lorrW9$ rrE&u"T\T&!<<)s!<<'!!<3#r!<3#u!<3!"!<<)s!<<'!!<2uu!;ld&!<<'!s8N*!rrE&u!W`9# quHcs!!*#u!!)or#QXo)!<<'!s8Vusqu6p%s8N*!rrE*!quHcsquHcs!!)lqr;clt!!*#u!!*#u r;clt!s&B$!<2uu!1Eifec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;c^"!<3'!!<3&urr<&urr<&us8;rtrr<&qs8;rprr<&ursSo-rrE*!!<<'!s8N)u rr<&rrs/W)rrE'!s8N)us8;rtrrW9$rrE&u!!*#u!W`9#quHWo!s&B$!<2uu!<3!#!<<'!rr2ru qu70,s8N*!rrE*!!<<'!s8N)rrr<&urrN3#s82lors8]*rrE*!!<<'!rr3'#s8N)us82lorrW9$ rrE&u"T\T&!<<)s!<<'!!<3#r!<3#u!<3!"!<<)s!<<'!!<2uu!;ld&!<<'!s8N*!rrE&u!W`9# quHcs!!*#u!!)or#QXo)!<<'!s8Vusqu6p%s8N*!rrE*!quHcsquHcs!!)lqr;clt!!*#u!!*#u r;clt!s&B$!<2uu!1Eiff)Pa#!f-jVq:5_7!5ebIRJg[ss*t~> !rnb6rL3hP!;c^"!<3'!!<3&urr<&urr<&us8;rtrr<&qs8;rprr<&ursSo-rrE*!!<<'!s8N)u rr<&rrs/W)rrE'!s8N)us8;rtrrW9$rrE&u!!*#u!W`9#quHWo!s&B$!<2uu!<3!#!<<'!rr2ru qu70,s8N*!rrE*!!<<'!s8N)rrr<&urrN3#s82lors8]*rrE*!!<<'!rr3'#s8N)us82lorrW9$ rrE&u"T\T&!<<)s!<<'!!<3#r!<3#u!<3!"!<<)s!<<'!!<2uu!;ld&!<<'!s8N*!rrE&u!W`9# quHcs!!*#u!!)or#QXo)!<<'!s8Vusqu6p%s8N*!rrE*!quHcsquHcs!!)lqr;clt!!*#u!!*#u r;clt!s&B$!<2uu!1Eifec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!;ZWp!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rrr<&urrrK'rrE*!!<3!" !<3&urr<&rrsJi,rrE'!s8N*!rrE&u!!*#u!W`6#rr2rurr3'#s8N)mrrN3#!<2uu!<3!#!<<'! rr2ruqu70,rrE'!rrE*!!<<'!s8N)rrr<&urrW9$rrDfn#lt#*!<<'!s8N)urrW9$rrE&u!!)cn !s&B$!<3!&!<<'!s8N)rrr<&urr<&orrrK'rrE*!!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u!s&B$ !;lcr!<2uu!;ld&!<3'!!<3'!rrDfn#lt#*!<<'!s8N)rrr<&rrr<&rrr<&urrW9$rrE&u!s&B$ !<3!&!<<'!s8N)urr<%errL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;ZWp!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rrr<&urrrK'rrE*!!<3!" !<3&urr<&rrsJi,rrE'!s8N*!rrE&u!!*#u!W`6#rr2rurr3'#s8N)mrrN3#!<2uu!<3!#!<<'! rr2ruqu70,rrE'!rrE*!!<<'!s8N)rrr<&urrW9$rrDfn#lt#*!<<'!s8N)urrW9$rrE&u!!)cn !s&B$!<3!&!<<'!s8N)rrr<&urr<&orrrK'rrE*!!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u!s&B$ !;lcr!<2uu!;ld&!<3'!!<3'!rrDfn#lt#*!<<'!s8N)rrr<&rrr<&rrr<&urrW9$rrE&u!s&B$ !<3!&!<<'!s8N)urr<%errL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!;ZWp!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rrr<&urrrK'rrE*!!<3!" !<3&urr<&rrsJi,rrE'!s8N*!rrE&u!!*#u!W`6#rr2rurr3'#s8N)mrrN3#!<2uu!<3!#!<<'! rr2ruqu70,rrE'!rrE*!!<<'!s8N)rrr<&urrW9$rrDfn#lt#*!<<'!s8N)urrW9$rrE&u!!)cn !s&B$!<3!&!<<'!s8N)rrr<&urr<&orrrK'rrE*!!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u!s&B$ !;lcr!<2uu!;ld&!<3'!!<3'!rrDfn#lt#*!<<'!s8N)rrr<&rrr<&rrr<&urrW9$rrE&u!s&B$ !<3!&!<<'!s8N)urr<%errL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!;ZWp!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rs8N*!rrrK'rrE*!!<3!" !<3&nrr<&urr<&urrW9$rrE&u!!*#u!W`6#rr;uus8N0$s8N)urr<&qrrN3#!<2uu!<3!'!<<'! s8N'!qYpNqrr2rurr30&s8N*!rrDrrrrE*!!s&B$!<2uu!;ld&!<<'!s8N*!rrE&u!s&B$!<2uu !<2uu!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!<3!,!<<'!s8N*!rrE*!!<3!'!<<'!s8N'! qYpNqrr2rurr2rurr3'#s8N)urrW9$rrE&u!!)lq!!*#u!!*#u!!*#u!!)or#lt#*!<<'!s8N)u rrW9$rrE&u!s&B$!;lcr!<3!*!<<'!s8N'!s8N)urrrK'rrE*!!<2uu!1Eifec5X!!f@!Xq:,Y5 !6+tIS,Hdrs*t~> !rli"rFH"p!;ZWp!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rs8N*!rrrK'rrE*!!<3!" !<3&nrr<&urr<&urrW9$rrE&u!!*#u!W`6#rr;uus8N0$s8N)urr<&qrrN3#!<2uu!<3!'!<<'! s8N'!qYpNqrr2rurr30&s8N*!rrDrrrrE*!!s&B$!<2uu!;ld&!<<'!s8N*!rrE&u!s&B$!<2uu !<2uu!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!<3!,!<<'!s8N*!rrE*!!<3!'!<<'!s8N'! qYpNqrr2rurr2rurr3'#s8N)urrW9$rrE&u!!)lq!!*#u!!*#u!!*#u!!)or#lt#*!<<'!s8N)u rrW9$rrE&u!s&B$!;lcr!<3!*!<<'!s8N'!s8N)urrrK'rrE*!!<2uu!1Eiff)Pa#!f-jVq:5_7 !5ebIRJg[ss*t~> !rnb6rL3hP!;ZWp!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rs8N*!rrrK'rrE*!!<3!" !<3&nrr<&urr<&urrW9$rrE&u!!*#u!W`6#rr;uus8N0$s8N)urr<&qrrN3#!<2uu!<3!'!<<'! s8N'!qYpNqrr2rurr30&s8N*!rrDrrrrE*!!s&B$!<2uu!;ld&!<<'!s8N*!rrE&u!s&B$!<2uu !<2uu!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!<3!,!<<'!s8N*!rrE*!!<3!'!<<'!s8N'! qYpNqrr2rurr2rurr3'#s8N)urrW9$rrE&u!!)lq!!*#u!!*#u!!*#u!!)or#lt#*!<<'!s8N)u rrW9$rrE&u!s&B$!;lcr!<3!*!<<'!s8N'!s8N)urrrK'rrE*!!<2uu!1Eifec5X!!f@!Xq:,Y5 !6+u-bl+"2s*t~> !rl`!rF,el!;ZWp!<2uu!<)ot!<2uu!<3#t!!N<%rr<&rs8E!!rrDus!s&?$!<3!$!<<'!!<2uu !<)ot!;lcr!<2uu!<2uu!<3#t!!3*"rr2rurVls"rr<&ts8E#nrr<&ss8E#ss8N'"rrDoq!!*#u !!*#u"p"]'!<<'!qu6`urr<&ts8E#prrrK'rrE*!!<3#t!<2uu!<)rs!;c]t!<<'!rr30&s8N'! s8W&urr2rurVuisrVultrr;uus8W&urVult!WN/rrr<&urr<&urr<&urr<&us8E#trr<&urr<&q rr<&urr<&ts8E#prrrK'rrE*!!<3#t!<)rs!<3#u!;lfq!!iN(s8N'!rrE&urW!0&!<3'!rrE&u !s&B$!1a&iec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;ZWp!<2uu!<)ot!<2uu!<3#t!!N<%rr<&rs8E!!rrDus!s&?$!<3!$!<<'!!<2uu !<)ot!;lcr!<2uu!<2uu!<3#t!!3*"rr2rurVls"rr<&ts8E#nrr<&ss8E#ss8N'"rrDoq!!*#u !!*#u"p"]'!<<'!qu6`urr<&ts8E#prrrK'rrE*!!<3#t!<2uu!<)rs!;c]t!<<'!rr30&s8N'! s8W&urr2rurVuisrVultrr;uus8W&urVult!WN/rrr<&urr<&urr<&urr<&us8E#trr<&urr<&q rr<&urr<&ts8E#prrrK'rrE*!!<3#t!<)rs!<3#u!;lfq!!iN(s8N'!rrE&urW!0&!<3'!rrE&u !s&B$!1a&if)Pa#!f-jVq:5_7!5ebIRJg[ss*t~> !rnb6rL3hP!;ZWp!<2uu!<)ot!<2uu!<3#t!!N<%rr<&rs8E!!rrDus!s&?$!<3!$!<<'!!<2uu !<)ot!;lcr!<2uu!<2uu!<3#t!!3*"rr2rurVls"rr<&ts8E#nrr<&ss8E#ss8N'"rrDoq!!*#u !!*#u"p"]'!<<'!qu6`urr<&ts8E#prrrK'rrE*!!<3#t!<2uu!<)rs!;c]t!<<'!rr30&s8N'! s8W&urr2rurVuisrVultrr;uus8W&urVult!WN/rrr<&urr<&urr<&urr<&us8E#trr<&urr<&q rr<&urr<&ts8E#prrrK'rrE*!!<3#t!<)rs!<3#u!;lfq!!iN(s8N'!rrE&urW!0&!<3'!rrE&u !s&B$!1a&iec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!7:`G!;$3j!94"Y!9sL`!.k0.rr<%TrrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!7:`G!;$3j!94"Y!9sL`!.k0.rr<%TrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!7:`G!;$3j!94"Y!9sL`!.k0.rr<%TrrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!7:`G!;-9k!94"Y!9sL`!.k01rr<&urr<%TrrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!7:`G!;-9k!94"Y!9sL`!.k01rr<&urr<%TrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!7:`G!;-9k!94"Y!9sL`!.k01rr<&urr<%TrrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!7:`G!;6?l!94"Y!9sL`!.k0/s8E"RrrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!7:`G!;6?l!94"Y!9sL`!.k0/s8E"RrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!7:`G!;6?l!94"Y!9sL`!.k0/s8E"RrrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!.k0$s+13:rrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!.k0$s+13:rrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!.k0$s+13:rrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!.k0$s+11Sil/'sVmk9LrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!.k0$s+11SSOaCo'1e[crrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;lcrIJa$EIH(8/IK0=qqu6YEq#:>BfDbi!qu6bHs8RN>rr@K=s8RMhrs!oOs*aqI IJa$EID#R[II$n;IK0=qs8RN$rr@KBrr[]Ls*aV@$Lu!9^#Iu-h3Fr'T`5&Ds8LRNL]IJNech<= _Z+28rFH!/J,~> !rnb6rL3hP!;lcr!;lcr!94"\!<<'!qu6Wrq#: !rl`!rF,el!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;lcrIJa$EIGb&)IJa$EIJEgBIFnK!IJEgBIJ!O>IJ!O>IDl-fIK0=qqu6YEUAk=D s8RN$rr@KBrr[]Ls*aYA!q !rnb6rL3hP!;lcr!;lcr!8meV!;lcr!;QQo!8%5N!;QQo!;-9k!;-9k!6"m>!<<'!qu6WrUAk;q s8N)Qrr<&orrW9$rrDfn!mVGZqu6bu!#*YOrrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+14FrrE"krrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;lcrIJa$HIK+_DrVukFrr3(Ks*]=os8IHCrrIQJrdFbFrdFhHrdFeG"+C4LIK'9G IJs3GIJNpBIJa$EIK'6HIK'6MIK+`qI=;+p"+C4LIK'9GIJWsGIK+_DrVukFs8W(Hs8W(Hrr3+L s*aqIrdFYC!.FkH!.FkHrdFeG!.FkH!.FeF!.FkH!.FkH#^u`$s8RNIs*aeE"+C2tIJs3FIK'6L IK+`qs8IHCrrmiNIK0=qrVukFq>^GBrVunG!WRTIs8IHGrs!oOs*aoqIJa$EIK'6HIK'6KIK+`q rd=qLIK+_DqYpPDrr2tHrr;tGrr2tHrr3.Ms8RNIIJs3FIK0?HIK'6NIK0=qs8RNDrrTm@m/I"h ht6sKb_VpcrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!;lcr!;lcu!<3$!rVuisrr3'#rr<&ts8E#prrE-"rW)osrW)uurW)rt!s&B$!<3#t !<)rt!;ZZo!;lcr!<2uu!<3!%!<3'!!!*#u!s&B$!<3#t!;c]t!<3$!rVuiss8W&us8W&urr3*$ rrE*!rW)fp!!*#u!!*#urW)rt!!*#u!!)rs!!*#u!!*#u#QXl)s8N*!rrDrr!s&?$!<)rs!<3!$ !<3'!s8E#prriE&!<<'!rVuisq>^EorVult!WN0!s8E#trrrK'rrE'!!;lcr!<2uu!<3!#!<3'! rW!*$!<3$!qYpNqrr2rurr;rtrr2rurr3-%s8N*!!<)rs!<<)u!<3!&!<<'!s8N)qrrP%s`r>uB WoF'YMuYf1rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+14GrrW2urM';mec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;lcrIJa'EIK0UIK0=qs8RLqs8RNErr@KH rr[]Ls*anH"+C4LIK'6LIK0=qIJa$HIK0=qrr37Ps8RNIs*aoqqYpWQVSrK6#h59FkPtR;L !rnb6rL3hP!;lcr!;lfr!<<'$!<<'!rr3<*s8N'!s8N*!rrE&u!!)or!s&B$!;lcu!<<'!rr3-% s8N*!!<2uu!<3!&!<<'!s8N)rrr<&urr<&srr<&urr<&urso,0!!*'!!<<'!s8N*!rrE&u!!)or rrE*!!s&B$!<3!&!<<'!s8N)urs&Q(rr<'!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr2rur;Q`s rr2rurr36(rrE*!!<<'!qu?Zrs8N0$s8N)urs&Q(rr<'!rrE&u!!)orrr<<(!!*$!s8N)urr<&r rr<&ursAc+rrE*!!!*'!!<3!*!<<'!s8N'!s8N)srr<&urr<&ursSo-!<<'!s8N'!s8N)rrr<&u rrW9$rrE&u!s&B$!<3!$!<<'!!;lcu!<<'!rr36(s8N*!rrE'!qYpVf!*0$u#`JaB`rH&=!hZ4e !S.5LeH1U.s7t1KPQ8]&S':i#!<7Q~> !rl`!rF,el!.k0$s+14GrrW2tr1a2lec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;lcrIJa$EIK'6KIK0=qrr3(Ks8RNHrr[]Ls*anH!.FbE"+C4LIJa$EIJa$IIK0=q IJs0GIK'6KIK0=qo`"o>qu6tNs8RNIs*aqIIK'6QIK0=qs8RNIs*anH!.FbE!.FkH"+C4LIK'6N IK0=qs8RNHrr[]Ls*anH!.FkH!.FbE!.FkH"+C4LIK'6KIK0=qrr2tHqu71Ts8RNIs*aqIIK0=q s8RNErr@KHrr[]Ls*anH"+C4LIK'6HIK'6HIJa$NIK0=qs8RNIs*anH!.FVA"+C4LIK'6HIJa$K IK0=qs8RNHrr@KErssPXs*aqIIK0=qs8RNIs*anH!.FbE!.FkH"+C4LIK'6KIK0=qrr3(Ks8RND rr@KErs*uPs*aqII=:qk!kY2Brr389Q]p/'s4;t&UAk8Fs8LRNL]IJNech<=_Z+28rFH!/J,~> !rnb6rL3hP!;lcr!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrE&u!!)or!s&B$!;lcr!;ld!!<<'! !<)ot!<3!#!<<'!o`"mkqu6s&s8N*!rrE*!!<3!)!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!& !<<'!s8N)urrW9$rrE&u!!*#u!!)or!!*#u!s&B$!<3!#!<<'!rr2ruqu70,s8N*!rrE*!!<<'! s8N)rrr<&urrW9$rrE&u!s&B$!<2uu!<2uu!;ld&!<<'!s8N*!rrE&u!!)cn!s&B$!<2uu!;ld# !<<'!s8N)urr<&rrso,0rrE*!!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr3'#s8N)q rr<&rrs&Q(rrE*!!!)ip!_<;krr37(!!'&!s/H,mUAk8Es8LOMM?*\PeHM0;`W)FOrL3feJ,~> !rl`!rF,el!.k0$s+14GrrW2sqP*ujec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;lcrIJa$EIK'6KIK0=qrr3(Ks8RNHrrRWKs87 !rnb6rL3hP!;lcr!;lcr!<3!#!<<'!rr3'#s8N)urrN3#s82lorrW9$rrDrr!!*#ur;cltrrE#t quH`rrrDlpr;c`p#lt#*!<<'!s8N)urs/W)rrE*!!<<)s!;lcr!<3!"!<<)s!<<'$!<<'!rr3'# s8N)us82lorrW9$rrE&u!!*#u!s&B$!<2uu!;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)u rrW9$rrE&uquHWo#QXo)!<<'!s8VusqZ$Kos8N'!rr2rurr;oss8N0$s8N)urr<&rrso,0rrE*! !<<'!s8N*!rrE&u!!)or!s&B$!<2uu!<3!#!<<'!rr3'#s8N)qrr<&us8;rtrr`?%rr<&prrNi6 !rl`!rF,el!.k0$s+14GrrW2rq4dliec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;lcrIJa$EIK'6KIK0=qrr3(Ks8RNHrr[]Ls*aYA"+C4LIJa$HIK0=qrr3.Ms8RNI IK'6HIJEgBIJa$EIK'6HIJa$NIK+`qIK+`qs*anH$%;jRIK0=qs8RNArr@KHrr[]Ls*aeE"+C4L IK'6KIK0=qrr2tHpAY2Bs*anH!.FkH"+C4LIK'6HIJa$TIK+`qIK+`qs*aqIIK0=qqu6YErr3(K s8RNHrr[]Ls*anH!.FVA$%;jRIK0=qs8RNArr@KHrr[]Ls*anH"+C4LIK'6NIK0=qs8RNHrr@KE rssPXIK+`qIK0=qs8RNIs*anH!.F_D!e()srr2tHrr3(Ks8RNHrr[]Ls*abD"+C4LIK'6PIK0=q s8RNIIJWsGQ^FN2rr3#Qo)AXjeq8RKrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!;lcr!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrDfn!s&B$!;lcu!<<'!rr3-%s8N*! !<2uu!;QQo!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u#lt#*!<<'!s8N)nrr<&urrW9$rrDrr!s&B$ !<3!#!<<'!rr2rupAY0orrE&u!!*#u!s&B$!<2uu!;ld,!<3'!!<3'!rrE*!!<<'!qu6Wrrr3'# s8N)urrW9$rrE&u!!)cn#lt#*!<<'!s8N)nrr<&urrW9$rrE&u!s&B$!<3!&!<<'!s8N)urr<&r rso,0!<3'!!<<'!s8N*!rrE&u!!)lq!W`6#rr2rurr3'#s8N)urrW9$rrDoq!s&B$!<3!(!<<'! s8N*!!;c`q!!+%Yrr3#!ir8rZWWWO#rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+14GrrW2qq4dliec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;lcrIJa$EIK'6KIK0=qrr3=Rs8RLqs8RNIs*anH!.FbE"+C4LIJa$HIK0=qrr3:Q s8RNIs*aqIIK'6NIK0=qs8RNErr@KHrr@KDrr@KHrr@KHrr@KHrs=,Rs*aqIIK0=qrr2tHqu?\E s8N1Ls8RNHrs!oOs*aqIIK'6KIK0=qrr2tHrr2tHqYpVFs*anH!.FkH#CZXPIK0=qIJWsDIK'6H IK'6NIK0=qs8RNEs8RNIrr[]Ls*anH"+C4LIK'6HIK'6HIJa$NIK0=qs8RNIs*anH!.FbE!.FkH $@VsSIK0=qIK0=qrr31Ns8RNIs*anH!.F_D!.FkH!.FkH#(?OOIK0=qrr2tHqYpVFs*anH!.FkH $@VsSIK0=qIK0=qqYpYGs8RNHrs=,Rs*aqIIK0=qqu7.qPEWl;s8VZAnc/X?Jr6<&!S7;MecLX- s7t4LPlS]$AXWL.!<7Q~> !rnb6rL3hP!;lcr!;lcr!<3!#!<<'!rr3<*s8N'!s8N*!rrE&u!!)or!s&B$!;lcu!<<'!rr39) s8N*!rrE*!!<3!&!<<'!s8N)rrr<&urr<&qrr<&urr<&urr<&urs8]*rrE*!!<<'!rr2ruqu?Zr s8N0$s8N)urrrK'rrE*!!<3!#!<<'!rr2rurr2ruqYpTsrrE&u!!*#u#6=f(!<<'!!;c]q!<2uu !<3!&!<<'!s8N)rs8N*!rrW9$rrE&u!s&B$!<2uu!<2uu!;ld&!<<'!s8N*!rrE&u!!)or!!*#u $3:,+!<<'!!<<'!rr30&s8N*!rrE&u!!)lq!!*#u!!*#u"p"]'!<<'!rr2ruqYpTsrrE&u!!*#u $3:,+!<<'!!<<'!qYpWts8N)urs8]*rrE*!!<<'!qu7->!!%#=s8V)YirB%Y" !rl`!rF,el!.k0$s+14Lrs/Q%rr<#sq"^Za!S.5LeH1U.s7t1KPQ8]&@[m=*!<7Q~> !rli"rFH"p!;lcrIJa$EIK'6HIK'9GIK'6KIK+_DrVukFqYp\Hs8RLqr;ZeFs8W(H"93fLIK'6J IK0?HIJs3GIJNpBI0'@rqu6YErr2tHrr2tHrr31Ns8RNIs*anHrdFYC"+C2tIJs3FIK'6HIK'9G IK'6HIJs3FIJEgBIJj-EIJs3GI0'@rqYpPDrr2tHrr31Ns8RNIs*aeE"+C2tIJs3FIK'6HIJs3F IJWsJIK0=qs8RNHs8IHBs8IEOs*aqII=;-Drr;tG#60,OIK0=qrr2tHqYpPDrr2tHrr31Ns8RLq s*anH!.F\C!.FeFrdFbFs*Y%MIK0=qqZ$SDs8W(H#60,OIK0=qrr3%Js*anH%^(hPN/Y$GTnh8" s4)[rUAk8Fs8LRNL]IJNech<=_Z+28rFH!/J,~> !rnb6rL3hP!;lcr!;lcr!<2uu!<3#t!<3!#!<3$!rVuisqYpZus8N'!r;Zcss8W&u"9/B$!<3!" !<<)u!<)rt!;ZZo!!3*"qu6Wrrr2rurr2rurr30&s8N*!rrE&urW)fp!s&?$!<)rs!<2uu!<3#t !<2uu!<)rs!;QQo!;ulr!<)rt!!3*"qYpNqrr2rurr30&s8N*!rrDrr!s&?$!<)rs!<2uu!<)rs !;c^"!<<'!s8N)us8E#os8E!'rrE*!!!*$!rr;rt#6+]'!<<'!rr2ruqYpNqrr2rurr30&s8N'! rrE&u!!)ip!!)rsrW)osrr<3%!<<'!qZ$Qqs8W&u#6+]'!<<'!rr3$"rrE&u!(d%gs&B:_!36)! X9MForrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+14Mrr;osrr2p!q"O]\rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!9X:]I=_Ffrr@J8rr@Jmrr@Jors7&/Ln]]\LQgfurrRb%cD(=>f)Pa#!f-jVq:5_7 !5ebIRJg[ss*t~> !rnb6rL3hP!9X:]!.k1>rr<%err<&Err<&Grr\el!&slW!?K2ZrrNB1Tq_Pfec5X!!f@!Xq:,Y5 !6+u-bl+"2s*t~> !rl`!rF,el!.k0$s+LFPrVulrrVlfurV-)\rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!9X:]I=_Fgrr@J;rr@KHrr@Jnrr@JmrrSjKfD_oQaSu2@j+*PkrrL^Nrmh.,!<;lG "dK))s(.VsAH;a\~> !rnb6rL3hP!9X:]!.k1?rr<%hrr<&urr<&Frr<&ErrP+ZWr>uuNrK%[a9Xr&rrL[Mrm_(-!<;lF "dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+LCRrqucmrr`5pp\gfc!S.5LeH1U.s7t1KPQ8]&@[m=*!<7Q~> !rli"rFH"p!9X:]I=_Fhrr@J9s8IGmrr@JlrrVDEf),ILj,SrYU&P/Es8LRNL]IJNech<=_Z+28 rFH!/J,~> !rnb6rL3hP!9X:]!.k1@rr<%fs8E#Err<&DrrUO^Wr)eua !rl`!rF,el!.k0$s+C=PrqlWl"8V]drLj/kec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!.k0$s+C=Qkag<'eH;:jRHL7C!S7;MecLX-s7t4LPlS]$AXWL.!<7Q~> !rnb6rL3hP!.k0$s+C=PcoM$*"$HoQd@gL?ec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!.k0$s+11Sr;-6`q"afYrrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!.k0$s+11ScD?>ILni7errL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!.k0$s+11SThH=0)c!-!rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!.k0$s+13:rrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!.k0$s+13:rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!.k0$s3puJF+OA2rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!.k0$s3puJFb0S4rrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!.k0$s3puJF+OA2rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!;lcrF7oP8F8u8]o`"o4o)A]2o`"o4ir9+%s8R0;rr@-8rr@-;s8I*9rr@->rr@-> rr@-8rr[?Bs)[r7!-@9%!-@9%s)[K*"*=MBF7fJ4F8Pt;F8,\7F7T>5F8u8]qu6kAs8R0?s)ZHb $$6.HF8u8]s8R04rr@,ps8R0=rr@--rr@-#rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;lcrFnPb:FoVJao`"o6o)A]4o`"o6ir9+'s8R6=rr@3:rr@3=s8I0;rr@3@rr@3@ rr@3:rr[EDs)n)9!-RE'!-RE's)mW,"*OYDFnG\6Fo21=Fnbn9Fn5P7FoVJaqu6kCs8R6As)lTd $$H:JFoVJas8R66rr@2rs8R6?rr@3/rr@3%rrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!;lcrF7oP8F8u8]o`"o4o)A]2o`"o4ir9+%s8R0;rr@-8rr@-;s8I*9rr@->rr@-> rr@-8rr[?Bs)[r7!-@9%!-@9%s)[K*"*=MBF7fJ4F8Pt;F8,\7F7T>5F8u8]qu6kAs8R0?s)ZHb $$6.HF8u8]s8R04rr@,ps8R0=rr@--rr@-#rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!;lcrF7oP8F8u8]o`"o4o)A]2o`"o4ir9+%s8R01rr@-rr@-;rr@->rr@-> rr@-8rr[?Bs)[r7!-@9%!-@<&!-@B("*=MBF7fJ4F8Pt;F8,\7F79,/F8Pt;F8Z% !rli"rFH"p!;lcrFnPb:FoVJao`"o6o)A]4o`"o6ir9+'s8R63rr@3>rr@3@rr@3=rr@3@rr@3@ rr@3:rr[EDs)n)9!-RE'!-RH(!-RN*"*OYDFnG\6Fo21=Fnbn9Fmo>1Fo21=Fo;7>Fj9pgFoVJa r;Qb>o`"o6h#@@sk5PF(j8T/2s8LRNL]IJNech<=_Z+28rFH!/J,~> !rnb6rL3hP!;lcrF7oP8F8u8]o`"o4o)A]2o`"o4ir9+%s8R01rr@-rr@-;rr@->rr@-> rr@-8rr[?Bs)[r7!-@9%!-@<&!-@B("*=MBF7fJ4F8Pt;F8,\7F79,/F8Pt;F8Z% !rl`!rF,el!;lcrF8l4>F8Q":Es2Mas)W8[s8I*>s8I*rr@->rrmKDF8p<&rVuk r;Qbrr;t=rr2t>rr2t>r;Zb;"TNQCF*%?\#'9hEF8p<&rr31Ds8R0?s)\2>!-A&;!-A/> !-A/>!-A/>rcA)="*=MBF8,\7F8Pt@F8p=]s)\2>!-A/>!-A/>s)\5?rc@u:rcA&F8u:>F8c.=F8c.=F8Q":Es2Mas)W8[s8I*>s8I*;rr@-:s8R-@s)\2>rcA)="*=K`F8c.< F8Z%EF8u8]s8R0?s)\2>rc@r9!-A/>!-A/>rcA)=!-A/>"`s_DF8p=Ys8I*>s8-j=s)\5>Erl;^ rr2t>rr<">!WR6?s8I*5rrmKDF8u8]rr2t>rr2t>r;Zb;"oiZDF8p=\s8I*=rr[?BF*%<[s)S5@ F6!9$ec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;lcrFoMF@Fo24rr@3@rr@3@rrmQFFoQT,rVuk>s8W(@ r;Qb>rr2t@rr;t?rr2t@rr2t@r;Zb="TNWEF`m]`#'KtGFoQT,rr31Fs8R6As)n>@!-S2=!-S;@ !-S;@!-S;@rcS5?"*OYDFnbn9Fo21BFoQUas)n>@!-S;@!-S;@s)nAArcS,rcS5?"a0if FoVL@FoVL@FoD@?FoD@?Fo24@rcS5?"*OWdFoD@> Fo;7GFoVJas8R6As)n>@rcS);!-S;@!-S;@rcS5?!-S;@"a0kFFoQU]s8I0@s8-p?s)nA@FTMMb rr2t@rr<"@!WR !rnb6rL3hP!;lcrF8l4>F8Q":Es2Mas)W8[s8I*>s8I*rr@->rrmKDF8p<&rVuk r;Qbrr;t=rr2t>rr2t>r;Zb;"TNQCF*%?\#'9hEF8p<&rr31Ds8R0?s)\2>!-A&;!-A/> !-A/>!-A/>rcA)="*=MBF8,\7F8Pt@F8p=]s)\2>!-A/>!-A/>s)\5?rc@u:rcA&F8u:>F8c.=F8c.=F8Q":Es2Mas)W8[s8I*>s8I*;rr@-:s8R-@s)\2>rcA)="*=K`F8c.< F8Z%EF8u8]s8R0?s)\2>rc@r9!-A/>!-A/>rcA)=!-A/>"`s_DF8p=Ys8I*>s8-j=s)\5>Erl;^ rr2t>rr<">!WR6?s8I*5rrmKDF8u8]rr2t>rr2t>r;Zb;"oiZDF8p=\s8I*=rr[?BF*%<[s)S5@ F6!9$ec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!;ld#F8u8]s8R0;rsEiIs)W8]s)\5?F8l1AF8u8]r;Qbrr3:Gs)W8]s)\5? F8l1AF8u8]qu6Y;rr3(As8R0>rr[?Bs)\2>!-A&;(3BNUF*%B]F8u8]s8R.]s8R0?s)\3]qu6Y; q>UY?s8R0?s)\2>!-A/>#'9hEF8u8]p\t57qu?\;#QJjds)\5?F8l1GF8u8]s8R0?s)\);!-A/> "*=MBF8l1KF8u8]F8u8]s8R0?s)\2>%!2IKF8u8]s8R0?s)\);$?Q7IF*%B]F8u8]rr3(As8R0; rr@-;rs*WFs)W8]s)\2>#BTqFF*%B]F8c+=F8PtCF8u8]s8R0?F8l1>F8l1>F8Pt;F8l1AF8u8] rr3(As8R0>rrdECs)W8Yrr@->rss2Ns)\5?F8u8]s8R0?s)\2>$?Q7IF8u8]F8u8]rr2t>p](87 #QJjds)\5?F8l1>F8PtEF8u8]F8u8]s8R0>rsj,Ms)W8]s)\5?F8u8]F6!9$ec5X!!f@!Xq:,Y5 !6+tIS,Hdrs*t~> !rli"rFH"p!;ld#FoVJas8R6=rsEoKs)iJas)nAAFoMCCFoVJar;Qb>rr2t@rr3:Is)iJas)nAA FoMCCFoVJaqu6Y=rr3(Cs8R6@rr[EDs)n>@!-S2=(3TZWF`m`aFoVJas8R4as8R6As)n?aqu6Y= q>UYAs8R6As)n>@!-S;@#'KtGFoVJap\t59qu?\=#QJphs)nAAFoMCIFoVJas8R6As)n5=!-S;@ "*OYDFoMCMFoVJaFoVJas8R6As)n>@%!DUMFoVJas8R6As)n5=$?cCKF`m`aFoVJarr3(Cs8R6= rr@3=rs*]Hs)iJas)n>@#Bg(HF`m`aFoD=?Fo21EFoVJas8R6AFoMC@FoMC@Fo21=FoMCCFoVJa rr3(Cs8R6@rrdKEs)iJ]rr@3@rss8Ps)nAAFoVJas8R6As)n>@$?cCKFoVJaFoVJarr2t@p](89 #QJphs)nAAFoMC@Fo21GFoVJaFoVJas8R6@rsj2Os)iJas)nAAFoVJaFlWK&f)Pa#!f-jVq:5_7 !5ebIRJg[ss*t~> !rnb6rL3hP!;ld#F8u8]s8R0;rsEiIs)W8]s)\5?F8l1AF8u8]r;Qbrr3:Gs)W8]s)\5? F8l1AF8u8]qu6Y;rr3(As8R0>rr[?Bs)\2>!-A&;(3BNUF*%B]F8u8]s8R.]s8R0?s)\3]qu6Y; q>UY?s8R0?s)\2>!-A/>#'9hEF8u8]p\t57qu?\;#QJjds)\5?F8l1GF8u8]s8R0?s)\);!-A/> "*=MBF8l1KF8u8]F8u8]s8R0?s)\2>%!2IKF8u8]s8R0?s)\);$?Q7IF*%B]F8u8]rr3(As8R0; rr@-;rs*WFs)W8]s)\2>#BTqFF*%B]F8c+=F8PtCF8u8]s8R0?F8l1>F8l1>F8Pt;F8l1AF8u8] rr3(As8R0>rrdECs)W8Yrr@->rss2Ns)\5?F8u8]s8R0?s)\2>$?Q7IF8u8]F8u8]rr2t>p](87 #QJjds)\5?F8l1>F8PtEF8u8]F8u8]s8R0>rsj,Ms)W8]s)\5?F8u8]F6!9$ec5X!!f@!Xq:,Y5 !6+u-bl+"2s*t~> !rl`!rF,el!;lcuF8u8]q#:G;s8R0>rr@-;rr[?Bs)\);$$6.HF8u8]s8R0>rr@-;rr[?Bs)\); !-A/>"*=MBF8l1AF8u8]rr2t>qu6b>s8R0>rs!QEs)\5?F8l1BF8u8]F8Gn:F8>h?F8p=]F8p=\ rr@->rs!QEs)\5?F8,\7F8PtDF8u8]s8R0?s)\2>"*=MBF8Z%"*=MBF8Z%qu6b>s8R0;rr@-;rr@->rr[?Bs)\2>"*=MBF8l1> F8c+=F8PtBF8u8]s8R.]rVlk=rr2t>qu6Y;rr3(As8R0>rr[?Bs)\2>"*=MBF8#VEF8u8]s8R0? s)\5?F8u8]rr3(As8R0>rr[?Bs)\2>!-@o7$$6.HF8u8]s8R0>rr@-;rr[?Bs)\2>"*=MBF8l1A F8u8]rr3(As8R0>rr@-#rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;lcuFoVJaq#:G=s8R6@rr@3=rr[EDs)n5=$$H:JFoVJas8R6@rr@3=rr[EDs)n5= !-S;@"*OYDFoMCCFoVJarr2t@qu6b@s8R6@rs!WGs)nAAFoMCDFoVJaFo)+@"*OYDFo;7>Fo21=Fo21=FoMCCFoVJarr31F s8R6As)n>@"*OYDFo;7>Fnkt=FoVJarr2t@qu6b@s8R6=rr@3=rr@3@rr[EDs)n>@"*OYDFoMC@ FoD=?Fo21DFoVJas8R4arVlk?rr2t@qu6Y=rr3(Cs8R6@rr[EDs)n>@"*OYDFnYhGFoVJas8R6A s)nAAFoVJarr3(Cs8R6@rr[EDs)n>@!-S&9$$H:JFoVJas8R6@rr@3=rr[EDs)n>@"*OYDFoMCC FoVJarr3(Cs8R6@rr@3%rrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!;lcuF8u8]q#:G;s8R0>rr@-;rr[?Bs)\);$$6.HF8u8]s8R0>rr@-;rr[?Bs)\); !-A/>"*=MBF8l1AF8u8]rr2t>qu6b>s8R0>rs!QEs)\5?F8l1BF8u8]F8Gn:F8>h?F8p=]F8p=\ rr@->rs!QEs)\5?F8,\7F8PtDF8u8]s8R0?s)\2>"*=MBF8Z%"*=MBF8Z%qu6b>s8R0;rr@-;rr@->rr[?Bs)\2>"*=MBF8l1> F8c+=F8PtBF8u8]s8R.]rVlk=rr2t>qu6Y;rr3(As8R0>rr[?Bs)\2>"*=MBF8#VEF8u8]s8R0? s)\5?F8u8]rr3(As8R0>rr[?Bs)\2>!-@o7$$6.HF8u8]s8R0>rr@-;rr[?Bs)\2>"*=MBF8l1A F8u8]rr3(As8R0>rr@-#rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!;lcrF8l4>F8Gn=F8u8]rr2t>rr;qF8l4F8u8]rr2t>rr3(As8R0>rr@-;rr[?Bs)\2>#'9hEF8u8]rr3+Bs8R.]qu6Y;q#:P>s)\3] s)\2>r,_o<"*=MBF8,\7F8PtDF8u8]s8R0?s)\2>!-A/>s)\2>!-A&;!-A&;!-A/>"*=MBF8l1C F8u8]s8W"rVun=qYpY=s8R0>rr@->s8@$=rr@-;rr@-;rr@->rr[?Bs)\2>"*=MBF8l1> F8c+=F8PtBF8u8]s8R.]rVue:qu6b>s8R0>rr@->rr[?Bs)\2>"*=MBF8>k7F8u7KF8u8]s8R0? s)\5?F8l1AF8u8]rr3%@s8W"rrR9As86srr[?B s)\2>!-@3#!S.5LeH1U.s7t1KPQ8]&@[m=*!<7Q~> !rli"rFH"p!;lcrFoMF@Fo)+?FoVJarr2t@rr;q>s8N(Aqu6tFs8R6As)nAAFoMC@FoMF>FoVIA Fo21@FoVJarr2t@rr3(Cs8R6@rr@3=rr[EDs)n>@#'KtGFoVJarr3+Ds8R4aqu6Y=q#:P@s)n?a s)n>@r,r&>"*OYDFnbn9Fo21FFoVJas8R6As)n>@!-S;@s)n>@!-S2=!-S2=!-S;@"*OYDFoMCE FoVJas8W">rr<"@rVun?qYpY?s8R6@rr@3@s8@*?rr@3=rr@3=rr@3@rr[EDs)n>@"*OYDFoMC@ FoD=?Fo21DFoVJas8R4arVue@"*OYDFnu(9FoVIMFoVJas8R6A s)nAAFoMCCFoVJarr3%Bs8W">p\tYEs8R6As)nAAFoVJaqYpY?s8R6@rrR?Cs87$>rr@3@rr[ED s)n>@!-R?%!S7;MecLX-s7t4LPlS]$AXWL.!<7Q~> !rnb6rL3hP!;lcrF8l4>F8Gn=F8u8]rr2t>rr;qF8l4F8u8]rr2t>rr3(As8R0>rr@-;rr[?Bs)\2>#'9hEF8u8]rr3+Bs8R.]qu6Y;q#:P>s)\3] s)\2>r,_o<"*=MBF8,\7F8PtDF8u8]s8R0?s)\2>!-A/>s)\2>!-A&;!-A&;!-A/>"*=MBF8l1C F8u8]s8W"rVun=qYpY=s8R0>rr@->s8@$=rr@-;rr@-;rr@->rr[?Bs)\2>"*=MBF8l1> F8c+=F8PtBF8u8]s8R.]rVue:qu6b>s8R0>rr@->rr[?Bs)\2>"*=MBF8>k7F8u7KF8u8]s8R0? s)\5?F8l1AF8u8]rr3%@s8W"rrR9As86srr[?B s)\2>!-@3#!S.5LeH1U.s7t1KPQ8]&S':i#!<7Q~> !rl`!rF,el!;lcrF8Z%F8u8]rr3(As8R0>rr[?Bs)\);$$6,fs)\3]s8R0>rr[?Bs)\2> "*=MBF8Gnrr[?Bs)\2>!-A&;"*=MBF8l1DF8u8]s8R0>rrmKDs)\3]r;QbrVlk=qu6b>s8R07rr@-;rsr;Qk?s8R0;rr@-;rr@->rr[?Bs)\2> #'9hEF8u8]q#:>8r;Qbs8R0>rr[?Bs)\2>"*=MBF8Pt;F8Pt;F8l1AF8u8]rr3(As8R0> rr@-=rr@-;rs3]Gs)\5?F8p=\rr@-6rrR9AF8l1>F8l1AF8u8]rr3(As8R0:rr@->rss2Ns)\5? F8u8]s8R0?s)\2>"*=MBF8l1AF8u8]oD]#9s8R0?s)\2>!d"B_qYpY=s8R0>rr[?Bs)\);!-A/> "*=MBF8l1>F6!9$ec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!;lcrFo;7>Fo21@FoVJarr3(Cs8R6@rr[EDs)n5=$$H8js)n?as8R6@rr[EDs)n>@ "*OYDFo)+>FoQU`rr@3@rr[EDs)n>@!-S2="*OYDFoMCFFoVJas8R6@rrmQFs)n?ar;Qb>p\t59 rr2t@rVlk?qu6b@s8R69rr@3=rs@ #'KtGFoVJaq#:>:r;Qb>qu6b@s8R6@rr[EDs)n>@"*OYDFo21=Fo21=FoMCCFoVJarr3(Cs8R6@ rr@3?rr@3=rs3cIs)nAAFoQU`rr@38rrR?CFoMC@FoMCCFoVJarr3(Cs8R6@"*OYDFoMCCFoVJaoD]#;s8R6As)n>@!d4NcqYpY?s8R6@rr[EDs)n5=!-S;@ "*OYDFoMC@FlWK&f)Pa#!f-jVq:5_7!5ebIRJg[ss*t~> !rnb6rL3hP!;lcrF8Z%F8u8]rr3(As8R0>rr[?Bs)\);$$6,fs)\3]s8R0>rr[?Bs)\2> "*=MBF8Gnrr[?Bs)\2>!-A&;"*=MBF8l1DF8u8]s8R0>rrmKDs)\3]r;QbrVlk=qu6b>s8R07rr@-;rsr;Qk?s8R0;rr@-;rr@->rr[?Bs)\2> #'9hEF8u8]q#:>8r;Qbs8R0>rr[?Bs)\2>"*=MBF8Pt;F8Pt;F8l1AF8u8]rr3(As8R0> rr@-=rr@-;rs3]Gs)\5?F8p=\rr@-6rrR9AF8l1>F8l1AF8u8]rr3(As8R0:rr@->rss2Ns)\5? F8u8]s8R0?s)\2>"*=MBF8l1AF8u8]oD]#9s8R0?s)\2>!d"B_qYpY=s8R0>rr[?Bs)\);!-A/> "*=MBF8l1>F6!9$ec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!;ld#F8u8]s8R0;rrB"prr[?Bs)\2>"*=MBF8Gn:F8l1>F8l1>F8l1AF8u8]rr3(A s8R0:rrR9AF8l1>F8l1EF8u8]s8R.]qu6b>s8R0>rs!QEs)\5?F8l1DF8u8]s8R02rr@->rr@-= rr@->rs!QEs)\5?F8,\7F8PtQF8u8]s8R0?s)\5?F*%B]F8u8]s8R0;rr@->rr[?Bs)\2>"*=MB F8l1DF8u8]s8R0>rsWuKs)\5?F8u8]s8R0;rr[?Bs)\2>"*=MBF8l1AF8u8]qu6Y;qu6nBs8R.] s8R0>rr[?Bs)\2>!-A,=!-A&;%!2IKF8u8]s8R0?s)\2>!-A#:!d"B_rr2t>rr3=Hs8R0?s)W8] s)\&:!-A/>*HV8\F8u8]s8R0?s)\5?F8u8]F8u8]s8R.]s8R0>rr@-7rs!QEs)\5?F8l1@F8p=X rr[?Bs)\2>"*=MBF8l1AF8u8]rr34Es8R0?s)W8ArrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;ld#FoVJas8R6=rsFS'`6#s=hf\u!FoMCCFoVJaqYpP@#'KtGFoVJarr31Fs8R6As)mo4!-S;@ !-S8?!-S;@#'KtGFoVJap\t59qu7FSs8R6As)nAAFoVJaFoVJas8R6As)n5=!-S;@"*OYDFoMCC FoVJarr31Fs8R6As)n>@%!DUMFoVJas8R6As)n5="*OYDFoMCCFoVJarr3(Cs8R6=rr@3=rs*]H s)iJas)n>@"*OYDFoMC@FoD=?Fo21IFoVJas8R6As)nAAFoMC@Fo)+>FoQU`rr@3@rsEoKs)nAA F`m`aFo)+@!-S&9#'KtGFoVJarr3%B s)n2<"*OYDFoMCCFoVJarr3(Cs8R6@rs*]Hs)nAAF`laE!S7;MecLX-s7t4LPlS]$AXWL.!<7Q~> !rnb6rL3hP!;ld#F8u8]s8R0;rsD4d'*&\:STFi2F8l1AF8u8]qYpP:rr2t>rr2t>rr3(As8R0> rr[?Bs)\&:!d"B_rr2t>rr34Es8R0?s)W8Yrr[?Bs)\2>#'9hEF8u8]rr31Ds8R0?s)[c2!-A/> !-A,=!-A/>#'9hEF8u8]p\t57qu7FQs8R0?s)\5?F8u8]F8u8]s8R0?s)\);!-A/>"*=MBF8l1A F8u8]rr31Ds8R0?s)\2>%!2IKF8u8]s8R0?s)\);"*=MBF8l1AF8u8]rr3(As8R0;rr@-;rs*WF s)W8]s)\2>"*=MBF8l1>F8c+=F8PtGF8u8]s8R0?s)\5?F8l1>F8GnrsEiIs)\5? F*%B]F8Gn:F8l1[F8u8]s8R0?s)\5?F8u8]s8R.]s8R0?s)W8]s)\2>!-@o7#'9hEF8u8]rr3%@ s)\&:"*=MBF8l1AF8u8]rr3(As8R0>rs*WFs)\5?F*$CA!S.5LeH1U.s7t1KPQ8]&S':i#!<7Q~> !rl`!rF,el!;lcrF8l4>F7]D3iVrlVEs2Mas)W8Yrr@->rr@->rr@->rr@->s8I'Bs)\3]F8Gn: F8Z(;F8c.=Erl;^qu?\;!WR6?rs!QEs)\5?F8l1AF8u8]rr2t>rr2t>p\t57rr2t>r;Zb;rr3(A s8R0>rr@-;rr@-;rs!QEs)\5?F8l4>Erl;^rr<">rr<">qu?Y:rVukrr3(As8R0>s8I*< s8R0=s8R0:s8R-@s)\2>!-A/>rc85BF8p<&r;Qbrr@-=s8R0F85b8F8Z(;F8c.=Es2Mas8R09s8I'Qs)\3]F8p<&s)\5?F*%B]F*%A&rr<"> !WR6?s8I*hrr;t=rr2t>rr2t>rr<">"TNQCs)[?& !S.5LeH1U.s7t1KPQ8]&@[m=*!<7Q~> !rli"rFH"p!;lcrFoMF@Fo;7Jm'j('alCLMXI8GTs8I-Ds)n?aFo21=FoMC@FoMC@FoMC@FoMF? FTh_es)iJ\rr@3>s8I0>s8R3Bs)n5=s)eABFoMCFFoVJas8R6@rr[EDs)n>@!-S;@!-S&9!-S;@ !-S5>rcS5?"*OYDFoMC@Fo21=Fo21CFoVJas8R6@s8R3Bs)n>@s)n>@s)n5=rcS2>rcS5?!-S;@ "*OYDFoMF?FoD@?FoD@?Fo).s8I0>s8R3Es)nAAFnu(:FVFdts)iJaF`m_,s8R4a s8R4as)n>@s)eABFoMF?FoD=?Fo21CFoVJas8R6?rr@3;rr[EDs)n>@!-S;@rcS5?!-S;@!-S;@ s)eJEFoVJak5PJ5s8LRNL]IJNech<=_Z+28rFH!/J,~> !rnb6rL3hP!;lcrF8l4>F8Z%=c8GFu!uK8_s8I'Bs)\3]F8Pt;F8l1>F8l1>F8l1>F8l4=Es2Ma s)W8Xrr@-rr[?Bs)\2>!-A/>!-@o7!-A/>!-A)< rcA)="*=MBF8l1>F8Pt;F8PtAF8u8]s8R0>s8R-@s)\2>s)\2>s)\);rcA&"*=MB F8l4=F8c.=F8c.=F8Gq:Erl;^rr2t>rr;t="TNQCF*%9Z!-A#:s)S5@F8l4=F8l1>F8l1>F8c.= F8Z%BF8u8]s8R0>rrR9As8I*7rr@-k8EteRps)W8]F*%A&s8R.]s8R.] s)\2>s)S5@F8l4=F8c+=F8PtAF8u8]s8R0=rr@-9rr[?Bs)\2>!-A/>rcA)=!-A/>!-A/>s)S>C F8u8]k5PJ4s8LOMM?*\PeHM0;`W)FOrL3feJ,~> !rl`!rF,el!4Mn-F05HBF+OA>rr@,Srr@-0rr@,SrrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!:g'tl_:/SZG4MrZDs[oldPk6FfkZDFb0S@rr@2Urr@32rr@2UrrL^Nrmh.,!<;lG "dK))s(.VsAH;a\~> !rnb6rL3hP!:g'ic4fsQ!>Ec-rr@,Brr@+ks3goIF2%YSF7B20F2%YTec5X!!f@!Xq:,Y5!6+u- bl+"2s*t~> !rl`!rF,el!4Vt.F05HBF+OA>rr@,Srr@-0rr@,RrrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!:g'tW33qSaL\aa^Vmp_W7:hIFfkZDFb0S@rr@2Urr@32rr@2TrrL^Nrmh.,!<;lG "dK))s(.VsAH;a\~> !rnb6rL3hP!:g'i2)kM7#9*XC2cWis2:VX+F05HBF+OA>rr@,Srr@-0rr@,RrrL[Mrm_(-!<;lF "dB#+s-q72RfNJ=~> !rl`!rF,el!4`%/F+O@Bs8DrtF0,BAF1hMRec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!:p-kd>m#]rs6WGd.RG=kGQ_Yrr@1ms+14Krr@2Crr@2SrrL^Nrmh.,!<;lG"dK)) s(.VsAH;a\~> !rnb6rL3hP!:p-kSH,\hrs2U)ET7#u`]'I>rr@+ks+14Krr@,Arr@,QrrL[Mrm_(-!<;lF"dB#+ s-q72RfNJ=~> !rl`!rF,el!:p-irq-3jrdk*#s+13XrrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!:p."W/@P;s8Tt%s8TdZs8T]^s+13$s0_k-f)Pa#!f-jVq:5_7!5ebIRJg[ss*t~> !rnb6rL3hP!:p."8,tTgs8Q*=s8Q)Xs8R(is+13$s0_k-ec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!:p-jr;QBh!<.QLJcC<$[Jp9Xs8LOMM?*\PeHM0;`W'D:rF,d,J,~> !rli"rFH"p!:p."Ne`MGs8U":s14JWf`00Hs+13$s0_k-f)Pa#!f-jVq:5_7!5ebIRJg[ss*t~> !rnb6rL3hP!:p."'`\66s8Qd4s&B%!WrJE:s+13$s0_k-ec5X!!f@!Xq:,Y5!6+u-bl+"2s*t~> !rl`!rF,el!:p-kqY^>Ds+13$s/H#!ec5X!!f@!Xq:,Y5!6+tIS,Hdrs*t~> !rli"rFH"p!:p-uK8#*5s8UCEs0drFf7EsQs+13VrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!:p-u"9JS's8S,Zs&B%!We(2$s+13VrrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!;lcrF8Z%BF8u:9qY^?irrW2urr2p"F8u8]qu6Y;o`##7s8R00rr@-(s8R-As)W8[ rr@-3s8R0+rr@-&rr@-;rr@-1rr[?Bs)[i4!-A&;"*=MBF1_GSF8u8]o`"o4qZ$S:m/I',JcGBB !S.5LeH1U.s7t1KPQ8]&@[m=*!<7Q~> !rli"rFH"p!;lcrFo;7MFoVK!K8%qWs31NCY_Rtarr3(Cs8R6=rr@36rr[EDs)mi2!-RN*s)eDC F`mZ_!-Ro5s)mZ-!-RH(!-S2=!-Ri3"*OYDFnG\6Fo21@FoVJa]DhtUs8R66rr@3 !rnb6rL3hP!;lcrF8Z%KF8u7X"9PV's,R-Z<<*$!rr3(As8R0;rr@-4rr[?Bs)[]0!-@B(s)S8A F*%<[!-@c3s)[N+!-@<&!-A&;!-@]1"*=MBF7fJ4F8Pt>F8u8]]DhtSs8R04rr@-:s8R0,rr@+k s7H !rl`!rF,el!;lcrF8Z%KF8u:9q"k!is8N&urVZQkrr3(As8R0;rr@-4rr[?Bs)[]0!-@E)"*=MB F8Pt;F7fJ4F6W])F5QutF7K84F8u8]o`"o4q#:>8\GlPMo`"o4qu6Y;lMgj*JcGBB!S.5LeH1U. s7t1KPQ8]&@[m=*!<7Q~> !rli"rFH"p!;lcrFo;7MFoVK:JV2PRs2k<@Y(_P[rr3(Cs8R6=rr@36rr[EDs)mi2!-RQ+"*OYD Fo21=FnG\6Fm8o+Fl33!Fn,J6FoVJao`"o6q#:>:\GlPOo`"o6qu6Y=lMgj,JcGBB!S7;MecLX- s7t4LPlS]$AXWL.!<7Q~> !rnb6rL3hP!;lcrF8Z%KF8u88"pCt+s,R-Z<<<<)rr3(As8R0;rr@-4rr[?Bs)[]0!-@E)"*=MB F8Pt;F7fJ4F6W])F5QutF7K84F8u8]o`"o4q#:>8\GlPMo`"o4qu6Y;lMgj*JcGBB!S.5LeH1U. s7t1KPQ8]&S':i#!<7Q~> !rl`!rF,el!;c]qF8l1>F8l1QqtBd_s8W&ts8;]fr;ZcrF8u8]qu6b>s)W8[s8I*>s8-m;s8I*= rrR9AF8Z%?F8p<&rVuk^G8s8Vt;r;Qk?s)W8[s8I*>s8I*>s8I*=rrdECF8u:>F8Gn:F8Gq9 F8c.F8l4>Erl;^rr;t=rr3.Cs)W8]s8I'Bs)\5?F8l1>F8Pt>F8p<&rr3"?s8I*; rr@->rr@->s8I*=rr@->rrmKDs)\3]qu?Y:rVukrcA&< s)S5@F8Z(;F8u:>F8c.F+OA`rrL[Mrm_(-!<;lF"dB#+s'hJr@K?FY~> !rli"rFH"p!;c]qFoMC@FoMCSc@:Aps8Tk6s/^g'ec5:AFoVJaqu6b@s)iJ_s8I0@s8-s=s8I0? rrR?CFo;7AFoQT,rVuk>q>^G:s8Vt=r;QkAs)iJ_s8I0@s8I0@s8I0?rrdKEFoVL@Fo)+FoD@>FoMC@FoMF@FTMMbrr;t?rr3.Es)iJas8I-Ds)nAAFoMC@Fo21@FoQT,rr3"As8I0= rr@3@rr@3@s8I0?rr@3@rrmQFs)n?aqu?Yrr3(Cs)iJ_s8I0>s8I0?rrI9BrcS8@rcS2> s)eABFo;:=FoVL@FoD@>FoD@>FoMC@Fb0SbrrL^Nrmh.,!<;lG"dK))s(.VsAH;a\~> !rnb6rL3hP!;c]qF8l1>F8l1QU'M%+s8RNIs&T=-XT.ScF8u8]qu6b>s)W8[s8I*>s8-m;s8I*= rrR9AF8Z%?F8p<&rVuk^G8s8Vt;r;Qk?s)W8[s8I*>s8I*>s8I*=rrdECF8u:>F8Gn:F8Gq9 F8c.F8l4>Erl;^rr;t=rr3.Cs)W8]s8I'Bs)\5?F8l1>F8Pt>F8p<&rr3"?s8I*; rr@->rr@->s8I*=rr@->rrmKDs)\3]qu?Y:rVukrcA&< s)S5@F8Z(;F8u:>F8c.F+OA`rrL[Mrm_(-!<;lF"dB#+s-q72RfNJ=~> !rl`!rF,el!;c]qF8l1>F8l1IF8#;)s8Vros8VrmrVlt@s8R0;s8R0?rr[?Bs)\2>$$6.HF8u8] s8R0>rrdECs)W8Ys8R0?rr[?Bs)\2>!-A&;!-A/>#'9hEF8u8]qu?\;s8N1Bs8R0>rs!QEs)\5? F8l1EF8u8]F8u8]rr2t>qu6Y;qu6Y;rr3(As8R0>rr[?Bs)\2>%rt'8O s)W8]s)\5?F8u8]s8R0>rr@-;s8R0?rs!QEs)\5?F8Pt;F8l1AF8u8]rr3(As8R0>rrdECs)W8Y rr@->rr[?Bs)\2>$?Q7IF*%B]F8u8]rr3(As8R0>rs"*=MBF8l1AF8u8]rr3(As8R.ks7H !rli"rFH"p!;c]qFoMC@FoMCKFd[[-s8T+Zs8T+=rVltBs8R6=s8R6Arr[EDs)n>@$$H:JFoVJa s8R6@rrdKEs)iJ]s8R6Arr[EDs)n>@!-S2=!-S;@#'KtGFoVJaqu?\=s8N1Ds8R6@rs!WGs)nAA FoMCGFoVJaFoVJarr2t@qu6Y=qu6Y=rr3(Cs8R6@rr[EDs)n>@%<_^NFoVJas8R4as8R6@rt'>Q s)iJas)nAAFoVJas8R6@rr@3=s8R6Ars!WGs)nAAFo21=FoMCCFoVJarr3(Cs8R6@rrdKEs)iJ] rr@3@rr[EDs)n>@$?cCKF`m`aFoVJarr3(Cs8R6@rs@"*OYDFoMCCFoVJarr3(Cs8R4ms7H !rnb6rL3hP!;c]qF8l1>F8l1IF$C#5s8Q6Cs8Q5arVlt@s8R0;s8R0?rr[?Bs)\2>$$6.HF8u8] s8R0>rrdECs)W8Ys8R0?rr[?Bs)\2>!-A&;!-A/>#'9hEF8u8]qu?\;s8N1Bs8R0>rs!QEs)\5? F8l1EF8u8]F8u8]rr2t>qu6Y;qu6Y;rr3(As8R0>rr[?Bs)\2>%rt'8O s)W8]s)\5?F8u8]s8R0>rr@-;s8R0?rs!QEs)\5?F8Pt;F8l1AF8u8]rr3(As8R0>rrdECs)W8Y rr@->rr[?Bs)\2>$?Q7IF*%B]F8u8]rr3(As8R0>rs"*=MBF8l1AF8u8]rr3(As8R.ks7H !rl`!rF,el!;ZWrF8p=[rtBJOo_\[gq=jdcs8W&rs8R0?s)\);!-A/>"*=MBF8l1GF8u8]s8R0? s)\2>"*=MBF8Gn:F8l1AF8u8]rr2t>qu6Y;rr31Ds8R0?s)\);!-A/>"*=MBF8l1DF8u8]s8R0> rr[?Bs)\2>!-A/>!-A&;!-@o7"*=MBF8Pt;F8Pt>F8u8]rr3(As8R0>rr[?Bs)\2>$$6.HF8u8] s8R0>rr@-;rr@->rs!QEs)\5?F8Pt;F8l1AF8u8]rr3(As8R0>rr[?Bs)\&:!-A&;!-A/>"*=MB F8l1AF8u8]qu6Y;rr3:Gs8R0?s)\5?F8l1AF8u8]rr2t>qu6Y;qu6b>s8R0;rr@->rr[?Bs)Wbk o`"sBs8LONM?*\,q32!^`W'D:rF,d,J,~> !rli"rFH"p!;ZWrFoQU_rtBP;L"$)%WJngcs8V0Ms8R6As)n5=!-S;@"*OYDFoMCIFoVJas8R6A s)n>@"*OYDFo)+@!-S;@!-S2=!-S&9"*OYDFo21=Fo21@FoVJarr3(Cs8R6@rr[EDs)n>@$$H:JFoVJa s8R6@rr@3=rr@3@rs!WGs)nAAFo21=FoMCCFoVJarr3(Cs8R6@rr[EDs)n2 !rnb6rL3hP!;ZWrF8p=[rtBJ%+0PYD>9o?ks8U=*s8R0?s)\);!-A/>"*=MBF8l1GF8u8]s8R0? s)\2>"*=MBF8Gn:F8l1AF8u8]rr2t>qu6Y;rr31Ds8R0?s)\);!-A/>"*=MBF8l1DF8u8]s8R0> rr[?Bs)\2>!-A/>!-A&;!-@o7"*=MBF8Pt;F8Pt>F8u8]rr3(As8R0>rr[?Bs)\2>$$6.HF8u8] s8R0>rr@-;rr@->rs!QEs)\5?F8Pt;F8l1AF8u8]rr3(As8R0>rr[?Bs)\&:!-A&;!-A/>"*=MB F8l1AF8u8]qu6Y;rr3:Gs8R0?s)\5?F8l1AF8u8]rr2t>qu6Y;qu6b>s8R0;rr@->rr[?Bs)Wbk o`"sBs8LONM?*\,q32!^`W)FOrL3feJ,~> !rl`!rF,el!;QQoF8Z%HF8u.1p@n4NoChnrrR9As86s8rr@->rs!QEs)\5?F8Pt;F8l1@F8u:s86s8 rr@-:s8@$=rr@-;rr@-;rr[?Bs)\2>!d"DAr,_o%!2IKF8u8]s8R0?s)\&:!-A/>#'9hE F8u8]qu6b>s8R0>rr@->rr[?Bs)\2>"*=MBF8Gn:F8Pt;F8l1AF8u8]rr3(As8R0;s86s!-A&;!-A/>rH&#=!-A&;r,_o !rli"rFH"p!;QQoFo;7JFoUO&Vl,>tH^L_,kPkJ`FoVJaqu6Y=rr3%Bs8W">s8N7Fs8R6As87$> rr@3FoVIDFoVJarr3(Cs8R6@s87$: rr@3@!d4PCr,r&>!-S;@%!DUMFoVJas8R6As)n2@"*OYDFo)+rrmQF s)nAAr,r&>!-S;@!-S2=!-S;@rH8/?!-S2=r,r&>!-Nkmo`"sCs8LRLM"L`M_Z+28rFH!/J,~> !rnb6rL3hP!;QQoF8Z%HF8sa+?!Sie$pn6;g&D!RF8u8]qu6Y;rr3%@s8W"rrR9As86s8rr@->rs!QEs)\5?F8Pt;F8l1@F8u:s86s8 rr@-:s8@$=rr@-;rr@-;rr[?Bs)\2>!d"DAr,_o%!2IKF8u8]s8R0?s)\&:!-A/>#'9hE F8u8]qu6b>s8R0>rr@->rr[?Bs)\2>"*=MBF8Gn:F8Pt;F8l1AF8u8]rr3(As8R0;s86s!-A&;!-A/>rH&#=!-A&;r,_o !rl`!rF,el!;QQoF8Z%V)l0S(arVlt@s8R0;rr@->rr[?Bs)\);#'9hEF8u8]qu6Y; qYpP:rr3(As8R07rr@->rs!QEs)\5?F8Pt;F8l1AF8u8]qu6b>s8R0>rr[?Bs)\2>!-@o7!-A&; !-A/>"*=MBF8Pt;F8Pt>F8u8]rr3(As8R0;rr@->rs!QEs)\5?F8l1@F8p=Xrr@->rs!QEs)\5? F8Gnrr[?Bs)\2>"*=MBF8Gn:F8Pt;F8l1AF8u8]rr3(As8R0;rr@-;rs!QEs)\5? F8Pt;F8l1>F8Pt>F8u8]rr3(As8R0;rr@-;rr@+ks7H !rli"rFH"p!;QQoFo;7>FoMCGEgCuiH'ZKnrVltBs8R6=rr@3@rr[EDs)n5=#'KtGFoVJaqu6Y= qYpP@!-S&9!-S2= !-S;@"*OYDFo21=Fo21@FoVJarr3(Cs8R6=rr@3@rs!WGs)nAAFoMCBFoQU\rr@3@rs!WGs)nAA Fo)+>FoQU`rr@3@rr[EDs)n>@"*OYDFo)+ !rnb6rL3hP!;QQoF8Z%rr[?Bs)\);#'9hEF8u8]qu6Y; qYpP:rr3(As8R07rr@->rs!QEs)\5?F8Pt;F8l1AF8u8]qu6b>s8R0>rr[?Bs)\2>!-@o7!-A&; !-A/>"*=MBF8Pt;F8Pt>F8u8]rr3(As8R0;rr@->rs!QEs)\5?F8l1@F8p=Xrr@->rs!QEs)\5? F8Gnrr[?Bs)\2>"*=MBF8Gn:F8Pt;F8l1AF8u8]rr3(As8R0;rr@-;rs!QEs)\5? F8Pt;F8l1>F8Pt>F8u8]rr3(As8R0;rr@-;rr@+ks7H !rl`!rF,el!;QQoF8Z%$$6.HF8u8]s8R0> rr[?Bs)\&:s)\5?"*=MBF8l1>F8Pt;F8l1DF8u8]s8R0;s8R0?rr[?Bs)\2>#'9hEF8u8]rr3(A s8R0>rr@->rr@-;rr@-;rr@->rr[?Bs)\2>"*=MBF8l1KF8u8]s8R0?s)W8]s)\2>"*=MBF8l1D F8u8]s8R0>rrR9AF8Gn:F8l1DF8u8]s8R0:rrR9AF8l1>F8l1HF8u8]s8R.]s8R0:rr@->rr[?B s)\2>"*=MBF8l1AF8u8]rr3(As8R0>rs"*=MB F8l1AF8u8]rr2t>JcG9?!S.5LeH:[/s4-uG"dB#+s'hJr@K?FY~> !rli"rFH"p!;QQoFo;7>FoMCGFoVJas8R4arVltBs8R6=s8R6Arr[EDs)n>@$$H:JFoVJas8R6@ rr[EDs)n2@#'KtGFoVJarr3(C s8R6@rr@3@rr@3=rr@3=rr@3@rr[EDs)n>@"*OYDFoMCMFoVJas8R6As)iJas)n>@"*OYDFoMCF FoVJas8R6@rrR?CFo)+@"*OYDFoMCCFoVJarr3(Cs8R6@rs@"*OYD FoMCCFoVJarr2t@JcG9?!S7;MecU^.s47&H"dK))s(.VsAH;a\~> !rnb6rL3hP!;QQoF8Z%$$6.HF8u8]s8R0> rr[?Bs)\&:s)\5?"*=MBF8l1>F8Pt;F8l1DF8u8]s8R0;s8R0?rr[?Bs)\2>#'9hEF8u8]rr3(A s8R0>rr@->rr@-;rr@-;rr@->rr[?Bs)\2>"*=MBF8l1KF8u8]s8R0?s)W8]s)\2>"*=MBF8l1D F8u8]s8R0>rrR9AF8Gn:F8l1DF8u8]s8R0:rrR9AF8l1>F8l1HF8u8]s8R.]s8R0:rr@->rr[?B s)\2>"*=MBF8l1AF8u8]rr3(As8R0>rs"*=MB F8l1AF8u8]rr2t>JcG9?!S.5LeH:[/s4-uG"dB#+s-q72RfNJ=~> !rl`!rF,el!;QQoF8Q":F8c.=Erl;^rVlt@s8R0;rr[?BF*%<[rcA)=s)S>CF*%B]rcA)=!-A#: "*=K`F8c.k8F8l1AF8u8]qu6b>s)W8[s8I*=rr@->s8I*=rr@-=s8I*9rr@-:s8I'As)\5? rcA&s)S5@F8l4=F8l1>F8l1DF8u8]F8p=[rr@-9rr@->rs*WFs)\5?F*%3X!-A)< rcA&CF8u8]q>^G8rVukrr2t>rr;t=rVukrVun=!WR6 s8I'As)\5?rcA& !rli"rFH"p!;QQoFo24Fnu(:FoMCCFoVJaqu6b@s)iJ_s8I0?rr@3@s8I0?rr@3?s8I0;rr@3rcS5?!-S;@s)eABFoMF?FoMC@FoMCFFoVJaFoQU_rr@3;rr@3@rs*]Hs)nAAF`mQ\!-S5> rcS2>s)eJEFoVJaq>^G:rVuk>rr2t@rr2t@rr;t?rVuk>rr31Fs8R4as8W(@rVun?!WR<>rr@3@ s8I-Cs)nAArcS2>rcS5?!-Nkmo`"sCs8LROL]G !rnb6rL3hP!;QQoF8Q":F8c.=Erl;^rVlt@s8R0;rr[?BF*%<[rcA)=s)S>CF*%B]rcA)=!-A#: "*=K`F8c.k8F8l1AF8u8]qu6b>s)W8[s8I*=rr@->s8I*=rr@-=s8I*9rr@-:s8I'As)\5? rcA&s)S5@F8l4=F8l1>F8l1DF8u8]F8p=[rr@-9rr@->rs*WFs)\5?F*%3X!-A)< rcA&CF8u8]q>^G8rVukrr2t>rr;t=rVukrVun=!WR6 s8I'As)\5?rcA& !rl`!rF,el!.k0Rrr@-&rr@+ks+^OSec5X!",[)ts81=NPQ8\As'hJr@K?FY~> !rli"rFH"p!.k0Rrr@3(rr@1ms+^OSf)Pa#",Hros81@OPlS\ !rnb6rL3hP!.k0Rrr@-&rr@+ks+^OSec5X!",[)ts81=NPQ8\As-q72RfNJ=~> !rl`!rF,el!.k0Srr@-&rr@+ks+UIRec5X!"H!2u`W,kd!!*#;!rl`!rF,d,J,~> !rli"rFH"p!.k0Srr@3(rr@1ms+UIRf)Pa#"Gd&p_Z0Pb!!*#8!rli"rFH!/J,~> !rnb6rL3hP!.k0Srr@-&rr@+ks+UIRec5X!"H!2u`W,kd!!*#;!rnb6rL3feJ,~> !rl`!rF,el!.k0Trr@-&rr@+ks+LCQec5X!"H!2u`W,ne!L*T``<-'KS,Hdrs*t~> !rli"rFH"p!.k0Trr@3(rr@1ms+LCQf)Pa#"Gd&p_Z0Sc!L3Za_?0aKRJg[ss*t~> !rnb6rL3hP!.k0Trr@-&rr@+ks+LCQec5X!"H!2u`W,ne!L*T``<-(/bl+"2s*t~> !rl`!rW!"/PQ6:7JcC<$Qi@*:s8LOLM?*Xp!<<&K!!)u:!rl`!rVut.s*t~> !rli"rW!"2PlQC8JcC<$Qi@*;s8LRML]IFk!<<&L!!)u7!rli"rVut1s*t~> !rnb6rW!"hPQ6:7JcC<$Qi@*:s8LOLM?*Xp!<<&K!!)u:!rnb6rVutgs*t~> !<;q*!L*S8s+13$s-N`dec5X!!K$mV` !<;q-!L3Y9s+13$s-N`df)Pa#!JgaT_?Bnies-76_>sW5AH;a\~> !<;qc!L*S8s+13$s-N`dec5X!!K$mV` !<;q*!L*S8s+13$s-N`dec5X!!K$mU`<-(i!;se9s8-7*s*t~> !<;q-!L3Y9s+13$s-N`df)Pa#!JgaS_?0bg!;s\6s8-@-s*t~> !<;qc!L*S8s+13$s-N`dec5X!!K$mU`<-(i!;se9s8/8cs*t~> !<;q*!L*S8s+13$s-N`dec5X!!K$mU`<-((!;se9s8-7*s*t~> !<;q-!L3Y9s+13$s-N`df)Pa#!JgaS_?0b&!;s\6s8-@-s*t~> !<;qc!L*S8s+13$s-N`dec5X!!K$mU`<-((!;se9s8/8cs*t~> !<;q*!L*S8s+13$s-N`dec5X!!K$mT`;fo8`;or8@K?FY~> !<;q-!L3Y9s+13$s-N`df)Pa#!JgaR_>jT5_>sW5AH;a\~> !<;qc!L*S8s+13$s-N`dec5X!!K$mT`;fo8`;or8RfNJ=~> !<;q*!L*S8s+13$s-N`dec5X!!K$mT`;fo8`;or8@K?FY~> !<;q-!L3Y9s+13$s-N`df)Pa#!JgaR_>jT5_>sW5AH;a\~> !<;qc!L*S8s+13$s-N`dec5X!!K$mT`;fo8`;or8RfNJ=~> !<;q*!L*S8eUc8%eX"_cs8LOLM?*=g!<;q*!<7Q~> !<;q-!L3Y9eq)D'es=kes8LRML]I+b!<;q-!<7Q~> !<;qc!L*S8eUc8%eX"_cs8LOLM?*=g!<;qc!<7Q~> !<;q*!0i'7JcC<$PlLa5!/gCJqdKR*J,~> !<;q-!0r-8JcC<$PlLa6!/U7Hqdfd-J,~> !<;qc!0i'7JcC<$PlLa5!/gCJqjRTcJ,~> !<;q*J^o>%J^o>%qdKR*J,~> !<;q-J_#D'J_#D'qdfd-J,~> !<;qcJ^o>%J^o>%qjRTcJ,~> !<;q*J^o>%J^o>%qdKR*J,~> !<;q-J_#D'J_#D'qdfd-J,~> !<;qcJ^o>%J^o>%qjRTcJ,~> !<7UZJRX1>JR\:]!<7Q~> !<7U]JRsCDJS"Lc!<7Q~> !<7V>JX_4[JXc>%!<7Q~> !<;V!JX_4[JX_jmnmVV!J,~> !<;V$JXM(WJXM^inmqh$J,~> !<;VZJ]r\hJ]s>%ns]XZJ,~> !<;V!!1SOKJRX1>Q!s^nnmVV!J,~> !<;V$!1ACLJRsCDQ"9pqnmqh$J,~> !<;VZ!6g"`JX_4[Q(%aRns]XZJ,~> !<;V!!1SOKJRX1>Q!s^nnmVV!J,~> !<;V$!1ACLJRsCDQ"9pqnmqh$J,~> !<;VZ!6g"`JX_4[Q(%aRns]XZJ,~> !<;V!!1SOKJRX1>Q!s^nnmVV!J,~> !<;V$!1ACLJRsCDQ"9pqnmqh$J,~> !<;VZ!6g"`JX_4[Q(%aRns]XZJ,~> !WU,i@Y&!>@Y&"_@KFIJJ,~> !WU#fAV"EDAV"FeAHB[JJ,~> !WU,iRt7&[Rt7('RfUM.J,~> JcC<$JcC<$oDa=~> JcC<$JcC<$oDa=~> JcC<$JcC<$oDa=~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/dlgedit_main.png0000644000076500000240000003641407362407534015741 00000000000000‰PNG  IHDR§¿à#ë pHYs``zxE IDATxÚí{”Õï¿U}xˆ¯`ƒ¼Ä8>FœÚ¶1&qfÈÄI4q´ÛĺZ‘kd ̺wë®Ü»fM‡kÆøBû&&“QNŒ‰ nL‚c„š¶¯šLL¼ŽÐøì$ t÷©}ÿ¨Ã¡¨Sµk×»êÔ÷³Zס»öþí]¿ïþí]µKB€B‘¢Ó„B¨„B" `ó/6?ö­Ú‚Bˆ[oš½à²4!Ä­·?ª~fûüšBrMÏö~õƒ{ä¶jlëe!„dŠîµ‹»¯õ{ç-!„P-!„¤¢†"„\` ’y sZƒBH¡p{î©$‘Š>F„BHF¢(„B—RD<¬¬€ÉÔˆJél7F6O¬¿’÷ –óˆnÞ¢¥už’ðñÕÂqÄ)ÁpsÖÉCÅûÊvŠâ‘!ÇÄTr(™U,²['QÅzž´õ/Ý·cn}Õ—ßÄ“”®H åVïŽ#Ï Œ÷2bö[bOù_ÂÇÛ¨¾oÑ>¿Å:÷m{—[29¡ò¦7‰*pi¼·©³`ÛÄzúâ€LåŠï[Dû;³<ð ƒ"(©¡S#ÄÓ¿Ô&Nù[þÛ†çÒ°ÉÓ³½ŸjA!Y¡¦ü|µ£ZpÅrBIG*LìyÖX#EÇíT BIG*²¦rJžQ!„ÉfHP-êW¥%„ ¹Ó ™Z,_¶€5J!ñ0ÇLóK«„B‚ƳϟMÓBHÑÐ4Íí3Ý®³Ü;h8B!&‰"„7n¤ZBalA!„jA!„jA!$ø['jÎì9¶-;v˜Ûm?"Áv9kÊò E›hKa+Hf³M!ÁÕÂÍÓÅçãÜ"_^•@É;ÑŒDÕwŸÍæ_„>·–š5Yù…÷Ö¶¸%_)-fËO}Þ$E „,ÆêÞ°Ö¡Žu€E~!ǽÖi•ÂT>É8žâF^B2ªV›?&Ö`%V'`jW—îÉ H© „dT-ÔÝSbã$±^(’ÄCútÇyr‰ÒBHúj‘˜‹T÷¤Öš•Bq4É­€‰"„$Iï[DåÄ#÷Œn“ó D0¶ç»ü&ÎùmBHƒÄVÆÅ{N“Ø.dSÇlX‡qlçºmŒ°ò¤êѱ€‰"„$Œ&„¸õöGÛç·˜ŸŠ5yì‘Û ²b9Gr!ÄdãÆKï\Úµxm½" ˜+p‡BüR*`™£_"„ªEã ëžBÔá´„B¨„B¢@6%ÿF+!„¢«…¦i4 !„µà$0!„“{×lvÜÎy B!ÞP-!„P-!„Dó¼ÅìógÖ"š¦ !Ø2h4ÂÖRT8oA!$(T B!T B!T B!T B!T B!T B!T B!T B!„jA!„jA!„jA!„jA!$›”hBI‹ž¾uüq?8sìÐ)‡ðÛ!¼þvó¡æÏ}¬ë1ªE©ÿ¹m WW¦Ñ‰œÿØúäèK]›u¬Ã(0ŠS*8Å~Ú¹ã&v³ÏÀœSî}þú×4ýœK;²“gÎ[Bbï[˜ÿ¯§°a¨øÅíǃe|¸ëè¾ PÁÄ1†±~I¦òLµ8ÚSf™F#$úþå/Ï=ñw8ŒêßóxoËÑÝ#ÀDgŸ°¯¯û¯©„ö- Ú·8þÍaÕÀâð!0ŠcÔbB@}Ü?ÎN¶9oqLk®µ]ö‘i4Bbâ4±‡h:Òc·Þ7Ã0 BÓð6Õ‚¾EAû´a1Íô#jQ9º·*†nú}4;ÙæH”C°Ì>2FH|ü¾r‚aèÆ(ÄÄaˆaÀ°ªEÉ” aèF§ZBØ·((¿wŽaè†QªºaèFE·Ã07ºaè¿›p&Õ"Á2¡Ñ‰žYך"aTJFE7 ]ýµ-™j¡MvrÍy‹*Ö6j¿é½ŒvOýo!VÒ2„} g\ù_ßø×|økM«vÙ­Ýv£¢ C7€÷ÆœÖÕ_¦ZdN'Ü^K¦fHtÂ" +Ýw™ñW?xè‰kÇî?¢¢ÇÄ•Ñ1û+Í'ßðµLå¹Ä,i¯æ.v…ê¥B"æ.ù1„²‚wÈ&žû±¾øôþïÿõ„};5`ô?· a¾cÑôûý'œxÎÄ/~uâyS-ò!ŒH…U3(„2 'Ó~ÒÊmoÿäÑÃ/­oÚøCýÐwŒñ'VN=wÜgþû™Ÿº-ƒ.±«@Áð% ™"S?u2© õèlľƒRáÓh+­3á„wï¯üÂ'híí›M6˜Ð„2ªEQÚ±¹]Òd‹ÜšÝ M»G. /ˆ[WŒÚ@µÈ½„°ã§?¸’3ijCæÙã­Gµ „P<Ø£ZB¡ZB!T B!T ŸX‡Sù"!ÉÜt4Õ"7ÂP¿]"EV‘ÀÂòunâÖs›îæ4x6á´ììD£%4±úz[ת&ò[¬v©el‘õðB¥Yü† ,Цµ÷*o:Ûvùjƒµ÷3¸ÂÕ"O‚A© ”ŠB‰„M'¢êQ6¨y JEÁ T-˜ptô¡:d¯wãçWà‰IxTÃ7'‰g>-^}Œ²‘"EŸ·§òÛyrÁp[9 œÉht‘¨Ý>*÷—çaöcööcûœ·guáŒ.€~؉þ‡ÄÛ/bJ 8·AµHE0àò[¡D0à²ô,u¢áuÂ×}á»C¶·¿º ·9¤õ™uxºÓxb¡ö…gµ)-õÏVñ†¥Z$§ณÍ &¢ìmY‚ãÏ€×ËÕ-NÃÔv8·—¯ÆÏVÿvGÓ-[o^võ¨„|¡:d¿îÆ;½˜°?ïįË0€ pÜ \QÆ´v¸x¹øé*1Øg¼ôMý›%ÚÀ#rø.7!ÄY'$ÃÆÅ¯Ë~7ˆ×ʨ£@Ø7ˆv[$BÀØñ]OqâÃTŒ-!ñ©uÉßîÅÈ‘9m0€Q`j¦]bî7¶®BBƒ}bFT BH4:‘²'Ý?¨˜âÀ'×ङÄàcÛ×ÌØBÜë7mÊÕ‚’Û`Âîšqp¨ªŽŸÏ•1£Ý”ŠÊ7.:„ŽñÍ/BÙç-)®NHÞ­K‡I­F! ˆ jRal]Syꋆaèfl¡OŸþjœÛ`lAÉI0aã¼ã7pâLýóOÚB sºBÂÐõ?¼6ÂË2Ú ZBì:‘i?8· />‚“Ï0¥€ØÝ£ÍºÐa@tã•§µÓZK-7Åq}ÊÕ‚ùp|Ú½÷×þ©·-CÛ1|ø›ÓÇ^ùµ¸³AÙ ZÂ`"Ûyžr¡Þ¾Êxýç8T}êITÿ×<îæéÓæ&–ÊÕ‚YÍó9Zó9•þÇ+O»ûĽ8~¢>½µiö5¥9ŸL+W” ª! &²HSË¢¦–EÌXaeƒjAƒ BÙ ZÂ`‚P6¨„0˜ 5²,TGT BL¸d£‘¤jAu‚$pä´©„ä@$¨” ª!„Áe#µLµpø\°m oWÂ`‚·eƒjs½bÇJ’}@˜¼ÅŠ$T BLÊÕ"D߇½Â`‚·eƒjAƒ BÙ Z„îû°×CLð£lP-a0A(T‹Ð}özƒ Þb” ª! &eƒjQ߇¦ &x‹M6äUCµ°wÙ1$Š7ƒ ŸÆ¼çÈÏ»k¿…XIË$#ŠSÓ´®Åk©¾;ƒì'R*<ƒDQ'…A²‹D+ž}šZS¿õöG©¾;æ.ÎlÔ‰0R!s—ü_Àá«õ–èTLLÁÈ{ÇÖÑI)Þ`¶Úç STRa­ Föe£TàvìC(ùÕ‰ ’%ð(‘K##²áÙ°KEmǾ]?£‘\•d¤¾–ͪ§NÄ'Œ\ Ó6OQ¿?iTWeº'Ån¥"ªªq$T‹<æöZGÒ-¼`£i¤^m½`°êã«s»ÄæŠÕA’q‰T o{Ñ5D*lŠ#‰U U!ƒ°Õ‚ÝUÉÝ“y“hîÀé‹¡„4âXÜãÛy¤ñ‹Úv·„X©i|GŒŒ-H$„ „P-!„P-âÇ:³ÍÙNBb¸ÅŽv|¯‚j‘?a¨ß.‘ ª!~…¡~»D*¨"Y†³ÜvÁ ‰UHhÆ^H``Ñý\v]S/¤·k‡j‘Á TäÚCq$û‚Á* Z4‚`P*ÃsÑeV0(T‹Œbûô äewù¤7É{–®*±q«yÌG2Eáf¹×£†Ë¢õ:AñÈ‹{Rt@tUÉÔB–ŠP-R– ‰0¸FÁhÁ T$¯ìrQ-ò->=#7‚@ßÎ#„W-¢õïŒuf9BÕ"© `äQ3ÀBÂÑøÏDÅç#øÑ$BÕ‚RAÁ „b¨E2# BÕ‚RAÁ „ÆU‹äç3)„ª¥‚‚A¡ZP* Ê !„j‘¨$dP*<ƒRA¡ZdE0²€£`˜JÆÑ*BÕ"9pt»™zS×–=¾EL¡ZdÂ#gÐײG© „P-2á‘3ëŽ×’â`!„j;nß2ÊKn !$§”hJEW| +ˆAS-Üüo—燫'ƒÄδ?+‚øEo¤æÈ¨‚B¨ù Î`g¿UPÎY¤‘ÕB±a¥î¬kä""„Or?Ëmõ¹™z;Ï–=ö¡ÒíÕZk„uÁŠ R‹¼xaÊ!„j‰Ó¿ÇÉî¬×ÛÐMî|®£l°{•p¯–gEü©…©õÂà¶«ašW½lSPBi|µÐ´{$îÏÜe=¦!»!õ…ò« $@¯–¦`Eܨ…\*¬š¡xdcàWA‰²aµúßôV¬â=ñãÃß™‚A©( A¢rOµõímÈŸo&¬’²ZèÁ?RAcòP¦?r1#¿LÅŠ ÙŽ-ÜÜea= 4>¥`Iú)VÉžZ¸¹Es»ÄÓ9YA“ñPôS¬’§ØâØŸ § TÐt=ý+‚äF-41çEOÄŠ T BdýÙÚD«›Ÿb¯–A¨„žë¨ç¢3bEª!„ÆU ë¸<_T&„ª…ë„­¹]"ES*(!$ƒdâû…uˆnkaÕƒ J)\l@σÖ-šï[°FaÉ£ª\ý”Aò¡~£RAÉÕo—x(:/VÉœZ¨ûÇâøD*h2þ‹nˆAr¦°Ìl»9Ä"ÏlS*âèÕJ­Êþ,+‚xSJ¯1U?ïsdÃ*ànë®âÝ]+ùí¼ý”¢ß¡‡Šë;Û¬ªE”š@ÓVÑÚôn`U¡H„‚A‡NÀòEɨ‘jѼÖwz1 Ü‹ïÄóø÷NlìÀ»Áv÷âånZ‹DëGÒêæ×–#d-¤Ø Zäß”1 omÅ0  VÅoõÀ ˆ_–i-­IqD¨¶”ë"­¨‘óycO/F-*ÿ§ëàøÓ0¥½*?ìÀ(„€1Ø×Ds‘DüHÂA§1R©bªEÞØ?ýˆZhÀ™ÇNt°{…€!tqpˆÖ"á2öê;#­ÞG¢òF©¹:5 ^+ãWeüªŒý»à¼qùjÃÐ…1~2­EÂ;‘ úeI¥82¶Èbr«öÿ6úïwÂ1­Mû“5˜Ñ®]¼\ûà-cË}Ú´Vš‹$àDa¤–[äY× 1¥]œÝ!*0 úÑ:ŸÑ.„®ßAk‘`$Ž˜FÂÆy«à¹·/>„=½Zë2íüãéN@€~ñßh3.11vmÅ´Ö¦–E4i°‚FŠMµÈú~ûÏ4@ô«×ÕPéÿö˜›7ÐP¤±¥‚‚‘pE—RÌ®|K«ÿžºOsÛ¶¬4?®7åÂÒ ÿgôGwB3(€‘òÚ´Ö17oЧÎå-AüÞ9½é<ƒr‰5J¬àÂVíJ±òíž•Nß˳mצ^8æ¶*ýWž»{Ň{q\³>c^éªGJ-7ñ~`Ä×=ÕwœÜŸð^ˆ¤®9•cšZqr‚=EÑð¦p,cmKqj\RÒFÐS¯]õá…<° $*·Ò`·›Í¥Ö™8†Sá­Á'hI㇠,Ük虺™9U^0° ô¤Ši+`Ñ^ΰ–7ªêflAŠ^3°{RÒÀ-?ÂêÖ³s3³ׇ , ¯‘ /;¦ÏØ‚(¼(x`Q§ÉNg|èÙ¹™YÇõá «|R*Ø9P'å÷-´¯)Æ?ý-¾\hÙ¨Uíݸ»ö›RÊ ­îéj©KQ@¿©âco»º±¯ŒJ/>‡͘Њé8³«1z+|UsÉ®"4wk¥®ÄJ·]$€ɯúš:á" ®»äi¼—-lÕhéööã¥%8o%fta|‡¨oý'ãgä]0‚ªÅ®n –1Ô‹ƒCЛqr+>ÚsT%Tûª&s—ü˜¢ÑE{5&õUÙ•M©ˆ¹ËzŒµÔ÷¸» YK—\çà·ýظ´#Ÿ 8îØÞø¾‹É-©x¨"Nÿj±¯ÿw ~Û 0€³—á”vÀžºØÓ"Š2 ¾,Š#ŠµÈ žª¯\*¬šaŒ"hƒ¢rØçz¿Ëi ë+jÖ{a >ÂØZœÑƒC»«²^ôàÍðÅm)Ö‰DííÇó 1<pZZþéèÞwâ©…ø‹gqjKH©(”`øòYŒB©¯¢T؃ÍC%à°ë„£0HvÕØÙ·{1¨%üÚì*£Œ#G>Š|âånmnW2í?޾‚OµØ²†ª¿OiÃ¥Ç~\¡†%X´-¼TD0x+ FAÔ×—T8FD®U=ˆ¹K~Ì/Ë9vËIm˜àíÍ80ˆ`0€eøQ Ňj«FFF„V‹×ºñV/t@&µá²²ý€Q`bO/^þ†6÷F)ê´¶g@õus"”„Ë€U3$GöÚÕbÖòêwz°7úîÅ›[ cO_)t;îJ¦ûyßâµ2Fa`F>³ÇÏDÏßâ7Í0 „вz`an7cIxQ(׿¶4˜ÍÁñf÷eê|YÌ-D82Ö´Ò±ãY /Xã‘I…U0 þû¡ªc<\·oJ;ÎîÀekDÂÐŽêUïÖ¨¯ýÄV‡ô£{z1ÌY†?=2Õ·†¥S-` ö©G5 i`U,!Tª¯›„P’“ ©`ã&`8¬Ñ°FÃ}ž¼¿*cÿ.˜Þ.¦µ†.ÆMÜKÈBŸÀZìÂ0pjû©¸#€°@¯þbk$T_’W!ñƒ˜ÚfºaèFâðÙxc«ø^§ÜR=èâåBè˜Þ‰T¤%~Ô¢ÔŒ³:pNìéÁàVœÙãO;šûYbj»aã'³ÉBrXÜ¥yH…Sx¡Íê0*zÅЊ.Îë¨TôŠ¡W*º˜ÖŽgqŽ0 ]Ÿ}mTR‘Š`ø˜åSZQ9òØôv\Õn; éê'Œ§*ß½^ó’PBɵ' üÐÔ²¨Ò÷ˆ±§WÓôÒÕë*ƪ޿ío´—˜¿+»¶aZk©å¦@ÁqVjðóLÔ¬ëDÿ#ØY†vtJ›q Nªê§1ð”±{«ziö5lx„‚PúìÃßüsqh@Ó5OØöŽnþÚHÿ¿Ž¿ùG‹Úv·’|fÚ‡Zhso1¶?b|ïzKFÑtÍúµ.ßmzkSË"ÕxÅò:EÑ–úp.E?=OÔGäîƒ$>uîØ›<üÌ_¼ëøq×=nÝsèÉEúŒùão^¯O» @Ta{¨!Ý÷÷vžþçŽ|ë ²Lb3Ë ×<öªû=…¡~;Üß·h`q{Ò¿6ë&T‘†W_7ïPªvsT‘´cüíÏô}{¸ï_ŒÁÅ!mB³>㢱Ÿ{h̼$„ò§uS/sÓ†‘}I ö™÷œ±kkíîÓ¦·½òkúÔ¹¾o †N>ŽF úº ë:›Œ™wã˜y76¬"úަÎ{Û ¥«ÖÏúÆ7oúúð—¼ømqèÃñ·?§O›+W¿oT4üðT€g:X³sîŒà‰$+±E¦–Eê“õ‚¡(™Éðµò¥"Bcfߤ¾F«)ªÈWòì¬ÂÆÜjF¡&½# JEäáZöMªaP*¢Ô’ìU}ê7oçÉg¶‹¹È |l‹ ÆaäE}å3Û\d0¡ð"ÎÀ"5¤ö¥ÕÚS³n»ŠéãàòyaêDÁÕ·öÔ¬Û.¯`¤7•ú-¥||Yä«——˜fX-ÞÈ©´XÇo©’Ø#©ðFEÂÃS¥ÕìÀÎ6oBHô‚ßÎKI0’ŸÉ(±µâ—7Ò %÷]îÄ#•Ioª!„dñQ¨¬=Ô@µ „lQ÷PÃ*ànë®T ZBHv5€¦­Ê“Qz®­9göœ„¯âö[rV2™LÆŒŽG†<½ÈM‹¡Ó„B ªsfϱõ Í-*Ã\1XR’ØÅ–¦gdcnt<Ëë8fUÝ>n%U ¼T.¤n·Ä=Ï’l¤_ ¤žœ·˜3{ÎŽŽ?<7:²c`Gýn§Ë“ P ¿i+µ¢Ñ܈¼v‚ÙÄš¦ü,ϲÓ5RˆØ¢æåãСŒ»ÇR{š¢þ·SBZUýB)V}Y"„±EÝ¥éЭ÷|ÈéY!‰6žÈH”–LAê/T‹çlI±×OÕ"ú®¥ÕÑëq×;/¸ L…ñòŽ fA*¬c5ñÄ×…Øë'$-p$JñÁÖ,a®~¦= ôÔžµœµJ$„±Eú…m$Ê:٠߬g?Zîåy–LŸ8ÄyfÕÓh¶ÐJž¾/º](€í£^û*æM‹úuìm[¸$-‰½ !n½ýÑöù-=Ûûk[{ä¶ä[¿úÖßkÐÊ;Ëá‡Y²0¢•‘QµX³±qãÆ¥w.MØA»­RÎÕËßM'[ÅnŠÚH”YxáD£v”â–ŠŒ—1™«Ó³\'*9( XXqH08~>–E£ò-©Tz‰­?³*’nR¹»z£Š) ’˧è!¹N!9sƒý²IDAT" ,HÕ‚­ŸB<}c<$c‹(iȵ»åyPúµÜãX2=îkRw"ìZ‘©[^ˆ|J ª9WAŠ^¤î!ákHòµ¸¦v[4[}QkÅ…Á%½]Åü»eÌ-MϤ{úŽ •Ë ’Ukânÿ÷Œä¥P\b=€a3åDص" SÊ{ë°@w˜Õ¹%ëu[ßCV\…Ûתà!— ÷µºâÊáž ƒ×gÕí­õK²«d,@n³v»ÚzšµÛ‡Ž¬±Ã‹ŒôôÔ[¿‰íwT£aöÊH÷½ë¸™bú*‡¥2~xÉÌj™·†ãÛ¬îBò[˜íÛíâ`=&ʼnMùJGžÞ$ð¹Qå?AŠ*ÿ™ÍyŽf¼åýJsǦ>¼(¨ZÄÔú%S³y‡0£ QT8ŽÉDÒÛMk ôðWL2çy™W¼8™ÑxdmàQÏxë£Û²·­Ã öôgäýâh×9O½Ûî+JËráKÂÜ2$kõžÁÇRö[¿âñ* S['Záµ~µü*ò‰k¿ º¢¾À¸JàÕÝê ƒK¼¹Ûu˜ðBž±À¹Í…T0Âh$©ÈæÀc¢+–+aí¬X±<ªŽ³ŠƒËïb…ÙÏy2+–KV ’ŒHP-X*’©èÌ­Xîy±­Çá6^ΓŠÚˆ„$¼ [*R©h= †ðŒ¼Øú)Äv§ð¾(²T¤Òô<Ú¨à„yM$ïE#¤€*’‘nAúoçQ*!”„ì<ê4!„¬ ÷,&·¤•A?jѳ‡‡0X†Œš`ÆwNi€ÊpÇÄŸxŽu¨Š$3jßÀKà‚µP9²6d;8̹1ÅÁFübmZJ"ñ²i ~?„O®«þóýØI—àø™°pîÓð“%¸a[ÈÀÂqa'•ðBy–û?ºñN/*ÀæNlëÄÖ#Û:a á»=xéÞÓǼƒWº“ïŠÆ7|¿[>Ñìt«£—8ý0ç¦dÄZwœ &ñ²³{z1TŽlyu ~Ö‰Ÿuàžê–QˆÝ½âåo„¼ÔÒ;—ÖÿE[¼V†T€Q€8¥ ¸ÍíðÌ à—e\ÐåÅÃ}†S~¤ú˜€Ä¯©¸HëðºuJÖïP•JAÔ=Ü2ãv¹`c,© ³8^Ý-KŠ ÆÑ\ajD^)*9—Ç:„à—eŒðNÎì€O®ÃHguêÀž1 aemî-Á.b®óá@xÎ[hæRíó[z¶÷×¶^ôG‡—Þ¹ô˜u¢™c%`,Ð4“Ú° Œ 3àÕ{ñ ‡!Æ6ký~#<ÑL¶’¾> ÃCÐ8§Ÿ^wÌÞ==âûbß º1nò˜åo{¦7°sÀú¼õϬ_õw«äKÿiš¶éùM .[P¯=r›ŸØbÿÆZ†¯š€1§W¥âÝô¯Á0a@Ü«ÑMV=!ʈýCš†ªZì(ãÓÇî>á4qÂéâwo†.î s¡0_ºSV‹1ͪ>ÎÕLlÃ'ލßw`F! c›uú ’鎭cÜdíÐ{Ц´i‹¶À`øÙ2\¼\›~ Nš©/Ú<Úý11Ø‹ñÍqd@å›Fªj!¦´â š9uÑ\°¼º£ÿ^®ê„0 „Žém±:‚# ,4ÉSl1µU¼¾A?­Mûü“UýضFìîÅî/`z[Ó-›è—,«”oÔ¦µ¦•IÕ0@̺Nº¨ÃÀ8»öô` Œaˆ „¡†nº>ëZÖ=!„øpij: £$N8'ͬnšÞnTjµO/C@Ÿ“šƒUU ýÂ[Ä”6ÃÐ+†.¦V£±uñæÖÊBSÛô–›Y÷„â÷܌i­†qÔ!ëmËp^ÎëhúÔ=æ–Ê›½˜ÞVj¹)ëj@ÿóq“Š®]\†2uϨQ‹q“KŸ}€O!~)}öãý_»¶Ö¶ŒéøÎ˜Žïè§µÙüÏ£ýßwå×ÒÌ¡ú¡ÚÔ çßóNïÿ¼ÔxªªûöC7ÊÒ¦·–>û@Ó´ ¿ÏªiZT_r­%%OÓq¯Û)²a‰"§ÞD¾¬‘…œ'csõý^:ËÍ#>+Ó>{îS玹º{ø™¿2v÷Ž»îÛæF@àЋšN›?þ–õú´ ò¡^~co{¡Òÿxeà©÷_ÞpÊ]?Y›1ï¶{üxÿ i•!d#«o¦š¦5XCÌï}ÈÃV´)ãon¤ïÛÃÛ¿e ¾(aBsÓŒyc?ÿÐØù7¤ý8§©eQSË¢7u²ßºI{¼ÎÛZ«¿æk[I÷VÒzÌSlé[7Ö~Ûö†”[–$é{–]¢U¶ßê•§c3ˆbyýÁ-jq+ˆõxûÔW½­»¯£Xê¶uläêW‰¶²Âß¼µ‚(6oyñ‹À˜y7Ž™wcÇÊüê¿ÜOyz˜¿Ýü—Š—wkè~}¢Û‰Öƪ˜%_e÷î$¡+‚í÷<7˜}lg…¿ßë=rL¶U\ Ör|UVÈ›×Ñbž™ \|oèƧ8Þ3õµ«^ß*G&Üz|].Å–íXn¶`E¨¥xzÈ«D~J$Vò¬‚Hn„ð ?ámhëØqT*$ô]nõ¾X´sŠwQ­»$¯ƒ¥¯X¢ŒO’g?qÏtêx$3}ùUÂ$èxn7oãM R-<ÆmÇ+C`Ä,¼ÞX[ÕÓ÷ìsE«&*Ò™¢JÒŠ3:0«‹†ÉIlq—¦º1Bjé¸ú]i?’!ϳzö|ä.-ý‚‡©ßTšYFÚFLÖK½8¾²÷A?~q1¶ßŠC{1ÿA\º—<ˆs»ðó[ñäÅx·ŸŽ›±… _i¸Y²XKt—–3‹}¥¨³ ‘¼ñ¬·¯›âЮ®+Ú§Öá‡X·ÏbJ Ýw¶c _ýYs‹u£ù[åÈú^‰õÿŽ»ä騲á–yéTR–\Ñ3àðŒ Tý^ëFI:Á2ãyz`ãÈ·ÃTL§b¿–Öi53OÚÎK±E)¶%u£©4y„áYü«5ðè¿ÞwzqzšÛ«[vÜ‹M+0¹ ík0µó–‹gW`O¯ñÒ7ô o¡Ïal¡Þ¾ãs.*Ž8X"òÓkŽÆí¢Q9kéøõeáGÌbjfkʳa¨çGr@ëÅ]Åê÷{K¾^Æ(0jÙòÖVÀàVìß]ÝòùuB@ì,Ó}ç3¶ßgL2úì]ËXs¹BfLÝbùc"ÏsczN!áX-;6»#@Ųå‚eøes—aê%µmB@ ö5ÑQ-"i²¶øW2„% Tä|&y–¯°)B‡ÒDÉ·.õÏ1zÅ#°^ÜUàYXI~? ÜŒwz0¥¦´ãÏÖaê%8qæ­€º8¸—î;a;/•^cyD÷Сµõ‡¿U&'Ó 2§‰‰R,c€s#lÌÑ6°›‡ç-Yjưo¿*ãµ#cMS/Áà|°Ë[`|3Ýw£ÄÖÖ`ë×ÛÆ|ÜŽT­¼’xÂñ0·\IÊǽªb¿¦óLSý¢Ž5èfÀø†\4_­+¤m ¬~oÜ]{õdcªV•;±>Öš[ñÆضXƒs: ö½)ölÕ>¿N;i&!t!tmz+ÝwÂhBˆ[o´}~KÏö£ï¼\ôG‡—Þ¹4úåÀr=ü]XXk iºlæí•nüøV˜Þ&öl…€pÂLíê'µÕ§¤eœú˜«njYÄ&æÆÀÎÙçÏØ9`þsý3ëWýÝ*!Dm‹7.½sé¦ç7-¸lA½"<öÈmàÊ„RQD‹e6“t/>‚·¶j­Ë±³\ÍâôöšT»· ¡kÓZ)ÉCµ ”ŠH 3öÅj´O?l|g¡& ]½Î6øeìÞ:R¾ã›Ç\u?Z£«]Oîi<»e;{Ú” õ럭¬¿C‡KNG7ßgìîÕ¦·ŽýâýúÔ¹leŒ-!EG›ra©ks¥ÿqcgYìê3íÕÆ7k3æ•>÷H©å&Ú‡jA!GijYÄɉLÁ¯!’uV¬ZA#œ©…b«­¦ÞÊýÞñ¥øNv¼üên§˜ž§¸ýS#1™+¾d£J9ªF¹…W¬Z±úîÕž— ÿt•/LÎS)c}c ™Üu8/æ}À5Ø~¹­Ø„òkŠ\äܱ±íöÔØOÒÙ±u{ë5Ùº±þÅNt°”=Tï¿{¶>'Á:¤ª&Â4mÅô[5nµà–U·Z¤)I'ÉFë÷~Q)©âå<y°€UåvP¯_[éäÿW¹ß}µö͸þDI>Õ«2¯C‹Bˆ®Åk×>¼½kñÚÚßý_¿ßÜecùÊån?Ü“Ÿ"IÇñ°Úï0)«)ß °’½ž9ôU òRH’•—ÑfvE£EX Љ«_£ –¸Ê*)»5*õ6ìv°æY=Ù0ª~{†iÆá›‡¢Cˆƒ;Ìÿ›wÿãݦK¯m±ý™>Óó›ÁL3ì,·g,8|[}÷jG‘¯žÁÀPžǽ‡SÌë¤HÌÉ C€†8åøm$ ­äÇè/SÂ$¬ÇѪó8ŠU l/ÓOötñ /6ÀØwÈ\¥ç†l‘¹>™m´©Ø'™Û!£E>Š[Àæ¯ZÔn¹ÆµMäªw¢=/¤ž²b‚‰9V¿öÚ)ާg¤\Iб¤o[&Ðh³Ö¨<£Þ8j*£E’íð(ÂŒ·¸Hö¶6¿‚­W`Ó¤Õ×Þ‹M“°õ ¼Ñ² S÷ï±6w[âQ3I¿¦þ8o¬Y•<Ž™/ŸäÈa¬ÏS$S_EȈŠû}Í ñc × ~¨½K®;»ï“éÀž!¼·»7üÕÙS0tš[¬íتáÅÀWÊŽý/ëéõ%•4ÓHrɳ³Ž¥ˆoØÁÑ>ŽÍÃ1’¦¸$ãNž#Qƒ„l´r+©—ÔW•Õò©r¡ou£ÕÇ–a·FåiÃm;LT½*K‘—gÁ#ý¾Åûýø·…І0œLûCÀa@4ãŠg1©%#…/ø |Ÿƒ4j{V–F²@æ¿oñ³%8álœòÇ(%àƒÍxopbN9£À®ÍøÙ\·÷‹OØ(…‰ràånìéÅUëpVGuKO'ö”qö2œ³ fÀÛ=xn^îÆÜ.Þéƒ4êí@©ˆ‰ÈV;˶ߋwzª›FOlÆ…ÿ„ 3ñóN¼t/¦¶ã [Ä»¯ÒW®-PÐØÂØÓ§W ½¹ìÆ€ÖŒIíðl'^+c¤Œñ§ã¼L<—v'„¢ªÅ½Ðu†fÙtü¹GƒŒÃÀ(Ì/aióþ íN!ù"ìŠåµ-bÜdÃÐ C?ú UM6†!Ã…õ«0 };ìùå8–óCèÅ£Zw,Žgº£zŠ?òÂòeÚWóޤQñKŒ-¢`Z«ñúúI˜a7 CBסkkʨ^Éø„[ÖòÖØ#ξ§É¡y’hla{%ÇÚõ9׆^©”j+Šƒ{«? ½RÑ+•jØ!¼¸‹­²2¤«»Û)ž9 \"Å‚[œ\qp(¬Yln_kÔËmè¶‚´<ÍÈ×âV/{°Óáyv_mF}#).¾V,—¯„|ðáOøû £¯~×Ü2¼î‹•][j¿G6ß'_iÙqmá‹c«,ª¬¾x˜UÁÔ(ðrÍ1-OÉ*ÜÁÌë¢èQ­Å~ýóHVóö¼ÝBn$Y&ŽË}DÕÞ¯mÇ^ùχþ÷•Gc ¡?yc©ý/›æüŘŽï0ûpâtý¤i©Œ0HÖ<ÈרBøUF _{YeˆœŽ;…_J=À:öar빞f‘Gö€7&7oá¶ JÓ´ ÆÝ¼~xóC#¯>­•ÿìûßýñkzå8yÆPeâÔ?¹³¤&’Qˆ‹5…d.”…¹ý8Œëz¨™%™æñÏ_“øÐ´PÇ—»4cN©ãŸ»—_󹳯ìÓŇ'jÇMl2fwÆgÿ×÷¶­¾!웉}£8/GÈ×Vãp!×CŒ£¯—þrÍÛWí3Îh06=¿)Ìézyhúƒæ;?õvÜ3æúSÿaGóßõ½mšu2½°H.”X‰Òʧ¯/Bçºgà‘$­-?,¦¨ÚïZ¹$›,¸lÁG&}dÁe êÿú_é¿ôã—&[„_ߨ-Aϵ¬m®ú]ZýBòÂF~¡¸³¯E­³xn·5Ì»¤¸—¦WLÊËVû:]¥¦Tæ-ÂÔ>ŸÄÍ5›±yÁe —¡5 õÈŠrÅrB¢èÚsÒ‚(xœV,7$¯W‹Úråfüá¶b¹N³J!Å /fŸ?;@`Aµ ” B úµGç-º×.6t-^K ’ä‰Ã­S*©/¬ãQnE½"TÕ¢g{?E‚BX¸)G¢!¤pá…9{¡8cAµ „ªP-!¤ˆá…¯À‚jA!D ٻ܎¯üBiü.åª|‘›B†ð.ÝY-.¿ür„Ò|æªÏ„w霷 „4¶¸wÍfš†Bˆ‡ZHhŸßB«BH®±.1—Z» !„ŒÐ½vq€¥ž8oA!„jA!$ 4!Äæ_l~ì[|^–Bˆ[oš½à²Uµ 9!„Èùÿ5*„(߉ûXIEND®B`‚adonthell-0.3.5/doc/dlgedit/dlgedit_run.eps0000644000076500000240000035544607362407534015635 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner %%Title: /home/kai/adonthell/adonthell-src/doc/dlgedit/dlgedit_run.eps %%CreationDate: Sun Oct 14 23:48:57 2001 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 0 0 293 252 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 0.000028 0.000028 translate % Translate to begin of first scanline 0.000000 251.280000 translate 292.320000 -251.280000 scale % Image geometry 406 349 8 % Transformation matrix [ 406 0 0 349 0 0 ] % Strings to hold RGB-samples per scanline /rstr 406 string def /gstr 406 string def /bstr 406 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 120595 ASCII Bytes colorimage JcC<$JcG'9J,~> JcC<$JcG'9J,~> JcC<$JcG'9J,~> !WU,i@Y&!>@ddb,`W(G~> !WU#fAV"EDAaa12_Z,,~> !WU,iRt7&[S*ugI`W(G~> !<7UZJRX1>m:$(qJ,~> !<7U]JRsCDm:?:tJ,~> !<7V>JX_4[m@++UJ,~> !<<%-JcC<$JcG<@s'c!.J,~> !<<%0JcC<$JcG<@s()31J,~> !<<%fJcC<$JcG<@s-j#gJ,~> "TMq?s8RYoJ]r\ho?@5D!<7Q~> "TN%Es8RYqJ^/hlo?RAI!<7Q~> !rnaZJcC<$JcG9?s-j#gJ,~> "92h>s+/CFb^n"/bl;,Ps*t~> "92qDs+/IHc@O:3cMqGUs*t~> !rnaZJcC<$JcG9?s-j#gJ,~> "92h>s+/CFb`L'BS,CM(S,UY3@K?FY~> "92qDs+/IHcB-?FRJbA(RJtM3AH;a\~> !rnaZJcC<$O8nptr;ZK7rr<"f!<7Q~> "92h>s+\_ts8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs7jh3RfNKebQ+.,!!WDHb[P&]J,~> "92qDs+\f!s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds7jn5R/m9cc2a:,!!WDJc=LSeJ,~> !rnaZJcC<$O8nptr;Qc@pAk3ms-j#gJ,~> "92h>s+SYs@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@en7JS,(8/S,`H2!Lj)dS,Zq%!<:9e@Uf@f~> "92qDs+S_uAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAbjXORJG,/RK*62!LWrbRK$h&!<:?iAS(ml~> !rnaZK`;%Arr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfq>^K=q>UH=r;QfA!;k"?RfEHfs8SPgs*t~> "92h>s8L7@s7sk=s3Ajg!;=Y:!8>Wss8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs7X\:S,(8/S,`H2!Lj)eS,Qk$!<:9e@Uf@f~> "92qDs8L=B!;Xn?!7&mi!;=_]us8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds7Xb !rnaZrVufrq>UEpcN!nEpAb-mJcC<$irB&&q>UH=r;QfA!;t(?RfEHfs8SPgs*t~> "92h>s8C1?s81"?s7X\7!9_T(!;t(@!;=Y:!85Qr@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@e\+HS,(8/S,`H2!Lj)c@L(*Ws3/\r@fLr~> "92qDs8C7A!;k%A!;=_9!9_Z*!;t.B!;=_ !rnaZr;Z]qqu6WrpAb$jkPtG[r;ZcspAb-mg&D&Arr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfp](9;q>UH=r;QfA!;`/crrE&us-j#gJ,~> "92h>s8:+>s8C.As7OV9!<::C!9hZ,!<::C!:\54!8,Kqs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs7jh "92qDs8:1@!<(1C!;4Y;!<:@E!9h`.!<:@E!:\;6!8,Qss8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:D s8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds8L:Ds7jn>RJG,/RK*62!LWrecMhDTc3=:KcH^!4 s*t~> !rnaZqu?TprVlitp&G$ls8W*!kl:Y_s8W*!nGiLgJcC<$irB&&q>UH=r;QfA!<3#tS,`Kg!<3#u RfNJ=~> "92h>s81%=s8U:Cs7FP8!<::C!<14B!<::C!<14B!!:@E!;Xk=!<14B!<14B!<14@!<(.A!<14@ !<(.>!<14B!<::C!<14@!;F\;@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@en7JS,(8/S,`H2".K;7bl2)NbQ\(IbfjO*s*t~> "92qDs81+?!<:=E!;+S:!<:@E!<1:D!<:@E!<1:D!!:FG!;Xq?!<1:D!<1:D!<1:B!<(4C!<1:B !<(4@!<1:D!<:@E!<1:B!;Fb=AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAbjXORJG,/RK*62".9/7cMhDSc3=:KcH^!4s*t~> !rnaZqZ$Kos8N'!o`+pks8W*!rr;uus8W*!rr;uu!ri6#q>^Hprr;uurr;uurr;osrVultrr;os rVucqrr;uus8W*!rr;osp\t5_rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfq>^K=q>UH=r;QlC!<<)uS,WEf!<3#uRfNJ=~> "92h>s8't=rrL@Do?@47s3(HCrQP9As31KCrlk?A!mCWEqTSs>rlkBBrlkBBs31KCs31KCrlkBB s31KCs31KCs31KCs31KCrlkBBs31KCs31KCs31KCqof'?rlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBp< "92qDs8(%?!!1@Fo?R@9s3:TErQbECs3CWErm(KC!mUcGqTf*@rm(NDrm(NDs3CWEs3CWErm(ND s3CWEs3CWEs3CWEs3CWErm(NDs3CWEs3CWEs3CWEqp#3ArltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDp !rnaZq>^Eo!WN/ks8N*!rr<&ts8N*!s8N)us8E!"rr<&qs8N)us8N)us8N*!s8N*!s8N)us8N*! s8N*!s8N*!s8N*!s8N)us8N*!s8N*!s8N*!s8N(Ms+C@Obk_8=bl%JBbQ.\BS,N?e!<3#uRfNJ=~> "92h>s7sk@s31NCo?@.5r650@s31KCrlkBBs31KCqTSs>rlkBBrlkBBqoo'?rlkBBs31KCs31KC s31KCs31KCrlkBBs31KCs31KCs31KCqTJqKrlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@Orlb@O rlb@Orlb@Orlb@Orlb@Orlb@Orlb@OpWNW,pAb3nrQG;3!<-I*bQ\(IbfjO*s*t~> "92qDs7sqB!6tQEo?R:7r6G !rnaZq#:Errr<&js8;rqs8N*!s8N)us8N*!s8N)qs8N)us8N)us8N)rs8N)us8N*!s8N*!s8N*! s8N*!s8N)us8N*!s8N*!s8N*!s8N)qrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPfrrAPf rrAPfrrAPfrrAPfrrAPfrrAPfrrAP_rrC:;!;uitbQ.X3r;Q`srr<"f!<7Q~> "92h>s8'q?s31HAoZ[=8!mCWErQP9As31KCrlkBBs31KCqTSs>rlkBBrlkBBrlk9?rlkBBs31KC s31KCs31KCs31KCrlkBBs31KCs31??q9/j=rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBBrlbBB rlbBBrlbBBrlbBBrlbBBrlbBBrlbBBpric.!;W)b!<<#A".K:"@f+@R!<:9e@Uf@f~> "92qDs8("A!7(NCoZmI:!mUcGrQbECs3CWErm(NDs3CWEqTf*@rm(NDrm(NDrm(EArm(NDs3CWE s3CWEs3CWEs3CWErm(NDs3CWEs3CKAq9B!?rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltNDrltND rltNDrltNDrltNDrltNDrltNDrltNDps&o.!;W#`!<<#C".9.#Ac'aW!<:?iAS(ml~> !rnaZq>UHqs8;ris8N'#rr<&ts8N*!s8N)us8N*!s8N)qs8N)us8N)us8N)us82lrs8N*!s8N*! s8N*!s8N*!s8N)us8N*!s8N*!s8)eIs+C=PbQ.I_!!)rs"3^b7S,<3c!<3#uRfNJ=~> "92h>s81"?s8L7@s7OV9!!:@E!<(.A!<::C!<14B!<::C!;aq>!<14B!<14B!<::C!<::C!<14B !<::C!<::C!<::C!!(7B!<14B!<::C!<::C!;+J8@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@en4JS+cm_s8C.AS+cmds3/\r@fLr~> "92qDs81(A!<1:B!;4Y;!!:FG!<(4C!<:@E!<1:D!<:@E!;b"@!<1:D!<1:D!<:@E!<:@E!<1:D !<:@E!<:@E!<:@E!!(=D!<1:D!<:@E!<:@E!;+P:AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAbjUORJ-[]s8C4CRJ-[bs3Ao$AcI8~> !rnaZqYpNqrr;osp&G$l!ri6#rVults8W*!rr;uus8W*!qZ$Qqrr;uurr;uus8W*!s8W*!rr;uu s8W*!s8W*!s8W*!!<<#urr;uus8W*!s8W*!o`"o\rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfq>UH=pAk-k!6k0;rr<"f!<7Q~> "92h>s8:(@s8:+>s7X\:!<::C!<14B!!(7B!<14B!<::C!;aq>!<::C!<(.A!<::C!<::C!<14B !<::C!<::C!<14B!!:@E!<14B!!(7B!<::C!<11B!;jt?s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs7OV0s8:+7s8U=C@K?FY~> "92qDs8:.B!;t.@!;=_ !rnaZqu6Wrr;Z]qpAb-ms8W*!rr;uu!<<#urr;uus8W*!qZ$Qqs8W*!rVults8W*!s8W*!rr;uu s8W*!s8W*!rr;uu!ri6#rr;uu!<<#us8W*!rr2ruJcC<$jo>@M!<7Q~> "92h>s8C.As8't!<(.A!!:@E!<14@!;Xh=@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@bK!*@K?FY~> "92qDs8C4C!;b">!;Fe=!<:@D!<1:D!!:FG!<1:D!<:@E!;b"=!;t.B!<1:C!!^^K!7&ji!<1:B !;b"@!<(4C!!:FG!<1:B!;Xn?AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTA_GB/AH;a\~> !rnaZr;Q`sqZ$Kop](6ns8W&urr;uu!ri6#rr;uus8W*!qZ$Hnr;Zcsrr;rt#6+Z's8N'!rr;os qZ$QqrVult!ri6#rr;osq>UGarr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfg&M)A!<7Q~> "92h>s8L4Bs7jh:s0g/O!<::C!9hW,s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs8L4B s8L4Bs8L4Bs8L4Bs8L4Bs8L4Bs4Y]s@K?FY~> "92qDs8L:D!;Ok !rnaZrVlitq#C9m[f?@-s8W*!JcC<$eGoQ "92h>s.mm;!9VK*@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO@fFRO @fFRO@fFRO@f4I.S,Zpts*t~> "92qDs.ms=!9VQ,AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsTAcBsT AcBsTAcBsTAc0j3RK$gus*t~> !rnaZU]:8mk5PFNrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tfrr2tf rr2tfrr2tfr;Y^!s-j#gJ,~> "92h>s+/CFba$EOS)7ZTs*t~> "92qDs+/IHcBZ]SRGVQUs*t~> !rnaZJcC<$PlLa,hjXWGJ,~> "92h>s+/CFba-KQS,ZsVbl;,Ps*t~> "92qDs+/IHcBccURK$jWcMqGUs*t~> !rnaZJcC<$Q2gm.s-r!Is-j#gJ,~> "92h>s+/CFba6QRRfHpTbl;,Ps*t~> "92qDs+/IHcBliVR/ggUcMqGUs*t~> !rnaZJcC<$QN.!/!1VmGs-j#gJ,~> "92h>s+-YjS!TWE@c#?/@K?FY~> "92qDs+-ShR?s?AA_t`4AH;a\~> "94j[s+/CFba6QRS)42FRfNJ=~> !<7UZJRXjQgs#e-!<7Q~> !<7U]JRt'Wgs5q2!<7Q~> !<7V>JX_mnh#IDD!<7Q~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=rRHI`JWu(WrmgRsrRLpW!<7Q~> !rlhCrRQObJX).YrmpXrrRV![!<7Q~> !rnaZrRHI`JWu(WrmgRsrRLq;!<7Q~> !rl_=rRCn4JH16$N;rtYrm_"+oDemkrRLpW!<7Q~> !rlhCrRLt6JH16$N;rtYrmh(*oDemkrRV![!<7Q~> !rnaZrRCn4JH16$N;rtYrm_"+oDemkrRLq;!<7Q~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mT`;or8`;or:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaR_>sW5_>sW7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mT`;or8`;or:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mU`<-(i!;se9s8CLJ@K?FY~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaS_?0bg!;s\6s8COKAH;a\~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mU`<-(i!;se9s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mU`<-(i!;se9s8CLJ@K?FY~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaS_?0bg!;s\6s8COKAH;a\~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mU`<-(i!;se9s8CLJRfNJ=~> !rl_=rRCq5!<2uu!94"Y!8.;O!.k0$s5!\Uec5X!!K$mV` !rlhCrRM"7!<2uu!94"Y!8.;O!.k0$s5!\Uf)Pa#!JgaT_?Bnies-76_>sW7f)K:]s*t~> !rnaZrRCq5!<2uu!94"Y!8.;O!.k0$s5!\Uec5X!!K$mV` !rl_=rRCq5!<2uu!94"Y!8.;O!.k0$s5!\Uec5X!!K$mV` !rlhCrRM"7!<2uu!94"Y!8.;O!.k0$s5!\Uf)Pa#!JgaT_?Bnies-76_>sW7f)K:]s*t~> !rnaZrRCq5!<2uu!94"Y!8.;O!.k0$s5!\Uec5X!!K$mV` !rl_=rRCq5!<2uu!;c`q!!rT)s8N*!!<<)u!<)rs!<<)u!;uis!<2uu!<3#t!<2uu!<2uu!;?Hm !<<)u!!WB&rrE*!rW)rt!s&?$!<)rt!!3*"rr;rtrr3$"rr@WMK)Yl%s8LOOM?(W7s8CIKPQ:^% !<<#Js'c!.J,~> !rlhCrRM"7!<2uu!;c`q!!rT)s8N*!!<<)u!<)rs!<<)u!;uis!<2uu!<3#t!<2uu!<2uu!;?Hm !<<)u!!WB&rrE*!rW)rt!s&?$!<)rt!!3*"rr;rtrr3$"rr@WMK)Yl&s8LRPL]G !rnaZrRCq5!<2uu!;c`q!!rT)s8N*!!<<)u!<)rs!<<)u!;uis!<2uu!<3#t!<2uu!<2uu!;?Hm !<<)u!!WB&rrE*!rW)rt!s&?$!<)rt!!3*"rr;rtrr3$"rr@WMK)Yl%s8LOOM?(W7s8CIKPQ:^% !<<#Js-j#gJ,~> !rl_=rRCq5!<2uu!;ld(!<<'!!<<'!!<<'!rr3'#s8N)urrW9$rrDrr!!*#u!s&B$!<3!#!<<'! rr2rup\t[&s8N*!rrE*!!!*'!!<3!1!<<'!!<<'!s8N*!rr<'!rrE&u"9AK%!!%TMJc>c$s8LOO M?(W7s8CIKPQ:^%!<<#Js'c!.J,~> !rlhCrRM"7!<2uu!;ld(!<<'!!<<'!!<<'!rr3'#s8N)urrW9$rrDrr!!*#u!s&B$!<3!#!<<'! rr2rup\t[&s8N*!rrE*!!!*'!!<3!1!<<'!!<<'!s8N*!rr<'!rrE&u"9AK%!!%TMJc>c%s8LRP L]G !rnaZrRCq5!<2uu!;ld(!<<'!!<<'!!<<'!rr3'#s8N)urrW9$rrDrr!!*#u!s&B$!<3!#!<<'! rr2rup\t[&s8N*!rrE*!!!*'!!<3!1!<<'!!<<'!s8N*!rr<'!rrE&u"9AK%!!%TMJc>c$s8LOO M?(W7s8CIKPQ:^%!<<#Js-j#gJ,~> !rl_=rRCq5!<2uu!;lcr!<3!#!<<'!rr2rurr3'#s8N)urrW9$rrDrr!!*#u!s&B$!<3!#!<<'! rr2rup\t3nr;Qj!s8N)qrrW9$rrE&u!s&B$!<3!#!<<'!rr3'#s8N(Ms+11Os4./KeH:[/`W,hc "I&o*`W,nes'c!.J,~> !rlhCrRM"7!<2uu!;lcr!<3!#!<<'!rr2rurr3'#s8N)urrW9$rrDrr!!*#u!s&B$!<3!#!<<'! rr2rup\t3nr;Qj!s8N)qrrW9$rrE&u!s&B$!<3!#!<<'!rr3'#s8N(Ms+11Os475LecU^._Z0Ma "I/u(_Z0Scs()31J,~> !rnaZrRCq5!<2uu!;lcr!<3!#!<<'!rr2rurr3'#s8N)urrW9$rrDrr!!*#u!s&B$!<3!#!<<'! rr2rup\t3nr;Qj!s8N)qrrW9$rrE&u!s&B$!<3!#!<<'!rr3'#s8N(Ms+11Os4./KeH:[/`W,hc "I&o*`W,nes-j#gJ,~> !rl_=rRCq5!<2uu!;lcr!<3!#!<<'!rr;lrs8Vuss8N'!qu6`us8N)urr<&urrW9$rrE&u!!)`m rrE&u!s&B$!<)rr!<<'!!<3!#!<<'!rr3$"s8Vuss8N'!JcC<$!rpgNrm_+.!6,!8eHD*:`PqlU ec0(Ys*t~> !rlhCrRM"7!<2uu!;lcr!<3!#!<<'!rr;lrs8Vuss8N'!qu6`us8N)urr<&urrW9$rrE&u!!)`m rrE&u!s&B$!<)rr!<<'!!<3!#!<<'!rr3$"s8Vuss8N'!JcC<$!rpjOrmh1-!5ed5ec_6<_SZ?O f)K:]s*t~> !rnaZrRCq5!<2uu!;lcr!<3!#!<<'!rr;lrs8Vuss8N'!qu6`us8N)urr<&urrW9$rrE&u!!)`m rrE&u!s&B$!<)rr!<<'!!<3!#!<<'!rr3$"s8Vuss8N'!JcC<$!rpgNrm_+.!6,!8eHD*:`PqlU ec2*=s*t~> !rl_=rRCq5!<2uu!;lcr!<3!#!<<'!rr2ruqu6Wrqu6WrqYpTsrrE&u!!*#u!s&B$!<2uu!;-9q !<<'!s8N)urr<&urrW9$rrE&u!s&B$!<3!#!<<'!qu6WrJcC<$!rpgNrm_+.!<:UFPQCj(s8CLJ @K?FY~> !rlhCrRM"7!<2uu!;lcr!<3!#!<<'!rr2ruqu6Wrqu6WrqYpTsrrE&u!!*#u!s&B$!<2uu!;-9q !<<'!s8N)urr<&urrW9$rrE&u!s&B$!<3!#!<<'!qu6WrJcC<$!rpjOrmh1-!<:XGPl^s&s8COK AH;a\~> !rnaZrRCq5!<2uu!;lcr!<3!#!<<'!rr2ruqu6Wrqu6WrqYpTsrrE&u!!*#u!s&B$!<2uu!;-9q !<<'!s8N)urr<&urrW9$rrE&u!s&B$!<3!#!<<'!qu6WrJcC<$!rpgNrm_+.!<:UFPQCj(s8CLJ RfNJ=~> !rl_=rRCq5!<2uu!;ld$!<<'!!<<'!rr2rurr3'#s8N)urrW9$rrDoq!W`6#rr2rurr33's8N*! rr<&nrs8]*rrE*!!<<'!rr2rurr3'#s8N)ursAc+rrE*!!!*'!!<3!#!<<'!JcC<$!rpgNrm_+. !<:UG!!AGc`W,nes'c!.J,~> !rlhCrRM"7!<2uu!;ld$!<<'!!<<'!rr2rurr3'#s8N)urrW9$rrDoq!W`6#rr2rurr33's8N*! rr<&nrs8]*rrE*!!<<'!rr2rurr3'#s8N)ursAc+rrE*!!!*'!!<3!#!<<'!JcC<$!rpjOrmh1- !<:XH!!AJd_Z0Scs()31J,~> !rnaZrRCq5!<2uu!;ld$!<<'!!<<'!rr2rurr3'#s8N)urrW9$rrDoq!W`6#rr2rurr33's8N*! rr<&nrs8]*rrE*!!<<'!rr2rurr3'#s8N)ursAc+rrE*!!!*'!!<3!#!<<'!JcC<$!rpgNrm_+. !<:UG!!AGc`W,nes-j#gJ,~> !rl_=rRCq5!<2uu!;c`q!!N<%s8N)ts8E#ss8E#ts8N)qrr<&ss8E#ss8N'"rrE&u!!)lqrrE&u rr<*"!<)rs!!E6$rrE&u!!*#urr<*"!<3#t!<2uu!<2uu!.k0'rrL[Mrm_%,!;4;2s8CLJ@K?FY~> !rlhCrRM"7!<2uu!;c`q!!N<%s8N)ts8E#ss8E#ts8N)qrr<&ss8E#ss8N'"rrE&u!!)lqrrE&u rr<*"!<)rs!!E6$rrE&u!!*#urr<*"!<3#t!<2uu!<2uu!.k0'rrL^Nrmh++!;42/s8COKAH;a\~> !rnaZrRCq5!<2uu!;c`q!!N<%s8N)ts8E#ss8E#ts8N)qrr<&ss8E#ss8N'"rrE&u!!)lqrrE&u rr<*"!<)rs!!E6$rrE&u!!*#urr<*"!<3#t!<2uu!<2uu!.k0'rrL[Mrm_%,!;4;2s8CLJRfNJ=~> !rl_=rRCq5!;$3j!9F.[!:Kje!8RSS!.k0$s7ZHnec5X!!K$mOrrN2>s8CLJ@K?FY~> !rlhCrRM"7!;$3j!9F.[!:Kje!8RSS!.k0$s7ZHnf)Pa#!JgaMrrN2;s8COKAH;a\~> !rnaZrRCq5!;$3j!9F.[!:Kje!8RSS!.k0$s7ZHnec5X!!K$mOrrN2>s8CLJRfNJ=~> !rl_=rRCq5!;HKn!<2uu!9O4\!:Kje!8meV!<2uu!.k0$s7ZHnec5X!!f@!XpsfEG`W,nes'c!. J,~> !rlhCrRM"7!;HKn!<2uu!9O4\!:Kje!8meV!<2uu!.k0$s7ZHnf)Pa#!f-jVpsoKH_Z0Scs()31 J,~> !rnaZrRCq5!;HKn!<2uu!9O4\!:Kje!8meV!<2uu!.k0$s7ZHnec5X!!f@!XpsfEG`W,nes-j#g J,~> !rl_=rRCq5!;?Hl!9O4\!6P9?!.k0$s7QBmec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;?Hl!9O4\!6P9?!.k0$s7QBmf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;?Hl!9O4\!6P9?!.k0$s7QBmec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;c]q!:Bdd!;lcr!9jI_!8RSS!;-9k!;-9k!8dbT!.k0]rrL[Mrm_(-!<;lF "-`f)s8CLJ@K?FY~> !rlhCrRM"7!<2uu!;c]q!:Bdd!;lcr!9jI_!8RSS!;-9k!;-9k!8dbT!.k0]rrL^Nrmh.,!<;lG "-il's8COKAH;a\~> !rnaZrRCq5!<2uu!;c]q!:Bdd!;lcr!9jI_!8RSS!;-9k!;-9k!8dbT!.k0]rrL[Mrm_(-!<;lF "-`f)s8CLJRfNJ=~> !rl_=rRCq5!<3#u!;uls!:Bdd!;lcr!9sL`!8@GQ!;-9k!;-9k!8meV!<2uu!.k0^rrL[Mrm_(- !<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<3#u!;uls!:Bdd!;lcr!9sL`!8@GQ!;-9k!;-9k!8meV!<2uu!.k0^rrL^Nrmh., !<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<3#u!;uls!:Bdd!;lcr!9sL`!8@GQ!;-9k!;-9k!8meV!<2uu!.k0^rrL[Mrm_(- !<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<3#u!;uls!<3#t!<2uu!<2uu!;lcr!;lcu!<3$!rVuisq>^Eos8W&uqu?ZrrVuis rr3-%rrE*!!<)rs!;c]t!<3$!rVuisrr30&s8N*!!!)orrW)uurW)fp!!*#u!!*#urW)rt!!*#u !s&B$!<2uu!.k0^rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<3#u!;uls!<3#t!<2uu!<2uu!;lcr!;lcu!<3$!rVuisq>^Eos8W&uqu?ZrrVuis rr3-%rrE*!!<)rs!;c]t!<3$!rVuisrr30&s8N*!!!)orrW)uurW)fp!!*#u!!*#urW)rt!!*#u !s&B$!<2uu!.k0^rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<3#u!;uls!<3#t!<2uu!<2uu!;lcr!;lcu!<3$!rVuisq>^Eos8W&uqu?ZrrVuis rr3-%rrE*!!<)rs!;c]t!<3$!rVuisrr30&s8N*!!!)orrW)uurW)fp!!*#u!!*#urW)rt!!*#u !s&B$!<2uu!.k0^rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<3!"!<3&urriE&!<<'!rr3'#s8N)urr<&rrr<&rs8N*!rrW9$rrE&u!!)or!!*#u !s&B$!;ld#!<<'!s8N)ursSo-rr<'!!!*$!s8N)urr<&rs8N*!rrW9$rrE&u$3:,+!<<'!!<<'! qu6`us8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu!;uis!.k0]rrL[Mrm_(-!<;lF"-`f)s8CLJ @K?FY~> !rlhCrRM"7!<3!"!<3&urriE&!<<'!rr3'#s8N)urr<&rrr<&rs8N*!rrW9$rrE&u!!)or!!*#u !s&B$!;ld#!<<'!s8N)ursSo-rr<'!!!*$!s8N)urr<&rs8N*!rrW9$rrE&u$3:,+!<<'!!<<'! qu6`us8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu!;uis!.k0]rrL^Nrmh.,!<;lG"-il's8COK AH;a\~> !rnaZrRCq5!<3!"!<3&urriE&!<<'!rr3'#s8N)urr<&rrr<&rs8N*!rrW9$rrE&u!!)or!!*#u !s&B$!;ld#!<<'!s8N)ursSo-rr<'!!!*$!s8N)urr<&rs8N*!rrW9$rrE&u$3:,+!<<'!!<<'! qu6`us8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu!;uis!.k0]rrL[Mrm_(-!<;lF"-`f)s8CLJ RfNJ=~> !rl_=rRCq5!<3!"!<3&urrN3#!;lcu!<<'!rr2ruqu6Wrqu6Wrrr3'#s8N)urr<&rrr<&urrW9$ rrDrr!!)rs!!*#u$ip>-!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!&!<<'!s8N)urr<&rrrW9$ rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr2rur;Q`sJcE=]!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<3!"!<3&urrN3#!;lcu!<<'!rr2ruqu6Wrqu6Wrrr3'#s8N)urr<&rrr<&urrW9$ rrDrr!!)rs!!*#u$ip>-!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!&!<<'!s8N)urr<&rrrW9$ rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr2rur;Q`sJcE=]!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<3!"!<3&urrN3#!;lcu!<<'!rr2ruqu6Wrqu6Wrrr3'#s8N)urr<&rrr<&urrW9$ rrDrr!!)rs!!*#u$ip>-!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!&!<<'!s8N)urr<&rrrW9$ rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr2rur;Q`sJcE=]!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<3!(!<<'!rrE*!!<3#s!<<'$!<<'!qYpNqqu6Wrrr3$"s8Vusqu6Wrrr3'#s8N)q s8N)urr<&ursJi,rrE*!!<<'!s8Vusqu6Wrrr3$"s8Vuss8N0$s8N)urr<&rrrW9$rrE&u!!)or !s&B$!<2uu!<3!#!<<'!rr2rurVlitJcE:\!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<3!(!<<'!rrE*!!<3#s!<<'$!<<'!qYpNqqu6Wrrr3$"s8Vusqu6Wrrr3'#s8N)q s8N)urr<&ursJi,rrE*!!<<'!s8Vusqu6Wrrr3$"s8Vuss8N0$s8N)urr<&rrrW9$rrE&u!!)or !s&B$!<2uu!<3!#!<<'!rr2rurVlitJcE:\!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<3!(!<<'!rrE*!!<3#s!<<'$!<<'!qYpNqqu6Wrrr3$"s8Vusqu6Wrrr3'#s8N)q s8N)urr<&ursJi,rrE*!!<<'!s8Vusqu6Wrrr3$"s8Vuss8N0$s8N)urr<&rrrW9$rrE&u!!)or !s&B$!<2uu!<3!#!<<'!rr2rurVlitJcE:\!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<3!+!<<'!rrE*!!<<'!rr2rurr3$"rrDoq!!)or!!*#u!s&B$!;HKn!<3!#!<<'! q#:Ers8N)ursSo-rrE*!!<<'!s8N)nrr<&urrW9$rrDrr!s&B$!<2uu!;lcu!<<'!rr2ruqYpTs rrE&u!!*#u!s&B$!<2uu!<)ot!.k0\rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<3!+!<<'!rrE*!!<<'!rr2rurr3$"rrDoq!!)or!!*#u!s&B$!;HKn!<3!#!<<'! q#:Ers8N)ursSo-rrE*!!<<'!s8N)nrr<&urrW9$rrDrr!s&B$!<2uu!;lcu!<<'!rr2ruqYpTs rrE&u!!*#u!s&B$!<2uu!<)ot!.k0\rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<3!+!<<'!rrE*!!<<'!rr2rurr3$"rrDoq!!)or!!*#u!s&B$!;HKn!<3!#!<<'! q#:Ers8N)ursSo-rrE*!!<<'!s8N)nrr<&urrW9$rrDrr!s&B$!<2uu!;lcu!<<'!rr2ruqYpTs rrE&u!!*#u!s&B$!<2uu!<)ot!.k0\rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<2uu!<2uu!<3!#!<<'!rr2rurr3$"rrDoq!!)orrrE*!!s&B$!<2uu!;lcr!<3!# !<<'!qu6j#s8N*!rrE&u$ip>-!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!*!<<'!s8N'!s8N)r rrW9$rrE&u!!)lq!W`6#rr2rurr33's8N*!rr<%Ms0Ve,ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!<2uu!<3!#!<<'!rr2rurr3$"rrDoq!!)orrrE*!!s&B$!<2uu!;lcr!<3!# !<<'!qu6j#s8N*!rrE&u$ip>-!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!*!<<'!s8N'!s8N)r rrW9$rrE&u!!)lq!W`6#rr2rurr33's8N*!rr<%Ms0Ve,f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!<2uu!<3!#!<<'!rr2rurr3$"rrDoq!!)orrrE*!!s&B$!<2uu!;lcr!<3!# !<<'!qu6j#s8N*!rrE&u$ip>-!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!*!<<'!s8N'!s8N)r rrW9$rrE&u!!)lq!W`6#rr2rurr33's8N*!rr<%Ms0Ve,ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!<2uu!<2uu!<3#t!!3*"rr2ruq>UEpqu6`urr<&ts8E#os8E#trr<&qs8N)t s8E#trrrK'rrE*!!<3#t!;c]q!<2uu!<3#t!<3!&!<<'!rr<&qs8N*!s8E#nrr<&ss8E#ss8N'" rrE#t!!%TM\c2]\s8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!<2uu!<2uu!<2uu!<3#t!!3*"rr2ruq>UEpqu6`urr<&ts8E#os8E#trr<&qs8N)t s8E#trrrK'rrE*!!<3#t!;c]q!<2uu!<3#t!<3!&!<<'!rr<&qs8N*!s8E#nrr<&ss8E#ss8N'" rrE#t!!%TM\c2]]s8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<2uu!<2uu!<2uu!<3#t!!3*"rr2ruq>UEpqu6`urr<&ts8E#os8E#trr<&qs8N)t s8E#trrrK'rrE*!!<3#t!;c]q!<2uu!<3#t!<3!&!<<'!rr<&qs8N*!s8E#nrr<&ss8E#ss8N'" rrE#t!!%TM\c2]\s8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!:'Ra!20>l!9a@^!.k0GrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!:'Ra!20>l!9a@^!.k0GrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!:'Ra!20>l!9a@^!.k0GrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!:0Xb!2'8k!9jF_!.k0FrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!:0Xb!2'8k!9jF_!.k0FrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!:0Xb!2'8k!9jF_!.k0FrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!:9^c!1s2j!9sL`!.k0ErrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!:9^c!1s2j!9sL`!.k0ErrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!:9^c!1s2j!9sL`!.k0ErrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!<2uu!<3!#!<<'!o`"mkqu6Wrp&>*os8N)@rr<&rrr<&js8N'#rr<&UrrW9$ rrDEcrW%NLec,[#s8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!<2uu!<2uu!<3!#!<<'!o`"mkqu6Wrp&>*os8N)@rr<&rrr<&js8N'#rr<&UrrW9$ rrDEcrW%NLec,[$s8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<2uuMZ3VUMZ3VXMZ<^6o`"oKqu6YRp&>,Os8Rturr@rRrr@rJs8RrXs,)]jrr\/Y s,-1Crec:,ec,[#s8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<2uu!<2uu!<3!#!<<'!o`"mkli-qbao;>@qu6Wro`#!ns8N)SrrW9$rrDHd!!*#u !!%TMf)Gd$s8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!<2uu!<2uu!<3!#!<<'!o`"mkli-qbao;>@qu6Wro`#!ns8N)SrrW9$rrDHd!!*#u !!%TMf)Gd%s8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<2uuMZ3VUMZ3VXMZ<^6o`"oKli-sBao;?uqu6YRo`##Ns8Ru3rr\/Ys,-4D!/gdU !/c@-f)Gd$s8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<2uu!<2uu!<3!&!<<'!rr<&ts8E#us8E#rrr<&us8N)qrrE-"rW)`n!!*#u!!*#u rW)rt!!*#u!!)lqrW)osrW)rt!!*#u!s&B$!<3#u!!3*"qZ$Nps8Vrrs8W&urr3$"rrDus"T\Q& s8N)ts8E#qs8E!$rrE'!!<)rs!<3!#!<3$!rr2rurr2ruJcF=$!S.5LeH1U.s7t1IPQ8]&rRLpW !<7Q~> !rlhCrRM"7!<2uu!<2uu!<3!&!<<'!rr<&ts8E#us8E#rrr<&us8N)qrrE-"rW)`n!!*#u!!*#u rW)rt!!*#u!!)lqrW)osrW)rt!!*#u!s&B$!<3#u!!3*"qZ$Nps8Vrrs8W&urr3$"rrDus"T\Q& s8N)ts8E#qs8E!$rrE'!!<)rs!<3!#!<3$!rr2rurr2ruJcF=$!S7;MecLX-s7t4JPlS]$rRV![ !<7Q~> !rnaZrRCq5!<2uuMZ3VUMZ3V[MZ<^6s,)^4s8IoUs8IoRrr@rUs8RuQrrJ#WregLN!/gdU!/gdU reg^T!/gdU!/gXQreg[Sreg^T!/gdU",d-YMZ3YUM?3a7qZ$PPs8VtRs8W(Urr3%Ws,-aS"cE>; s8RuTs8IoQs8IlYs,-i6MZ*SSMZ3VXMZ8Qkrr2tUrr2tUJcF=$!S.5LeH1U.s7t1IPQ8]&rRLq; !<7Q~> !rl_=rRCq5!<)p%!<<'!s8N)us8N*!rrW9$rrE&u!s&B$!;ld#!<<'!s8N)rrrW9$rrDfn!!*#u !s&B$!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)urrW9$rrE&u$3:,+!<<'!s8N'!qu6Wrrr39)s8N*! rrE*!!<3!$!<<'!!;lfr!!iN(!<3'!rrE&u!!)or$3:,+!!*'!!<<'!rr33's8N'!s8N)srr<%M s4.,Mec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)p%!<<'!s8N)us8N*!rrW9$rrE&u!s&B$!;ld#!<<'!s8N)rrrW9$rrDfn!!*#u !s&B$!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)urrW9$rrE&u$3:,+!<<'!s8N'!qu6Wrrr39)s8N*! rrE*!!<3!$!<<'!!;lfr!!iN(!<3'!rrE&u!!)or$3:,+!!*'!!<<'!rr33's8N'!s8N)srr<%M s4.,Mf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<)p%MZ<^6s8RuUs8RuVrr\/Ys,-gU",d-YMYmDXMZ<^6s8RuRrr\/Ys,-RN!/gdU ",d-YMZ3VXMZ<^6rr2tUqu6YRrr3(Xs8RuUrr\/Ys,-gU$B"l`MZ<^6s8Rt6qu6YRrr3:^s8RuV s,-jVMZ3VYMZ<^6MYmGRM?j0=MZ8S6s,-gU!/g[R$B"l`MMhH6MZ<^6rr34\s8Rt6s8RuSrr@q- s4.,Mec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<)p%!<3'!!<3&urr<&urr<&rrrW9$rrDrr!s&B$!;QQr!<<'!p\t3nrr3'#s8N)u rrW9$rrE&u!!)or!!)or!!*#u!s&B$!<3!&!<<'!s8N)urr<&rrr<&urs8]*rrE*!!<<'!rr3'# s8N)qrs8]*rrE*!!<<'!rr2ruqu6`us8N)urrW9$rrE&u!s&B$!<2uu!;uis!.k1#rrL[Mrm_(- !<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<)p%!<3'!!<3&urr<&urr<&rrrW9$rrDrr!s&B$!;QQr!<<'!p\t3nrr3'#s8N)u rrW9$rrE&u!!)or!!)or!!*#u!s&B$!<3!&!<<'!s8N)urr<&rrr<&urs8]*rrE*!!<<'!rr3'# s8N)qrs8]*rrE*!!<<'!rr2ruqu6`us8N)urrW9$rrE&u!s&B$!<2uu!;uis!.k1#rrL^Nrmh., !<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<)p%MZ8S6MZ8S5rr@rUrr@rRrr\/Ys,-^R",d-YMYR2RMZ<^6p\t5Nrr3(Xs8RuU rr\/Ys,-gU!/g[R!/g[R!/gdU",d-YMZ3V[MZ<^6s8RuUrr@rRrr@rUrs=S_s,-jVMZ<^6rr3(X s8RuQrs=S_s,-jVMZ<^6rr2tUqu6bUs8RuUrr\/Ys,-gU",d-YMZ3VUMZ!JSMLkfXrrL[Mrm_(- !<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<)p%!<3'!!<3&urr<&urr<&us8;rtrr<&rrr<&us8N)qrrW9$rrDfn!s&B$!<2uu !<3!#!<<'!rr2ruqu6Wrqu6Wrrr3'#s8N)urrrK'rrE*!!<2uu!;lcr!<3!(!<<'!s8N*!s82ls rr<&qrs/W)rrE*!!<<)s!;lcu!<<'!rr3$"s8Vuss8N'!rr2rurVlitJcF7"!S.5LeH1U.s7t1I PQ8]&rRLpW!<7Q~> !rlhCrRM"7!<)p%!<3'!!<3&urr<&urr<&us8;rtrr<&rrr<&us8N)qrrW9$rrDfn!s&B$!<2uu !<3!#!<<'!rr2ruqu6Wrqu6Wrrr3'#s8N)urrrK'rrE*!!<2uu!;lcr!<3!(!<<'!s8N*!s82ls rr<&qrs/W)rrE*!!<<)s!;lcu!<<'!rr3$"s8Vuss8N'!rr2rurVlitJcF7"!S7;MecLX-s7t4J PlS]$rRV![!<7Q~> !rnaZrRCq5!<)p%MZ8S6MZ8S5rr@rUrr@rUs8@iTrr@rRrr@rUs8RuQrr\/Ys,-RN",d-YMZ3VU MZ3VXMZ<^6rr2tUqu6YRqu6YRrr3(Xs8RuUrs"A\s,-jVMZ3VUMYmDRMZ3V]MZ<^6s8RuVs87cS rr@rQrs4M^s,-jVMZ<_SMYmDUMZ<^6rr3%Ws8W"Ss8N(Vrr2tUrVlkTJcF7"!S.5LeH1U.s7t1I PQ8]&rRLq;!<7Q~> !rl_=rRCq5!;uis!<2uu!<)ot@K-9/m/R(crr3'#s8N)rrr<&srr<&rrrW9$rrDcm!W`6#rr2ru rr3'#s8N)urr<&rrr<&rrr<&urrW9$rrE&u"p"]'!<<'!rr2ruqu6Wrrr39)s8N*!rrE*!!;lcr !;c^%!<<'!s8N*!rrDfn!s&B$!<3!#!<<'!qu6Wrrr2rurVlitJcF7"!S.5LeH1U.s7t1IPQ8]& rRLpW!<7Q~> !rlhCrRM"7!;uis!<2uu!<)p&9%q=mTYK1\rr3'#s8N)rrr<&srr<&rrrW9$rrDcm!W`6#rr2ru rr3'#s8N)urr<&rrr<&rrr<&urrW9$rrE&u"p"]'!<<'!rr2ruqu6Wrrr39)s8N*!rrE*!!;lcr !;c^%!<<'!s8N*!rrDfn!s&B$!<3!#!<<'!qu6Wrrr2rurVlitJcF7"!S7;MecLX-s7t4JPlS]$ rRV![!<7Q~> !rnaZrRCq5!;uisMZ3VUMZ*P[ZMZ<^6s8RuVs,-RN",d-YMZ3VXMZ<^6qu6YRrr2tUrVlkTJcF7"!S.5LeH1U.s7t1IPQ8]& rRLq;!<7Q~> !rl_=rRCq5!;uis!<2uu!;?Emao;;B!<<'!qu6j#s8N*!rrDrr!s&B$!;?Eo!<3&urr<&urs&Q( rrE*!!!)or!!*#u!s&B$!<3!1!<<'!s8N'!s8N*!rrE*!!!)or!!*#u#lt#*!<<'!s8N)urrW9$ rrDoq#lt#*!<<'!s8N)urr<&rrrW9$rrE&u!s&B$!<3!#!<<'!rr2ruJcF'r!S.5LeH1U.s7t1I PQ8]&rRLpW!<7Q~> !rlhCrRM"7!;uis!<3!3!<<)g`Q\&DkN(WqH0YG0!<<'!qu6j#s8N*!rrDrr!s&B$!;?Eo!<3&u rr<&urs&Q(rrE*!!!)or!!*#u!s&B$!<3!1!<<'!s8N'!s8N*!rrE*!!!)or!!*#u#lt#*!<<'! s8N)urrW9$rrDoq#lt#*!<<'!s8N)urr<&rrrW9$rrE&u!s&B$!<3!#!<<'!rr2ruJcF'r!S7;M ecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!;uisMZ3VZMZ<_%2$!QS#QPmjs8RuVs,-^R#)`H\MZ<^6qu6bUs8RuMrrS)XMZ3VU MZ3V\MZ<^6s8Rt6qu6YRrr3(Xs8RuUrt1.gs,-jVMMhH6MZ<^6s8Rt6qu6YRrr3:^s8RuVs,-jV MZ3VXMZ<^6qYpkZs8RuVs,-jVMZ3VUMYmDUMZ<^6rr3(Xs8RuUrr\/Ys,-gU!/c@-ci4$rs8LOM M?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!;uis!<2uu!;6?slnAG>!<3$!r;Q`srr;uuqYpd#s8N'!s8N)prr<&ss8E#ss8N'" rrDoqrW)osrW)osrr<3%!<<'!rr;uu!WN/rs8E#trrW9$rrE&urW)rt!!)lq"p"]'!<<'!rr;rt qZ$Qq!WN0!rr<&us8E#trr<&urr<&trr<%Ms4%&Lec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;uis!<3!%!<;Jn[);hA$(mT>)$'[:rr<&srr<&us8N)qrs&Q(rr<'!rrDlp!!)rs rW)osrr<*"!;c`p!<)rs!<)rt!!N<%s8N)us8N'"rrDoqrW)rt!s&B$!<3#t!<2uu!;c^"!<<'! s8N)us8E#ps8N'"rrE&u!!*#urW)rt!!*#u!!)ut!!%TMeGfR#s8LRNL]IJNecV0;_Z0Scs()31 J,~> !rnaZrRCq5!;uisMZ3VZMZ:s8!!)rsrr<92EJjdRs,)^3rr@rUs8RuQrs+G]s,)^6s,-XP!/g^S reg[Ss,$jWMYdAPMZ*SSMZ*STM?Ns:s8RuUs8RrWs,-[Qreg^T",d-YMZ3YTMZ3VUMYd>WMZ<^6 s8RuUs8IoPs8RrWs,-gU!/gdUreg^T!/gdU!/gaT!/c@-eGfR"s8LOMM?*\PeH;$9`W,nes-j#g J,~> !rl_=rRCq5!6Y !rlhCrRM"7!;?Er\#Q[>kP"oT".bd?U>l1Q!;ZWp!.k0$s3UcHf)Pa#!f-jVq:5Y5!5ed7f)K:] s*t~> !rnaZrRCq5!;?Em2?!RVWoF$XrVupUir9"9q>UGPJcC<$d/O-ss8LOMM?*\PeH;$9`W,nes-j#g J,~> !rl_=rRCq5!:'UaroF(Z!;ZWp!.k0$s3L]Gec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;HKtfq>4BXKLX`rreaSNel*Drr<&prr<%Ms+13rrrL^Nrmh.,!<;lG"-il's8COK AH;a\~> !rnaZrRCq5!;HKnSbrHfWrE%s!!&YPrr@rPrr@q-s+13rrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!:'RbrVYIN!!%TMJcF$q!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!;HKt[%!_aVPiDPrreXLMMJ+brr<%Ms+13qrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;HKn8GiGfWrE%s!!#XHrr@q-s+13qrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!:0XdrquVDs+13KrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;HKtR?j83T:k*@rreICLP:\ !rnaZrRCq5!;HKn'Dqh1WrE%t!!*-;JcC<$W;cnKs8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!:9^frr)`iJcC<$W;cnKs8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!;HKtN0'9jR$le0rre::L4k/0s+13KrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;HNj!!'%us8N'#!X&^Ys+13KrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!;HKnrqQKrrr)`jq18Qss/>quec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;HKtOG]'[OcnGtrre+3KS,/5s+13KrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;HKn'Dqh1WrE#$!!33))1hg=s/>quec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!;HNnr;cinrri8sqY9l;s+13KrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;HKtVh^(aMMg'crre%/K7TeKs+13KrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;HKn8GiGfWrE#$!X&W1:4`Frs/>quec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!<3!%!<<)tqu$Hl!<2ut"T%rhp0IFm!!)0]!!)or!!)9`!s&B$!7UuJ!.t7N !9sL`!;lcr!;QQo!;HKn!87AR!7h,KeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!<3!%!<<)GKSBD[!8%5M"G;;WIk^Ws!!)0]!!)or!!)9`!s&B$!7UuJ!.t7N !9sL`!;lcr!;QQo!;HKn!87AR!7q2LecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uu!<3!#!<<(lrW<*"!36%u"9\o5#R'o%!!)0]!!)or!!)9`!s&B$!7UuJ!.t7N !9sL`!;lcr!;QQo!;HKn!87AR!7h,KeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!<2uu!<3!!`;9K1!<2ut"Sh`bpAjsf!!)0]!!)or!!)0]!!(OK!!%TM!!)3^ !!)Qh!!)cn!!([O!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!<2uu!<3!!AqU)9!7q/L"G))QR/m!]!!)0]!!)or!!)0]!!(OK!!%TM!!)3^ !!)Qh!!)cn!!([O!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uu!<2uu!<3#r"9>J$rr`N3#X8=`rr<&]rr<&rrr<&]rr<&Krr<%Mrr<&^rr<&h rr<&nrr<&OrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<2uu!<2uu!<3!%0)>;L^Eos8W&ur;Qp#rrE*! !<2uu!<2uu!;lcu!<3$!rr2rurr36(s8N*!!<<'!rVuisrr3*$rrE*!rW)rt!!*#u!!*#urrDoq !s&?$!<)rs!<)rs!<3!%!<3'!rrE#trrDfnrW)uurW)rt!W`6#rVlitrr2rurr3-%rrE'!!<2uu !<3#t!<3!#!<3$!qYpNqqZ$Nprr3-%rrE*!!;ZZp!!N<%s8N)urriE&rrCULrm_(-!<;lF"-`f) s8CLJ@K?FY~> !rlhCrRM"7!<2uu!<2uu!<3!%(Q*cqK%9l#"FkiTjoG/U!!)lqrW)osrW)rt!!*#u!s&B$!<3#u !!3*"qu6d!rrE*!rW)osrW)rt!^Eos8W&ur;Qp#rrE*! !<2uu!<2uu!;lcu!<3$!rr2rurr36(s8N*!!<<'!rVuisrr3*$rrE*!rW)rt!!*#u!!*#urrDoq !s&?$!<)rs!<)rs!<3!%!<3'!rrE#trrDfnrW)uurW)rt!W`6#rVlitrr2rurr3-%rrE'!!<2uu !<3#t!<3!#!<3$!qYpNqqZ$Nprr3-%rrE*!!;ZZp!!N<%s8N)urriE&rrCXMrmh.,!<;lG"-il' s8COKAH;a\~> !rnaZrRCq5!<2uu!<2uu!<3!!!ZCtA!3H2"":,>Td/`q@!!)lqrW)osrW)rt!!*#u!s&B$!<3#u !!3*"qu6d!rrE*!rW)osrW)rt!^Eos8W&ur;Qp#rrE*! !<2uu!<2uu!;lcu!<3$!rr2rurr36(s8N*!!<<'!rVuisrr3*$rrE*!rW)rt!!*#u!!*#urrDoq !s&?$!<)rs!<)rs!<3!%!<3'!rrE#trrDfnrW)uurW)rt!W`6#rVlitrr2rurr3-%rrE'!!<2uu !<3#t!<3!#!<3$!qYpNqqZ$Nprr3-%rrE*!!;ZZp!!N<%s8N)urriE&rrCULrm_(-!<;lF"-`f) s8CLJRfNJ=~> !rl_=rRCq5!<)p+!<<'!s8N*!rV6*\qYpBqoYCG*!;HKn!;lcr!<3!#!<<'!rr3'#s8N)ursAc+ rrE*!!<<'!!;lfr!<<'!!<3!#!<<'!rr39)s8N*!rrE*!!<2uu!;lcr!<3!*!<<'!!<<'!s8N)u rr<&rrr<&urrW9$rrDrrrr<<(!!*$!s8N)urr<&rs8N*!rrW9$rrE&u$ip>-!!*$!!<3'!rrE&u #6=f(!!*'!!<3!#!<<'!rr30&s8N*!rrDrrrrE*!!s&B$!<3!#!<<'!rr3K/s8N'!rr<'!!<<'! s8N)nrrW9$rrE&u"9AK%!!)rs!!*#u!!*#u$ip;-!<<'!s8N*!rrE&u#6=f(!!*'!!;lcr!;lcr !<3!)!<<'!!<3$!rrDrr#6=f(!!*'!!<3!%!<<'!ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)p+!<<'!s8N*!kF$gL\Gjt\I:D@=!;HKn!;lcr!<3!#!<<'!rr3'#s8N)ursAc+ rrE*!!<<'!!;lfr!<<'!!<3!#!<<'!rr39)s8N*!rrE*!!<2uu!;lcr!<3!*!<<'!!<<'!s8N)u rr<&rrr<&urrW9$rrDrrrr<<(!!*$!s8N)urr<&rs8N*!rrW9$rrE&u$ip>-!!*$!!<3'!rrE&u #6=f(!!*'!!<3!#!<<'!rr30&s8N*!rrDrrrrE*!!s&B$!<3!#!<<'!rr3K/s8N'!rr<'!!<<'! s8N)nrrW9$rrE&u"9AK%!!)rs!!*#u!!*#u$ip;-!<<'!s8N*!rrE&u#6=f(!!*'!!;lcr!;lcr !<3!)!<<'!!<3$!rrDrr#6=f(!!*'!!<3!%!<<'!f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<)p+!<<'!s8N*!d6.a@G5eQG$4,)[!;HKn!;lcr!<3!#!<<'!rr3'#s8N)ursAc+ rrE*!!<<'!!;lfr!<<'!!<3!#!<<'!rr39)s8N*!rrE*!!<2uu!;lcr!<3!*!<<'!!<<'!s8N)u rr<&rrr<&urrW9$rrDrrrr<<(!!*$!s8N)urr<&rs8N*!rrW9$rrE&u$ip>-!!*$!!<3'!rrE&u #6=f(!!*'!!<3!#!<<'!rr30&s8N*!rrDrrrrE*!!s&B$!<3!#!<<'!rr3K/s8N'!rr<'!!<<'! s8N)nrrW9$rrE&u"9AK%!!)rs!!*#u!!*#u$ip;-!<<'!s8N*!rrE&u#6=f(!!*'!!;lcr!;lcr !<3!)!<<'!!<3$!rrDrr#6=f(!!*'!!<3!%!<<'!ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<)p%!<3'!!<3&ursE'+p%78;q>gQq!;HKn!;lcr!;lcr!<3!#!<<'!rr30&s8N*! rrE&u!!)or!!*#u!!*#u!s&B$!;ld#!<<'!s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu!;lcr !<3!#!<<'!qu6s&s8N*!rrE*!!<2uu!;lcr!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3'#s8N)u rr<&urrW9$rrE&u!s&B$!;QQo!<3!#!<<'!rr3'#s8N)ursSo-rrE*!!<<'!s8N)krrW9$rrE&u !s&B$!;c^%!<<'!s8N*!rrE&u"p"]'!<<'!qu6Wrrr2ruqu6Wrp\tO"s8N*!rrE*!!;lcr!<3!# !<<'!rr3-%s8N)Ls8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!<)p%!<3'!!<3&ursCHSLOF6;bQ.\C!;HKn!;lcr!;lcr!<3!#!<<'!rr30&s8N*! rrE&u!!)or!!*#u!!*#u!s&B$!;ld#!<<'!s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu!;lcr !<3!#!<<'!qu6s&s8N*!rrE*!!<2uu!;lcr!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3'#s8N)u rr<&urrW9$rrE&u!s&B$!;QQo!<3!#!<<'!rr3'#s8N)ursSo-rrE*!!<<'!s8N)krrW9$rrE&u !s&B$!;c^%!<<'!s8N*!rrE&u"p"]'!<<'!qu6Wrrr2ruqu6Wrp\tO"s8N*!rrE*!!;lcr!<3!# !<<'!rr3-%s8N)Ms8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<)p%!<3'!!<3&ursAm**=N9PUB(>o!;HKn!;lcr!;lcr!<3!#!<<'!rr30&s8N*! rrE&u!!)or!!*#u!!*#u!s&B$!;ld#!<<'!s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu!;lcr !<3!#!<<'!qu6s&s8N*!rrE*!!<2uu!;lcr!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3'#s8N)u rr<&urrW9$rrE&u!s&B$!;QQo!<3!#!<<'!rr3'#s8N)ursSo-rrE*!!<<'!s8N)krrW9$rrE&u !s&B$!;c^%!<<'!s8N*!rrE&u"p"]'!<<'!qu6Wrrr2ruqu6Wrp\tO"s8N*!rrE*!!;lcr!<3!# !<<'!rr3-%s8N)Ls8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<)p%!<3'!!<3&us82lsrrW9$rrDfn!!)or!!)or!!*#u!s&B$!<3!&!<<'!s8N)u rr<&rrr<&us82lsrr<&rrriE&rrE*!quHWo!!*#u!s&B$!<3!"!<<)s!;lcr!<3!#!<<'!qu7') s8N*!rrE*!!<<'!qYpNqrr3'#s8N)ursJi,rrE*!!<<'!s8Vuss8N'!rr2rurr3'#s8N)urr<&u s8N)qrr<&urrW9$rrE&u!W`9#quHcs"p"]'!<<'!rr;uupAY3ps8N)urrW9$rrDoq#lt#*!<<'! s8N)urrrK'rrE*!!;lcr!<2uu!;lcr!;c`o!<<''!<<'!s8N)rrr<&urrW9$rrE&u"T\T&!7h,K eH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<)p%!<3'!!<3&us82lsrrW9$rrDfn!!)or!!)or!!*#u!s&B$!<3!&!<<'!s8N)u rr<&rrr<&us82lsrr<&rrriE&rrE*!quHWo!!*#u!s&B$!<3!"!<<)s!;lcr!<3!#!<<'!qu7') s8N*!rrE*!!<<'!qYpNqrr3'#s8N)ursJi,rrE*!!<<'!s8Vuss8N'!rr2rurr3'#s8N)urr<&u s8N)qrr<&urrW9$rrE&u!W`9#quHcs"p"]'!<<'!rr;uupAY3ps8N)urrW9$rrDoq#lt#*!<<'! s8N)urrrK'rrE*!!;lcr!<2uu!;lcr!;c`o!<<''!<<'!s8N)rrr<&urrW9$rrE&u"T\T&!7q2L ecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<)p%!<3'!!<3&us82lsrrW9$rrDfn!!)or!!)or!!*#u!s&B$!<3!&!<<'!s8N)u rr<&rrr<&us82lsrr<&rrriE&rrE*!quHWo!!*#u!s&B$!<3!"!<<)s!;lcr!<3!#!<<'!qu7') s8N*!rrE*!!<<'!qYpNqrr3'#s8N)ursJi,rrE*!!<<'!s8Vuss8N'!rr2rurr3'#s8N)urr<&u s8N)qrr<&urrW9$rrE&u!W`9#quHcs"p"]'!<<'!rr;uupAY3ps8N)urrW9$rrDoq#lt#*!<<'! s8N)urrrK'rrE*!!;lcr!<2uu!;lcr!;c`o!<<''!<<'!s8N)rrr<&urrW9$rrE&u"T\T&!7h,K eH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!;uis!<2uu!<)ot!;lcu!<<'!p\t3nqu6Wrqu6Wrrr3'#s8N)urrrK'rrE*!!<2uu !;lcr!<2uu!;lcr!;ld#!<<'!s8N)nrr<&urrW9$rrE&u!s&B$!;HKn!<3!#!<<'!qu6j#s8N*! rrE&u!W`6#qYpNqrr3'#s8N)ursSo-rrE*!!<<'!s8N)rrr<&urr<&urrW9$rrE&u!!)rs!!)or !!*#u!s&B$!<3!#!<<'!qu6j#s8N*!rrDus!!)cn!s&B$!<3!#!<<'!qYpj%rrE'!rrE*!!<3!& !<<'!s8N)rrr<&urr<&rrr<&rrr<&urs8]*rrE*!!<<'!qu6Wrrr3'#s8N)urriE&rrCULrm_(- !<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;uis!<2uu!<)ot!;lcu!<<'!p\t3nqu6Wrqu6Wrrr3'#s8N)urrrK'rrE*!!<2uu !;lcr!<2uu!;lcr!;ld#!<<'!s8N)nrr<&urrW9$rrE&u!s&B$!;HKn!<3!#!<<'!qu6j#s8N*! rrE&u!W`6#qYpNqrr3'#s8N)ursSo-rrE*!!<<'!s8N)rrr<&urr<&urrW9$rrE&u!!)rs!!)or !!*#u!s&B$!<3!#!<<'!qu6j#s8N*!rrDus!!)cn!s&B$!<3!#!<<'!qYpj%rrE'!rrE*!!<3!& !<<'!s8N)rrr<&urr<&rrr<&rrr<&urs8]*rrE*!!<<'!qu6Wrrr3'#s8N)urriE&rrCXMrmh., !<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;uis!<2uu!<)ot!;lcu!<<'!p\t3nqu6Wrqu6Wrrr3'#s8N)urrrK'rrE*!!<2uu !;lcr!<2uu!;lcr!;ld#!<<'!s8N)nrr<&urrW9$rrE&u!s&B$!;HKn!<3!#!<<'!qu6j#s8N*! rrE&u!W`6#qYpNqrr3'#s8N)ursSo-rrE*!!<<'!s8N)rrr<&urr<&urrW9$rrE&u!!)rs!!)or !!*#u!s&B$!<3!#!<<'!qu6j#s8N*!rrDus!!)cn!s&B$!<3!#!<<'!qYpj%rrE'!rrE*!!<3!& !<<'!s8N)rrr<&urr<&rrr<&rrr<&urs8]*rrE*!!<<'!qu6Wrrr3'#s8N)urriE&rrCULrm_(- !<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!;uis!<2uu!<)ot!<3!&!<<'!s8N)nrr<&rrr<&urrW9$rrE&u&HMk2!<<'!!<<'! s8N*!rr<&rrr<&urr<&urrW9$rrE&u#lt#*!<<'!s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;lcr!<3!#!<<'!qu6j#s8N*!rrE&u!W`6#qYpNqrr3W3s8N*!rr<'!rrE*!!<<'!s8N)urrW9$ rrE&u!!*#u%06G.!<<'!!<<'!s8N)rs8N*!rrW9$rrE&u!s&B$!<3!/!<<'!s8N*!rrE*!!<<'! p\t !rlhCrRM"7!;uis!<2uu!<)ot!<3!&!<<'!s8N)nrr<&rrr<&urrW9$rrE&u&HMk2!<<'!!<<'! s8N*!rr<&rrr<&urr<&urrW9$rrE&u#lt#*!<<'!s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;lcr!<3!#!<<'!qu6j#s8N*!rrE&u!W`6#qYpNqrr3W3s8N*!rr<'!rrE*!!<<'!s8N)urrW9$ rrE&u!!*#u%06G.!<<'!!<<'!s8N)rs8N*!rrW9$rrE&u!s&B$!<3!/!<<'!s8N*!rrE*!!<<'! p\t !rnaZrRCq5!;uis!<2uu!<)ot!<3!&!<<'!s8N)nrr<&rrr<&urrW9$rrE&u&HMk2!<<'!!<<'! s8N*!rr<&rrr<&urr<&urrW9$rrE&u#lt#*!<<'!s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;lcr!<3!#!<<'!qu6j#s8N*!rrE&u!W`6#qYpNqrr3W3s8N*!rr<'!rrE*!!<<'!s8N)urrW9$ rrE&u!!*#u%06G.!<<'!!<<'!s8N)rs8N*!rrW9$rrE&u!s&B$!<3!/!<<'!s8N*!rrE*!!<<'! p\t !rl_=rRCq5!;uis!<2uu!;ulr!<3!#!<<'!rr2ruqu6WrqZ$NprVuisrVult"TJK%rrE&urr<*" !;lcr!<)rs!<)rs!<3!&!<<'!!<<)u!;ZZo!<2uu!<2uu!<3#t!;ZZo!<2uu!;ld#!<<'!s8N)t rr<&prr<&urr<&us8N'+rrE*!!<<'!s8N)us8E#trr<&ts8E#ss8N'"rrE&urrDoq!s&?$!<)rs !<)rs!<3!&!<<'!s8N)us8N)trr<&rrr<&us8E#trr<&prr<&urr<&urr<&urrW9$rrE&urW)rt !!*#u!!)or!!)lqrW!9)!<3'!rrE*!!;c`q!!3*"rr;uu#6+]'rrCULrm_(-!<;lF"-`f)s8CLJ @K?FY~> !rlhCrRM"7!;uis!<2uu!;ulr!<3!#!<<'!rr2ruqu6WrqZ$NprVuisrVult"TJK%rrE&urr<*" !;lcr!<)rs!<)rs!<3!&!<<'!!<<)u!;ZZo!<2uu!<2uu!<3#t!;ZZo!<2uu!;ld#!<<'!s8N)t rr<&prr<&urr<&us8N'+rrE*!!<<'!s8N)us8E#trr<&ts8E#ss8N'"rrE&urrDoq!s&?$!<)rs !<)rs!<3!&!<<'!s8N)us8N)trr<&rrr<&us8E#trr<&prr<&urr<&urr<&urrW9$rrE&urW)rt !!*#u!!)or!!)lqrW!9)!<3'!rrE*!!;c`q!!3*"rr;uu#6+]'rrCXMrmh.,!<;lG"-il's8COK AH;a\~> !rnaZrRCq5!;uis!<2uu!;ulr!<3!#!<<'!rr2ruqu6WrqZ$NprVuisrVult"TJK%rrE&urr<*" !;lcr!<)rs!<)rs!<3!&!<<'!!<<)u!;ZZo!<2uu!<2uu!<3#t!;ZZo!<2uu!;ld#!<<'!s8N)t rr<&prr<&urr<&us8N'+rrE*!!<<'!s8N)us8E#trr<&ts8E#ss8N'"rrE&urrDoq!s&?$!<)rs !<)rs!<3!&!<<'!s8N)us8N)trr<&rrr<&us8E#trr<&prr<&urr<&urr<&urrW9$rrE&urW)rt !!*#u!!)or!!)lqrW!9)!<3'!rrE*!!;c`q!!3*"rr;uu#6+]'rrCULrm_(-!<;lF"-`f)s8CLJ RfNJ=~> !rl_=rRCq5!9O4\!.k1Jrr<&6rr<&Trr<%qrr<&nrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!9O4\!.k1Jrr<&6rr<&Trr<%qrr<&nrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!9O4\!.k1Jrr<&6rr<&Trr<%qrr<&nrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!9X:]!.k1Jrr<&5rr<&Urr<%prr<&nrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!9X:]!.k1Jrr<&5rr<&Urr<%prr<&nrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!9X:]!.k1Jrr<&5rr<&Urr<%prr<&nrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!.k1/rr<&4rr<%MrrN-"p\t9Es8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!.k1/rr<&4rr<%MrrN-"p\t9Fs8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!.k1/rr<&4rr<%MrrN-"p\t9Es8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<)rt!7_&I!;6?l!9!kW!;QQr!<<'!f)PaMmJd7gs8N)rrr<&Wrr<&drr<&^rr<&S rrW9$rrDNfrrDoq!!)-\!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<)rt!7_&I!;6?l!9!kW!;QQr!<<'!f)PaMmJd7gs8N)rrr<&Wrr<&drr<&^rr<&S rrW9$rrDNfrrDoq!!)-\!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<)rt!7_&I!;6?l!9!kW!;QQr!<<'!f)PaMmJd7gs8N)rrr<&Wrr<&drr<&^rr<&S rrW9$rrDNfrrDoq!!)-\!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!7UrJ!<)ot!;?Em!9!kW!;QQr!<<'!fDbgNli.%es8N)Prr<&drr<&^rr<&S rrW9$rrDQg!!(dR!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!7UrJ!<)ot!;?Em!9!kW!;QQr!<<'!fDbgNli.%es8N)Prr<&drr<&^rr<&S rrW9$rrDQg!!(dR!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uu!7UrJ!<)ot!;?Em!9!kW!;QQr!<<'!fDbgNli.%es8N)Prr<&drr<&^rr<&S rrW9$rrDQg!!(dR!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRD"7!<<)u!<<)u!<3!%!<3'!rrE#trW)rt!!*#u!!*#urrDfn!!)or"T\T&!<3&srr<&r rriE&!<<'!rVuisrr2rurr2rur;Z`rs8W&urr3'#s8N)rrr<&urr<&us8E#trr<&urr<&qs8E#q s8E#us8E#urr<&urr<&urr<&ts8E!$rrE'!!<3!&!<<'!rr<&ts8N'"rrE&urrDlprW)rt!s&?$ !<)rs!<2uu!<3!!!<<#ur;Qp#rrE*!!<2uu!<2uu!;lcu!<3$!rVuisrr3-%rrE*!!<)rs!;HNm !!N<%rr<&ts8E#qs8E#us8E#trriE&rrE'!lMgn8s8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM(9!<<)u!<<)u!<3!%!<3'!rrE#trW)rt!!*#u!!*#urrDfn!!)or"T\T&!<3&srr<&r rriE&!<<'!rVuisrr2rurr2rur;Z`rs8W&urr3'#s8N)rrr<&urr<&us8E#trr<&urr<&qs8E#q s8E#us8E#urr<&urr<&urr<&ts8E!$rrE'!!<3!&!<<'!rr<&ts8N'"rrE&urrDlprW)rt!s&?$ !<)rs!<2uu!<3!!!<<#ur;Qp#rrE*!!<2uu!<2uu!;lcu!<3$!rVuisrr3-%rrE*!!<)rs!;HNm !!N<%rr<&ts8E#qs8E#us8E#trriE&rrE'!lMgn9s8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRD"7!<<)u!<<)u!<3!%!<3'!rrE#trW)rt!!*#u!!*#urrDfn!!)or"T\T&!<3&srr<&r rriE&!<<'!rVuisrr2rurr2rur;Z`rs8W&urr3'#s8N)rrr<&urr<&us8E#trr<&urr<&qs8E#q s8E#us8E#urr<&urr<&urr<&ts8E!$rrE'!!<3!&!<<'!rr<&ts8N'"rrE&urrDlprW)rt!s&?$ !<)rs!<2uu!<3!!!<<#ur;Qp#rrE*!!<2uu!<2uu!;lcu!<3$!rVuisrr3-%rrE*!!<)rs!;HNm !!N<%rr<&ts8E#qs8E#us8E#trriE&rrE'!lMgn8s8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<3!#!<<'!rr3B,s8N'!rr<'!!<<'!rr3'#s8N)urrrK'rrE*!!;QQo!;ld!!<<'! !;lcr!;lfr!!iN(!<3'!rrE&u!s&B$!<2uu!;lcu!<<'!rr30&s8N*!rrDrr!!*#u!s&B$!<3!# !<<'!rr2ruqu6Wrrr2ruqu6`us8N)urrN3#!<2uu!<2uu!;uj !rlhCrRM"7!<3!#!<<'!rr3B,s8N'!rr<'!!<<'!rr3'#s8N)urrrK'rrE*!!;QQo!;ld!!<<'! !;lcr!;lfr!!iN(!<3'!rrE&u!s&B$!<2uu!;lcu!<<'!rr30&s8N*!rrDrr!!*#u!s&B$!<3!# !<<'!rr2ruqu6Wrrr2ruqu6`us8N)urrN3#!<2uu!<2uu!;uj !rnaZrRCq5!<3!#!<<'!rr3B,s8N'!rr<'!!<<'!rr3'#s8N)urrrK'rrE*!!;QQo!;ld!!<<'! !;lcr!;lfr!!iN(!<3'!rrE&u!s&B$!<2uu!;lcu!<<'!rr30&s8N*!rrDrr!!*#u!s&B$!<3!# !<<'!rr2ruqu6Wrrr2ruqu6`us8N)urrN3#!<2uu!<2uu!;uj !rl_=rRCq5!<2uu!;ld)!<<'!s8N*!rrE*!!<3!#!<<'!rr3'#s8N)lrr<&rrrW9$rrDoq!!)or "p"]'!<<'!qu6`us8N)urr<&rrrW9$rrE&u"p"]'!<<'!qu6Wrrr3'#s8N)urrW9$rrE&u!!)cn !!)or!s&B$!<3!)!<<'!s8N*!rrDrr!s&B$!<3!&!<<'!s8N)urrW9$rrE&u!s&B$!;-9n!<<'! rr3'#s8N)urrW9$rrE&u!s&B$!;ld&!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!,!<<'!s8N*! rrE*!!<2uu!;HKq!<<'!rr3'#s8N)urr<&rrr<&rrrrK'rrE*!!9jF`ec5X!!f@!Xq:,S3!6,!: ec0(Ys*t~> !rlhCrRM"7!<2uu!;ld)!<<'!s8N*!rrE*!!<3!#!<<'!rr3'#s8N)lrr<&rrrW9$rrDoq!!)or "p"]'!<<'!qu6`us8N)urr<&rrrW9$rrE&u"p"]'!<<'!qu6Wrrr3'#s8N)urrW9$rrE&u!!)cn !!)or!s&B$!<3!)!<<'!s8N*!rrDrr!s&B$!<3!&!<<'!s8N)urrW9$rrE&u!s&B$!;-9n!<<'! rr3'#s8N)urrW9$rrE&u!s&B$!;ld&!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!,!<<'!s8N*! rrE*!!<2uu!;HKq!<<'!rr3'#s8N)urr<&rrr<&rrrrK'rrE*!!9jF`f)Pa#!f-jVq:5Y5!5ed7 f)K:]s*t~> !rnaZrRCq5!<2uu!;ld)!<<'!s8N*!rrE*!!<3!#!<<'!rr3'#s8N)lrr<&rrrW9$rrDoq!!)or "p"]'!<<'!qu6`us8N)urr<&rrrW9$rrE&u"p"]'!<<'!qu6Wrrr3'#s8N)urrW9$rrE&u!!)cn !!)or!s&B$!<3!)!<<'!s8N*!rrDrr!s&B$!<3!&!<<'!s8N)urrW9$rrE&u!s&B$!;-9n!<<'! rr3'#s8N)urrW9$rrE&u!s&B$!;ld&!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!,!<<'!s8N*! rrE*!!<2uu!;HKq!<<'!rr3'#s8N)urr<&rrr<&rrrrK'rrE*!!9jF`ec5X!!f@!Xq:,S3!6,!: ec2*=s*t~> !rl_=rRCq5!<2uu!<3#s!<<'*!<<'!s8N*!rrE&u!s&B$!<2uu!<3#u!;HKn!;lcu!<<'!qYpNq qu6j#s8N*!rrE&ur;clt!s&B$!;c]s!<<)s!<<'$!<<'!qu6`us8N)urr<&urrW9$rrE&u!!)lq r;c`p!W`9#quHcs"p"]'!<<'!qu6`us8N)urrrK'rrE*!!<3!#!<<'!rr2rurr;uuq>^Bns8N'! rr3'#s8N)urrW9$rrE&u!s&B$!;ld)!<<'!s8N*!rrE*!!;c]q!<3!#!<<'!rr3?+s8N*!rrE*! !<<)s!;HKq!<<'!rr3$"s8Vusqu6Wrrr;oss8N0$s8N)_rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<2uu!<3#s!<<'*!<<'!s8N*!rrE&u!s&B$!<2uu!<3#u!;HKn!;lcu!<<'!qYpNq qu6j#s8N*!rrE&ur;clt!s&B$!;c]s!<<)s!<<'$!<<'!qu6`us8N)urr<&urrW9$rrE&u!!)lq r;c`p!W`9#quHcs"p"]'!<<'!qu6`us8N)urrrK'rrE*!!<3!#!<<'!rr2rurr;uuq>^Bns8N'! rr3'#s8N)urrW9$rrE&u!s&B$!;ld)!<<'!s8N*!rrE*!!;c]q!<3!#!<<'!rr3?+s8N*!rrE*! !<<)s!;HKq!<<'!rr3$"s8Vusqu6Wrrr;oss8N0$s8N)_rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<2uu!<3#s!<<'*!<<'!s8N*!rrE&u!s&B$!<2uu!<3#u!;HKn!;lcu!<<'!qYpNq qu6j#s8N*!rrE&ur;clt!s&B$!;c]s!<<)s!<<'$!<<'!qu6`us8N)urr<&urrW9$rrE&u!!)lq r;c`p!W`9#quHcs"p"]'!<<'!qu6`us8N)urrrK'rrE*!!<3!#!<<'!rr2rurr;uuq>^Bns8N'! rr3'#s8N)urrW9$rrE&u!s&B$!;ld)!<<'!s8N*!rrE*!!;c]q!<3!#!<<'!rr3?+s8N*!rrE*! !<<)s!;HKq!<<'!rr3$"s8Vusqu6Wrrr;oss8N0$s8N)_rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3'#s8N)urr<&srr<&orr<&rrrW9$rrDoq !!)or#lt#*!<<'!s8N)urr<&urrN3#!;c]t!<<'!qu6`us8N)qrrN3#!<2uu!<3!#!<<'!rr2ru qu6Wrrr2ruqu6`us8N)rrrrK'!<3'!!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!;uis!;lcr !<3!#!<<'!rr3'#s8N)urrW9$rrE&u!s&B$!;ld#!<<'!s8N)urrN3#!;c]q!<3!#!<<'!rr3B, s8N*!rrE*!!<<'!oD\mms8N)urrW9$rrDfn!s&B$!<3!&!<<'!s8N)_rrL[Mrm_(-!<;lF"-`f) s8CLJ@K?FY~> !rlhCrRM"7!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3'#s8N)urr<&srr<&orr<&rrrW9$rrDoq !!)or#lt#*!<<'!s8N)urr<&urrN3#!;c]t!<<'!qu6`us8N)qrrN3#!<2uu!<3!#!<<'!rr2ru qu6Wrrr2ruqu6`us8N)rrrrK'!<3'!!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!;uis!;lcr !<3!#!<<'!rr3'#s8N)urrW9$rrE&u!s&B$!;ld#!<<'!s8N)urrN3#!;c]q!<3!#!<<'!rr3B, s8N*!rrE*!!<<'!oD\mms8N)urrW9$rrDfn!s&B$!<3!&!<<'!s8N)_rrL^Nrmh.,!<;lG"-il' s8COKAH;a\~> !rnaZrRCq5!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3'#s8N)urr<&srr<&orr<&rrrW9$rrDoq !!)or#lt#*!<<'!s8N)urr<&urrN3#!;c]t!<<'!qu6`us8N)qrrN3#!<2uu!<3!#!<<'!rr2ru qu6Wrrr2ruqu6`us8N)rrrrK'!<3'!!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!;uis!;lcr !<3!#!<<'!rr3'#s8N)urrW9$rrE&u!s&B$!;ld#!<<'!s8N)urrN3#!;c]q!<3!#!<<'!rr3B, s8N*!rrE*!!<<'!oD\mms8N)urrW9$rrDfn!s&B$!<3!&!<<'!s8N)_rrL[Mrm_(-!<;lF"-`f) s8CLJRfNJ=~> !rl_=rRCq5!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3E-s8N*!rr<'!rrE*!!;HKn!<)ot!<2uu !;c]q!;ld&!<<'!s8N*!rrE&u!!*#u!W`6#qYpWts8N)urrrK'rrE*!!;c]s!<3&urr<&urs&Q( rrE*!!!)or!!*#u!!)or!s&B$!<2uu!<2uu!<2uu!;c]t!<<'!rr30&s8N*!rrE&u%06G.!<<'! !<<'!s8N)rrr<&ursAc+rr<'!rrE*!!<3!*!<<'!s8N'!s8N)rrrrK'rrE*!!<3!"!<3&qrr<&u rrW9$rrE&u$ip>-!<<'!s8N*!rrE&u!!)cn!s&B$!<3!#!<<'!rr2ruqu6`us8N)urrrK'rrE*! !9jF`ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3E-s8N*!rr<'!rrE*!!;HKn!<)ot!<2uu !;c]q!;ld&!<<'!s8N*!rrE&u!!*#u!W`6#qYpWts8N)urrrK'rrE*!!;c]s!<3&urr<&urs&Q( rrE*!!!)or!!*#u!!)or!s&B$!<2uu!<2uu!<2uu!;c]t!<<'!rr30&s8N*!rrE&u%06G.!<<'! !<<'!s8N)rrr<&ursAc+rr<'!rrE*!!<3!*!<<'!s8N'!s8N)rrrrK'rrE*!!<3!"!<3&qrr<&u rrW9$rrE&u$ip>-!<<'!s8N*!rrE&u!!)cn!s&B$!<3!#!<<'!rr2ruqu6`us8N)urrrK'rrE*! !9jF`f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<3!#!<<'!rr3B,s8N*!rrE*!!<<'!rr3E-s8N*!rr<'!rrE*!!;HKn!<)ot!<2uu !;c]q!;ld&!<<'!s8N*!rrE&u!!*#u!W`6#qYpWts8N)urrrK'rrE*!!;c]s!<3&urr<&urs&Q( rrE*!!!)or!!*#u!!)or!s&B$!<2uu!<2uu!<2uu!;c]t!<<'!rr30&s8N*!rrE&u%06G.!<<'! !<<'!s8N)rrr<&ursAc+rr<'!rrE*!!<3!*!<<'!s8N'!s8N)rrrrK'rrE*!!<3!"!<3&qrr<&u rrW9$rrE&u$ip>-!<<'!s8N*!rrE&u!!)cn!s&B$!<3!#!<<'!rr2ruqu6`us8N)urrrK'rrE*! !9jF`ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!<3#t!"&Z*rrE*!!<<'!rr;rtrVult!WN0!s8N)urr<&ps8;rrrr<&qrr<&r rrrK'rrE*!!<3#t!!3*"rr2ruq>^Hps8W&urr3'#s8N)prr<&ss8E#ss8N'"rrDoqrW!!!!;uis !<3#t!<)ot!<2uu!;c`q!!3*"rr30&s8N*!rrE&u!!*#urr<*"!<3#u!;ZZo!!`H'rrE'!!<)rs !<)rt!!WB&s8N'!r;Qs$s8N*!rrE#t!!)ip!!*#u!!*#urW)rt"p"]'!<<'!rr;rtrVlitqu?Zr !WN0!rr<&us8E#prr<&us8E!&rrE'!s8N)_rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<2uu!<3#t!"&Z*rrE*!!<<'!rr;rtrVult!WN0!s8N)urr<&ps8;rrrr<&qrr<&r rrrK'rrE*!!<3#t!!3*"rr2ruq>^Hps8W&urr3'#s8N)prr<&ss8E#ss8N'"rrDoqrW!!!!;uis !<3#t!<)ot!<2uu!;c`q!!3*"rr30&s8N*!rrE&u!!*#urr<*"!<3#u!;ZZo!!`H'rrE'!!<)rs !<)rt!!WB&s8N'!r;Qs$s8N*!rrE#t!!)ip!!*#u!!*#urW)rt"p"]'!<<'!rr;rtrVlitqu?Zr !WN0!rr<&us8E#prr<&us8E!&rrE'!s8N)_rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<2uu!<3#t!"&Z*rrE*!!<<'!rr;rtrVult!WN0!s8N)urr<&ps8;rrrr<&qrr<&r rrrK'rrE*!!<3#t!!3*"rr2ruq>^Hps8W&urr3'#s8N)prr<&ss8E#ss8N'"rrDoqrW!!!!;uis !<3#t!<)ot!<2uu!;c`q!!3*"rr30&s8N*!rrE&u!!*#urr<*"!<3#u!;ZZo!!`H'rrE'!!<)rs !<)rt!!WB&s8N'!r;Qs$s8N*!rrE#t!!)ip!!*#u!!*#urW)rt"p"]'!<<'!rr;rtrVlitqu?Zr !WN0!rr<&us8E#prr<&us8E!&rrE'!s8N)_rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!2]\q!9=(Z!3uP(!6>*>!8@GQ!5JO7ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!2]\q!9=(Z!3uP(!6>*>!8@GQ!5JO7f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!2]\q!9=(Z!3uP(!6>*>!8@GQ!5JO7ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!2fbr!9=(Z!4;b+!<2uu!6G0?!8@GQ!5AI6ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!2fbr!9=(Z!4;b+!<2uu!6G0?!8@GQ!5AI6f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!2fbr!9=(Z!4;b+!<2uu!6G0?!8@GQ!5AI6ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!2ohs!9=(Z!4)Y(!6G0?!1!Qbec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!2ohs!9=(Z!4)Y(!6G0?!1!Qbf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!2ohs!9=(Z!4)Y(!6G0?!1!Qbec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;ZWp!:Bdd!;$6j!;c]q!;QQo!:g'k!<<'!o`#!ns8N(Ms+14FrrL[Mrm_(- !<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<2uu!;ZWp!:Bdd!;$6j!;c]q!;QQo!:g'k!<<'!o`#!ns8N(Ms+14FrrL^Nrmh., !<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<2uu!;ZWp!:Bdd!;$6j!;c]q!;QQo!:g'k!<<'!o`#!ns8N(Ms+14FrrL[Mrm_(- !<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<2uu!;ZWp!:Bdd!;-9k!;ZWr!<3&prr<&hrrW9$rrD]k!s&B$!.k0$s7lTpec5X! !f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;ZWp!:Bdd!;-9k!;ZWr!<3&prr<&hrrW9$rrD]k!s&B$!.k0$s7lTpf)Pa# !f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!;ZWp!:Bdd!;-9k!;ZWr!<3&prr<&hrrW9$rrD]k!s&B$!.k0$s7lTpec5X! !f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!<3#u!<2uu!<3#t!<3!#!<3$!rVult!WN/rs8E#us8E#prrN3#!;uls!!3*" rr;rtrr3-%rr<'!s8E!$rrE'!!<)rs!<3!#!<<'!JcC<$q#:BFs8LOMM?*\PeH;$9`W,nes'c!. J,~> !rlhCrRM"7!<2uu!<3#u!<2uu!<3#t!<3!#!<3$!rVult!WN/rs8E#us8E#prrN3#!;uls!!3*" rr;rtrr3-%rr<'!s8E!$rrE'!!<)rs!<3!#!<<'!JcC<$q#:BGs8LRNL]IJNecV0;_Z0Scs()31 J,~> !rnaZrRCq5!<2uu!<3#u!<2uu!<3#t!<3!#!<3$!rVult!WN/rs8E#us8E#prrN3#!;uls!!3*" rr;rtrr3-%rr<'!s8E!$rrE'!!<)rs!<3!#!<<'!JcC<$q#:BFs8LOMM?*\PeH;$9`W,nes-j#g J,~> !rl_=rRCq5!<3!,!<<'!s8N*!rrE*!!<3!.!<<'!!<<'!s8N*!rr<&rrr<&urrW9$rrDoq!!*#u !!*#u#6=f(!!*'!!<3!4!<<'!!<<'!s8N*!rr<'!rrE*!!<3!&!<<'!s8N(Ms+14FrrL[Mrm_(- !<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<3!,!<<'!s8N*!rrE*!!<3!.!<<'!!<<'!s8N*!rr<&rrr<&urrW9$rrDoq!!*#u !!*#u#6=f(!!*'!!<3!4!<<'!!<<'!s8N*!rr<'!rrE*!!<3!&!<<'!s8N(Ms+14FrrL^Nrmh., !<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<3!,!<<'!s8N*!rrE*!!<3!.!<<'!!<<'!s8N*!rr<&rrr<&urrW9$rrDoq!!*#u !!*#u#6=f(!!*'!!<3!4!<<'!!<<'!s8N*!rr<'!rrE*!!<3!&!<<'!s8N(Ms+14FrrL[Mrm_(- !<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<3!#!<<'!r;Q`squ6`us8N)urrW9$rrE&u!!)or!!*#u!s&B$!;c]q!<2uu!<2uu !<3!#!<<'!rr3'#s8N)urrrK'rrE*!!<3!#!<<'!rr30&s8N*!rr@WMJcGNF!S.5LeH1U.s7t1I PQ8]&rRLpW!<7Q~> !rlhCrRM"7!<3!#!<<'!r;Q`squ6`us8N)urrW9$rrE&u!!)or!!*#u!s&B$!;c]q!<2uu!<2uu !<3!#!<<'!rr3'#s8N)urrrK'rrE*!!<3!#!<<'!rr30&s8N*!rr@WMJcGNF!S7;MecLX-s7t4J PlS]$rRV![!<7Q~> !rnaZrRCq5!<3!#!<<'!r;Q`squ6`us8N)urrW9$rrE&u!!)or!!*#u!s&B$!;c]q!<2uu!<2uu !<3!#!<<'!rr3'#s8N)urrrK'rrE*!!<3!#!<<'!rr30&s8N*!rr@WMJcGNF!S.5LeH1U.s7t1I PQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!<3#u!<2uu!<3#s!<<'!!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)qs82lrrr<&u rrW9$rrE&u!s&B$!<3!&!<<'!s8N)urrN3#s82lsrrW9$rr@WMJcGNF!S.5LeH1U.s7t1IPQ8]& rRLpW!<7Q~> !rlhCrRM"7!<2uu!<3#u!<2uu!<3#s!<<'!!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)qs82lrrr<&u rrW9$rrE&u!s&B$!<3!&!<<'!s8N)urrN3#s82lsrrW9$rr@WMJcGNF!S7;MecLX-s7t4JPlS]$ rRV![!<7Q~> !rnaZrRCq5!<2uu!<3#u!<2uu!<3#s!<<'!!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)qs82lrrr<&u rrW9$rrE&u!s&B$!<3!&!<<'!s8N)urrN3#s82lsrrW9$rr@WMJcGNF!S.5LeH1U.s7t1IPQ8]& rRLq;!<7Q~> !rl_=rRCq5!<2uu!;uj$!<<'!s8N)urrW9$rrE&u!s&B$!<2uu!;lcr!<3!#!<<'!qu6Wrr;Qj! s8N)urrW9$rrE&u!s&B$!<3!&!<<'!s8N)urrW9$rrDrr!s&B$!.k0$s7lTpec5X!!f@!Xq:,S3 !6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;uj$!<<'!s8N)urrW9$rrE&u!s&B$!<2uu!;lcr!<3!#!<<'!qu6Wrr;Qj! s8N)urrW9$rrE&u!s&B$!<3!&!<<'!s8N)urrW9$rrDrr!s&B$!.k0$s7lTpf)Pa#!f-jVq:5Y5 !5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!;uj$!<<'!s8N)urrW9$rrE&u!s&B$!<2uu!;lcr!<3!#!<<'!qu6Wrr;Qj! s8N)urrW9$rrE&u!s&B$!<3!&!<<'!s8N)urrW9$rrDrr!s&B$!.k0$s7lTpec5X!!f@!Xq:,S3 !6,!:ec2*=s*t~> !rl_=rRCq5!<3!,!<<'!s8N*!rrE*!!<3!#!<<'!rr33's8N*!rr<&rrr<&urrW9$rrDrr!!)rs $3:,+!<<'!!<<'!rr3'#s8N)urrrK'rrE*!!<3!#!<<'!rr30&s8N*!rr@WMJcGNF!S.5LeH1U. s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<3!,!<<'!s8N*!rrE*!!<3!#!<<'!rr33's8N*!rr<&rrr<&urrW9$rrDrr!!)rs $3:,+!<<'!!<<'!rr3'#s8N)urrrK'rrE*!!<3!#!<<'!rr30&s8N*!rr@WMJcGNF!S7;MecLX- s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<3!,!<<'!s8N*!rrE*!!<3!#!<<'!rr33's8N*!rr<&rrr<&urrW9$rrDrr!!)rs $3:,+!<<'!!<<'!rr3'#s8N)urrrK'rrE*!!<3!#!<<'!rr30&s8N*!rr@WMJcGNF!S.5LeH1U. s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!<3#u!<2uu!<3#t!!E6$rrE&u!!*#urr<*"!;c`p!<2uu!;lcr!;uis!<3#u !!3*"rr;rtrr2rurr30&s8N'!rrE&u!!*#urW)rt"p"]'!<<'!JcC<$qu6]Is8LOMM?*\PeH;$9 `W,nes'c!.J,~> !rlhCrRM"7!<2uu!<3#u!<2uu!<3#t!!E6$rrE&u!!*#urr<*"!;c`p!<2uu!;lcr!;uis!<3#u !!3*"rr;rtrr2rurr30&s8N'!rrE&u!!*#urW)rt"p"]'!<<'!JcC<$qu6]Js8LRNL]IJNecV0; _Z0Scs()31J,~> !rnaZrRCq5!<2uu!<3#u!<2uu!<3#t!!E6$rrE&u!!*#urr<*"!;c`p!<2uu!;lcr!;uis!<3#u !!3*"rr;rtrr2rurr30&s8N'!rrE&u!!*#urW)rt"p"]'!<<'!JcC<$qu6]Is8LOMM?*\PeH;$9 `W,nes-j#gJ,~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!:p-i!;ZWp!;HKn!;-9k!58F4!<)p"!<<'!qu6Wrq>UEpJcDMF!S.5LeH1U. s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!:p-i!;ZWp!;HKn!;-9k!58F4!<)p"!<<'!qu6Wrq>UEpJcDMF!S7;MecLX- s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uuMXpcIMY[8PMYI,NMY-oKMS9&iMZ*PWMZ<^6qu6YRq>UGPJcDMF!S.5LeH1U. s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!9sL`!;HKn!;-9k!5AI5!;lcu!<<'!o)A[iJcDMF!S.5LeH1U.s7t1IPQ8]& rRLpW!<7Q~> !rlhCrRM"7!<2uu!9sL`!;HKn!;-9k!5AI5!;lcu!<<'!o)A[iJcDMF!S7;MecLX-s7t4JPlS]$ rRV![!<7Q~> !rnaZrRCq5!<2uuMWt-@MYI,NMY-oKMSB)jMYmDUMZ<^6o)A]IJcDMF!S.5LeH1U.s7t1IPQ8]& rRLq;!<7Q~> !rl_=rRCq5!<2uu!;uis!<2uu!<3!"!<3&us8N)urrW9$!!)orrW)uurW)fp!s&?$!<)rs!<)rs !<3!"!<3&srrW9$!!)utrW)rt!s&?$!<)rs!;ZZo!<<)u!<)rs!!N<%rr<&urr<&us8N)urr<%M s.fSpec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;uis!<2uu!<3!"!<3&us8N)urrW9$!!)orrW)uurW)fp!s&?$!<)rs!<)rs !<3!"!<3&srrW9$!!)utrW)rt!s&?$!<)rs!;ZZo!<<)u!<)rs!!N<%rr<&urr<&us8N)urr<%M s.fSpf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<2uuMZ!JSMZ3VUMZ3VWMZ8S5s8RuUrr\/YMMh<2regaUregRP",d,9MZ*SSMZ*SS MZ3VWMZ8S3rr\/YMMhB4reg^T",d,9MZ*SSMY[;OMZ<_UMZ*SSM?Ns:s,)^5rr@rUs8RuUrr@q- s.fSpec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;uis!<2uu!<3!/!<3'!rrE*!!<<'!!<<'!qu6`us8N)urr<&rs8N*!rrW9$ rrE&u!s&B$!<3!$!<<'!!;lfr!<<'$!<<'!rr3<*s8N'!s8N*!rrE&u!!)or!!*#u!s&B$!;ld0 !<<'!!<<'!s8N*!rrE*!!<<'!JcDMF!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!;uis!<2uu!<3!/!<3'!rrE*!!<<'!!<<'!qu6`us8N)urr<&rs8N*!rrW9$ rrE&u!s&B$!<3!$!<<'!!;lfr!<<'$!<<'!rr3<*s8N'!s8N*!rrE&u!!)or!!*#u!s&B$!;ld0 !<<'!!<<'!s8N*!rrE*!!<<'!JcDMF!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uuMZ!JSMZ3VUMZ3VdMZ8S6s,-jVMZ<^6MZ<^6qu6bUs8RuUrr@rRs8RuVrr\/Y s,-gU",d-YMZ3VYMZ<^6MYmGRMZ<\YMZ<^6rr3=_s8Rt6s8RuVs,-gU!/g[R!/gdU",d-YMYmDe MZ<^6MZ<^6s8RuVs,-jVMZ<^6JcDMF!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!;ld)!<<'!s8N*!rrE*!!;uis!<2uu!;lcu!<<'!rr2ruqu6Wrrr3'#s8N)u rr<&rrrW9$rrDoq!!*#u!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrDrr!s&B$!<3!& !<<'!s8N)srr<%Ms.fSpec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;ld)!<<'!s8N*!rrE*!!;uis!<2uu!;lcu!<<'!rr2ruqu6Wrrr3'#s8N)u rr<&rrrW9$rrDoq!!*#u!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrDrr!s&B$!<3!& !<<'!s8N)srr<%Ms.fSpf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<2uuMYmD^MZ<^6s8RuVs,-jVMZ!JSMZ3VUMYmDUMZ<^6rr2tUqu6YRrr3(Xs8RuU rr@rRrr\/Ys,-[Q!/gdU",d-YMZ3VXMZ<^6rr3(Xs8RuUrr@rRrr@rUrr\/Ys,-^R",d-YMZ3V[ MZ<^6s8RuSrr@q-s.fSpec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;ld&!<<'!s8N*!rrE&urrE&u!!*#u!!)or!s&B$!<2uu!;lcr!<3!"!<<)s !<3#s!<<'!!;c]q!<3!#!<<'!rr3'#s8N)urrN3#s82lorr<&urrW9$rrDrr!s&B$!<3!#!<<'! rr;uurr2ruJcDMF!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!;ld&!<<'!s8N*!rrE&urrE&u!!*#u!!)or!s&B$!<2uu!;lcr!<3!"!<<)s !<3#s!<<'!!;c]q!<3!#!<<'!rr3'#s8N)urrN3#s82lorr<&urrW9$rrDrr!s&B$!<3!#!<<'! rr;uurr2ruJcDMF!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uuMYmD[MZ<^6s8RuVs,-gUs,-gU!/gdU!/g[R",d-YMZ3VUMYmDRMZ3VWMZ<_S MZ3YSMZ<\VMYd>QMZ3VXMZ<^6rr3(Xs8RuUrrS)Xs87cOrr@rUrr\/Ys,-^R",d-YMZ3VXMZ<^6 rr<"Urr2tUJcDMF!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!;ld&!<3'!!<3'!rrDus!s&B$!<2uu!;lcu!<<'!rr2ruqu6Wrrr3'#s8N)r rr<&urrW9$rrDoq!!*#u!s&B$!<3!#!<<'!rr3'#s8N)nrr<&urrW9$rrDrr!s&B$!<3!#!<<'! r;Qj!s8N(Ms.fSpec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;ld&!<3'!!<3'!rrDus!s&B$!<2uu!;lcu!<<'!rr2ruqu6Wrrr3'#s8N)r rr<&urrW9$rrDoq!!*#u!s&B$!<3!#!<<'!rr3'#s8N)nrr<&urrW9$rrDrr!s&B$!<3!#!<<'! r;Qj!s8N(Ms.fSpf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<2uuMYmD[MZ8S6MZ8S6s,-aS",d-YMZ3VUMYmDUMZ<^6rr2tUqu6YRrr3(Xs8RuR rr@rUrr\/Ys,-[Q!/gdU",d-YMZ3VXMZ<^6rr3(Xs8RuNrr@rUrr\/Ys,-^R",d-YMZ3VXMZ<^6 r;QkVs8Rt-s.fSpec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;c]q!<2uu!<3!)!<<'!s8N*!rrE&u!!)or!s&B$!<2uu!;lcr!<3!#!<<'! rr3'#s8N)urrW9$rrDoq!!*#u!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrDrr!s&B$ !<3!)!<<'!s8N*!rr@WMT`5&Cs8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!<2uu!;c]q!<2uu!<3!)!<<'!s8N*!rrE&u!!)or!s&B$!<2uu!;lcr!<3!#!<<'! rr3'#s8N)urrW9$rrDoq!!*#u!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrDrr!s&B$ !<3!)!<<'!s8N*!rr@WMT`5&Ds8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<2uuMYd>QMZ3VUMZ3V^MZ<^6s8RuVs,-gU!/g[R",d-YMZ3VUMYmDRMZ3VXMZ<^6 rr3(Xs8RuUrr\/Ys,-[Q!/gdU",d-YMZ3VXMZ<^6rr3(Xs8RuUrr@rRrr@rUrr\/Ys,-^R",d-Y MZ3V^MZ<^6s8RuVs,)C-T`5&Cs8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<2uu!;c]q!<2uu!<2uu!<3#u!<2uu!<2uu!;lfr!<<)u!;c]q!<2uu!<3#t!<)rs !!E6$rrDoq!!*#u!!*#urW)rt!!*#u!!*#urW)corW)rt!!)orrr<*"!<3!#!<<'!rr;uurr2ru JcDMF!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!;c]q!<2uu!<2uu!<3#u!<2uu!<2uu!;lfr!<<)u!;c]q!<2uu!<3#t!<)rs !!E6$rrDoq!!*#u!!*#urW)rt!!*#u!!*#urW)corW)rt!!)orrr<*"!<3!#!<<'!rr;uurr2ru JcDMF!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uuMYd>QMZ3VUMZ3VUMZ3YUMZ3VUMZ3VUMYmGRMZ<_UMYd>QMZ3VUMZ3YTMZ*SS M?Em9s,-[Q!/gdU!/gdUreg^T!/gdU!/gdUregOOreg^T!/g[Rs,$jWMZ3VXMZ<^6rr<"Urr2tU JcDMF!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;HKte#o70V7k]9s+13CrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;HKtSOaCo'1e[Fs+13CrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!;QQordk*#s-`lfec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;ZX%kb3shgtglHikP#7s+13ErrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;ZWrc8>V!WW>!&JcC<$UAk8Es8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!;c]rrr%EJJcD,;!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!;c]sk`2nDrrV8mo7?pms.fSpf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;c]sckBFUrrT26c@Q"Hs.fSpec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!;c`qrIP!"s-Wfeec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;c^#T8'TMgYCWMrr3#Td"24Js.fSpf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;c]t2ZQkXri,t !rl_=rRCq5!;lctrVZVFs+13;rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;ld&d"R4>Z]^ZEWpBZa!Pn&Qs+13GrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;ld!TE5*4 !rl_=rRCq5!;lfrqZ6ZpJcC<$RK!< !rlhCrRM"7!;ld&VM0b\N00EqT],nM!OpL.s+13GrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;lcs9EP%j!36%u!<>ZAs+13GrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!;lcuqYU6jJcC<$RK!< !rlhCrRM"7!;ld+N.cq@N0' !rnaZrRCq5!;lct(BO[9!!YCAs8S#X'7p17s.oYqec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!;lcuq>:*hJcC<$RK!< !rlhCrRM"7!;ld+JqSi5MN3mfl2UeM['$Q_s+13GrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;lfr"98N$!!^ICs2GuX!.k0$s.oYqec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!;lcuq>1$fJcC<$RK!< !rlhCrRM"7!;ld+MM$V;Ll@nfs8VA[Vl?qPs+13GrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;lct)$C$?!!F7\s8U+ !rl_=rRCq5!;lfrq?$Qmrdk*#s-irgec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;ld+V1XGULPk6os3dj=USY_Vs+13GrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;ld'9EYCu!!(%=s,7or!!#Q@s+13GrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!;lcur;$6fJcC<$RK!< !rlhCrRM"7!<3!1!<<)EJqTC!!)9`!s&B$!;QQo!;lcr!;c]q!:g'h!7(TK !<<'!s8N)rrr<&Hrr<&orr<&^rr<&krr<&irr<&5rr<&brrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<3!*!<<(m"p?$fs8U+9!!&Sdrr<&`rrW9$rrDio!!)or!!)lq!!)Qh!!(=E"p"]' !<<'!qu6WrdJj1Hq#: !rl_=rRCq5!;c]sq>1#?s+13 !rlhCrRM"7!<2uu!<3!"AqR2ars$]S[^`o\Yke;!!9X:]!;QQo!;lfr!;uls!:g'h!6bBE!<<'! qu6Wra8Z,>kPkM^o`"mko)A[i^Ae05li.":s8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<2uu!<3!""pA$,rrA#U<<+oPrr<&]rr<&orr<&rs8N)ss8N)hrr<&BrrW9$rrDrr !!((>!!)3^!!)Zk!!)Ti!!'b5!!)?b!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!;c]srqZJCs+13 !rlhCrRM"7!<2uu!<3!"(Q, !rnaZrRCq5!<2uu!<3!"!#\l5rrULGs8E#us8E#qs8E#prrW9$!!*#u! !rl_=rRCq5!;ZWrrqlZnrdk*#s.0/jec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)p&!<<'!kH`[irmqA,g#B@-!<<'!s8N*!rrE&u #6=f(!<<'!!;uis!<2uu!<3!)!<3$!s8N*!rrE&u#6=f(!!*'!!;uis!<2uu!<3!"!<3&urr<&r s8N'(rr<'!!<<'!rr3'#s8N)urrW9$rrDBb!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<)p$!<<'!ct<-S"M:]6rrE&u!s&B$!;lcr!<2uu!;lfr!<<'*!<<'!s8N*!rrE&u !s&B$!;lct!<3&urriE&!<<'!rr3'#s8N)ursAc+rr<'!rrE*!!<2uu!;lcr!<3!#!<<'!rr3'# s8N)urr<&srr<&urr<&urs/W)!<<'!s8N)rs8N*!rrW9$rrE&u!!)orrr<<(!!*$!s8N)urs&Q( rr<'!rrE&u!!)or%06G.!!*'!!<<'!s8N)urs&Q(rr<'!rrE&u$ip>-!<<'!s8N*!rrE&u#6=f( !<<'!!;uis!<2uu!<3!)!<3$!s8N*!rrE&u#6=f(!!*'!!;uis!<2uu!<3!"!<3&urr<&rs8N'( rr<'!!<<'!rr3'#s8N)urrW9$rrDBb!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!;HKsrVQKirVhBJJcDAB!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<)p-!<3'!!<4dNN.lVXdf0=ErrW9$rrDfn!!)or!!*#u#lt#*!<<'!s8N)urrW9$ rrDrr!W`6#rr3$"rrDrr!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr3'#s8N)urr<&u rr<&rrrW9$rrE&u"p"]'!<<'!rr3'#s8N)urr<&urrW9$rrDus!s&B$!<3!#!<<'!rr2ruqu6s& s8N*!rrE*!!<3!#!<<'!rr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr2ruqu6s&s8N*!rrE*!!<3!# !<<'!rr3'#s8N)brrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<)p-!<3'!!<3*m'`nA+Sc8]errW9$rrDfn!!)or!!*#u#lt#*!<<'!s8N)urrW9$ rrDrr!W`6#rr3$"rrDrr!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrW9$rrE&u!s&B$!<2uu !;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr3'#s8N)urr<&u rr<&rrrW9$rrE&u"p"]'!<<'!rr3'#s8N)urr<&urrW9$rrDus!s&B$!<3!#!<<'!rr2ruqu6s& s8N*!rrE*!!<3!#!<<'!rr3'#s8N)urr<&rrs8]*rrE*!!<<'!rr2ruqu6s&s8N*!rrE*!!<3!# !<<'!rr3'#s8N)brrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)p%!<3'!!<3&urr<&urr<&us8;rtrr<&qs8;rprr<&ursSo-rrE*!!<<'!s8N)u rr<&rrs/W)rrE'!s8N)us8;rtrrW9$rrE&u!!*#u!W`9#quHWo!s&B$!<2uu!<3!#!<<'!rr2ru qu70,s8N*!rrE*!!<<'!s8N)rrr<&urrN3#s82lors8]*rrE*!!<<'!rr3'#s8N)us82lorrW9$ rrE&u"T\T&!<<)s!<<'!!<3#r!<3#u!<3!"!<<)s!<<'!!<2uu!;ld&!<<'!s8N*!rrE&u!W`9# quHcs!!*#u!!)or#QXo)!<<'!s8Vusqu6p%s8N*!rrE*!quHcsquHcs!!)?b!S7;MecLX-s7t4J PlS]$rRV![!<7Q~> !rnaZrRCq5!<)p%!<3'!!<3&urr<&urr<&us8;rtrr<&qs8;rprr<&ursSo-rrE*!!<<'!s8N)u rr<&rrs/W)rrE'!s8N)us8;rtrrW9$rrE&u!!*#u!W`9#quHWo!s&B$!<2uu!<3!#!<<'!rr2ru qu70,s8N*!rrE*!!<<'!s8N)rrr<&urrN3#s82lors8]*rrE*!!<<'!rr3'#s8N)us82lorrW9$ rrE&u"T\T&!<<)s!<<'!!<3#r!<3#u!<3!"!<<)s!<<'!!<2uu!;ld&!<<'!s8N*!rrE&u!W`9# quHcs!!*#u!!)or#QXo)!<<'!s8Vusqu6p%s8N*!rrE*!quHcsquHcs!!)?b!S.5LeH1U.s7t1I PQ8]&rRLq;!<7Q~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;uis!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rrr<&urrrK'rrE*!!<3!" !<3&urr<&rrsJi,rrE'!s8N*!rrE&u!!*#u!W`6#rr2rurr3'#s8N)mrrN3#!<2uu!<3!#!<<'! rr2ruqu70,rrE'!rrE*!!<<'!s8N)rrr<&urrW9$rrDfn#lt#*!<<'!s8N)urrW9$rrE&u!!)cn !s&B$!<3!&!<<'!s8N)rrr<&urr<&orrrK'rrE*!!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u!s&B$ !;lcr!<2uu!;ld&!<3'!!<3'!rrDfn#lt#*!<<'!s8N)rrr<&rrr<&brrL^Nrmh.,!<;lG"-il' s8COKAH;a\~> !rnaZrRCq5!;uis!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rrr<&urrrK'rrE*!!<3!" !<3&urr<&rrsJi,rrE'!s8N*!rrE&u!!*#u!W`6#rr2rurr3'#s8N)mrrN3#!<2uu!<3!#!<<'! rr2ruqu70,rrE'!rrE*!!<<'!s8N)rrr<&urrW9$rrDfn#lt#*!<<'!s8N)urrW9$rrE&u!!)cn !s&B$!<3!&!<<'!s8N)rrr<&urr<&orrrK'rrE*!!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u!s&B$ !;lcr!<2uu!;ld&!<3'!!<3'!rrDfn#lt#*!<<'!s8N)rrr<&rrr<&brrL[Mrm_(-!<;lF"-`f) s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;uis!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rs8N*!rrrK'rrE*!!<3!" !<3&nrr<&urr<&urrW9$rrE&u!!*#u!W`6#rr;uus8N0$s8N)urr<&qrrN3#!<2uu!<3!'!<<'! s8N'!qYpNqrr2rurr30&s8N*!rrDrrrrE*!!s&B$!<2uu!;ld&!<<'!s8N*!rrE&u!s&B$!<2uu !<2uu!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!<3!,!<<'!s8N*!rrE*!!<3!'!<<'!s8N'! qYpNqrr2rurr2rurr3'#s8N)urrW9$rrE&u!!)lq!!*#u!!*#u!!*#u!!)or#lt#*!<<'!s8N)u rrW9$rrE&u!s&B$!:0Xcf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;uis!<2uu!<)ot!<3!#!<<'!rr3'#s8N)rrr<&urr<&rs8N*!rrrK'rrE*!!<3!" !<3&nrr<&urr<&urrW9$rrE&u!!*#u!W`6#rr;uus8N0$s8N)urr<&qrrN3#!<2uu!<3!'!<<'! s8N'!qYpNqrr2rurr30&s8N*!rrDrrrrE*!!s&B$!<2uu!;ld&!<<'!s8N*!rrE&u!s&B$!<2uu !<2uu!;lcu!<<'!rr30&s8N*!rrE&u!s&B$!<2uu!<3!,!<<'!s8N*!rrE*!!<3!'!<<'!s8N'! qYpNqrr2rurr2rurr3'#s8N)urrW9$rrE&u!!)lq!!*#u!!*#u!!*#u!!)or#lt#*!<<'!s8N)u rrW9$rrE&u!s&B$!:0Xcec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;uis!<2uu!<)ot!<2uu!<3#t!!N<%rr<&rs8E!!rrDus!s&?$!<3!$!<<'!!<2uu !<)ot!;lcr!<2uu!<2uu!<3#t!!3*"rr2rurVls"rr<&ts8E#nrr<&ss8E#ss8N'"rrDoq!!*#u !!*#u"p"]'!<<'!qu6`urr<&ts8E#prrrK'rrE*!!<3#t!<2uu!<)rs!;c]t!<<'!rr30&s8N'! s8W&urr2rurVuisrVultrr;uus8W&urVult!WN/rrr<&urr<&urr<&urr<&us8E#trr<&urr<&q rr<&urr<&ts8E#prrrK'rrE*!!<3#t!<)rs!<3#u!:9^df)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;uis!<2uu!<)ot!<2uu!<3#t!!N<%rr<&rs8E!!rrDus!s&?$!<3!$!<<'!!<2uu !<)ot!;lcr!<2uu!<2uu!<3#t!!3*"rr2rurVls"rr<&ts8E#nrr<&ss8E#ss8N'"rrDoq!!*#u !!*#u"p"]'!<<'!qu6`urr<&ts8E#prrrK'rrE*!!<3#t!<2uu!<)rs!;c]t!<<'!rr30&s8N'! s8W&urr2rurVuisrVultrr;uus8W&urVult!WN/rrr<&urr<&urr<&urr<&us8E#trr<&urr<&q rr<&urr<&ts8E#prrrK'rrE*!!<3#t!<)rs!<3#u!:9^dec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!7UrJ!;$3j!94"Y!9sL`!.k0)rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!7UrJ!;$3j!94"Y!9sL`!.k0)rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!7UrJ!;-9k!94"Y!9sL`!.k0(rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!7UrJ!;-9k!94"Y!9sL`!.k0(rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!7UrJ!;6?l!94"Y!9sL`!.k0'rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!7UrJ!;6?l!94"Y!9sL`!.k0'rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!9sL`!.k0$s/>quf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!9sL`!.k0$s/>quec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)rs!<)rt!!3*"rr;rtrr30&s8N*!!!%TMJcDnQ!S7;MecLX-s7t4JPlS]$rRV![ !<7Q~> !rnaZrRCq5!<)rs!<)rt!!3*"rr;rtrr30&s8N*!!!%TMJcDnQ!S.5LeH1U.s7t1IPQ8]&rRLq; !<7Q~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!<3!*!<<'!s8N'!s8N)ursAc+rrE*!!!*'!!.k0$s0)G'f)Pa#!f-jVq:5Y5 !5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!<3!*!<<'!s8N'!s8N)ursAc+rrE*!!!*'!!.k0$s0)G'ec5X!!f@!Xq:,S3 !6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;c]t!<<'!rr2ruqu6j#s8N*!rrE&u!!%TMJcDqR!S7;MecLX-s7t4JPlS]$rRV![ !<7Q~> !rnaZrRCq5!;c]t!<<'!rr2ruqu6j#s8N*!rrE&u!!%TMJcDqR!S.5LeH1U.s7t1IPQ8]&rRLq; !<7Q~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)rr!<<'!!<2uu!<3#s!<<'$!<<'!rr2ruJcC<$YQ"XSs8LRNL]IJNecV0;_Z0Sc s()31J,~> !rnaZrRCq5!<)rr!<<'!!<2uu!<3#s!<<'$!<<'!rr2ruJcC<$YQ"XRs8LOMM?*\PeH;$9`W,ne s-j#gJ,~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!<3!#!<<'!rr3'#s8N)urrrK'rrE*!!<2uu!.k0$s0)G'f)Pa#!f-jVq:5Y5 !5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!<3!#!<<'!rr3'#s8N)urrrK'rrE*!!<2uu!.k0$s0)G'ec5X!!f@!Xq:,S3 !6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!<3!*!<<'!s8N'!s8N)urrrK'rrE*!!<2uu!.k0$s0)G'f)Pa#!f-jVq:5Y5 !5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!<3!*!<<'!s8N'!s8N)urrrK'rrE*!!<2uu!.k0$s0)G'ec5X!!f@!Xq:,S3 !6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)rs!!iN(s8N'!rrE&urW!0&!<3'!rrE&u!s&B$!.k0$s0DY*f)Pa#!f-jVq:5Y5 !5ed7f)K:]s*t~> !rnaZrRCq5!<)rs!!iN(s8N'!rrE&urW!0&!<3'!rrE&u!s&B$!.k0$s0DY*ec5X!!f@!Xq:,S3 !6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;$3j!.k0$s.95kf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;$3j!.k0$s.95kec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;HKn!<2uu!.k0$s.95kf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;HKn!<2uu!.k0$s.95kec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;?Hl!.k0$s.0/jf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;?Hl!.k0$s.0/jec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;lcr!94"\!<<'!qu6Wrq#: !rlhCrRM"7!<2uu!;lcr!94"\!<<'!qu6Wrq#: !rnaZrRCq5!<2uu!;lcr!94"\!<<'!qu6Wrq#: !rl_=rRCq5!<2uu!;lcr!8meV!;lcr!;QQo!8%5N!;QQo!;-9k!;-9k!6"m>!<<'!qu6WrUAk;q s8N)Qrr<&ors&Q(rrE*!ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;lcr!8meV!;lcr!;QQo!8%5N!;QQo!;-9k!;-9k!6"m>!<<'!qu6WrUAk;q s8N)Qrr<&ors&Q(rrE*!f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!;lcr!8meV!;lcr!;QQo!8%5N!;QQo!;-9k!;-9k!6"m>!<<'!qu6WrUAk;q s8N)Qrr<&ors&Q(rrE*!ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;lcu!<3$!rVuisrr3'#rr<&ts8E#prrE-"rW)osrW)uurW)rt!s&B$!<3#t !<)rt!;ZZo!;lcr!<2uu!<3!%!<3'!!!*#u!s&B$!<3#t!;c]t!<3$!rVuiss8W&us8W&urr3*$ rrE*!rW)fp!!*#u!!*#urW)rt!!*#u!!)rs!!*#u!!*#u#QXl)s8N*!rrDrr!s&?$!<)rs!<3!$ !<3'!s8E#prriE&!<<'!rVuisq>^EorVult!WN0!s8E#trrrK'rrE'!!;lcr!<2uu!<3!#!<3'! rW!*$!<3$!qYpNqrr2rurr;rtrr2rurr3-%s8N*!!<)rs!<<)u!<3!'!<<'!s8UXLrm_(-!<;lF "-`f)s8CLJ@K?FY~> !rlhCrRM"7!<2uu!;lcu!<3$!rVuisrr3'#rr<&ts8E#prrE-"rW)osrW)uurW)rt!s&B$!<3#t !<)rt!;ZZo!;lcr!<2uu!<3!%!<3'!!!*#u!s&B$!<3#t!;c]t!<3$!rVuiss8W&us8W&urr3*$ rrE*!rW)fp!!*#u!!*#urW)rt!!*#u!!)rs!!*#u!!*#u#QXl)s8N*!rrDrr!s&?$!<)rs!<3!$ !<3'!s8E#prriE&!<<'!rVuisq>^EorVult!WN0!s8E#trrrK'rrE'!!;lcr!<2uu!<3!#!<3'! rW!*$!<3$!qYpNqrr2rurr;rtrr2rurr3-%s8N*!!<)rs!<<)u!<3!'!<<'!s8U[Mrmh.,!<;lG "-il's8COKAH;a\~> !rnaZrRCq5!<2uu!;lcu!<3$!rVuisrr3'#rr<&ts8E#prrE-"rW)osrW)uurW)rt!s&B$!<3#t !<)rt!;ZZo!;lcr!<2uu!<3!%!<3'!!!*#u!s&B$!<3#t!;c]t!<3$!rVuiss8W&us8W&urr3*$ rrE*!rW)fp!!*#u!!*#urW)rt!!*#u!!)rs!!*#u!!*#u#QXl)s8N*!rrDrr!s&?$!<)rs!<3!$ !<3'!s8E#prriE&!<<'!rVuisq>^EorVult!WN0!s8E#trrrK'rrE'!!;lcr!<2uu!<3!#!<3'! rW!*$!<3$!qYpNqrr2rurr;rtrr2rurr3-%s8N*!!<)rs!<<)u!<3!'!<<'!s8UXLrm_(-!<;lF "-`f)s8CLJRfNJ=~> !rl_=rRCq5!<2uu!;lfr!<<'$!<<'!rr3<*s8N'!s8N*!rrE&u!!)or!s&B$!;lcu!<<'!rr3-% s8N*!!<2uu!<3!&!<<'!s8N)rrr<&urr<&srr<&urr<&urso,0!!*'!!<<'!s8N*!rrE&u!!)or rrE*!!s&B$!<3!&!<<'!s8N)urs&Q(rr<'!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr2rur;Q`s rr2rurr36(rrE*!!<<'!qu?Zrs8N0$s8N)urs&Q(rr<'!rrE&u!!)orrr<<(!!*$!s8N)urr<&r rr<&ursAc+rrE*!!!*'!!<3!*!<<'!s8N'!s8N)srr<&urr<&ursSo-!<<'!s8N'!s8N)rrr<&u rrW9$rrE&u!s&B$!<3!$!<<'!!;lcu!<<'!rr3<*s8N*!rrE'!ec5X!!f@!Xq:,S3!6,!:ec0(Y s*t~> !rlhCrRM"7!<2uu!;lfr!<<'$!<<'!rr3<*s8N'!s8N*!rrE&u!!)or!s&B$!;lcu!<<'!rr3-% s8N*!!<2uu!<3!&!<<'!s8N)rrr<&urr<&srr<&urr<&urso,0!!*'!!<<'!s8N*!rrE&u!!)or rrE*!!s&B$!<3!&!<<'!s8N)urs&Q(rr<'!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr2rur;Q`s rr2rurr36(rrE*!!<<'!qu?Zrs8N0$s8N)urs&Q(rr<'!rrE&u!!)orrr<<(!!*$!s8N)urr<&r rr<&ursAc+rrE*!!!*'!!<3!*!<<'!s8N'!s8N)srr<&urr<&ursSo-!<<'!s8N'!s8N)rrr<&u rrW9$rrE&u!s&B$!<3!$!<<'!!;lcu!<<'!rr3<*s8N*!rrE'!f)Pa#!f-jVq:5Y5!5ed7f)K:] s*t~> !rnaZrRCq5!<2uu!;lfr!<<'$!<<'!rr3<*s8N'!s8N*!rrE&u!!)or!s&B$!;lcu!<<'!rr3-% s8N*!!<2uu!<3!&!<<'!s8N)rrr<&urr<&srr<&urr<&urso,0!!*'!!<<'!s8N*!rrE&u!!)or rrE*!!s&B$!<3!&!<<'!s8N)urs&Q(rr<'!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr2rur;Q`s rr2rurr36(rrE*!!<<'!qu?Zrs8N0$s8N)urs&Q(rr<'!rrE&u!!)orrr<<(!!*$!s8N)urr<&r rr<&ursAc+rrE*!!!*'!!<3!*!<<'!s8N'!s8N)srr<&urr<&ursSo-!<<'!s8N'!s8N)rrr<&u rrW9$rrE&u!s&B$!<3!$!<<'!!;lcu!<<'!rr3<*s8N*!rrE'!ec5X!!f@!Xq:,S3!6,!:ec2*= s*t~> !rl_=rRCq5!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrE&u!!)or!s&B$!;lcr!;ld!!<<'! !<)ot!<3!#!<<'!o`"mkqu6s&s8N*!rrE*!!<3!)!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!& !<<'!s8N)urrW9$rrE&u!!*#u!!)or!!*#u!s&B$!<3!#!<<'!rr2ruqu70,s8N*!rrE*!!<<'! s8N)rrr<&urrW9$rrE&u!s&B$!<2uu!<2uu!;ld&!<<'!s8N*!rrE&u!!)cn!s&B$!<2uu!;ld# !<<'!s8N)urr<&rrso,0rrE*!!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr3'#s8N)q rr<&rrsAc+rrE*!!!*&Ls8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrE&u!!)or!s&B$!;lcr!;ld!!<<'! !<)ot!<3!#!<<'!o`"mkqu6s&s8N*!rrE*!!<3!)!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!& !<<'!s8N)urrW9$rrE&u!!*#u!!)or!!*#u!s&B$!<3!#!<<'!rr2ruqu70,s8N*!rrE*!!<<'! s8N)rrr<&urrW9$rrE&u!s&B$!<2uu!<2uu!;ld&!<<'!s8N*!rrE&u!!)cn!s&B$!<2uu!;ld# !<<'!s8N)urr<&rrso,0rrE*!!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr3'#s8N)q rr<&rrsAc+rrE*!!!*&Ms8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrE&u!!)or!s&B$!;lcr!;ld!!<<'! !<)ot!<3!#!<<'!o`"mkqu6s&s8N*!rrE*!!<3!)!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!& !<<'!s8N)urrW9$rrE&u!!*#u!!)or!!*#u!s&B$!<3!#!<<'!rr2ruqu70,s8N*!rrE*!!<<'! s8N)rrr<&urrW9$rrE&u!s&B$!<2uu!<2uu!;ld&!<<'!s8N*!rrE&u!!)cn!s&B$!<2uu!;ld# !<<'!s8N)urr<&rrso,0rrE*!!<<'!s8N*!rrE&u!!)or!!*#u!s&B$!<3!#!<<'!rr3'#s8N)q rr<&rrsAc+rrE*!!!*&Ls8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrN3#s82lorrW9$rrDrr!!*#ur;cltrrE#t quH`rrrDlpr;c`p#lt#*!<<'!s8N)urs/W)rrE*!!<<)s!;lcr!<3!"!<<)s!<<'$!<<'!rr3'# s8N)us82lorrW9$rrE&u!!*#u!s&B$!<2uu!;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)u rrW9$rrE&uquHWo#QXo)!<<'!s8VusqZ$Kos8N'!rr2rurr;oss8N0$s8N)urr<&rrso,0rrE*! !<<'!s8N*!rrE&u!!)or!s&B$!<2uu!<3!#!<<'!rr3'#s8N)qrr<&us8;rtrs&Q(rr<'!ec5X! !f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrN3#s82lorrW9$rrDrr!!*#ur;cltrrE#t quH`rrrDlpr;c`p#lt#*!<<'!s8N)urs/W)rrE*!!<<)s!;lcr!<3!"!<<)s!<<'$!<<'!rr3'# s8N)us82lorrW9$rrE&u!!*#u!s&B$!<2uu!;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)u rrW9$rrE&uquHWo#QXo)!<<'!s8VusqZ$Kos8N'!rr2rurr;oss8N0$s8N)urr<&rrso,0rrE*! !<<'!s8N*!rrE&u!!)or!s&B$!<2uu!<3!#!<<'!rr3'#s8N)qrr<&us8;rtrs&Q(rr<'!f)Pa# !f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrN3#s82lorrW9$rrDrr!!*#ur;cltrrE#t quH`rrrDlpr;c`p#lt#*!<<'!s8N)urs/W)rrE*!!<<)s!;lcr!<3!"!<<)s!<<'$!<<'!rr3'# s8N)us82lorrW9$rrE&u!!*#u!s&B$!<2uu!;ld,!<<'!s8N*!rrE*!!<<'!qu6Wrrr3'#s8N)u rrW9$rrE&uquHWo#QXo)!<<'!s8VusqZ$Kos8N'!rr2rurr;oss8N0$s8N)urr<&rrso,0rrE*! !<<'!s8N*!rrE&u!!)or!s&B$!<2uu!<3!#!<<'!rr3'#s8N)qrr<&us8;rtrs&Q(rr<'!ec5X! !f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrDfn!s&B$!;lcu!<<'!rr3-%s8N*! !<2uu!;QQo!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u#lt#*!<<'!s8N)nrr<&urrW9$rrDrr!s&B$ !<3!#!<<'!rr2rupAY0orrE&u!!*#u!s&B$!<2uu!;ld,!<3'!!<3'!rrE*!!<<'!qu6Wrrr3'# s8N)urrW9$rrE&u!!)cn#lt#*!<<'!s8N)nrr<&urrW9$rrE&u!s&B$!<3!&!<<'!s8N)urr<&r rso,0!<3'!!<<'!s8N*!rrE&u!!)lq!W`6#rr2rurr3'#s8N)urrW9$rrDoq!s&B$!<3!*!<<'! s8N*!!7h,KeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrDfn!s&B$!;lcu!<<'!rr3-%s8N*! !<2uu!;QQo!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u#lt#*!<<'!s8N)nrr<&urrW9$rrDrr!s&B$ !<3!#!<<'!rr2rupAY0orrE&u!!*#u!s&B$!<2uu!;ld,!<3'!!<3'!rrE*!!<<'!qu6Wrrr3'# s8N)urrW9$rrE&u!!)cn#lt#*!<<'!s8N)nrr<&urrW9$rrE&u!s&B$!<3!&!<<'!s8N)urr<&r rso,0!<3'!!<<'!s8N*!rrE&u!!)lq!W`6#rr2rurr3'#s8N)urrW9$rrDoq!s&B$!<3!*!<<'! s8N*!!7q2LecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uu!;lcr!<3!#!<<'!rr3'#s8N)urrW9$rrDfn!s&B$!;lcu!<<'!rr3-%s8N*! !<2uu!;QQo!;lcr!<2uu!;ld&!<3'!!<3'!rrE&u#lt#*!<<'!s8N)nrr<&urrW9$rrDrr!s&B$ !<3!#!<<'!rr2rupAY0orrE&u!!*#u!s&B$!<2uu!;ld,!<3'!!<3'!rrE*!!<<'!qu6Wrrr3'# s8N)urrW9$rrE&u!!)cn#lt#*!<<'!s8N)nrr<&urrW9$rrE&u!s&B$!<3!&!<<'!s8N)urr<&r rso,0!<3'!!<<'!s8N*!rrE&u!!)lq!W`6#rr2rurr3'#s8N)urrW9$rrDoq!s&B$!<3!*!<<'! s8N*!!7h,KeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<2uu!;lcr!;lcr@K-96!<<'!!<<'!s8N)urr<&rrrW9$rrDrr!s&B$!<3!)!<<'! s8N*!rrE&u"p"]'!<<'!qu6Wrrr2ruqYpNqrr2rurr2rurr39)s8N*!rrE*!!<2uu!;lfr!<<'$ !<<'!rr30&s8N*!rrE&u!s&B$!<2uu!<2uu!;c]s!<3&urr<&urs&Q(rrE*!!!)lq!!*#u!!*#u "p"]'!<<'!qu?Zrs8N0$s8N)urrW9$rrE&u!!*#u!!)or#lt#*!<<'!s8N)urr<&rrr<&ursAc+ rrE*!!!*'!!<3!&!<<'!s8N)urr<&qrr<&urr<&urrrK'rrE*!!<2uu!;c]s!<3&urr<&ursAc+ rrE*!!!*'!!;c]t!<<'!rr3<*s8N*!rrE*!ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<2uu!;ld$!8kc(Z*qV;rr3<*s8N'!s8N*!rrE&u!!)or!s&B$!;lcu!<<'!rr39) s8N*!rrE*!!<3!&!<<'!s8N)rrr<&urr<&qrr<&urr<&urr<&urs8]*rrE*!!<<'!rr2ruqu?Zr s8N0$s8N)urrrK'rrE*!!<3!#!<<'!rr2rurr2ruqYpTsrrE&u!!*#u#6=f(!<<'!!;c]q!<2uu !<3!&!<<'!s8N)rs8N*!rrW9$rrE&u!s&B$!<2uu!<2uu!;ld&!<<'!s8N*!rrE&u!!)or!!*#u $3:,+!<<'!!<<'!rr30&s8N*!rrE&u!!)lq!!*#u!!*#u"p"]'!<<'!rr2ruqYpTsrrE&u!!*#u $3:,+!<<'!!<<'!qYpWts8N)ursAc+rrE*!!<<)Ms8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<2uu!;ld$!1cXo!#%m'rr3<*s8N'!s8N*!rrE&u!!)or!s&B$!;lcu!<<'!rr39) s8N*!rrE*!!<3!&!<<'!s8N)rrr<&urr<&qrr<&urr<&urr<&urs8]*rrE*!!<<'!rr2ruqu?Zr s8N0$s8N)urrrK'rrE*!!<3!#!<<'!rr2rurr2ruqYpTsrrE&u!!*#u#6=f(!<<'!!;c]q!<2uu !<3!&!<<'!s8N)rs8N*!rrW9$rrE&u!s&B$!<2uu!<2uu!;ld&!<<'!s8N*!rrE&u!!)or!!*#u $3:,+!<<'!!<<'!rr30&s8N*!rrE&u!!)lq!!*#u!!*#u"p"]'!<<'!rr2ruqYpTsrrE&u!!*#u $3:,+!<<'!!<<'!qYpWts8N)ursAc+rrE*!!<<)Ls8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<2uu!;lcranl#=aY3_orrW9$!!)utrW)fp"9AK%!!)rsrrE*!rW!'#!<3&urrN3# s8E#ss8N)ps8E!!rrDrr!!*#u!!*#u!!*#u"p"]'!<<'!rr;rtqYpWtrr<&ts8E#trr<&us8E#t rr<&ts8E#nrr<&ss8E#ss8N'"rrDoq!!*#u!!*#u"p"]'!<<'!qu6`urr<&ts8E#trr<&ts8E#p rrrK'rrE*!!<3#t!;ZZo!!iN(s8N'!rrE&urW!0&!<3'!rrE&u!!)lq!!*#u!!*#u"p"]'!!*$! rr2ruq>UEpr;Z`rrVult"TJK%rrDoqrrE*!rW!<*!<3'!rrE*!ec5X!!f@!Xq:,S3!6,!:ec0(Y s*t~> !rlhCrRM"7!<2uu!;uj!m=1tlro4.@V10Kcrr3'#rr<&ts8E#prr`?%rr<&ss8N*!s8E!#rrE'! rr3$"s8W&urVultq>^Eo!WN/srr<&urr<&urr<&urrrK'rrE*!!<3#t!;c]t!<3$!rVuisrr2ru rr;rtrr2rurVuisq#: !rnaZrRCq5!<2uu!;uiuc2[kBWr2qsrrW9$!!)utrW)fp"9AK%!!)rsrrE*!rW!'#!<3&urrN3# s8E#ss8N)ps8E!!rrDrr!!*#u!!*#u!!*#u"p"]'!<<'!rr;rtqYpWtrr<&ts8E#trr<&us8E#t rr<&ts8E#nrr<&ss8E#ss8N'"rrDoq!!*#u!!*#u"p"]'!<<'!qu6`urr<&ts8E#trr<&ts8E#p rrrK'rrE*!!<3#t!;ZZo!!iN(s8N'!rrE&urW!0&!<3'!rrE&u!!)lq!!*#u!!*#u"p"]'!!*$! rr2ruq>UEpr;Z`rrVult"TJK%rrDoqrrE*!rW!<*!<3'!rrE*!ec5X!!f@!Xq:,S3!6,!:ec2*= s*t~> !rl_=rRCq5!9sL`!.k1>rr<%err<&Err<&NrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;ZWrl_*)1rrTm,li-na!.k1>rr<%err<&Err<&NrrL^Nrmh.,!<;lG"-il's8COK AH;a\~> !rnaZrRCq5!;ZWrc4d5SrrQ16cMmhD!.k1>rr<%err<&Err<&NrrL[Mrm_(-!<;lF"-`f)s8CLJ RfNJ=~> !rl_=rRCq5!9sL`!.k1?rr<%hrr<&urr<&Frr<&MrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;ZWqW0I;;!T32@rrJ@_rr2ruJcG9?!!&Ph!!*#u!!(@F!!(UM!S7;MecLX-s7t4J PlS]$rRV![!<7Q~> !rnaZrRCq5!;ZWq2$!TT!65!;!<>"Vrr<%Ms7-*h!1a&h!<2uu!71ZF!7q/Nec5X!!f@!Xq:,S3 !6,!:ec2*=s*t~> !rl_=rRCq5!9sL`!.k1@rr<%fs8E#Err<&LrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;c^$dYa'bQ'[l6kl1ScNf)9brr@WMo)A[iRfE?eci3tFec,[$s8LRNL]IJNecV0; _Z0Scs()31J,~> !rnaZrRCq5!;c]tSH&XKrVus<`r?# !rl_=rRCq5!;c`qrq?Blrdk*#s/#_rec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;c^*W/$7hNffKskPtSEMMJ-]s+13HrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;c]q8G`Al)ohpX`W-!0JcC<$V>gSHs8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!;c]tqu-KmqYpZsrVcVEs+13HrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!;c^*NeW=FMV-VEs8V2GLPCh?s+13HrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;c]r'a"@7s/H=Ds8U(X!!3mds+13HrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!;c]uqYU3hrVZZurr)clqLSZts/#_rec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!;c]uK7nr5LA_&Sf7o!4K7X&Rs/#_rf)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!;c`q"TJN'!;uj"WWE5)"G-T(s/#_rec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!;c`qq#^Eiqu6Torr`5rq>#UAJcDSH!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!;c]uMLpJ6L&TX-nc/X1K7\u3s+13HrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!;c]u)$U3H!rf2(irB%="9o`ps+13HrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<2uu!<3!#Z2"+irV?`qrr<#qq"a^b!!)Zk!s&B$!8dbS!:9^c!;lcr!9sLc!<<'! mJd.dJcE.X!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<2uu!<3!#>C_9VrIY;o>!!)Zk!s&B$!8dbS!:9^c!;lcr!9sLc!<<'! mJd.dJcE.X!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<2uu!<3!#"pbD;r<* !rl_=rRCq5!<2uu!<3!$?2"$gqYp6oqYgHor:^$_rr<&krrW9$rrCsV!!)ut!!)Ed!!)or!!)9` !s&B$!:Bdd!.k0XrrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!<2uu!<3!$0RnSAWr@PRS`BbMe:5d=rr<&krrW9$rrCsV!!)ut!!)Ed!!)or!!)9` !s&B$!:Bdd!.k0XrrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!<2uu!<3!$":>Dt=oJU04im['X9t]srr<&krrW9$rrCsV!!)ut!!)Ed!!)or!!)9` !s&B$!:Bdd!.k0XrrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!<2uu!<3!$!;?*`s8MforVlftq=aadrrE&u!s&?$!<)rs!<3!#!<<'!qZ$QqrVuis rVuisp\t3nq#C !rlhCrRM"7!<2uu!<3!$!1A8bs8K"uir8rY\!d0orrE&u!s&?$!<)rs!<3!#!<<'!qZ$QqrVuis rVuisp\t3nq#C !rnaZrRCq5!<2uu!<3!$!'^gls8H4&aSu2?G !rl_=rRCq5!<)p%!<<'!rUg!_rrMcjrVm<,s8N*!rr<'!rrE*!!<3!&!<<'!s8N)rrrrK'rrE*! !<3!#!<<'!rr2ruq#:UEprr3'#s8N)urs&Q(rrE*!!!)orrrE*!!s&B$!<3!#!<<'!rr2ru qu7!'s8N'!s8N*!rrE&u$3:,+!!*'!!<<'!JcE.X!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!<)p%!<<'!k(V:[rrIi9rVm<,s8N*!rr<'!rrE*!!<3!&!<<'!s8N)rrrrK'rrE*! !<3!#!<<'!rr2ruq#:UEprr3'#s8N)urs&Q(rrE*!!!)orrrE*!!s&B$!<3!#!<<'!rr2ru qu7!'s8N'!s8N*!rrE&u$3:,+!!*'!!<<'!JcE.X!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!<)p%!<<'!dN>XfrrF4irVm<,s8N*!rr<'!rrE*!!<3!&!<<'!s8N)rrrrK'rrE*! !<3!#!<<'!rr2ruq#:UEprr3'#s8N)urs&Q(rrE*!!!)orrrE*!!s&B$!<3!#!<<'!rr2ru qu7!'s8N'!s8N*!rrE&u$3:,+!!*'!!<<'!JcE.X!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!<)p%!<3'!!;jJ,qZ??%qu$Ho!;uis!<2uu!;ld#!<<'!s8N)rrr<&srr<&urrW9$ rrE&u!!)fo!!*#urW)uu!!*#u!s&B$!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)urrW9$rrE&u!!)or !s&B$!<3!#!<<'!rr3'#s8N)urrW9$rr@WM[Jp9Xs8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!<)p%!<3'!!9ISbdfOl'jo#,Y!;uis!<2uu!;ld#!<<'!s8N)rrr<&srr<&urrW9$ rrE&u!!)fo!!*#urW)uu!!*#u!s&B$!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)urrW9$rrE&u!!)or !s&B$!<3!#!<<'!rr3'#s8N)urrW9$rr@WM[Jp9Ys8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!<)p%!<3'!!7MARXo](Ae,94G!;uis!<2uu!;ld#!<<'!s8N)rrr<&srr<&urrW9$ rrE&u!!)fo!!*#urW)uu!!*#u!s&B$!<3!#!<<'!rr2ruqu6Wrrr3'#s8N)urrW9$rrE&u!!)or !s&B$!<3!#!<<'!rr3'#s8N)urrW9$rr@WM[Jp9Xs8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!<)p-!<3'!!<3&lmd',iVH3cos8N)urr<&urr<&us8;rtrrW9$rrDoqrrE&uquHcs quHNl!!)rs!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrrK'rrE*!!<3#r!;lcu!<<'!rr3$" s8Vuss8N'!rr3'#s8N(Ms0_k-ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!<)p-!<3'!!<3&>R!Wgd:ac>?s8N)urr<&urr<&us8;rtrrW9$rrDoqrrE&uquHcs quHNl!!)rs!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrrK'rrE*!!<3#r!;lcu!<<'!rr3$" s8Vuss8N'!rr3'#s8N(Ms0_k-f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!<)p-!<3'!!<3%u>:LF*'++a9s8N)urr<&urr<&us8;rtrrW9$rrDoqrrE&uquHcs quHNl!!)rs!s&B$!<3!#!<<'!rr3'#s8N)urr<&rrr<&urrrK'rrE*!!<3#r!;lcu!<<'!rr3$" s8Vuss8N'!rr3'#s8N(Ms0_k-ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!;uis!<2uu!<)ot!;-9n!<<'!rr3'#s8N)urrrK'rrE*!!;QQr!<<'!qu6Wro`"mk r;Qj!s8N)urrW9$rrE&u!s&B$!<2uu!;lcr!<2uu!<3!"!<3&urr<&nrrW9$rrE&u!s&B$!;lcr !<3!#!<<'!JcE.X!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!;uis!<2uu!<)ot!;-9n!<<'!rr3'#s8N)urrrK'rrE*!!;QQr!<<'!qu6Wro`"mk r;Qj!s8N)urrW9$rrE&u!s&B$!<2uu!;lcr!<2uu!<3!"!<3&urr<&nrrW9$rrE&u!s&B$!;lcr !<3!#!<<'!JcE.X!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!;uis!<2uu!<)ot!;-9n!<<'!rr3'#s8N)urrrK'rrE*!!;QQr!<<'!qu6Wro`"mk r;Qj!s8N)urrW9$rrE&u!s&B$!<2uu!;lcr!<2uu!<3!"!<3&urr<&nrrW9$rrE&u!s&B$!;lcr !<3!#!<<'!JcE.X!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!;uis!<2uu!<)ot!<2uu!;ld#!<<'!s8N)urrW9$rrE&u"p"]'!<<'!qu6j#s8N*! rrE&u!s&B$!<2uu!;HKn!<3#u!<<'!!<3!#!<<'!rr33's8N*!rr<&rs8N*!rr<&urrN3#!<2uu !<2uu!;lcu!<<'!rr3'#s8N)urrW9$rrE&u!!%TMZMssUs8LOMM?*\PeH;$9`W,nes'c!.J,~> !rlhCrRM"7!;uis!<2uu!<)ot!<2uu!;ld#!<<'!s8N)urrW9$rrE&u"p"]'!<<'!qu6j#s8N*! rrE&u!s&B$!<2uu!;HKn!<3#u!<<'!!<3!#!<<'!rr33's8N*!rr<&rs8N*!rr<&urrN3#!<2uu !<2uu!;lcu!<<'!rr3'#s8N)urrW9$rrE&u!!%TMZMssVs8LRNL]IJNecV0;_Z0Scs()31J,~> !rnaZrRCq5!;uis!<2uu!<)ot!<2uu!;ld#!<<'!s8N)urrW9$rrE&u"p"]'!<<'!qu6j#s8N*! rrE&u!s&B$!<2uu!;HKn!<3#u!<<'!!<3!#!<<'!rr33's8N*!rr<&rs8N*!rr<&urrN3#!<2uu !<2uu!;lcu!<<'!rr3'#s8N)urrW9$rrE&u!!%TMZMssUs8LOMM?*\PeH;$9`W,nes-j#gJ,~> !rl_=rRCq5!;uis!<2uu!;ulr!;ZZp!<2uu!<2uu!<3#t!!`H'rrE*!!;c`q!<)rs!<)rs!<2uu !;ZZo!!3*"rr;rtrVuisrVult!WN/srrW9$!!)rs!!)rsrW)fprr<*"!<2uu!<3#t!<2uu!<3!# !<<'!JcE.X!S.5LeH1U.s7t1IPQ8]&rRLpW!<7Q~> !rlhCrRM"7!;uis!<2uu!;ulr!;ZZp!<2uu!<2uu!<3#t!!`H'rrE*!!;c`q!<)rs!<)rs!<2uu !;ZZo!!3*"rr;rtrVuisrVult!WN/srrW9$!!)rs!!)rsrW)fprr<*"!<2uu!<3#t!<2uu!<3!# !<<'!JcE.X!S7;MecLX-s7t4JPlS]$rRV![!<7Q~> !rnaZrRCq5!;uis!<2uu!;ulr!;ZZp!<2uu!<2uu!<3#t!!`H'rrE*!!;c`q!<)rs!<)rs!<2uu !;ZZo!!3*"rr;rtrVuisrVult!WN/srrW9$!!)rs!!)rsrW)fprr<*"!<2uu!<3#t!<2uu!<3!# !<<'!JcE.X!S.5LeH1U.s7t1IPQ8]&rRLq;!<7Q~> !rl_=rRCq5!/1@P!.k00rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!/1@P!.k00rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!/1@P!.k00rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!/:FQ!.k0/rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!/:FQ!.k0/rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!/:FQ!.k0/rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!/CLR!.k0.rrL[Mrm_(-!<;lF"-`f)s8CLJ@K?FY~> !rlhCrRM"7!/CLR!.k0.rrL^Nrmh.,!<;lG"-il's8COKAH;a\~> !rnaZrRCq5!/CLR!.k0.rrL[Mrm_(-!<;lF"-`f)s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!f-jVq:5Y5!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!f@!Xq:,S3!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!",[*YebPF2!6,!:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#",HsWf(kR4!5ed7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!",[*YebPF2!6,!:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!/gFL!QG*;ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!/U:J!Q+m8f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!/gFL!QG*;ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mM`;or:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaK_>sW7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mM`;or:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!",[*Yeb]:JPQ8]&rRLpW!<7Q~> !rlhCrRM"7!.k0$s,[0\f)Pa#",HsWf)#CKPlS]$rRV![!<7Q~> !rnaZrRCq5!.k0$s,[0\ec5X!",[*Yeb]:JPQ8]&rRLq;!<7Q~> !rl_=rRCq5!.k0$s,[0\ec5X!",[)ts8(7J!6)qWrRLpW!<7Q~> !rlhCrRM"7!.k0$s,[0\f)Pa#",Hros8(:K!5cVQrRV![!<7Q~> !rnaZrRCq5!.k0$s,[0\ec5X!",[)ts8(7J!6)qWrRLq;!<7Q~> !rl_=rRCq5!.k0$s,[0\ec5X!",[)ts81=LPQ8\As8CLJ@K?FY~> !rlhCrRM"7!.k0$s,[0\f)Pa#",Hros81@MPlS\ !rnaZrRCq5!.k0$s,[0\ec5X!",[)ts81=LPQ8\As8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!"H!2u`W,kd!!*#;!<<#Js'c!.J,~> !rlhCrRM"7!.k0$s,[0\f)Pa#"Gd&p_Z0Pb!!*#8!<<#Ks()31J,~> !rnaZrRCq5!.k0$s,[0\ec5X!"H!2u`W,kd!!*#;!<<#Js-j#gJ,~> !rl_=rRCq5!.k0$s,[0\ec5X!"H!2u`W,ne!L*T``;or:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#"Gd&p_Z0Sc!L3Za_>sW7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!"H!2u`W,ne!L*T``;or:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mV`;or;eGoUJ`;or:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaT_>sW8ec5^K_>sW7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mV`;or;eGoUJ`;or:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mV` !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaT_?Bnies-76_>sW7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mV` !rl_=rRCq5!.k0$s,[0\ec5X!!K$mU`<-(i!;se9s8CLJ@K?FY~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaS_?0bg!;s\6s8COKAH;a\~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mU`<-(i!;se9s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mU`<-((!;se9s8CLJ@K?FY~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaS_?0b&!;s\6s8COKAH;a\~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mU`<-((!;se9s8CLJRfNJ=~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mT`;fo8`;or:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaR_>jT5_>sW7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mT`;fo8`;or:ec2*=s*t~> !rl_=rRCq5!.k0$s,[0\ec5X!!K$mT`;fo8`;or:ec0(Ys*t~> !rlhCrRM"7!.k0$s,[0\f)Pa#!JgaR_>jT5_>sW7f)K:]s*t~> !rnaZrRCq5!.k0$s,[0\ec5X!!K$mT`;fo8`;or:ec2*=s*t~> !rl_=rRCq5!.i[OeW//[s8LOLM?*=g!<<#Js'c!.J,~> !rlhCrRM"7!.i^PerJ;]s8LRML]I+b!<<#Ks()31J,~> !rnaZrRCq5!.i[OeW//[s8LOLM?*=g!<<#Js-j#gJ,~> !rl_=rRCn4JcC<$N;rn-!/gCJrRLpW!<7Q~> !rlhCrRLt6JcC<$N;rn.!/U7HrRV![!<7Q~> !rnaZrRCn4JcC<$N;rn-!/gCJrRLq;!<7Q~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=rRHI`JWt_Mq3:j.s'c!.J,~> !rlhCrRQObJX(eOq3Cp0s()31J,~> !rnaZrRHI`JWt_Mq3:j.s-j#gJ,~> !rl_=rRHK!JcC<$q>^EDs'c!.J,~> !rlhCrRQQ"JcC<$q>^EEs()31J,~> !rnaZrRHK!JcC<$q>^EDs-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%b13SXrRLpW!<7Q~> !rlhCJ_#D'b1 !rnaZJ^o>%b13SXrRLq;!<7Q~> !rl_=J^o>%b1-KVXoJJ%rRLpW!<7Q~> !rlhCJ_#D'b16QXXoJJ%rRV![!<7Q~> !rnaZJ^o>%b1-KVXoJJ%rRLq;!<7Q~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^o>%b1-NW!3aoQs8CLJ@K?FY~> !rlhCJ_#D'b16TY!3arRs8COKAH;a\~> !rnaZJ^o>%b1-NW!3aoQs8CLJRfNJ=~> !rl_=J^s2=\GlO/p=6\Q!!)rI!L*T_e[YVZ!<(FJs8CLJ@K?FY~> !rlhCJ_'8?\GlO/p=?bR!!)rJ!L3Z`f!t_[!<(IKs8COKAH;a\~> !rnaZJ^s2=\GlO/p=6\Q!!)rI!L*T_e[YVZ!<(FJs8CLJRfNJ=~> !rl_=J^s2=!<9U[!!)`C!<9U[!!)rI!L*T_eH#W[eGoUJeH#XJec0(Ys*t~> !rlhCJ_'8?!<9U\!!)`D!<9U\!!)rJ!L3Z`ec>`\ec5^Kec>aKf)K:]s*t~> !rnaZJ^s2=!<9U[!!)`C!<9U[!!)rI!L*T_eH#W[eGoUJeH#XJec2*=s*t~> !rl_=J^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js'c!.J,~> !rlhCJ_'8?!<9X]!L3ZYec>`]ecD$9r71n6!<(IKs16b^PlUd6!<<#Ks()31J,~> !rnaZJ^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js-j#gJ,~> !rl_=J^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js'c!.J,~> !rlhCJ_'8?!<9X]!L3ZYec>`]ecD$9r71n6!<(IKs16b^PlUd6!<<#Ks()31J,~> !rnaZJ^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js-j#gJ,~> !rl_=J^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js'c!.J,~> !rlhCJ_'8?!<9X]!L3ZYec>`]ecD$9r71n6!<(IKs16b^PlUd6!<<#Ks()31J,~> !rnaZJ^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js-j#gJ,~> !rl_=J^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js'c!.J,~> !rlhCJ_'8?!<9X]!L3ZYec>`]ecD$9r71n6!<(IKs16b^PlUd6!<<#Ks()31J,~> !rnaZJ^s2=!<9X\!L*TXeH#W\eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js-j#gJ,~> !rl_=J^s2=!<;N !rlhCJ_'8?!<;N=quH9!L3ZYec>a !rnaZJ^s2=!<;N !rl_=J^s2=!<;N !rlhCJ_'8?!<;N=!!)uK!!)T@!!)ZB!!)N>!L3ZYec>a !rnaZJ^s2=!<;N !rl_=J^s2=!<;N !rlhCJ_'8?!<;N=!!)uK!!*#LrW)oJrrE)MrW)uLrW)rK!aKf)K:]s*t~> !rnaZJ^s2=!<;N !rl_=J^s2=!<;NUe^XX"e^XZMeH#U!#6<<)!7fU"!:\M>PQ:X3!L*T_eH#X9eGoUFeH5g%eH#U! #lrN+!7fU"e^X[!eGoU:eH(m7rRCoJrRLpW!<7Q~> !rlhCJ_'8?!<;N=!!)uK!s$p'!<1OX!7o^$f%'iPec=:P!<1OS!7o^$!7o^$nC@W*!;=tDs6eG< !;tCM!7o^$rmhDVf%'g$f%'iPec>^##6a:ec5^GecPp'ec>^# #lrQ-!7o^$f%'j#ec5^;ecD$9rRLuKrRV![!<7Q~> !rnaZJ^s2=!<;NUe^XX"e^XZMeH#U!#6<<)!7fU"!:\M>PQ:X3!L*T_eH#X9eGoUFeH5g%eH#U! #lrN+!7fU"e^X[!eGoU:eH(m7rRCoJrRLq;!<7Q~> !rl_=J^s2=!<;NPQ:X3!L*T_eH#X9eGoUFeH5g%eH#U!!s$m%!;t@I !<1LK!:A;;PQ:[4!<<#Js'c!.J,~> !rlhCJ_'8?!<;N=quH`I!!*#L!s$p'!;tCJ!;k=L!7o^$rmh&LnC@W*!;=tDs6eG^#!s$p'!<1OL!:\P?PlUa5!L3Z`ec>a:ec5^GecPp'ec>^#!s$p'!;tCJ !<1OL!:A> !rnaZJ^s2=!<;NPQ:X3!L*T_eH#X9eGoUFeH5g%eH#U!!s$m%!;t@I !<1LK!:A;;PQ:[4!<<#Js-j#gJ,~> !rl_=J^s2=#4gpNs7b[.p!j$Brm^uKrmgoHrmh#Krm^uKrmgrIs4%)Lrm^uKnC7Q(!;=qCs6eD; !;t@K!7fWt!<:RL!<1LN!7fU"rm_)Ne^X[!eGoU=eH(m7r7(h4!<(FJs6S89!;Y.I!7fU"rm^uK rmh#KrmgoHmF;6%!<(FJs8CLJ@K?FY~> !rlhCJ_'8?#4B[FXKKCfp!s*Crmh&LrmpuIrmq)Lrmh&Lrmq#Js4./Mrmh&LnC@W*!;=tDs6eG< !;tCL!7oa!!<:UM!<1OO!7o^$rmh/Of%'j#ec5^>ecD$9r71n6!<(IKs6S;:!;Y1J!7o^$rmh&L rmq)LrmpuImFD<'!<(IKs8COKAH;a\~> !rnaZJ^s2=#2anY!% !rl_=J^s8?!QiR^rrMQ=pXK6DrRCuMe^XZpeHQ$(eH".M!<1LN!7fU"rm^uKnC7Q(!;=qCs8LOQ g["\8q !rlhCJ_'>A$H]*U['7p9i8(QdpXTec5^JecPp'ec>Tu!!*#L!s$p'!<1OO!7o^$rmh&LnC@W*!;tCKPlUd6!<;E: !!)iG!s$p'!<1OL!;tCM!7o^$l.,m#!<(IKs8COKAH;a\~> !rnaZJ^s8?!Q6Pg!!%$rDpXK6DrRCuMe^XZpeHQ$(eH".M!<1LN!7fU"rm^uKnC7Q(!;=qC s8LOQ[UpT]+(htVeGoUIeH5g%eH#Ks!!*#K!s$m%!<1LN!7fU"rm^uKnC7Q(!;t@JPQ:[4!<;E9 !!)iF!s$m%!<1LK!;t@L!7fU"l.#g!!<(FJs8CLJRfNJ=~> !rl_=J^s;@!Rp]9rrMrHpsf?ErRCuMe^X[!eI2H.eH".M!7fU"e^X[!eH5g%eH#U!!!)N=!L*TX eH>j%fC\q>!V4k=eGoUJeGoUKeGoUKeJ/)7eGoU"eH".M!7fU"!7fU"e^XX"nC7Q(!;t@JPQ:[4 !<;B8!!)uJ"p!3(!7fU"rm_;Te^XZMeH".M!<1LK!:A;;PQ:[4!<<#Js'c!.J,~> !rlhCJ_'AB"k'Z^ZEVFKrrSIReG.Sp!<(IN!7o^$rmhJXf%'iPec=:P!7o^$rmh/Of%'j#ec5^> ecD$9p=9ZPf$ra>iS`PJgtKs#qUPWHrRLrKrmh&Lrmheaf%'g$f%'iPec=:P!!(U$!7o^$!:\P? PlUa5!L3Z`ec>a9ec5^Kecl-*ec=:P!<1OU!7o^$f%'iPec>^#!!)E;!L3Z`ec>aKf)K:]s*t~> !rnaZJ^s;@!R)G\!!$$trrN0BcM5oi!<(FM!7fU"rm_DWe^XZMeH".M!7fU"rm_)Ne^X[!eGoU= eH(m7p=09Fe]bf)WWAO3qUGQGrRClJrm^uKrm__`e^XX"e^XZMeH".M!!(R"!7fU"!:\M>PQ:X3 !L*T_eH#X8eGoUJeHQ$(eH".M!<1LT!7fU"e^XZMeH#U!!!)E:!L*T_eH#XJec2*=s*t~> !rl_=J^s;@!:BL[!:KX4!!)uJ!!*#KrW)oIrrE&KrrE)LrW!&N!7_)Kec,X>eH(m7p=06EfD54A !Vk:DebfFFec#RJeH5g%!!)uJrr<)M!<1OK!!1UMnC7Q(!;t@JPQ:[4!<;?7r;ciI!!*#KrW)oI rrE#JrW)<8!L*T_eH#XJec0(Ys*t~> !rlhCJ_'AB"LtP9XM+Q3!gAYApsoEFrRLrKrmq&KrRUuKrmq)Ls47/L"4dJ'!<1RL!:eV@PlUO/ !rpcQq>UNKPLKE[quHZGrW)rK!s$mP!<(LK!!1XNrmq)L!S.8?ecD$9r71n6!<(IKs6A26!<1OL !<1RK!<(LK!<(LJ!:88;PlUd6!<<#Ks()31J,~> !rnaZJ^s;@!)ELn!&siUrr<$qpsf?ErRClJrmguJrRLoJrmh#Ks4.)K"4[D%!<1OK!:eS?PQ:F- !rpIdq>UMr+3aW4quHZFrW)rJ!s$jO!<(IJ!!1UMrmh#K!S%2>eH(m7r7(h4!<(FJs6A/5!<1LK !<1OJ!<(IJ!<(II!:85:PQ:[4!<<#Js-j#gJ,~> !rl_=J^s>A!8$oD!WLileH(m7p=03Dme?_^rpACh!!)N=!L*T^eH(m7rRCoJ]%$hG!<(FJs8CLJ @K?FY~> !rlhCJ_'DC"j3^@W4Va#rr\@?LWdWe!L3ZYed_YjVZ6\]h;-i>ftE0:g"$-'nC@W*!;tCKPlUd6 !<9X]!L3Z`ec>aKf)K:]s*t~> !rnaZJ^s>A!4)S(!B9$9s8Duu\&?etPQ:F-"ohC!s8U+:WWI/?;;'J"!:\M>PQ:X3!L*T_eH#W\ eH(m7rRCoJrRLq;!<7Q~> !rl_=J^s>A!9a%T!WD9$eH(m7p=009p\t?prVYC+eGoUKeGoU=eH(m7r7(h4!<(FJs16_]PQ:[4 !<<#Js'c!.J,~> !rlhCJ_'DC#I^>#_Z0YYh>[EVN/34i`7=sS!;=tRkbOsQs1=Y`P)bEUL5!e,ec5^Lec5^>ecD$9 r71n6!<(IKs16b^PlUd6!<<#Ks()31J,~> !rnaZJ^s>A#@mf7n!!*'! !rl_=J^s>A!;Q9f!ri,j`74mQ!;=qCp@nRhrquZWh:;K)n'qH'!;t@JPQ:[4!<9X\!L*T_eH#XJ ec0(Ys*t~> !rlhCJ_'DC!hl+)rr3"eh#@[ !rnaZJ^s>A!Z_8\rr3!!WrE%u!!*-E`74mQ!;=qKEW?+>s,9rX)u]j;!WZukec#R;eH(m7r7(h4 !<(FJs16_]PQ:[4!<<#Js-j#gJ,~> !rl_=J^s>ApAY6orVQH0eH(m7p=00@q#:KrrVZQbaOL !rlhCJ_'DC#F1V1s8UH2g]%3TLPCJ7`7=sS!;=tFVjj+Prs%T;Tn\8SNl]cPPlUa5!L3Z`ec>`] ecD$9rRLuKrRV![!<7Q~> !rnaZJ^s>Arr<5&s8S#XWrE##!!33)`74mQ!;=qE+ohW@rs$KC2Za$`,08:8PQ:X3!L*T_eH#W\ eH(m7rRCoJrRLq;!<7Q~> !rl_=J^s>A!;uTk"9/5pp;GJ^PQ:F-pAY6mqtg-0eH(m7r7(h4!<(FJs16_]PQ:[4!<<#Js'c!. J,~> !rlhCJ_'DC#G&='s6$huk5PA_Y+L?.`7=sS!;=tFR$X-8rrhD:KS+ltecD$9r71n6!<(IKs16b^ PlUd6!<<#Ks()31J,~> !rnaZJ^s>A#9d+Is2J&=`r>u? !rl_=J^s>A!:0@Y!r_rF_it-$p=00@p\t?nqYBR"PQ1^]eH(m7rRCrKe[gtF!<(FJs8CLJ@K?FY~> !rlhCJ_'DC!Nra&rrUc'R)>0h!;=tRTTbP$Nf9dcnc/W]K7\p"PlLg^ecD$9rRM#Lf".+H!<(IK s8COKAH;a\~> !rnaZJ^s>A!G5@+rrT8+=2U7&!;=qC,5_EH2lbm;s#U>f*QOBE!;t@JPQ:[4!WU]]PQ1^^eH#XJ ec2*=s*t~> !rl_=J^s>A!SdVKrr`5tpf502p=0/Gr;Zcqs8N3"q=pu0!;t@JPQ:[4[fHBW!<<#Js'c!.J,~> !rlhCJ_'DC!R%27f)Y@?rr^i_JOI?Tp=9^rNfK'ULkpi !rnaZJ^s>A!OarbWW;&Xrr]?E"uF*rp=0-mq>^`"s8T/)"tmmqr7(h4!<(HW!<(FJs8CLJRfNJ=~> !rl_=J^s;@!:Bdas82lrrr3&ppZ]-:!8IMQs8N&s#6+Z&rV6-@_:8RN!3aoQs8CLJ@K?FY~> !rlhCJ_'AB!2TUKs+LI(rr3%NJ=s@%%a0`cY_\'hU#c7ReU`7m_:AXP!3arRs8COKAH;a\~> !rnaZJ^s;@!)`Xq!36%u!X8p1[abJg!!$$u!!bO)s8T/)#e.Y#!L*SfeH#XJec2*=s*t~> !rl_=J^s;@!S6rCqZ6Qlrr3&oo%(5!#4DKjrr)fprr3&spZ]KD!L*SfeH#XJec0(Ys*t~> !rlhCJ_'AB!S!51KE6_Vrr3%MMU]&b!i:\PriQ7^rr3&1J=s^/!L3Ygec>aKf)K:]s*t~> !rnaZJ^s;@!RN"g"9>P&rrNHOd'_C.:]UMq !rl_=J^s8?!S6T9q$$Zor;>g1[+,3/pA4dkr:fd5^srIM!3aoQs8CLJ@K?FY~> !rlhCJ_'>A!S!kCJd&^8e^U8A[+59,P5>1\a+0&r^t&OO!3arRs8COKAH;a\~> !rnaZJ^s8?!RXpH"orfFX8uDM[+,3$+Su*?O9d,W^srIM!3aoQs8CLJRfNJ=~> !rl_=J^s2=#*tn6pXc%'Z./m+mJQq_pAsO0^XW@L!3aoQs8CLJ@K?FY~> !rlhCJ_'8?#**SFIs5djZ.9$+UXn#qec1.#T[U[,!L3Ygec>aKf)K:]s*t~> !rnaZJ^s2=#)#5V#T#a[Z./p$;l]etrs/X*cG.m1PQ7o;!<<#Js-j#gJ,~> !rl_=J^p%9#2883q"!S$^"!+IXoJ@Ms'c!.J,~> !rlhCJ_$+;#0Ns)J;gMM^"*1KXoJ@Ns()31J,~> !rnaZJ^p%9#.J=k#UF5r^"!+IXoJ@Ms-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !rl_=J^o>%J^s;@s'c!.J,~> !rlhCJ_#D'J_'ABs()31J,~> !rnaZJ^o>%J^s;@s-j#gJ,~> !<7UZJRX1>m:$(qJ,~> !<7U]JRsCDm:?:tJ,~> !<7V>JX_4[m@++UJ,~> !WU,i@Y&!>@ddb,`W(G~> !WU#fAV"EDAaa12_Z,,~> !WU,iRt7&[S*ugI`W(G~> JcC<$JcG'9J,~> JcC<$JcG'9J,~> JcC<$JcG'9J,~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/dlgedit_run.png0000644000076500000240000002200007362407534015603 00000000000000‰PNG  IHDR–]¯µÜ¶ pHYs``zxE IDATxÚí{Õ}çÝ3 KE  dbÌÃØ !idãx¼€ Ƭ3$¡cÉJ ©]–صÎnmˆËÙªa© ØYŒ­Ø&»±5&+ð²àµc²¶‘,FbmŽc,¡Â0( !‰™¹}ö]µúqúôéÇí¾÷ó©+UOßÓçñës¾ýûî>×QJ @3é‘ßßø¥¶c h»ñüU—­rEý€Æá Wÿq»¾°»@\°ñX Ô¯­£ƒüý€fÑ  $FG¶ê\|éÒ<éÃ^TÌÒ‹Ùf»{¶sŸ5k—i>ÑôHX'Ù:*Ÿÿë/²Ívwlk\§ØORúûïÛúܼæþ›×Ü›ØQJùsû_úÂêö\ØÒKœcÃì©øg_—^â$}Õq–]âˆÈ–´ê&+Éÿ:fm¶Ùnø¶>LR«Ñ‘­«?¾4˜ÉèÈÖ5k—Ýß–`²M[¦R¬»RÊOïëæ—¾°:Þ jSPÎ2éײKœà§p‘*/sü/¶Ù.Äÿ²cÓ–ÑàÇßù‰?\Á Óûb†þWÐÇ)Üß)$óza\·Ùî_ÌÎ kɶDúúµìÇÔ Óøb…ÄA×)äFµÿ4w¯‚B¦É35ädI_j+RKäÎ6¾X!ýJBç……ÄkëS*“~…¥ ³£ñ¡Úc~ËSJã%ÅûgjYúdŽÿÅ6sa†^X¬~eö‚¾˜¯_ÖWÖ`­ÀànËSjKýn;pÝf»Gü¯5k—…â˜ögÍÚeyü¯ ^XH¿ ±¶õD,\k/,cVæ…™(2×p¶»~.,z‡1¨nm¯*˜Þ~"ª_6^X;rL½GY[Úâ’ÓËzßÓ/Q_.×p¶{ÁKzN5)ýºû׬»MÔk³¹#r¸2ùb&þKpæËÚ 3÷òrN™¶"šŒ¹0¶{s.L ßËŽYút/,væ>§/êù=£Ô#Úeµ‹‹•ó`²P†IžTR+‚Y%µ‘ë6Û=2¶u4å“3}âÓù'Ëb^¬¹”út×p¶{Ä+œ OçÇ~ÛþH·£ñθ/É6Û±¾ØèÈÖ²?îHÒ—ö‹A¥ò¥/¬f½0(R¿|ñ2y¤+ ),yÅêWÙâ¢?Ö ÈD5ΗNÂÚ¿•êÅ+,a·ß¶ŠÓ¶tæçhYx H@'ˆ¨âñÇÇ4PƒƒƒþÆ#?b~ÔÕºÚTÂDäÖ[nÅÐP8J©íÏ›ûÿÔø”ÅQéæƒ¹ @beè‰ï=üsÕe«6~£a†Ì…@XuÙªíÏnÏûÞƒ„@÷c$aŽSîJÓeç_çÒ 䂉ȽŸ»×Ðà €n÷Â4þ‹ï´™èŸí4¡£’‰uŽBÛ¡<“¶S«*=µòí±-2¬'N€Þ‘ÁÁACG¬?~ù·,£ã¹½¿}OS³S)ÜiXhhÛ®ÚÑÒõ•Mk‡Ôàó^˜OhL6eˆÆÖ³½3©šÖ™4ýHuÁ29bå.y4e¤Šõ\|·ËDMrF|ŒP®„é=­)Ãm‰†Š©kQm€$,ö½Fß =ûZ°„ΠG‡tá e]“RKgþ À„Ø—ïýܽeyaÁˆ,vô÷瘢;“ÆyÔÓ窉&ÏÔÒCid(¶ô¤f¢kQü׉’\- f*aæsÛ&Sû©Gå N-æÔ“Ž Igìëf¢_Á@Rß”HVàGä)¢27 ?±¯›P@ Y’O‘S*“•²íÐˤ®]ØŸsô–* M±2ÊÐ)xG0$  x Ó<´™§ìB^?J-¢ú}ÌK,#eQFã)hýæÝ:4i]ÿ.Îã9†¡‡ÉüËxé½§T×Àp2ÃÌc×AËä§djBÒJdI•Ñ”^Þ:k öÂb×Õ ª/Ýš5¹ÄàuKý2dæ™ÛÌͤ±yšô¶“yéy|+\0èE/¬Ø¾^ÍÈI-%ÓKKù›€^”è…}$'ÂÄÈ㚥\†ë…^™ŠƒµF¼žP„™Ç)±±g}\3“õÂʨLeÞ%’©Óäuðæ wÇ:8¡-„ÞòÂ’Vײ“¼h¬—ú*µù»Ö™[—•é¨Ô7x›B_zÎuÖ$¡Û$Ìd,‹Å°4ËlY¬)f~ˆIÊè\¾yÍÍbþË)ù×Ë´ÎúÝHZD( †Ž†˜0úÐÃÆ@ꈭ0; aHKÂçNývp§yVúšdæÅuœ<ím'öÓ·7*®yþBýš7è¬Aƒè¯C%”údɺ ǹÓou{£¹Mht+ 'Éè•6tùm{z//ér<\I׸¡ü“¶S‹¬R=‘$s…šœTt’a“ü)sÍÐÜ8\P;/L©OF¯Ÿ¡=Q!zùÍ'«Ó‘šI±î@ìQY5,(ØÒÔ¢“ªáï÷ Í0öØ‘-ªÑÞÀƒyaÁñååé¯õìë…Ôª¤¦i¿ÊÓHA½°<¡eÖ¡Òö ŸˆéŠ Óræ“õ¦ê”°`d å>úÁùÙU26"cc¯|ù$ùÇïÊÂ!çícÁ "ÓeŸT£ÖÇÜÚæÕˆÞâd°AÍÉZ'/ȤȸÈ‘M×Ë«?<öí¤HKĵwDýèËåE a"?– ‘ñ£Ÿ7EZo["“"“¢”xÛ‡Kª=ú@ iËžßÏ’–ˆ+âˆxo'D&EµDy®·gk_µ­B¿°4ŒI¿H¿ˆ'âÄH˜š¥\¥\uh?†€zI˜êŸëŒ‰wÔsŽ $Õ„(åzž(%2}.†€2°Ÿ S§]êµDùsùoŠ9Î ó<×ó\¥\Ïseþ¥:&aÁ<¶}Þïx-×k¹žçz“âMJpÑv_ÂüÏê»þyþEQöÏͶ³êàOØÆÖªVõéAŠ=Ý8µôZýèr'½0÷]ÿfó mê÷¼~‰“0gÁŠžžì¾žZÃ_ÙhÿV.:Òݧ ¹§¸ŒšçzÁèyêÄS[-·6'a-WM?uÚ5•ó‚ý¡éÐΤmà £ÿUЫ2/ÔäXÃ|RKÔgª‰¦u™ì­[춦”Tëe:§›d²¤I•²úV†ŠæœµÕѯbÏ{V—'«Mb‹Ó÷´2¼0Ó_óŽþ:¡¿ÇÛ÷£‰‡omíqDZ»žl'ñâÎgž Zh;v§a>ú É_ShÐ2©uKJÍÁ"«ØsLà7_“ÌÜ2š”ÑRÌ[ZJje -©¯’¦ úêejµÅ@Hƒ†¶µn†Çdˆux.,¶›NúE'~ü{kš”·]91úwG¾þû{ÿæ¦ñ­ÿcÚµ÷½Ýký*ÃÿÔw¾z•ÅYXÆð<­N:6§%S›ÿLEs ¨¨ˆXسÀ©‰p‹Y/ì§'¸iC %/""76t:£³•U^ÐÊþð¢Útª¬RåvkÏï ý™Î¢ cýÉ®9»ex5tÍ,‚Êú˜%µ³^T¹&!NG†R(xlЀu˰E§òÌy³Ù$}!5éŽk£EÅrRÆã&‡”} Rýƒ¦ô“²Ÿd*1 Æó&“¾ÖyêwÆN+迵.4Ú¨ÔdæV*0«Â±Lö´nKl)©]4Ý 5 $M¦öËv¨ ,%jçLÓ ú“UªŠeZ/L7_¨Ù“j‹L³§ú±…êkb¶Î¢¥I‡çÌÊÐ2vg\“§¡Y2Ù¼T³díBÅŽ‘LÝÀ¶æ#(ö@óÎcÞ÷¶?»½îd!.pF°ÔNÂ8ëŒÃî»õ¨„ãæÐ©0$ zGÂjµŠ‹À0}5µ2ù¶&Ïï䬆¾9u0xõ½¢ú3›¿S¥¾6_ú ÛYŸ‰†Pe˜“ÎiÀ2àŒtAOhÊItMÚ)Y–±^Çp=“è#E© ζˮچV2¿€ë—R1yZ]Sº¾ž†EíœTIý8™:€ùª2&F+cm¢¬õ1ï{&X2.Ùd¾ÞQ¦aUG/Ì| ó…V4Ú”ÓG°XI&Oµ3Y)O[ò¯šR`=COoëÏfɚЀ1ÉDr¯SÛ“^‘Éø ™Ô³P`O¨s¬“m:¿9JA²¾+{T£ã üïeí¾ÖßZ¼}QA°Sϵ‰Ê>ïÍÈüŽdIþdÝÖ31Y± +r¹³ `;®¼úP«»IX›¨¡=¡\ +uEŽ Ö3ÉÓÌL1…ÅZ.E5<Ó9ÒèEõ ¿˜’Ù&®MÔÙq]¯@²¼«¡á¢‘NÍïH–×!ŠÍ9V©Ë´ §š5>{aɦª½°¬+räYG%)óŠ•4b7¤ WÝ1¼È[¬,”éå\ªÅZÝ,ÒÑŸ±]ŽÉn¡!»µ‰$ãÂ>b¶¶O!ç7ÏJ;Í0ýê«”˜¤´xb%ÿJ ©M¶°’¦»@ ÓÊ'9cÉt'§IÍo ;^±‹•º6‘…¡ K´ëºYÇ5dã©`Ýá1#€¾Ñ™@ý¢§Óìœq@ÂjÔz­6±½è$IÂôªç)>ÓáÖ ƒäùm.‹ç›»ø¼0{±ó¹Jú á@ÂòºBI‹Š$­µ¢/%çršµYô•̹Œ T†å;’ÑÌË¡h¤0txêÒ(¢]{$k%s.cu$Íæ³ãËB¾Õ‘3h€¦‘­SQUGÊ%„hž„IòŠ(Y¯C_Ž;wP¯@²¤^í.áŽtC i±Æ‹ár1Ö^’fE“œó/cÂL?@-$ÌpIÍz’¶*Kj˜f¸ ^ç£Û¡=Q§ vgôp?™Þ§ˆu^LvF«ÚožƒI4 bk’jÉT#à…æ\½ŒØmÏBHjþ©˜m¦”±—¿lu¬)ôFÓ|€–ÅÄú/IC(¸¿Àaf˜•I­ìb´Ê$ä ô ðŠx¾ÒU9º²N~WS.32@—H˜ïy¥ú_UÆ8©±[<¦2J$ÉÌÌ$©Xgç˜;>Ã]M¢¥ d€ÖÉ'8ÉuLÆÚi÷ƒaeRSfj—IU£FÆ$Ì語4I¯™¼O×7Ÿø7,1)AžFYT@oO}c3742$€„ a€„ aH aH€„P7r¬Tñ“uò³aÙ?"“c2s®œ~©,’%7cS¨·„½4ª¾µÖyyD>´^Ü›ÅqE\Gä—Ë%÷É싱,ÔQÂÔKÛÔÿ¼Â]ò¹éÉøÀtó2ðm™‰Š@ %ìѵrdlêGÄ™µHNY8$o¾ ?_+ïzã@½$ÌÛöµwÄqDöl”ÿ}½übXNé9y¡ ˼‘%·Ëÿûc['s™€rÉvGÒÛþ åûböÈO‡E‰øÚ#‡vKwXdï0Æ€zI˜Ú;"JDÜ)åò%Ì™»Bæ­<]Þ%"ûF0.ÔL‰¸Ê×/ïèG‰,¿[N:CDdl“üôn™98†q ^&ÓOõõK©£úuÒB¹v£¼u@DäåMòØ*9°G&Dúæb\¨—„9 —Né—ï‹y"W Ëé""?¾K¾;$“2õ™})Æ€²1»#é8SºuÞPëçÿ×qDÍ\èþë¿“…""/n’WIŸHŸˆ+ÒéY4¤ÏªÚYéóŒý6é‹êآ‰š(“5êPójlnžaÖ¢ëÜ=ʳRí$ì(}ßÔúïkÔâ,X9¥_"²w£œ=4õ€¾ÿŒþ;äœòŸ¨ÈiÍèùpœn»B5wðtͰ‡ZI˜ˆœðÐøÄíóÛµôöp¢WFâÐv4Ž€¦ïú‡øiÚ ‚;ÛÛ¡osj\¨JšüCu3lQì¶y¡ú|B1loÖ&$ùwI ¦7±OôÔ‡z‘]A™2Œ5Žá)0·ml'7/¥Ø“•ið6@Âw^’n|´5òyïÙaGDüvùÿ‘sdÛ~ùÍ¡xC' *éI²~Öšt`°VÉ0^³ R*î+vMºÔcíì:*AY3ŒÊDI¶5œ±ë9™N–ùàm˜æ8¢”ã8ýJy—ôµ>y¥ìqÞsyÎEW:ç ÉÛ‡äÌ£í4o­IÊŠm—©¸ž×ØŽeÑÕìšÐ>Êððœ¥~ˆ…•¢*–z ùO´E}º2lãŽzîï>0壺X̱ 4ñšuÅ2‚ÂKÉcO‰jOsVmµ–¶ ¤$U Kµ€ÅÕ¥SM¨‰;fî Wp Ì›oXJ¹cý%æœ8ÐÜ Ñ¤Ìäü'Ú<“ý†]'Z·Ðá†ê{Th ¶ì“•© †Ö³H`èŒØÛ—4~ ò7¿À õM޵RS%,4ØL¾ŠnkÆsªß”ThªŸe^œÉvlVEÅ#úÚfµ^ô@MþY› Ï<5·¬™[a.ðdª¶Å0)ödØ¥ $íç°jž7=· €„¡_Ð¥VêcG…W£U@Â0€FKX÷­=$aÌû@‡%Ìq¦>Ñ!?+š2ôTt4+²­ÚzÜvì $©‹~X/'`é…™?þn÷Î-@‰^˜tnÙ€‚ÉBRTHâv@ƒ½°Ø•gbW 1Y6Gã¸/ab°æ‰&¥ùÂ)’ÄÐ/,5ºh’„¡\Ðà@ @ KÀ‰»ùè”|G²¿EéN§ï–êël^½L qÇiÎmâ¨5:ÒÍjÒ7J²^Ç›SAõúk{¦U×Ý+(µEŽã4ËbªWïÒpÅ´¢Éè•ß9JH‰MRFõ;øìWú|BÕHªƒ¾u&9kJLuÍR½§TÓ¥ÄÜb©Í1i¸‰‰r:˜…´1ÉGH=)ú¾dh´¤qan½¤âÊ8­9GbM%Ì¿ò+¥‚mPG Â0eìÕ&tÍ îÔätLb“EkÛ:} ÍcW„‰éL Ò¶†]»rZ£Ên–ɰþËÔ3Íû’yVv& ‹Ü2Ö¨§o8KÈ%aæÞly~oRΙ«Ø”úÃcÏS°Ð¢š\·|2•¨7Qg»™õ™JíæõÑ$°°^٧ؼáUÎutr.¬(I6Ì'š,äÅTsÑ(¤ˆœ3·Xsç\ò˜ÈÄ©¸“îÕÖyDW:–SÔÛä2¢.nÈ ±ÅÆ ©°>yvFÈi:ýá…‡Š9MT}ïÒkØ12¥¬ÀzeŸ‚ÔÆ–T|¶cl¼J§ytžl¼ê£ƒ6ò\’e5ÚTH¹~þí逜7»éƒjÜ1ë| 1QÛh7Zl.ªƒÕÁ«ªS ùêèæ?Ùø1¹l½œyóÑ ÊºÕ=y‡³v<½+<) Ù‚úbEG'/£§¹½'¶8} ©Ï¹p‘M½vš.5OóBcÏ`’Ë»Â[tžL½+§C,úm©](S`XÒi5‰åÑo£¯ŒÊ#W,¿i½, '½A-ÿîõ£gW®þvªÎ¦ÎµG·c¿µ›³×§ÔW#©æ3¾±7dS÷¤¦·?³ž&k³ä´€Eﲞ†ÏÚQ3•XF§²;­v5,üîVAä?¬•ƒc""ÏËóòcX^ÞtìÛ¬—ƒcòkK£'ò;e1NkGÈHþx¼0"ý"[ï’—7‹+âˆÌ\(—ËiSiÆE^‘¯“wÞLçF¿z<¡+§µR/LmV-‘I‘6Ë›"ã"ã""m㼸I&EµDm®ó…L‘˜Ø-çÍGNk^XkïVW¹ªå9ž8®È׋#2k‘œ> "²w“Ú0¤Z"Êõöní§_@­$L½±ßs\ÇqDyž{îq3úêõÝ굕r•rÕû±/ÔLÂN2>ü{þþ¾•ä.Záo·vÈ‚Kû/¾1êׄ®óÑw¦ 31Ì9iE‘¬9ë_ M](µæí›B‰õÕ ¾v‡çÝ/a¡×N¼æžÃsR®ˆLúÛhú‰§¾6ã£ßL v¢;“Æp¦0J_DžˆÉ<çàFÎP_óЩ17iGÂs€{aí«÷ÄžïOÞ÷Ç_ %8üµßÙí½ï¿lrç_˜¤†š9¦÷ùÏÝzË­C ÃlüþF_Å¢_éõK¸# µÅd‚ €Z8bÑ@2ÕC Á.5uÄL\0$ ì‚!aPGGÌÐC Á.µsÄÌ]0$ šîéü؇eJ%Ó+“‰¦””P69¥&^ÂqÁ l®þÐÕ9¥†¹0h0ñ^˜Ýò‰å188h*a·|âìµ"6äì7O P7˜ €ê­¡Ç'©3Ì…@=¹õ–[{³áJ© saP[žÙþ FhÃ\ aH@&˜ k<±? Ú8Ž“:ïCó{¹ùHX—Ðã"Ó|I€ÚÑãÏ@Ñ|$ ðÂ0€2`:¿w¹àü ‚f}æû‚ó/0<Ä<~ÒYMt.ä¥öœRa:¿©x“‡/Ø7´ôäŸÈa‘I‘Ó‡ä]ÿUÎ’³†dÉМ7¼ír¼7‹òDjî’¸Þá³fýòœ_98ïœË§-¿SÞ¿~Ú{ïœwîåçÌ>xÆ?p[‡ ›êcjìûUý]¹h¨kXg}²ÊŽÖTìýÌ[&^WÄ™³BV¬?^ádÚ;OÿÑg^|÷ŸçéÓÁ«klÔОÚõæRÕ¡(ýZòO™vÝŽØogýtøìoäïÐ뛡iÁÆ!ÖÁ=!;HCæÂB•Œî4éIFC 2hþüW^}xʇž»BV‡S´D&唯~uíø[Î4 ”BÕ:½¿š[œ¶÷³ÓŽìœúãåMr`·/â¢D”ÈžMÓz>ɦIDATî|ë¶?ßwÉg3…ŠI7.474ªlu!¡f§I—èH«‘°FrÊ+Ë„ˆ#²xH.[/"2òïeî€,šJ1)â‰R2{çC¯œÿG]lŠC/m›óË âý{ÛÝòóaiM‰¸LŠòD)9yçCcoÿøÄÌ3«©UÏ>%ÛË9&h"s^þ–Œ‹¼ý¶)ý‘Ñ»ERLŠR¢”;s÷·ºÛÎó_•I‘‰£¿u…,’³‡dÆBñ¦|1%®R2{Ç7+ÍüZ†aN<¸K‘yG]»dR‚æë—RrÂ]ÝmŠi;7È„óÂ.º].‘½›äÀnµù.µgD”ˆ¸3w?6vá- Í ‘Öô³ûæ/“· ‰ˆìÛ${7Ëâ!yË¢c)ÎR¯íV»G&g-énSô½öüÔœWˆ"âÌ\ä}å½Sj~p7= ƒZ°Îó&÷Oýqú€\5¯®[ï<û ÚuÃ/¦_ÜÝ붦/é;ð¼(‘¿r¤%≜¾B–Þ. VÊì3dá€,P»7+å¾1í´n5E//ñŠ„5’9ãÃs·ÿ™óÜñ7"ýA+""Þ³ª]?TJîøÆ?çë]lЇŸ™~Ý|¿ÍSµ{³ìº^>¼Þ™}†ˆ8+nS»nPJ¾³{έ÷vÛOa;ŽƒÍcü-gíï[pÊÿúÿO¥DDÜë¾æ•°‰á”r__|íCwÜÑÕ¦xçõ)P<‘w ©ç†E‰R" œYS¦ð÷(å¾ûÆ¿xægvYó™qCšÊKïþÓé¯<=íà®¶Š9⶯ÈJ¹'-[ö{BÍ~ø”68×®ïz_ÌåÿÎY¸rÊ!ݽY)÷õÅ×LÌ:“nƒ„A]Pî ;/ßpêSŸ½ã¡©±ºk³(Q"¢äõÅ׎-ûåöÄù}é¢ÿ4}ìéþ àñ_µ~øß&7Ý3qÒ¢±¥Ÿ¦Ï aP7ëÿå²;†_y׌ߘñÌYïÙqä«?<|ÞáÅWüÚ•ÿ¹wìàõÍØ1ø÷§ýío²ô·EÜöÝÉñáß‘×_3¶ôÓªïD: uä×®¼N亖Èó""²¼7Õ¼ïÄ}K?3vð…Y;¾9ó…ÇN8¸w|梃ç¯>xÖoN´'꣥JÑç‘0èN&fžùê…·¼Záó«388Øã¿Ý…Œ @Â2ql.ì®»7bhžö±ÏÇÐ,|ár¸G ÍåÿÖ€¶–ˆIEND®B`‚adonthell-0.3.5/doc/dlgedit/footer.html0000644000076500000240000000125407506161216014763 00000000000000


This document is part of the Adonthell Project
Last changed at $datetime
© 2000/2001/2002 Kai Sterker
Generated by doxygen $doxygenversion written by Dimitri van Heesch, © 1997-2001
adonthell-0.3.5/doc/dlgedit/header.html0000644000076500000240000000041507362543656014727 00000000000000 $title adonthell-0.3.5/doc/dlgedit/Makefile.am0000644000076500000240000000110707376210504014630 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = dlgedit.tex dlgedit.cfg dlgedit.dxt dlgedit.sty \ dlgedit_debug.eps dlgedit_debug.png dlgedit_edit.eps \ dlgedit_edit.png dlgedit_main.eps dlgedit_main.png \ dlgedit_run.eps dlgedit_run.png step1.eps step1.png \ step2.eps step2.png step3.eps step3.png step4.eps \ step4.png header.html footer.html Makefile.latex if BUILD_DOC all: $(P_DOXYGEN) dlgedit.cfg @cp dlgedit.sty latex/dlgedit.sty @cp Makefile.latex latex/Makefile @mv latex/refman.tex latex/dlgedit.tex CLEANFILES = -R html latex endif adonthell-0.3.5/doc/dlgedit/Makefile.in0000644000076500000240000002442511017574471014654 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc/dlgedit DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = dlgedit.tex dlgedit.cfg dlgedit.dxt dlgedit.sty \ dlgedit_debug.eps dlgedit_debug.png dlgedit_edit.eps \ dlgedit_edit.png dlgedit_main.eps dlgedit_main.png \ dlgedit_run.eps dlgedit_run.png step1.eps step1.png \ step2.eps step2.png step3.eps step3.png step4.eps \ step4.png header.html footer.html Makefile.latex @BUILD_DOC_TRUE@CLEANFILES = -R html latex all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/dlgedit/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/dlgedit/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am @BUILD_DOC_TRUE@all: @BUILD_DOC_TRUE@ $(P_DOXYGEN) dlgedit.cfg @BUILD_DOC_TRUE@ @cp dlgedit.sty latex/dlgedit.sty @BUILD_DOC_TRUE@ @cp Makefile.latex latex/Makefile @BUILD_DOC_TRUE@ @mv latex/refman.tex latex/dlgedit.tex # 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: adonthell-0.3.5/doc/dlgedit/Makefile.latex0000644000076500000240000000114307362572271015357 00000000000000all: dlgedit.dvi ps: dlgedit.ps pdf: dlgedit.pdf ps_2on1: dlgedit_2on1.ps pdf_2on1: dlgedit_2on1.pdf dlgedit.ps: dlgedit.dvi dvips -o dlgedit.ps dlgedit.dvi dlgedit.pdf: dlgedit.ps ps2pdf dlgedit.ps dlgedit.pdf dlgedit_2on1.ps: dlgedit.ps psnup -2 dlgedit.ps >dlgedit_2on1.ps dlgedit_2on1.pdf: dlgedit_2on1.ps ps2pdf dlgedit_2on1.ps dlgedit_2on1.pdf dlgedit.dvi: dlgedit.tex dlgedit.sty echo "Running latex..." latex dlgedit.tex echo "Running makeindex..." makeindex dlgedit.idx echo "Rerunning latex...." latex dlgedit.tex clean: rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out adonthell-0.3.5/doc/dlgedit/step1.eps0000644000076500000240000001262207362407534014353 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner %%Title: /home/kai/adonthell/adonthell-src/doc/dlgedit/step1.eps %%CreationDate: Sun Oct 14 23:47:54 2001 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 0 0 103 46 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 0.000028 0.000028 translate % Translate to begin of first scanline 0.000000 45.360000 translate 102.240000 -45.360000 scale % Image geometry 142 63 8 % Transformation matrix [ 142 0 0 63 0 0 ] % Strings to hold RGB-samples per scanline /rstr 142 string def /gstr 142 string def /bstr 142 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 4490 ASCII Bytes colorimage JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> li6e]OT0h~> li6g;OT0h~> li6e]OT0h~> mJm1dqZ$QqP5g%~> mJm3BqZ$SOP5g%~> mJm1dqZ$QqP5g%~> mf*7epAY*mPQ-.~> mf*9CpAY,KPQ-.~> mf*7epAY*mPQ-.~> n,E@fo`"mkPlH7~> n,EBDo`"oIPlH7~> n,E@fo`"mkPlH7~> nG`Igo)A[iQ2c@~> nG`KEo)A]GQ2c@~> nG`Igo)A[iQ2c@~> nc&RhnG`IgQN)I~> nc&TFnG`KEQN)I~> nc&RhnG`IgQN)I~> o)A[imf*7eQiDR~> o)A]Gmf*9CQiDR~> o)A[imf*7eQiDR~> o)A[imf*7eQiDR~> o)A]Gmf*9CQiDR~> o)A[imf*7eQiDR~> o)A[imf*7eQiDR~> o)A]Gmf*9CQiDR~> o)A[imf*7eQiDR~> o)A[imf*7eQiDR~> o)A]Gmf*9CQiDR~> o)A[imf*7eQiDR~> o)A[imf*7eQiDR~> o)A]Gmf*9CQiDR~> o)A[imf*7eQiDR~> o)A[imf*7eQiDR~> o)A]Gmf*9CQiDR~> o)A[imf*7eQiDR~> o)A[imf*7eQiDR~> o)A]Gmf*9CQiDR~> o)A[imf*7eQiDR~> nc&RhnG`IgQN)I~> nc&TFnG`KEQN)I~> nc&RhnG`IgQN)I~> nc&RhnG`IgQN)I~> nc&TFnG`KEQN)I~> nc&RhnG`IgQN)I~> nG`Igo)A[iQ2c@~> nG`KEo)A]GQ2c@~> nG`Igo)A[iQ2c@~> n,E@fo`"mkPlH7~> n,EBDo`"oIPlH7~> n,E@fo`"mkPlH7~> mf*7epAY*mPQ-.~> mf*9CpAY,KPQ-.~> mf*7epAY*mPQ-.~> mJm1dqZ$QqP5g%~> mJm3BqZ$SOP5g%~> mJm1dqZ$QqP5g%~> li6e]OT0h~> li6g;OT0h~> li6e]OT0h~> KDtoOo)F4~> KDtoOo)F4~> KDtoOo)F4~> h#F>'!!)TiJ,~> h#F>(!!)TiJ,~> h#F>'!!)TiJ,~> h#FA(!L*TTs*t~> h#FA)!L3ZUs*t~> h#FA(!L*TTs*t~> h#FA(!L*TTs*t~> h#FA)!L3ZUs*t~> h#FA(!L*TTs*t~> h#FA(!L*TTs*t~> h#FA)!L3ZUs*t~> h#FA(!L*TTs*t~> h#IE)!!)uJ!!)fE!s$m%!:\M=!9_o1!;k:H!;=qDPQ::SJ,~> h#IE*!!)uK!!)fF!s$p'!:\P>!9_r2!;k=I!;=tEPlUCTJ,~> h#IE)!!)uJ!!)fE!s$m%!:\M=!9_o1!;k:H!;=qDPQ::SJ,~> h#IE)!!)uJ!!)fE!s$m%!:\M=!9_l4!://9PQ::SJ,~> h#IE*!!)uK!!)fF!s$p'!:\P>!9_o5!:/2:PlUCTJ,~> h#IE)!!)uJ!!)fE!s$m%!:\M=!9_l4!://9PQ::SJ,~> h#IE)!!)uJ!!*#KrW)rJ!s$m%!<1OJ!;=qC!;b7F!<1LP!7_)"eH#Hr!!)oH"9?sPeH#U!rW)lH !L*TTs*t~> h#IE*!!)uK!!*#LrW)rK!s$p'!<1RK!;=tD!;b:G!<1OQ!7h/$ec>Qt!!)oI"9@!Qec>^#rW)lI !L3ZUs*t~> h#IE)!!)uJ!!*#KrW)rJ!s$m%!<1OJ!;=qC!;b7F!<1LP!7_)"eH#Hr!!)oH"9?sPeH#U!rW)lH !L*TTs*t~> h#IE)!!)uJ!s$m%!<1LT!7fU"e^XZMeH#U!!!)cD!!)oH!!*#K#lrN+!!(OL!7_)HeGoUHec,XL eH5g%eH#U!!!)uJ!L*TTs*t~> h#IE*!!)uK!s$p'!<1OU!7o^$f%'iPec>^#!!)cE!!)oI!!*#L#lrQ-!!(RM!7h/Iec5^If)GaM ecPp'ec>^#!!)uK!L3ZUs*t~> h#IE)!!)uJ!s$m%!<1LT!7fU"e^XZMeH#U!!!)cD!!)oH!!*#K#lrN+!!(OL!7_)HeGoUHec,XL eH5g%eH#U!!!)uJ!L*TTs*t~> h#IE)qZ-ZH!!*#K#lrN+!7fU"e^X[!eGoUDeGoUDeHl6+eH".M!7fU"qpkTEs4%)Lrm_)Ne^XZq eH(m7o)F4~> h#IE*qZ-ZI!!*#L#lrQ-!7o^$f%'j#ec5^Eec5^Eed2?-ec=:P!7o^$qptZFs4./Mrmh/Of%'is ecD$9o)F4~> h#IE)qZ-ZH!!*#K#lrN+!7fU"e^X[!eGoUDeGoUDeHl6+eH".M!7fU"qpkTEs4%)Lrm_)Ne^XZq eH(m7o)F4~> h#IE)!!)uJ!W^d$quHcI"p!3(!7fU"rm^uKpXK6DqUPNEs4%;Re^XZMeH#Ks!!)oH!!*#K!s$m% !;Y.GPQ::SJ,~> h#IE*!!)uK!W^g&quHcJ"p!6*!7o^$rmh&LpXTTu!!)oI!!*#L!s$p' !;Y1HPlUCTJ,~> h#IE)!!)uJ!W^d$quHcI"p!3(!7fU"rm^uKpXK6DqUPNEs4%;Re^XZMeH#Ks!!)oH!!*#K!s$m% !;Y.GPQ::SJ,~> h#IE)!!)uJ!s$m%!;k:N!7fU"e^X[!eGoUDeGoUHeGoUKeHl6+eH".M!7fU"qpbZHqpbZHrm_)N e^XZqeH(m7o)F4~> h#IE*!!)uK!s$p'!;k=O!7o^$f%'j#ec5^Eec5^Iec5^Led2?-ec=:P!7o^$qpk`Iqpk`Irmh/O f%'isecD$9o)F4~> h#IE)!!)uJ!s$m%!;k:N!7fU"e^X[!eGoUDeGoUHeGoUKeHl6+eH".M!7fU"qpbZHqpbZHrm_)N e^XZqeH(m7o)F4~> h#IE)!!)uJ!s$m%!<1LT!7fU"e^XZMeH#U!!!)cD!!)oH!!*#K#lrN+!7fU"e^XZseGoUHeGoUK eH5g%eH#U!!!)uJ!L*TTs*t~> h#IE*!!)uK!s$p'!<1OU!7o^$f%'iPec>^#!!)cE!!)oI!!*#L#lrQ-!7o^$f%'iuec5^Iec5^L ecPp'ec>^#!!)uK!L3ZUs*t~> h#IE)!!)uJ!s$m%!<1LT!7fU"e^XZMeH#U!!!)cD!!)oH!!*#K#lrN+!7fU"e^XZseGoUHeGoUK eH5g%eH#U!!!)uJ!L*TTs*t~> h#IE)!!)uJ!!*#KrW)rJ!s$m%!<1OJ!<(FJ!;k:H!;b7F!"%0UeH".M!7fU"qpkTEs4%)Lrm^uK rmguJrm_)NeW^()s*t~> h#IE*!!)uK!!*#LrW)rK!s$p'!<1RK!<(IK!;k=I!;b:G!"%3Vec=:P!7o^$qptZFs4./Mrmh&L rmq&Krmh/Oes-7+s*t~> h#IE)!!)uJ!!*#KrW)rJ!s$m%!<1OJ!<(FJ!;k:H!;b7F!"%0UeH".M!7fU"qpkTEs4%)Lrm^uK rmguJrm_)NeW^()s*t~> h#HBa!!(-k!L*TTs*t~> h#HBb!!(-l!L3ZUs*t~> h#HBa!!(-k!L*TTs*t~> h#HEb!!(*j!L*TTs*t~> h#HEc!!(*k!L3ZUs*t~> h#HEb!!(*j!L*TTs*t~> h#FA(!L*TTs*t~> h#FA)!L3ZUs*t~> h#FA(!L*TTs*t~> h#FA(!L*TTs*t~> h#FA)!L3ZUs*t~> h#FA(!L*TTs*t~> h#@B)WK[A_o)F4~> h#@B*WKdG`o)F4~> h#@B)WK[A_o)F4~> h>a>Po)F4~> h>a>Po)F4~> h>a>Po)F4~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> JcG?AJ,~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/step1.png0000644000076500000240000000077707362407534014360 00000000000000‰PNG  IHDRŽ?¹ g pHYs``zxE±IDATxÚí›]Ò‚ †?W“Kûºo ­ŠUdË¡ fFà p°ç.Èñ<ž1sîõ  &¨¨¨@…@…@***P! ʇ0³Þèî,ØkBå!mR‰ü„„Ö?¯2ó•DJtl®Jdàîn3<¢J¨²|ZÍP b´ çhq_***P!P¡cQ‰knV˜ð*PíêX¸T3¯Ê¢§Æ0‘œv”)y¿ŠG‹Ý  ©¬ÝãªC…„¦7yÆ*ÏozM@⾪'YkA…W¡ßD5^ÇÈ×OãݵËäÃO…#¶)+Ρçôÿzž¹ZݲFðm™‡û.Æ,œ§R¯¯ã|I†mY7Á|Û[Ö7Ò_w.Ÿ§ TôÂ6o›5œ|â.åQqÐ`¬uR~­”:++êXaš(Ö;Ž OgÐæRó)EÜëS·ôÔ½!7çoæªÄyŠë‹Ú+ë‡.×–WYÕd­½ýß²Œ9S„é…ÓÙrUU¨Ž²Bð¨ÕFe oÃXÿV«¨@…@…@**ªßЄÀïù¦IÒ>IEND®B`‚adonthell-0.3.5/doc/dlgedit/step2.eps0000644000076500000240000001057107362407534014355 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner %%Title: /home/kai/adonthell/adonthell-src/doc/dlgedit/step2.eps %%CreationDate: Sun Oct 14 23:39:43 2001 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 0 0 38 65 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 0.000028 0.000028 translate % Translate to begin of first scanline 0.000000 64.080000 translate 37.440000 -64.080000 scale % Image geometry 52 89 8 % Transformation matrix [ 52 0 0 89 0 0 ] % Strings to hold RGB-samples per scanline /rstr 52 string def /gstr 52 string def /bstr 52 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 3448 ASCII Bytes colorimage c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> li6e]lMlA~> li6e]lMlA~> c2W:~> mJm1dqZ$Qqm/MS~> mJm1dqZ$Qqm/MS~> c2W:~> mf*7epAY*mmJh\~> mf*7epAY*mmJh\~> c2W:~> n,E@fo`"mkmf.e~> n,E@fo`"mkmf.e~> c2W:~> nG`Igo)A[in,In~> nG`Igo)A[in,In~> c2W:~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> c2W:~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> c2W:~> o)A[imf*7enc++~> o)A[imf*7enc++~> c2W:~> o)A[imf*7enc++~> o)A[imf*7enc++~> c2W:~> o)A[imf*7enc++~> o)A[imf*7enc++~> c2W:~> o)A[imf*7enc++~> o)A[imf*7enc++~> c2W:~> o)A[imf*7enc++~> o)A[imf*7enc++~> c2W:~> o)A[imf*7enc++~> o)A[imf*7enc++~> c2W:~> o)A[imf*7enc++~> o)A[imf*7enc++~> c2W:~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> c2W:~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> c2W:~> nG`Igo)A[in,In~> nG`Igo)A[in,In~> c2W:~> n,E@fo`"mkmf.e~> n,E@fo`"mkmf.e~> c2W:~> mf*7epAY*mmJh\~> mf*7epAY*mmJh\~> c2W:~> mJm1dqZ$Qqm/MS~> mJm1dqZ$Qqm/MS~> kl1V_kPp&~> li6e]lMlA~> li6e]lMlA~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> mJlk[m/MS~> mJlk[m/MS~> mJlk[m/MS~> m/I%cqYpNqli2J~> m/I%cqYpNqli2J~> m/I%cqYpNqli2J~> m/I%cqYpNqli2J~> m/I%cqYpNqli2J~> m/I%cqYpNqli2J~> li-qbr;Q`slMlA~> li-qbr;Q`slMlA~> li-qbr;Q`slMlA~> li-qbr;Q`slMlA~> li-qbr;Q`slMlA~> li-qbr;Q`slMlA~> lMgharr2rul2Q8~> lMgharr2rul2Q8~> lMgharr2rul2Q8~> lMgharr2rul2Q8~> lMgharr2rul2Q8~> lMgharr2rul2Q8~> l2LebrrD9_J,~> l2LebrrD9_J,~> l2LebrrD9_J,~> l2LebrrD9_J,~> l2LebrrD9_J,~> l2LebrrD9_J,~> kl1V_kPp&~> kl1V_kPp&~> kl1V_kPp&~> li6e]lMlA~> li6e]lMlA~> li6sA!!*"UlMlA~> mJm1dqZ$Qqm/MS~> mJm1dqZ$Qqm/MS~> mJm3DqZ$SQm/MS~> mf*7epAY*mmJh\~> mf*7epAY*mmJh\~> mf*9EpAY,MmJh\~> n,E@fo`"mkmf.e~> n,E@fo`"mkmf.e~> n,EBFo`"oKmf.e~> nG`Igo)A[in,In~> nG`Igo)A[in,In~> nG`KGo)A]In,In~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> nc&THnG`KGnGe"~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> nc&THnG`KGnGe"~> o)A[imf*7enc++~> o)A[imf*7enc++~> o)A]Imf*9Enc++~> o)A[imf*7enc++~> o)A[imf*7enc++~> o)A]Imf*9Enc++~> o)A[imf*7enc++~> o)A[imf*7enc++~> o)A]Imf*9Enc++~> o)A[imf*7enc++~> o)A[imf*7enc++~> o)A]Imf*9Enc++~> o)A[imf*7enc++~> o)A[imf*7enc++~> o)A]Imf*9Enc++~> o)A[imf*7enc++~> o)A[imf*7enc++~> o)A]Imf*9Enc++~> o)A[imf*7enc++~> o)A[imf*7enc++~> o)A]Imf*9Enc++~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> nc&THnG`KGnGe"~> nc&RhnG`IgnGe"~> nc&RhnG`IgnGe"~> nc&THnG`KGnGe"~> nG`Igo)A[in,In~> nG`Igo)A[in,In~> nG`KGo)A]In,In~> n,E@fo`"mkmf.e~> n,E@fo`"mkmf.e~> n,EBFo`"oKmf.e~> mf*7epAY*mmJh\~> mf*7epAY*mmJh\~> mf*9EpAY,MmJh\~> mJm1dqZ$Qqm/MS~> mJm1dqZ$Qqm/MS~> mJm3DqZ$SQm/MS~> li6e]lMlA~> li6e]lMlA~> li6g=lMlA~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> c2W:~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/step2.png0000644000076500000240000000060607362407534014350 00000000000000‰PNG  IHDR4Yþp8 pHYs``zxE8IDATxÚíÙA„ ÐÖpå¹ÄxèÎÂÄEFÛ‚?+£¢/K‰,"µM¸pÀ9´äð æÂIÜžXEGåRsíÝË¥ú=­æÜÉ·Š”½!îR< ¾©­Ìæ)Ï©'¸*xX!€nPœ:Ý«rÐ`êž6u«"wÉg¨š´ÃzÒg«ç Åæê‹X çåîâ!’@{ˆÃ6ˆX!€8à€8à€î8¶ü©æ»Cãop¶öçòŽÎcÎe·\—°½àkÝÏ+lïÈskðÃ6tnô‘®-y˜æý±Èçöåk>rT.]›ËºFôu¹§Ö½Ì2£ZË,½Bç9ê3@º¾ØCÜSpHÂ=«’¸kkôª¤[=ºvØ’ä{ˆl*ß½‡À pÀ=÷b|ÎÍÄ@wZIEND®B`‚adonthell-0.3.5/doc/dlgedit/step3.eps0000644000076500000240000002214207362407534014353 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner %%Title: /home/kai/adonthell/adonthell-src/doc/dlgedit/step3.eps %%CreationDate: Sun Oct 14 23:46:38 2001 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 0 0 75 103 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 0.000028 0.000028 translate % Translate to begin of first scanline 0.000000 102.960000 translate 74.160000 -102.960000 scale % Image geometry 103 143 8 % Transformation matrix [ 103 0 0 143 0 0 ] % Strings to hold RGB-samples per scanline /rstr 103 string def /gstr 103 string def /bstr 103 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 8279 ASCII Bytes colorimage Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> lMp\\\Gq'~> lMp\\\Gq'~> lMp\\\Gq'~> m/R(cqZ$Qq])R9~> m/R(cqZ$Qq])R9~> m/R(cqZ$Qq])R9~> mJd.dpAb-m]`3K~> mJd.dpAb-m]`3K~> mJd.dpAb-m]`3K~> mf*7eoD\dj^&NT~> mf*7eoD\dj^&NT~> mf*7eoD\dj^&NT~> mf*7eoD\dj^&NT~> mf*7eoD\dj^&NT~> mf*7eoD\dj^&NT~> n,E@fnc&Rh^Ai]~> n,E@fnc&Rh^Ai]~> n,E@fnc&Rh^Ai]~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nc&RhmJd.d_#Jo~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> nG`Ign,E@f^]/f~> n,E@fnc&Rh^Ai]~> n,E@fnc&Rh^Ai]~> n,E@fnc&Rh^Ai]~> mf*7eoD\dj^&NT~> mf*7eoD\dj^&NT~> mf*7eoD\dj^&NT~> mJd.dpAb-m]`3K~> mJd.dpAb-m]`3K~> mJd.dpAb-m]`3K~> m/R(cqZ$Qq])R9~> m/R(cqZ$Qq])R9~> m/R(cqZ$Qq])R9~> lMp\\qu6Wr^]/f~> lMp\\qu6Wr^]/f~> lMp\\qu6Wr^]/f~> kPkM^p\t3n_#Jo~> kPkM^p\t3n_#Jo~> kPkM^p\t3n_#Jo~> kPkM^pAY*m_>f#~> kPkM^pAY*m_>f#~> kPkM^pAY*m_>f#~> kPkM^p&>!l_Z,,~> kPkM^p&>!l_Z,,~> kPkM^p&>!l_Z,,~> kPkM^o`"mk_uG5~> kPkM^o`"mk_uG5~> kPkM^o`"mk_uG5~> kPkM^oD\dj`;b>~> kPkM^oD\dj`;b>~> kPkM^oD\dj`;b>~> kPkM^o)A[i`W(G~> kPkM^o)A[i`W(G~> kPkM^o)A[i`W(G~> kPkM^nc&Rh`rCP~> kPkM^nc&Rh`rCP~> kPkM^nc&Rh`rCP~> kPkM^nc&Rh`rCP~> kPkM^nc&Rh`rCP~> kPkM^nc&Rh`rCP~> kPkM^nG`Iga8^Y~> kPkM^nG`Iga8^Y~> kPkM^nG`Iga8^Y~> kPkM^n,E@faT$b~> kPkM^n,E@faT$b~> kPkM^n,E@faT$b~> kPkM^mf*7eao?k~> kPkM^mf*7eao?k~> kPkM^mf*7eao?k~> kPkM^mJd.db5Zt~> kPkM^mJd.db5Zt~> kPkM^mJd.db5Zt~> kPkM^m/I%cbQ!(~> kPkM^m/I%cbQ!(~> kPkM^m/I%cbQ!(~> kPkM^li-qbbl<1~> kPkM^li-qbbl<1~> kPkM^li-qbbl<1~> kPkM^lMghac2W:~> kPkM^lMghac2W:~> kPkM^lMghac2W:~> kPkM^l2L_`cMrC~> kPkM^l2L_`cMrC~> kPkM^l2L_`cMrC~> kPkM^kl:Y_d/SU~> kPkM^kl:Y_d/SU~> kPkM^kl:Y_d/SU~> kPkM^k5PD]dJn^~> kPkM^k5PD]dJn^~> kPkM^k5PD]dJn^~> kPkM^jo5;\p\t3nh>`!~> kPkM^jo5;\p\t3nh>`!~> kPkM^jo5;\p\t3nh>`!~> kPkM^jSo2[q>^Hph>`!~> kPkM^jSo2[q>^Hph>`!~> kPkM^jSo2[q>^Hph>`!~> kPkM^j8],Zr;Qj!s8N)Us*t~> kPkM^j8],Zr;Qj!s8N)Us*t~> kPkM^j8],Zr;Qj!s8N)Us*t~> m/QbZk5PD]rr2rurr2ruhZ&*~> m/QbZk5PD]rr2rurr2ruhZ&*~> m/QbZk5PD]rr2rurr2ruhZ&*~> li-qbqYpNqjT#2ZrVlithZ&*~> li-qbqYpNqjT#2ZrVlithZ&*~> li-qbqYpNqjT#2ZrVlithZ&*~> li-qbqYpNqjSo2[qu6WrhZ&*~> li-qbqYpNqjSo2[qu6WrhZ&*~> li-qbqYpNqjSo2[qu6WrhZ&*~> lMghar;Q`sjSo2[q>UEphuA3~> lMghar;Q`sjSo2[q>UEphuA3~> lMghar;Q`sjSo2[q>UEphuA3~> lMghar;Q`sk5YG]q#: lMghar;Q`sk5YG]q#: lMghar;Q`sk5YG]q#: l2L_`rr2ruk5PD]pAY*mhuA3~> l2L_`rr2ruk5PD]pAY*mhuA3~> l2L_`rr2ruk5PD]pAY*mhuA3~> l2L_`rr2rukPtP^p&>!li;\<~> l2L_`rr2rukPtP^p&>!li;\<~> l2L_`rr2rukPtP^p&>!li;\<~> kl1\arrD-[r;cZn!!(sWJ,~> kl1\arrD-[r;cZn!!(sWJ,~> kl1\arrD-[r;cZn!!(sWJ,~> kl1\arrD!WrrDrr!!(sWJ,~> kl1\arrD!WrrDrr!!(sWJ,~> kl1\arrD!WrrDrr!!(sWJ,~> kPkM^h>dHSrr2rui;\<~> kPkM^h>dHSrr2rui;\<~> kPkM^h>dHSrr2rui;\<~> ^]433iW"E~> ^]433iW"E~> ^]433iW"E~> lMp\\gAh0QiW"E~> lMp\\gAh0QiW"E~> lMp^ m/R(cqZ$Qq])R9~> m/R(cqZ$Qqec5Gnmf.e~> m/R*CqZ$SQec5FFmf.e~> mJd.dpAb-m]`3K~> mJd.dpAb-mg&M)#q>^JCnGe"~> mJd0DpAb/Mg&M'Pq>^HpnGe"~> mf*7eoD\dj^&NT~> mf*7eoD\djg]%8%p&>#?nc++~> mf*9EoD\fJg]%6Rp&>!lnc++~> n,E@fnc&Rh^Ai]~> n,E@fnc&Rhh>[J'oD\f=o)F4~> n,EBFnc&THh>[HToD\djo)F4~> nG`Ign,E@f^]/f~> nG`Ign,E@fhu<\)nc&T;oDa=~> nG`KGn,EBFhu nG`Ign,E@f^]/f~> nG`Ign,E@fi;We*n,EB9o`'F~> nG`KGn,EBFi;WcWn,E@fo`'F~> nc&RhmJd.d_#Jo~> nc&RhmJd.diVrn+n,EB9o`'F~> nc&THmJd0DiVrlXn,E@fo`'F~> nc&RhmJd.d_#Jo~> nc&RhmJd.dir9",mJd07p&BO~> nc&THmJd0Dir8uYmJd.dp&BO~> nc&RhmJd.d_#Jo~> nc&RhmJd.dir9",mJd07p&BO~> nc&THmJd0Dir8uYmJd.dp&BO~> nc&RhmJd.d_#Jo~> nc&RhmJd.dir9",mJd07p&BO~> nc&THmJd0Dir8uYmJd.dp&BO~> nc&RhmJd.d_#Jo~> nc&RhmJd.dir9",mJd07p&BO~> nc&THmJd0Dir8uYmJd.dp&BO~> nc&RhmJd.d_#Jo~> nc&RhmJd.dir9",mJd07p&BO~> nc&THmJd0Dir8uYmJd.dp&BO~> nc&RhmJd.d_#Jo~> nc&RhmJd.dir9",mJd07p&BO~> nc&THmJd0Dir8uYmJd.dp&BO~> nG`Ign,E@f^]/f~> nG`Ign,E@fiVrn+mJd07p&BO~> nG`KGn,EBFiVrlXmJd.dp&BO~> nG`Ign,E@f^]/f~> nG`Ign,E@fi;We*n,EB9o`'F~> nG`KGn,EBFi;WcWn,E@fo`'F~> n,E@fnc&Rh^Ai]~> n,E@fnc&Rhhu<\)n,EB9o`'F~> n,EBFnc&THhu mf*7eoD\dj^&NT~> mf*7eoD\djh>[J'nc&T;oDa=~> mf*9EoD\fJh>[HTnc&RhoDa=~> mJd.dpAb-m]`3K~> mJd.dpAb-mg]%8%oD\f=o)F4~> mJd0DpAb/Mg]%6RoD\djo)F4~> m/R(cqZ$Qq])R9~> m/R(cqZ$Qqf`(r"p&>#?nc++~> m/R*CqZ$SQf`(pOp&>!lnc++~> lMp\\\Gq'~> lMp\\ec5Ytq>^JCnGe"~> lMpj@!!*"Uec5XLq>^HpnGe"~> kPkM^[Jta~> kPkM^d/Woimf.e~> kPkM^d/WnAmf.e~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> m/QbZfDkLDnGe"~> m/QbZfDkLDnGe"~> m/QbZfDkLDnGe"~> li-qbqYpNqec,ULq>UEpn,In~> li-qbqYpNqec,ULq>UEpn,In~> li-qbqYpNqec,ULq>UEpn,In~> li-qbqYpNqec,ULq>UEpn,In~> li-qbqYpNqec,ULq>UEpn,In~> li-qbqYpNqec,ULq>UEpn,In~> lMghar;Q`se,KCJqu6Wrmf.e~> lMghar;Q`se,KCJqu6Wrmf.e~> lMghar;Q`se,KCJqu6Wrmf.e~> lMghar;Q`se,KCJqu6Wrmf.e~> lMghar;Q`se,KCJqu6Wrmf.e~> lMghar;Q`se,KCJqu6Wrmf.e~> l2L_`rr2rudJj1Hrr;uumJh\~> l2L_`rr2rudJj1Hrr;uumJh\~> l2L_`rr2rudJj1Hrr;uumJh\~> l2L_`rr2rudJj1Hrr;uumJh\~> l2L_`rr2rudJj1Hrr;uumJh\~> l2L_`rr2rudJj1Hrr;uumJh\~> kl1\arrCCF!W`6#li2J~> kl1\arrCCF!W`6#li2J~> kl1\arrCCF!W`6#li2J~> kl1\arrCCF!W`6#li2J~> kl1\arrCCF!W`6#li2J~> kl1\arrCCF!W`6#li2J~> kl:V^ci kl:V^ci kl:V^ci kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> kPkM^c2RbDlMlA~> lMp\\e,T4Dmf.e~> lMp\\e,T4Dmf.e~> lMp\\e,T4Dmf.e~> m/R(cqZ$QqfDkjNq>^HpnGe"~> m/R(cqZ$QqfDkjNq>^HpnGe"~> m/R(cqZ$QqfDkjNq>^HpnGe"~> mJd.dpAb-mgA_-Qp&>!lnc++~> mJd.dpAb-mgA_-Qp&>!lnc++~> mJd.dpAb-mgA_-Qp&>!lnc++~> mf*7eoD\djh#@?SoD\djo)F4~> mf*7eoD\djh#@?SoD\djo)F4~> mf*7eoD\djh#@?SoD\djo)F4~> n,E@fnc&RhhZ!QUnc&RhoDa=~> n,E@fnc&RhhZ!QUnc&RhoDa=~> n,E@fnc&RhhZ!QUnc&RhoDa=~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nc&RhmJd.dir8uYmJd.dp&BO~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> nG`Ign,E@fi;WcWn,E@fo`'F~> n,E@fnc&RhhZ!QUnc&RhoDa=~> n,E@fnc&RhhZ!QUnc&RhoDa=~> n,E@fnc&RhhZ!QUnc&RhoDa=~> mf*7eoD\djh#@?SoD\djo)F4~> mf*7eoD\djh#@?SoD\djo)F4~> mf*7eoD\djh#@?SoD\djo)F4~> mJd.dpAb-mgA_-Qp&>!lnc++~> mJd.dpAb-mgA_-Qp&>!lnc++~> mJd.dpAb-mgA_-Qp&>!lnc++~> m/R(cqZ$QqfDkjNq>^HpnGe"~> m/R(cqZ$QqfDkjNq>^HpnGe"~> m/R(cqZ$QqfDkjNq>^HpnGe"~> lMp\\e,T4Dmf.e~> lMp\\e,T4Dmf.e~> lMp\\e,T4Dmf.e~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> Rf@m~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/step3.png0000644000076500000240000000165507362407534014356 00000000000000‰PNG  IHDRgh4RA pHYs``zxE_IDATxÚíËrƒ0 Em†_nwí¢Ëä£Ý3 ÓY–%÷h™D®­‡ÁÉ¥”„Ý´ PƒÔ †AMd³Ê·äœ__8§™Uxí:y+ºåš³ÊùýLJd'§v™ì`¢1´B;¥”݈ñ¨É†ÛHà¡&Ôjæõaä†Ö 5¨A ƒšµšìa˜j­YQ“Ém¤¶‡PkwÁ Ö)¢+iN-ѯg÷:ŠG§Ê§ñ–Ëà¬31šEòµÀõÉr£ƒëV„׳¢Š ®sÕ{LjåæBkáÀy¡±À9š×ó ¢€sCC€ó˜yøç4_sÎo–»€óÉÎumPJñ)ºÕpÆdcÔ¡çàìŦz?šæ–…ã¬ólËÉ+Šk+ËWm×kz­ÝÌ*8ZmqJ[YõZîšSLë»<8é^üÖB;ùfË©-’ÖüÜ1i—íun!´5V’åÊ#ußêUm„®Á´…ÐÖœÃI4ˆ4¯mIõãfݳ2K;ÿ¨Ïß(7”5+Hj-ççž>ì¯M4¨¿Ãôyèä-kû>@ùS:PËùùJgv ¯#:çïžk[f)=¬f_Ió°íé ëî‹›à’ 2kp÷åsë##Þ‰õ%SÕO9 õuè•p<‡~ìæ(álBh¹q¯$ZƒÔ †‰v g5Y Zkiw’UqÖ"Û-@"·a„6nÏ£qšj|»Â"¥‡ë6‘ˆòн܋óÔý"Lk·€ušûLé±N.ÊÒ½\ëÝz²Û ¸²ÓüÔ´Ý£6€Ô 5 jPƒÔ †A jPƒÔ0¨A jþMgGëëÛ¿òІÀC…>ºñsïZîÕxÈí4¯?÷®â^¥‡h­G4ؽtWEÿ¸W¦ÐZW­­×Óíò»¢{hÍ5çûAj¹§ImQ¾Û»cÝ3ý·o{¨³ÿšÛV:÷AìáÈÿâu1\ ¢ªœÚ­³OGšº7ø”Ìw níÞdà“18÷ÈrMòµšÊ@n6î¡5êP¨A jÔŒ¨Õdu•{hÍj„Ê®§åö¦­Ý›l<3îy´vþšmí-z¹—œ{&N&oõuƒAöf&Ë…Ô0¨A jPƒ¶±_·•=&¡žãIEND®B`‚adonthell-0.3.5/doc/dlgedit/step4.eps0000644000076500000240000002461407506161216014354 00000000000000%!PS-Adobe-3.0 EPSF-3.0 %%Creator: GIMP PostScript file plugin V 1.11 by Peter Kirchgessner %%Title: /home/kai/adonthell/adonthell-src/doc/dlgedit//step4.eps %%CreationDate: Tue Jun 25 22:08:45 2002 %%DocumentData: Clean7Bit %%LanguageLevel: 2 %%Pages: 1 %%BoundingBox: 14 14 78 121 %%EndComments %%BeginProlog % Use own dictionary to avoid conflicts 10 dict begin %%EndProlog %%Page: 1 1 % Translate for offset 14.173228 14.173228 translate % Translate to begin of first scanline 0.000000 105.840000 translate 63.360000 -105.840000 scale % Image geometry 88 147 8 % Transformation matrix [ 88 0 0 147 0 0 ] % Strings to hold RGB-samples per scanline /rstr 88 string def /gstr 88 string def /bstr 88 string def {currentfile /ASCII85Decode filter /RunLengthDecode filter rstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter gstr readstring pop} {currentfile /ASCII85Decode filter /RunLengthDecode filter bstr readstring pop} true 3 %%BeginData: 9601 ASCII Bytes colorimage WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> pAash]DmB~> pAash]DmB~> pAash]DmB~> q#C?oqZ$Qq^&NT~> q#C?oqZ$Qq^&NT~> q#C?oqZ$Qq^&NT~> q>UEppAY*m^Ai]~> q>UEppAY*m^Ai]~> q>UEppAY*m^Ai]~> qYpNqo`"mk^]/f~> qYpNqo`"mk^]/f~> qYpNqo`"mk^]/f~> qu6Wro)A[i_#Jo~> qu6Wro)A[i_#Jo~> qu6Wro)A[i_#Jo~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> rVlitmf*7e_Z,,~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> r;Q`snG`Ig_>f#~> qu6Wro)A[i_#Jo~> qu6Wro)A[i_#Jo~> qu6Wro)A[i_#Jo~> qYpNqo`"mk^]/f~> qYpNqo`"mk^]/f~> qYpNqo`"mk^]/f~> q>UEppAY0orrBk7J,~> q>UEppAY0orrBk7J,~> q>UEppAY0orrBk7J,~> q#C?oqZ$Qqrr2ru_>f#~> q#C?oqZ$Qqrr2ru_>f#~> q#C?oqZ$Qqrr2ru_>f#~> pAashqu6Wr_Z,,~> pAashqu6Wr_Z,,~> pAashqu6Wr_Z,,~> oD\djp\t3n_uG5~> oD\djp\t3n_uG5~> oD\djp\t3n_uG5~> oD\djpAY*m`;b>~> oD\djpAY*m`;b>~> oD\djpAY*m`;b>~> oD\djp&>!l`W(G~> oD\djp&>!l`W(G~> oD\djp&>!l`W(G~> oD\djo`"mk`rCP~> oD\djo`"mk`rCP~> oD\djo`"mk`rCP~> oD\djoD\dja8^Y~> oD\djoD\dja8^Y~> oD\djoD\dja8^Y~> oD\djo)A[iaT$b~> oD\djo)A[iaT$b~> oD\djo)A[iaT$b~> oD\djnc&Rhao?k~> oD\djnc&Rhao?k~> oD\djnc&Rhao?k~> oD\djnG`Igb5Zt~> oD\djnG`Igb5Zt~> oD\djnG`Igb5Zt~> oD\djn,E@fbQ!(~> oD\djn,E@fbQ!(~> oD\djn,E@fbQ!(~> oD\djmf*7ebl<1~> oD\djmf*7ebl<1~> oD\djmf*7ebl<1~> oD\djmJd.dc2W:~> oD\djmJd.dc2W:~> oD\djmJd.dc2W:~> oD\djm/I%ccMrC~> oD\djm/I%ccMrC~> oD\djm/I%ccMrC~> oD\djli-qbci8L~> oD\djli-qbci8L~> oD\djli-qbci8L~> oD\djlMghad/SU~> oD\djlMghad/SU~> oD\djlMghad/SU~> oD\djl2L_`dJn^~> oD\djl2L_`dJn^~> oD\djl2L_`dJn^~> oD\djkl1V_df4g~> oD\djkl1V_df4g~> oD\djkl1V_df4g~> oD\djkPkM^e,Op~> oD\djkPkM^e,Op~> oD\djkPkM^e,Op~> oD\djk5PD]eGk%~> oD\djk5PD]eGk%~> oD\djk5PD]eGk%~> oD\djjo5;\ec1.~> oD\djjo5;\ec1.~> oD\djjo5;\ec1.~> oD\djjSo2[f)L7~> oD\djjSo2[f)L7~> oD\djjSo2[f)L7~> oD\djj8T)ZfDg@~> oD\djj8T)ZfDg@~> oD\djj8T)ZfDg@~> oD\djir8uYf`-I~> oD\djir8uYf`-I~> oD\djir8uYf`-I~> oD\djiVrlXg&HR~> oD\djiVrlXg&HR~> oD\djiVrlXg&HR~> oD\dji;WcWgAc[~> oD\dji;WcWgAc[~> oD\dji;WcWgAc[~> oD\djhu oD\djhu oD\djhu oD\djhZ!QUh#Dm~> oD\djhZ!QUh#Dm~> oD\djhZ!QUh#Dm~> oD\djh>[HTh>`!~> oD\djh>[HTh>`!~> oD\djh>[HTh>`!~> oD\djh#@?ShZ&*~> oD\djh#@?ShZ&*~> oD\djh#@?ShZ&*~> oD\djg]%6RhuA3~> oD\djg]%6RhuA3~> oD\djg]%6RhuA3~> q#C$fhu q#C$fhu q#C$fhu p\t3nqYpNqh>[HTiW"E~> p\t3nqYpNqh>[HTiW"E~> p\t3nqYpNqh>[HTiW"E~> p\t3nqYpNqh#@?Sir=N~> p\t3nqYpNqh#@?Sir=N~> p\t3nqYpNqh#@?Sir=N~> pAY*mr;Q`sgA_-Qqu6WrlMlA~> pAY*mr;Q`sgA_-Qqu6WrlMlA~> pAY*mr;Q`sgA_-Qqu6WrlMlA~> pAY*mr;Q`sg&D$PrVultlMlA~> pAY*mr;Q`sg&D$PrVultlMlA~> pAY*mr;Q`sg&D$PrVultlMlA~> p&>!lrr2rufDc$Ts8N*!rrDBbJ,~> p&>!lrr2rufDc$Ts8N*!rrDBbJ,~> p&>!lrr2rufDc$Ts8N*!rrDBbJ,~> p&>!lrr2ruf)PaMrr2ruli2J~> p&>!lrr2ruf)PaMrr2ruli2J~> p&>!lrr2ruf)PaMrr2ruli2J~> o`"smrrCUL!!)ut!!)?bJ,~> o`"smrrCUL!!)ut!!)?bJ,~> o`"smrrCUL!!)ut!!)?bJ,~> o`"smrrCXM!!)or!!)BcJ,~> o`"smrrCXM!!)or!!)BcJ,~> o`"smrrCXM!!)or!!)BcJ,~> oD\djf)G^MqYpNqm/MS~> oD\djf)G^MqYpNqm/MS~> oD\djf)G^MqYpNqm/MS~> pAashgAh0QqYpNqrVu]op]#a~> pAashgAh0QqYpNqrVu]op]#a~> pAauIgAh0QqYpNqrVu_Pp]#a~> q#C?oqZ$QqgAh-PrVm!#s8N'!qZ$Qqq>Ys~> q#C?oqZ$QqgAh-PrVm!#s8N'!qZ$Qqq>Ys~> q#CAPqZ$SRgAh-PrVm!#s8S"8qZ$SRq>Ys~> q>UEppAY*mf`1mM!ri6#pAY*mqYu'~> q>UEppAY*mf`1mM!ri6#pAY*mqYu'~> q>UGQpAY,Nf`1mM!ri7YpAY,NqYu'~> qYpNqo`"mkec5XLo`"mkqu;0~> qYpNqo`"mkec5XLo`"mkqu;0~> qYpPRo`"oLec,XMMtI#LMu3O)~> qu6Wro)A[if)G^Mo)A[ir;V9~> qu6Wro)A[if)G^Mo)A[ir;V9~> qu6YSo)A]Jf)G`.o)A]Jr;V9~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;QbTnG`KHf`(r0nG`KHrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;QbTnG`KHf`(r0nG`KHrVqB~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlkUmf*9FgA_/2mf*9Frr7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlkUmf*9FgA_/2mf*9Frr7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlkUmf*9FgA_/2mf*9Frr7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlkUmf*9FgA_/2mf*9Frr7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlkUmf*9FgA_/2mf*9Frr7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlkUmf*9FgA_/2mf*9Frr7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlkUmf*9FgA_/2mf*9Frr7K~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;QbTnG`KHf`(r0nG`KHrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;QbTnG`KHf`(r0nG`KHrVqB~> qu6Wro)A[if)G^Mo)A[ir;V9~> qu6Wro)A[if)G^Mo)A[ir;V9~> qu6YSo)A]Jf)G`.o)A]Jr;V9~> qYpNqo`"mkec5XLo`"mkqu;0~> qYpNqo`"mkec5XLo`"mkqu;0~> qYpPRo`"oLec,XMMtI#LMu3O)~> q>UEppAY*mf`1mM!ri6#pAY*mqYu'~> q>UEppAY*mf`1mM!ri6#pAY*mqYu'~> q>UGQpAY,Nf`1mM!ri7YpAY,NqYu'~> q#C?oqZ$QqgAh-PrVm!#s8N'!qZ$Qqq>Ys~> q#C?oqZ$QqgAh-PrVm!#s8N'!qZ$Qqq>Ys~> q#CAPqZ$SRgAh-PrVm!#s8S"8qZ$SRq>Ys~> pAashgAh0QqYpNqrVu]op]#a~> pAashgAh0QqYpNqrVu]op]#a~> pAauIgAh0QqYpNqrVu_Pp]#a~> oD\djf)G^MqYpNqqYpNqo`'F~> oD\djf)G^MqYpNqqYpNqo`'F~> oD\djf)G^MqYpNqqYpNqo`'F~> oD\djec,ULr;Q`sq>UEpo`'F~> oD\djec,ULr;Q`sq>UEpo`'F~> oD\djec,ULr;Q`sq>UEpo`'F~> oD\djeGfLKrVlitq>UEpo`'F~> oD\djeGfLKrVlitq>UEpo`'F~> oD\djeGfLKrVlitq>UEpo`'F~> oD\djeGoOKrr2ruq>UEpo`'F~> oD\djeGoOKrr2ruq>UEpo`'F~> oD\djeGoOKrr2ruq>UEpo`'F~> oD\djec,gRs8N*!rrDlp!!)ZkJ,~> oD\djec,gRs8N*!rrDlp!!)ZkJ,~> oD\djec,gRs8N*!rrDlp!!)ZkJ,~> oD\djf)G^MrVultq#: oD\djf)G^MrVultq#: oD\djf)G^MrVultq#: oD\djfDbgNqu6Wrq#: oD\djfDbgNqu6Wrq#: oD\djfDbgNqu6Wrq#: oD\djf`(pOnG`Igo`'F~> oD\djf`(pOnG`Igo`'F~> oD\djf`(pOnG`Igo`'F~> oD\djg&D$Pn,E@fo`'F~> oD\djg&D$Pn,E@fo`'F~> oD\djg&D$Pn,E@fo`'F~> oD\djgA_-Qmf*7eo`'F~> oD\djgA_-Qmf*7eo`'F~> oD\djgA_-Qmf*7eo`'F~> oD\djg]%6RmJd.do`'F~> oD\djg]%6RmJd.do`'F~> oD\djg]%6RmJd.do`'F~> oD\djh#@?Sm/I%co`'F~> oD\djh#@?Sm/I%co`'F~> oD\djh#@?Sm/I%co`'F~> oD\djh>[HTli-qbo`'F~> oD\djh>[HTli-qbo`'F~> oD\djh>[HTli-qbo`'F~> oD\djhZ!QUlMghao`'F~> oD\djhZ!QUlMghao`'F~> oD\djhZ!QUlMghao`'F~> oD\djhu oD\djhu oD\djhu oD\dji;WcWkl1V_o`'F~> oD\dji;WcWkl1V_o`'F~> oD\dji;WcWkl1V_o`'F~> oD\djiVrlXkPkM^o`'F~> oD\djiVrlXkPkM^o`'F~> oD\djiVrlXkPkM^o`'F~> oD\djir8uYk5PD]o`'F~> oD\djir8uYk5PD]o`'F~> oD\djir8uYk5PD]o`'F~> oD\djj8T)Zjo5;\o`'F~> oD\djj8T)Zjo5;\o`'F~> oD\djj8T)Zjo5;\o`'F~> oD\djjSo2[jSo2[o`'F~> oD\djjSo2[jSo2[o`'F~> oD\djjSo2[jSo2[o`'F~> oD\djjo5;\j8T)Zo`'F~> oD\djjo5;\j8T)Zo`'F~> oD\djjo5;\j8T)Zo`'F~> oD\djk5PD]ir8uYo`'F~> oD\djk5PD]ir8uYo`'F~> oD\djk5PD]ir8uYo`'F~> oD\djkPkM^iVrlXo`'F~> oD\djkPkM^iVrlXo`'F~> oD\djkPkM^iVrlXo`'F~> oD\djkl1V_i;WcWo`'F~> oD\djkl1V_i;WcWo`'F~> oD\djkl1V_i;WcWo`'F~> oD\djl2L_`hu oD\djl2L_`hu oD\djl2L_`hu oD\djlMghahZ!QUo`'F~> oD\djlMghahZ!QUo`'F~> oD\djlMghahZ!QUo`'F~> oD\djli-qbh>[HTo`'F~> oD\djli-qbh>[HTo`'F~> oD\djli-qbh>[HTo`'F~> oD\djm/I%ch#@?So`'F~> oD\djm/I%ch#@?So`'F~> oD\djm/I%ch#@?So`'F~> oD\djmJd.dg]%6Ro`'F~> oD\djmJd.dg]%6Ro`'F~> oD\djmJd.dg]%6Ro`'F~> q#C$foD\djhuEBMq>Ys~> q#C$foD\djhuEBMq>Ys~> q#C$foD\djhuEBMq>Ys~> p\t3nqYpNqoD\djh>[HTqYpNqq#>j~> p\t3nqYpNqoD\djh>[HTqYpNqq#>j~> p\t3nqYpNqoD\djh>[HTqYpNqq#>j~> p\t3nqYpNqo`"mkh#@?SqYpNqq#>j~> p\t3nqYpNqo`"mkh#@?SqYpNqq#>j~> p\t3nqYpNqo`"mkh#@?SqYpNqq#>j~> pAY*mr;Q`so`"mkgA_-Qr;Q`sp]#a~> pAY*mr;Q`so`"mkgA_-Qr;Q`sp]#a~> pAY*mr;Q`so`"mkgA_-Qr;Q`sp]#a~> pAY*mr;Q`sp&>!lg&D$Pr;Q`sp]#a~> pAY*mr;Q`sp&>!lg&D$Pr;Q`sp]#a~> pAY*mr;Q`sp&>!lg&D$Pr;Q`sp]#a~> p&>!lrr2rup&>!lfDbgNrr2rupA]X~> p&>!lrr2rup&>!lfDbgNrr2rupA]X~> p&>!lrr2rup&>!lfDbgNrr2rupA]X~> p&>!lrr2rupAY*mf)G^Mrr2rupA]X~> p&>!lrr2rupAY*mf)G^Mrr2rupA]X~> p&>!lrr2rupAY*mf)G^Mrr2rupA]X~> o`"smrrDcm!!(OK!W`6#p&BO~> o`"smrrDcm!!(OK!W`6#p&BO~> o`"smrrDcm!!(OK!W`6#p&BO~> o`"smrrDfn!!(LJ!W`6#p&BO~> o`"smrrDfn!!(LJ!W`6#p&BO~> o`"smrrDfn!!(LJ!W`6#p&BO~> oD\djp\t3ndJj1Ho`'F~> oD\djp\t3ndJj1Ho`'F~> oD\djp\t3ndJj1Ho`'F~> l2L_`e,T7Ep]#a~> pAashqu6Wre,T7Ep]#a~> pAashqu6Wre,T7Ep]#a~> lMghaeGoOKqZ$Qqq>Ys~> q#C?oqZ$Qqrr2rueGoOKqZ$Qqq>Ys~> q#C?oqZ$Qqrr2rueGoOKqZ$Qqq>Ys~> li-qbeGfLKpAY*mqYu'~> q>UEppAY0orrCRK!!)`m!!)lqJ,~> q>UEppAY0orrCRK!!)`m!!)lqJ,~> ^Ae05o`"mkqu;0~> qYpNqo`"mkeGfLKo`"mkqu;0~> qYpNqo`"mkeGfLKo`"mkqu;0~> ^]+96o)A[ir;V9~> qu6Wro)A[if)G^Mo)A[ir;V9~> qu6Wro)A[if)G^Mo)A[ir;V9~> _#FB7nG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> _#FB7nG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> _>aK8mf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> _>aK8mf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> _>aK8mf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> _>aK8mf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> _>aK8mf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> _>aK8mf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> _>aK8mf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> rVlitmf*7egA_-Qmf*7err7K~> _#FB7nG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> _#FB7nG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> r;Q`snG`Igf`(pOnG`IgrVqB~> ^]+96o)A[ir;V9~> qu6Wro)A[if)G^Mo)A[ir;V9~> qu6Wro)A[if)G^Mo)A[ir;V9~> ^Ae05o`"mkqu;0~> qYpNqo`"mkeGfLKo`"mkqu;0~> qYpNqo`"mkeGfLKo`"mkqu;0~> ^&J'4pAY*mqYu'~> q>UEppAY*mdf0:IpAY*mqYu'~> q>UEppAY*mdf0:IpAY*mqYu'~> ]`8!3qZ$Qqq>Ys~> q#C?oqZ$Qqd/X+GqZ$Qqq>Ys~> q#C?oqZ$Qqd/X+GqZ$Qqq>Ys~> ])VU,p]#a~> pAashbl@M>p]#a~> pAashbl@M>p]#a~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> WW.J~> %%EndData showpage %%Trailer end %%EOF adonthell-0.3.5/doc/dlgedit/step4.png0000644000076500000240000000116307506161216014343 00000000000000‰PNG  IHDRX“wÔ6ÐgAMA± üa PLTEÿÿÿ‹ÿ|LšbKGDˆH pHYs__׊ÚÉtIMEÒ ýïáÝIDATxœÍ—Anà E‡dRUU¥)ÝgÙeЋÀ]ä>9J×=E=PoÐ<À¤¤ê"È@xÁð ÛDÿSÜaBxG„C:¹ú³Ô®x9ã2Js£øºË1|bx0š{xŽÐN±˜ "q†K‰ ‰3ÁØG|yì#2¼ÄŹ4#Å—‰ƒø‚qVí€q™×‹ îŹézÜ‹çic1cì0îÄ ö3ÆãV¼b-þ|8 qÆâŒÅ’ôõÙÕù¡þt즩⭲ vjUê"ÔbW_Ÿïˆóð…ªÈÄyxL‡”͇ WsÝWõ;ÞK•’‡{9CJøH¤mæáí`cÝ6|bxÐð·#–}äÁý÷#ºMÆÄqÇ÷7Àñn8JŽ fŒ=ÆbG3Æã±#ˆcq€ØĆ)q€¸dµ™¶{Jµ8@\¦à%Çéœr—=ª¤Yõ¡Ç)™Véœ[SÏNÉTåùœ[cF¼mÓü¶ö 0·™²þýiž òZûFOZ:¿Öžˆ¾–e­çúª4h±ô(Ud™¹®8¿ðøD¹ÉSs;øºË1|bx0š«ëgÄEKtb,U1>QþPξKøäŸ.IEND®B`‚adonthell-0.3.5/doc/dlgedit-api/0000777000076500000240000000000011017604074013424 500000000000000adonthell-0.3.5/doc/dlgedit-api/dlgedit-api.cfg0000644000076500000240000001623707573433334016230 00000000000000# Doxyfile 1.2.17 #--------------------------------------------------------------------------- # General configuration options #--------------------------------------------------------------------------- PROJECT_NAME = dlgedit PROJECT_NUMBER = 0.8 OUTPUT_DIRECTORY = . OUTPUT_LANGUAGE = English EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = YES HIDE_UNDOC_MEMBERS = YES HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = NO BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = INTERNAL_DOCS = NO STRIP_CODE_COMMENTS = YES CASE_SENSE_NAMES = YES SHORT_NAMES = NO HIDE_SCOPE_NAMES = NO VERBATIM_HEADERS = YES SHOW_INCLUDE_FILES = YES JAVADOC_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO DETAILS_AT_TOP = NO INHERIT_DOCS = YES INLINE_INFO = YES SORT_MEMBER_DOCS = YES DISTRIBUTE_GROUP_DOC = NO TAB_SIZE = 4 GENERATE_TODOLIST = NO GENERATE_TESTLIST = NO GENERATE_BUGLIST = NO GENERATE_DEPRECATEDLIST= NO ALIASES = ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO SHOW_USED_FILES = YES #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = ../../src/tools/dlgedit/ FILE_PATTERNS = *.cc \ *.h RECURSIVE = NO EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = py_*_wrap.cc EXAMPLE_PATH = EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO IMAGE_PATH = INPUT_FILTER = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = YES INLINE_SOURCES = NO REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = HTML_FOOTER = HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO CHM_FILE = HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = YES TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = NO LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = LATEX_HEADER = PDF_HYPERLINKS = NO USE_PDFLATEX = NO LATEX_BATCHMODE = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO XML_SCHEMA = XML_DTD = #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::addtions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = YES HIDE_UNDOC_RELATIONS = YES HAVE_DOT = YES CLASS_GRAPH = YES COLLABORATION_GRAPH = YES TEMPLATE_RELATIONS = YES INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES GRAPHICAL_HIERARCHY = YES DOT_IMAGE_FORMAT = png DOT_PATH = /usr/local/bin/ DOTFILE_DIRS = MAX_DOT_GRAPH_WIDTH = 1024 MAX_DOT_GRAPH_HEIGHT = 1024 GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::addtions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO CGI_NAME = search.cgi CGI_URL = DOC_URL = DOC_ABSPATH = BIN_ABSPATH = /usr/local/bin/ EXT_DOC_PATHS = adonthell-0.3.5/doc/dlgedit-api/Makefile.am0000644000076500000240000000025307552067465015414 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = dlgedit-api.cfg if BUILD_DOC all: $(P_DOXYGEN) dlgedit-api.cfg CLEANFILES = -R html latex endif adonthell-0.3.5/doc/dlgedit-api/Makefile.in0000644000076500000240000002352411017574471015422 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc/dlgedit-api DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = dlgedit-api.cfg @BUILD_DOC_TRUE@CLEANFILES = -R html latex all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/dlgedit-api/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/dlgedit-api/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am @BUILD_DOC_TRUE@all: @BUILD_DOC_TRUE@ $(P_DOXYGEN) dlgedit-api.cfg # 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: adonthell-0.3.5/doc/interpreter.lyx0000644000076500000240000002351407102001637014257 00000000000000#This file was created by Fri Mar 31 14:16:48 2000 #LyX 1.0 (C) 1995-1999 Matthias Ettrich and the LyX Team \lyxformat 2.15 \textclass article \language default \inputencoding default \fontscheme default \graphics default \paperfontsize default \spacing single \papersize Default \paperpackage a4wide \use_geometry 0 \use_amsmath 0 \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation indent \defskip medskip \quotes_language english \quotes_times 2 \papercolumns 1 \papersides 1 \paperpagestyle default \layout Section The Interpreter \layout Subsection What does the Interpreter do? \layout Standard Unlike the name \emph on interpreter \emph default implies, it does not interprete scripts, it merely is the environment for scripts to run in. That means, in a way scripts interprete themselves. I'll explain that shortly, for now lets concentrate on the interpreter. \layout Standard The interpreters purpose is to provide a common environment for self-interpretin g scripts. That means, it can load scripts from a file, and afterwards execute them. It furthermore offers a local storage for temporary data and has a interface to access user-defined data as well. \layout Subsection How to use the Interpreter \layout Standard Since there is not much the interpreter does, it is easy and straightforward to use: \layout Standard Create a new instance, call \family typewriter load() \family default to load the desired script and \family typewriter run() \family default to start execution of the script. That's all there is to it. \layout Subsection The Interpreter's interface \layout Standard \noindent \family typewriter interpreter (); \layout Standard Create a new instance of the interpreter \newline \layout Standard \noindent \family typewriter interpreter (const char* script, void* data); \layout Standard Creates a new, already initialized, instance of the interpreter \newline \layout Standard \family typewriter script \family default is the filename of the script to load \layout Standard \family typewriter data \family default points to a object that is to be manipulated from within the script \newline \layout Standard The interpreter is now ready to run the script, there is no need to call \family typewriter load() \family default any more. \newline \layout Standard \noindent \family typewriter u_int8 load (const char*); \layout Standard Load a script from file \newline \layout Standard \family typewriter script \family default is the filename of the script to load \layout Standard \family typewriter returns \family default 1 on success, 0 on failure \newline \layout Standard \noindent \family typewriter s_int32 run (); \layout Standard Executes the script. \newline \layout Standard \family typewriter returns \family default whatever value the \noun on Return \noun default command of your script passes back. \newline \layout Standard \noindent \family typewriter void *user_data; \layout Standard Points to an object you can manipulate from within a script. \layout Section The Script \layout Subsection What does a Script do? \layout Standard Nothing and everything. A script is a series of \emph on commands, \emph default defined by a unique id (a simple integer) followed by their optional parameters. On it's own, a script is as useful as the interpreter, that is it's good for nothing. Only in combination with the interpreter, it becomes useful. \layout Standard A bit further up I said scripts would interprete themselves, what do they need the interpreter for then? Basically, each command does not only exist as a number and some parameters in a script, but also as a class that containes the commands execution code. You guessed it, commands will be explained in detail a bit later on. \layout Subsection What happens when a Script is loaded? \layout Standard This will answer the question of the interpreters use. For each command within the script, a instance of that commands class is allocated and initialized with the arguments specified in the script. That means the interpreter creates actual code from a mere binary file, at the programs runtime. Of course it can't create any \emph on new \emph default code, only arrange predefined code snippets (the commands) in a way that they do something useful. That is probably as dynamic as you can make a compiled c++ program. \layout Subsection How is the Script executed? \layout Standard When you run the interpreter, it simply executes the commands, beginning with the first, until it hits the already mentioned \noun on Return \noun default command. That alone isn't very exciting, but there are two things that make the whole execution process a bit more interesting. \layout Standard First of all, you can change the order in which commands are executed from \emph on within \emph default a command. More on this later. \layout Standard And second, you can have multiple \noun on Return \noun default 's in your script. That means, once the interpreter has stopped executing commands, you can invoke it again, letting it continue with the command following immediately after the return. \layout Subsection The Script's file format \layout Standard \added_space_top 0.3cm \added_space_bottom 0.3cm \align center \LyXTable multicol5 6 2 0 0 -1 -1 -1 -1 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 0 0 1 0 0 0 1 0 0 2 1 0 "8cm" "" 4 1 1 "" "" 0 2 1 0 0 0 0 "" "" 0 4 1 0 0 0 0 "" "" 0 4 1 0 0 0 0 "" "" 0 4 1 0 0 0 0 "" "" 0 2 1 0 0 0 0 "" "" 0 4 1 0 0 0 0 "" "" 0 2 1 0 0 0 0 "" "" 0 4 1 0 0 0 0 "" "" 0 2 1 0 0 0 0 "" "" 0 4 1 0 0 0 0 "" "" 0 2 1 0 0 0 0 "" "" 0 4 1 0 0 0 0 "" "" \series bold File Header: \newline 8 bytes \series default \newline Length of the script in bytes, that is file_length - 8 \newline 4 bytes \newline Number of commands within the script \newline 4 bytes \newline \series bold Commands: \series default \newline \newline Id \newline 4 bytes \newline [Parameters] \newline [4*n bytes] \layout Standard A side note on a commands parameters: as we learn later on, each command is responsible for extracting it's parameters itself from the script file, so the only limitation regarding a commands parameters is that they have to be aligned on a 32 bit boundary. Apart from that, any number and type of parameters is allowed. \layout Section The Commands \layout Subsection What does a Command do? \layout Standard As we have seen, in the end everything boild down to commands. Each command contains code that is invoked from the interpreter. What that code does is completely up to you, which means with the right commands put together in a script you can do nearly everything, well at least nearly everything you can do with c++. \layout Standard To be more precise, each command has a entry point named \family typewriter run() \family default , that is called by the interpreter. From there on, you are free to call other functions, access the user data passed to the interpreter or any other data that is (globally) accessible. You can even change the interpreters \emph on program counter \emph default (pc), that points to the command to be executed next. \layout Subsection How to implement a Command \layout Standard To make all that work, there are a few requirements any of your commands must meet. \layout Subsubsection Command base class \layout Standard Each command has to be derived from a comman base class, namely \family typewriter command \family default , defined in \emph on interpreter.h \emph default . This base class has two pure virtual functions you need to overwrite: \newline \newline \family typewriter virtual void init(s_int32* buffer, u_int32& index, void* data) = 0; \layout Standard This is used to initialize your commands parameters when the interpreter loads your script. \newline \layout Standard \family typewriter buffer \family default contains a copy of the script file \layout Standard \family typewriter index \family default points to the start of your commands first parameter within \family typewriter buffer \family default . You have to assure that it points to the start of the next command once you finished with reading your commands parameters. That might mean a bit more work for you, but since the interpreter knows nothing of your command and its parameters, it's the only possible way. \layout Standard \family typewriter data \family default points to the userdefined chunk of data you may have passed to the interpreter \newline \newline \family typewriter virtual s_int32 run (u_int32& pc, void* data) = 0; \layout Standard That is the entry point to your commands actual code. \newline \layout Standard \family typewriter pc \family default is a reference to the interpreters program counter. Usually you need not touch it, but if you like to continue your script with another but the next command, you can change it. Note that at the point your command starts executing, \family typewriter pc \family default points already to the following command. \layout Standard \family typewriter data \family default points to the userdefined chunk of data you may have passed to the interpreter \newline \layout Subsubsection Register the Command \layout Standard By deriving all commands from one base class, we enable the interpreter to remain ignorant of the different commands. It needs only to know that base class to run any command derived thereof. What it can't do yet is to create an instance of a command when reading its Id from the script file. Therefore, for each command a function has to be written that returns a new instance of that command. A pointer to that function is then stored in an array and, what surprise, can be accessed with its Id, enabling the interpreter to instanciate commands without knowing anything about them, except their Id. \the_end adonthell-0.3.5/doc/items/0000777000076500000240000000000011017604075012363 500000000000000adonthell-0.3.5/doc/items/footer.html0000644000076500000240000000124707412324077014474 00000000000000
This document is part of the Adonthell Project
Last changed at $datetime
© 2000/2001 Kai Sterker
Generated by doxygen $doxygenversion written by Dimitri van Heesch, © 1997-2001
adonthell-0.3.5/doc/items/header.html0000644000076500000240000000041507412324077014422 00000000000000 $title adonthell-0.3.5/doc/items/items.cfg0000644000076500000240000002216711017574452014116 00000000000000# Doxyfile 1.5.5 #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- DOXYFILE_ENCODING = UTF-8 PROJECT_NAME = Draft PROJECT_NUMBER = v0.1 OUTPUT_DIRECTORY = CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English BRIEF_MEMBER_DESC = YES REPEAT_BRIEF = YES ABBREVIATE_BRIEF = "The $name class" \ "The $name widget" \ "The $name file" \ is \ provides \ specifies \ contains \ represents \ a \ an \ the ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO FULL_PATH_NAMES = NO STRIP_FROM_PATH = STRIP_FROM_INC_PATH = SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO DETAILS_AT_TOP = NO INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 4 ALIASES = OPTIMIZE_OUTPUT_FOR_C = NO OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO SIP_SUPPORT = NO DISTRIBUTE_GROUP_DOC = NO SUBGROUPING = YES TYPEDEF_HIDES_STRUCT = NO #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- EXTRACT_ALL = NO EXTRACT_PRIVATE = NO EXTRACT_STATIC = NO EXTRACT_LOCAL_CLASSES = YES EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO HIDE_UNDOC_MEMBERS = NO HIDE_UNDOC_CLASSES = NO HIDE_FRIEND_COMPOUNDS = NO HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO CASE_SENSE_NAMES = YES HIDE_SCOPE_NAMES = NO SHOW_INCLUDE_FILES = YES INLINE_INFO = YES SORT_MEMBER_DOCS = YES SORT_BRIEF_DOCS = NO SORT_GROUP_NAMES = NO SORT_BY_SCOPE_NAME = NO GENERATE_TODOLIST = NO GENERATE_TESTLIST = NO GENERATE_BUGLIST = NO GENERATE_DEPRECATEDLIST= YES ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 SHOW_USED_FILES = YES SHOW_DIRECTORIES = NO FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- QUIET = NO WARNINGS = YES WARN_IF_UNDOCUMENTED = YES WARN_IF_DOC_ERROR = YES WARN_NO_PARAMDOC = NO WARN_FORMAT = "$file:$line: $text" WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- INPUT = items.dxt INPUT_ENCODING = UTF-8 FILE_PATTERNS = RECURSIVE = NO EXCLUDE = EXCLUDE_SYMLINKS = NO EXCLUDE_PATTERNS = EXCLUDE_SYMBOLS = EXAMPLE_PATH = EXAMPLE_PATTERNS = EXAMPLE_RECURSIVE = NO IMAGE_PATH = . INPUT_FILTER = FILTER_PATTERNS = FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- SOURCE_BROWSER = NO INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO REFERENCES_LINK_SOURCE = YES USE_HTAGS = NO VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- ALPHABETICAL_INDEX = NO COLS_IN_ALPHA_INDEX = 5 IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = html HTML_FILE_EXTENSION = .html HTML_HEADER = header.html HTML_FOOTER = footer.html HTML_STYLESHEET = HTML_ALIGN_MEMBERS = YES GENERATE_HTMLHELP = NO GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" DOCSET_BUNDLE_ID = org.doxygen.Project HTML_DYNAMIC_SECTIONS = NO CHM_FILE = HHC_LOCATION = GENERATE_CHI = NO BINARY_TOC = NO TOC_EXPAND = NO DISABLE_INDEX = NO ENUM_VALUES_PER_LINE = 4 GENERATE_TREEVIEW = NO TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- GENERATE_LATEX = YES LATEX_OUTPUT = latex LATEX_CMD_NAME = latex MAKEINDEX_CMD_NAME = makeindex COMPACT_LATEX = NO PAPER_TYPE = a4wide EXTRA_PACKAGES = amsmath LATEX_HEADER = items.tex PDF_HYPERLINKS = YES USE_PDFLATEX = YES LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- GENERATE_RTF = NO RTF_OUTPUT = rtf COMPACT_RTF = NO RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- GENERATE_MAN = NO MAN_OUTPUT = man MAN_EXTENSION = .3 MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- GENERATE_XML = NO XML_OUTPUT = xml XML_SCHEMA = XML_DTD = XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- GENERATE_PERLMOD = NO PERLMOD_LATEX = NO PERLMOD_PRETTY = YES PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- ENABLE_PREPROCESSING = YES MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO SEARCH_INCLUDES = YES INCLUDE_PATH = INCLUDE_FILE_PATTERNS = PREDEFINED = EXPAND_AS_DEFINED = SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- TAGFILES = GENERATE_TAGFILE = ALLEXTERNALS = NO EXTERNAL_GROUPS = YES PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- CLASS_DIAGRAMS = NO MSCGEN_PATH = /Applications/Doxygen.app/Contents/Resources/ HIDE_UNDOC_RELATIONS = YES HAVE_DOT = NO CLASS_GRAPH = YES COLLABORATION_GRAPH = YES GROUP_GRAPHS = YES UML_LOOK = NO TEMPLATE_RELATIONS = NO INCLUDE_GRAPH = YES INCLUDED_BY_GRAPH = YES CALL_GRAPH = NO CALLER_GRAPH = NO GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES DOT_IMAGE_FORMAT = png DOT_PATH = /Applications/Doxygen.app/Contents/Resources/ DOTFILE_DIRS = DOT_GRAPH_MAX_NODES = 50 MAX_DOT_GRAPH_DEPTH = 1000 DOT_TRANSPARENT = YES DOT_MULTI_TARGETS = NO GENERATE_LEGEND = YES DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- SEARCHENGINE = NO adonthell-0.3.5/doc/items/items.dxt0000644000076500000240000006770007412324077014160 00000000000000/* $Id: items.dxt,v 1.2 2001/12/26 10:36:47 ksterker Exp $ Copyright (C) 1999/2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /*! \mainpage Item System Draft The purpose of this draft is to create a basis for discussion that will finally be turned into a specification for the low-level item, combat and inventory system.

Contents

-# \ref abstract -# \ref item -# \ref items1 -# \ref items2 -# \ref items3 -# \ref combat -# \ref combat1 -# \ref combat2 -# \ref inventory -# \ref inv1 -# \ref inv2 */ /*! \page abstract Abstract This document tries to explore what type of items are required for Adonthell and which attributes and properties are needed for each item type. We will first concentrate on the use items have for a character, then turn to trading of items and finally we'll design an interface to manage them (inventory). The main emphasis lies on the definition and explanation of requirements, not on the implementation of the item subsystem. Once our needs are well defined, latter is just an exercise for the programmer. The goal is to create an item system that is both realistic and easy to use. More important, it should add new and interesting aspects to gameplay. \htmlonly
<< Main Page   Contents   Items >>
\endhtmlonly */ /*! \page item Items \subsection items1 Purpose of Items Before we can deal with items themselves, we'll have to take a look what use they have in a role playing game. That will give us an idea what kind of items we will need. \par Customising a character A major aspect of RPG's is the ability to customise human controlled characters, to a certain amount, to one's liking. This includes improvement of attributes and skills, but also the choice of a character's equipment. Among those items are armour and weapons, magic amulets and rings. \par Aiding a character There are plenty of items that can not be equipped, but have other uses that help a character in various situations. These include potions and light sources, but also items with certain magic powers. Books, which provide (valuable) information and lockpicks and keys to open doors and chests. \par Reagents Most of these items have no use on their own. However, with the right recipe they can be used to create items that can aid a character. They might also enhance other items. Reagents are various herbs, ores and other raw materials. \par Treasure Some items have no worth for the player other than their price. Gems and jewellery and all kinds of objects d'art fall into this category. Practically all items will fall into one of these categories. While they give us a good idea of the variety of items needed, they are of little help to classify them. The items within each category are simply too different and there might be items that fit into several categories. Before we try to find more practical organisation, we should have a look what all items have in common. \subsection items2 Basic Properties No matter how different two items may be, there are a few attributes they have in common.

Physical properties

As items are concrete objects, they need a number of attributes describing their appearance, namely weight, size and quality. - Weight can be used to determine whether a character is able to carry an item. It's the only value that can be measured directly. - Size determines whether an item is small or large, independent from it's weight. This value could be used to determine whether an item fits into a container or not. Also, up to a certain size, items of the same kind would be stackable, whereas identical, large items wouldn't be. - Quality denotes how well an item has been crafted or grown. It has an influence on the item's price but also on it's use as a reagent or bearer of enchantments.

Immaterial properties

There are a number of properties not directly defined through an objects physical nature: name, description and worth. - Every item has a short identifier, describing it's nature or type. Often the name gives a hint to a special property that sets an item apart from other items of the same kind. - Further, items should have a detailed explanation of their purpose as well as a listing of all special abilities. The description might also contain additional information about an item, like it's history or it's place in the game world. - The worth is an abstract measure for an item's price compared to other items. The actual price of an item depends, apart from it's physical quality, on the personal impression of the character you are dealing with. Now that we've seen what items have in common, let's go a step further and see what differences there are. \subsection items3 Item classes Before breaking everything down to individual item types, we'll try a more abstract division. Or, to put it the other way around, we'll have a look what different groups of items might have in common. The idea is to find a number of distinct properties that can be combined to form an individual item. By looking at this combination we can easily determine what actions are possible with an item. \par Offensive Items that influence an attack fall under this category. They may influence a character's basic and derived attributes that define the chance to hit and the amount of damage a successful hit will cause. An item's effect on those values might be both positive or negative. \par Defensive When under attack, these items either effect the chance to receive a hit, or the damage caused by a successful hit. Again, they might work in favour of the bearer or against it. \par Magical The magical powers of an item are kept separate. The actual effect an enchanted or magical item has is determined by the other classes it belongs to. Items can have several magical powers, and each of them can fall into a different class. \par Chargeable These are items that are either consumed through usage, or items that only work in combination with other items or magical enchantments. First ones are destroyed once no charges are left, latter can be "recharged". The actual use of such an item has to be determined otherwise. \par Usable These are items that have to be explicitly "activated" to show any effect. In some cases, activating an item will "turn it on" and it needs to be activated once more to "turn it off" again. In other cases, the item will simply apply it's effect. \par Equipable Any item that needs to be equipped to show any effect falls under this category. Some equipped items immediately effect a character's attributes, whereas others are only activated on special occasions, depending on what other class they belong to. Any item should be describable through a subset of any of these classes. The most simple items with no use whatsoever would belong to no class at all. To better understand this concept, let's have a look at a few examples. \par a Gem - Categories: - - Description: A simple item without any use. However, it could be used as a reagent or be sold. \par a Book - Categories: usable - Description: "Using" the book would display it's contents, so the player may read it. \par a Candle - Categories: chargeable, usable - Description: Using the candle would turn it on. While it burns, it is spending light (it's effect), but in the process it gets used up, until it is destroyed. \par the Helmet of Light - Categories: defensive, magical, equipable - Description: When worn (and only then) the Helmet of Light absorbs a certain amount of damage. It also radiates light, allowing it's bearer to see in the dark. Latter exposes him to his enemies however, thus decreasing the chance to avert a hit. \par a Bow - Categories: offensive, chargeable, equipable - Description: The bow itself influences the damage done on a successful hit, but without arrows it is useless. Further, it must be equipped before it can be used at all. \par the Staff of Fire - Categories: offensive, magical, chargeable, usable, equipable - Description: The Staff of Fire can be used in two ways. Equipped it acts as any wooden staff, dealing a fair amount of damage in the hand of a trained fighter. However, it also holds an amount of magical charges and using it will hurl a ball of fire against the enemy, reducing the number of charges by one. Especially from the last example we can see that there must be ways to connect the different classes, otherwise it would not be clear under what effect to apply under what circumstances. We also could imagine a Staff of Fire that would simply burn the foe when hit, in which case the offensive effect had also to apply the magical one, as long as there are charges left. (Latter version of the staff would not need to be usable though.) Later I'll present some ideas for the implementation of those classes and their interaction with each other and the character. Right now it's more important to see what purpose they fulfil: they give us an easy way to create item templates that can be turned into individual items by filling in the attributes. \htmlonly
<< Abstract   Contents   Combat >>
\endhtmlonly */ /*! \page combat Combat Now that we have a way to construct individual items, lets see what attributes individual items need and what effect they have. In order to define this, we also need to know a character's attributes and some combat rules. What follows is a proposal for now, trying to take all prior discussions on that subject into account. In fact it's a summary of Mike Avery's work from early 2000. Credit whom credit is due. Combat will happen in real time, but for the sake of proper calculations, we'll break everything down into rounds behind the scenes. A round is the time a character needs for a single attack. That means that the length of a round will vary for different characters, unlike D&D where a round is a fixed length of time, but characters can do multiple attacks per round. For now we'll just concentrate on one character attacking another and leave anything else aside. An attack is divided into two phases: first, we determine whether the opponent is hit at all or not. Then, if we hit, we determine the amount of damage done. \subsection combat1 Hit Calculations For those calculations, each character needs the following attributes: dexterity and luck are basic attributes, the attack skill reflects a character's proficiency with the equipped weapon and the defence skill is the general ability to avoid being hit. From those we will calculate 4 ranges that determine the odds for a hit, a miss, a critical hit and a critical miss. These ranges will be scaled so that their sum equals 1 and weighted so that, given opponents of equal strength, the odds for hit, miss, critical hit and critical miss are 12:6:1:1. Then we roll the dice and see what we've got. Since we need attributes of both characters, we mark them with A (attacker) and D (defender) to tell them apart. First of all, we calculate the attack and defence ranges: \f[ \begin{aligned} hit\_range &= \frac{dexterity_A + attack\_skill_A}{200} \cdot 0.6, \\[2pt] miss\_range &= \frac{dexterity_D + defence\_skill_D}{200} \cdot 0.3. \\ \end{aligned} \f] From those two values we can calculate the remaining range, and the characters' luck attributes give us the ratio between critical hit and miss: \f[ \begin{aligned} crit\_allotment &= \frac{hit\_range + miss\_range}{9}, \\[2pt] crit\_ratio &= \frac{luck_A}{luck_A + luck_D}. \\ \end{aligned} \f] Now we can determine the actual critical hit and miss ranges: \f[ \begin{aligned} hit\_range_{crit} &= crit\_allotment \cdot crit\_ratio, \\[2pt] miss\_range_{crit} &= crit\_allotment - hit\_range_{crit}. \end{aligned} \f] The only thing left now is scaling these four ranges to 1. That is done by multiplying each value with a factor \f$x = 1 / (hit\_range + miss\_range + hit\_range_{crit} + miss\_range_{crit})\f$. And finally, to give you an impression how the formulas work, lets look at a few examples: - Opponents of equal strength \verbatim A D Raw Scaled dexterity 10 10 hit 0.075 0.603 luck 12 12 ---> miss 0.037 0.297 attack skill 15 13 critical hit 0.006 0.048 defence skill 18 15 critical miss 0.006 0.048 \endverbatim - Attacker (much) weaker \verbatim A D Raw Scaled dexterity 10 40 hit 0.072 0.324 luck 12 42 ---> miss 0.128 0.577 attack skill 15 38 critical hit 0.005 0.023 defence skill 18 45 critical miss 0.017 0.077 \endverbatim - Attacker (much) stronger \verbatim A D Raw Scaled dexterity 40 10 hit 0.255 0.787 luck 42 12 ---> miss 0.037 0.114 attack skill 38 13 critical hit 0.025 0.077 defence skill 45 15 critical miss 0.007 0.022 \endverbatim \subsection combat2 Damage Calculations We've seen how the hit determination works and can find out whether an attack was successful. Now we'll have a look how much damage a hit inflicts on the target. Here the equipment comes into play, although skills may influence the use a character can draw from a weapon or piece of armour. Only skilled characters can use good armour and weapons efficiently. On the other hand, skilled characters with poor equipment won't be able to make use of their full strength. We use the following attributes: the characters' strength and dexterity as well as the hit- and miss ranges calculated earlier. We further need the weapon base damage, armour rating and armour dexterity penalty. From those we calculate two modifiers that represent the abilities to inflict damage, and to absorb/avert damage: \f[ \begin{aligned} modifier_A &= (base\_damage_A + strength_A + dex\_penalty_A) \cdot hit\_range \\ modifier_D &= (armour\_rating_D \cdot 0.5 + dexterity_D) \cdot miss\_range \end{aligned} \f] \note The '0.5' in the \f$ modifier_D \f$ formula denotes the maximum percentage of base damage that armour can absorb. This is of course adjustable. From above values we can calculate the base damage: \f[ damage_{base} = \frac {modifier_A}{modifier_A + modifier_D} \cdot base\_damage_A \f] As you can see, the base damage will always be the same as long as the conditions do not change. Therefore, it should be randomly adjusted by a certain amount. \f$ \pm 20\% \f$ seems to be a good value. Lets have a look at some examples: - Opponents of equal strength \verbatim A D Equipment of A and D Base Damage Weapon Armour Penalty strength 10 10 dexterity 10 10 20 20 -2 15.032 luck 12 12 20 40 -4 ---> 13.039 attack skill 15 13 40 20 -2 33.535 defence skill 18 15 40 40 -4 30.728 \endverbatim - Attacker (much) weaker \verbatim A D Equipment of A and D Base Damage Weapon Armour Penalty strength 15 35 dexterity 10 40 20 20 -2 5.415 luck 12 42 20 40 -4 ---> 4.504 attack skill 15 38 40 20 -2 14.941 defence skill 18 45 40 40 -4 12.939 \endverbatim - Attacker (much) stronger \verbatim A D Equipment of A and D Base Damage Weapon Armour Penalty strength 35 15 dexterity 40 10 20 20 -2 18.962 luck 42 12 20 40 -4 ---> 18.427 attack skill 38 13 40 20 -2 38.475 defence skill 45 15 40 40 -4 37.689 \endverbatim There are a few things worth looking at. First of all, the base damage we get depends much on character attributes strength and dexterity. The formulas imply that the two attributes can take the same values as the weapon damage and armour rating. Otherwise one couldn't make full use of armour and weapons. Second, there are some problems with the formulas themselves: - Stronger armour has practically no benefit. - Equal opponents will cause less damage the stronger they are. - Part of the hit calculation is re-used. However, devising a set of formulas that fulfils all conditions is no easy task. So for now lets put down the requirement for the damage algorithm and leave the implementation for later: - Damage calculation should be independent from hit determination. - Both equipment and skill should influence the damage - The damage should (notably) increase with better weapons and decrease with better armour, given all other factors remain the same. - The stronger the opponents, the more damage they should cause \htmlonly
<< Items   Contents   Inventory >>
\endhtmlonly */ /*! \page inventory Inventory \subsection inv1 The Basics The main purpose of the inventory is to provide easy and fast access to individual items to examine, equip, use, drop or sell them. The main problem is that items are usually distributed among the party members for several reasons: - A single character may only carry a limited amount of items - The items a character carries could have an impact on his attributes, so we need to know who is carrying how much - In case the party gets separated, we must be able to determine which items are with which character. However, in general, it makes little difference what character carries what item, as long as all of them are nearby. In that case, the computer can handle any necessary item exchange that might occur if character A wants to use an item from character B's inventory. So the default mode of the inventory would be to display the items of all party members that are "nearby". Whether they are nearby or not could be determined via the pathfinding code. Since there might be a lot of items in the inventory later in the game, a filter for certain item types would be nice, so that for example only weapons or armour or potions are displayed. Sometimes it might be also interesting to see what a character actually carries. Those filters could work accumulative: first you'd select a subset of characters whose inventory you want to examine, then you decide what item types you want to see. The normal behaviour would of course be to display all items of all characters. Simply presenting the available items isn't everything the inventory has to accomplish. For one it has to display which character has which items equipped. It should also indicate whether a certain item may be used or equipped by a certain character. The inventory is used in different situations too. During normal gameplay, the player might bring it up to equip his characters, to read scrolls and books and so on. In combat however, there should be some restrictions: changing one's armour would be equally impossible as acquiring items carried by a different character. So during combat, the filters could restrict the view to the current character and to those items that can be equipped or used during combat, such as weapons and potions. All in all, basic inventory operations should impact the flow of the game as little as possible. \subsection inv2 A Suggestion Now that we know what the inventory has to do, lets see how this can be achieved. Consider we're on the normal mapview and want to access the inventory. Pressing a certain key (i for example) is all it takes to bring up the inventory. So how could it look like?

The main inventory GUI

I personally favour a minimalistic view floating on the screen without disturbing the mapview too much. Possibly a circle of item pictograms around the main character with a box marking the item in focus. Along the bottom of the screen could be a small window with the following content: - To the left might be some icons that indicate what can be done with the item in focus. Possible actions would be equip, unequip, use, examine, give and drop. - In the center is the pictogram of the focused item, it's name and possibly some basic informations about the item, depending on the context. - On the right would be two rows of images. On the top are small portraits of all party members. Below are pictograms for the different item categories. The purpose of left and center of the info window should be obvious. The icons on the right side serve multiple purposes: - First of all, they indicate the active filters. Active characters and item categories are highlighted. At the same time, these are the controls to change the filter rules. - Second, the character portraits will indicate which character is carrying the item in focus, and which characters can use or equip it. If an item is equipped by a character, the left side would also show the unequip symbol. Different borders around a portrait might show whether that character just carries or wears the item, different backgrounds could indicate which characters can or cannot use it. - And finally, if an item is selected to be equipped or given to another party member, the focus switches to the filter display, so you can chose the destination. The same is true for items that must be used on a character. During combat, if the item is offensive, the character portraits could be replaced by portraits of the enemies. To make things clearer, the character selected in the filter display should also be highlighted on the mapview.

The inventory controls

The controls should be similar for every input device: For keyboard and gamepad, we'd only need five functions: LEFT and RIGHT, ACTION, FILTER and CANCEL. - In item mode, LEFT and RIGHT rotate the item list to bring a certain item into focus. The ACTION key switches to action mode, the FILTER key to filter mode. CANCEL closes the inventory. - In action mode LEFT and RIGHT would scroll through the different activities. The ACTION key would select an activity, CANCEL would return to item mode. - In filter mode LEFT and RIGHT scroll through the different filters, the ACTION key would toggle them on or off and CANCEL returns to item mode. For keyboard control, there could be shortcuts to individual actions and filters. Mouse control is a little more tricky. One solution could be that dragging with left button pressed rotates the item list in the direction the mouse is dragged. Clicking on a filter would toggle it on and off, and clicking on a activity icon would launch that activity with the item in focus. Right button could close the inventory.

Shopping and Looting

So far we only addressed situations where an item is already within the party's inventory. There are a few occasions where this won't be the case: in shops, after battle when collecting the possessions of the late enemy, when examining containers or a pile of items on the ground. In general, it should be possible to both pick up/buy items as well as drop/sell them. That means it must be possible to switch between the party and shop/corpse/container inventory. This could be achieved by an additional button in the filter display that is only visible in those cases. There are a few additional differences: - In shops, the info display would contain an item's price. Further, giving items to the shopkeeper would not sell them directly, but rather raise your credit. Taking items from the shop would on the other hand lower the credit. There would be an extra button to complete the transaction. That enables you to exchange goods for other goods as well as goods for money. There should also be the possibility to steal an item from the shop. - After combat, items taken or dropped will be placed on the ground and vanish after a while. - When examining a container, items dropped will be put into the container (if they fit). Containers are the only safe way to store items outside the party's inventory.

Activities revisited

What remains now is a more detailed descriptions of the different activities: equip, unequip, use, examine, give and drop, steal, buy, sell and trade. - Equipping is possible for items such as weapons, armour, amulets and rings. When selecting this action, you can select the character to wear that item from the target list. The computer will prevent you from choosing characters that cannot use the equipment. If the item is worn by another character, it will be automatically unequipped. If the character already has an item of that kind equipped, it is also automatically unequipped. During combat, only the character carrying the selected item will be able to equip it. - Unequipping just removes the selected item from the character wearing it. It remains in his inventory though. This function is probably almost never needed. - Using an item will bring forth it's effect. If it requires a target that has to be selected first. Targets could either be party members, other items or enemies. A list of possible targets should appear in the filter display. Instead of selecting a target, the whole activity can still be cancelled. Uses without target could be turning on/off light sources, read scrolls and books, and others. - Examining an item will replace the item view with a window containing a detailed description of the item, it's attributes and uses. The CANCEL key closes this window, but it should be also possible to select another action without explicitly closing the window. That would be happen automatically after the new action was performed. - Giving can be used to move items between character's inventories. After selecting this action, the target list contains all party members that are nearby and have enough room for that item. When interacting with a container (a chest, cupboard or such), give can be used to put items into that container as well. In shops, give is replaced with a sell icon. During combat, giving should probably be disabled. - Dropping an item is the only way to get rid of it (apart from selling or putting it into a container). The item will be placed on the ground, where it will vanish after a while. - Stealing is only available in shops. When selecting that activity you can chose a character who should try and steal the focused item. - Buying will add the item in focus to the "shopping cart". Items selected for buying and selling are set off against each other. For items that are already in the cart, there would be a additional icon to remove them. Buying is only available when the shop inventory is displayed. - Selling is the opposite of buying and works in the same fashion. Selling is only available when the party inventory is displayed. - The trade button is used to complete the selling/buying transaction and will automatically close the inventory afterwards. \htmlonly
<< Combat   Contents  
\endhtmlonly */ adonthell-0.3.5/doc/items/items.sty0000644000076500000240000000450307376210504014166 00000000000000% % $Id: items.sty,v 1.1 2001/11/19 14:03:48 ksterker Exp $ % % Copyright (C) 1997-2001 by Dimitri van Heesch. % % Permission to use, copy, modify, and distribute this software and its % documentation under the terms of the GNU General Public License is hereby % granted. No representations are made about the suitability of this software % for any purpose. It is provided "as is" without express or implied warranty. % See the GNU General Public License for more details. % % Documents produced by Doxygen are derivative works derived from the % input used in their production; they are not affected by this license. \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{items} \RequirePackage{calc} \RequirePackage{array} \pagestyle{fancy} \addtolength{\headwidth}{\marginparsep} \addtolength{\headwidth}{\marginparwidth} \newcommand{\clearemptydoublepage}{\newpage{\pagestyle{empty}\cleardoublepage}} \lhead[\fancyplain{}{\bfseries\thepage}] {\fancyplain{}{\bfseries\rightmark}} \rhead[\fancyplain{}{\bfseries\leftmark}] {\fancyplain{}{\bfseries\thepage}} \lfoot[]{\fancyplain{}{\bfseries\scriptsize Item System 1st Draft}} \rfoot[\fancyplain{}{\bfseries\scriptsize Adonthell Developer's Reference}]{} \cfoot{} \newenvironment{CompactList} {\begin{list}{}{ \setlength{\leftmargin}{0.5cm} \setlength{\itemsep}{0pt} \setlength{\parsep}{0pt} \setlength{\topsep}{0pt} \renewcommand{\makelabel}{}}} {\end{list}} \newenvironment{CompactItemize} { \begin{itemize} \setlength{\itemsep}{-4pt} \setlength{\parsep}{0pt} \setlength{\topsep}{0pt} \setlength{\partopsep}{0pt} } {\end{itemize}} \newcommand{\PBS}[1]{\let\temp=\\#1\let\\=\temp} \newlength{\tmplength} \newenvironment{TabularC}[1] { \setlength{\arrayrulewidth}{0.1pt} \setlength{\tmplength} {\linewidth/(#1)-\tabcolsep*2-\arrayrulewidth*(#1+1)/(#1)} \par\begin{tabular*}{\linewidth} {*{#1}{|>{\PBS\raggedright\hspace{0pt}}p{\the\tmplength}}|} } {\end{tabular*}\par} \newcommand{\entrylabel}[1]{ {\parbox[b]{\labelwidth-4pt}{\makebox[0pt][l]{\textbf{#1}}\\}}} \newenvironment{Desc} {\begin{list}{} { \settowidth{\labelwidth}{40pt} \setlength{\leftmargin}{\labelwidth} \setlength{\parsep}{0pt} \setlength{\itemsep}{-4pt} \renewcommand{\makelabel}{\entrylabel} } } {\end{list}} \setlength{\parindent}{0cm} \setlength{\parskip}{0.2cm} \sloppy adonthell-0.3.5/doc/items/items.tex0000644000076500000240000000264507376210504014154 00000000000000\documentclass[11pt,a4paper,pdftex,twoside]{article} \usepackage{a4wide} \usepackage{makeidx} \usepackage{fancyhdr} \usepackage{graphicx} \usepackage{float} \usepackage{items} \usepackage{alltt} \usepackage{times} \usepackage{amsmath} \usepackage[pdftex, pagebackref=true, colorlinks=true, linkcolor=blue, pdftitle={$projectname v$projectnumber}, pdfauthor={Kai Sterker}, bookmarksopen=True, pdfsubject={Adonthell Developer's Reference} ]{hyperref} \makeindex \setcounter{tocdepth}{2} \setlength{\footrulewidth}{0.4pt} \begin{document} % -- Title \title{The Adonthell Item System\\{}$projectname $projectnumber} \author{Kai Sterker} \date{$date} \maketitle % -- Copyright \pagenumbering{roman} \newpage \pagestyle{empty} \begin{center} {\sc The Adonthell Item System} \\ \vspace*{\stretch{2}} This document is part of the Adonthell Developer's Documentation\\ {\sf http://adonthell.linuxgames.com}\\ \vspace{1em} \copyright 2001 Kai Sterker\\ {\sf kaisterker@linuxgames.com}\\ \vspace{1em} Created with Doxygen $doxygenversion\\ {\sf http://www.doxygen.org}\\ Typeset with \LaTeX \end{center} \clearemptydoublepage \tableofcontents \clearemptydoublepage \pagenumbering{arabic} \pagestyle{fancy} \input{abstract} \newpage \input{item} \newpage \input{combat} \newpage \input{inventory} \newpage \printindex \end{document} % -- File ends here -- adonthell-0.3.5/doc/items/Makefile.am0000644000076500000240000000052011017574452014335 00000000000000## Process this file with automake to produce Makefile.in EXTRA_DIST = items.tex items.cfg items.dxt items.sty Makefile.latex header.html footer.html if BUILD_DOC all: $(P_DOXYGEN) items.cfg @cp items.sty latex/items.sty @cp Makefile.latex latex/Makefile @mv latex/refman.tex latex/items.tex CLEANFILES = -R html latex endif adonthell-0.3.5/doc/items/Makefile.in0000644000076500000240000002402711017574471014357 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc/items DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = items.tex items.cfg items.dxt items.sty Makefile.latex header.html footer.html @BUILD_DOC_TRUE@CLEANFILES = -R html latex all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/items/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/items/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am @BUILD_DOC_TRUE@all: @BUILD_DOC_TRUE@ $(P_DOXYGEN) items.cfg @BUILD_DOC_TRUE@ @cp items.sty latex/items.sty @BUILD_DOC_TRUE@ @cp Makefile.latex latex/Makefile @BUILD_DOC_TRUE@ @mv latex/refman.tex latex/items.tex # 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: adonthell-0.3.5/doc/items/Makefile.latex0000644000076500000240000000040307376210504015053 00000000000000all: items.pdf items.pdf: items.tex items.sty echo "Running latex..." pdflatex items.tex echo "Running makeindex..." makeindex items.idx echo "Rerunning latex...." pdflatex items.tex clean: rm -f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out adonthell-0.3.5/doc/items.txt0000644000076500000240000000511607102001637013036 00000000000000/* Copyright (C) 1999 The Adonthell Team. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ 1) Item Structure The item structure is: typedef struct { u_int16 number; u_int16 pattern; u_int16 event_walk; u_int16 event_action; lstr name; u_int8 status; } item; number: number of the item as stored in the items array pattern: pattern of the item to be used in order to display it event_walk: event that occurs when the character (or maybe any character) walks on the item (more on events further in this document). event_action: event that occurs when the player is facing the item and when he presses the action key (more on events further in this document). name: the name of the item status: can be one of the following value ITEM_OPENED: the item can be opened/used etc... It can be closed as well ITEM_CLOSED: the item can be opened ITEM_UNLOCKED: the item can be opened. However, if an item that controls the operture of this item is removed from the inventory of the player, then the items status will go to ITEM_LOCKED ITEM_LOCKED: the item is unusable in this state. Getting an item that controls its opening decreases n. If n already equals 0, the the status of the item is changed to ITEM_UNLOCKED [+n], n can be any integer from 0: Dropping an item that controls the opening of this item increases n. 2) Item Events The current available values for event_walk or event_action are currently: EVENT_TELEPORT EVENT_MODIF_PICT EVENT_GET EVENT_GET_KEY EVENT_WALK_FLAG EVENT_OPEN EVENT_PLACE_ITEM 3) Item text file # comment line ITEM name_of_item POS x y EVENT event_type1 arg0 [arg1] [arg2...] EVENT event_type2 arg0 [arg1] [...] [EVENT etc.] [OTHEREVENT] END event_type can be on of TELEPORT MODIF_PICT GET GET_KEY WALK_FLAG OPEN ITEM_MAP with the associated EVENT 4) Description of keywords ITEM name_of_item . . . END Those two keywords are used to describe an Item of name name_of_item and its associated characteristics. POS x y Sets up the position of the item on the map as beeing (x,y) EVENT event_type1 arg0 [arg1] [arg2...] EVENT event_type2 arg0 [arg1] [...] This is the heart of the event script 4) Description of events: TELEPORT x y [x1 y1] indicates that the players teleports to (x,y). If the optional parameters x1 and y1 are indicated, it means that the new map will be centered on (x1,y1) instead of (x,y) FRAMEFACTOR x changes the framefactor to xadonthell-0.3.5/doc/Makefile.am0000644000076500000240000000023207552067465013226 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = devel dlgedit dlgedit-api items EXTRA_DIST = charedit.lyx interpreter.lyx items.txt adonthell-0.3.5/doc/Makefile.in0000644000076500000240000003622711017574471013243 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = doc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = devel dlgedit dlgedit-api items EXTRA_DIST = charedit.lyx interpreter.lyx items.txt all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu doc/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu doc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ 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) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ 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) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: adonthell-0.3.5/FULLSCREEN.howto0000644000076500000240000000741107542354227013151 00000000000000In this little howto, you'll find help for running Adonthell in Fullscreen mode under UNiX/X11. ******************************** * 1.0 RUNNING IN 640x480 MODE * ******************************** Since version 0.3.3, Adonthell uses 640x480 windowed mode by default. Going fullscreen with that resolution shouldn't be a big problem. Simply turn on fullscreen mode in the $HOME/.adonthell/adonthellrc configuration file. In case Adonthell appears as a small window with a large black border around, a little tweak to your X11 configuration file is required. Step #1: Log in as root and locate your X11 configuration file. You'll find it in /etc/X11/ under the name of XF86Config or XF86Config-4. Step #2: Locate the "Screen" section in the file. Here you can specify what resolutions X11 may use. Add the "640x480" mode to every "Display" subsection you have. ******************************** * 2.0 RUNNING IN 320x240 MODE * ******************************** If you have a slow box, you may want to run Adonthell in 320x240 to improve the performance. After changing the $HOME/.adonthell/adonthellrc configuration file accordingly, Adonthell will attempt to run in X11 Fullscreen mode. However, unless you have configured X for the low resolution Adonthell needs, you'll get a quite small game window with an ugly black border around. In here is described how to get rid of this. Since none of the X11 configuration tools I know can setup a 320x240 resolution, you'll have to edit your XF86Config by hand. But don't worry, you have to do that only once, and none of your current settings will be lost in the process. Step #1: Log in as root and locate your X11 configuration file. You'll find it in /etc/X11/ under the name of XF86Config or XF86Config-4. First of all make a backup, so you can revert to a working config should something go wrong. Step #2: Locate the "Monitor" section in the file. Here you might already see a number of "Modeline" entries, but probably none that starts with "320x240". Now pick one of the following modelines that best matches your monitor and copy it into the monitor section (but don't change the HorizSync or VertRefresh entry): # -- 15" CRT -- HorizSync 29-65 VertRefresh 47-80 Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan # -- 17" CRT -- HorizSync 30-85 VertRefresh 50-100 Modeline "320x240" 15.750 320 336 384 400 240 244 246 262 Doublescan # -- 19" CRT -- HorizSync 30-110 VertRefresh 50-150 Modeline "320x240" 15.750 320 340 388 432 240 244 246 258 Doublescan # -- 17" TFT -- HorizSync 31-82 VertRefresh 56-75 Modeline "320x240" 12.588 320 336 384 400 240 245 246 262 Doublescan When you are done, your monitor section might look similar to this: Section "Monitor" Identifier "Monitor2" VendorName "Hyundai" ModelName "F910" HorizSync 30-110 VertRefresh 50-150 Modeline "1024x768" 85.12 1024 1028 1204 1348 768 768 778 794 Modeline "640x400" 31.50 640 672 736 832 400 401 404 445 Modeline "512x384" 22.00 512 564 628 696 384 389 392 404 Modeline "320x240" 15.75 320 340 388 432 240 244 246 258 Doublescan EndSection Step #3: Locate the "Screen" section. Here you have to specify the resolutions X11 may use. Add the "320x240" mode to every "Display" subsection you have. Afterwards, it might look like: SubSection "Display" Depth 16 Modes "1024x768" "800x600" "640x480" "320x240" EndSubSection The first resolution in the line is the one used by default. When Adonthell starts, it will select the mode closest to 320x240. Step #4: Restart X11 and, if everything went well, enjoy Adonthell truly fullscreen. The first time you use a new mode, you might have to adjust your monitor somewhat, but after that you'll be fine. adonthell-0.3.5/INSTALL0000644000076500000240000001237111017574452011453 00000000000000If you are having problems installing the software or want a step-by- step guide to building and using the Adonthell software, please look at the NEWBIE file. If you just want the quick-start version of the install process, here it is. Should you still have problems, please visit our tech support at http://savannah.gnu.org/support/?group_id=702 . Requirements: ============= There are sixlibraries that Adonthell depends on: 1. Python, version 2.0 or later. See http://www.python.org/ 2. SDL, version 1.2 or later. See http://www.libsdl.org/ 3. SDL_mixer, version 1.2 or later. See http://www.libsdl.org/projects/SDL_mixer/ 4. SDL_ttf, version 2.0 or later. See http://www.libsdl.org/projects/SDL_ttf/ 5. Freetype, version 2.0 or later. See http://www.freetype.org/ 6. Ogg Vorbis, version 1.0rc3 or later See http://www.xiph.org/ogg/vorbis/download/ Installing: =========== From source: ------------ In the toplevel adonthell-0.3 directory type $> ./configure $> make and (as root) $> make install For more information, see the README file. Problems? Don't have the right libraries? Please look at the NEWBIE file or our website for answers: http://adonthell.linuxgames.com Debian users: ------------- You can automatically get an installable Debian package by typing $> debuild within the adonthell-0.3.5 directory. 'debbuild' is part of the 'devscripts' package. Check carefully that you have the python2.2, python2.2-dev, libsdl1.2 and libsdl1.2-dev packages installed (plus libvorbis0 & libvorbis-dev if you want sound), or the build will fail. RPM users: ---------- To create an installable RPM package, type $> rpm -tb adonthell-0.3.5.tar.gz Note that the 4.x versions of rpm are currently unsupported. Feel free to change that, if you want. For more information, refer to section 8.0 of the NEWBIE file. Advanced configure options: =========================== There are a number of options to 'configure' that might be useful for you. For a complete list, run 'configure --help'. --enable-py-debug This option turns on debugging output of the embedded python interpreter to locate bugs in our python scripts. If Adonthell behaves odd or hangs with no apparent error message, turning on Python debugging might reveal the source of error. On slower machines, you shouldn't enable this option unless you need it - it may considerably increase Adonthell's CPU usage. --enable-tools Use this to build the Adonthell development tools. These will include editors for our graphic objects, characters, maps, dialogues and a few other utilities. Note that non of these tools will be installed when running 'make install'. You will have to run them from their source directory or install them manually. --enable-doc Use this to build the Adonthell source code documentation. For this to work you will need two additional tools: doxygen and dot. See http://www.doxygen.org for the first. Latter is a part of AT&T's graphviz toolkit which can be found at http://www.research.att.com/sw/tools/graphviz/. The documentation will end up in doc//html/ respectively doc//latex/, where subdir is one of devel or dlgedit. It is also made available for online browsing at our website, http://adonthell.linuxgames.com. --enable-memleaks This enables support for mtrace, a tool to find memory leaks. After compiling you have to set the $MALLOC_TRACE environment variable to any file. Running Adonthell will record debugging information in this file. Use 'mtrace adonthell $MALLOC_TRACE' to finally display any occurrence of memory leaks. A much more convenient way to check for memory leaks is the 'memprof' tool: http://people.redhat.com/~otaylor/memprof Even better than memprof, but not as easy to use is valgrind: http://developer.kde.org/~sewardj/ --with-included-gettext If you want to build Adonthell with national language support (NLS), you'll have to use this option on systems that do not provide the required services themselves. --disable-nls Use this option to disable NLS completely. For more information regarding this and the previous option, read the ABOUT-NLS file in this directory. --disable-sdltest --disable-vorbistest --disable-gtktest If configure claims to not find the SDL library, Ogg Vorbis or GTK+ although they are there, or if you try to cross-compile, you can disable the respective test. Another way to workaround such a problem might be to recreate 'configure' by running the 'autogen.sh' script. --with--prefix=PFX This allows you to specify the path to various libraries. (replace the with the name of the library.) This is useful if you have installed those libraries in unusual locations, although it might be better to set the $LD_LIBRARY_PATH environment variable, or to add those directories to /etc/ld.so.conf. --with-dir=DIR Use this option to customise the location of the data directory. The default is /usr/local/share/adonthell. Once you have compiled Adonthell you can query the data directory with 'adonthell -d'. ********************************************************************* * That's it! Enjoy the game engine and let us know what you think!! * ********************************************************************* - The Adonthell Team adonthell-0.3.5/install-sh0000755000076500000240000003160010704200377012414 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog chowncmd= chgrpcmd= stripcmd= rmcmd="$rmprog -f" mvcmd="$mvprog" src= dst= dir_arg= dstarg= no_target_directory= usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: -c (ignored) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. --help display this help and exit. --version display version info and exit. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) shift continue;; -d) dir_arg=true shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; --help) echo "$usage"; exit $?;; -m) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -s) stripcmd=$stripprog shift continue;; -t) dstarg=$2 shift shift continue;; -T) no_target_directory=true shift continue;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dstarg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dstarg" shift # fnord fi shift # arg dstarg=$arg done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call `install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dstarg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dstarg # Protect names starting with `-'. case $dst in -*) dst=./$dst ;; esac # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dstarg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \ && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \ && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \ && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \ || { # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { if test -f "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-end: "$" # End: adonthell-0.3.5/ltmain.sh0000644000076500000240000060512310660367353012250 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, 2006, # 2007 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.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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/" extracted_archives= extracted_serial=0 ##################################### # 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_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $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 Copyright (C) 2007 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." 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift 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|-threads) 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 # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -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%" test "X$link_all_deplibs" != Xno && libs="$libs $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|-threads) 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $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 ;; 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current"; ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` 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" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following 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 \$*\" 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$echo \"\$shlibpath_var=\$$shlibpath_var\"" $echo "export $shlibpath_var" fi $echo "$cmd$args" exit $EXIT_SUCCESS fi ;; # 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 uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] 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: adonthell-0.3.5/m4/0000777000076500000240000000000011017604067011016 500000000000000adonthell-0.3.5/m4/codeset.m40000644000076500000240000000157610011702542012621 00000000000000# codeset.m4 serial AM1 (gettext-0.10.40) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. AC_DEFUN([AM_LANGINFO_CODESET], [ AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset, [AC_TRY_LINK([#include ], [char* cs = nl_langinfo(CODESET);], am_cv_langinfo_codeset=yes, am_cv_langinfo_codeset=no) ]) if test $am_cv_langinfo_codeset = yes; then AC_DEFINE(HAVE_LANGINFO_CODESET, 1, [Define if you have and nl_langinfo(CODESET).]) fi ]) adonthell-0.3.5/m4/gettext.m40000644000076500000240000003773210704216510012666 00000000000000# gettext.m4 serial 59 (gettext-0.16.1) dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2006. dnl Macro to add for using GNU gettext. dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The dnl default (if it is not specified or empty) is 'no-libtool'. dnl INTLSYMBOL should be 'external' for packages with no intl directory, dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. dnl If INTLSYMBOL is 'use-libtool', then a libtool library dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, dnl depending on --{enable,disable}-{shared,static} and on the presence of dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library dnl $(top_builddir)/intl/libintl.a will be created. dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext dnl implementations (in libc or libintl) without the ngettext() function dnl will be ignored. If NEEDSYMBOL is specified and is dnl 'need-formatstring-macros', then GNU gettext implementations that don't dnl support the ISO C 99 formatstring macros will be ignored. dnl INTLDIR is used to find the intl libraries. If empty, dnl the value `$(top_builddir)/intl/' is used. dnl dnl The result of the configuration is one of three cases: dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled dnl and used. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 2) GNU gettext has been found in the system's C library. dnl Catalog format: GNU --> install in $(datadir) dnl Catalog extension: .mo after installation, .gmo in source tree dnl 3) No internationalization, always use English msgid. dnl Catalog format: none dnl Catalog extension: none dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. dnl The use of .gmo is historical (it was needed to avoid overwriting the dnl GNU format catalogs when building on a platform with an X/Open gettext), dnl but we keep it in order not to force irrelevant filename changes on the dnl maintainers. dnl AC_DEFUN([AM_GNU_GETTEXT], [ dnl Argument checking. ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT ])])])])]) ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT ])])])]) define([gt_included_intl], ifelse([$1], [external], ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), [yes])) define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) gt_NEEDS_INIT AM_GNU_GETTEXT_NEED([$2]) AC_REQUIRE([AM_PO_SUBDIRS])dnl ifelse(gt_included_intl, yes, [ AC_REQUIRE([AM_INTL_SUBDIR])dnl ]) dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Sometimes libintl requires libiconv, so first search for libiconv. dnl Ideally we would do this search only after the dnl if test "$USE_NLS" = "yes"; then dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT dnl the configure script would need to contain the same shell code dnl again, outside any 'if'. There are two solutions: dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not dnl documented, we avoid it. ifelse(gt_included_intl, yes, , [ AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) ]) dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. gt_INTL_MACOSX dnl Set USE_NLS. AC_REQUIRE([AM_NLS]) ifelse(gt_included_intl, yes, [ BUILD_INCLUDED_LIBINTL=no USE_INCLUDED_LIBINTL=no ]) LIBINTL= LTLIBINTL= POSUB= dnl Add a version number to the cache macros. case " $gt_needs " in *" need-formatstring-macros "*) gt_api_version=3 ;; *" need-ngettext "*) gt_api_version=2 ;; *) gt_api_version=1 ;; esac gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" dnl If we use NLS figure out what method if test "$USE_NLS" = "yes"; then gt_use_preinstalled_gnugettext=no ifelse(gt_included_intl, yes, [ AC_MSG_CHECKING([whether included gettext is requested]) AC_ARG_WITH(included-gettext, [ --with-included-gettext use the GNU gettext library included here], nls_cv_force_use_gnu_gettext=$withval, nls_cv_force_use_gnu_gettext=no) AC_MSG_RESULT($nls_cv_force_use_gnu_gettext) nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" if test "$nls_cv_force_use_gnu_gettext" != "yes"; then ]) dnl User does not insist on using GNU NLS library. Figure out what dnl to use. If GNU gettext is available we use this. Else we have dnl to fall back to GNU NLS library. if test $gt_api_version -ge 3; then gt_revision_test_code=' #ifndef __GNU_GETTEXT_SUPPORTED_REVISION #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) #endif changequote(,)dnl typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; changequote([,])dnl ' else gt_revision_test_code= fi if test $gt_api_version -ge 2; then gt_expression_test_code=' + * ngettext ("", "", 0)' else gt_expression_test_code= fi AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], [AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern int *_nl_domain_bindings;], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], [eval "$gt_func_gnugettext_libc=yes"], [eval "$gt_func_gnugettext_libc=no"])]) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then dnl Sometimes libintl requires libiconv, so first search for libiconv. ifelse(gt_included_intl, yes, , [ AM_ICONV_LINK ]) dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) dnl because that would add "-liconv" to LIBINTL and LTLIBINTL dnl even if libiconv doesn't exist. AC_LIB_LINKFLAGS_BODY([intl]) AC_CACHE_CHECK([for GNU gettext in libintl], [$gt_func_gnugettext_libintl], [gt_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $INCINTL" gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" dnl Now see whether libintl exists and does not depend on libiconv. AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [eval "$gt_func_gnugettext_libintl=yes"], [eval "$gt_func_gnugettext_libintl=no"]) dnl Now see whether libintl exists and depends on libiconv. if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include $gt_revision_test_code extern int _nl_msg_cat_cntr; extern #ifdef __cplusplus "C" #endif const char *_nl_expand_alias (const char *);], [bindtextdomain ("", ""); return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], [LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" eval "$gt_func_gnugettext_libintl=yes" ]) fi CPPFLAGS="$gt_save_CPPFLAGS" LIBS="$gt_save_LIBS"]) fi dnl If an already present or preinstalled GNU gettext() is found, dnl use it. But if this macro is used in GNU gettext, and GNU dnl gettext is already preinstalled in libintl, we update this dnl libintl. (Cf. the install rule in intl/Makefile.in.) if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ && test "$PACKAGE" != gettext-runtime \ && test "$PACKAGE" != gettext-tools; }; then gt_use_preinstalled_gnugettext=yes else dnl Reset the values set by searching for libintl. LIBINTL= LTLIBINTL= INCINTL= fi ifelse(gt_included_intl, yes, [ if test "$gt_use_preinstalled_gnugettext" != "yes"; then dnl GNU gettext is not found in the C library. dnl Fall back on included GNU gettext library. nls_cv_use_gnu_gettext=yes fi fi if test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions used to generate GNU NLS library. BUILD_INCLUDED_LIBINTL=yes USE_INCLUDED_LIBINTL=yes LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` fi CATOBJEXT= if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Mark actions to use GNU gettext tools. CATOBJEXT=.gmo fi ]) if test -n "$INTL_MACOSX_LIBS"; then if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then dnl Some extra flags are needed during linking. LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" fi fi if test "$gt_use_preinstalled_gnugettext" = "yes" \ || test "$nls_cv_use_gnu_gettext" = "yes"; then AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) else USE_NLS=no fi fi AC_MSG_CHECKING([whether to use NLS]) AC_MSG_RESULT([$USE_NLS]) if test "$USE_NLS" = "yes"; then AC_MSG_CHECKING([where the gettext function comes from]) if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then gt_source="external libintl" else gt_source="libc" fi else gt_source="included intl directory" fi AC_MSG_RESULT([$gt_source]) fi if test "$USE_NLS" = "yes"; then if test "$gt_use_preinstalled_gnugettext" = "yes"; then if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then AC_MSG_CHECKING([how to link with libintl]) AC_MSG_RESULT([$LIBINTL]) AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) fi dnl For backward compatibility. Some packages may be using this. AC_DEFINE(HAVE_GETTEXT, 1, [Define if the GNU gettext() function is already present or preinstalled.]) AC_DEFINE(HAVE_DCGETTEXT, 1, [Define if the GNU dcgettext() function is already present or preinstalled.]) fi dnl We need to process the po/ directory. POSUB=po fi ifelse(gt_included_intl, yes, [ dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL dnl to 'yes' because some of the testsuite requires it. if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then BUILD_INCLUDED_LIBINTL=yes fi dnl Make all variables we use known to autoconf. AC_SUBST(BUILD_INCLUDED_LIBINTL) AC_SUBST(USE_INCLUDED_LIBINTL) AC_SUBST(CATOBJEXT) dnl For backward compatibility. Some configure.ins may be using this. nls_cv_header_intl= nls_cv_header_libgt= dnl For backward compatibility. Some Makefiles may be using this. DATADIRNAME=share AC_SUBST(DATADIRNAME) dnl For backward compatibility. Some Makefiles may be using this. INSTOBJEXT=.mo AC_SUBST(INSTOBJEXT) dnl For backward compatibility. Some Makefiles may be using this. GENCAT=gencat AC_SUBST(GENCAT) dnl For backward compatibility. Some Makefiles may be using this. INTLOBJS= if test "$USE_INCLUDED_LIBINTL" = yes; then INTLOBJS="\$(GETTOBJS)" fi AC_SUBST(INTLOBJS) dnl Enable libtool support if the surrounding package wishes it. INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix AC_SUBST(INTL_LIBTOOL_SUFFIX_PREFIX) ]) dnl For backward compatibility. Some Makefiles may be using this. INTLLIBS="$LIBINTL" AC_SUBST(INTLLIBS) dnl Make all documented variables known to autoconf. AC_SUBST(LIBINTL) AC_SUBST(LTLIBINTL) AC_SUBST(POSUB) ]) dnl Checks for special options needed on MacOS X. dnl Defines INTL_MACOSX_LIBS. AC_DEFUN([gt_INTL_MACOSX], [ dnl Check for API introduced in MacOS X 10.2. AC_CACHE_CHECK([for CFPreferencesCopyAppValue], gt_cv_func_CFPreferencesCopyAppValue, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFPreferencesCopyAppValue(NULL, NULL)], [gt_cv_func_CFPreferencesCopyAppValue=yes], [gt_cv_func_CFPreferencesCopyAppValue=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], 1, [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) fi dnl Check for API introduced in MacOS X 10.3. AC_CACHE_CHECK([for CFLocaleCopyCurrent], gt_cv_func_CFLocaleCopyCurrent, [gt_save_LIBS="$LIBS" LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], [gt_cv_func_CFLocaleCopyCurrent=yes], [gt_cv_func_CFLocaleCopyCurrent=no]) LIBS="$gt_save_LIBS"]) if test $gt_cv_func_CFLocaleCopyCurrent = yes; then AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], 1, [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) fi INTL_MACOSX_LIBS= if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" fi AC_SUBST([INTL_MACOSX_LIBS]) ]) dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. m4_define([gt_NEEDS_INIT], [ m4_divert_text([DEFAULTS], [gt_needs=]) m4_define([gt_NEEDS_INIT], []) ]) dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) AC_DEFUN([AM_GNU_GETTEXT_NEED], [ m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) ]) dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) adonthell-0.3.5/m4/glibc21.m40000644000076500000240000000172710011702542012414 00000000000000# glibc21.m4 serial 2 (fileutils-4.1.3, gettext-0.10.40) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. # Test for the GNU C Library, version 2.1 or newer. # From Bruno Haible. AC_DEFUN([jm_GLIBC21], [ AC_CACHE_CHECK(whether we are using the GNU C Library 2.1 or newer, ac_cv_gnu_library_2_1, [AC_EGREP_CPP([Lucky GNU user], [ #include #ifdef __GNU_LIBRARY__ #if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1) || (__GLIBC__ > 2) Lucky GNU user #endif #endif ], ac_cv_gnu_library_2_1=yes, ac_cv_gnu_library_2_1=no) ] ) AC_SUBST(GLIBC21) GLIBC21="$ac_cv_gnu_library_2_1" ] ) adonthell-0.3.5/m4/iconv.m40000644000076500000240000000642610704216510012314 00000000000000# iconv.m4 serial AM4 (gettext-0.11.3) dnl Copyright (C) 2000-2002 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], [ dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_LIB_LINKFLAGS_BODY([iconv]) ]) AC_DEFUN([AM_ICONV_LINK], [ dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and dnl those with the standalone portable GNU libiconv installed). dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV dnl accordingly. AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) dnl Add $INCICONV to CPPFLAGS before performing the following checks, dnl because if the user has installed libiconv and not disabled its use dnl via --without-libiconv-prefix, he wants to use it. The first dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. am_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) AC_CACHE_CHECK(for iconv, am_cv_func_iconv, [ am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_func_iconv=yes) if test "$am_cv_func_iconv" != yes; then am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" AC_TRY_LINK([#include #include ], [iconv_t cd = iconv_open("",""); iconv(cd,NULL,NULL,NULL,NULL); iconv_close(cd);], am_cv_lib_iconv=yes am_cv_func_iconv=yes) LIBS="$am_save_LIBS" fi ]) if test "$am_cv_func_iconv" = yes; then AC_DEFINE(HAVE_ICONV, 1, [Define if you have the iconv() function.]) fi if test "$am_cv_lib_iconv" = yes; then AC_MSG_CHECKING([how to link with libiconv]) AC_MSG_RESULT([$LIBICONV]) else dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV dnl either. CPPFLAGS="$am_save_CPPFLAGS" LIBICONV= LTLIBICONV= fi AC_SUBST(LIBICONV) AC_SUBST(LTLIBICONV) ]) AC_DEFUN([AM_ICONV], [ AM_ICONV_LINK if test "$am_cv_func_iconv" = yes; then AC_MSG_CHECKING([for iconv declaration]) AC_CACHE_VAL(am_cv_proto_iconv, [ AC_TRY_COMPILE([ #include #include extern #ifdef __cplusplus "C" #endif #if defined(__STDC__) || defined(__cplusplus) size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); #else size_t iconv(); #endif ], [], am_cv_proto_iconv_arg1="", am_cv_proto_iconv_arg1="const") am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` AC_MSG_RESULT([$]{ac_t:- }[$]am_cv_proto_iconv) AC_DEFINE_UNQUOTED(ICONV_CONST, $am_cv_proto_iconv_arg1, [Define as const if the declaration of iconv() needs const.]) fi ]) adonthell-0.3.5/m4/intdiv0.m40000644000076500000240000000356510011702542012550 00000000000000# intdiv0.m4 serial 1 (gettext-0.11.3) dnl Copyright (C) 2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. AC_DEFUN([gt_INTDIV0], [ AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([whether integer division by zero raises SIGFPE], gt_cv_int_divbyzero_sigfpe, [ AC_TRY_RUN([ #include #include static void #ifdef __cplusplus sigfpe_handler (int sig) #else sigfpe_handler (sig) int sig; #endif { /* Exit with code 0 if SIGFPE, with code 1 if any other signal. */ exit (sig != SIGFPE); } int x = 1; int y = 0; int z; int nan; int main () { signal (SIGFPE, sigfpe_handler); /* IRIX and AIX (when "xlc -qcheck" is used) yield signal SIGTRAP. */ #if (defined (__sgi) || defined (_AIX)) && defined (SIGTRAP) signal (SIGTRAP, sigfpe_handler); #endif /* Linux/SPARC yields signal SIGILL. */ #if defined (__sparc__) && defined (__linux__) signal (SIGILL, sigfpe_handler); #endif z = x / y; nan = y / y; exit (1); } ], gt_cv_int_divbyzero_sigfpe=yes, gt_cv_int_divbyzero_sigfpe=no, [ # Guess based on the CPU. case "$host_cpu" in alpha* | i[34567]86 | m68k | s390*) gt_cv_int_divbyzero_sigfpe="guessing yes";; *) gt_cv_int_divbyzero_sigfpe="guessing no";; esac ]) ]) case "$gt_cv_int_divbyzero_sigfpe" in *yes) value=1;; *) value=0;; esac AC_DEFINE_UNQUOTED(INTDIV0_RAISES_SIGFPE, $value, [Define if integer division by zero raises signal SIGFPE.]) ]) adonthell-0.3.5/m4/intmax.m40000644000076500000240000000217210011702542012464 00000000000000# intmax.m4 serial 1 (gettext-0.12) dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. dnl Test whether the system has the 'intmax_t' type, but don't attempt to dnl find a replacement if it is lacking. AC_DEFUN([gt_TYPE_INTMAX_T], [ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) AC_REQUIRE([jm_AC_HEADER_STDINT_H]) AC_CACHE_CHECK(for intmax_t, gt_cv_c_intmax_t, [AC_TRY_COMPILE([ #include #include #if HAVE_STDINT_H_WITH_UINTMAX #include #endif #if HAVE_INTTYPES_H_WITH_UINTMAX #include #endif ], [intmax_t x = -1;], gt_cv_c_intmax_t=yes, gt_cv_c_intmax_t=no)]) if test $gt_cv_c_intmax_t = yes; then AC_DEFINE(HAVE_INTMAX_T, 1, [Define if you have the 'intmax_t' type in or .]) fi ]) adonthell-0.3.5/m4/inttypes-pri.m40000644000076500000240000000222710011702542013634 00000000000000# inttypes-pri.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. # Define PRI_MACROS_BROKEN if exists and defines the PRI* # macros to non-string values. This is the case on AIX 4.3.3. AC_DEFUN([gt_INTTYPES_PRI], [ AC_REQUIRE([gt_HEADER_INTTYPES_H]) if test $gt_cv_header_inttypes_h = yes; then AC_CACHE_CHECK([whether the inttypes.h PRIxNN macros are broken], gt_cv_inttypes_pri_broken, [ AC_TRY_COMPILE([#include #ifdef PRId32 char *p = PRId32; #endif ], [], gt_cv_inttypes_pri_broken=no, gt_cv_inttypes_pri_broken=yes) ]) fi if test "$gt_cv_inttypes_pri_broken" = yes; then AC_DEFINE_UNQUOTED(PRI_MACROS_BROKEN, 1, [Define if exists and defines unusable PRI* macros.]) fi ]) adonthell-0.3.5/m4/inttypes.m40000644000076500000240000000171710011702542013047 00000000000000# inttypes.m4 serial 1 (gettext-0.11.4) dnl Copyright (C) 1997-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_INTTYPES_H if exists and doesn't clash with # . AC_DEFUN([gt_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], gt_cv_header_inttypes_h, [ AC_TRY_COMPILE( [#include #include ], [], gt_cv_header_inttypes_h=yes, gt_cv_header_inttypes_h=no) ]) if test $gt_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H, 1, [Define if exists and doesn't clash with .]) fi ]) adonthell-0.3.5/m4/inttypes_h.m40000644000076500000240000000210310011702542013344 00000000000000# inttypes_h.m4 serial 5 (gettext-0.12) dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_INTTYPES_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([jm_AC_HEADER_INTTYPES_H], [ AC_CACHE_CHECK([for inttypes.h], jm_ac_cv_header_inttypes_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], jm_ac_cv_header_inttypes_h=yes, jm_ac_cv_header_inttypes_h=no)]) if test $jm_ac_cv_header_inttypes_h = yes; then AC_DEFINE_UNQUOTED(HAVE_INTTYPES_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) adonthell-0.3.5/m4/isc-posix.m40000644000076500000240000000213310011702542013077 00000000000000# isc-posix.m4 serial 2 (gettext-0.11.2) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. # This file is not needed with autoconf-2.53 and newer. Remove it in 2005. # This test replaces the one in autoconf. # Currently this macro should have the same name as the autoconf macro # because gettext's gettext.m4 (distributed in the automake package) # still uses it. Otherwise, the use in gettext.m4 makes autoheader # give these diagnostics: # configure.in:556: AC_TRY_COMPILE was called before AC_ISC_POSIX # configure.in:556: AC_TRY_RUN was called before AC_ISC_POSIX undefine([AC_ISC_POSIX]) AC_DEFUN([AC_ISC_POSIX], [ dnl This test replaces the obsolescent AC_ISC_POSIX kludge. AC_CHECK_LIB(cposix, strerror, [LIBS="$LIBS -lcposix"]) ] ) adonthell-0.3.5/m4/lcmessage.m40000644000076500000240000000261610011702542013132 00000000000000# lcmessage.m4 serial 3 (gettext-0.11.3) dnl Copyright (C) 1995-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995. # Check whether LC_MESSAGES is available in . AC_DEFUN([AM_LC_MESSAGES], [ 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 ]) adonthell-0.3.5/m4/lib-ld.m40000644000076500000240000000653110704216510012336 00000000000000# lib-ld.m4 serial 3 (gettext-0.13) dnl Copyright (C) 1996-2003 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl Subroutines of libtool.m4, dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision dnl with libtool.m4. dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. AC_DEFUN([AC_LIB_PROG_LD_GNU], [AC_CACHE_CHECK([if the linker ($LD) is GNU ld], acl_cv_prog_gnu_ld, [# I'd rather use --version here, but apparently some GNU ld's only accept -v. case `$LD -v 2>&1 conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by GCC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]* | [A-Za-z]:[\\/]*)] [re_direlt='/[^/][^/]*/\.\./'] # Canonicalize the path of ld ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(acl_cv_path_LD, [if test -z "$LD"; then IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then acl_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some GNU ld's only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in *GNU* | *'with BFD'*) test "$with_gnu_ld" != no && break ;; *) test "$with_gnu_ld" != yes && break ;; esac fi done IFS="$ac_save_ifs" else acl_cv_path_LD="$LD" # Let the user override the test with a path. fi]) LD="$acl_cv_path_LD" if test -n "$LD"; then AC_MSG_RESULT($LD) else AC_MSG_RESULT(no) fi test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) AC_LIB_PROG_LD_GNU ]) adonthell-0.3.5/m4/lib-link.m40000644000076500000240000006424410704216510012701 00000000000000# lib-link.m4 serial 9 (gettext-0.16) dnl Copyright (C) 2001-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. AC_PREREQ(2.50) dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and dnl augments the CPPFLAGS variable. AC_DEFUN([AC_LIB_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ AC_LIB_LINKFLAGS_BODY([$1], [$2]) ac_cv_lib[]Name[]_libs="$LIB[]NAME" ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" ac_cv_lib[]Name[]_cppflags="$INC[]NAME" ]) LIB[]NAME="$ac_cv_lib[]Name[]_libs" LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" INC[]NAME="$ac_cv_lib[]Name[]_cppflags" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the dnl results of this search when this library appears as a dependency. HAVE_LIB[]NAME=yes undefine([Name]) undefine([NAME]) ]) dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode) dnl searches for libname and the libraries corresponding to explicit and dnl implicit dependencies, together with the specified include files and dnl the ability to compile and link the specified testcode. If found, it dnl sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} and dnl LTLIB${NAME} variables and augments the CPPFLAGS variable, and dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], [ AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) AC_REQUIRE([AC_LIB_RPATH]) define([Name],[translit([$1],[./-], [___])]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME dnl accordingly. AC_LIB_LINKFLAGS_BODY([$1], [$2]) dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, dnl because if the user has installed lib[]Name and not disabled its use dnl via --without-lib[]Name-prefix, he wants to use it. ac_save_CPPFLAGS="$CPPFLAGS" AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ ac_save_LIBS="$LIBS" LIBS="$LIBS $LIB[]NAME" AC_TRY_LINK([$3], [$4], [ac_cv_lib[]Name=yes], [ac_cv_lib[]Name=no]) LIBS="$ac_save_LIBS" ]) if test "$ac_cv_lib[]Name" = yes; then HAVE_LIB[]NAME=yes AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the $1 library.]) AC_MSG_CHECKING([how to link with lib[]$1]) AC_MSG_RESULT([$LIB[]NAME]) else HAVE_LIB[]NAME=no dnl If $LIB[]NAME didn't lead to a usable library, we don't need dnl $INC[]NAME either. CPPFLAGS="$ac_save_CPPFLAGS" LIB[]NAME= LTLIB[]NAME= fi AC_SUBST([HAVE_LIB]NAME) AC_SUBST([LIB]NAME) AC_SUBST([LTLIB]NAME) undefine([Name]) undefine([NAME]) ]) dnl Determine the platform dependent parameters needed to use rpath: dnl libext, shlibext, hardcode_libdir_flag_spec, hardcode_libdir_separator, dnl hardcode_direct, hardcode_minus_L. AC_DEFUN([AC_LIB_RPATH], [ dnl Tell automake >= 1.10 to complain if config.rpath is missing. m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir AC_CACHE_CHECK([for shared library run path origin], acl_cv_rpath, [ CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh . ./conftest.sh rm -f ./conftest.sh acl_cv_rpath=done ]) wl="$acl_cv_wl" libext="$acl_cv_libext" shlibext="$acl_cv_shlibext" hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" hardcode_direct="$acl_cv_hardcode_direct" hardcode_minus_L="$acl_cv_hardcode_minus_L" dnl Determine whether the user wants rpath handling at all. AC_ARG_ENABLE(rpath, [ --disable-rpath do not hardcode runtime library paths], :, enable_rpath=yes) ]) dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and dnl the libraries corresponding to explicit and implicit dependencies. dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. AC_DEFUN([AC_LIB_LINKFLAGS_BODY], [ AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) define([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib$1-prefix], [ --with-lib$1-prefix[=DIR] search for lib$1 in DIR/include and DIR/lib --without-lib$1-prefix don't search for lib$1 in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) dnl Search the library and its dependencies in $additional_libdir and dnl $LDFLAGS. Using breadth-first-seach. LIB[]NAME= LTLIB[]NAME= INC[]NAME= rpathdirs= ltrpathdirs= names_already_handled= names_next_round='$1 $2' while test -n "$names_next_round"; do names_this_round="$names_next_round" names_next_round= for name in $names_this_round; do already_handled= for n in $names_already_handled; do if test "$n" = "$name"; then already_handled=yes break fi done if test -z "$already_handled"; then names_already_handled="$names_already_handled $name" dnl See if it was already located by an earlier AC_LIB_LINKFLAGS dnl or AC_LIB_HAVE_LINKFLAGS call. uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` eval value=\"\$HAVE_LIB$uppername\" if test -n "$value"; then if test "$value" = yes; then eval value=\"\$LIB$uppername\" test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" eval value=\"\$LTLIB$uppername\" test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" else dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined dnl that this library doesn't exist. So just drop it. : fi else dnl Search the library lib$name in $additional_libdir and $LDFLAGS dnl and the already constructed $LIBNAME/$LTLIBNAME. found_dir= found_la= found_so= found_a= if test $use_additional = yes; then if test -n "$shlibext" \ && { test -f "$additional_libdir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$additional_libdir/lib$name.dll.a"; }; }; then found_dir="$additional_libdir" if test -f "$additional_libdir/lib$name.$shlibext"; then found_so="$additional_libdir/lib$name.$shlibext" else found_so="$additional_libdir/lib$name.dll.a" fi if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi else if test -f "$additional_libdir/lib$name.$libext"; then found_dir="$additional_libdir" found_a="$additional_libdir/lib$name.$libext" if test -f "$additional_libdir/lib$name.la"; then found_la="$additional_libdir/lib$name.la" fi fi fi fi if test "X$found_dir" = "X"; then for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) case "$x" in -L*) dir=`echo "X$x" | sed -e 's/^X-L//'` if test -n "$shlibext" \ && { test -f "$dir/lib$name.$shlibext" \ || { test "$shlibext" = dll \ && test -f "$dir/lib$name.dll.a"; }; }; then found_dir="$dir" if test -f "$dir/lib$name.$shlibext"; then found_so="$dir/lib$name.$shlibext" else found_so="$dir/lib$name.dll.a" fi if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi else if test -f "$dir/lib$name.$libext"; then found_dir="$dir" found_a="$dir/lib$name.$libext" if test -f "$dir/lib$name.la"; then found_la="$dir/lib$name.la" fi fi fi ;; esac if test "X$found_dir" != "X"; then break fi done fi if test "X$found_dir" != "X"; then dnl Found the library. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" if test "X$found_so" != "X"; then dnl Linking with a shared library. We attempt to hardcode its dnl directory into the executable's runpath, unless it's the dnl standard /usr/lib. if test "$enable_rpath" = no || test "X$found_dir" = "X/usr/$acl_libdirstem"; then dnl No hardcoding is needed. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl Use an explicit option to hardcode DIR into the resulting dnl binary. dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $found_dir" fi dnl The hardcoding into $LIBNAME is system dependent. if test "$hardcode_direct" = yes; then dnl Using DIR/libNAME.so during linking hardcodes DIR into the dnl resulting binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode DIR into the resulting dnl binary. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $found_dir" fi else dnl Rely on "-L$found_dir". dnl But don't add it if it's already contained in the LDFLAGS dnl or the already constructed $LIBNAME haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$found_dir"; then haveit=yes break fi done if test -z "$haveit"; then LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" fi if test "$hardcode_minus_L" != no; then dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" else dnl We cannot use $hardcode_runpath_var and LD_RUN_PATH dnl here, because this doesn't fit in flags passed to the dnl compiler. So give up. No hardcoding. This affects only dnl very old systems. dnl FIXME: Not sure whether we should use dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" dnl here. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" fi fi fi fi else if test "X$found_a" != "X"; then dnl Linking with a static library. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" else dnl We shouldn't come here, but anyway it's good to have a dnl fallback. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" fi fi dnl Assume the include files are nearby. additional_includedir= case "$found_dir" in */$acl_libdirstem | */$acl_libdirstem/) basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` additional_includedir="$basedir/include" ;; esac if test "X$additional_includedir" != "X"; then dnl Potentially add $additional_includedir to $INCNAME. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's /usr/local/include and we are using GCC on Linux, dnl 3. if it's already present in $CPPFLAGS or the already dnl constructed $INCNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then for x in $CPPFLAGS $INC[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $INCNAME. INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" fi fi fi fi fi dnl Look for dependencies. if test -n "$found_la"; then dnl Read the .la file. It defines the variables dnl dlname, library_names, old_library, dependency_libs, current, dnl age, revision, installed, dlopen, dlpreopen, libdir. save_libdir="$libdir" case "$found_la" in */* | *\\*) . "$found_la" ;; *) . "./$found_la" ;; esac libdir="$save_libdir" dnl We use only dependency_libs. for dep in $dependency_libs; do case "$dep" in -L*) additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's /usr/local/lib and we are using GCC on Linux, dnl 3. if it's already present in $LDFLAGS or the already dnl constructed $LIBNAME, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then haveit= for x in $LDFLAGS $LIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LIBNAME. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" fi fi haveit= for x in $LDFLAGS $LTLIB[]NAME; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LTLIBNAME. LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" fi fi fi fi ;; -R*) dir=`echo "X$dep" | sed -e 's/^X-R//'` if test "$enable_rpath" != no; then dnl Potentially add DIR to rpathdirs. dnl The rpathdirs will be appended to $LIBNAME at the end. haveit= for x in $rpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then rpathdirs="$rpathdirs $dir" fi dnl Potentially add DIR to ltrpathdirs. dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. haveit= for x in $ltrpathdirs; do if test "X$x" = "X$dir"; then haveit=yes break fi done if test -z "$haveit"; then ltrpathdirs="$ltrpathdirs $dir" fi fi ;; -l*) dnl Handle this in the next round. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` ;; *.la) dnl Handle this in the next round. Throw away the .la's dnl directory; it is already contained in a preceding -L dnl option. names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` ;; *) dnl Most likely an immediate library name. LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" ;; esac done fi else dnl Didn't find the library; assume it is in the system directories dnl known to the linker and runtime loader. (All the system dnl directories known to the linker should also be known to the dnl runtime loader, otherwise the system is severely misconfigured.) LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" fi fi fi done done if test "X$rpathdirs" != "X"; then if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user must dnl pass all path elements in one option. We can arrange that for a dnl single library, but not when more than one $LIBNAMEs are used. alldirs= for found_dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$found_dir" done dnl Note: hardcode_libdir_flag_spec uses $libdir and $wl. acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" else dnl The -rpath options are cumulative. for found_dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$found_dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" done fi fi if test "X$ltrpathdirs" != "X"; then dnl When using libtool, the option that works for both libraries and dnl executables is -R. The -R options are cumulative. for found_dir in $ltrpathdirs; do LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" done fi ]) dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, dnl unless already present in VAR. dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes dnl contains two or three consecutive elements that belong together. AC_DEFUN([AC_LIB_APPENDTOVAR], [ for element in [$2]; do haveit= for x in $[$1]; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X$element"; then haveit=yes break fi done if test -z "$haveit"; then [$1]="${[$1]}${[$1]:+ }$element" fi done ]) dnl For those cases where a variable contains several -L and -l options dnl referring to unknown libraries and directories, this macro determines the dnl necessary additional linker options for the runtime path. dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) dnl sets LDADDVAR to linker options needed together with LIBSVALUE. dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, dnl otherwise linking without libtool is assumed. AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], [ AC_REQUIRE([AC_LIB_RPATH]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) $1= if test "$enable_rpath" != no; then if test -n "$hardcode_libdir_flag_spec" && test "$hardcode_minus_L" = no; then dnl Use an explicit option to hardcode directories into the resulting dnl binary. rpathdirs= next= for opt in $2; do if test -n "$next"; then dir="$next" dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= else case $opt in -L) next=yes ;; -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` dnl No need to hardcode the standard /usr/lib. if test "X$dir" != "X/usr/$acl_libdirstem"; then rpathdirs="$rpathdirs $dir" fi next= ;; *) next= ;; esac fi done if test "X$rpathdirs" != "X"; then if test -n ""$3""; then dnl libtool is used for linking. Use -R options. for dir in $rpathdirs; do $1="${$1}${$1:+ }-R$dir" done else dnl The linker is used for linking directly. if test -n "$hardcode_libdir_separator"; then dnl Weird platform: only the last -rpath option counts, the user dnl must pass all path elements in one option. alldirs= for dir in $rpathdirs; do alldirs="${alldirs}${alldirs:+$hardcode_libdir_separator}$dir" done acl_save_libdir="$libdir" libdir="$alldirs" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="$flag" else dnl The -rpath options are cumulative. for dir in $rpathdirs; do acl_save_libdir="$libdir" libdir="$dir" eval flag=\"$hardcode_libdir_flag_spec\" libdir="$acl_save_libdir" $1="${$1}${$1:+ }$flag" done fi fi fi fi fi AC_SUBST([$1]) ]) adonthell-0.3.5/m4/lib-prefix.m40000644000076500000240000001503610704216510013234 00000000000000# lib-prefix.m4 serial 5 (gettext-0.15) dnl Copyright (C) 2001-2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Bruno Haible. dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't dnl require excessive bracketing. ifdef([AC_HELP_STRING], [AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], [AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed dnl to access previously installed libraries. The basic assumption is that dnl a user will want packages to use other packages he previously installed dnl with the same --prefix option. dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate dnl libraries, but is otherwise very convenient. AC_DEFUN([AC_LIB_PREFIX], [ AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) dnl By default, look in $includedir and $libdir. use_additional=yes AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) AC_LIB_ARG_WITH([lib-prefix], [ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib --without-lib-prefix don't search for libraries in includedir and libdir], [ if test "X$withval" = "Xno"; then use_additional=no else if test "X$withval" = "X"; then AC_LIB_WITH_FINAL_PREFIX([ eval additional_includedir=\"$includedir\" eval additional_libdir=\"$libdir\" ]) else additional_includedir="$withval/include" additional_libdir="$withval/$acl_libdirstem" fi fi ]) if test $use_additional = yes; then dnl Potentially add $additional_includedir to $CPPFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/include, dnl 2. if it's already present in $CPPFLAGS, dnl 3. if it's /usr/local/include and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_includedir" != "X/usr/include"; then haveit= for x in $CPPFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-I$additional_includedir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_includedir" = "X/usr/local/include"; then if test -n "$GCC"; then case $host_os in linux* | gnu* | k*bsd*-gnu) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_includedir"; then dnl Really add $additional_includedir to $CPPFLAGS. CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" fi fi fi fi dnl Potentially add $additional_libdir to $LDFLAGS. dnl But don't add it dnl 1. if it's the standard /usr/lib, dnl 2. if it's already present in $LDFLAGS, dnl 3. if it's /usr/local/lib and we are using GCC on Linux, dnl 4. if it doesn't exist as a directory. if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then haveit= for x in $LDFLAGS; do AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) if test "X$x" = "X-L$additional_libdir"; then haveit=yes break fi done if test -z "$haveit"; then if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then if test -n "$GCC"; then case $host_os in linux*) haveit=yes;; esac fi fi if test -z "$haveit"; then if test -d "$additional_libdir"; then dnl Really add $additional_libdir to $LDFLAGS. LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" fi fi fi fi fi ]) dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, dnl acl_final_exec_prefix, containing the values to which $prefix and dnl $exec_prefix will expand at the end of the configure script. AC_DEFUN([AC_LIB_PREPARE_PREFIX], [ dnl Unfortunately, prefix and exec_prefix get only finally determined dnl at the end of configure. if test "X$prefix" = "XNONE"; then acl_final_prefix="$ac_default_prefix" else acl_final_prefix="$prefix" fi if test "X$exec_prefix" = "XNONE"; then acl_final_exec_prefix='${prefix}' else acl_final_exec_prefix="$exec_prefix" fi acl_save_prefix="$prefix" prefix="$acl_final_prefix" eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" prefix="$acl_save_prefix" ]) dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the dnl variables prefix and exec_prefix bound to the values they will have dnl at the end of the configure script. AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], [ acl_save_prefix="$prefix" prefix="$acl_final_prefix" acl_save_exec_prefix="$exec_prefix" exec_prefix="$acl_final_exec_prefix" $1 exec_prefix="$acl_save_exec_prefix" prefix="$acl_save_prefix" ]) dnl AC_LIB_PREPARE_MULTILIB creates a variable acl_libdirstem, containing dnl the basename of the libdir, either "lib" or "lib64". AC_DEFUN([AC_LIB_PREPARE_MULTILIB], [ dnl There is no formal standard regarding lib and lib64. The current dnl practice is that on a system supporting 32-bit and 64-bit instruction dnl sets or ABIs, 64-bit libraries go under $prefix/lib64 and 32-bit dnl libraries go under $prefix/lib. We determine the compiler's default dnl mode by looking at the compiler's library search path. If at least dnl of its elements ends in /lib64 or points to a directory whose absolute dnl pathname ends in /lib64, we assume a 64-bit ABI. Otherwise we use the dnl default, namely "lib". acl_libdirstem=lib searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` if test -n "$searchpath"; then acl_save_IFS="${IFS= }"; IFS=":" for searchdir in $searchpath; do if test -d "$searchdir"; then case "$searchdir" in */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; *) searchdir=`cd "$searchdir" && pwd` case "$searchdir" in */lib64 ) acl_libdirstem=lib64 ;; esac ;; esac fi done IFS="$acl_save_IFS" fi ]) adonthell-0.3.5/m4/longdouble.m40000644000076500000240000000230010011702542013307 00000000000000# longdouble.m4 serial 1 (gettext-0.12) dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. dnl Test whether the compiler supports the 'long double' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_LONGDOUBLE], [ AC_CACHE_CHECK([for long double], gt_cv_c_long_double, [if test "$GCC" = yes; then gt_cv_c_long_double=yes else AC_TRY_COMPILE([ /* The Stardent Vistra knows sizeof(long double), but does not support it. */ long double foo = 0.0; /* On Ultrix 4.3 cc, long double is 4 and double is 8. */ int array [2*(sizeof(long double) >= sizeof(double)) - 1]; ], , gt_cv_c_long_double=yes, gt_cv_c_long_double=no) fi]) if test $gt_cv_c_long_double = yes; then AC_DEFINE(HAVE_LONG_DOUBLE, 1, [Define if you have the 'long double' type.]) fi ]) adonthell-0.3.5/m4/longlong.m40000644000076500000240000000164310011702542013005 00000000000000# longlong.m4 serial 4 dnl Copyright (C) 1999-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_LONG_LONG if 'long long' works. AC_DEFUN([jm_AC_TYPE_LONG_LONG], [ AC_CACHE_CHECK([for long long], ac_cv_type_long_long, [AC_TRY_LINK([long long ll = 1LL; int i = 63;], [long long llmax = (long long) -1; return ll << i | ll >> i | llmax / ll | llmax % ll;], ac_cv_type_long_long=yes, ac_cv_type_long_long=no)]) if test $ac_cv_type_long_long = yes; then AC_DEFINE(HAVE_LONG_LONG, 1, [Define if you have the 'long long' type.]) fi ]) adonthell-0.3.5/m4/Makefile.am0000644000076500000240000000052110011702542012752 00000000000000EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 intmax.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 longdouble.m4 longlong.m4 nls.m4 po.m4 printf-posix.m4 progtest.m4 signed.m4 size_max.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 wchar_t.m4 wint_t.m4 xsize.m4 adonthell-0.3.5/m4/Makefile.in0000644000076500000240000002370111017574471013007 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = m4 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = codeset.m4 gettext.m4 glibc21.m4 iconv.m4 intdiv0.m4 intmax.m4 inttypes.m4 inttypes_h.m4 inttypes-pri.m4 isc-posix.m4 lcmessage.m4 lib-ld.m4 lib-link.m4 lib-prefix.m4 longdouble.m4 longlong.m4 nls.m4 po.m4 printf-posix.m4 progtest.m4 signed.m4 size_max.m4 stdint_h.m4 uintmax_t.m4 ulonglong.m4 wchar_t.m4 wint_t.m4 xsize.m4 all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu m4/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: adonthell-0.3.5/m4/nls.m40000644000076500000240000000226610704216510011770 00000000000000# nls.m4 serial 3 (gettext-0.15) dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE(nls, [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT($USE_NLS) AC_SUBST(USE_NLS) ]) adonthell-0.3.5/m4/po.m40000644000076500000240000004336710704216510011621 00000000000000# po.m4 serial 13 (gettext-0.15) dnl Copyright (C) 1995-2006 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ(2.50) dnl Checks for all prerequisites of the po subdirectory. AC_DEFUN([AM_PO_SUBDIRS], [ AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake AC_REQUIRE([AM_NLS])dnl dnl Perform the following tests also if --disable-nls has been given, dnl because they are needed for "make dist" to work. dnl Search for GNU msgfmt in the PATH. dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. dnl The second test excludes FreeBSD msgfmt. AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) dnl Test whether it is GNU msgfmt >= 0.15. changequote(,)dnl case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; *) MSGFMT_015=$MSGFMT ;; esac changequote([,])dnl AC_SUBST([MSGFMT_015]) changequote(,)dnl case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; *) GMSGFMT_015=$GMSGFMT ;; esac changequote([,])dnl AC_SUBST([GMSGFMT_015]) dnl Search for GNU xgettext 0.12 or newer in the PATH. dnl The first test excludes Solaris xgettext and early GNU xgettext versions. dnl The second test excludes FreeBSD xgettext. AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], :) dnl Remove leftover from FreeBSD xgettext call. rm -f messages.po dnl Test whether it is GNU xgettext >= 0.15. changequote(,)dnl case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; *) XGETTEXT_015=$XGETTEXT ;; esac changequote([,])dnl AC_SUBST([XGETTEXT_015]) dnl Search for GNU msgmerge 0.11 or newer in the PATH. AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) dnl Installation directories. dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we dnl have to define it here, so that it can be used in po/Makefile. test -n "$localedir" || localedir='${datadir}/locale' AC_SUBST([localedir]) AC_CONFIG_COMMANDS([po-directories], [[ for ac_file in $CONFIG_FILES; do # Support "outfile[:infile[:infile...]]" case "$ac_file" in *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; esac # PO directories have a Makefile.in generated from Makefile.in.in. case "$ac_file" in */Makefile.in) # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Treat a directory as a PO directory if and only if it has a # POTFILES.in file. This allows packages to have multiple PO # directories under different names or in different locations. if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then rm -f "$ac_dir/POTFILES" test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" POMAKEFILEDEPS="POTFILES.in" # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend # on $ac_dir but don't depend on user-specified configuration # parameters. if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then # The LINGUAS file contains the set of available languages. if test -n "$OBSOLETE_ALL_LINGUAS"; then test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" fi ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$ALL_LINGUAS_' POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" else # The set of available languages was given in configure.in. # Hide the ALL_LINGUAS assigment from automake < 1.5. eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' fi # Compute POFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) # Compute UPDATEPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) # Compute DUMMYPOFILES # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) # Compute GMOFILES # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) case "$ac_given_srcdir" in .) srcdirpre= ;; *) srcdirpre='$(srcdir)/' ;; esac POFILES= UPDATEPOFILES= DUMMYPOFILES= GMOFILES= for lang in $ALL_LINGUAS; do POFILES="$POFILES $srcdirpre$lang.po" UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" DUMMYPOFILES="$DUMMYPOFILES $lang.nop" GMOFILES="$GMOFILES $srcdirpre$lang.gmo" done # CATALOGS depends on both $ac_dir and the user's LINGUAS # environment variable. INST_LINGUAS= if test -n "$ALL_LINGUAS"; then for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "$LINGUAS"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then INST_LINGUAS="$INST_LINGUAS $presentlang" fi done fi CATALOGS= if test -n "$INST_LINGUAS"; then for lang in $INST_LINGUAS; do CATALOGS="$CATALOGS $lang.gmo" done fi test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do if test -f "$f"; then case "$f" in *.orig | *.bak | *~) ;; *) cat "$f" >> "$ac_dir/Makefile" ;; esac fi done fi ;; esac done]], [# Capture the value of obsolete ALL_LINGUAS because we need it to compute # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it # from automake < 1.5. eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' # Capture the value of LINGUAS because we need it to compute CATALOGS. LINGUAS="${LINGUAS-%UNSET%}" ]) ]) dnl Postprocesses a Makefile in a directory containing PO files. AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], [ # When this code is run, in config.status, two variables have already been # set: # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, # - LINGUAS is the value of the environment variable LINGUAS at configure # time. changequote(,)dnl # Adjust a relative srcdir. ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` # In autoconf-2.13 it is called $ac_given_srcdir. # In autoconf-2.50 it is called $srcdir. test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" case "$ac_given_srcdir" in .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; /*) top_srcdir="$ac_given_srcdir" ;; *) top_srcdir="$ac_dots$ac_given_srcdir" ;; esac # Find a way to echo strings without interpreting backslash. if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then gt_echo='echo' else if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then gt_echo='printf %s\n' else echo_func () { cat < "$ac_file.tmp" if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` cat >> "$ac_file.tmp" < /dev/null; then # Add dependencies that cannot be formulated as a simple suffix rule. for lang in $ALL_LINGUAS; do frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` cat >> "$ac_file.tmp" <> "$ac_file.tmp" < #include /* The string "%2$d %1$d", with dollar characters protected from the shell's dollar expansion (possibly an autoconf bug). */ static char format[] = { '%', '2', '$', 'd', ' ', '%', '1', '$', 'd', '\0' }; static char buf[100]; int main () { sprintf (buf, format, 33, 55); return (strcmp (buf, "55 33") != 0); }], gt_cv_func_printf_posix=yes, gt_cv_func_printf_posix=no, [ AC_EGREP_CPP(notposix, [ #if defined __NetBSD__ || defined _MSC_VER || defined __MINGW32__ || defined __CYGWIN__ notposix #endif ], gt_cv_func_printf_posix="guessing no", gt_cv_func_printf_posix="guessing yes") ]) ]) case $gt_cv_func_printf_posix in *yes) AC_DEFINE(HAVE_POSIX_PRINTF, 1, [Define if your printf() function supports format strings with positions.]) ;; esac ]) adonthell-0.3.5/m4/progtest.m40000644000076500000240000000555010704216510013042 00000000000000# progtest.m4 serial 4 (gettext-0.14.2) dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1996. AC_PREREQ(2.50) # Search path for a program which passes the given test. dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) AC_DEFUN([AM_PATH_PROG_WITH_TEST], [ # Prepare PATH_SEPARATOR. # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Find out how to test for executable files. Don't use a zero-byte file, # as systems may use methods other than mode bits to determine executability. cat >conf$$.file <<_ASEOF #! /bin/sh exit 0 _ASEOF chmod +x conf$$.file if test -x conf$$.file >/dev/null 2>&1; then ac_executable_p="test -x" else ac_executable_p="test -f" fi rm -f conf$$.file # Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in [[\\/]]* | ?:[[\\/]]*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in ifelse([$5], , $PATH, [$5]); do IFS="$ac_save_IFS" test -z "$ac_dir" && ac_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" break 2 fi fi done done IFS="$ac_save_IFS" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) adonthell-0.3.5/m4/signed.m40000644000076500000240000000140110011702542012427 00000000000000# signed.m4 serial 1 (gettext-0.10.40) dnl Copyright (C) 2001-2002 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. AC_DEFUN([bh_C_SIGNED], [ AC_CACHE_CHECK([for signed], bh_cv_c_signed, [AC_TRY_COMPILE(, [signed char x;], bh_cv_c_signed=yes, bh_cv_c_signed=no)]) if test $bh_cv_c_signed = no; then AC_DEFINE(signed, , [Define to empty if the C compiler doesn't support this keyword.]) fi ]) adonthell-0.3.5/m4/size_max.m40000644000076500000240000000407210011702542013004 00000000000000# size_max.m4 serial 2 dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. AC_DEFUN([gl_SIZE_MAX], [ AC_CHECK_HEADERS(stdint.h) dnl First test whether the system already has SIZE_MAX. AC_MSG_CHECKING([for SIZE_MAX]) result= AC_EGREP_CPP([Found it], [ #include #if HAVE_STDINT_H #include #endif #ifdef SIZE_MAX Found it #endif ], result=yes) if test -z "$result"; then dnl Define it ourselves. Here we assume that the type 'size_t' is not wider dnl than the type 'unsigned long'. dnl The _AC_COMPUTE_INT macro works up to LONG_MAX, since it uses 'expr', dnl which is guaranteed to work from LONG_MIN to LONG_MAX. _AC_COMPUTE_INT([~(size_t)0 / 10], res_hi, [#include ], result=?) _AC_COMPUTE_INT([~(size_t)0 % 10], res_lo, [#include ], result=?) _AC_COMPUTE_INT([sizeof (size_t) <= sizeof (unsigned int)], fits_in_uint, [#include ], result=?) if test "$fits_in_uint" = 1; then dnl Even though SIZE_MAX fits in an unsigned int, it must be of type dnl 'unsigned long' if the type 'size_t' is the same as 'unsigned long'. AC_TRY_COMPILE([#include extern size_t foo; extern unsigned long foo; ], [], fits_in_uint=0) fi if test -z "$result"; then if test "$fits_in_uint" = 1; then result="$res_hi$res_lo"U else result="$res_hi$res_lo"UL fi else dnl Shouldn't happen, but who knows... result='~(size_t)0' fi fi AC_MSG_RESULT([$result]) if test "$result" != yes; then AC_DEFINE_UNQUOTED([SIZE_MAX], [$result], [Define as the maximum value of type 'size_t', if the system doesn't define it.]) fi ]) adonthell-0.3.5/m4/stdint_h.m40000644000076500000240000000205310011702542012776 00000000000000# stdint_h.m4 serial 3 (gettext-0.12) dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_STDINT_H_WITH_UINTMAX if exists, # doesn't clash with , and declares uintmax_t. AC_DEFUN([jm_AC_HEADER_STDINT_H], [ AC_CACHE_CHECK([for stdint.h], jm_ac_cv_header_stdint_h, [AC_TRY_COMPILE( [#include #include ], [uintmax_t i = (uintmax_t) -1;], jm_ac_cv_header_stdint_h=yes, jm_ac_cv_header_stdint_h=no)]) if test $jm_ac_cv_header_stdint_h = yes; then AC_DEFINE_UNQUOTED(HAVE_STDINT_H_WITH_UINTMAX, 1, [Define if exists, doesn't clash with , and declares uintmax_t. ]) fi ]) adonthell-0.3.5/m4/uintmax_t.m40000644000076500000240000000235010011702542013172 00000000000000# uintmax_t.m4 serial 7 (gettext-0.12) dnl Copyright (C) 1997-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. AC_PREREQ(2.13) # Define uintmax_t to 'unsigned long' or 'unsigned long long' # if it is not already defined in or . AC_DEFUN([jm_AC_TYPE_UINTMAX_T], [ AC_REQUIRE([jm_AC_HEADER_INTTYPES_H]) AC_REQUIRE([jm_AC_HEADER_STDINT_H]) if test $jm_ac_cv_header_inttypes_h = no && test $jm_ac_cv_header_stdint_h = no; then AC_REQUIRE([jm_AC_TYPE_UNSIGNED_LONG_LONG]) test $ac_cv_type_unsigned_long_long = yes \ && ac_type='unsigned long long' \ || ac_type='unsigned long' AC_DEFINE_UNQUOTED(uintmax_t, $ac_type, [Define to unsigned long or unsigned long long if and don't define.]) else AC_DEFINE(HAVE_UINTMAX_T, 1, [Define if you have the 'uintmax_t' type in or .]) fi ]) adonthell-0.3.5/m4/ulonglong.m40000644000076500000240000000204210011702542013164 00000000000000# ulonglong.m4 serial 3 dnl Copyright (C) 1999-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Paul Eggert. # Define HAVE_UNSIGNED_LONG_LONG if 'unsigned long long' works. AC_DEFUN([jm_AC_TYPE_UNSIGNED_LONG_LONG], [ AC_CACHE_CHECK([for unsigned long long], ac_cv_type_unsigned_long_long, [AC_TRY_LINK([unsigned long long ull = 1ULL; int i = 63;], [unsigned long long ullmax = (unsigned long long) -1; return ull << i | ull >> i | ullmax / ull | ullmax % ull;], ac_cv_type_unsigned_long_long=yes, ac_cv_type_unsigned_long_long=no)]) if test $ac_cv_type_unsigned_long_long = yes; then AC_DEFINE(HAVE_UNSIGNED_LONG_LONG, 1, [Define if you have the 'unsigned long long' type.]) fi ]) adonthell-0.3.5/m4/wchar_t.m40000644000076500000240000000155310011702542012615 00000000000000# wchar_t.m4 serial 1 (gettext-0.12) dnl Copyright (C) 2002-2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. dnl Test whether has the 'wchar_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WCHAR_T], [ AC_CACHE_CHECK([for wchar_t], gt_cv_c_wchar_t, [AC_TRY_COMPILE([#include wchar_t foo = (wchar_t)'\0';], , gt_cv_c_wchar_t=yes, gt_cv_c_wchar_t=no)]) if test $gt_cv_c_wchar_t = yes; then AC_DEFINE(HAVE_WCHAR_T, 1, [Define if you have the 'wchar_t' type.]) fi ]) adonthell-0.3.5/m4/wint_t.m40000644000076500000240000000153110011702542012466 00000000000000# wint_t.m4 serial 1 (gettext-0.12) dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. dnl From Bruno Haible. dnl Test whether has the 'wint_t' type. dnl Prerequisite: AC_PROG_CC AC_DEFUN([gt_TYPE_WINT_T], [ AC_CACHE_CHECK([for wint_t], gt_cv_c_wint_t, [AC_TRY_COMPILE([#include wint_t foo = (wchar_t)'\0';], , gt_cv_c_wint_t=yes, gt_cv_c_wint_t=no)]) if test $gt_cv_c_wint_t = yes; then AC_DEFINE(HAVE_WINT_T, 1, [Define if you have the 'wint_t' type.]) fi ]) adonthell-0.3.5/m4/xsize.m40000644000076500000240000000103110011702542012317 00000000000000# xsize.m4 serial 2 dnl Copyright (C) 2003 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General dnl Public License, this file may be distributed as part of a program dnl that contains a configuration script generated by Autoconf, under dnl the same distribution terms as the rest of that program. AC_DEFUN([gl_XSIZE], [ dnl Prerequisites of lib/xsize.h. AC_REQUIRE([gl_SIZE_MAX]) AC_CHECK_HEADERS(stdint.h) ]) adonthell-0.3.5/Makefile.am0000644000076500000240000000100110011702542012424 00000000000000SUBDIRS = m4 po src doc EXTRA_DIST = config.rpath ABOUT-NLS NEWBIE autogen.sh README.BeOS \ README.FreeBSD autogen.sh debian/README.debian debian/adonthell.6 \ debian/changelog debian/control debian/copyright debian/dirs \ debian/rules adonthell.spec.in adonthell.spec README.MacOSX \ FULLSCREEN.howto debian/compat debian/docs README.Solaris install-data-local: if test ! -d $(DESTDIR)$(gamedatadir)/games ; then \ mkdir $(DESTDIR)$(gamedatadir)/games; \ fi ACLOCAL_AMFLAGS = -I m4 adonthell-0.3.5/Makefile.in0000644000076500000240000005147611017574472012502 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/adonthell.spec.in \ $(srcdir)/config.h.in $(top_srcdir)/configure ABOUT-NLS \ AUTHORS COPYING ChangeLog INSTALL NEWS config.guess \ config.rpath config.sub depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = adonthell.spec SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = m4 po src doc EXTRA_DIST = config.rpath ABOUT-NLS NEWBIE autogen.sh README.BeOS \ README.FreeBSD autogen.sh debian/README.debian debian/adonthell.6 \ debian/changelog debian/control debian/copyright debian/dirs \ debian/rules adonthell.spec.in adonthell.spec README.MacOSX \ FULLSCREEN.howto debian/compat debian/docs README.Solaris ACLOCAL_AMFLAGS = -I m4 all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 adonthell.spec: $(top_builddir)/config.status $(srcdir)/adonthell.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ 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) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ 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) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-data-local install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-data-local install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-recursive uninstall uninstall-am install-data-local: if test ! -d $(DESTDIR)$(gamedatadir)/games ; then \ mkdir $(DESTDIR)$(gamedatadir)/games; \ 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: adonthell-0.3.5/missing0000644000076500000240000002403607531222730012012 00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. # Copyright (C) 1996, 1997, 1999, 2000, 2002 Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 1996. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA # 02111-1307, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: # In the cases where this matters, `missing' is being run in the # srcdir already. if test -f configure.ac; then configure_ac=configure.ac else configure_ac=configure.in fi case "$1" in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case "$1" in -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an error status if there is no known handling for PROGRAM. Options: -h, --help display this help and exit -v, --version output version information and exit --run try to run the given command, and emulate it if it fails Supported PROGRAM values: aclocal touch file \`aclocal.m4' autoconf touch file \`configure' autoheader touch file \`config.h.in' automake touch all \`Makefile.in' files bison create \`y.tab.[ch]', if possible, from existing .[ch] flex create \`lex.yy.c', if possible, from existing .c help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch]" ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing 0.4 - GNU automake" ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; aclocal*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi 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) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi 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) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi 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*) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi 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 ;; autom4te) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi 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. You can get \`$1Help2man' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'` test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo "#! /bin/sh" echo "# Created by GNU Automake missing as a replacement of" echo "# $ $@" echo "exit 0" chmod +x $file exit 1 fi ;; bison|yacc) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.y' file. You may need the \`Bison' package in order for those modifications to take effect. You can get \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" y.tab.h fi ;; esac fi if [ ! -f y.tab.h ]; then echo >y.tab.h fi if [ ! -f y.tab.c ]; then echo 'main() { return 0; }' >y.tab.c fi ;; lex|flex) echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.l' file. You may need the \`Flex' package in order for those modifications to take effect. You can get \`Flex' from any GNU archive site." rm -f lex.yy.c if [ $# -ne 1 ]; then eval LASTARG="\${$#}" case "$LASTARG" in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if [ -f "$SRCFILE" ]; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if [ ! -f lex.yy.c ]; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a dependency of a manual page. You may need the \`Help2man' package in order for those modifications to take effect. You can get \`Help2man' from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'` fi if [ -f "$file" ]; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit 1 fi ;; makeinfo) if test -z "$run" && (makeinfo --version) > /dev/null 2>&1; then # We have makeinfo, but it failed. exit 1 fi echo 1>&2 "\ WARNING: \`$1' is missing on your system. You should only need it if you modified a \`.texi' or \`.texinfo' file, or any other file indirectly affecting the aspect of the manual. The spurious call might also be the consequence of using a buggy \`make' (AIX, DU, IRIX). You might want to install the \`Texinfo' package or the \`GNU make' package. Grab either from any GNU archive site." file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'` if test -z "$file"; then file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file` fi touch $file ;; tar) shift if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 fi # We have already tried tar in the generic part. # Look for gnutar/gtar before invocation to avoid ugly error # messages. if (gnutar --version > /dev/null 2>&1); then gnutar "$@" && exit 0 fi if (gtar --version > /dev/null 2>&1); then gtar "$@" && exit 0 fi firstarg="$1" if shift; then case "$firstarg" in *o*) firstarg=`echo "$firstarg" | sed s/o//` tar "$firstarg" "$@" && exit 0 ;; esac case "$firstarg" in *h*) firstarg=`echo "$firstarg" | sed s/h//` tar "$firstarg" "$@" && exit 0 ;; esac fi echo 1>&2 "\ WARNING: I can't seem to be able to run \`tar' with the given arguments. You may want to install GNU tar or Free paxutils, or check the command line arguments." exit 1 ;; *) echo 1>&2 "\ WARNING: \`$1' is needed, and you do not seem to have it handy on your system. You might have modified some files without having the proper tools for further handling them. Check the \`README' file, it often tells you about the needed prerequirements for installing this package. You may also peek at any GNU archive site, in case some other package would contain this missing \`$1' program." exit 1 ;; esac exit 0 adonthell-0.3.5/NEWBIE0000644000076500000240000003253711017574452011324 00000000000000 The Beginner's Guide to Adonthell Written by Andrew Henderson 19 February 2000 ******************* * 0.0 - CHANGELOG * ******************* * 30 May 2008 - Kai Sterker Updated for v0.3.5 * 24 October 2004 - Kai Sterker Updated for v0.3.4 * 17 September 2002 - Kai Sterker Updated for v0.3.3 * 08 February 2002 - Kai Sterker Added Building RPM's Howto * 12 January 2002 - Kai Sterker Added Fullscreen Howto **************************** * 1.0 - GUIDE INTRODUCTION * **************************** Welcome to the world of Adonthell! Most software packages for Linux tend to throw a lot at an unexperienced user when it comes to installation. We know that not everyone is a Linux or Unix guru, not everyone knows how to use gzip and tar, and that asking for step-by- step installation instructions is not too much to ask for. So, we've created this guide to get you rolling with as little hassle as possible. We've made this software distribution as easy to install as we could, but we can't automate everything for you. You'll have to build and install a few libraries that Adonthell relies on, then build the Adonthell game itself. If you feel that you don't need to have anyone hold your hand during the installation process, just read the INSTALL file in this directory for the standard install information. If you think you need a little help or are having problems, then read on. We're making a few assumptions. Take a quick look at them and see if you match: - You have a 2.x Linux kernel installed. If you aren't, ask the Linux guru who installed the 1.x kernel to upgrade, since you probably won't be able to build the Adonthell software on it. - You have access to a superuser account (such as root). You'll need the superuser permissions in order to install the libraries needed by Adonthell. If you don't have these permissions, bribe your system administrator to install them for you. Twinkies work well as bribes. So do Doritos. - You are running X-windows with a 16-bit color depth. If you aren't, Adonthell is going to run slow as it compensates for the difference in color depth. We can compensate for 8, 24, or 32 bit color depths only. If you can only run in 16 color (4-bit) mode, you're out of luck. Sorry again. - You have C/C++ development tools (gcc, ld, etc.) installed on your system, as well as the basic utility programs 'tar' and 'gzip'. Practically every Linux installation will install these programs by default. If you don't have these tools, you've got bigger problems than just trying to get Adonthell to run. - You have a sound card configured and running under Linux. If you aren't, you'll miss out on the music and sound effects, but will still be able to play the game. As a bonus, though, there is one less library you'll have to download and install. ****************************************** * 2.0 - OVERVIEW OF THE BEGINNER'S GUIDE * ****************************************** Here is a quick outline of the steps we are going to follow to install Adonthell: * Installing the required libraries - Downloading the libraries - Installing the libraries - Configuring your system to use the libraries * Building the Adonthell source code - Downloading the Adonthell source and data package - Building the source package - Installing Adonthell * Running Adonthell * Questions/Help * Fullscreen Howto * Building RPM's Howto ******************************************* * 3.0 - INSTALLING THE REQUIRED LIBRARIES * ******************************************* There are four libraries that Adonthell depends on. Two of these libraries are required, one is optional. The three REQUIRED libraries (and where they can be downloaded from) are: 1. The Simple Directmedia Layer (SDL) library, version 1.2 or later. http://www.libsdl.org/ 2. Python, version 2.0 or later. http://www.python.org/ 3. Freetype, version 2.0 or later. http://www.freetype.org/ 4. SDL_ttf, version 2.0 or later. http://www.libsdl.org/projects/SDL_ttf Sound support under Adonthell is optional (but highly recommended!!). We suggest building Adonthell with sound support if you have a sound card configured to run under Linux. To do that, you'll need to build and install another library: 5. Ogg Vorbis, version 1.0rc3 or later http://www.xiph.org/ogg/vorbis/download/ 6. SDL Mixer, version 1.2 or later http://www.libsdl.org/projects/SDL_mixer ***************************** * 3.1 - INSTALLING BINARIES * ***************************** All of these libraries might already be part of your distribution, or at least available as binary package on the respective website. The package names might differ slightly on your distribution, but the following list should help you to find all required packages: For SDL you will need SDL-1.2 SDL-devel-1.2 libSDL_mixer-1.2 libSDL_mixer-devel-1.2 libSDL_ttf-2.0 libSDL_ttf-devel-2.0 for python python2-2.2 python2-devel-2.2 for freetype freetype2 freetype2-devel and for Ogg Vorbis libogg-1.0 libogg-devel-1.0 libvorbis-1.0 libvorbis-devel-1.0 ******************************** * 3.2 - INSTALLING FROM SOURCE * ******************************** The following steps show how to install the Python, SDL, Freetype and Ogg Vorbis libraries from source code. You may install Python, the SDL library, Freetype and Ogg Vorbis in any order. Ogg Vorbis itself consists of two libraries: libogg and libvorbis that have to be installed in this order. Step #1: Download the source code of each library to a convient directory. We suggest downloading to /usr/local/src (if you want to keep the library source around after you've built it) or /tmp (if you don't). Step #2: Decompress the tar.gz file. Do this by typing: tar -xzf SDL-x.x.x.tar.gz (for SDL) or tar -xzf Python-x.x.tar.gz (for Python) or tar -xzf libogg-x.x.x.tar.gz (for libogg) etc. ... where the x's are the version numbers of the file you downloaded. A new directory will be created in the current directory with the same name as the tar.gz file (minus the .tar.gz extension). Step #3: Build and install the library. Do this by changing into the newly created directory and typing: ./configure make make install For 'make install' you have to be logged in as superuser (i.e. root). Step #4: While logged in to a superuser account (i.e. root), configure the system linker configuration files to find the newly installed library. Do this by typing: ldconfig Repeat these 4 steps for each library you want to install. If all went well, you now at least have Python, SDL, and Ogg Vorbis installed and configured in your system. ****************************************** * 4.0 BUILDING THE ADONTHELL SOURCE CODE * ****************************************** Now that the required libraries are built and installed on your system, you need to build the Adonthell program itself. The latest version of Adonthell is 0.3.5. You can download it from the Adonthell website: http://adonthell.linuxgames.com/download/. The steps for installing Adonthell are similar to the steps for installing the libraries above: Step #1: Download the Adonthell source and data tar.gz files to a convenient directory. Step #2: Decompress the tar.gz files. Do this by typing: tar -xzf adonthell-0.3.x.tar.gz tar -xzf wastesedge-0.3.x.tar.gz Two new directories will be created in the current directory, named "adonthell-0.3.x" and "wastesedge-0.3.x". Complete step #3 and #4 for both directories. Step #3: Build Adonthell. Do this by changing into the newly created directory and typing: ./configure make A successful configure will produce an output like this: Adonthell v0.3.5 SDL ....................... : 1.2.7 Python .................... : 2.3 Python debugging .......... : no Ogg music ................. : enabled Building editors .......... : no Building API doc .......... : no Data directory ............ : /usr/local/share/adonthell If everything configured and built with no errors (which it should, if the SDL libraries were correctly installed), Adonthell will now be compiled and ready for use. If you installed Ogg Vorbis, the configure script will detect it and configure the program to play music automatically. Step #4: Install Adonthell. Finally, you can log in as root and type make install to copy the Adonthell binary to /usr/local/bin and the game data to /usr/local/share/adonthell. ************************* * 5.0 RUNNING ADONTHELL * ************************* After building the Adonthell source, an executable named "adonthell" will be created and installed in /usr/local/bin. After installing the data package, a script called 'adonthell-wastesedge' will be placed there as well. You can launch Adonthell either by typing adonthell-0.3 wastesedge or by running the script: adonthell-wastesedge If the game engine and data have been correctly installed, you'll find yourself in the main menu. Here you can begin a new or continue an older game. The arrow keys let you move the cursor, and space selects an option. ********************** * 6.0 Questions/Help * ********************** Q: Why do I get background music, but never any sound effects? A: Full sound effect support is in the code, and some sound effects are even loaded into memory when the game is executed. Currently, no events trigger sound effects, so you won't hear any (excepted those related to GUI events). Q: The configure script claims it cannot find SDL (or Ogg Vorbis or GTK+) on my system, although I know it is there. A: If you have installed precompiled packages (e.g. RPM'S) of those liraries, you most likely have to install the corresponding -devel packages (e.g. SDL-devel.rpm). They should be available where you obtained the non-devel/runtime packages. On some systems, it might be necessary to recreate the configure script to work correctly. Do this by typing './autogen.sh' inside the adonthell-0.3.x directory. Q: While compiling the Adonthell source code I get an error similar to the following: adonthell: error in loading shared libraries: libSDL-1.2.so.0: cannot open shared object file: No such file or directory A: You either didn't install the library that the error message is complaining about or you forgot to type the command 'ldconfig' as a superuser account (i.e. root) after you installed the library. Q: When I run Adonthell in fullscreen mode I get a tiny window with a large black border around. A: See the FULLSCREEN.howto file for help. Q: I have a problem that isn't listed above. Where can I go for help? How do I contact you? A: Adonthell has three public mailing lists to provide support, take suggestions, and interact with the users of the Adonthell software. Any requests for help can be directed to the tech support manager. To report bugs, please write to the Adonthell developer mailing list. There is usually a fairly short response time for any request of help. Tech support manager: http://savannah.gnu.org/support/?group_id=702 The mailing list addresses are: General topic list: adonthell-general@nongnu.org Developer list: adonthell-devel@nongnu.org Artwork list: adonthell-artwork@nongnu.org You can subscribe to these mailing lists by going to the URL: http://adonthell.linuxgames.com/contact/mailinglist.shtml If you'd rather e-mail an Adonthell team member directly, you can get a list of contacts for the team from the Adonthell web page at: http://adonthell.linuxgames.com/development/team.shtml ************************ * 7.0 Fullscreen Howto * ************************ This section has been moved to a file called FULLSCREEN.howto. **************************** * 8.0 Building RPM's Howto * **************************** Normally, you don't have to do this (as you can download premade binaries from our website), but if you want to make your own package for some reason or another, here is the procedure. Adonthell is already prepared for building RPM packages. The only requirements you have to meet is the ability to compile Adonthell from the sources; the larger part of this Guide deals with that. Once you are able to compile Adonthell, there are three more steps to complete. Step #1: Copy adonthell-0.3.x.tar.gz to /usr/src/packages/SOURCES/ If you do not have the source archive, because you obtained the sources through CVS, you can build it by typing make dist in the adonthell-0.3.x/ directory. Step #2: In the adonthell-0.3.x/ directory, run configure to create the adonthell.spec file. Step #3: Still in the adonthell-0.3.x/ directory, run rpm -bb adonthell.spec This command will compile Adonthell from the sources you placed in /usr/src/packages/SOURCES/ and then build a RPM package from the executables resulting from that compilation. They will end up in /usr/src/packages/RPMS/i386/. Voila, if all went well you'll now have a RPM package you can install on your box in the usual way, or distribute among your friends. ********************************************************************* * That's it! Enjoy the game engine and let us know what you think!! * ********************************************************************* - The Adonthell Team adonthell-0.3.5/NEWS0000644000076500000240000000154311017574452011120 00000000000000version 0.3.5 - Bugfix with wrapping UTF-8 encoded text - Use external SDL_Mixer and SDL_ttf libraries - Support for 64bit GNU/Linux - Support gcc 4.x version 0.3.4 - Removed obsolete tools - True Type Font support - UTF-8 support version 0.3.3 - Huge speed improvment with Python schedules - Double screen mode - Many bugfixes - NLS support - Support for many new architectures version 0.3 - Added Python scripting - Added Dialogue system - Fullscreen support - Now using Ogg Vorbis for music playback version 0.2.1 - Switched from GGI to SDL - Added sound system - Basic Window/Text system - Basic FMV system version 0.1.a - First release _________________________________________________________________________ For the latest news on the functionality of the Adonthell Project, please visit the project's website: http://adonthell.linuxgames.com/news/ adonthell-0.3.5/po/0000777000076500000240000000000011017604070011106 500000000000000adonthell-0.3.5/po/boldquot.sed0000644000076500000240000000033110704216510013345 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g s/“/“/g s/â€/â€/g s/‘/‘/g s/’/’/g adonthell-0.3.5/po/ChangeLog0000644000076500000240000000102610704216510012573 000000000000002007-10-13 gettextize * Makefile.in.in: Upgrade to gettext-0.16.1. 2004-10-24 gettextize * Makefile.in.in: New file, from gettext-0.14. * Rules-quot: New file, from gettext-0.14. * boldquot.sed: New file, from gettext-0.14. * en@boldquot.header: New file, from gettext-0.14. * en@quot.header: New file, from gettext-0.14. * insert-header.sin: New file, from gettext-0.14. * quot.sed: New file, from gettext-0.14. * remove-potcdate.sin: New file, from gettext-0.14. adonthell-0.3.5/po/en@boldquot.header0000644000076500000240000000247110704216510014454 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # # This catalog furthermore displays the text between the quotation marks in # bold face, assuming the VT100/XTerm escape sequences. # adonthell-0.3.5/po/en@quot.header0000644000076500000240000000226310704216510013612 00000000000000# All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation # characters, only substitutes like grave accent (0x60), apostrophe (0x27) # and double quote (0x22). These substitutes look strange; see # http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html # # This catalog translates grave accent (0x60) and apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019). # It also translates pairs of apostrophe (0x27) to # left single quotation mark (U+2018) and right single quotation mark (U+2019) # and pairs of quotation mark (0x22) to # left double quotation mark (U+201C) and right double quotation mark (U+201D). # # When output to an UTF-8 terminal, the quotation characters appear perfectly. # When output to an ISO-8859-1 terminal, the single quotation marks are # transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to # grave/acute accent (by libiconv), and the double quotation marks are # transliterated to 0x22. # When output to an ASCII terminal, the single quotation marks are # transliterated to apostrophes, and the double quotation marks are # transliterated to 0x22. # adonthell-0.3.5/po/insert-header.sin0000644000076500000240000000124010704216510014264 00000000000000# Sed script that inserts the file called HEADER before the header entry. # # At each occurrence of a line starting with "msgid ", we execute the following # commands. At the first occurrence, insert the file. At the following # occurrences, do nothing. The distinction between the first and the following # occurrences is achieved by looking at the hold space. /^msgid /{ x # Test if the hold space is empty. s/m/m/ ta # Yes it was empty. First occurrence. Read the file. r HEADER # Output the file's contents by reading the next line. But don't lose the # current line while doing this. g N bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } adonthell-0.3.5/po/LINGUAS0000644000076500000240000000000107454013240012041 00000000000000 adonthell-0.3.5/po/Makefile.in.in0000644000076500000240000003322110704216510013475 00000000000000# Makefile for PO directory in any package using GNU gettext. # Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU General Public # License but which still want to provide support for the GNU gettext # functionality. # Please note that the actual code of GNU gettext is covered by the GNU # General Public License and is *not* in the public domain. # # Origin: gettext-0.16 PACKAGE = @PACKAGE@ VERSION = @VERSION@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ SHELL = /bin/sh @SET_MAKE@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datarootdir = @datarootdir@ datadir = @datadir@ localedir = @localedir@ gettextsrcdir = $(datadir)/gettext/po INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ # We use $(mkdir_p). # In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as # "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, # @install_sh@ does not start with $(SHELL), so we add it. # In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined # either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake # versions, $(mkinstalldirs) and $(install_sh) are unused. mkinstalldirs = $(SHELL) @install_sh@ -d install_sh = $(SHELL) @install_sh@ MKDIR_P = @MKDIR_P@ mkdir_p = @mkdir_p@ GMSGFMT_ = @GMSGFMT@ GMSGFMT_no = @GMSGFMT@ GMSGFMT_yes = @GMSGFMT_015@ GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) MSGFMT_ = @MSGFMT@ MSGFMT_no = @MSGFMT@ MSGFMT_yes = @MSGFMT_015@ MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) XGETTEXT_ = @XGETTEXT@ XGETTEXT_no = @XGETTEXT@ XGETTEXT_yes = @XGETTEXT_015@ XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) MSGMERGE = msgmerge MSGMERGE_UPDATE = @MSGMERGE@ --update MSGINIT = msginit MSGCONV = msgconv MSGFILTER = msgfilter POFILES = @POFILES@ GMOFILES = @GMOFILES@ UPDATEPOFILES = @UPDATEPOFILES@ DUMMYPOFILES = @DUMMYPOFILES@ DISTFILES.common = Makefile.in.in remove-potcdate.sin \ $(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ $(POFILES) $(GMOFILES) \ $(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) POTFILES = \ CATALOGS = @CATALOGS@ # Makevars gets inserted here. (Don't remove this line!) .SUFFIXES: .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update .po.mo: @echo "$(MSGFMT) -c -o $@ $<"; \ $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ .po.gmo: @lang=`echo $* | sed -e 's,.*/,,'`; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo .sin.sed: sed -e '/^#/d' $< > t-$@ mv t-$@ $@ all: all-@USE_NLS@ all-yes: stamp-po all-no: # $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no # internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because # we don't want to bother translators with empty POT files). We assume that # LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. # In this case, stamp-po is a nop (i.e. a phony target). # stamp-po is a timestamp denoting the last time at which the CATALOGS have # been loosely updated. Its purpose is that when a developer or translator # checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, # "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent # invocations of "make" will do nothing. This timestamp would not be necessary # if updating the $(CATALOGS) would always touch them; however, the rule for # $(POFILES) has been designed to not touch files that don't need to be # changed. stamp-po: $(srcdir)/$(DOMAIN).pot test ! -f $(srcdir)/$(DOMAIN).pot || \ test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) @test ! -f $(srcdir)/$(DOMAIN).pot || { \ echo "touch stamp-po" && \ echo timestamp > stamp-poT && \ mv stamp-poT stamp-po; \ } # Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', # otherwise packages like GCC can not be built if only parts of the source # have been downloaded. # This target rebuilds $(DOMAIN).pot; it is an expensive operation. # Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. $(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ else \ msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ fi; \ $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) \ --files-from=$(srcdir)/POTFILES.in \ --copyright-holder='$(COPYRIGHT_HOLDER)' \ --msgid-bugs-address="$$msgid_bugs_address" test ! -f $(DOMAIN).po || { \ if test -f $(srcdir)/$(DOMAIN).pot; then \ sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ else \ rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ else \ mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ fi; \ } # This rule has no dependencies: we don't need to update $(DOMAIN).pot at # every "make" invocation, only create it when it is missing. # Only "make $(DOMAIN).pot-update" or "make dist" will force an update. $(srcdir)/$(DOMAIN).pot: $(MAKE) $(DOMAIN).pot-update # This target rebuilds a PO file if $(DOMAIN).pot has changed. # Note that a PO file is not touched if it doesn't need to be changed. $(POFILES): $(srcdir)/$(DOMAIN).pot @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ if test -f "$(srcdir)/$${lang}.po"; then \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \ cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \ else \ $(MAKE) $${lang}.po-create; \ fi install: install-exec install-data install-exec: install-data: install-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ for file in $(DISTFILES.common) Makevars.template; do \ $(INSTALL_DATA) $(srcdir)/$$file \ $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ for file in Makevars; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi install-data-no: all install-data-yes: all $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ fi; \ done; \ done install-strip: install installdirs: installdirs-exec installdirs-data installdirs-exec: installdirs-data: installdirs-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ else \ : ; \ fi installdirs-data-no: installdirs-data-yes: $(mkdir_p) $(DESTDIR)$(datadir) @catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ dir=$(localedir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $(DESTDIR)$$dir; \ for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ if test -n "$$lc"; then \ if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ for file in *; do \ if test -f $$file; then \ ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ fi; \ done); \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ else \ if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ :; \ else \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ fi; \ fi; \ fi; \ done; \ done # Define this as empty until I found a useful application. installcheck: uninstall: uninstall-exec uninstall-data uninstall-exec: uninstall-data: uninstall-data-@USE_NLS@ if test "$(PACKAGE)" = "gettext-tools"; then \ for file in $(DISTFILES.common) Makevars.template; do \ rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ done; \ else \ : ; \ fi uninstall-data-no: uninstall-data-yes: catalogs='$(CATALOGS)'; \ for cat in $$catalogs; do \ cat=`basename $$cat`; \ lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ done; \ done check: all info dvi ps pdf html tags TAGS ctags CTAGS ID: mostlyclean: rm -f remove-potcdate.sed rm -f stamp-poT rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po rm -fr *.o clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES *.mo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f stamp-po $(GMOFILES) distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(MAKE) update-po @$(MAKE) dist2 # This is a separate target because 'update-po' must be executed before. dist2: stamp-po $(DISTFILES) dists="$(DISTFILES)"; \ if test "$(PACKAGE)" = "gettext-tools"; then \ dists="$$dists Makevars.template"; \ fi; \ if test -f $(srcdir)/$(DOMAIN).pot; then \ dists="$$dists $(DOMAIN).pot stamp-po"; \ fi; \ if test -f $(srcdir)/ChangeLog; then \ dists="$$dists ChangeLog"; \ fi; \ for i in 0 1 2 3 4 5 6 7 8 9; do \ if test -f $(srcdir)/ChangeLog.$$i; then \ dists="$$dists ChangeLog.$$i"; \ fi; \ done; \ if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ for file in $$dists; do \ if test -f $$file; then \ cp -p $$file $(distdir) || exit 1; \ else \ cp -p $(srcdir)/$$file $(distdir) || exit 1; \ fi; \ done update-po: Makefile $(MAKE) $(DOMAIN).pot-update test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) $(MAKE) update-gmo # General rule for creating PO files. .nop.po-create: @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ exit 1 # General rule for updating PO files. .nop.po-update: @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ cd $(srcdir); \ if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi $(DUMMYPOFILES): update-gmo: Makefile $(GMOFILES) @: Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ cd $(top_builddir) \ && $(SHELL) ./config.status $(subdir)/$@.in po-directories force: # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: adonthell-0.3.5/po/Makevars0000644000076500000240000000343410137121505012521 00000000000000# Makefile variables for PO directory in any package using GNU gettext. # Usually the message domain is the same as the package name. DOMAIN = $(PACKAGE) # These two variables depend on the location of this directory. subdir = po top_builddir = .. # These options get passed to xgettext. XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ # This is the copyright holder that gets inserted into the header of the # $(DOMAIN).pot file. Set this to the copyright holder of the surrounding # package. (Note that the msgstr strings, extracted from the package's # sources, belong to the copyright holder of the package.) Translators are # expected to transfer the copyright for their translations to this person # or entity, or to disclaim their copyright. The empty string stands for # the public domain; in this case the translators are expected to disclaim # their copyright. COPYRIGHT_HOLDER = Kai Sterker # This is the email address or URL to which the translators shall report # bugs in the untranslated strings: # - Strings which are not entire sentences, see the maintainer guidelines # in the GNU gettext documentation, section 'Preparing Strings'. # - Strings which use unclear terms or require additional context to be # understood. # - Strings which make invalid assumptions about notation of date, time or # money. # - Pluralisation problems. # - Incorrect English spelling. # - Incorrect formatting. # It can be your email address, or a mailing list address where translators # can write to without being subscribed, or the URL of a web page through # which the translators can contact you. MSGID_BUGS_ADDRESS = adonthell-project@linuxgames.com # This is the list of locale categories, beyond LC_MESSAGES, for which the # message catalogs shall be used. It is usually empty. EXTRA_LOCALE_CATEGORIES = adonthell-0.3.5/po/POTFILES.in0000644000076500000240000000000010137121505012564 00000000000000adonthell-0.3.5/po/quot.sed0000644000076500000240000000023110704216510012503 00000000000000s/"\([^"]*\)"/“\1â€/g s/`\([^`']*\)'/‘\1’/g s/ '\([^`']*\)' / ‘\1’ /g s/ '\([^`']*\)'$/ ‘\1’/g s/^'\([^`']*\)' /‘\1’ /g s/“â€/""/g adonthell-0.3.5/po/remove-potcdate.sin0000644000076500000240000000066010704216510014635 00000000000000# Sed script that remove the POT-Creation-Date line in the header entry # from a POT file. # # The distinction between the first and the following occurrences of the # pattern is achieved by looking at the hold space. /^"POT-Creation-Date: .*"$/{ x # Test if the hold space is empty. s/P/P/ ta # Yes it was empty. First occurrence. Remove the line. g d bb :a # The hold space was nonempty. Following occurrences. Do nothing. x :b } adonthell-0.3.5/po/Rules-quot0000644000076500000240000000337610704216510013036 00000000000000# Special Makefile rules for English message catalogs with quotation marks. DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot .SUFFIXES: .insert-header .po-update-en en@quot.po-create: $(MAKE) en@quot.po-update en@boldquot.po-create: $(MAKE) en@boldquot.po-update en@quot.po-update: en@quot.po-update-en en@boldquot.po-update: en@boldquot.po-update-en .insert-header.po-update-en: @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ tmpdir=`pwd`; \ echo "$$lang:"; \ ll=`echo $$lang | sed -e 's/@.*//'`; \ LC_ALL=C; export LC_ALL; \ cd $(srcdir); \ if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ exit 1; \ fi; \ fi; \ else \ echo "creation of $$lang.po failed!" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ fi en@quot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header en@boldquot.insert-header: insert-header.sin sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header mostlyclean: mostlyclean-quot mostlyclean-quot: rm -f *.insert-header adonthell-0.3.5/README0000644000076500000240000001340010754125105011266 00000000000000 Adonthell 0.3 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. 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 COPYING file for more details. Installation: ============= See the INSTALL and NEWBIE files for details. Note that this package alone doesn't allow you to play anything - you'll need a game package in addition to this one. The official game package for this release is Waste's Edge release 0.3. If you don't already have it, you should download it and install it next to this package. Configuring Adonthell: ====================== The first time you run Adonthell, a configuration file is created: $HOME/.adonthell/adonthellrc. Edit it to customise the game to your convenience. The available options and what they do are: - Screen-mode Whether Adonthell should run fullscreen or in windowed mode 0 = Windowed mode, 1 = Fullscreen mode (If you have trouble with the fullscreen mode, refer to the FULLSCREEN.howto file for help) - Double-size Whether resolution should be scaled to 640x480 or not 0 = disable, 1 = enable Enabling double-size mode significantly increases CPU usage. On old hardware you should consider turning this option off and run Adonthell in fullscreen mode instead. - Language [locale] Specifies which language to use. As long as this option is unset, the language is determined by one of the following environment variables: LANG, LC_ALL or LC_MESSAGES. Once the option is set, it overrides any environment variable. For a listing of valid locale strings, run 'locale -a'. Of course, the game you run has to provide the translation you chose here, otherwise you'll get the default (i.e. English) text. Languages available in this package: Language Locale ------------------ Dutch nl_NL English French fr_FR Italian it_IT If new languages become available, they will be announced on our website: http://adonthell.linuxgames.com/ - Font [font.ttf] Chose a true type font to use for displaying text. If the default font doesn't suit you, or if it does not contain the glyphs required by the Language you selected, you can specify a different font here. Either enter an absolute path to a font file in true type format or enter the font name and copy the font into /gfx/window/font/ . - Quick-load Whether the last saved game should be automatically continued at startup. Only works if at least one saved game exists. 0 = disable, 1 = enable - Audio-channels Whether sound should be mono or stereo 0 = Mono, 1 = Stereo - Audio-resolution Whether audio output should be 8 or 16 bit 0 = 8 bit, 1 = 16 bit - Audio-sample-rate 0 = 11025 Hz, 1 = 22050 Hz, 2 = 44100 Hz - Audio-volume The mixer setting, 0 - 100 % (Note that a value of 0 will turn audio completely off) Running Adonthell: ================== Okay, now you're ready to launch the program. Type $> adonthell to run the game named . To get a list of currently installed games you can play, type: $> adonthell -l This will print a list of the installed games you can launch with above command. For further information on how to play Adonthell, please refer to the PLAYING file that comes with the game data. Directories: ============ - $HOME/.adonthell contains the configuration file and your saved games. - Global data directory You can get this directory by invoking 'adonthell -d' (by default /usr/local/share/adonthell). This is the directory where games will install to. If you have a game installed somewhere else, you can play it by invoking 'adonthell -g ' Release Notes: ============== The main purpose of this release is to attract new programmers, artists and writers in order to shorten the time until the next version. So if you have experience in C++ (and optionally Python), or if you are good at computer graphics or writing we would like to hear from you. Please have a look at our development site http://adonthell.linuxgames.com/development/ for further details. Adonthell - Waste's Edge -, or v0.3 for short is no complete RPG. As the v0.3 implies, the engine is far from being finished, although it should be free of severe bugs. Missing features include combat, items and magic. But you can interact with NPC's and the game world, and the internals enable us to create a basic plot, so v0.3 is actually playable! You're greatly invited to report us bugs, problems, or anything you think we should know. Any feedback is appreciated, so don't hesitate! Contact: ======== You can reach us in various ways: Email: adonthell-project@linuxgames.com Mailing list: adonthell-general@nongnu.org Web site: http://adonthell.linuxgames.com Tech support: http://savannah.nongnu.org/support/?group_id=702 There is a Message Board for user to user discussion at http://www.3dforums.com/?action=forumpage&loc=49&forum_id=158 If you want to rate or comment on Adonthell, feel free to do so at http://www.happypenguin.org/show?Adonthell http://www.freshmeat.net/projects/adonthell Reporting Bugs: =============== We hope you'll never have to, but if you discover a problem, we would like to hear about it. Please use the Development mailing list (adonthell-devel@nongnu.org) for that. You can find informations on this and other mailing lists at http://adonthell.linuxgames.com/contact/mailinglist.shtml Thank you for trying this software. - The Adonthell team. adonthell-0.3.5/README.BeOS0000644000076500000240000000617310173202211012053 00000000000000 Adonthell on BeOS This file contains additional information for compiling Adonthell under BeOS 5 for x86. For general compilation instructions refer to the INSTALL file. Even more details are found within the NEWBIE file. Preparations: ============= If you have compiled other software on your system already, you can probably skip this section. Read on to find a summary for preparing BeOS to compile Adonthell: what tools you need and how to install them. If you run into any problems, please refer to the Documentation shipped with the individual library or tool. First of all, you'll have to install the BeOS Development Tools, which come as an extra package. You can find them at http://www.bebits.com/app/2157/ Next you'll have to install SDL, Python and Ogg Vorbis. See the INSTALL file for the respective URLs. The easiest way for doing this is to install the Developer version of LibPak: http://www.bebits.com/app/3322/ Python is also available as precompiled package: http://www.bebits.com/app/2206 If you'd rather compile everything yourself, please follow the steps below: SDL is simple: Open a terminal, cd into the SDL-1.2.x directory and type 'configure', 'make' and 'make install'. You should also download the patch from http://adonthell.linuxgames.com/files//beos-sdl.diff and install by typing: $ (cd /; patch -p1 2 namespace __gnu_cxx #else namespace std #endif with a simple namespace std You can also remove the bit at the end (line 47 -49): #if __GNUG__ > 2 namespace std { using namespace __gnu_cxx; }; #endif Then run 'make' again. * Text input doesn't work. You can control your character, but won't be able to enter a custom name or save game description. This will be fixed in one of the next versions. Credits: ======== Thanks go to Brian Lund for his help with the initial Solaris port and to Markus for pointing out problems with version 0.3.3. adonthell-0.3.5/src/0000777000076500000240000000000011017604072011261 500000000000000adonthell-0.3.5/src/.indent.pro0000644000076500000240000000103607311505645013266 00000000000000--tab-size4 --blank-lines-after-declarations --blank-lines-after-procedures --braces-after-if-line --brace-indent0 --indent-level4 --line-comments-indentation0 --declaration-indentation1 --continuation-indentation4 --braces-after-struct-decl-line --case-brace-indentation0 --case-indentation4 --continue-at-parentheses --no-blank-lines-after-commas --no-comment-delimiters-on-blank-lines --dont-cuddle-else --no-space-after-parentheses --dont-line-up-parentheses --dont-star-comments --dont-break-procedure-type --space-after-procedure-calls adonthell-0.3.5/src/adonthell.cc0000644000076500000240000001103307612077104013462 00000000000000/* $Id: adonthell.cc,v 1.11 2003/01/17 22:05:56 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file adonthell.cc * * @author Alexandre Courbot * @author Kai Sterker * @brief Implements the adonthell class. */ #include "win_manager.h" #include "gametime.h" #include "gamedate.h" #include "adonthell.h" #include "audio.h" // Pointer to the active main loop adonthell *data::engine = NULL; // constructor adonthell::adonthell () { letsexit = false; update_map_ = false; control_active_ = false; // load the script taking care of additional game commands control.create_instance ("schedules.control", "control"); } // start and execute the game's main loop void adonthell::main (win_base *wnd, const string name) { win_manager mgr; if (wnd != NULL) { mgr.add (wnd /*, name */); mgr.set_focus (wnd); } else { mapview_start (); set_control_active (true); fade_in (); } while (letsexit == false) { main_loop (); // blit the surface to the physical screen screen::show (); // perform operations to keep the game's speed constant gametime::update (); // update the internal clock gamedate::update (); } // only leave one main loop at a time letsexit = false; } // the main loop void adonthell::main_loop () { input::update (); // check whether music has finished playing if (audio::is_background_finished ()) audio::run_schedule (); // on slower machines, we update several times before drawing, // i.e. we are skipping frames to keep the game's speed constant for (int i = 0; i < gametime::frames_to_skip (); i++) { // grab any user input and update the internal state of // all windows of the current level win_manager::active->input_update (); if (update_map ()) lmap.update (); win_manager::active->update (); if (control_active ()) control.run (); } if (!letsexit) { // first clear the screen to avoid artifacts screen::clear (); // draw everything to our display surface win_manager::active->draw (); } } // quit the main loop void adonthell::main_quit () { letsexit = true; } // fade the screen out void adonthell::fade_out () { s_int16 i = 0; while (i < 60) { gametime::update (); i += gametime::frames_to_skip () * 2; if (i > 60) i = 60; main_loop (); screen::transition (i * 2); screen::show (); } } // fade the screen in void adonthell::fade_in () { s_int16 i = 60; while (i > 0) { gametime::update (); i -= gametime::frames_to_skip () * 2; if (i < 0) i = 0; main_loop (); screen::transition (i * 2); screen::show (); } } // load the engine state s_int8 adonthell::get_state (igzstream& file) { string name; // get the current time gamedate::get_state (file); // Get the map filename name << file; // Load the map from the file lmap.get (file); // Load the map state (events) if (!lmap.get_state (file)) return false; view.mapview::attach_map (&lmap); // Load the mapview state view.mapview::get_state (file); view.pack (); return true; } // save the engine state s_int8 adonthell::put_state (ogzstream& file) { // save the current time gamedate::put_state (file); // Save the map filename string name = lmap.filename (); name >> file; // Save the map itself lmap.put (file); // Save the map state (events) lmap.put_state (file); // Save the mapview state view.mapview::put_state (file); return 0; } void adonthell::mapview_start () { set_update_map (true); view.mapview::resize (screen::length (), screen::height ()); view.mapview::attach_map (&lmap); view.set_visible (true); view.pack (); win_manager::active->add (&view); } void adonthell::mapview_stop () { set_update_map (false); view.mapview::detach_map (); win_manager::active->remove (&view); } adonthell-0.3.5/src/adonthell.h0000644000076500000240000001336207626252732013342 00000000000000/* $Id: adonthell.h,v 1.6 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file adonthell.h * * @author Alexandre Courbot * @author Kai Sterker * @brief Declares the adonthell class. */ #ifndef __ADONTHELL_H__ #define __ADONTHELL_H__ #include "win_mapview.h" /** * This is the heart of the Adonthell engine. All activities, * be it checking for user input, calculating a new %game state * and finally rendering a scene are done in the * \ref main_loop "main loop". * * This class works together closely with the * \ref win_manager "window manager" which provides the basic * GUI control methods and the \ref gametime class which is * responsible for synchronising Adonthell to the machine it * is running on. */ class adonthell { public: /** * Standard constructor */ adonthell (); /** * @name The engine's main loop * */ //@{ /** * Starts the main loop. Since having the mainloop running * without a window to display seems to make no sense, you'll * have to pass an inital window when starting the main loop. * This method can be called multiple times. Only those windows * belonging to the outermost main loop are updated and recieve * user input. However, all windows are drawn in correct order, * i.e. innermost first, outermost last. * * See the \ref win_manager "window manager" for more details. * * @param wnd The window to display initially * @param name A name for that window (currently unused) */ void main (win_base *wnd = NULL, const string name = ""); /** * The actual main loop. First, any user %input is processed, * then the new %game state is calculated and finally all * open (and visible) windows are rendered and displayed on * screen. This (currently) happens up to 50 times per second. */ void main_loop (); /** * Quit the main loop. This stops the outermost main loop * and closes all windows associated with that loop. It does * not delete them however. For that you'll have to call * win_manager::destroy (). */ void main_quit (); //@} /** * @name Fading * */ //@{ /** * Fades the screen to black */ void fade_out (); /** * Fades in from a black screen */ void fade_in (); //@} /** * @name Saving and Loading * */ //@{ /** * Restore the engine's state. Loads the previously displayed map, * it's state and the state of the mapview from mapengine.data. * * @param file The opened engine state file (mapengine.data). */ s_int8 get_state (igzstream& file); /** * Save the engine's state. Writes the current map w/ it's state * and the state of the mapview to mapengine.data. * * @param file The opened engine state file (mapengine.data). */ s_int8 put_state (ogzstream& file); //@} /** * @name Additional game control * */ //@{ /** * Returns whether the control script is active or not. * * @return * @li true if that is the case. * @li false otherwise. */ bool control_active () { return control_active_; } /** * Set whether the control script should be executed or * not. This script provides functionality that is not * directly related to contolling the main character, * like opening the main menu, the load or save screen, * etc. * * @param c Pass true to enable the control script, false * to disable it. */ void set_control_active (bool c) { control_active_ = c; } //@} /** * @todo move landmap handling somewhere else */ landmap *get_landmap () { return &lmap; } /** * @todo move landmap handling somewhere else */ bool update_map () { return update_map_; } /** * @todo move landmap handling somewhere else */ void set_update_map (bool u) { update_map_ = u; } /** * @todo move mapview handling somewhere else */ mapview *get_mapview () { return (mapview*) &view; } /** * @todo move mapview handling somewhere else */ void draw (s_int16 x, s_int16 y, drawing_area * da_opt = NULL, surface * target = NULL) { view.mapview::draw (x, y, da_opt, target); } /** * @todo move mapview handling somewhere else */ void set_mapview_schedule (string s, PyObject * args = NULL) { view.mapview::set_schedule (s, args); } /** * @todo move mapview handling somewhere else */ void mapview_start (); /** * @todo move mapview handling somewhere else */ void mapview_stop (); private: py_object control; // flag to indicate whether the control script is active or not bool control_active_; // flag to indicate whether to exit the main loop bool letsexit; // indicates whether the map should be updated or not bool update_map_; // the current map landmap lmap; // the current mapview win_mapview view; }; #ifndef SWIG namespace data { /** * Engine used during the game. * */ extern adonthell *engine; } #endif // SWIG #endif // __ADONTHELL_H__ adonthell-0.3.5/src/animation.cc0000644000076500000240000002103007507051530013463 00000000000000// $Id: animation.cc,v 1.10 2002/06/28 12:15:20 gnurou Exp $ /* Copyright (C) 1999/2000/2001 The Adonthell Project Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. This file is a part of the Adonthell project. */ /** * @file animation.cc * @author Alexandre Courbot * * @brief Defines the animationframe and animation classes. * * */ #include "animation.h" using namespace std; // animationframe class. // Public methods. animationframe::animationframe () { clear (); } animationframe::~animationframe () { } void animationframe::clear () { imagenbr = 0; is_masked_ = false; set_alpha (255); gapx = 0; gapy = 0; delay_ = 0; nextframe_ = 0; } s_int8 animationframe::get (igzstream& file) { imagenbr << file; is_masked_ << file; alpha_ << file; set_alpha (alpha_); gapx << file; gapy << file; delay_ << file; nextframe_ << file; return (0); } s_int8 animationframe::put (ogzstream& file) const { image_nbr () >> file; is_masked () >> file; alpha () >> file; offx () >> file; offy () >> file; delay () >> file; nextframe () >> file; return (0); } // animation class. // Public methods. animation::animation () : drawable () { clear (); } void animation::clear () { vector ::iterator i; for (i = t_frame.begin (); i != t_frame.end (); i++) delete (*i); t_frame.clear (); frame.clear (); currentframe_ = 0; speedcounter = 0; play_flag = STOP; xoffset_ = 0; yoffset_ = 0; set_length (0); set_height (0); } animation::~animation () { clear (); } bool animation::update () { if ((!play_flag) || (!nbr_of_frames ())) return true; if (frame[currentframe ()].delay () == 0) return true; if (nbr_of_frames () <= 1) return true; speedcounter++; if (speedcounter >= frame[currentframe ()].delay ()) next_frame (); return true; } void animation::next_frame () { currentframe_ = frame[currentframe ()].nextframe (); speedcounter = 0; } void animation::draw (s_int16 x, s_int16 y, const drawing_area * da_opt, surface *target) const { t_frame[frame[currentframe ()].image_nbr ()]-> set_mask (frame[currentframe ()].is_masked ()); t_frame[frame[currentframe ()].image_nbr ()]-> set_alpha (frame[currentframe ()].alpha ()); t_frame[frame[currentframe ()].image_nbr ()]->draw (x + xoffset () + frame[currentframe ()].offx (), y + yoffset () + frame[currentframe ()].offy (), da_opt, target); } s_int8 animation::get (igzstream& file) { u_int16 i; u_int16 nbr_images; u_int16 nbr_frames; u_int16 t_xoffset, t_yoffset; clear (); t_xoffset << file; t_yoffset << file; // TODO: Remove this! (length and height are calculated later) u_int16 dummy; dummy << file; dummy << file; // Read images nbr_images << file; for (i = 0; i < nbr_images; i++) { t_frame.push_back (new image); t_frame.back ()->get_raw (file); } // Read frames nbr_frames << file; animationframe aftemp; for (i = 0; i < nbr_frames; i++) { frame.push_back (aftemp); frame.back ().get (file); } currentframe_ = 0; set_offset (t_xoffset, t_yoffset); calculate_dimensions (); return (0); } s_int8 animation::load (string fname) { igzstream file (fname); u_int8 retvalue; if (!file.is_open ()) return (-1); retvalue = get (file); file.close (); return (retvalue); } s_int8 animation::put (ogzstream& file) const { u_int16 i; xoffset () >> file; yoffset () >> file; // TODO: Remove this! (length and height are calculated later) u_int16 dummy = 0; dummy >> file; dummy >> file; // Write images nbr_of_images () >> file; for (i = 0; i < nbr_of_images (); i++) { t_frame[i]->put_raw (file); } // Write frames nbr_of_frames () >> file; for (i = 0; i < nbr_of_frames (); i++) { frame[i].put (file); } return (0); } s_int8 animation::save (string fname) const { ogzstream file (fname); u_int8 retvalue; if (!file.is_open ()) return (-1); retvalue = put (file); file.close (); return (retvalue); } s_int8 animation::insert_image (const image * im, u_int16 pos) { vector ::iterator i; vector ::iterator j; if (pos > nbr_of_images ()) return -2; i = t_frame.begin (); while (pos--) i++; t_frame.insert (i, (image *) im); for (j = frame.begin (); j != frame.end (); j++) if (j->image_nbr () >= pos) j->set_image_nbr (j->image_nbr () + 1); return 0; } s_int8 animation::delete_image (u_int16 pos) { vector ::iterator i; vector ::iterator j; if (pos > nbr_of_images () - 1) return -2; i = t_frame.begin (); while (pos--) i++; delete (*i); t_frame.erase (i); for (j = frame.begin (); j != frame.end (); j++) if (j->image_nbr () >= pos) j->set_image_nbr (j->image_nbr () - 1); return 0; } s_int8 animation::insert_frame (const animationframe af, u_int16 pos) { vector ::iterator i; if (pos > nbr_of_frames ()) return -2; i = frame.begin (); while (pos--) i++; frame.insert (i, af); for (i = frame.begin (); i != frame.end (); i++) if (i->nextframe () >= pos) i->set_nextframe (i->nextframe () + 1); return 0; } s_int8 animation::delete_frame (u_int16 pos) { vector ::iterator i; if (pos > nbr_of_frames () - 1) return -2; for (i = frame.begin (); i != frame.end (); i++) if (i->nextframe () >= pos) i->set_nextframe (frame[i->nextframe ()].nextframe ()); i = frame.begin (); while (pos--) i++; frame.erase (i); if (!nbr_of_frames ()) currentframe_ = 0; return 0; } void animation::zoom (u_int16 sx, u_int16 sy, const animation * src) { static u_int16 i; clear (); for (i = 0; i < src->nbr_of_images (); i++) { image *im = new image; im->resize ((src->t_frame[i]->length () * sx) / src->length (), (src->t_frame[i]->height () * sy) / src->height ()); im->zoom ((*src->t_frame[i])); t_frame.push_back (im); } for (i = 0; i < src->nbr_of_frames (); i++) { frame.push_back (src->frame[i]); frame.back ().set_offset ((src->frame[i].offx () * sx) / src->length (), (src->frame[i].offy () * sy) / src->height ()); } } animation& animation::operator = (const animation & src) { clear (); (drawable&) (*this) = (drawable&) src; // Copy images vector ::iterator imit; for (imit = src.t_frame.begin (); imit != src.t_frame.end (); imit++) { image * im = new image; *im = *(*imit); t_frame.push_back (im); } // Copy frames vector ::iterator frit; for (frit = src.frame.begin (); frit != src.frame.end (); frit++) { frame.push_back (*frit); } // Copy properties currentframe_ = src.currentframe_; speedcounter = src.speedcounter; play_flag = src.play_flag; set_length (src.length ()); set_height (src.height ()); set_offset (src.xoffset (), src.yoffset ()); return *this; } // Private methods void animation::calculate_dimensions () { for (u_int16 i = 0; i < nbr_of_frames (); i++) { u_int16 tl, th; if ((tl = t_frame[frame[i].image_nbr ()]->length () + frame[i].offx ()) > length ()) set_length (tl + xoffset ()); if ((th = t_frame[frame[i].image_nbr ()]->height () + frame[i].offy ()) > height ()) set_height (th + yoffset ()); } } adonthell-0.3.5/src/animation.h0000644000076500000240000003634407331034340013336 00000000000000// $Id: animation.h,v 1.44 2001/07/29 16:25:04 gnurou Exp $ /* Copyright (C) 1999/2000/2001 Alexandre Courbot. Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file animation.h * @author Alexandre Courbot * * @brief Declares the animationframe and animation classes. * */ #ifndef _ANIMATION_H #define _ANIMATION_H #include "image.h" #include /** * Handles images properties in an animation. * %Objects of this class have no reason to exist if not affected to an * animation. The fact is, that often in an animation, you want the * same image to appear at different times, different positions or with * different mask and alpha values. An animationframe is a class that * contains the index of the image to display, the alpha and mask parameters * to give it, the time (in game cycles) it should be displayed before going * to the next frame, and the index and the frame to display right after * this one. As images and animationframes are arranged into an indexed array * in an animation, the index values only make sense from the animation point * of view. * */ class animationframe { public: /** * Default constructor. * */ animationframe (); /** * Destructor. * */ ~animationframe (); /** * Resets an animationframe to it's initial (i.e post-constructor) state. * */ void clear (); /** * @name Mask and Alpha Settings. * */ //@{ /** * Returns whether this frame is masked or not. * * * @return true if the surface is masked, false otherwise. */ bool is_masked () const { return is_masked_; } /** * Sets the mask parameter of this frame. * * @param mask true if the surface should be masked, false otherwise. */ void set_mask (bool mask) { is_masked_ = mask; } /** * Returns the alpha value the this frame. * * * @return the alpha value of the frame. */ u_int8 alpha () const { return alpha_; } /** * Sets the alpha value for this frame. * * @param a new alpha value. */ void set_alpha (u_int8 a) { alpha_ = a; } //@} /** * @name Image, delay and next frame settings. * */ //@{ /** * Returns the image number this frame points to. * * * @return the index of the image this frame points to. */ u_int16 image_nbr () const { return imagenbr; } /** * Sets the image this frame should point to. * * @param imnbr the index of the image this frame should point to. */ void set_image_nbr (u_int16 imnbr) { imagenbr = imnbr; } /** * Returns the duration of this frame. * * * @return the delay (in game cycles) of this frame (0 means infinite). */ u_int16 delay () const { return delay_; } /** * Sets the duration of this frame. * * @param d new delay (in game cycles, 0 means infinite). */ void set_delay (u_int16 d) { delay_ = d; } /** * Returns the index of the frame that will be displayed once * the delay of this one expired. * * * @return the index of the frame next to this one. */ u_int16 nextframe () const { return nextframe_; } /** * Sets the index of the frame that will be displayed right after * this one. * * @param nf index of the frame that will be next to this one. */ void set_nextframe (u_int16 nf) { nextframe_ = nf; } //@} /** * @name Individual frames relative position. * */ //@{ /** * Returns the X offset (i.e position relative to the animation's position) * of this frame. * * * @return the X offset of this frame. */ u_int16 offx () const { return gapx; } /** * Returns the Y offset (i.e position relative to the animation's position) * of this frame. * * * @return the Y offset of this frame. */ u_int16 offy () const { return gapy; } /** * Sets the offset for this frame. * * @param ox new X offset. * @param ox new Y offset. */ void set_offset (u_int16 ox, u_int16 oy) { gapx = ox; gapy = oy; } //@} /** * @name Saving/Loading Methods. * */ //@{ /** * Loads an animationframe from an opened file. * * @param file the opened file from which to read. * * @return 0 in case of success, error number in case of error. */ s_int8 get (igzstream& file); /** * Saves an animationframe into an opened file. * * @param file the opened file where to save. * * @return 0 in case of success, error number in case of error. */ s_int8 put (ogzstream& file) const; //@} private: u_int16 imagenbr; bool is_masked_; u_int8 alpha_; s_int16 gapx; s_int16 gapy; u_int16 delay_; u_int16 nextframe_; }; /** * Whether the animation is currently playing or not. */ typedef enum { PLAY = true, STOP = false } play_state; /** * Class that handles animated elements, their update and their playback. * Most often, you will want your drawn %objects to be animated. Then you'll * probably want to use this class. An animation contains: * - A set of images arranged in an indexed array. * - A set of animation_frames. * - A global position offset. * * During playback, the animation look at the first animation_frame. Each * animation_frame refers to an image of the animation, and give it special * mask and alpha parameters, as well as a position offset. It also have * a delay parameter, telling how many %game cycles this frame should stay. * Once the delay expired, the animation jumps to the next frame, which * is pointed by the current frame. That way, you can easily performs loops or * others effects. Each image, as well as each animation_frame, can be accessed * individually, thought you'd better try to avoid as much as possible to mess * with that. * */ class animation : public drawable { public: /** * Default constructor. * */ animation (); /** * Destructor. * */ ~animation (); /** * Clears an animation, that is put it back into the original * (constructor) state. * */ void clear (); /** * @name Playback control methods. * */ //@{ /** * Starts the playback of the animation. * */ void play () { play_flag = PLAY; #ifdef _EDIT_ if (in_editor) must_upt_label_status = true; #endif } /** * Stops the playback of the animation. * */ void stop () { play_flag = STOP; #ifdef _EDIT_ if (in_editor) must_upt_label_status = true; #endif } /** * Returns whether the animation is currently being played. * * * @return PLAY is the animation is currently playing, STOP otherwise. */ play_state playstate () const { return play_flag; } /** * Rewinds the animation to it's beginning. * */ void rewind () { currentframe_ = 0; speedcounter = 0; } /** * Directly jumps to the next frame. * */ void next_frame (); //@} /** * @name State updating Methods. * */ //@{ /** * Updates the animation state. * */ bool update (); //@} /** * @name Drawing Methods. * */ //@{ void draw (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const; //@} /** * @name Saving/Loading Methods. * @note There is no way to save animations with this class. * */ //@{ /** * Loads an animation from an opened file. * @param file the opened file from which to load. * @return 0 in case of success, error code otherwise. * * @todo length and height are loaded while they are calculated later. * Remove this when format will change. * */ s_int8 get (igzstream& file); /** * Loads an animation from it's filename. * * @param fname the name of the file to load. * * @return 0 in case of success, error code otherwise. */ s_int8 load (string fname); /** Saves an animation into an opened file, in %game format, with * alpha and mask values. * @warning as the animation which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving animations with full * truecolor quality, use animation_edit instead. * @param file opened file where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa save () */ s_int8 put (ogzstream& file) const; /** Saves an animation into an file, in %game format, with * alpha and mask values. * @warning as the animation which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving animations with full * truecolor quality, use animation_edit instead. * @param fname file name where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa put () */ s_int8 save (string fname) const; //@} /** * @name Global animation properties Methods. * */ //@{ /** * Returns the number of frames in this animation. * * * @return the number of frames in this animation. */ u_int16 nbr_of_frames () const { return frame.size (); } /** * Returns the number of images in this animation. * * * @return the number of images in this animation. */ u_int16 nbr_of_images () const { return t_frame.size (); } /** * Returns the index of the currently displayed frame. * * * @return the index of the frame currently displayed. */ u_int16 currentframe () const { return currentframe_; } /** * Sets the current frame. * * @param framenbr the index of the frame to display now. */ void set_currentframe (u_int16 framenbr) { currentframe_ = framenbr; speedcounter = 0; } /** * Returns the global X offset of the animation. * * * @return the global X offset of the animation. */ s_int16 xoffset () const { return xoffset_; } /** * Returns the global Y offset of the animation. * * * @return the global Y offset of the animation. */ s_int16 yoffset () const { return yoffset_; } /** * Set the global offsets of this animation. * * @param x new X global offset. * @param y new Y global offset. */ void set_offset (s_int16 x, s_int16 y) { xoffset_ = x; yoffset_ = y; } //@} /** * @name Image and Animationframe control Methods. * */ //@{ /** * Returns a pointer to a desired frame. * * @param nbr the index of the frame to get. * * @return pointer to the nbr frame. */ animationframe *get_frame (u_int16 nbr) { return &(frame[nbr]); } /** * Returns a pointer to a desired image. * * @param nbr the index of the image to get. * * @return pointer to the nbr image. */ image *get_image (u_int16 nbr) { return t_frame[nbr]; } /** * Inserts an image at a given position of the image array. * All the frames will be updated so the operation doesn't affect * the animation in any way. * * The animation will be responsible for freeing the inserted image. * * @param im pointer to the image to add. * @param pos index where to add the image. * * @return 0 in case of success, error code otherwise. */ s_int8 insert_image (const image * im, u_int16 pos); /** * Inserts a frame at a given position of the animationframe array. * All the frames will be updated so the operation doesn't affect * the animation in any way. * * @param af the animationframe to add. * @param pos index where to add the frame. * * @return 0 in case of success, error code otherwise. */ s_int8 insert_frame (const animationframe af, u_int16 pos); /** * Removes an image at a given position. * The image itself will also be deleted (). * All the frames will be updated so the operation doesn't affect * the animation in any way. * * @param pos The index of the image to remove. * * @return 0 in case of success, error code otherwise. */ s_int8 delete_image (u_int16 pos); /** * Removes a frame at a given position. * All the frames will be updated so the operation doesn't affect * the animation in any way. * * @param pos The index of the animationframe to remove. * * @return 0 in case of success, error code otherwise. */ s_int8 delete_frame (u_int16 pos); //@} /** * @name Special FX methods. * */ //@{ /** * Zooms an animation. * * @param sx Desired X size. * @param sy Desired Y size. * @param src Source animation to zoom. */ void zoom (u_int16 sx, u_int16 sy, const animation * src); //@} #ifndef SWIG /** * Animation copy (similar to copy ()). * * @attention Not available from Python. Use copy () from Python instead. * @sa copy () */ animation& operator = (const animation& src); #endif /** * Synonym of operator = to guarantee its access from Python. * * @sa operator = */ void copy (const animation& src) { *this = src; } private: /** * Forbid value passing. */ animation(const animation& src); /** * Calculate the real dimensions of the animation, depending * of it's frames and images. * */ void calculate_dimensions (); mutable vector t_frame; mutable vector frame; u_int16 currentframe_; u_int16 speedcounter; play_state play_flag; s_int16 xoffset_, yoffset_; #ifndef SWIG friend class win_anim; #endif }; #endif adonthell-0.3.5/src/audio.cc0000644000076500000240000002171707611513005012615 00000000000000/* $Id: audio.cc,v 1.32 2003/01/16 11:22:45 ksterker Exp $ Copyright (C) 2000 Andrew Henderson Copyright (C) 2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ #include #include #include #include "SDL.h" #include "audio.h" // #include "audio_loop.h" bool audio::audio_initialized = false; int audio::background_volume; int audio::effects_volume; #ifdef OGG_MUSIC // loop_info *audio::loop[NUM_MUSIC]; #endif Mix_Music *audio::music[NUM_MUSIC]; string audio::music_file[NUM_MUSIC]; Mix_Chunk *audio::sounds[NUM_WAVES]; int audio::current_background; int audio::last_background; bool audio::background_paused; int audio::audio_rate; Uint16 audio::buffer_size; Uint16 audio::audio_format; int audio::audio_channels; // python schedule stuff py_object audio::schedule; bool audio::schedule_active = 0; PyObject *audio::schedule_args = NULL; void audio::init (config *myconfig) { int i; // Generic counter variable // Sample rate: 11025, 22050 or 44100 Hz switch( myconfig->audio_sample_rate ) { case 0: { audio_rate = 11025; break; } case 1: { audio_rate = 22050; break; } default: { audio_rate = 44100; break; } } // Output in signed 8/16-bit form audio_format = myconfig->audio_resolution == 0 ? AUDIO_S8 : AUDIO_S16; // 1 is mono, 2 is stereo audio_channels = myconfig->audio_channels == 0 ? 1 : 2; // 100... scales to percentages ;> background_volume = myconfig->audio_volume; buffer_size = 4096; // Audio buffer size effects_volume = 128; // Still figuring this one out... current_background = -1; // No song currently playing last_background = -1; // No song played so far background_paused = false; // Music isn't paused audio_initialized = false; // No audio connection yet schedule_active = false; // No schedule file yet // Mark all slots in sound and music arrays as empty for (i = 0; i < NUM_WAVES; i++) sounds[i] = NULL; for (i = 0; i < NUM_MUSIC; i++) { music[i] = NULL; music_file[i] = ""; } // Try opening the audio device at our defaults i = Mix_OpenAudio(audio_rate, audio_format, audio_channels, buffer_size); // Now see what we got when opening the audio device // If we COULDN'T open the audio... if ( i < 0 ) { fprintf(stderr, "Unable to open audio: %s\n", SDL_GetError()); fprintf(stderr, "Audio will not be used.\n"); // If we COULD open the audio... } else { audio_initialized = true; Mix_QuerySpec(&audio_rate, &audio_format, &audio_channels); set_background_volume (background_volume); } } void audio::cleanup(void) { int i; // No music is queued to play current_background = -1; // Null out those tunes and sound effects for (i = 0; i < NUM_WAVES; i++) { unload_wave(i); sounds[i] = NULL; } for (i = 0; i < NUM_MUSIC; i++) { unload_background(i); music[i] = NULL; music_file[i] = ""; } // Clean audio schedule schedule.clear (); // Close out audio connection if (audio_initialized == true) { Mix_CloseAudio(); audio_initialized = false; } } int audio::load_background(int slot, char *filename) { if (!audio_initialized) return (0); // Check for bad input if ((slot >= NUM_MUSIC) || (slot < 0)) { fprintf(stderr, "Error: Tried to put music in invalid slot.\n"); return(0); } // Check if the file exists at all... FILE *f = fopen (filename, "r"); if (!f) { fprintf(stderr, "Error: No such file: %s.\n", filename); return 0; } fclose (f); // Music already occupies that slot if (music[slot] != NULL) unload_background (slot); // No music in slot, load new tune in, ... music[slot] = Mix_LoadMUS(filename); music_file[slot] = filename; #ifdef OGG_MUSIC // read loop points and ... // loop[slot] = new loop_info (&music[slot]->ogg_data.ogg->vf); // ... enable looping // music[slot]->ogg_data.ogg->vf.callbacks.read_func = &ogg_read_callback; #endif return(1); } void audio::unload_background (int slot) { if (music[slot] == NULL) return; // If we are unloading background music from the slot // the current background music is in... if (current_background == slot) { last_background = current_background; current_background = -1; // Just a precaution Mix_HaltMusic(); Mix_ResumeMusic (); } Mix_FreeMusic (music[slot]); music[slot] = NULL; music_file[slot] = ""; #ifdef OGG_MUSIC // delete loop[slot]; #endif } void audio::pause_music(void) { Mix_PauseMusic(); } void audio::unpause_music(void) { Mix_ResumeMusic(); } // Accepts a percentage of the maximum volume level // and clips out of bounds values to 0-100. void audio::set_background_volume(int volume) { // Check for bad input if (volume < 0) { background_volume = 0; } else if (volume > 100) { background_volume = 100; } else background_volume = volume; // Scales 0-100% to 0-128 Mix_VolumeMusic(int(background_volume * 1.28)); } // This should be done better, but I'll wait until // I have enough sound effects to play with ;> int audio::load_wave(int slot, char *filename) { if (!audio_initialized) return(1); // Check for bad input if ((slot >= NUM_WAVES) || (slot < 0)) { fprintf(stderr, "Error: Tried to put wave in invalid slot.\n"); return(1); } else { // Check if the file exists at all... FILE *f = fopen (filename, "r"); if (!f) { sounds[slot] = NULL; return 1; } fclose (f); sounds[slot] = Mix_LoadWAV(filename); } return(0); } void audio::unload_wave(int wave) { if (sounds[wave] != NULL) { Mix_FreeChunk(sounds[wave]); sounds[wave] = NULL; } } void audio::play_wave(int channel, int slot) { if ((slot > -1) && (slot < NUM_CHANNELS)) if (sounds[slot] != NULL) Mix_PlayChannel(channel, sounds[slot], 0); } void audio::play_background(int slot) { if (music[slot] != NULL) { current_background = slot; Mix_PlayMusic(music[current_background], 0); } } void audio::fade_out_background(int time) { if (Mix_PlayingMusic ()) { Mix_FadeOutMusic(time); last_background = current_background; current_background = -1; } #ifdef OGG_MUSIC // music[current_background]->ogg_data.ogg->vf.callbacks.read_func = &fread_wrap; #endif } void audio::fade_in_background(int slot, int time) { if (music[slot] != NULL) { current_background = slot; Mix_FadeInMusic(music[slot], 0, time); } } // Temporary convience function for testing void audio::change_background(int slot, int time) { fade_out_background(time); fade_in_background(slot, time); } #ifdef OGG_MUSIC // OggVorbis_File* audio::get_vorbisfile () // { // return &music[current_background]->ogg_data.ogg->vf; // } #endif // set audio schedule void audio::set_schedule (string file, PyObject * args) { // Clears the schedule schedule.clear (); Py_XDECREF (schedule_args); schedule_args = NULL; // Set new schedule if (file != "") { schedule_args = args; Py_XINCREF (schedule_args); schedule.create_instance ("schedules.audio." + file, file, args); } } // run the audio control schedule void audio::run_schedule () { PyObject *song = Py_BuildValue ("(i)", last_background); if (schedule_active) schedule.call_method ("music_finished", song); Py_DECREF (song); } // save state s_int8 audio::put_state (ogzstream& file) { // currently playing current_background >> file; // music file if (current_background != -1) music_file[current_background] >> file; // Save the schedule script state schedule.class_name () >> file; if (schedule_args) { true >> file; python::put_tuple (schedule_args, file); } else false >> file; is_schedule_activated () >> file; return 1; } // get state s_int8 audio::get_state (igzstream& file) { string song, script; bool have_args; // current background last_background << file; // if song was playing, see which it is if (last_background != -1) { song << file; // ... and resume playing if (load_background (last_background, (char *) song.c_str ())) play_background (last_background); } // Restore the schedule script state PyObject * args = NULL; script << file; have_args << file; if (have_args) args = python::get_tuple (file); set_schedule (script, args); Py_XDECREF (args); schedule_active << file; return 1; } adonthell-0.3.5/src/audio.h0000644000076500000240000000650110754115567012466 00000000000000/* $Id: audio.h,v 1.30 2008/01/19 16:02:16 ksterker Exp $ Copyright (C) 2000 Andrew Henderson Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ #ifndef __AUDIO_H__ #define __AUDIO_H__ #include #include "prefs.h" #include "py_object.h" // #include "audio_loop.h" // We'll only load five waves into memory #define NUM_WAVES 5 // We'll only load three .ogg files into memory #define NUM_MUSIC 3 // We can play four SFX at once #define NUM_CHANNELS 4 class audio { public: static void init(config*); static void cleanup(void); // state saving/loading static s_int8 put_state (ogzstream& file); static s_int8 get_state (igzstream& file); // Background Music functions: // Use these to load/unload background music static int load_background(int slot, char *filename); static void unload_background(int slot); // All input is clamped from 0 to 100 static void set_background_volume(int); // Use only when music is loaded static void pause_music(void); static void unpause_music(void); // Use these to load/unload wave files static int load_wave(int slot, char *filename); static void unload_wave(int slot); // Used to just start sounds playing static void play_wave(int channel, int slot); static void play_background(int slot); // Fade in and fade out background music (time in ms) // Fadeout unselects current tune when done static void fade_in_background(int slot, int time); static void fade_out_background(int time); // Temporary convience function to change background static void change_background(int slot, int time); static bool is_initialized () { return audio_initialized; } static bool is_schedule_activated () { return schedule_active; } static bool is_background_finished () { return !Mix_PlayingMusic (); } static void set_schedule_active (bool a) { schedule_active = a; } static void set_schedule (string file, PyObject * args = NULL); static void run_schedule (); #ifdef OGG_MUSIC // static loop_info *loop[NUM_MUSIC]; // static int get_loop_start() { return loop[current_background]->start; } // static int get_loop_end() { return loop[current_background]->end; } // static int get_start_page_pcm() { return loop[current_background]->start_page_pcm; } // static int get_start_page_raw() { return loop[current_background]->start_page_raw; } // static OggVorbis_File* get_vorbisfile(); #endif private: #ifndef SWIG static bool schedule_active; static bool audio_initialized; static int background_volume; static int effects_volume; static Mix_Music *music[NUM_MUSIC]; static string music_file[NUM_MUSIC]; static Mix_Chunk *sounds[NUM_WAVES]; static int current_background; static int last_background; static bool background_paused; static int audio_rate; static Uint16 buffer_size; static Uint16 audio_format; static int audio_channels; static py_object schedule; static PyObject *schedule_args; #endif }; #endif adonthell-0.3.5/src/callback.h0000644000076500000240000001677507577422402013135 00000000000000/* $Id: callback.h,v 1.6 2002/12/16 19:09:54 ksterker Exp $ (C) Copyright 2000 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com Special Thanks to Rich Hickey This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef _CALL_BACK_H_ #define _CALL_BACK_H_ #include #include class FunctorBase { protected: typedef void (FunctorBase::*PMemFunc)(); typedef void (*PFunc)(); enum {MEM_FUNC_SIZE = sizeof(PMemFunc)}; union{ PFunc func; char memFunc[MEM_FUNC_SIZE]; }; void *callee; FunctorBase():func(0),callee(0){} FunctorBase(const void *c,PFunc f, const void *mf,size_t sz):callee((void *)c) { if(c) { memcpy(memFunc,mf,sz); if(sz class MemberTranslator0:public Functor0{ public: MemberTranslator0(Callee &c, MemFunc &m):Functor0(thunk,&c,0,&m,sizeof(MemFunc)){} static void thunk(const FunctorBase &ftor) { Callee *callee = (Callee *)ftor.getCallee(); MemFunc &memFunc = (*(MemFunc*)(void *)(ftor.getMemFunc())); (callee->*memFunc)(); } }; template class FunctionTranslator0:public Functor0{ public: FunctionTranslator0(Func f):Functor0(thunk,0,(PFunc)f,0,0){} static void thunk(const FunctorBase &ftor) { (Func(ftor.getFunc()))(); } }; template inline MemberTranslator0 makeFunctor(Callee &c,TRT (CallType::* f)()) { typedef TRT (CallType::*MemFunc)(); return MemberTranslator0(c,f); } template inline MemberTranslator0 makeFunctor(const Callee &c, TRT (CallType::* f)()const) { typedef TRT (CallType::*MemFunc)()const; return MemberTranslator0(c,f); } template inline FunctionTranslator0 makeFunctor(TRT (*f)()) { return FunctionTranslator0(f); } //NO ARG WITH RETURN template class Functor0wRet:public FunctorBase{ public: Functor0wRet(){} RT operator()()const { return thunk(*this); } protected: typedef RT (*Thunk)(const FunctorBase &); Functor0wRet(Thunk t,const void *c,PFunc f,const void *mf,size_t sz): FunctorBase(c,f,mf,sz),thunk(t){} private: Thunk thunk; }; template class MemberTranslator0wRet:public Functor0wRet{ public: MemberTranslator0wRet(Callee &c,MemFunc &m): Functor0wRet(thunk,&c,0,&m,sizeof(MemFunc)){} static RT thunk(const FunctorBase &ftor) { Callee *callee = (Callee *)ftor.getCallee(); MemFunc &memFunc = (*(MemFunc*)(void *)(ftor.getMemFunc())); return ((callee->*memFunc)()); } }; template class FunctionTranslator0wRet:public Functor0wRet{ public: FunctionTranslator0wRet(Func f):Functor0wRet(thunk,0,(typename FunctionTranslator0wRet::PFunc)f,0,0){} static RT thunk(const FunctorBase &ftor) { return (Func(ftor.getFunc()))(); } }; template inline MemberTranslator0wRet makeFunctor(Functor0wRet*,Callee &c,TRT (CallType::* f)()) { typedef TRT (CallType::*MemFunc)(); return MemberTranslator0wRet(c,f); } template inline MemberTranslator0wRet makeFunctor(Functor0wRet*,const Callee &c, TRT (CallType::* f)()const) { typedef TRT (CallType::*MemFunc)()const; return MemberTranslator0wRet(c,f); } template inline FunctionTranslator0wRet makeFunctor(Functor0wRet*,TRT (*f)()) { return FunctionTranslator0wRet(f); } // 1 Argument, no return value template class Functor1 : public FunctorBase { public: Functor1() {} void operator () (P1 p1) const { thunk (*this, p1); } protected: typedef void (*Thunk) (const FunctorBase &, P1); Functor1 (Thunk t, const void *c, PFunc f, const void *mf, size_t sz) : FunctorBase (c, f, mf, sz), thunk (t) { } private: Thunk thunk; }; template class MemberTranslator1 : public Functor1 { public: MemberTranslator1 (Callee & c, MemFunc & m) : Functor1 (thunk, &c, 0, &m, sizeof (MemFunc)) { } static void thunk (const FunctorBase & ftor, P1 p1) { Callee *callee = (Callee *) ftor.getCallee (); MemFunc & memFunc (*(MemFunc *) (void *)(ftor.getMemFunc ())); (callee->*memFunc) (p1); } }; template class FunctionTranslator1 : public Functor1 { public: FunctionTranslator1 (Func f) : Functor1 (thunk, 0, f, 0, 0) { } static void thunk (const FunctorBase & ftor, P1 p1) { (Func (ftor.func)) (p1); } }; template inline MemberTranslator1 makeFunctor (Callee & c, TRT (CallType::* f) (P1)) { typedef TRT (CallType::*MemFunc) (P1); return MemberTranslator1 (c, f); } template inline MemberTranslator1 makeFunctor (const Callee & c, TRT (CallType::*const &f) (TP1) const) { typedef TRT (CallType::*MemFunc) (TP1) const; return MemberTranslator1 (c, f); } template inline FunctionTranslator1 makeFunctor (TRT (*f) (TP1)) { return FunctionTranslator1 (f); } template class MemberOf1stArgTranslator1 : public Functor1 { public: MemberOf1stArgTranslator1 (MemFunc & m) : Functor1 < P1 > (thunk, (void *)1, 0, &m, sizeof (MemFunc)) { } static void thunk (const FunctorBase & ftor, P1 p1) { MemFunc & memFunc (*(MemFunc *) (void *)(ftor.memFunc)); (p1.*memFunc) (); } }; template inline MemberOf1stArgTranslator1 makeFunctor (TRT (CallType::* &f) ()) { typedef TRT (CallType::*MemFunc) (); return MemberOf1stArgTranslator1 (f); } template inline MemberOf1stArgTranslator1 < P1, TRT (CallType::*)() const> makeFunctor (TRT (CallType::*const &f) () const) { typedef TRT (CallType::*MemFunc) () const; return MemberOf1stArgTranslator1 (f); } #endif adonthell-0.3.5/src/character.cc0000644000076500000240000000142707370516546013463 00000000000000/* $Id: character.cc,v 1.9 2001/11/02 13:19:34 ksterker Exp $ Copyright (C) 2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file character.cc * @author Kai Sterker * * @brief Defines the character class. * * */ #include "character.h" dictionary data::characters; character * data::the_player = NULL; character::character() : mapcharacter () { } character::~character() { } adonthell-0.3.5/src/character.h0000644000076500000240000000226007626252732013317 00000000000000/* $Id: character.h,v 1.25 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file character.h * @author Kai Sterker * * @brief Declares the character class. * * */ #ifndef CHARACTER_H_ #define CHARACTER_H_ #include "mapcharacter.h" /** * Class holding %game characters. * */ class character : public mapcharacter { public: /** * Default constructor. * */ character(); /** * Destructor. * */ ~character(); }; #ifndef SWIG namespace data { /** * All the game's characters, different from the player. * */ extern dictionary characters; /** * The player character. * */ extern character *the_player; } #endif #endif // CHARACTER_H_ adonthell-0.3.5/src/character_base.cc0000644000076500000240000000376207532163262014452 00000000000000/* $Id: character_base.cc,v 1.11 2002/08/25 14:16:18 gnurou Exp $ Copyright (C) 2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file character_base.cc * @author Kai Sterker * * @brief Defines the character_base class. * * */ #include "character_base.h" #include using namespace std; character_base::character_base () { color = 1; name = ""; dialogue = ""; // characters are NPC's by default set_val ("type", NPC); } character_base::~character_base () { } void character_base::set_name (string newname) { name = newname; } void character_base::set_dialogue (string newdlg) { dialogue = newdlg; } void character_base::put_state(ogzstream& out) { storage::iterator i; u_int32 j; // Save name name >> out; // save color color >> out; // Save all attributes and flags j = size (); j >> out; for (i = begin (); i != end (); i++) { string s = (*i).first; s >> out; (*i).second >> out; } dialogue >> out; portrait >> out; } void character_base::get_state (igzstream& in) { u_int32 i, size; s_int32 value; // load name name << in; // load color color << in; // load all attributes and flags size << in; for (i = 0; i < size; i++) { string key; key << in; /// @bug : We should be able to pass a string to objects /// instead of a char *, which memory isn't freed at exit. value << in; set_val (key.c_str (), value); } dialogue << in; portrait << in; } adonthell-0.3.5/src/character_base.h0000644000076500000240000000701107655531400014302 00000000000000/* $Id: character_base.h,v 1.13 2003/05/05 18:52:48 ksterker Exp $ Copyright (C) 2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file character_base.h * @author Kai Sterker * * @brief Declares the character_base class. * * */ #ifndef CHARACTER_BASE_H_ #define CHARACTER_BASE_H_ /** * Where dialogs are located in the data tree. * */ #define DIALOG_DIR "dialogues/" #include "storage.h" #include "fileops.h" /** * Race enumeration. * */ enum { DWARF = 0, ELF = 1, HALFELF = 2, HUMAN = 3 }; /** * Gender enumeration. * */ enum { FEMALE = 0, MALE = 1 }; /** * Type enumeration. * */ enum { NPC = 0, PLAYER = 1, PARTY = 2 }; /** * Base character class containing attributes and dialog stuff. * */ class character_base : public storage { public: /** * Default constructor. * */ character_base (); /** * Destructor. * */ ~character_base (); /** * Returns the name of the %character. * * @return the name of the %character. */ string get_name () const { return name; } /** * Returns an unique identifier of the %character. * * @return * @li Player for the player controlled %character * @li the %character's name otherwise. */ string get_id () { if (get_val ("type") == PLAYER) return "Player"; else return name; } /** * Sets the name of the %character. * * @param newname name of the %character. */ void set_name (string newname); /** * Returns the color representing the %character. * * @return the color representing the %character. */ u_int32 get_color() const { return color; } /** * Sets the color representing the %character. * * @param c new color representing the %character. */ void set_color (int c) { color = c; } /** * Returns the current portrait of the %character. * * @return the current portrait of the %character. */ string get_portrait() const { return portrait; } /** * Sets the current portrait of the %character. * * @param fname filename of the new portrait to use. */ void set_portrait (string fname) { portrait = fname; } /** * Return the file name of the current %character's dialog. * * @return file name of the dialog currently assigned to this %character. */ string get_dialogue () const { return dialogue; } /** * Sets the dialogue of the %character. * * @param dialogue new %character's dialog. */ void set_dialogue (string dialogue); /** * Loads the state (attributes) of the %character from an opened file. * * @param in file from which to read. */ void get_state (igzstream& in); /** * Saves the state (ttributes) of the %character into an opened file. * * @param out file where to save. */ void put_state (ogzstream& out); private: string name; string dialogue; string portrait; u_int32 color; }; #endif adonthell-0.3.5/src/data_screen.cc0000644000076500000240000002276707655531400014001 00000000000000/* $Id: data_screen.cc,v 1.25 2003/05/05 18:52:48 ksterker Exp $ Copyright (C) 2001/2002 by Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file data_screen.cc * @author Kai Sterker * * @brief Defines the data_screen class. * * */ #include #include "pnm.h" #include "gamedata.h" #include "gamedate.h" #include "image.h" #include "input.h" #include "window.h" #include "data_screen.h" #include "gametime.h" #include "win_manager.h" data_screen::data_screen (int m) { mode = m; aborted = false; entry = NULL; //Init Position and Size win_container::move (30, 15); win_container::resize (260, 210); // Create GUI font = win_manager::get_font ("original"); theme = win_manager::get_theme ("original"); //Set features used set_border(*theme); set_background(*theme); //Set special Features set_trans_background(true); //Create a win_select image_list = new win_select(); image_list->move (10, 0); image_list->resize (250, 210); image_list->set_mode (win_select::MODE_BRIGHTNESS); image_list->set_layout (win_container::LIST_LAYOUT); image_list->set_circle (true); image_list->set_space_with_border (9); image_list->set_space_with_object (9); image_list->set_scrollbar (*theme); image_list->set_visible_scrollbar (true); // activate the list image_list->set_activate (true); // give focus to the list set_focus_object (image_list); image_list->set_signal_connect ( makeFunctor (*this, &data_screen::on_select), win_event::ACTIVATE_KEY); // add the win_select to *this add (image_list); // add all the saved games to the list init (); // show everything set_visible_background (true); set_visible_border (true); set_visible_all (true); } data_screen::~data_screen () { // fade in from black after loading a game if (mode == LOAD_SCREEN && !aborted) data::engine->fade_in (); } void data_screen::init () { string filepath; u_int16 num = 0; win_image *shot; win_write *entry; win_label *date; win_container *box = NULL; win_font *yellow = win_manager::get_font ("yellow"); gamedata *gdata; // display all the available saved games while ((gdata = gamedata::next_save ()) != NULL) { filepath = gdata->directory (); filepath += "/preview.pnm"; shot = new win_image (); shot->image::load_pnm (filepath); shot->move (5, 2); shot->set_border (*theme, win_border::MINI); shot->set_visible_border (true); shot->pack(); date = new win_label (); date->move (100, 2); ((label*)date)->resize (130, 14); date->set_font (*yellow); date->set_text (gdata->gametime ()); date->set_cursor_visible (false); date->pack(); entry = new win_write (); entry->move (100, 18); ((label_input*)entry)->resize (130, 40); entry->set_font (*font); entry->set_text (gdata->description ()); entry->set_cursor_visible (false); entry->pack(); entry_list.push_back (entry); box = new win_container (); box->move (0, 0); box->resize (230, 58); box->add (shot); box->add (date); box->add (entry); box->set_visible_all (true); // when the box is activated, we set the entry as // focus object of the box box->set_focus_object (entry); image_list->add (box); num++; } // If we're saving the game, add "Empty Slot" if (mode == SAVE_SCREEN) { sprintf (gametime, "Day %i - %02i:%02i", gamedate::day (), gamedate::hour (), gamedate::minute ()); shot = new win_image (); shot->move (5, 2); shot->load_pnm ("gfx/empty_slot.pnm"); shot->set_border (*theme, win_border::MINI); shot->set_visible_border (true); shot->pack (); date = new win_label (); date->move (100, 2); ((label*)date)->resize (130, 14); date->set_font (*yellow); date->set_text (gametime); date->set_cursor_visible (false); date->pack(); entry = new win_write (); entry->set_font (*font); entry->move (100, 18); ((label_input*) entry)->resize (130, 40); entry->set_text ("Empty Slot"); entry->set_cursor_visible (false); entry->pack (); entry_list.push_back (entry); box = new win_container (); box->move (0, 0); box->resize (230, 58); box->add (shot); box->add (date); box->add (entry); box->set_visible_all (true); // when the box is activated, we set the entry as // focus object of the box box->set_focus_object(entry); image_list->add (box); image_list->set_default_object (box); num++; } else image_list->set_default_position (0); // If there are no saved games, display a message. if (!num) { box = new win_container (); box->move(0, 0); box->resize(230, 150); win_label * mess = new win_label (); mess->set_font (*font); mess->move (0, 65); mess->set_form (label::AUTO_SIZE); mess->set_text ("You have no saved games yet!"); mess->set_align (win_base::ALIGN_CENTER); mess->pack (); box->add (mess); mess = new win_label (); mess->set_font (*font); mess->move (0, 115); mess->set_form (label::AUTO_SIZE); mess->set_text ("Press ESC."); mess->set_align (win_base::ALIGN_CENTER); mess->pack (); box->add (mess); box->set_visible_all (true); box->set_can_be_selected (false); image_list->add (box); } } bool data_screen::update () { if (!win_container::update() || input::has_been_pushed (SDLK_ESCAPE)) { aborted = true; data::engine->main_quit (); } return true; } // Select a game void data_screen::on_select () { int pos = image_list->get_selected_position (); // loading if (mode == LOAD_SCREEN) { // fade to black before doing the actual work data::engine->fade_out (); set_visible (false); if (!gamedata::load (pos)) aborted = true; data::engine->main_quit (); } // saving else { win_container * tmp = (win_container*)image_list->get_selected_object(); image_list->set_focus_object(tmp); entry = (win_write*) tmp->focus_object(); entry->set_cursor_visible (true); entry->set_cursor_moveable (true); const char *txt = entry->text_char (); if (txt && !strncmp (txt, "Empty Slot", 10)) entry->set_text (""); entry->set_signal_connect (makeFunctor (*this, &data_screen::on_save), win_event::ACTIVATE_KEY); entry->set_activate (true); input::clear_keys_queue (); } } void data_screen::on_save () { const char* description = entry->text_char (); int pos = image_list->get_selected_position (); gamedata::save (pos, description, gametime); gamedata *gdata = gamedata::get_saved_game (pos); // save sucessful --> save preview if (gdata != NULL) { string filepath = gdata->directory (); filepath += "/preview.pnm"; save_preview (filepath); } data::engine->main_quit (); } // Save the small thumbnail image void data_screen::save_preview (string path) { drawing_area da (0, 0, screen::length () >> 1, screen::height () >> 1); image temp (da.length (), da.height()); image preview (72, 54); mapview *view = data::engine->get_mapview (); mapsquare_area *area = data::engine->get_landmap ()->get_submap (data::the_player->submap ()); u_int16 offx = 0; u_int16 offy = 0; // In those cases where the mapview is smaller than the physical screen, // it will be centered on the screen -> get the offset if (area->area_length () * MAPSQUARE_SIZE < view->length ()) offx = (view->length () - area->area_length () * MAPSQUARE_SIZE) >> 1; if (area->area_height () * MAPSQUARE_SIZE < view->height ()) offy = (view->height () - area->area_height () * MAPSQUARE_SIZE) >> 1; // Calculate the player's absolute position on the screen s_int16 x = (data::the_player->posx () - view->posx ()) * MAPSQUARE_SIZE + offx; s_int16 y = (data::the_player->posy () - view->posy ()) * MAPSQUARE_SIZE + offy; // this is a quarter of the screen's size. u_int16 length = da.length() >> 1; u_int16 height = da.height() >> 1; // If the player is too close to the border, make sure we still stay // within the screen if (x + length > screen::length ()) x = -da.length (); else if (x - length < 0) x = 0; else x = length - x; if (y + height > screen::height ()) y = -da.height (); else if (y - height < 0) y = 0; else y = height - y; data::engine->draw (x, y, &da, &temp); preview.zoom (temp); preview.save_pnm (path); } adonthell-0.3.5/src/data_screen.h0000644000076500000240000000456207626252732013642 00000000000000/* $Id: data_screen.h,v 1.12 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2001 by Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file data_screen.h * @author Kai Sterker * * @brief Declares the data_screen class. * * */ #ifndef DATA_SCREEN_H__ #define DATA_SCREEN_H__ #include "win_select.h" #include "win_theme.h" #include "win_write.h" /** * Whether the data screen should load or save games. * */ enum { LOAD_SCREEN = 0, SAVE_SCREEN = 1 }; /** * The gui for loading/saving games. * */ class data_screen : public win_container { public: /** * Constructor. * * @param m LOAD_SCREEN or SAVE_SCREEN, depending on whether * you want to save or load a game. * */ data_screen (int m); /** * Destructor. * */ ~data_screen (); /** * React to input. * */ bool update (); /** * Returns the player's action * * @return * @li true if a game has been loaded/saved * @li false if the action has been cancelled */ bool get_result () { return !aborted; } private: /** * GUI initialisation. * */ void init (); /** * Callback for selecting a game. * */ void on_select (); /** * Callback for entering a description. * */ void on_save (); /** * Write the thumbnail to disk. * */ void save_preview (string); win_font *font; // the font win_theme *theme; // the theme win_write *entry; // for entering a description of the game win_select *image_list; // list of thumbnails vector entry_list; // list of game descriptions int mode; // Whether we're saving or loading bool aborted; // Indicates whether action has been cancelled char gametime[20]; // time when saving the game }; #endif // DATA_SCREEN_H__ adonthell-0.3.5/src/dialog.cc0000644000076500000240000002403310704220315012741 00000000000000/* $Id: dialog.cc,v 1.36 2007/10/13 19:47:25 ksterker Exp $ (C) Copyright 2000/2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ /** * @file dialog.cc * @author Kai Sterker * * @brief Declares the dialog class. * * */ #include #include #include #include "character.h" #include "dialog.h" #include "nls.h" #include "yarg.h" // Constructor dialog::dialog (character_base *npc) { strings = NULL; npc_portrait_= npc->get_portrait (); npc_name_ = npc->get_name (); } // Destructor dialog::~dialog () { clear (); } // Prepare the dialogue for execution bool dialog::init (string fpath, string name, PyObject *args) { // Load and instanciate the dialogue object if (!dialogue.create_instance (fpath, name, args)) return false; // Remaining setup tasks if (!setup ()) return false; return true; } // Misc. initialisation bool dialog::setup () { PyObject *list, *s; u_int32 i, size; // Get the text that may loop list = dialogue.get_attribute ("loop"); if (list && PyList_Check (list)) { size = PyList_Size (list); for (i = 0; i < size; i++) { s = PyList_GetItem (list, i); if (s && PyInt_Check (s)) loop.push_back (PyInt_AsLong (s)); } Py_DECREF (list); } // Extract the dialogue's strings list = dialogue.get_attribute ("text"); if (list && PyList_Check (list)) { size = PyList_Size (list); strings = new const char*[size]; for (i = 1; i < size; i++) { s = PyList_GetItem (list, i); if (s && PyString_Check (s)) strings[i] = PyString_AsString (s); else strings[i] = "*** Error"; } Py_DECREF (list); } else return false; // Init the first answer answers.push_back (0); return true; } // Reload a dialogue script that has changed on disk bool dialog::reload (string fpath, string name, PyObject *args) { // Load and instanciate the dialogue object if (!dialogue.reload_instance (fpath, name, args)) return false; // Remaining setup tasks if (!setup ()) return false; return true; } // Clean up void dialog::clear () { if (strings) delete[] strings; } // iterate over the dialogue text string dialog::text () { if (i_text == text_.end ()) { i_text = text_.begin (); return ""; } return *i_text++; } // Gets the index of either the player or npc array void dialog::run (u_int32 index) { PyObject *arg, *result, *speaker, *speech; s_int32 s, answer = answers[index]; u_int32 stop, size; // empty previous dialogue text text_.clear (); answers.clear (); // end of dialogue if (answer == -1) return; // Mark the Player text as used unless loops allowed if (find (loop.begin (), loop.end (), answer) == loop.end ()) used.push_back (answer); do { // Execute the next part of the dialogue arg = Py_BuildValue ("(i)", answer); // run next part of dialogue dialogue.run (arg); #ifdef PY_DEBUG python::show_traceback (); #endif Py_XDECREF (arg); // Now fill in the NPC's and Player's responses: // 1. Get the neccesary attributes of the dialogue class speaker = dialogue.get_attribute ("speaker"); speech = dialogue.get_attribute ("speech"); // 2. Search the NPC part for used text for (int i = 0; i < PyList_Size (speech); i++) { s = PyInt_AsLong (PyList_GetItem (speech, i)); // Remove text that was already used and isn't allowed to loop if (find (used.begin (), used.end (), s) != used.end ()) { PySequence_DelItem (speaker, i); PySequence_DelItem (speech, i--); } } // check if some text is left at all size = PyList_Size (speech); if (size == 0) { i_text = text_.begin (); return; } // prepare the random number generator yarg::range (0, size - 1); // check type of speaker if (PyList_GetItem (speaker, 0) != Py_None) { // got NPC text, so let the engine decide int rnd = yarg::get (); // get the text answer = PyInt_AsLong (PyList_GetItem (speech, rnd)); text_.push_back (scan_string (nls::translate (strings[answer]))); // get the NPC color, portrait and name char *npc = PyString_AsString (PyList_GetItem (speaker, rnd)); if (npc != NULL) { if (strcmp ("Narrator", npc) == 0) npc_color_ = 0; else { // set color and portrait of the NPC character_base *mychar = data::characters[npc]; npc_color_ = mychar->get_color (); npc_portrait_ = mychar->get_portrait (); npc_name_ = npc; } } // check whether we shall continue or not arg = Py_BuildValue ("(i)", answer); result = dialogue.call_method_ret ("stop", arg); stop = PyInt_AsLong (result); Py_XDECREF (result); Py_XDECREF (arg); // Mark the NPC text as used unless loops allowed if (find (loop.begin (), loop.end (), answer) == loop.end ()) used.push_back (answer); answers.push_back (answer); } else { // got Player text, so let the player decide for (u_int32 i = 0; i < size; i++) { // simply add all text to let the player select an answer answer = PyInt_AsLong (PyList_GetItem (speech, i)); text_.push_back (scan_string (nls::translate (strings[answer]))); answers.push_back (answer); } // let the player make his decision stop = true; } // cleanup Py_XDECREF (speaker); Py_XDECREF (speech); } while (!stop); // init the iterator for dialogue text retrieval i_text = text_.begin (); } // execute embedded functions and replace shortcuts // yeah, the c string library hurts, but at least it's fast ;) string dialog::scan_string (const char *s) { u_int32 begin, end, len; PyObject *result; char *tmp, *start, *mid, *str = NULL; character *the_player = data::the_player; string newstr (s); // replace $... shortcuts while (1) { // check wether the string contains shortcut code at all start = strchr (newstr.c_str (), '$'); if (start == NULL) break; // replace "$name" if (strncmp (start, "$name", 5) == 0) { begin = newstr.length () - strlen (start); string t (newstr, 0, begin); t += the_player->get_name (); t += (start+5); newstr = t; continue; } // replace "$fm" if (strncmp (start, "$fm", 3) == 0) { // extract the "$fm{.../...} part end = strcspn (start, "}"); str = new char[end]; str[end-1] = 0; strncpy (str, start+3, end); if (the_player->storage::get_val ("gender") == FEMALE) mid = get_substr (str, "{", "/"); else mid = get_substr (str, "/", "}"); begin = newstr.length () - strlen(start); tmp = new char[newstr.length () - end + strlen (mid)]; strncpy (tmp, newstr.c_str (), begin); tmp[begin] = 0; strcat (tmp, mid); strcat (tmp, start+end+1); delete[] str; delete[] mid; newstr = tmp; continue; } // Error! cout << "\n*** Error, unknown macro " << start << flush; start[0] = ' '; } // execute python functions while (1) { // check wether the string contains python code at all start = strchr (newstr.c_str (), '{'); if (start == NULL) break; end = strcspn (start, "}"); mid = NULL; str = new char[end]; str[end-1] = 0; // extract the code without the brackets strncpy (str, start+1, end-1); // run the string result = PyObject_CallMethod (dialogue.get_instance (false), str, NULL); if (result) if (PyString_Check (result)) mid = (char*) nls::translate (PyString_AS_STRING (result)); // Replace existing with new, changed string // 1. Calculate string's length len = newstr.length (); begin = len - strlen (start); tmp = new char[(mid ? strlen(mid) : 0) + len - strlen(str)]; // 2. Merge prefix, resulting string and postfix into new string strncpy (tmp, newstr.c_str (), begin); tmp[begin] = 0; if (mid) strcat (tmp, mid); strcat (tmp, start+end+1); // 3. Exchange strings newstr = tmp; // Cleanup Py_XDECREF (result); delete[] str; delete[] tmp; } return newstr; } char *dialog::get_substr (const char* string, const char* begin, const char* end) { u_int32 b, e; b = strcspn (string, begin) + 1; e = strcspn (string, end) - b; char *result = new char[e+1]; strncpy (result, string+b, e); result[e] = 0; return result; } adonthell-0.3.5/src/dialog.h0000644000076500000240000001240210704220315012600 00000000000000/* $Id: dialog.h,v 1.55 2007/10/13 19:47:25 ksterker Exp $ (C) Copyright 2000/2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef DIALOG_H__ #define DIALOG_H__ /** * @file dialog.h * @author Kai Sterker * * @brief Defines the dialog class. * * */ #include "character_base.h" #include "py_object.h" using namespace std; /** * The lowlevel dialog class. It is the link between Python dialogue * scripts and the \link dialog_screen dialogue GUI \endlink . As such * it is responsible for loading dialogue scripts and for stepping through * the dialogue according to the player's %input and the current state * of the %game. After each step, the resulting dialogue %text is available * for display through the GUI. * */ class dialog { public: /** * Default constructor. * @param npc The npc this dialogue is assigned to. */ dialog (character_base *npc); /** * Destructor. * */ ~dialog (); /** * Load and instanciate the dialog object. * * @param fpath full path to the dialogue. * @param name name of the dialogue class. * @param args arguments to pass to the dialogue class * * @return \e true in case of success, \e false otherwise. * @sa reload() */ bool init (string fpath, string name, PyObject *args); /** * This method is similar to init. But unlike init, it will * correctly handle dialogues that have changed on disk since * they were first imported. This function can safely be called * several times, although the dialogue will be reset each time. * * @param fpath full path to the dialogue. * @param name name of the dialogue class. * @param args arguments to pass to the dialogue class * * @return \e true in case of success, \e false otherwise. * @sa init() */ bool reload (string fpath, string name, PyObject *args); /** * Run the dialogue. Executes one step of the conversation. * Afterwards the NPC's speech and possible reactions of the * player can be retrieved via the text() method. * * @param index the index of the chosen alternative from the * previous list of %text. */ void run (u_int32 index); /** * Returns the Python dialog instance. * * * @return the Python dialog instance. */ PyObject *get_instance () { return dialogue.get_instance (); } /** * Returns the color to be used for displaying the NPC's speech. * * * @return the NPC's color. */ u_int32 npc_color () { return npc_color_; } /** * Returns the image to be displayed next to the NPC's speech. * * * @return name of the image. */ const string & npc_portrait () { return npc_portrait_; } /** * Returns the name to be displayed under the NPC's portrait. * * * @return name of the NPC. */ const string & npc_name () { return npc_name_; } /** * Returns the number of %text lines available at this point of * the dialoge. * * @return the number of available dialogue texts. 0 if the * dialogue is finished. * * @sa text() */ u_int32 text_size () { return text_.size (); } /** * Iterates over the dialogue's %text. Depending on the current state * of the dialogue, there can be multiple alternatives. The first * string is always the NPC's speech. Any following strings are * the player's possible reactions. The value passed to the run () * method is the (zero-based) index of the alternative chosen by * the player. * * @return the next string in the list of text, or the empty string "" * when the end of the array of strings has been reached. * @sa text_size() */ string text (); private: py_object dialogue; // Points to the instantiated dialogue class const char **strings; // The dialogue text vector text_; // NPC's speech and according Player responses vector::iterator i_text;// Iterator for the text_ vector u_int32 npc_color_; // Current NPCs text color string npc_portrait_; // Current NPCs portrait string npc_name_; // Current NPCs name vector answers; // The indices to pass to dialogue.run () vector choices; // Strings player can chose from vector used; // Dialogue parts that are already spoken vector loop; // Dialogue parts that can be looped void clear (); // Cleanup bool setup (); // Further dialogue initialisation string scan_string (const char*);// Look for enclosed code and execute it char* get_substr (const char*, const char*, const char*); }; #endif // DIALOG_H__ adonthell-0.3.5/src/dialog_screen.cc0000644000076500000240000001501710137121505014303 00000000000000/* $Id: dialog_screen.cc,v 1.12 2004/10/25 06:55:01 ksterker Exp $ (C) Copyright 2000/2001/2004 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ /** * @file dialog_screen.cc * @author Kai Sterker * * @brief Defines the dialog_screen class. * * */ #include #include "gamedata.h" #include "input.h" #include "image.h" #include "python_class.h" #include "input.h" #include "dialog_screen.h" #include "win_manager.h" #include "audio.h" // Init the dialogue engine dialog_screen::dialog_screen (character_base *mynpc, char * dlg_file, u_int8 size) { init (mynpc, dlg_file, size); } void dialog_screen::init(character_base *mynpc, char * dlg_file, u_int8 size) { string path = dlg_file; string file = strrchr (dlg_file, '.') ? strrchr (dlg_file, '.') + 1 : dlg_file; audio::play_wave (-1, 0); is_running = true; portrait = "None"; // Init position & size win_container::move (15, 15); win_container::resize (290, 115); // Load the different fonts fonts[0] = win_manager::get_font ("white"); fonts[1] = win_manager::get_font ("yellow"); fonts[2] = win_manager::get_font ("red"); fonts[3] = win_manager::get_font ("violet"); fonts[4] = win_manager::get_font ("blue"); fonts[5] = win_manager::get_font ("green"); theme = win_manager::get_theme ("original"); set_border (*theme); set_background (*theme); set_trans_background (true); // Full or half-sized window if (size) { move (20, 15); resize (280, 210); } // Init the low level dialogue stuff dlg = new dialog (mynpc); // Create dialogue window // The NPC's portrait face = new win_image(); face->move (5, 5); ((image*)face)->resize (64, 64); face->pack(); face->set_visible (true); // The NPC's name name = new win_label (); name->set_font (*(fonts[0])); name->move (5, 74); ((label*)name)->resize (64, 0); name->set_form (label::AUTO_HEIGHT); name->set_visible (true); // The list with the dialogue sel = new win_select (); sel->set_scrollbar (*theme); sel->move (80, 0); sel->resize (210, height ()); sel->set_mode (win_select::MODE_BRIGHTNESS); sel->set_layout (win_container::LIST_LAYOUT); sel->set_space_with_border (5); sel->set_space_with_object (5); sel->set_circle (true); sel->set_visible_scrollbar (true); // Commented 'cause it makes troubles during dialogues right now :) // sel->set_auto_scrollbar (true); sel->set_activate (true); sel->set_visible (true); sel->set_focus (true); //due an error from window system // Notification when a dialogue item get's selected sel->set_signal_connect (makeFunctor (*this, &dialog_screen::on_select), win_event::ACTIVATE_KEY); // add everything to our container add (face); add (name); add (sel); set_focus_object (sel); set_visible_border (true); set_visible_background (true); set_visible (true); set_activate (true); // Make the npc and player available to the dialogue engine PyObject *args = PyTuple_New (2); PyTuple_SetItem (args, 0, python::pass_instance (data::the_player, "character")); PyTuple_SetItem (args, 1, python::pass_instance (mynpc, "character_base")); // Load dialogue if (!dlg->init (path, file, args)) { cout << "\n*** Error loading dialogue script " << file << "\n"; #ifdef PY_DEBUG python::show_traceback (); #endif cout << flush; answer = -1; } else answer = 0; // Clean up Py_DECREF (args); } dialog_screen::~dialog_screen () { sel->set_activate (false); delete dlg; // get rid of any keys that might have been accidently pressed during dialogue input::clear_keys_queue (); } void dialog_screen::run () { u_int32 i = 0; win_label *l; // Possibly error if (answer < 0) { is_running = false; return; } // Continue dialogue with selected answer dlg->run (answer); // End of dialogue if (dlg->text_size () == 0) { is_running = false; return; } // update the NPC's portrait and name set_portrait (dlg->npc_portrait ()); set_name (dlg->npc_name ()); // Add NPC text and all player reactions to container for (string txt = dlg->text (); txt != ""; txt = dlg->text (), i++) { l = new win_label(); l->set_font (i == 0 ? *fonts[dlg->npc_color ()] : *fonts[1]); l->move(0,0); ((label*)l)->resize(190,0); l->set_form(label::AUTO_HEIGHT); l->set_text (txt); l->set_visible (true); l->pack(); cur_answers.push_back (l); sel->add (l); } // Either select the single NPC speech ... if (dlg->text_size () == 1) sel->set_default_object (cur_answers.front ()); // ... or the player's first answer else { cur_answers[0]->set_can_be_selected (false); sel->set_default_object (cur_answers[1]); } // Center on the NPC answer sel->set_pos (0); } bool dialog_screen::update () { return (win_container::update() && is_running); } void dialog_screen::on_select () { // remember choice answer = sel->get_selected_position () - 1; // remove all the text sel->destroy (); cur_answers.clear (); run (); } void dialog_screen::insert_plugin () { } // Set / change the NPC-portrait void dialog_screen::set_portrait (const string & new_portrait) { if (new_portrait == portrait) return; else portrait = new_portrait; if (new_portrait == "") { face->image::resize (64, 64); face->fillrect (0, 0, 64, 64, 0x00ff00ff); return; } face->load_pnm(string ("gfx/portraits/") + new_portrait); face->set_mask(true); face->pack(); } // Set / change the NPC-name void dialog_screen::set_name (const string & new_name) { name->set_text (new_name); name->pack (); } // Set a different NPC void dialog_screen::set_npc (const string & new_npc) { character_base *mynpc = (character_base *) data::characters[new_npc.c_str ()]; set_name (mynpc->get_name()); set_portrait (mynpc->get_portrait ()); } adonthell-0.3.5/src/dialog_screen.h0000644000076500000240000000706207626252732014166 00000000000000/* $Id: dialog_screen.h,v 1.3 2003/02/23 23:14:34 ksterker Exp $ (C) Copyright 2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ /** * @file dialog_screen.h * @author Kai Sterker * * @brief Declares the dialog_screen class. * * */ #ifndef DLG_ENGINE_H__ #define DLG_ENGINE_H__ #include "dialog.h" #include "window.h" #include "win_select.h" #include "win_theme.h" /** * Maximum number of colors used during a dialog. * */ #define MAX_COLOR 6 /** * Allows the running of dialogues through a nice interface. * */ class dialog_screen : public win_container { public: /** * Constructor. * * @param mynpc npc the player is talking with. * @param dlg_file dialogue file to use. * @param size if 1, use a large window, else a small one. * */ dialog_screen (character_base * mynpc, char * dlg_file, u_int8 size=1); /** * Destructor. * */ ~dialog_screen (); /** * Inits the dialogue engine (similar to a constructor call). * * @param mynpc npc the player is talking with. * @param dlg_file dialogue file to use. * @param size if 1, use a large window, else a small one. * */ void init(character_base *mynpc, char * dlg_file, u_int8 size=1); /** * Changes the displayed NPC portrait. * * @param new_portrait file name of the new portrait image to set. */ void set_portrait (const string & new_portrait); /** * Changes the displayed NPC name. * * @param char* new name of the npc. */ void set_name (const string & new_name); /** * Changes the whole NPC. * * @param char* the name of the new npc to use. */ void set_npc (const string & new_npc); /** * React to (keyboard) input. * * @return true if the dialog is still running, false otherwise. */ bool update (); /** * Execute one step of the dialogue. * */ void run (); #ifndef SWIG private: /** * 'Merges' a dialogue with the loaded one. * */ void insert_plugin (); /** * Callback when item is "activated". * */ void on_select (); /** * Widget holding NPC portrait. * */ win_image *face; /** * Widget holding NPC name. * */ win_label *name; /** * Window theme. * */ win_theme *theme; /** * Selection of possible answers. * */ win_select *sel; /** * As long as realtime coloring does not work. * */ win_font *fonts[MAX_COLOR]; /** * Answers currently available for selection. * */ vector cur_answers; /** * The Python/C interface for the dialogue. * */ dialog *dlg; /** * The selected dialogue option. * */ s_int32 answer; /** * Index of first selectible dialogue item. * */ u_int32 sel_start; /** * True as long as we don't want to quit. * */ bool is_running; /** * Image to display next to the NPC text * */ string portrait; #endif // SWIG }; #endif // DLG_ENGINE_H__ adonthell-0.3.5/src/drawable.cc0000644000076500000240000000153307330620751013274 00000000000000// $Id: drawable.cc,v 1.4 2001/07/28 20:34:49 gnurou Exp $ /* Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file drawable.cc * @author Alexandre Courbot * * @brief Defines the drawable class. */ #include "drawable.h" using namespace std; // Public methods. drawable::drawable () { set_length (0); set_height (0); } drawable::~drawable () { } bool drawable::update () { return true; } bool drawable::input_update () { return true; } adonthell-0.3.5/src/drawable.h0000644000076500000240000000646007330620751013142 00000000000000/* $Id: drawable.h,v 1.6 2001/07/28 20:34:49 gnurou Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file drawable.h * @author Alexandre Courbot * * @brief Declares the drawable class. * */ #ifndef DRAWABLE_H_ #define DRAWABLE_H_ #include "drawing_area.h" class surface; /** * Abstract class for drawable %objects manipulation. * * This class is designed to allow flexibility in * drawable %objects manipulation. It also serves as * a template when creating your own classes. * * It defines the basic virtual methods every drawable * object is required to have. When you design such drawable * object, make it inherit from this class and overload the virtual * functions you wish to use. * * The main advantage of this class is that it allows you to manipulate * any drawable object (image, animation, mapview...) without caring * about it's type, at the little cost of having to use virtual methods. * * There are a few methods that are required to be overloaded * in your class. The draw method is a must-have. Your object must also * take care to set the size of the drawable correctly (the best thing * being that it should use the drawable's size as it's own and don't * overload the length () and height () methods). * */ class drawable { public: /** * Default constructor. * */ drawable (); /** * Destructor. */ virtual ~drawable (); /** * Returns the length of the drawable. * * * @return length of the drawable. */ u_int16 length () const { return length_; } /** * Returns the height of the drawable. * * * @return height of the drawable. */ u_int16 height () const { return height_; } /** * Virtual update function, provided for %objects which * doesn't need one. * */ virtual bool update (); /** * Virtual input update function, provided for %objects which * doesn't need one. * */ virtual bool input_update (); /** * Draw the object on the %screen. * * @param x X position where to draw. * @param y Y position where to draw. * @param da_opt optional drawing_area to use during the drawing operation. * @param target pointer to the surface where to draw the drawable. If NULL, * draw on the screen. */ virtual void draw (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const = 0; protected: /** * Sets the length of the drawable. * * @param l new length. */ void set_length (u_int16 l) { length_ = l; } /** * Sets the height of the drawable. * * @param h new height. */ void set_height (u_int16 h) { height_ = h; } private: u_int16 length_; u_int16 height_; }; #endif adonthell-0.3.5/src/drawing_area.cc0000644000076500000240000000350007320171517014132 00000000000000/* $Id: drawing_area.cc,v 1.2 2001/07/02 22:18:55 gnurou Exp $ Copyright (C) 1999/2000/2001 The Adonthell Project Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file drawing_area.cc * @author Alexandre Courbot * * @brief Defines the drawing_area class. * * */ #include "drawing_area.h" using namespace std; drawing_area::drawing_area () { move (0, 0); resize (0, 0); draw_to = NULL; } drawing_area::drawing_area (s_int16 px, s_int16 py, u_int16 pw, u_int16 ph) { move (px, py); resize (pw, ph); draw_to = NULL; } drawing_area& drawing_area::operator = (SDL_Rect& r) { rect = r; draw_to = NULL; return (*this); } SDL_Rect drawing_area::setup_rects () const { if (draw_to) { SDL_Rect ret; SDL_Rect temp = draw_to->setup_rects (); ret.x = temp.x > x ()? temp.x : x (); ret.y = temp.y > y ()? temp.y : y (); // Precalculated for faster operation. s_int32 xpl = x () + length (); s_int32 txw = temp.x + temp.w; s_int32 txwmrx = txw - ret.x; s_int32 xplmrx = xpl - ret.x; s_int32 yph = y () + height (); s_int32 tyh = temp.y + temp.h; s_int32 tyhmry = tyh - ret.y; s_int32 yphmry = yph - ret.y; ret.w = txw < xpl ? txwmrx > 0 ? txwmrx : 0 : xplmrx > 0 ? xplmrx : 0; ret.h = tyh < yph ? tyhmry > 0 ? tyhmry : 0 : yphmry > 0 ? yphmry : 0; return ret; } else return rect; } adonthell-0.3.5/src/drawing_area.h0000644000076500000240000001140310427344362013777 00000000000000/* $Id: drawing_area.h,v 1.10 2006/05/07 10:16:18 ksterker Exp $ Copyright (C) 1999/2000/2001 The Adonthell Project Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file drawing_area.h * @author Alexandre Courbot * * @brief Declares the drawing_area class. * * */ #ifndef DRAWING_AREA_H_ #define DRAWING_AREA_H_ #include "types.h" /** * Implements "drawing zones" for drawing operations. * An object which is drawn into a drawing_area will only appear in * the rectangular zone it covers. * During some drawing operations, you may want to limit the blits to a limited * area of the %screen. For example, if you want to draw an image into a * window, and that image is larger than this window, you don't want the * entire image to appear, only the part that fits into the window. This is * exactly what drawing areas are for. A drawing area is a square that can be * any size and located anywhere on the %screen. If you assign a drawing area * to a drawable object (for example, an image), and then draw the image on * the %screen, the part of the image that doesn't fit the drawing area limits * isn't displayed. A drawing area can be assigned to any drawable, but also * to another drawing area, in which case the result of blitting operations * from objects that are assigned to the second drawing area will be limited * to the intersection of the two drawing areas. Recursively, you can use as many * drawing_areas as you wish for drawing operations. */ class drawing_area { public: /** Default constructor. * The drawing_area is then located at (0, 0) and is (0, 0) sized. */ drawing_area (); #ifndef SWIG /** Builds a drawing_area from the parameters. * @param px X position. * @param py Y position. * @param pw Length. * @param ph Height. * * @note Not available from Python. */ drawing_area (s_int16 px, s_int16 py, u_int16 pw, u_int16 ph); #endif /** Returns the horizontal position of the drawing_area. * @return horizontal position of the drawing_area. */ s_int16 x () const { return rect.x; } /** Returns the vertical position of the drawing_area. * @return vertical position of the drawing_area. */ s_int16 y () const { return rect.y; } /** Returns the length of the drawing_area. * @return length of the drawing_area. */ u_int16 length () const { return rect.w; } /** Returns the height of the drawing_area. * @return height of the drawing_area. */ u_int16 height () const { return rect.h; } /** Move the drawing_area. * @param nx new horizontal position. * @param ny new vertical position. */ void move (s_int16 nx, s_int16 ny) { rect.x = nx; rect.y = ny; } /** Resize the drawing_area. * @param nl new length. * @param nl new height. */ void resize (u_int16 nl, u_int16 nh) { rect.w = nl; rect.h = nh; } /** Assign a drawing_area to this drawing_area. * If a drawing area is assigned to another one, the zone covered * by the drawing_area is the intersection of the two. * @param da the drawing_area to assign. */ void assign_drawing_area (const drawing_area * da) { draw_to = (drawing_area *) da; } /** * Returns a pointer to the drawing_area assigned to this one. * * * @return pointer to the assigned drawing_area, NULL if none. */ drawing_area * assigned_drawing_area () const { return draw_to; } /** Detach (if needed) the drawing_area which was attached to this * one. */ void detach_drawing_area () { draw_to = NULL; } #ifndef SWIG /** * Convert an SDL_Rect into a drawing_area. * * @param r SDL_rect to convert. * * @return drawing_area which has the same dimensions and location as r. */ drawing_area& operator = (SDL_Rect& r); #endif /** * Gets the real parameters of this drawing_area. * * * @return SDL_Rect which is the intersection of this drawing area and * all the drawing areas assigned to it. */ SDL_Rect setup_rects () const; private: /// drawing_area location and size. SDL_Rect rect; /// Attached drawing_area. drawing_area *draw_to; }; #endif adonthell-0.3.5/src/event.cc0000644000076500000240000001205507622002411012624 00000000000000/* $Id: event.cc,v 1.23 2003/02/10 20:01:13 ksterker Exp $ Copyright (C) 2000/2001/2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file event.cc * @author Kai Sterker * * @brief Defines the base event class. */ #include "event.h" #include "event_handler.h" // constructor event::event () { Action = ACTION_NOTHING; Registered = false; Paused = false; Repeat = -1; Script = NULL; PyFunc = NULL; Args = NULL; List = NULL; Id = ""; } // destructor event::~event () { // automatically remove myself from the event_handler if (Registered) event_handler::remove_event (this); // ... and from the event_list if (List) List->remove_event (this); clear (); } // cleanup void event::clear () { switch (Action) { // script attached case ACTION_SCRIPT: { delete Script; Py_XDECREF (Args); Args = NULL; Script = NULL; break; } // python callback attached case ACTION_PYFUNC: { delete PyFunc; PyFunc = NULL; break; } default: break; } Action = ACTION_NOTHING; } // set a script as event's action void event::set_script (std::string filename, PyObject * args) { // cleanup clear (); if (filename == "") return; Py_XINCREF (args); Args = args; u_int16 argssize = args == NULL ? 1 : PyTuple_Size (args) + 1; PyObject *theargs = PyTuple_New (argssize); // We can pass_instance directly 'cause PyTuple_SetItem steals a // reference to the result of pass_instance. PyTuple_SetItem (theargs, 0, python::pass_instance (this, "event")); for (u_int16 i = 1; i < argssize; i++) { PyObject *intref = PyTuple_GetItem (args, i - 1); Py_INCREF (intref); PyTuple_SetItem (theargs, i, intref); } Script = new py_object; Script->create_instance (EVENTS_DIR + filename, filename, theargs); Py_DECREF (theargs); Action = ACTION_SCRIPT; } // set a python callback as event's action void event::set_callback (PyObject *callback, PyObject *args) { // cleanup clear (); // create the callback PyFunc = new py_callback (callback, args); // tell the event what to do Action = ACTION_PYFUNC; } // set a C/C++ callback as event's action void event::set_callback (const Functor0 & callback) { // cleanup clear (); Callback = callback; Action = ACTION_CPPFUNC; } // save the state of the script associated with the event void event::put_state (ogzstream & file) const { Type >> file; // Id >> file; Repeat >> file; Paused >> file; Action >> file; switch (Action) { // save script case ACTION_SCRIPT: { Script->class_name () >> file; if (Args) { true >> file; python::put_tuple (Args, file); } else false >> file; return; } // save python callback case ACTION_PYFUNC: { PyFunc->put_state (file); return; } default: return; } } // load the state of the script associated with the event bool event::get_state (igzstream & file) { // Note that »Type« is already read by event_list::load to // determine what event subclass to instanciate // Id << file; Repeat << file; Paused << file; Action << file; switch (Action) { // load script from file case ACTION_SCRIPT: { std::string name; bool has_args; PyObject * args = NULL; name << file; has_args << file; if (has_args) args = python::get_tuple (file); set_script (name, args); Py_XDECREF (args); return true; } // load python callback from file case ACTION_PYFUNC: { PyFunc = new py_callback; return PyFunc->get_state (file); } default: return true; } return false; } // the event_list this event is kept in void event::set_list (event_list *l) { List = l; } // disable the event temporarily void event::pause () { event_handler::remove_event (this); Paused = true; } // resume a disabled event void event::resume () { event_handler::register_event (this); Paused = false; } // repeat an event s_int32 event::do_repeat () { if (Repeat > 0) Repeat--; return Repeat; } adonthell-0.3.5/src/event.h0000644000076500000240000002102607626252732012505 00000000000000/* $Id: event.h,v 1.34 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2000/2001/2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file event.h * @author Kai Sterker * * @brief Declares the %event class. * */ #ifndef EVENT_H__ #define EVENT_H__ #include "callback.h" #include "py_object.h" #include "py_callback.h" class event_list; /** * Directory where %event scripts reside. */ #define EVENTS_DIR "game_events." #ifndef SWIG /** * Available %event types. */ enum { ENTER_EVENT = 0, // Characters reach a new tile LEAVE_EVENT = 1, // Characters leave a tile TIME_EVENT = 2, // Certain point in gametime reached ACTION_EVENT = 3, // Character "acts" on a square MAX_EVENTS = 4 }; /** * Available 'actions', i.e. what happens when the event occurs */ enum { ACTION_NOTHING = 0, ACTION_SCRIPT = 1, ACTION_PYFUNC = 2, ACTION_CPPFUNC = 3 }; #endif // SWIG /** * Base class for events. You can create your own %event types that can * be handled by the event_list and event_handler by inheriting from * this class. * * Events are used to notify when certain things happen during the game. * They may either execute the "run" method of an exclusive %python script * or a simple %python callback defined elsewhere. */ class event { public: /** * Constructor. Needs to be called by any derived class! */ event (); /** * Destructor. */ virtual ~event (); /** * Cleanup. Clears script and its arguments. */ void clear (); /** * @name Member access */ //@{ /** * Get the event's type. * * @return type of the %event */ u_int8 type () const { return Type; } /** * Get the event's id. * * @return id of the %event. */ const string & id () const { return Id; } /** * Assign an id to the %event, so it may be retrieved from an * event_list later on, without having a pointer to it. * * @param id a string to identify the %event. */ void set_id (const string & id) { Id = id; } /** * Test whether the %event is registered with the %event handler. * * @return \c true if this is the case, \c false otherwise. */ bool registered () const { return Registered; } #ifndef SWIG /** * Set whether the %event is registered with the %event handler. * * @param reg Set to \c true if it is, to \c false otherwise. */ void set_registered (bool reg) { Registered = reg; } /** * Tell the whether it is kept in an %event_list. * * @param list The %event_list this event has been added to. */ void set_list (event_list *list); #endif // SWIG /** * Return whether this event should be repeated. * * @return the number of times this event should be repeated or * -1 in case it should be repeated unlimited times. */ s_int32 repeat () const { return Repeat; } /** * Set whether this event should be repeated. A number greater than 0 * will execute the event that many times, a number less than 0 will * repeat the event forever. A number equal to 0 won't repeat the event. * * @param count How often the event should be repeated. */ void set_repeat (s_int32 count) { Repeat = count; } //@} /** * @name Event Handling */ //@{ /** * Execute the associated python script or callback. * * @param evnt The %event that triggered the execution. * * @return The number of times the %event needs to be repeated. */ virtual s_int32 execute (const event* evnt) = 0; /** * Compare two events for equality. * * @param evnt pointer to the %event to compare with. * @return \e true if the events are equal, \e false otherwise. */ virtual bool equals (const event* evnt) = 0; //@} /** * Sets a script to be executed whenever the event occurs. * * @param filename filename of the script to set. * @param args The arguments to pass to the script's constructor */ void set_script (string filename, PyObject * args = NULL); /** * Sets a python function/method to be executed whenever the * %event occurs. * * @warning the callback won't be saved with the %event. It * must be restored by the event's owner. * * @param callback The function or method to call. * @param args Additional arguments to pass to the callback. */ void set_callback (PyObject *callback, PyObject *args = NULL); #ifndef SWIG /** * Sets a C function/C++ method to be executed whenever the * %event occurs. * * @warning the callback won't be saved with the %event. It * must be restored by the event's owner. * * @param callback The callback, a function with no arguments * returning void */ void set_callback (const Functor0 & callback); #endif // SWIG /** * @name Pausing / Resuming execution */ //@{ /** * Disable the %event temporarily. As long as it in this state, the * event will neither be executed, nor will its repeat-count change. * As long as the %event is paused, it will be removed from its * %event handler. */ virtual void pause (); /** * Re-enable an %event that has been paused. Re-registers it with * its %event handler. */ virtual void resume (); /** * Check whether the %event is temporarily disabled or not. * @return \b true if it is paused, \b false otherwise. */ bool is_paused () const { return Paused; } //@} /** * @name Loading / Saving */ //@{ /** * Saves the basic %event %data (such as the type or script data) * to a file. Call this method from the derived class. * * @param out file where to save the %event. */ virtual void put_state (ogzstream& out) const; /** * Loads the basic %event %date from a file. Call this method from * the derived class. * * @param in file to load the %event from. * @return \e true if the %event could be loaded, \e false otherwise */ virtual bool get_state (igzstream& in); //@} protected: #ifndef SWIG /** * Decrease the event's repeat count and return the number of repeats * left. If the repeat-count reaches 0, the %event will be destroyed. * * @return the number of times this event should be repeated or * -1 in case it should be repeated unlimited times. */ s_int32 do_repeat (); /** * @name Basic Event Data */ //@{ /** * Event type - see enum above. */ u_int8 Type; /** * (Optional) Id of the event */ string Id; /** * What happens if the event occurs - see enum above. */ u_int8 Action; /** * Whether the %event is registered with the %event handler. */ bool Registered; /** * Whether the %event temporarily disabled or not. */ bool Paused; /** * Defines how often the %event should be repeated. 0 means * never, -1 means infinitely and n (n > 0) means * exactly n times. */ s_int32 Repeat; /** * The Python script accociated with this %event. It is executed * whenever the %event gets triggered. */ py_object *Script; /** * The arguments passed to the script. This needs to be a PyTuple * or NULL if there are no arguments. */ PyObject *Args; /** * Python callback that may be executed instead of the script. */ py_callback *PyFunc; /** * C++ callback that may be executed when the %event gets triggered. */ Functor0 Callback; /** * The event_list this event is kept in. */ event_list *List; //@} #endif // SWIG }; #endif // EVENT_H__ adonthell-0.3.5/src/event_handler.cc0000644000076500000240000000326607626252732014346 00000000000000/* $Id: event_handler.cc,v 1.5 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2000/2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file event_handler.cc * @author Kai Sterker * * @brief Implements the event_handler class. * */ #include "event_handler.h" #include "map_event.h" #include "map_event_handler.h" #include "time_event.h" #include "time_event_handler.h" // Array with registered event handlers event_handler_base* event_handler::Handler[MAX_EVENTS]; // functions that return newly instanciated events // of a certain type NEW_EVENT (time_event) NEW_EVENT (enter_event); NEW_EVENT (leave_event); NEW_EVENT (action_event); // Initialize the game event system void event_handler::init () { // register event handlers Handler[ENTER_EVENT] = new map_event_handler; Handler[LEAVE_EVENT] = new map_event_handler; Handler[ACTION_EVENT] = new map_event_handler; Handler[TIME_EVENT] = new time_event_handler; // register events REGISTER_EVENT (TIME_EVENT, time_event) REGISTER_EVENT (ENTER_EVENT, enter_event) REGISTER_EVENT (LEAVE_EVENT, leave_event) REGISTER_EVENT (ACTION_EVENT, action_event) } // Clear the registered handlers void event_handler::cleanup () { for (int i = 0; i < MAX_EVENTS; i++) if (Handler[i] != NULL) delete Handler[i]; } adonthell-0.3.5/src/event_handler.h0000644000076500000240000000427207613054643014203 00000000000000/* $Id: event_handler.h,v 1.5 2003/01/20 20:18:43 ksterker Exp $ Copyright (C) 2000/2001/2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file event_handler.h * @author Kai Sterker * * @brief Declares the event_handler class * */ #ifndef EVENT_HANDLER_H__ #define EVENT_HANDLER_H__ #include "event_handler_base.h" #include "event_list.h" /** * It ensures global access to the individual %event handlers. */ class event_handler { public: /** * Instanciate the actual event handlers. Event handlers * can be specific to a certain event, or take care of * different events. */ static void init (); /** * Delete the %event handlers. */ static void cleanup (); /** * Unregister an %event. * * @param ev pointer to the %event to unregister. */ static void remove_event (event* ev) { ev->set_registered (false); Handler[ev->type ()]->remove_event (ev); } /** * Check if an %event corresponding to ev exists, and execute it. * * @param ev %event to raise. */ static void raise_event (const event* ev) { Handler[ev->type ()]->raise_event (ev); } protected: /** * Registers an %event. * * @param ev pointer to the %event to register. */ static void register_event (event* ev) { ev->set_registered (true); Handler[ev->type ()]->register_event (ev); } /** * Only %event_list is allowed to register events with the * %event_handler. */ friend void event_list::add_event (event* ev); /** * As is event::resume. */ friend void event::resume (); private: /** * A list of the actual %event handlers */ static event_handler_base* Handler[MAX_EVENTS]; }; #endif // EVENT_HANDLER_H__ adonthell-0.3.5/src/event_handler_base.h0000644000076500000240000000300107527775454015200 00000000000000/* $Id: event_handler_base.h,v 1.4 2002/08/18 19:53:16 ksterker Exp $ Copyright (C) 2000/2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file event_handler_base.h * @author Kai Sterker * * @brief Declares the base class for event handlers. * */ #ifndef EVENT_HANDLER_BASE_H__ #define EVENT_HANDLER_BASE_H__ #include "event.h" /** * This is the base class for actual event handlers. It * keeps track of registered scripts, recieves triggered events * and executes scripts handling those events */ class event_handler_base { public: /** * Destructor */ virtual ~event_handler_base () {} /** * Registers an %event. * * @param ev pointer to the %event to register. */ virtual void register_event (event* ev) = 0; /** * Unregister an %event. * * @param ev pointer to the %event to unregister. */ virtual void remove_event (event* ev) = 0; /** * Check if an %event corresponding to ev exists, and execute it. * * @param ev %event to raise. */ virtual void raise_event (const event* ev) = 0; }; #endif // EVENT_HANDLER_BASE_H__ adonthell-0.3.5/src/event_list.cc0000644000076500000240000000704207622002411013657 00000000000000/* $Id: event_list.cc,v 1.8 2003/02/10 20:01:13 ksterker Exp $ Copyright (C) 2000/2001/2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file event_list.cc * @author Kai Sterker * * @brief Implements the event_list class. * */ #include #include "event_list.h" #include "event_handler.h" // Array with callbacks to return a newly instanciated event new_event event_list::instanciate_event[MAX_EVENTS]; // constructor event_list::event_list () { Paused = false; } // destructor event_list::~event_list () { clear (); } // Unregisters and deletes all events. void event_list::clear () { event *ev; while (!Events.empty ()) { ev = Events.back (); ev->set_list (NULL); Events.pop_back (); delete ev; } } // Adds an event to the list and register it with the event_handler. void event_list::add_event (event* ev) { ev->set_list (this); Events.push_back (ev); // if the event list is paused, also pause new events if (Paused) ev->pause (); // only register event if not paused else if (!ev->is_paused ()) event_handler::register_event (ev); } // Remove an event from the list void event_list::remove_event (event *ev) { vector::iterator i; // Search for the event we want to remove i = find (Events.begin (), Events.end (), ev); // found? -> get rid of it :) if (i != Events.end ()) Events.erase (i); } // retrieve event by its id event *event_list::get_event (const string & id) { vector::iterator i; for (i = Events.begin (); i != Events.end (); i++) if ((*i)->id () == id) return *i; return NULL; } // disable all events in the list void event_list::pause () { Paused = true; for (vector::iterator i = Events.begin (); i != Events.end (); i++) (*i)->pause (); } // enable all events in the list void event_list::resume () { Paused = false; for (vector::iterator i = Events.begin (); i != Events.end (); i++) (*i)->resume (); } // Register an event for loading void event_list::register_event (u_int8 type, new_event e) { if (type < MAX_EVENTS) instanciate_event[type] = e; } // Save an event_list to file void event_list::put_state (ogzstream& out) const { std::vector ::iterator i; u_int32 nbr_events = Events.size (); nbr_events >> out; for (i = Events.begin (); i != Events.end (); i++) (*i)->put_state (out); } // Loads an event_list from file bool event_list::get_state (igzstream& in) { u_int32 nbr_events; u_int8 type; event *ev; nbr_events << in; while (nbr_events--) { ev = NULL; type << in; // Instanciate an event of the given type if (type < MAX_EVENTS && instanciate_event[type] != NULL) ev = instanciate_event[type](); // try to load it, ... if (ev != NULL && ev->get_state (in)) add_event (ev); // ... otherwise fail. else { fprintf (stderr, "Could not load event #%i. Aborting ...\n", type); return false; } } return true; } adonthell-0.3.5/src/event_list.h0000644000076500000240000001206507622002411013522 00000000000000/* $Id: event_list.h,v 1.7 2003/02/10 20:01:13 ksterker Exp $ Copyright (C) 2000/2001/2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file event_list.h * @author Kai Sterker * * @brief Declares the event_list class. * */ #ifndef EVENT_LIST_H__ #define EVENT_LIST_H__ #include #include "event.h" using std::string; #ifndef SWIG /** * Pointer to a function returning a newly allocated %event */ typedef event* (*new_event)(); #endif // SWIG /** * Base class for objects that want to register events. It keeps track of * all the events an object has registered with the event_handler and can * automatically unregister them when the object is deallocated. * * It also provides the functionality to load and save the states of * events in its list. * * Objects making use of events should use the %event_list instead of * handling events themselves. */ class event_list { public: /** * Constructor - creates an empty, unpaused %event_list */ event_list (); /** * Destructor - unregisters and deletes all events owned by this list. */ virtual ~event_list (); /** * Unregisters and deletes all events owned by this list. */ void clear (); /** * @name List Operations */ //@{ /** * Adds an %event to this list. The %event will be * registered with the %event_handler and the list will then * take care of it's deletion. * * @param ev pointer to the %event to add. */ void add_event (event* ev); /** * Removes an %event from the list. This is usually called when an * %event is destroyed. * * @param ev pointer to the %event to remove. */ void remove_event (event* ev); /** * Try to retrieve the %event with given id from the list. * * @return a pointer to the %event, or \b NULL if it's not in the list. */ event *get_event (const string & id); //@} /** * @name Pausing / Resuming execution */ //@{ /** * Disable any events associated with this %event_list. This will * effectively stop all actions of the %object the %event_list * belongs to, e.g. a NPC. */ void pause (); /** * Re-enable the events associated with the %event_list, thus * 'awaking' the %object to life again. */ void resume (); /** * Check whether the %event list is temporarily disabled or not. * @return \b true if it is paused, \b false otherwise. */ bool is_paused () const { return Paused; } //@} #ifndef SWIG /** * Register an %event for loading. Before the %event_list can load * an %event from file, it needs a callback function that returns * a new instance of the %event of the given type. * * @param type the type of the %event to register * @param e a callback returning a new instance of an %event of the * given type. * * @sa get_state () */ static void register_event (u_int8 type, new_event e); #endif // SWIG /** * @name Loading / Saving */ //@{ /** * Save the %event_list to a file. * * @param out file where to save the %event_list. */ void put_state (ogzstream& out) const; /** * Loads the %event_list from a file and registers all loaded events. * @warning Before the %event_list can load an %event from file, it needs * a callback function that returns a new instance of that %event. * * @param in file to load the %event_list from. * * @return \e true if the %event_list was loaded successfully, \e false * otherwise. * @sa register_event () */ bool get_state (igzstream& in); //@} #ifndef SWIG protected: /** * List of events. */ mutable std::vector Events; private: /** * Whether this %event_list is paused or not. Events that are added * to a paused list will be paused as well. */ bool Paused; /** * Array with callbacks that return a newly allocated instance of an %event. * The event's type is the postion of the according callback in the array. */ static new_event instanciate_event[MAX_EVENTS]; #endif // SWIG }; #ifndef SWIG /** * Registers an %event with the %event_list, allowing it to load this %event * without knowing about it at compile time. */ #define REGISTER_EVENT(type,evt)\ event_list::register_event (type, (new_event) &new_ ## evt); /** * A function that returns a new instance of an %event. */ #define NEW_EVENT(evt)\ event* new_ ## evt () { return (event*) new evt; } #endif // SWIG #endif // EVENT_LIST_H__ adonthell-0.3.5/src/fileops.cc0000644000076500000240000001711607614335417013167 00000000000000/* $Id: fileops.cc,v 1.13 2003/01/24 22:15:43 ksterker Exp $ Copyright (C) 1999/2000/2001/2002/2003 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file fileops.cc * @author Alexandre Courbot * * @brief Defines the igzstream, ogzstream and fileops classes. * */ #include #include #include #include "fileops.h" using namespace std; gz_file::gz_file () { opened = false; } gz_file::gz_file (const string & fname, gz_type t) { opened = false; open (fname, t); } gz_file::~gz_file () { if (is_open ()) gzclose (file); } bool gz_file::open (const string & fname, gz_type t) { if (t == READ) file = gzopen (fname.c_str (),"rb6"); else file = gzopen (fname.c_str (),"wb6"); if (!file) return false; opened = true; return true; } void gz_file::close () { if (is_open ()) gzclose (file); opened = false; } igzstream::igzstream () : gz_file () { } igzstream::igzstream (const string & fname) : gz_file (fname, READ) { } igzstream::~igzstream () { } bool igzstream::open (const string & fname) { return gz_file::open (fname, READ); } /// Reads a boolean. bool& operator << (bool& n, igzstream& gfile) { u_int8 b; gzread (gfile.file, &b, sizeof (b)); return (n = b); } /// Reads a boolean. bool igzstream::get_bool () { u_int8 b; gzread (file, &b, sizeof (b)); return b; } /// Reads a char. char& operator << (char& n, igzstream& gfile) { gzread (gfile.file, &n, sizeof (n)); return n; } /// Read a block of size chars void igzstream::get_block (void * to, u_int32 size) { gzread (file, to, size); } /// Reads a u_int8. u_int8& operator << (u_int8& n, igzstream& gfile) { gzread(gfile.file, &n, sizeof (n)); return n; } /// Reads a u_int8. u_int8 igzstream::get_uint8 () { u_int8 n; gzread (file, &n, sizeof (n)); return n; } /// Reads a s_int8. s_int8& operator << (s_int8& n, igzstream& gfile) { gzread(gfile.file, &n, sizeof (n)); return n; } /// Reads a s_int8. s_int8 igzstream::get_sint8 () { s_int8 n; gzread (file, &n, sizeof (n)); return n; } /// Reads a u_int16. u_int16& operator << (u_int16& n, igzstream& gfile) { gzread(gfile.file, &n, sizeof (n)); n = SDL_SwapLE16(n); return n; } /// Reads a u_int16. u_int16 igzstream::get_uint16 () { u_int16 n; gzread (file, &n, sizeof (n)); return SDL_SwapLE16(n); } /// Reads a s_int16. s_int16& operator << (s_int16& n, igzstream& gfile) { gzread(gfile.file, &n, sizeof (n)); n = SDL_SwapLE16(n); return n; } /// Reads a s_int16. s_int16 igzstream::get_sint16 () { s_int16 n; gzread (file, &n, sizeof (n)); return SDL_SwapLE16(n); } /// Reads a u_int32. u_int32& operator << (u_int32& n, igzstream& gfile) { gzread(gfile.file, &n, sizeof (n)); n = SDL_SwapLE32(n); return n; } /// Reads a u_int32. u_int32 igzstream::get_uint32 () { u_int32 n; gzread (file, &n, sizeof (n)); return SDL_SwapLE32(n); } /// Reads a s_int32. s_int32& operator << (s_int32& n, igzstream& gfile) { gzread(gfile.file, &n, sizeof (n)); n = SDL_SwapLE32(n); return n; } /// Reads a s_int32. s_int32 igzstream::get_sint32 () { s_int32 n; gzread (file, &n, sizeof (n)); return SDL_SwapLE32(n); } /// Reads a string. string& operator << (string& s, igzstream& gfile) { u_int16 strl; char c; s = ""; strl << gfile; while (strl) { c << gfile; s += c; strl --; } return s; } /// Reads a string. string igzstream::get_string () { string s; s << *this; return s; } /// Reads a float. float& operator << (float& f, igzstream& gfile) { string sf; sf << gfile; // floats saved as strings to remain independent of architecture sscanf (sf.c_str (), "%f", &f); return f; } /// Reads a float. float igzstream::get_float () { float f; f << *this; return f; } ogzstream::ogzstream () : gz_file () { } ogzstream::ogzstream (const string & fname) : gz_file (fname, WRITE) { } ogzstream::~ogzstream () { } bool ogzstream::open (const string & fname) { return gz_file::open (fname, WRITE); } void ogzstream::put_block (void * to, u_int32 size) { gzwrite (file, to, size); } /// Writes a boolean. const bool& operator >> (const bool& n, ogzstream& gfile) { u_int8 b = n; gzwrite (gfile.file, &b, sizeof (b)); return n; } /// Writes a char. const char& operator >> (const char& n, ogzstream& gfile) { gzwrite (gfile.file, (char *) &n, sizeof (n)); return n; } /// Writes a u_int8. const u_int8& operator >> (const u_int8& n, ogzstream& gfile) { gzwrite(gfile.file, (u_int8 *) &n, sizeof (n)); return n; } /// Writes a s_int8. const s_int8& operator >> (const s_int8& n, ogzstream& gfile) { gzwrite(gfile.file, (s_int8 *) &n, sizeof (n)); return n; } /// Writes a u_int16. const u_int16& operator >> (const u_int16& n, ogzstream& gfile) { u_int16 s = SDL_SwapLE16(n); gzwrite(gfile.file, (u_int16 *) &s, sizeof (n)); return n; } /// Writes a s_int16. const s_int16& operator >> (const s_int16& n, ogzstream& gfile) { s_int16 s = SDL_SwapLE16(n); gzwrite(gfile.file, (s_int16 *) &s, sizeof (n)); return n; } /// Writes a u_int32. const u_int32& operator >> (const u_int32& n, ogzstream& gfile) { u_int32 s = SDL_SwapLE32(n); gzwrite(gfile.file, (u_int32 *) &s, sizeof (n)); return n; } /// Writes a s_int32. const s_int32& operator >> (const s_int32& n, ogzstream& gfile) { s_int32 s = SDL_SwapLE32(n); gzwrite(gfile.file, (s_int32 *) &s, sizeof (n)); return n; } /// Writes a string. string& operator >> (const string& s, ogzstream& gfile) { u_int16 strl = s.length (); string::iterator i; strl >> gfile; for (i = ((string&) s).begin (); i != ((string&) s).end (); i++) (*i) >> gfile; return (string&) s; } /// Writes a float. const float& operator >> (const float& f, ogzstream& gfile) { char sf[16]; // floats saved as strings to remain independent of architecture snprintf (sf, 16, "%f", f); sf >> gfile; return f; } void fileops::put_version (ogzstream& file, u_int16 version) { char c = 'v'; c >> file; version >> file; } // read version info from file and check whether we can handle it bool fileops::get_version (igzstream& file, u_int16 min, u_int16 max, string name) { char vinfo; u_int16 version; vinfo << file; if (name == "") name = ""; // file contains no version info if (vinfo != 'v') { cerr << "Version information missing in file \"" << name << endl; cerr << "You should get a more recent data package.\n"; return false; } // check whether file has the version we expect version << file; if (version < min || version > max) { cerr << "File \"" << name << "\" has\nversion number " << version << ", "; cerr << "but I was expecting " << min << " <= version <= " << max << endl; // file is newer than code if (version > max) cerr << "You should get an up-to-date version of this program.\n\n"; // file is older than code else cerr << "You should probably get a more recent data package.\n"; return false; } return true; } adonthell-0.3.5/src/fileops.h0000644000076500000240000001641207613054643013025 00000000000000/* $Id: fileops.h,v 1.17 2003/01/20 20:18:43 ksterker Exp $ Copyright (C) 2001/2003 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file fileops.h * @author Alexandre Courbot * * @brief Declares the igzstream, ogzstream and fileops classes. * */ #ifndef FILEOPS_H_ #define FILEOPS_H_ #include #include #include "types.h" #ifndef SWIG using namespace std; #endif /** * Enumeration to know whether a file is read or write opened. * */ typedef enum { READ, WRITE } gz_type; /** * Base class for igzstream and ogzstream. * */ class gz_file { public: /** * Default constructor. * */ gz_file (); #ifndef SWIG /** * * * @param fname name of the file to open. * @param t access (READ or WRITE). */ gz_file (const string & fname, gz_type t); #endif /** * Destructor. * */ virtual ~gz_file (); /** * Opens a file. * * @param fname name of the file to open. * @param t access (READ or WRITE). * * @return true if succeed, false otherwise. */ bool open (const string & fname, gz_type t); /** * Close the file that was opened. * */ void close (); /** * Returns whether the file is opened or not. * * * @return true if the file is opened, false otherwise. */ bool is_open () { return opened; } /** * Returns whether the file is at it's end or not. * * * @return true if the end of file is reached, else otherwise. */ bool eof () { return gzeof (file); } protected: /** * The actual gzFile. * */ gzFile file; private: /// NEVER pass this by value. gz_file (gz_file& src); /// Opened or not? bool opened; }; /** * Class to read data from a Gzip compressed file. */ class igzstream : public gz_file { public: /** * Default constructor. * */ igzstream (); #ifndef SWIG /** * Opens a file for read access. * * @param fname name of the file to open. * */ igzstream (const string & fname); #endif /** * Destructor. * */ ~igzstream (); /** * Opens a file for read access. * * @param fname name of the file to open. * * @return true if succeed, false otherwise. */ bool open (const string & fname); /** * Reads a block of bytes from the file. * * @param to pointer to the buffer where to read. * @param size number of bytes to read. */ void get_block (void * to, u_int32 size); #ifndef SWIG /// Reads a boolean. friend bool& operator << (bool& n, igzstream& gfile); /// Reads a char. friend char& operator << (char& n, igzstream& gfile); /// Reads a u_int8. friend u_int8& operator << (u_int8& n, igzstream& gfile); /// Reads a s_int8. friend s_int8& operator << (s_int8& n, igzstream& gfile); /// Reads a u_int16. friend u_int16& operator << (u_int16& n, igzstream& gfile); /// Reads a s_int16. friend s_int16& operator << (s_int16& n, igzstream& gfile); /// Reads a u_int32. friend u_int32& operator << (u_int32& n, igzstream& gfile); /// Reads a s_int32. friend s_int32& operator << (s_int32& n, igzstream& gfile); /// Reads a string. friend string& operator << (string& s, igzstream& gfile); /// Reads a float. friend float& operator << (float& s, igzstream& gfile); #endif bool get_bool (); u_int8 get_uint8 (); s_int8 get_sint8 (); u_int16 get_uint16 (); s_int16 get_sint16 (); u_int32 get_uint32 (); s_int32 get_sint32 (); string get_string (); float get_float (); private: /// NEVER pass this by value. igzstream (igzstream& src); }; /** * Class to write data from a Gzip compressed file. */ class ogzstream : public gz_file { public: /** * Default constructor. * */ ogzstream (); #ifndef SWIG /** * Opens a file for write access. * * @param fname name of the file to open. * */ ogzstream (const string & fname); #endif /** * Destructor. * */ ~ogzstream (); /** * Opens a file for write access. * * @param fname name of the file to open. * * @return true if succeed, false otherwise. */ bool open (const string & fname); /** * Writes a block of bytes to the file. * * @param to pointer to the buffer to write. * @param size number of bytes to write. */ void put_block (void * to, u_int32 size); #ifndef SWIG /// Writes a boolean. friend const bool& operator >> (const bool& n, ogzstream& gfile); /// Writes a char. friend const char& operator >> (const char& n, ogzstream& gfile); /// Writes a u_int8. friend const u_int8& operator >> (const u_int8& n, ogzstream& gfile); /// Writes a s_int8. friend const s_int8& operator >> (const s_int8& n, ogzstream& gfile); /// Writes a u_int16. friend const u_int16& operator >> (const u_int16& n, ogzstream& gfile); /// Writes a s_int16. friend const s_int16& operator >> (const s_int16& n, ogzstream& gfile); /// Writes a u_int32. friend const u_int32& operator >> (const u_int32& n, ogzstream& gfile); /// Writes a s_int32. friend const s_int32& operator >> (const s_int32& n, ogzstream& gfile); /// Writes a string. friend string& operator >> (const string& s, ogzstream& gfile); /// Writes a float. friend const float& operator >> (const float& s, ogzstream& gfile); #endif void put_bool (const bool &n) { n >> *this; } void put_uint8 (const u_int8 &n) { n >> *this; } void put_sint8 (const s_int8 &n) { n >> *this; } void put_uint16 (const u_int16 &n) { n >> *this; } void put_sint16 (const s_int16 &n) { n >> *this; } void put_uint32 (const u_int32 &n) { n >> *this; } void put_sint32 (const s_int32 &n) { n >> *this; } void put_string (const string& s) { s >> *this; } void put_float (const float &n) { n >> *this; } private: /// NEVER pass this by value. ogzstream (ogzstream& src); }; /// File version control class. class fileops { public: /** * Sets the version number of a file. * * @param file file where to write the version number. * @param version version number to write. */ static void put_version (ogzstream& file, u_int16 version); // Set version of a file /** * * * @param file file to check version. * @param min minimum expected version number. * @param max maximum expected version number. * @param name filename of the passed file. * * @return true if */ static bool get_version (igzstream& file, u_int16 min, u_int16 max, string name); // Check version }; #endif // __FILEOPS_H__ adonthell-0.3.5/src/game.cc0000644000076500000240000000560507625210015012423 00000000000000/* $Id: game.cc,v 1.28 2003/02/20 17:27:41 ksterker Exp $ Copyright (C) 1999/2000/2001/2002 Kai Sterker Copyright (C) 2002 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file game.cc * @author Kai Sterker * @author Alexandre Courbot * * @brief Defines the game class. * * */ #include "game.h" #include #include #include string game::User_data_dir; string game::Global_data_dir; string game::Game_data_dir; void game::init (string game_dir) { Global_data_dir = game_dir; #ifndef SINGLE_DIR_INST User_data_dir = getenv ("HOME"); User_data_dir += "/.adonthell"; #else User_data_dir = Global_data_dir; #endif } void game::set_game_data_dir(string game_dir) { Game_data_dir = game_dir; } bool game::directory_exist (const string & dirname) { DIR * dir = opendir (dirname.c_str ()); if (dir) { closedir (dir); return true; } return false; } bool game::file_exist (const string & fname) { FILE * file = fopen (fname.c_str (), "r"); if (file) { fclose (file); return true; } return false; } string game::find_file (const string & fname) { string ret; // If the name is already absolute, no need to search... if (fname[0] == '/') return fname; // First check in the current game directory if ((ret = game_data_dir () + "/") != "/" && file_exist (ret + fname)) ret += fname; // Then check the global data directory else if (file_exist ((ret = global_data_dir () + "/") + fname)) ret += fname; // Finally, try the user data directory else if (file_exist ((ret = user_data_dir () + "/") + fname)) ret += fname; // Nothing found! So bad... else ret = ""; return ret; } string game::find_directory (const string & dirname) { string ret; // If the name is already absolute, no need to search... if (dirname[0] == '/') return dirname; // First check in the current game directory if ((ret = game_data_dir () + "/") != "/" && directory_exist (ret + dirname)) ret += dirname; // Then check the global data directory else if (directory_exist ((ret = global_data_dir () + "/") + dirname)) ret += dirname; // Finally, try the user data directory else if (directory_exist ((ret = user_data_dir () + "/") + dirname)) ret += dirname; // Nothing found! So bad... else ret = ""; return ret; } adonthell-0.3.5/src/game.h0000644000076500000240000000714007462554443012300 00000000000000/* $Id: game.h,v 1.25 2002/04/27 17:00:19 gnurou Exp $ Copyright (C) 1999/2000/2001 Kai Sterker Copyright (C) 2002 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file game.h * @author Kai Sterker * @author Alexandre Courbot * * @brief Declares the game class. * * */ #ifndef GAME_H__ #define GAME_H__ #include #include "types.h" #ifndef SWIG using std::string; #endif /** * Holds information about global settings. * * This static class should be the first to be initialised in your application, * because many others depends on it's correct settings. * */ class game { public: static string User_data_dir; static string Global_data_dir; static string Game_data_dir; /** * Initialise the game framework. * * @param game_dir Global data directory. */ static void init (string game_dir); /** * Specify an additional data directory containing game data. * * @param game_dir Game data directory. */ static void set_game_data_dir (string game_dir); /** * Returns the absolute path to the user data directory (usually ~/.adonthell). * * * @return user data directory */ static string user_data_dir () { return User_data_dir; } /** * Returns the absolute path to the global data directory. * * * @return global data directory */ static string global_data_dir () { return Global_data_dir; } /** * Returns the absolute path to the current game's directory (if any). * * * @return current game data directory, or empty string if none set. */ static string game_data_dir () { return Game_data_dir; } /** * Finds a file in the directories hierarchy, starting searching from * game_data_dir(), then global_data_dir() and finally user_data_dir(). * * If a matching file is found, the full absolute path is returned, else * an empty string "" is returned. If the path was already absolute, it is * returned immediatly. * * @param fname name of the find to search for. * * @return complete absolute path to the file if found, passed string if the given * path was already absolute, or "" if the file wasn't found. */ static string find_file (const string & fname); /** * Finds a directory in the directories hierarchy, starting searching from * game_data_dir(), then global_data_dir() and finally user_data_dir(). * * If a matching directory is found, the full absolute path is returned, else * an empty string "" is returned. If the path was already absolute, it is * returned immediatly. * * @param fname name of the find to search for. * * @return complete absolute path to the directory if found, passed string if the given * path was already absolute, or "" if the directory wasn't found. */ static string find_directory (const string & dirname); private: static bool directory_exist (const string & dirname); static bool file_exist (const string & fname); }; #endif // GAME_H__ adonthell-0.3.5/src/gamedata.cc0000644000076500000240000003333207610374455013270 00000000000000/* $Id: gamedata.cc,v 1.29 2003/01/12 23:24:29 ksterker Exp $ Copyright (C) 2001/2002 by Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file gamedata.cc * @author Kai Sterker * * @brief Defines the gamedata and data classes. * * */ #include #include #include #include #include #include #include "audio.h" #include "gamedata.h" #include "python_class.h" #include "event_handler.h" // File format versions of the various data files // *** Increase when changing file format! *** #define ENGINE_DAT_VER 5 #define AUDIO_DAT_VER 2 #define CHAR_DAT_VER 4 #define QUEST_DAT_VER 1 #define SAVE_DAT_VER 3 vector gamedata::saves; // The list of available savegames string gamedata::user_data_dir_; // The user's private adonthell directory string gamedata::game_data_dir_; // The adonthell data directory string gamedata::game_name; // The adonthell data directory u_int8 gamedata::quick_load; // Whether Quick-load is active or not using namespace std; gamedata::gamedata () { } gamedata::gamedata (string dir, string desc, string time) { Timestamp = 0; Directory = dir; Description = desc; Gametime = time; } gamedata::~gamedata () { } bool gamedata::get (igzstream& file) { if (!fileops::get_version (file, SAVE_DAT_VER, SAVE_DAT_VER, "save.data")) return false; Timestamp << file; Description << file; Location << file; Gametime << file; return true; } void gamedata::put (ogzstream& file) { fileops::put_version (file, SAVE_DAT_VER); // get current time for Quick-Loading Timestamp = time (NULL); Timestamp >> file; Description >> file; Location >> file; Gametime >> file; } void gamedata::set_description (string desc) { Description = desc; } void gamedata::set_directory (string dir) { Directory = dir; } void gamedata::set_gametime (string time) { Gametime = time; } bool gamedata::load_characters (u_int32 pos) { igzstream in; string filepath; character *mynpc; // try to open character.data filepath = saves[pos]->directory (); filepath += "/character.data"; in.open (filepath); if (!in.is_open ()) { cerr << "Couldn't open \"" << filepath << "\" - stopping\n" << endl; return false; } if (!fileops::get_version (in, CHAR_DAT_VER, CHAR_DAT_VER, filepath)) return false; // load characters char ctemp; // first, the player data::the_player = new character (); data::the_player->character_base::get_state (in); data::characters[data::the_player->get_id ().c_str ()] = data::the_player; // then all the others while (ctemp << in) { mynpc = new character; mynpc->character_base::get_state (in); // Make this character available to the engine data::characters[mynpc->get_id ().c_str ()] = mynpc; } in.close (); return true; } bool gamedata::load_quests (u_int32 pos) { igzstream in; string filepath; quest *myquest; // try to open quest.data filepath = saves[pos]->directory (); filepath += "/quest.data"; in.open (filepath); if (!in.is_open ()) { cerr << "Couldn't open \"" << filepath << " - stopping\n" << endl; return false; } if (!fileops::get_version (in, QUEST_DAT_VER, QUEST_DAT_VER, filepath)) return false; // load quests char ctemp; while (ctemp << in) { myquest = new quest; myquest->load (in); // Make this quest available to the engine data::quests[myquest->name.c_str ()] = myquest; } in.close (); return true; } bool gamedata::load_mapengine (u_int32 pos) { igzstream in; string filepath; // Load mapengine state filepath = saves[pos]->directory(); filepath += "/mapengine.data"; in.open (filepath); if (!in.is_open ()) { cerr << "Couldn't open \"" << filepath << " - stopping\n" << endl; return false; } if (!fileops::get_version (in, ENGINE_DAT_VER, ENGINE_DAT_VER, filepath)) return false; if (!data::engine->get_state(in)) { cerr << "Couldn't load \"" << filepath << " - stopping\n" << endl; return false; } in.close (); return true; } bool gamedata::load_audio (u_int32 pos) { igzstream in; string filepath; // Load mapengine state filepath = saves[pos]->directory(); filepath += "/audio.data"; in.open (filepath); if (!in.is_open ()) { cerr << "Couldn't open \"" << filepath << " - stopping\n" << endl; return false; } if (!fileops::get_version (in, AUDIO_DAT_VER, AUDIO_DAT_VER, filepath)) return false; if (!audio::get_state (in)) { cerr << "Couldn't load \"" << filepath << " - stopping\n" << endl; return false; } in.close (); return true; } bool gamedata::load (u_int32 pos) { // First, unload the current game unload (); if (!load_characters (pos)) return false; if (!load_quests (pos)) return false; if (!load_mapengine (pos)) return false; if (!load_audio (pos)) return false; return true; } bool gamedata::load_newest () { // Quick-load off / no save game available if (!quick_load || saves.size () <= 1) return false; u_int32 timestamp = 0; u_int32 index = 0; u_int32 newest; for (vector::iterator i = saves.begin (); i != saves.end (); i++) { if ((*i)->timestamp () > timestamp) { timestamp = (*i)->timestamp (); newest = index; } index++; } return load (newest); } bool gamedata::save (u_int32 pos, string desc, string time) { gamedata *gdata; string filepath; char t[10]; ogzstream file; char vnbr; // make sure we don't overwrite the default game if (pos == 0) return false; // see whether we're going to save to a new slot if (pos >= saves.size ()) { int success = 1; // make sure we save to an unused directory while (success) { // that's the directory we're going to save to sprintf(t, "%03i", pos++); filepath = user_data_dir (); filepath += "/" + game_name + "-save-"; filepath += t; #ifdef WIN32 success = mkdir (filepath.c_str()); #else success = mkdir (filepath.c_str(), 0700); #endif // prevent infinite loop if we can't write to the directory if (pos >= 1000) { cerr << "Save failed - seems like you have no write permission in\n" << user_data_dir () << endl; return false; } } // we'll need a new gamedata record gdata = new gamedata (filepath, desc, time); } else { gdata = saves[pos]; gdata->set_description (desc); gdata->set_gametime (time); } // save characters filepath = gdata->directory (); filepath += "/character.data"; file.open (filepath); if (!file.is_open ()) { cerr << "Couldn't create \"" << filepath << "\" - save failed\n"; return false; } fileops::put_version (file, CHAR_DAT_VER); // save the player first data::the_player->character_base::put_state (file); // now save all the other characters dictionary ::iterator itc; for (itc = data::characters.begin (); itc != data::characters.end (); itc++) { // don't save the player if (itc->second == (character*) data::the_player) continue; // tell the character.data loader that another entry follows vnbr = 1; vnbr >> file; // append the character data itc->second->character_base::put_state (file); } // write EOF vnbr = 0; vnbr >> file; file.close (); // save quests filepath = gdata->directory (); filepath += "/quest.data"; file.open (filepath); if (!file.is_open ()) { cerr << "Couldn't create \"" << filepath << "\" - save failed\n"; return false; } fileops::put_version (file, QUEST_DAT_VER); dictionary ::iterator itq; for (itq = data::quests.begin (); itq != data::quests.end (); itq++) { // tell the quest.data loader that another entry follows vnbr = 1; vnbr >> file; // append the character data itq->second->save (file); } // write EOF vnbr = 0; vnbr >> file; file.close (); // Save mapengine state filepath = gdata->directory(); filepath += "/mapengine.data"; file.open (filepath); if (!file.is_open ()) { cerr << "Couldn't create \"" << filepath << "\" - save failed\n"; return false; } fileops::put_version (file, ENGINE_DAT_VER); data::engine->put_state(file); file.close (); // save music filepath = gdata->directory (); filepath += "/audio.data"; file.open (filepath); if (!file.is_open ()) { cerr << "Couldn't create \"" << filepath << "\" - save failed\n"; return false; } fileops::put_version (file, AUDIO_DAT_VER); audio::put_state (file); file.close (); // save gamedata filepath = gdata->directory (); filepath += "/save.data"; file.open (filepath); if (!file.is_open ()) { cerr << "Couldn't create \"" << filepath << "\" - save failed\n"; return false; } gdata->put (file); file.close (); // only now it is safe to add the new record to the array if (pos >= saves.size ()) saves.push_back (gdata); return true; } gamedata* gamedata::next_save () { static vector::iterator i = saves.begin (); static u_int32 size = saves.size (); // check whether a new save has been added if (size != saves.size ()) { size = saves.size (); i = saves.begin (); } // check whether we reached the end of the list if (++i == saves.end ()) { i = saves.begin (); return NULL; } return *i; } bool gamedata::init (string udir, string gdir, string gname, u_int8 qload) { DIR *dir; igzstream in; struct dirent *dirent; struct stat statbuf; gamedata *gdata; user_data_dir_ = udir; game_data_dir_ = gdir; game_name = gname; quick_load = qload; // try to change into data directory if (chdir (game_data_dir ().c_str ())) { fprintf (stderr, "Seems like %s is no valid data directory.\n", game_data_dir ().c_str ()); fprintf (stderr, "Please make sure that your Adonthell installation is correct.\n"); return false; } // Add the default savegame used to start a new game to the list of saves gdata = new gamedata (gdir, "Start New Game", "Day 0 - 00:00"); saves.push_back (gdata); // Read the user's saved games (if any) - they'll be located in // $HOME/.adonthell/ and called -save- if ((dir = opendir (user_data_dir ().c_str ())) != NULL) { while ((dirent = readdir (dir)) != NULL) { string filepath = user_data_dir () + "/"; filepath += dirent->d_name; string name_save = game_name + "-save-"; if (stat (filepath.c_str (), &statbuf) != -1 && S_ISDIR (statbuf.st_mode) && strncmp (name_save.c_str (), dirent->d_name, name_save.length ()) == 0) { // found a (possibly) valid saved game directory filepath += "/save.data"; // Now try to read the saved game's data record in.open (filepath); if (in.is_open ()) { // restore the pathname filepath = user_data_dir (); filepath += "/"; filepath += dirent->d_name; gdata = new gamedata; if (gdata->get (in)) { gdata->set_directory (filepath); saves.push_back (gdata); } else delete gdata; in.close (); } } } closedir (dir); } return true; } void gamedata::cleanup () { for (vector::iterator i = saves.begin (); i != saves.end (); i++) delete *i; saves.clear (); unload (); } void gamedata::unload () { // stop the music audio::fade_out_background (500); // delete all characters dictionary ::iterator itc; for (itc = data::characters.begin (); itc != data::characters.end (); itc++) { itc->second->remove_from_map (); delete itc->second; } data::characters.clear (); data::the_player = NULL; // delete all quests dictionary ::iterator itq; for (itq = data::quests.begin (); itq != data::quests.end (); itq++) delete itq->second; data::quests.clear (); } adonthell-0.3.5/src/gamedata.h0000644000076500000240000002306207626252732013131 00000000000000/* $Id: gamedata.h,v 1.15 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2001/2002 by Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file gamedata.h * @author Kai Sterker * * @brief Declares the gamedata and data classes. * * */ #ifndef GAMEDATA_H__ #define GAMEDATA_H__ #include "quest.h" #include "character.h" #include "adonthell.h" /** * Contains all the attributes related to a saved %game and the * high level methods for loading/saving the %game. * * A word about saved games: all games are stored inside * $HOME/.adonthell/ into a individual subdirectory, consisting * of the %game's name (e.g. wastesedge) with the appendix "-save-xxx" * where "xxx" is a number between 001 and 999. All %data that belongs * to a saved %game is contained in that directory, thus allowing * to copy individual games to another machine and/or user. * * The numbering of the %game directories has no special meaning. Saved * games are recognized by the first part of their name, and saving a * new %game will never overwrite an existing. */ class gamedata { public: /** * Default constructor. * */ gamedata (); #ifndef SWIG /** * Alternate constructor. * * @attention not available from %Python! * * @param desc description of the saved %game. * @param dir directory of the saved %game. * @param time Textual representation of in-game time. */ gamedata (string desc, string dir, string time); #endif /** * Destructor. * */ ~gamedata (); /** * Save a record to an opened file. * * @param ogzstream& opened file to save to. */ void put (ogzstream&); /** * Load a record from an opened file. * * @param igzstream& opened file to load from. * * @return true in case of success, false otherwise. */ bool get (igzstream&); /** * A bunch of methods to access the private attributes. * */ //@{ /** * Returns the directory where the saved %game lies. * * @return Directory where the saved %game lies. */ const char* directory () { return Directory.c_str (); } /** * Returns the description of the saved %game. * * @return Description of the saved %game. */ const char* description () { return Description.c_str (); } /** * Returns the location of the saved %game. * * @return Location of the saved %game. */ const char* location () { return Location.c_str (); } /** * Returns the in-game time of the saved %game. * * @return In-game time of the saved %game. */ const char* gametime () { return Gametime.c_str (); } /** * Returns the (real) time when this game has been saved * * @return (Real) time when this game has been saved */ u_int32 timestamp () { return Timestamp; } /** * Sets the description for this %game. * * @param string New description for this %game. */ void set_description (string); /** * Sets the directory for this %game. * * @param string New directory for this %game. */ void set_directory (string); /** * Set the in-game time of the saved %game. * * @param string In-game time of the saved %game. */ void set_gametime (string); //@} /** * Initialise the saved games array. Searches the user directory * for available save games and loads their description. * * @param udir The user directory, usually $HOME/.adonthell * @param gdir The %game data directory, usually /usr/local/share/adonthell * @param gname The name of the %game we are running, e.g. wastesedge * @param qload Whether quick-loading should be enabled or disabled * * @return \e true in case of success, false otherwise. */ static bool init (string udir, string gdir, string gname, u_int8 qload); /** * Cleanup the saved %game array. * */ static void cleanup (); /** * Load the characters state from a saved %game. * * @param pos Slot number to load. * * @return \e true in case of success, \e false otherwise. */ static bool load_characters (u_int32 pos); /** * Load the quests state from a saved %game. * * @param pos Slot number to load. * * @return \e true in case of success, \e false otherwise. */ static bool load_quests (u_int32 pos); /** * Load the mapengine state from a saved %game. * * @param pos Slot number to load. * * @return \e true in case of success, \e false otherwise. */ static bool load_mapengine (u_int32 pos); /** * Load the audio system state from a saved %game. * * @param pos Slot number to load. * * @return \e true in case of success, \e false otherwise. */ static bool load_audio (u_int32 pos); /** * Loads a previously saved %game. Slot 0 points to the * initial %game %data and needs to be loaded when starting * a fresh %game. * * @param pos Slot number to load. * * @return \e true in case of success, \e false otherwise. */ static bool load (u_int32 pos); /** * Loads the most recent saved %game. This method only takes * games created by the player into account, not the initial * saved %game. * * @return \e true in case of success, \e false otherwise. */ static bool load_newest (); /** * Save a %game. When given a slot number in the range of * the available saved games, the according %game will be * overwritten, otherwise a new saved %game is created. * Saving to slot 0 is not possible, as it contains the * initial %game %data. * * @param pos Slot number where to save to. * @param desc Description of the %game to be saved. * @param time Textual representation of in-game time. * * @return \e true in case of success, false otherwise. */ static bool save (u_int32 pos, string desc, string time); /** * Unloads the current %game, resetting the engine to it's * initial state. * */ static void unload (); /** * Returns a pointer to the next saved %game. * * * @return Next saved %game. */ static gamedata* next_save (); /** * Returns the user %data directory ($HOME/.adonthell). * * * @return user %data directory. */ static string user_data_dir () { return user_data_dir_; } /** * Returns the %game %data directory. * * * @return %game %data directory. */ static string game_data_dir () { return game_data_dir_; } /** * Returns a pointer to a saved %game. * * @param pos Slot number to return. * * @return Pointer to the saved %game at position \pos. */ static gamedata * get_saved_game (u_int32 pos) { return saves[pos]; } /** * Returns the global quests dictionary. * * * @return Global quests dictionary. */ static dictionary quests () { return data::quests; } /** * Returns the player %character. * * * @return Player %character. */ static character* player () { return data::the_player; } /** * Returns a certain NPC when given the name. Use player () to get * the player %character, as his/her name will be set at runtime. * * @param name The name of the %character to return * * @return a %character. */ static character* get_character (string name) { return data::characters [name]; } /** * Returns a certain quest when given the name. * * @param name The name of the %quest to return * * @return a %quest */ static quest* get_quest (string name) { return data::quests [name]; } /** * Returns the characters dictionary * * * @return Characters dictionary. */ static dictionary characters () { return data::characters; } /** * Returns a pointer to the global game engine. * * * @return Pointer to the global game engine. */ static adonthell* engine () { return data::engine; } private: #ifndef SWIG string Directory; // the game's location on the harddisk string Description; // user supplied description of the game string Location; // the map or area the player is on string Gametime; // the gametime of the saved game u_int32 Timestamp; // time of last save to this file static string game_name; static u_int8 quick_load; /** * Keeps track of available saved games. * */ static vector saves; /** * $HOME/.adonthell * */ static string user_data_dir_; /** * Game data directory. * */ static string game_data_dir_; #endif }; #endif // GAMEDATA_H__ adonthell-0.3.5/src/gamedate.cc0000644000076500000240000000735707573433334013304 00000000000000/* $Id: gamedate.cc,v 1.8 2002/12/04 17:09:48 ksterker Exp $ Copyright (C) 2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file gamedate.cc * * @author Kai Sterker * @brief Implements the gamedate class. */ #include #include #include "gamedate.h" #include "gametime.h" #include "time_event.h" #include "event_handler.h" // gametime minutes spent in the gameworld so far u_int32 gamedate::Time = 0; // number of game cycles since the last gametime minute passed double gamedate::Ticks = 0.0; // Increase gametime void gamedate::update () { static double tenth_minute = gametime::minute () / 10.0; // fts contains the number of cycles that passed since the last // call to gamedate::update Ticks += gametime::frames_to_skip (); // check whether an in-game minute has passed while (Ticks >= tenth_minute) { Ticks -= tenth_minute; Time++; // raise time event time_event evt (Time); event_handler::raise_event (&evt); } } // load state from disk bool gamedate::get_state (igzstream &in) { // read the current date as (gametime) minutes since start of the game Time << in; return true; } // save state to disk void gamedate::put_state (ogzstream &out) { // write the time to disk Time >> out; } // calculate the current weekday u_int16 gamedate::weekday () { return day () % DAYS_PER_WEEK; } // calculate the current day u_int16 gamedate::day () { // how many minutes make one day static u_int16 day_in_minutes = 600 * HOURS_PER_DAY; return Time / day_in_minutes; } // calculate the hour of the current day u_int16 gamedate::hour () { return (Time / 600) % HOURS_PER_DAY; } // calculate minute of the hour u_int16 gamedate::minute () { return (Time / 10) % 60; } // convert the time string to gametime minutes u_int32 gamedate::parse_time (const std::string & time) { u_int32 t_minutes = 0, number = 0; char num[2] = "0"; for (u_int32 i = 0; i < time.length (); i++) { // got a number if (isdigit (time[i])) { num[0] = time[i]; number = 10 * number + atoi (num); } // got a letter else if (isalpha (time[i])) { switch (time[i]) { // weeks case 'w': { t_minutes += number * DAYS_PER_WEEK * HOURS_PER_DAY * 600; break; } // days case 'd': { t_minutes += number * HOURS_PER_DAY * 600; break; } // hours case 'h': { t_minutes += number * 600; break; } // minutes case 'm': { t_minutes += number * 10; break; } // 1/10 minutes case 't': { t_minutes += number; break; } // error default: { fprintf (stderr, "*** gamedate::parse_time: Unknown time specifier '%c'\n", time[i]); break; } } number = 0; } } return t_minutes; } adonthell-0.3.5/src/gamedate.h0000644000076500000240000000630007573433334013131 00000000000000/* $Id: gamedate.h,v 1.4 2002/12/04 17:09:48 ksterker Exp $ Copyright (C) 2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file gamedate.h * * @author Kai Sterker * @brief Declares the gamedate class. */ #ifndef GAMEDATE_H__ #define GAMEDATE_H__ #include "fileops.h" #ifndef SWIG /** * The number of hours that make one gameworld day. */ #define HOURS_PER_DAY 24 /** * The number of days that make one gameworld week. */ #define DAYS_PER_WEEK 7 #endif // SWIG /** * Keeps track of the time the player spent within the game so far. This * time span is given in %game time minutes, not real time. * %gamedate further includes functions to retrieve those minutes as day, * weekday, hour and minute values. */ class gamedate { public: /** * Update the %game date. Whenever a minute of %gametime has * passed, a time event will be raised. This function needs to * be called from the main loop and uses */ static void update (); /** * Get the current %gametime. * @return %gametime in 1/10 minutes since start of the game. */ static u_int32 time () { return Time; } /** * Get the current weekday. * @return weekday as a number between 0 and DAYS_PER_WEEK - 1 */ static u_int16 weekday (); /** * Returns the current day in the gameworld. * @return number of days spent in the gameworld, beginning with day 0. */ static u_int16 day (); /** * Return the hour of the current day. * @return hour of the current day between 0 and HOURS_PER_DAY - 1 */ static u_int16 hour (); /** * Return the minute of the current hour. * @return minute of the current hour between 0 and 59. */ static u_int16 minute (); /** * convert the time string to gametime minutes. The time string * has the format "X", where X may be (w)eek, (d)ay, * (h)our, (m)inute or (t)enth minute. Several such pairs can be * concatenated. * Valid examples are "1w1d1h", "30m1h" but also "1h1h". * * @param time The time format string. * @return The time represented by the string in minutes. */ static u_int32 parse_time (const std::string & time); /** * Load the state of the %gamedate class from disk * @param in stream to read the state from * @return true if the state was successfully retrieved, * false otherwise. */ static bool get_state (igzstream &in); /** * Save the state of the %gamedate class to disk * @param out stream to write the state to */ static void put_state (ogzstream &out); private: #ifndef SWIG // Time spent in the game in 1/10 gametime minutes static u_int32 Time; // number of game cycles since the last 1/10 gametime minute passed static double Ticks; #endif // SWIG }; #endif // GAMEDATE_H__ adonthell-0.3.5/src/gametime.cc0000644000076500000240000000423010230250720013264 00000000000000/* $Id: gametime.cc,v 1.14 2005/04/16 17:56:32 ksterker Exp $ Copyright (C) 2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file gametime.cc * * @author Kai Sterker * @brief Implements the gametime class. */ #include "gametime.h" #include double gametime::Minute; u_int32 gametime::timer1; u_int32 gametime::timer2; u_int8 gametime::fts; bool gametime::running; // initialize the gametime class void gametime::init (u_int16 rt_minutes) { fts = 0; timer1 = 0; timer2 = 0; running = false; // Number of game cycles during rt_minutes realtime minutes double cycles = (60000 * rt_minutes) / (double) CYCLE_LENGTH; // Calculate how many game cycles make one gametime minute, // so that one gametime day lasts rt_minutes realtime minutes. Minute = cycles / 1440; } // Synchronize the game's speed to the machine it's running on. void gametime::update () { // We declare this variable as static to avoid having to // perform the division every time. // Its value corresponds to the minimum delay between // two displayed frames (see FRAME_RATE). static u_int16 gfx_cycle_length = 1000 / FRAME_RATE; // Wait a bit if our machine performed too fast! while (1) { timer2 = SDL_GetTicks () - timer1; // if the mainloop was performed faster than one frame // should take, we sleep for the time remaining if (timer2 >= gfx_cycle_length) break; else SDL_Delay (50); } timer1 = SDL_GetTicks () - (timer2 % CYCLE_LENGTH); // Calculate the number of frames to skip (if the mainloop // takes longer than allowed, we drop frames (up to a certain // limit) to keep the game's speed constant.) fts = timer2 / CYCLE_LENGTH; if (fts > FTS_LIMIT) fts = FTS_LIMIT; } adonthell-0.3.5/src/gametime.h0000644000076500000240000001006507573433334013155 00000000000000/* $Id: gametime.h,v 1.13 2002/12/04 17:09:48 ksterker Exp $ Copyright (C) 2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file gametime.h * * @author Kai Sterker * @brief Declares the gametime class. */ #ifndef GAMETIME_H_ #define GAMETIME_H_ #include "types.h" /** * Length of a %game cycle, in milliseconds. Decrease it to speed up * the %game, increase it to slow the %game down. This constant * defines how often the state of the game world is updated. * A cycle length of 13 means 1000/13 = 76.9 updates per second. */ #define CYCLE_LENGTH 13 /** * Number of maximum displayed frames per second. This value affects * the renderer only, not the speed of the game itself. Limiting the * frame rate prevents Adonthell from using all the CPU of the * machine it runs on (as long as the machine is fast enough). */ #define FRAME_RATE 50 /** * Defines the maximum number of frames to skip in order to keep the %game's * speed constant on slow machines. If updating the %game state and * drawing everything on %screen takes longer than CYCLE_LENGTH, we * skip frames so that the correct number of updates can be performed, * thus keeping the speed constant. However, we can't skip too many * frames, since that would result in jerky animations and eventually * render the %game unplayable. */ #define FTS_LIMIT 20 /** * Tehe %gametime class makes the speed of the %game independent of * the machine it runs on. This is achieved by keeping the number of * updates to the %game state constant, no matter how fast or slow * the machine. This won't work for very slow machines of course, * but Adonthell will still be playable on a 100 Ghz CPU. */ class gametime { public: /** * Initialize the gametime class. * * @param rt_minutes Defines how many real life minutes make one * gametime day. */ static void init (u_int16 rt_minutes); /** * Return the in-game time that passed since the last call to * this method. * * @return %gametime in minutes. */ static double minute () { return Minute; } /** * */ static void start_action () { fts = 0; running = true; } /** * */ static void stop_action () { running = false; } /** * @name Methods to sync the %game speed to the machine it runs on */ //@{ /** * Returns the number of updates to perform before drawing * the next frame. That is, it returns the number of frames to skip. * If the box Adonthell runs on is sufficiently fast, this number * will be 0. On slower machines, it can be as high as FTS_LIMIT. * * @return number of updates to perform before drawing a frame. * @see FTS_LIMIT */ static u_int8 frames_to_skip () { return fts; } /** * Call this after each run of the main loop to sync the %game's * speed to the machine it is running on. On faster machines it * delays the execution and for slower boxes it calculates the * number of frames to skip. If the engine should do 50 frames per * second, for example, but the main loop takes 26ms to perform, * every second frame will be skipped to keep the %game' speed * constant. * It also updates the internal clock. * * @see frames_to_skip () */ static void update (); //@} private: #ifndef SWIG // One minute of gametime in game cycles static double Minute; static bool running; // Frames to skip. static u_int8 fts; // Timers used to calculate the delay between 2 update() calls. static u_int32 timer1, timer2; #endif // SWIG }; #endif // GAMETIME_H_ adonthell-0.3.5/src/gettext.h0000644000076500000240000000656410230510376013044 00000000000000/* Convenience header for conditional use of GNU . Copyright (C) 1995-1998, 2000-2002, 2004 Free Software Foundation, Inc. This program 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, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library 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 _LIBGETTEXT_H #define _LIBGETTEXT_H 1 /* NLS can be disabled through the configure --disable-nls option. */ #if ENABLE_NLS /* Get declarations of GNU message catalog functions. */ # include #else /* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. We don't include as well because people using "gettext.h" will not include , and also including would fail on SunOS 4, whereas is OK. */ #if defined(__sun) # include #endif /* Many header files from the libstdc++ coming with g++ 3.3 or newer include , which chokes if dcgettext is defined as a macro. So include it now, to make later inclusions of a NOP. */ #if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3) # include # if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H # include # endif #endif /* Disabled NLS. The casts to 'const char *' serve the purpose of producing warnings for invalid uses of the value returned from these functions. On pre-ANSI systems without 'const', the config.h file is supposed to contain "#define const". */ # define gettext(Msgid) ((const char *) (Msgid)) # define dgettext(Domainname, Msgid) ((const char *) (Msgid)) # define dcgettext(Domainname, Msgid, Category) ((const char *) (Msgid)) # define ngettext(Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dngettext(Domainname, Msgid1, Msgid2, N) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \ ((N) == 1 ? (const char *) (Msgid1) : (const char *) (Msgid2)) # define textdomain(Domainname) ((const char *) (Domainname)) # define bindtextdomain(Domainname, Dirname) ((const char *) (Dirname)) # define bind_textdomain_codeset(Domainname, Codeset) ((const char *) (Codeset)) #endif /* A pseudo function call that serves as a marker for the automated extraction of messages, but does not call gettext(). The run-time translation is done at a different place in the code. The argument, String, should be a literal string. Concatenated strings and other string expressions won't work. The macro's expansion is not parenthesized, so that it is suitable as initializer for static 'char[]' or 'const char[]' variables. */ #define gettext_noop(String) String #endif /* _LIBGETTEXT_H */ adonthell-0.3.5/src/image.cc0000644000076500000240000002070710137121505012571 00000000000000/* $Id: image.cc,v 1.16 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 1999/2000/2001/2002/2004 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file image.cc * @author Alexandre Courbot * * @brief Defines the image class. * * */ #include #include "image.h" #include "pnm.h" #if SDL_BYTEORDER == SDL_BIG_ENDIAN #define R_MASK 0x00ff0000 #define G_MASK 0x0000ff00 #define B_MASK 0x000000ff #define A_MASK 0xff000000 #else #define R_MASK 0x000000ff #define G_MASK 0x0000ff00 #define B_MASK 0x00ff0000 #define A_MASK 0xff000000 #endif using namespace std; image::image () : surface () { } image::image (u_int16 l, u_int16 h, bool mode) : surface (mode) { resize (l, h); } image::image (SDL_Surface *s, const SDL_Color & color) : surface (false) { if (screen::dbl_mode ()) { set_length (s->w >> 1); set_height (s->h >> 1); } else { set_length (s->w); set_height (s->h); } vis = SDL_DisplayFormat (s); SDL_SetColorKey (vis, SDL_SRCCOLORKEY | SDL_RLEACCEL, SDL_MapRGB (vis->format, color.r, color.g, color.b)); SDL_FreeSurface (s); changed = false; } image::~image () { } void image::resize (u_int16 l, u_int16 h) { surface::resize (l, h); } void image::clear () { surface::clear (); } s_int8 image::get (igzstream& file) { s_int8 ret; u_int8 m; u_int8 a; m << file; a << file; ret = get_raw (file); if (!ret) { set_mask (m); set_alpha (a); } return ret; } s_int8 image::load (string fname) { igzstream file (fname); s_int8 ret = 0; if (!file.is_open ()) return 1; ret = get (file); file.close (); return ret; } s_int8 image::get_raw (igzstream& file) { void * rawdata; u_int16 l, h; clear (); l << file; h << file; rawdata = new char[l * h * 3]; file.get_block (rawdata, l * h * 3); raw2display (rawdata, l, h); delete[] (char *) rawdata; if (!vis) return -1; changed = true; return 0; } s_int8 image::load_raw (string fname) { igzstream file (fname); s_int8 ret = 0; if (!file.is_open ()) return 1; ret = get_raw (file); file.close (); return ret; } s_int8 image::get_pnm (SDL_RWops * file) { void *rawdata; u_int16 l, h; clear (); rawdata = pnm::get (file, &l, &h); raw2display (rawdata, l, h); free (rawdata); if (!vis) return -1; changed = true; return 0; } s_int8 image::load_pnm (string fname) { SDL_RWops *file; s_int8 ret = 0; file = SDL_RWFromFile (fname.c_str (), "rb"); if (!file) return 1; ret = get_pnm (file); SDL_RWclose (file); return ret; } s_int8 image::put (ogzstream& file) const { bool m = is_masked (); s_int8 a = alpha (); m >> file; a >> file; put_raw (file); return 0; } s_int8 image::save (string fname) const { ogzstream file (fname); s_int8 ret = 0; if (!file.is_open ()) return 1; ret = put (file); file.close (); return ret; } s_int8 image::put_raw (ogzstream& file) const { length () >> file; height () >> file; if (!length () || !height ()) return 0; SDL_Surface *tmp2 = SDL_CreateRGBSurface (0, 1, 1, 24, R_MASK, G_MASK, B_MASK, 0); image * imt; SDL_Surface * toconvert; if (dbl_mode) { imt = new image(); imt->double_size(*this); toconvert = imt->vis; } else { toconvert = vis; } SDL_Surface * temp = SDL_ConvertSurface (toconvert, tmp2->format, 0); SDL_LockSurface (temp); // The pitch is ALWAYS a multiple of 4, no matter the length of the image. // We must be carefull not to record the pitch overlap. for (u_int16 j = 0; j < height (); j++) { file.put_block ((u_int8 *) temp->pixels + (temp->pitch * j), length () * 3); } SDL_UnlockSurface (temp); SDL_FreeSurface (temp); SDL_FreeSurface (tmp2); if (dbl_mode) delete imt; return 0; } s_int8 image::save_raw (string fname) const { ogzstream file (fname); s_int8 ret = 0; if (!file.is_open ()) return 1; ret = put_raw (file); file.close (); return ret; } s_int8 image::put_pnm (SDL_RWops * file) const { SDL_Surface *tmp2 = SDL_CreateRGBSurface (0, 1, 1, 24, R_MASK, G_MASK, B_MASK, 0); SDL_Surface * temp; if (dbl_mode) { image imt; imt.half_size(*this); temp = SDL_ConvertSurface (imt.vis, tmp2->format, 0); } else { temp = SDL_ConvertSurface (vis, tmp2->format, 0); } pnm::put (file, temp->pixels, length (), height ()); SDL_FreeSurface (temp); SDL_FreeSurface (tmp2); return 0; } s_int8 image::save_pnm (string fname) const { SDL_RWops *file; s_int8 ret = 0; file = SDL_RWFromFile (fname.c_str (), "wb"); if (!file) return 1; ret = put_pnm (file); SDL_RWclose (file); return ret; } void image::zoom (const surface& src, u_int16 l, u_int16 h, u_int16 x, u_int16 y) { // Calculate the step per pixel. // While the surface positions are u_int16s, we use u_int32s for step // and position during zoom, that we'll divide by 65535 ( >> 16). That // way, we can perform our zoom without having to divide two times per // pixel we proceed (we can replace the divides with shift, much much // faster. u_int32 xstep = (u_int32) (((double) src.length () / (double) l) * 65535); u_int32 ystep = (u_int32) (((double) src.height () / (double) h) * 65535); u_int32 xcur; u_int32 ycur; u_int32 col; lock (); src.lock (); ycur = 0; u_int16 i, j; for (j = y; j < h + y; j++) { xcur = 0; for (i = x; i < l + x; i++) { src.get_pix (xcur >> 16, ycur >> 16, col); put_pix (i, j, col); xcur += xstep; } ycur += ystep; } src.unlock (); unlock (); } void image::tile (const surface& src, u_int16 l, u_int16 h, u_int16 x, u_int16 y) { u_int16 posx; u_int16 posy; drawing_area da (x, y, l, h); for (posy = 0; posy < h; posy += src.height ()) for (posx = 0; posx < l; posx += src.length ()) src.draw (x + posx, y + posy, &da, this); } void image::brightness (const surface& src, u_int8 cont, bool proceed_mask) { u_int16 i, j; u_int8 ir, ig, ib; u_int32 temp = 0; if (screen::dbl_mode () && !dbl_mode) resize (src.length () << 1, src.height () << 1); else resize (src.length (), src.height ()); lock (); src.lock (); for (j = 0; j < height (); j++) for (i = 0; i < length (); i++) { src.get_pix (i, j, temp); if ((proceed_mask) || temp != screen::trans_col ()) { src.get_pix (i, j, ir, ig, ib); ir = (ir * cont) >> 8; ig = (ig * cont) >> 8; ib = (ib * cont) >> 8; put_pix (i, j, ir, ig, ib); } else put_pix (i, j, temp); } src.unlock (); unlock (); set_mask (false); set_alpha (255); } image& image::operator = (const image& src) { (surface&) (*this) = (surface&) src; return *this; } // Private methods void image::raw2display (void * rawdata, u_int16 l, u_int16 h) { set_length (l); set_height (h); SDL_Surface *tmp2 = SDL_CreateRGBSurfaceFrom (rawdata, length (), height (), 24, length () * 3, R_MASK, G_MASK, B_MASK, 0); vis = SDL_DisplayFormat (tmp2); if (dbl_mode) { image imt; imt.double_size(*this); *this = imt; } SDL_FreeSurface (tmp2); } adonthell-0.3.5/src/image.h0000644000076500000240000002662710137121505012442 00000000000000/* $Id: image.h,v 1.28 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 1999/2000/2001/2004 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file image.h * @author Alexandre Courbot * * @brief Declares the image class. * * */ #ifndef IMAGE_H_ #define IMAGE_H_ #include "fileops.h" #include "screen.h" /** * Image manipulation class. * Designed to work with single images, without having to care about the bit * depth. This class is widely used through the %game - in fact it handles * everything that is displayed on the %screen. * This class highly relies on surface, so you'll probably want to have a look * at it before using image. */ class image : public surface { public: /** * Default constructor. * The image created via this constructor is totally empty. */ image (); #ifndef SWIG /** Creates an image with a specified size. * @param l length of the image. * @param h height of the image. * @param mode use screen::dblmode or set dbl_mode to false * * @attention Not accessible from Python. */ image (u_int16 l, u_int16 h, bool mode = true); /** * Create image from SDL_Surface. * @param s surface */ image (SDL_Surface *s, const SDL_Color & color); #endif /** Destructor. */ ~image (); /** * Resize this image. * All the content will be lost. * If you want to zoom the image you'll want to see the zoom () function * instead. * * @param l new length. * @param h new height. * @sa zoom () */ void resize (u_int16 l, u_int16 h); /** * Resets the image to it's initial state, that is totally * empty. * */ void clear (); /** * @name Loading / Saving Methods. * These methods allows you to load and save * an image in different formats. * */ //@{ /** Loads an image from an opened file, saved in %game internal format, * with alpha and mask values. * @param file the opened file from which to read. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa load () */ s_int8 get (igzstream& file); /** Loads an image from a file name, in game internal format, with alpha * and mask values. * @param fname the name of the file to load. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa get () */ s_int8 load (string fname); /** Loads an image from an opened file, saved in %game internal format, * without alpha and mask values. * @param file the opened file from which to read. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa load_raw () */ s_int8 get_raw (igzstream& file); /** Loads an image from a file name, in game internal format, without alpha * and mask values. * @param fname the name of the file to load. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa get_raw () */ s_int8 load_raw (string fname); /** Loads an image from an opened file, in PNM format, without * alpha and mask values. * @param file the opened file from which to read. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa load_pnm () */ s_int8 get_pnm (SDL_RWops * file); /** Loads an image from a file name, in PNM format, without * alpha and mask values. * @param fname the name of the file to load. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa get_pnm () */ s_int8 load_pnm (string fname); /** Saves an image into an opened file, in %game format, with * alpha and mask values. * @warning as the image which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving images with full * truecolor quality, use image_edit instead. * @param file opened file where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa save () */ s_int8 put (ogzstream& file) const; /** Saves an image into an file, in %game format, with * alpha and mask values. * @warning as the image which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving images with full * truecolor quality, use image_edit instead. * @param fname file name where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa put () */ s_int8 save (string fname) const; /** Saves an image into an opened file, in %game format, without * alpha and mask values. * @warning as the image which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving images with full * truecolor quality, use image_edit instead. * @param file opened file where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa save_raw () */ s_int8 put_raw (ogzstream& file) const; /** Saves an image into an file, in %game format, without * alpha and mask values. * @warning as the image which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving images with full * truecolor quality, use image_edit instead. * @param fname file name where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa put_raw () */ s_int8 save_raw (string fname) const; /** Saves an image into an opened file, in PNM format, without * alpha and mask values. * @warning as the image which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving images with full * truecolor quality, use image_edit instead. * @param file opened file where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa save_pnm () */ s_int8 put_pnm (SDL_RWops * file) const; /** Saves an image into an file, in PNM format, without * alpha and mask values. * @warning as the image which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving images with full * truecolor quality, use image_edit instead. * @param fname file name where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa put_pnm () */ s_int8 save_pnm (string fname) const; //@} /** * @name Special FX Methods. * Allows you to put fantasy in your image manipulations! Can * eventually even be usefull... * */ //@{ /** Zooms a surface. * Zoom the content of the src surface into this image, to it's own size. * @param src the source image to zoom. */ void zoom (const surface& src) { zoom (src, length (), height (), 0, 0); } #ifndef SWIG /** * Zooms a surface. * Zoom the content of the src surface into this image, to the size * (l, h), at position (x, y) on this image. * * @param src The source surface to zoom. * @param l length of the zoomed image. * @param h height of the zoomed image. * @param x X offset on the destination image. * @param y Y offset on the destination image. * * @attention Not available from Python. Use zoom_to () from Python instead. * @sa zoom_to () */ void zoom (const surface& src, u_int16 l, u_int16 h, u_int16 x = 0, u_int16 y = 0); #endif /** * Synonym of zoom () to guarantee its access from Python. * * @sa zoom () * */ void zoom_to (const surface& src, u_int16 l, u_int16 h, u_int16 x = 0, u_int16 y = 0) { zoom (src, l, h, x, y); } /** Tiles a surface. * Tiles the src surface so this image is totally filled. * @param source the source surface to tile. */ void tile (const surface& src) { tile (src, length (), height ()); } #ifndef SWIG /** * Tiles a surface. * Tiles the src surface so the area of this image starting at position * (x, y) and (l, h) sized is totally filled. * @param source the source surface to tile. * @param l length of the area to tile. * @param h height of the area to tile. * @param x X offset on the destination image. * @param y Y offset on the destination image. * * @attention Not available from Python. Use tile_to () from Python instead. * @sa tile_to () */ void tile (const surface& src, u_int16 l, u_int16 h, u_int16 x = 0, u_int16 y = 0); #endif /** * Synonym of tile () to guarantee its access from Python. * * @sa tile () * */ void tile_to (const surface& src, u_int16 l, u_int16 h, u_int16 x = 0, u_int16 y = 0) { tile (src, l, h, x, y); } /** * Applies a "brightness" to a surface. * Lighten (or darken) the src surface and put the result into this image. * This image will be resized to the src surface's size. * @param src the source surface to lighten/darken. * @param cont the "brightness" value, if < 256 the image will be * darkened. * @todo modify it so when < 128 -> darken, > 128 -> brighten. * @param proceed_mask if set to true, then the translucent pixels will * be lightened/darkened too. */ void brightness (const surface& src, u_int8 cont, bool proceed_mask = false); //@} #ifndef SWIG /** * Image copy (similar to copy ()). * * @attention Not available from Python. Use copy () from Python instead. * @sa copy () */ image& operator = (const image& src); #endif /** * Synonym of operator = to guarantee its access from Python. * * @sa operator = */ void copy (const image& src) { *this = src; } private: /** * Forbid value passing. */ image(const image& src); /** * Converts a raw image source recorded in RGB to the current screen depth * and put it to this image. * * @param rawdata raw data to convert. * @param l length of the raw image. * @param h height of the raw image. */ void raw2display (void * rawdata, u_int16 l, u_int16 h); }; #endif adonthell-0.3.5/src/input.cc0000644000076500000240000000552107655531400012655 00000000000000/* $Id: input.cc,v 1.7 2003/05/05 18:52:48 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot. Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file input.cc * @author Alexandre Courbot * * @brief Defines the input class. * * */ #include #include #include #include #include "input.h" u_int8 * input::keystate=NULL; u_int8 * input::p_keystate=NULL; u_int16 input::last_key; s_int32 input::keystatelength; u_int16 input::mouse_posx, input::mouse_posy; bool input::mouse_button[3]; int input::filterevents(const SDL_Event *event) { if(event->type==SDL_KEYDOWN) p_keystate[event->key.keysym.sym]++; return 1; } void input::init() { // keyboard_mode=0; keystate=SDL_GetKeyState(&keystatelength); // set_keyboard_mode(MODE_STATE); p_keystate=new u_int8[keystatelength]; memset(p_keystate, 0, keystatelength); set_key_repeat(0,0); SDL_SetEventFilter(filterevents); SDL_EnableUNICODE(1); } void input::shutdown() { delete[] p_keystate; } void input::update() { SDL_PumpEvents(); } bool input::is_pushed(SDLKey key) { bool ret; ret=keystate[key]; if((ret)&&(p_keystate[key])) p_keystate[key]--; return ret; } bool input::has_been_pushed(SDLKey key) { bool ret; ret=p_keystate[key]; if((ret)&&(!(--p_keystate[key]))) keystate[key]=0; return ret; } void input::set_key_repeat(int delay, int interval) { SDL_EnableKeyRepeat(delay, interval); } s_int32 input::get_next_key() { static SDL_Event event; static bool b; b=false; if(SDL_PeepEvents(&event,1,SDL_GETEVENT,SDL_KEYDOWNMASK)==1) { b=true; if(p_keystate[event.key.keysym.sym]) p_keystate[event.key.keysym.sym]--; keystate[event.key.keysym.sym]=0; } // FIXME: this should be placed elsewhere. while(SDL_PeepEvents (&event,1,SDL_GETEVENT,SDL_ALLEVENTS-SDL_KEYDOWNMASK)==1); if (b) return(event.key.keysym.sym); return(-1); } s_int32 input::get_next_unicode() { static SDL_Event event; static bool b; b=false; if(SDL_PeepEvents(&event,1,SDL_GETEVENT,SDL_KEYDOWNMASK)==1) { b=true; if(event.key.keysym.unicode) { if(p_keystate[event.key.keysym.sym]) p_keystate[event.key.keysym.sym]--; keystate[event.key.keysym.sym]=0; } } // FIXME: this should be placed elsewhere. while(SDL_PeepEvents (&event,1,SDL_GETEVENT,SDL_ALLEVENTS-SDL_KEYDOWNMASK)==1); if (b) return(event.key.keysym.unicode); return(-1); } void input::clear_keys_queue() { while(get_next_key()!=-1); memset(p_keystate, 0, keystatelength); } adonthell-0.3.5/src/input.h0000644000076500000240000000514007325516467012526 00000000000000/* $Id: input.h,v 1.11 2001/07/19 08:41:27 gnurou Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot. Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file input.h * @author Alexandre Courbot * * @brief Declares the input class. * * */ #ifndef INPUT_H__ #define INPUT_H__ #include "types.h" #include "SDL_keysym.h" /** * Handles keyboard and mouse input. * * @todo Rewrite it! * */ class input { public: /** * Initialise the input system. * */ static void init(); /** * Free resources occupied by the input system. * */ static void shutdown(); /** * Update the input state. * */ static void update(); /** * Returns whether a key is currently pushed or not. * * @param key key to test. * * @return true if key is currently pushed, false otherwise. */ static bool is_pushed(SDLKey key); /** * Returns whether a key has been pushed since last function call, false otherwise. * * @param key key to test. * * @return true if the key has been pushed since last call, false otherwise. */ static bool has_been_pushed(SDLKey key); /** * Returns the code of the next key on the input queue. * * * @return Code of the next key that has been pushed. */ static s_int32 get_next_key(); /** * Returns the next unicode on the input queue. * * * @return Unicode of the next key that has been pushed. */ static s_int32 get_next_unicode(); /** * Sets whether the key repeat is active or not. * * @param delay delay (in ms) before repetition. * @param interval interval (in ms) between repetitions. */ static void set_key_repeat(int delay=SDL_DEFAULT_REPEAT_DELAY, int interval=SDL_DEFAULT_REPEAT_INTERVAL); /** * Totally clears the key queue. * */ static void clear_keys_queue(); private: static u_int16 last_key; static int filterevents(const SDL_Event *event); static u_int16 mouse_posx, mouse_posy; static u_int8 * keystate; static u_int8 * p_keystate; static s_int32 keystatelength; #ifndef SWIG static bool mouse_button[3]; #endif }; #endif adonthell-0.3.5/src/label.cc0000644000076500000240000004106411017574452012600 00000000000000/* $Id: label.cc,v 1.13 2008/05/28 22:04:13 ksterker Exp $ (C) Copyright 2000/2001/2004 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "label.h" u_int16 label::cursor_blink_cycle = 75; /** Constructor */ label::label () : image () { // no font at the beginning my_font_ = NULL; new_text_ = ""; // init the cursor and the text vector init_vec_cursor (); // set my default form set_form (NOTHING); set_cursor_visible (false); set_cursor_moveable (false); cursor_cur_blink_ = 0; set_mask (true); } /** Destructor */ label::~label () { } /** Set the font */ void label::set_font (win_font & font) { my_font_ = &font; // build (true); } /** Set the text */ void label::set_text (const string & text) { // init the vector and the cursor init_vec_cursor (); my_old_cursor_ = my_cursor_; // set the text my_text_ = text; my_cursor_.idx = my_text_.length (); // build the vector build (true); } /** Add text */ void label::add_text (const string & text) { new_text_ += text; // collect more text if we have unfinished utf8 int size = new_text_.length (); if (size == 2 && (u_int8) new_text_[0] >= 0xE0) return; if (size == 1 && (u_int8) new_text_[0] >= 0x80) return; my_old_cursor_ = my_cursor_; if (my_old_cursor_.idx == my_text_.length ()) { my_text_ += new_text_; my_cursor_.idx = my_text_.length (); } else my_text_.insert (my_cursor_.idx, new_text_); new_text_ = ""; build (false); } /** REsize the label */ void label::resize (u_int16 l, u_int16 h) { image::resize (l, h); set_text (my_text_); } /** Set the form */ void label::set_form (const u_int8 form) { my_form_ = form; build (true); } /** Init vector and cursor */ void label::init_vec_cursor () { // init the cursor my_cursor_.pos_x = my_cursor_.pos_y = my_cursor_.line = my_cursor_.idx = 0; // init the vector my_vect_.clear (); // create a line in the vector Sline_text tmp; tmp.pos_x = tmp.idx_beg = tmp.idx_end = 0; // add the new line at the beginning of the vector my_vect_.push_back (tmp); // the beginning of the display line, 0 is the first line start_line_ = 0; } /** Update the vector start : it's the index where the function must start to update */ void label::build (const bool erase_all) { if (my_font_ == NULL) return; set_mask (false); switch (my_form_) { case NOTHING : build_form_nothing (); update_cursor (); draw_string (!erase_all); break; case AUTO_HEIGHT : build_form_auto_height (); update_cursor (); draw_string (!erase_all); break; case AUTO_SIZE : build_form_auto_size (); update_cursor (); draw_string (false); break; } set_mask (true); } /** Set if cursor is visible */ void label::set_cursor_visible (const bool b) { visible_cursor_ = b; } /** Set the cursor moveable with arrow */ void label::set_cursor_moveable (const bool b) { moveable_cursor_ = b; } /** Build the label when the form set top nothing */ void label::build_form_nothing () { // temporary variable u_int16 j, word_length, word_length_pix, start_idx; // temporary line Sline_text line_tmp; // we start at the beginning index of cursor line line_tmp.idx_beg = my_vect_[my_old_cursor_.line].idx_beg; line_tmp.pos_x = 0; // we start always at the begin index of the line start_idx = line_tmp.idx_beg; // erase the vector vector ::iterator ii = my_vect_.begin (); u_int16 i = 0; while (i != my_old_cursor_.line) { i++; ii++; } my_vect_.erase (ii, my_vect_.end ()); while (start_idx < my_text_.length () ) { // if cur letter is an \n if (my_text_[start_idx] == '\n') { // the last index of this line line_tmp.idx_end = start_idx; // add to the vector line my_vect_.push_back (line_tmp); // init a Sline_text line_tmp.pos_x = 0; line_tmp.idx_beg = ++start_idx; } else if (my_text_[start_idx] == ' ') { if ((*my_font_) [' '].length () + line_tmp.pos_x > length ()) { line_tmp.idx_end = start_idx; // add to the vector line my_vect_.push_back (line_tmp); // init a Sline_text line_tmp.pos_x = 0; line_tmp.idx_beg = ++start_idx; } else { line_tmp.pos_x += (*my_font_) [' '].length (); start_idx++; } } else { // find a word switch (find_word (start_idx, word_length, word_length_pix, line_tmp.pos_x)) { case 0 : // enough place line_tmp.pos_x += word_length_pix; break; case 1 : // enough place, but return at the next line // here we erase end of the last line if (length () && height ()) { lock (); fillrect (line_tmp.pos_x, (my_vect_.size () - start_line_) * my_font_->height (), length () - line_tmp.pos_x, my_font_->height (), screen::trans_col () ); unlock (); } line_tmp.idx_end = (start_idx - word_length) - 1; my_vect_.push_back (line_tmp); line_tmp.pos_x = word_length_pix; line_tmp.idx_beg = start_idx - word_length; break; case 2 : // not enough place j = start_idx - word_length; while (j < start_idx) { u_int16 c = ucd (j); if (line_tmp.pos_x + (*my_font_) [c].length () > length ()) { line_tmp.idx_end = j - 1; my_vect_.push_back (line_tmp); line_tmp.pos_x = 0; line_tmp.idx_beg = j; } line_tmp.pos_x += (*my_font_) [c].length (); j++; } break; } } } // it is the last line line_tmp.idx_end = start_idx - 1; my_vect_.push_back (line_tmp); } void label::build_form_auto_height () { // it's the same build_form_nothing (); // now verify if it's always the same size u_int16 new_size = my_vect_.size () * my_font_->height (); if (new_size != height ()) { image tmp (length (), new_size); tmp.lock (); tmp.fillrect (0, 0, length (), new_size, screen::trans_col ()); tmp.unlock (); draw (0, 0, 0, 0, length (), my_old_cursor_.pos_y + my_font_->height (), NULL, &tmp); image::resize (length (), new_size); tmp.draw (0, 0, NULL, this); } } void label::build_form_auto_size () { // find the max height and the max length // clear the vector_ my_vect_.clear (); // temporary line Sline_text line_tmp; line_tmp.pos_x = 0; line_tmp.idx_beg = 0; u_int16 i = 0, max_length = 0; while ( i < my_text_.size ()) { if (my_text_[i] == '\n') { if (line_tmp.pos_x > max_length) max_length = line_tmp.pos_x; line_tmp.idx_end = i; my_vect_.push_back (line_tmp); line_tmp.idx_beg = i+1; line_tmp.pos_x = 0; } else { line_tmp.pos_x += (*my_font_) [ucd (i)].length (); } i++; } if (line_tmp.pos_x > max_length) max_length = line_tmp.pos_x; // the last line line_tmp.idx_end = i-1; my_vect_.push_back (line_tmp); // now resize the label image::resize (max_length, my_vect_.size () * my_font_->height ()); } void label::clean_surface (const bool erase_all) { if (length () && height ()) { if ( my_cursor_.idx != my_text_.length ()) { lock (); fillrect ( my_old_cursor_.pos_x, my_old_cursor_.pos_y, length () - my_old_cursor_.pos_x, my_font_->height (), screen::trans_col ()); fillrect (0, my_old_cursor_.pos_y + my_font_->height (), length (), height () -my_old_cursor_.pos_y + my_font_->height (), screen::trans_col ()); unlock (); } else if (erase_all) { lock (); fillrect (0, 0, length (), height (), screen::trans_col ()); unlock (); } } } // find a word // index : the word begin at the index // wlength : size of word // wlengthpix : size of word in pixel // length : // return 0 if enough size for this word, 1 if enough but must return on the next line, 2 if the word is bigger than the length u_int8 label::find_word (u_int16 & index, u_int16 & wlength, u_int16 & wlengthpix, const u_int16 rlength) { wlength = index; wlengthpix = 0; while (index < my_text_.length () && my_text_[index] != ' ' && my_text_[index] != '\n') { wlengthpix += (*my_font_) [ucd (index)].length (); index++; } // count of characters (which is != count of letters due to utf-8 encoding) wlength = index - wlength; // if size of word is bigger than the length of label if (wlengthpix < length () - rlength) return 0; else if (wlengthpix < length ()) return 1; return 2; } void label::update_cursor () { // find the cursor position bool b = false; // init the blink cursor cursor_cur_blink_ = cursor_blink_cycle; // find the iterator line where is the cursor while (!b && my_cursor_.line < my_vect_.size () ) { if (my_cursor_.idx >= my_vect_[my_cursor_.line].idx_beg && my_cursor_.idx <= my_vect_[my_cursor_.line].idx_end ) b = true; else if (my_cursor_.idx > my_vect_[my_cursor_.line].idx_end) { if (my_cursor_.line == my_vect_.size () - 1) b = true; else my_cursor_.line++; } else if (my_cursor_.idx < my_vect_[my_cursor_.line].idx_beg) { my_cursor_.line--; } } // now find the x position of the cursor my_cursor_.pos_x = 0; u_int16 j = my_vect_[my_cursor_.line].idx_beg; while (j < my_cursor_.idx) { my_cursor_.pos_x+= (*my_font_) [ucd (j)].length (); j++; } // find y position my_cursor_.pos_y = (my_cursor_.line - start_line_) * my_font_->height (); if (my_cursor_.pos_y > height ()) { } } // if bool is false redraw all, if bool is true redraw just at beginning of the cursor void label::draw_string (const bool at_cursor) { u_int16 tmp_start_line; u_int16 tx = 0, ty = 0; u_int16 idx_cur_line, j; u_int16 c; // if not at cursor, we erase all clean_surface (!at_cursor); if (at_cursor) { tmp_start_line = my_old_cursor_.line; tx = my_old_cursor_.pos_x; idx_cur_line = my_old_cursor_.idx; ty = (tmp_start_line - start_line_) * my_font_->height (); } else { tmp_start_line = start_line_; idx_cur_line = my_vect_[tmp_start_line].idx_beg; } // draw the first line for (j = idx_cur_line; j < my_vect_[tmp_start_line].idx_end + 1 ; j++) { c = ucd (j); if (c != '\n' && my_font_->in_table (c)) { (*my_font_) [c].draw (tx, ty, NULL, this); tx += (*my_font_) [c].length (); } } ty += my_font_->height (); tmp_start_line++; // draw another line while (tmp_start_line < my_vect_.size ()) { tx = 0; for (j = my_vect_[tmp_start_line].idx_beg; j < my_vect_[tmp_start_line].idx_end + 1 ; j++) { c = ucd (j); if (my_font_->in_table (c)) { (*my_font_) [c].draw (tx, ty, NULL, this); tx += (*my_font_) [c].length (); } } ty += my_font_->height (); tmp_start_line++; } } bool label::update () { if (visible_cursor_) { if (! (height () && length ())) return true; if (cursor_cur_blink_ == cursor_blink_cycle) { cursor_draw (); cursor_cur_blink_ = 0; }else if (cursor_cur_blink_ == (cursor_blink_cycle >> 1)) cursor_undraw (); cursor_cur_blink_++; } return true; } void label::cursor_draw () { // draw the cursor u_int16 idx = my_cursor_.idx; if (last_letter (idx) || my_text_[idx] == '\n') my_font_->cursor->draw (my_cursor_.pos_x, my_cursor_.pos_y,NULL, this); else my_font_->cursor->draw (my_cursor_.pos_x, my_cursor_.pos_y,0, 0, (*my_font_) [ucd (idx)].length (), my_font_->height (), NULL, this); } void label::cursor_undraw () { // draw letter instead u_int16 idx = my_cursor_.idx; if (last_letter (idx) || my_text_[idx] == '\n') { lock (); fillrect(my_cursor_.pos_x, my_cursor_.pos_y, my_font_->cursor->length () , my_font_->cursor->height(), screen::trans_col()); unlock (); } else (*my_font_) [ucd (idx)].draw (my_cursor_.pos_x, my_cursor_.pos_y, NULL, this); } bool label::last_letter (u_int16 idx) { if ((u_int8) my_text_[idx] == 0xEF) return my_text_.length () - idx == 2; if ((u_int8) my_text_[idx] == 0xC3) return my_text_.length () - idx == 1; return my_cursor_.idx == my_text_.length (); } bool label::input_update () { if(input::has_been_pushed(KEY_CURSOR_NEXT)) { if (! (height () && length ())) return false; // cursor_undraw (); // cursor_next (); } else if (input::has_been_pushed(KEY_CURSOR_PREVIOUS)) { if (! (height () && length ())) return false; // cursor_undraw (); // cursor_previous (); } return true; } void label::cursor_next () { if (!moveable_cursor_) return; if (my_cursor_.idx < my_text_.length ()) { u_int8 count; if (my_cursor_.idx < my_text_.length () - 2 && (u_int8) my_text_[my_cursor_.idx+1] == 0xEF) count = 3; else if (my_cursor_.idx < my_text_.length () - 1 && (u_int8) my_text_[my_cursor_.idx+1] == 0xC3) count = 2; else count = 1; my_cursor_.idx += count; update_cursor (); } } void label::cursor_previous () { if (!moveable_cursor_) return; if (my_cursor_.idx > 0) { u_int8 count; if (my_cursor_.idx > 2 && (u_int8) my_text_[my_cursor_.idx-3] == 0xEF) count = 3; else if (my_cursor_.idx > 1 && (u_int8) my_text_[my_cursor_.idx-2] == 0xC3) count = 2; else count = 1; my_cursor_.idx -= count; update_cursor (); } } const string label::text_string () const { return my_text_; } const char * label::text_char () const { return my_text_.c_str (); } // utf-8 --> utf-16 u_int16 label::ucd (u_int16 & idx) { u_int8 c = my_text_[idx]; if (c < 0x80) return c; if (c < 0xe0) { u_int8 c1 = my_text_[++idx]; return ((u_int16) (c & 0x1f) << 6) | (u_int16) (c1 ^ 0x80); } u_int8 c1 = my_text_[++idx]; u_int8 c2 = my_text_[++idx]; return ((u_int16) (c & 0x0f) << 12) | ((u_int16) (c1 ^ 0x80) << 6) | (u_int16) (c2 ^ 0x80); } adonthell-0.3.5/src/label.h0000644000076500000240000001013210230250720012413 00000000000000/* $Id: label.h,v 1.8 2005/04/16 17:56:32 ksterker Exp $ (C) Copyright 2000/2001/2004 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef LABEL_H_ #define LABEL_H_ #include #include #include "input.h" #include "win_font.h" using namespace std; class label: public image { public : /** Constructor by default, cursor is not moveable, cursor is not visible, and the form is set as NOTHING, the default size is (0, 0) */ label (); /** Destructor */ ~label (); /** Set the font */ void set_font (win_font & font); /** Set the text */ void set_text (const string & text); /** Add text */ void add_text (const string & text); /** Set the form of the display NOTHING, AUTO_SIZE, AUTO_HEIGHT */ void set_form (const u_int8 form); /** Set visible cursor */ void set_cursor_visible (const bool b); /** Set if the cursor can be moved with arrow key */ void set_cursor_moveable (const bool b); /** Update the label */ bool update (); /** Update input label, you can move the cursor if the cursor is moveable */ bool input_update (); /** Get the text in string */ const string text_string () const; /** Get the text in char */ const char * text_char () const; /** Resize the label */ void resize (u_int16 l, u_int16 h); #ifdef SWIG #define label_NOTHING 0; #define label_AUTO_HEIGHT 1; #define label_AUTO_SIZE 2; #define label_KEY_CURSOR_NEXT SDLK_RIGHT; #define label_KEY_CURSOR_PREVIOUS SDLK_LEFT; #endif #ifndef SWIG static const u_int8 NOTHING = 0; static const u_int8 AUTO_HEIGHT = 1; static const u_int8 AUTO_SIZE = 2; const static SDLKey KEY_CURSOR_NEXT = SDLK_RIGHT; const static SDLKey KEY_CURSOR_PREVIOUS = SDLK_LEFT; protected : u_int16 ucd (u_int16 & idx); struct Sline_text { u_int16 idx_beg; s_int16 idx_end; u_int16 pos_x; }; struct Scursor { u_int16 pos_x; u_int16 pos_y; u_int16 idx; u_int16 line; }; /** Init vector and cursor, don't erase my_text_ */ void init_vec_cursor (); /** Build label */ void build(const bool erase_all); /** */ void build_form_nothing (); /** */ void build_form_auto_height (); /** */ void build_form_auto_size(); /** */ void clean_surface (const bool erase_all); /** */ u_int8 find_word (u_int16 & index, u_int16 & wlength, u_int16 & wlengthpix, const u_int16 rlength); /** */ void draw_string (const bool at_cursor); /** */ void update_cursor (); /** */ void cursor_next (); /** */ void cursor_previous (); /** */ void cursor_draw (); void cursor_undraw (); bool last_letter (u_int16 idx); // my_font win_font * my_font_; // my text string my_text_; // temporary for gathering utf-8 text string new_text_; // form display u_int8 my_form_; // visible cursor bool visible_cursor_; // moveable_cursor bool moveable_cursor_; u_int16 cursor_cur_blink_; static u_int16 cursor_blink_cycle; // my cursor Scursor my_cursor_; // my old cursor Scursor my_old_cursor_; // it is a vector which represent each line in the label vector my_vect_; u_int16 start_line_; #endif // it's the endif of swig }; #endif adonthell-0.3.5/src/label_input.cc0000644000076500000240000000504510157254532014014 00000000000000/* $Id: label_input.cc,v 1.14 2004/12/13 08:56:58 ksterker Exp $ (C) Copyright 2000/2001/2003/2004 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "label_input.h" label_input::label_input () : label () { set_cursor_visible (true); set_cursor_moveable (true); set_editable (true); } void label_input::set_editable (const bool b) { editable_ = b; } bool label_input::input_update() { if (!editable_) return false; label::input_update(); if (my_font_ == NULL) return false; int count; static s_int32 c; while ((c = input::get_next_unicode ()) > 0) { cursor_undraw (); if (c == SDLK_BACKSPACE || c == SDLK_DELETE) { if (my_text_.empty () || my_cursor_.idx == 0) return true; // possibly delete multi-byte utf-8 char if (my_cursor_.idx > 2 && (u_int8) my_text_[my_cursor_.idx-3] == 0xEF) count = 3; else if (my_cursor_.idx > 1 && (u_int8) my_text_[my_cursor_.idx-2] == 0xC3) count = 2; else count = 1; my_cursor_.idx -= count; u_int16 idx = my_cursor_.idx; u_int16 glyph = ucd (idx); my_text_.erase (my_cursor_.idx, count); update_cursor (); my_old_cursor_ = my_cursor_; lock (); fillrect (my_cursor_.pos_x, my_cursor_.pos_y, (*my_font_) [glyph].length (), my_font_->height (), screen::trans_col ()); unlock (); build (false); } else if (c == SDLK_RETURN) add_text ("\n"); else if (my_font_->in_table (c)) { char r[3]; // convert unicode to utf-8 if (c < 0x80) count = 1; else if (c < 0x800) count = 2; else if (c < 0x10000) count = 3; switch (count) { /* note: code falls through cases! */ case 3: r[2] = 0x80 | (c & 0x3f); c = c >> 6; c |= 0x800; case 2: r[1] = 0x80 | (c & 0x3f); c = c >> 6; c |= 0xc0; case 1: r[0] = c; } add_text (string (r, count)); } } return true; } adonthell-0.3.5/src/label_input.h0000644000076500000240000000147107370277151013662 00000000000000/* (C) Copyright 2000/2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef LABEL_INPUT_H_ #define LABEL_INPUT_H_ #include "label.h" class label_input : public label { public: /** Constructor Initialize to : cursor_moveable, cursor_visible and editable */ label_input (); /** Set the label input in editable */ void set_editable (const bool); /** Input update */ bool input_update(); protected: bool editable_; }; #endif adonthell-0.3.5/src/landmap.cc0000644000076500000240000002150707525017626013141 00000000000000/* $Id: landmap.cc,v 1.20 2002/08/09 20:01:26 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file landmap.cc * Defines the landmap class. */ #include "landmap.h" #include "character.h" using namespace std; landmap::landmap () : event_list () { } landmap::~landmap () { clear (); } void landmap::clear () { // Clear all events event_list::clear (); // Remove all mapcharacters from this map. while (mapchar.size ()) mapchar.front ()->remove_from_map (); // Delete all mapobjects vector ::iterator io; for (io = mobj.begin (); io != mobj.end (); io++) delete (*io); mobj.clear (); // Delete all mapobjects filenames mobjsrc.clear (); // Delete all submaps vector ::iterator is; for (is = submap.begin (); is != submap.end (); is++) delete (*is); submap.clear (); // Reset the filename. filename_ = ""; } void landmap::update () { // Update mapobjects vector ::iterator io; for (io = mobj.begin (); io != mobj.end (); io++) (*io)->update (); // Update mapcharacters vector ::iterator ic; for (ic = mapchar.begin (); ic != mapchar.end (); ic++) (*ic)->update (); } s_int8 landmap::get (igzstream& file) { u_int16 i, j; string tstr; clear (); // Load mapobjects i << file; for (; i; i--) { mapobject * tobj = new mapobject; tstr << file; tobj->load (tstr); insert_mapobject (tobj, nbr_of_mapobjects (), tstr.c_str ()); } // Load submaps i << file; for (j = 0; j < i; j++) { insert_submap (nbr_of_submaps ()); mapsquare_area * sm = submap[j]; u_int16 k, l; k << file; l << file; sm->resize_area (k, l); for (l = 0; l < sm->area_height (); l++) for (k = 0; k < sm->area_length (); k++) { sm->area[k][l].can_use_for_pathfinding << file; u_int16 n, t; // Read the number of mapobjects which have their base tile here n << file; while (n) { // Get the mapobject number t << file; sm->put_mapobject (k, l, mobj[t]); n--; } } } return 0; } s_int8 landmap::load (string fname) { igzstream file; s_int8 retvalue = -1; string fdef (MAPS_DIR); fdef += fname; file.open (fdef); if (!file.is_open ()) return -1; if (fileops::get_version (file, 1, 1, fdef)) retvalue = get (file); file.close (); filename_ = fname; return retvalue; } s_int8 landmap::put (ogzstream& file) const { u_int16 i; // Save mapobjects nbr_of_mapobjects () >> file; for (i = 0; i < nbr_of_mapobjects (); i++) { mobjsrc[i] >> file; } // Save submaps nbr_of_submaps () >> file; for (i = 0; i < nbr_of_submaps (); i++) { u_int16 k, l; submap[i]->area_length () >> file; submap[i]->area_height () >> file; for (l = 0; l < submap[i]->area_height (); l++) for (k = 0; k < submap[i]->area_length (); k++) { u_int16 nbr_base = 0; submap[i]->area[k][l].can_use_for_pathfinding >> file; list ::iterator it = submap[i]->area[k][l].tiles.begin (); while (it != submap[i]->area[k][l].tiles.end ()) { if (it->is_base) nbr_base++; it++; } nbr_base >> file; it = submap[i]->area[k][l].tiles.begin (); while (it != submap[i]->area[k][l].tiles.end ()) { if (it->is_base) { u_int16 y = 0; while (mobj[y] != (*it).mapobj) y++; y >> file; } it++; } } } return 0; } s_int8 landmap::save (string fname) { ogzstream file (MAPS_DIR + fname); u_int8 retvalue; if (!file.is_open ()) return -1; fileops::put_version (file, 1); retvalue = put (file); file.close (); filename_ = fname; return retvalue; } s_int8 landmap::get_state (igzstream& file) { mapcharacter *mc = NULL; u_int16 nbr_of; string id; // try to load event list if (!event_list::get_state (file)) return false; // Load the mapcharacters nbr_of << file; for (u_int16 i = 0; i < nbr_of; i++) { id << file; mc = (mapcharacter *) data::characters[id.c_str ()]; mc->set_map (this); mc->get_state (file); } return true; } s_int8 landmap::put_state (ogzstream& file) const { u_int16 nbr_of = nbr_of_mapcharacters (); string id; // save all events attached to this map event_list::put_state (file); // Save the mapcharacters and their status nbr_of >> file; for (u_int16 i = 0; i < nbr_of; i++) { mapcharacter *mc = mapchar[i]; id = mc->get_id (); id >> file; mc->put_state (file); } return 0; } s_int8 landmap::insert_mapobject (mapobject * an, u_int16 pos, string srcfile) { if (pos > nbr_of_mapobjects ()) return -2; vector ::iterator i = mobj.begin (); vector ::iterator j = mobjsrc.begin (); while (pos--) { i++; j++; } mobj.insert (i, an); mobjsrc.insert (j, srcfile); return 0; } s_int8 landmap::delete_mapobject (u_int16 pos) { mapobject * dptr = mobj[pos]; // Update all the submaps to delete any mapsquare_tile that points // to the deleted object. u_int16 k; for (k = 0; k < nbr_of_submaps (); k++) { u_int16 i, j; for (i = 0; i < submap[k]->area_length (); i++) for (j = 0; j < submap[k]->area_height (); j++) { mapsquare & ms = submap[k]->area[i][j]; list ::iterator imt; for (imt = ms.tiles.begin (); imt != ms.tiles.end (); imt++) if (imt->mapobj == dptr) { remove_mapobject (k, i, j, pos); // The iterator is invalidated by the delete operation imt = ms.tiles.begin (); } } } vector ::iterator i; if (pos > nbr_of_mapobjects () - 1) return -2; i = mobj.begin (); while (pos--) i++; delete (*i); mobj.erase (i); return 0; } s_int8 landmap::insert_submap (u_int16 pos) { if (pos > nbr_of_mapobjects ()) return -2; // Update the mapcharacters so they are on the same map as before. vector ::iterator ic; for (ic = mapchar.begin (); ic != mapchar.end (); ic++) if ((*ic)->submap_ >= pos) (*ic)->submap_++; // Insert the submap vector ::iterator i = submap.begin (); while (pos--) i++; mapsquare_area * t = new mapsquare_area; submap.insert (i, t); return 0; } s_int8 landmap::delete_submap (u_int16 pos) { // Update the mapcharacters so they are on the same map as before // and remove those who were on the deleted map. vector ::iterator ic; for (ic = mapchar.begin (); ic != mapchar.end (); ic++) { if ((*ic)->submap_ > pos) (*ic)->submap_--; else if ((*ic)->submap_ == pos) (*ic)->remove_from_map (); } // Suppress the submap vector ::iterator i; if (pos > nbr_of_submaps () - 1) return -2; i = submap.begin (); while (pos--) i++; delete (*i); submap.erase (i); return 0; } s_int8 landmap::put_mapobject (u_int16 smap, u_int16 px, u_int16 py, u_int16 mobjnbr) { return submap[smap]->put_mapobject (px, py, mobj[mobjnbr]); } void landmap::remove_mapobject (u_int16 smap, u_int16 px, u_int16 py, u_int16 mobjnbr) { submap[smap]->remove_mapobject (px, py, mobj[mobjnbr]); } adonthell-0.3.5/src/landmap.h0000644000076500000240000002113107626252732012775 00000000000000/* $Id: landmap.h,v 1.26 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file landmap.h * Declares the landmap class. */ #ifndef LANDMAP_H_ #define LANDMAP_H_ #include "mapobject.h" #include "mapcharacter.h" /** * Subdirectory where maps are saved. */ #define MAPS_DIR "maps/" class mapview; /** * Map where the world takes place. * This class handles everything that is needed for map display. More * specifically, it includes: * @li submaps (i.e mapsquare_area), * @li mapobjects. * @li pointers to mapcharacters, * It can make a map and the characters that are on it "live", but isn't * designed for display. See the mapview class for that. * * This class is responsible for the storage of it's submaps and mapobjects, * but NOT mapcharacters. So be sure to delete () yourself your mapcharacters * when you don't need them anymore. * */ class landmap : public event_list { public: /** * Default constructor. * */ landmap (); /** * Destructor. * */ ~landmap (); /** * Cleanup the map. * Totally cleanup a map, that is deleting every * mapobject/mapcharacter/landsubmap it contains, and reset it to * a stable state (just like it has just been created). */ void clear (); /** * @name Map information * */ //@{ /** * Get the number of mapobjects that the map owns. * @return number of mapobjects the map contains. */ u_int16 nbr_of_mapobjects () const { return mobj.size (); } /** * Get the number of landsubmaps that the map owns. * @return number of landsubmaps the map contains. */ u_int16 nbr_of_submaps () const { return submap.size (); } /** * Get the number of mapcharacters that are on this map. * @return number of mapcharacters on this map. */ u_int16 nbr_of_mapcharacters () const { return mapchar.size (); } /** * Get the filename of the map, i.e the file from which * it has been loaded (if any). * * * @return filename of the map. */ string filename () const { return filename_; } //@} /** * @name Individual map elements manipulation * Using these methods should be avoided as long as possible. They * are here for completeness, but their use should be exceptionnal. * */ //@{ /** * Returns a pointer to a mapcharacter on this landmap. * * @param pos index of the mapcharacter to return. * * @return pointer to the \e pos mapcharacter. */ mapcharacter * get_mapcharacter (u_int16 pos) { return mapchar[pos]; } /** * Returns a pointer to a mapobject belonging to this landmap. * * @param pos index of the mapobject to return. * * @return pointer to the \e pos mapobject. */ mapobject * get_mapobject (u_int16 pos) { return mobj[pos]; } /** * Returns a pointer to a submap belonging to this landmap. * * @param pos index of the submap to return. * * @return pointer to the \e pos submap. */ mapsquare_area * get_submap (u_int16 pos) { return submap[pos]; } //@} /** * @name State updating * */ //@{ /** * Update the entire map (mapcharacters, mapobjects, etc... of 1 cycle. * */ void update (); //@} /** * @name Loading/Saving methods. * */ //@{ /** * Load a map from an opened file. * * @param file the file from which to load. * * @return * @li 0 in case of success. * @li -1 in case of failure. */ s_int8 get (igzstream& file); /** * Load a map from a filename. * * @param fname the filename from which to load. * * @return * @li 0 in case of success. * @li -1 in case of failure. */ s_int8 load (string fname); /** * Put a map into an opened file. * * @param file the file where to save. * * @return * @li 0 in case of success. * @li -1 in case of failure. */ s_int8 put (ogzstream& file) const; /** * Save a map into a file. * * @param fname the filename where to save. * * @return * @li 0 in case of success. * @li -1 in case of failure. */ s_int8 save (string fname); //@} /** * @name State loading/saving methods. * */ //@{ /** * Restore the landmap's state from an opened file. * * @param file the opened file from which to load the state. * * @return 0 in case of success, error code otherwise. */ s_int8 get_state (igzstream& file); /** * Saves the landmap's state into an opened file. * * @param file the opened file where to the state. * * @return 0 in case of success, error code otherwise. */ s_int8 put_state (ogzstream& file) const; //@} /** * @name Landmap modification * Although it should be very rare to modify a landmap * during gameplay, these methods are here to allow you * to safely to it. Be aware that they check if each element * is in a safe state, and modify them if necessary. Therefore, * they are quite slow and should be used in exceptionnal situations. * * Note however that put_mapobject () and remove_mapobject () should * be fast enough to allow real-time map modifications. But beware anyway. * */ //@{ /** * Put a mapobject on the map. * * @param smap index of the submap to put the object on. * @param px X position to put the mapobject on * @param py Y position to put the mapobject on. * @param mobjnbr index of the mapobject to put. * * @return * @li 0 in case of success. * @li -1 in case of failure. */ s_int8 put_mapobject (u_int16 smap, u_int16 px, u_int16 py, u_int16 mobjnbr); /** * Remove a mapobject from the map. * * @param smap index of the submap to remove the object on. * @param px X position of the mapobject. * @param py Y position of the mapobject. * @param mobjnbr index of the mapobject to remove. */ void remove_mapobject (u_int16 smap, u_int16 px, u_int16 py, u_int16 mobjnbr); /** * Inserts an empty landsubmap into the landmap. * * The landmap can then be accessed for resizing with * get_submap () * * @param pos the position where to insert the submap. * * @return * @li 0 in case of success. * @li -1 in case of error. * * @sa get_submap () */ s_int8 insert_submap (u_int16 pos); /** * Remove a landsubmap from the landmap. * * @param pos the index of the submap to remove * * @return * @li 0 in case of success. * @li -1 in case of error. */ s_int8 delete_submap (u_int16 pos); /** * Adds a mapobject to a landmap. * * @param an the mapobject to insert. * @param pos the position where to insert the mapobject. * @param srcfile the name of the file where the mapobject come from. * * @return * @li 0 in case of success. * @li -1 in case of error. */ s_int8 insert_mapobject (mapobject * an, u_int16 pos, string srcfile = ""); /** * Delete a mapobject from a landmap. * * @param pos the index of the mapobject to delete. * * @return * @li 0 in case of success. * @li -1 in case of failure. */ s_int8 delete_mapobject (u_int16 pos); //@} private: /** * Forbids value passing. * */ landmap (const landmap& src); #ifndef SWIG /** * Forbids landmap copy. * */ landmap & operator = (const landmap & src); #endif string filename_; vector mapchar; vector mobj; vector mobjsrc; vector submap; #ifndef SWIG friend class mapcharacter; friend class mapview; #endif }; #endif adonthell-0.3.5/src/lex.prefs.cc0000644000076500000240000012350510230250720013411 00000000000000#define yy_create_buffer prefs_create_buffer #define yy_delete_buffer prefs_delete_buffer #define yy_scan_buffer prefs_scan_buffer #define yy_scan_string prefs_scan_string #define yy_scan_bytes prefs_scan_bytes #define yy_flex_debug prefs_flex_debug #define yy_init_buffer prefs_init_buffer #define yy_flush_buffer prefs_flush_buffer #define yy_load_buffer_state prefs_load_buffer_state #define yy_switch_to_buffer prefs_switch_to_buffer #define yyin prefsin #define yyleng prefsleng #define yylex prefslex #define yyout prefsout #define yyrestart prefsrestart #define yytext prefstext #line 19 "lex.prefs.cc" /* A lexical scanner generated by flex */ /* Scanner skeleton version: * $Header: /sources/adonthell/adonthell-0.3/src/lex.prefs.cc,v 1.16 2005/04/16 17:56:32 ksterker Exp $ */ #define FLEX_SCANNER #define YY_FLEX_MAJOR_VERSION 2 #define YY_FLEX_MINOR_VERSION 5 #include #include /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ #ifdef c_plusplus #ifndef __cplusplus #define __cplusplus #endif #endif #ifdef __cplusplus #include #ifndef _WIN32 #include #endif /* Use prototypes in function declarations. */ #define YY_USE_PROTOS /* The "const" storage-class-modifier is valid. */ #define YY_USE_CONST #else /* ! __cplusplus */ #if __STDC__ #define YY_USE_PROTOS #define YY_USE_CONST #endif /* __STDC__ */ #endif /* ! __cplusplus */ #ifdef __TURBOC__ #pragma warn -rch #pragma warn -use #include #include #define YY_USE_CONST #define YY_USE_PROTOS #endif #ifdef YY_USE_CONST #define yyconst const #else #define yyconst #endif #ifdef YY_USE_PROTOS #define YY_PROTO(proto) proto #else #define YY_PROTO(proto) () #endif /* Returned upon end-of-file. */ #define YY_NULL 0 /* Promotes a possibly negative, possibly signed char to an unsigned * integer for use as an array index. If the signed char is negative, * we want to instead treat it as an 8-bit unsigned char, hence the * double cast. */ #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) /* Enter a start condition. This macro really ought to take a parameter, * but we do it the disgusting crufty way forced on us by the ()-less * definition of BEGIN. */ #define BEGIN yy_start = 1 + 2 * /* Translate the current start state into a value that can be later handed * to BEGIN to return to the state. The YYSTATE alias is for lex * compatibility. */ #define YY_START ((yy_start - 1) / 2) #define YYSTATE YY_START /* Action number for EOF rule of a given start state. */ #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) /* Special action meaning "start processing a new file". */ #define YY_NEW_FILE yyrestart( yyin ) #define YY_END_OF_BUFFER_CHAR 0 /* Size of default input buffer. */ #define YY_BUF_SIZE 16384 typedef struct yy_buffer_state *YY_BUFFER_STATE; extern int yyleng; extern FILE *yyin, *yyout; #define EOB_ACT_CONTINUE_SCAN 0 #define EOB_ACT_END_OF_FILE 1 #define EOB_ACT_LAST_MATCH 2 /* The funky do-while in the following #define is used to turn the definition * int a single C statement (which needs a semi-colon terminator). This * avoids problems with code like: * * if ( condition_holds ) * yyless( 5 ); * else * do_something_else(); * * Prior to using the do-while the compiler would get upset at the * "else" because it interpreted the "if" statement as being all * done when it reached the ';' after the yyless() call. */ /* Return all but the first 'n' matched characters back to the input stream. */ #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ *yy_cp = yy_hold_char; \ YY_RESTORE_YY_MORE_OFFSET \ yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ YY_DO_BEFORE_ACTION; /* set up yytext again */ \ } \ while ( 0 ) #define unput(c) yyunput( c, yytext_ptr ) /* The following is because we cannot portably get our hands on size_t * (without autoconf's help, which isn't available because we want * flex-generated scanners to compile on their own). */ typedef unsigned int yy_size_t; struct yy_buffer_state { FILE *yy_input_file; char *yy_ch_buf; /* input buffer */ char *yy_buf_pos; /* current position in input buffer */ /* Size of input buffer in bytes, not including room for EOB * characters. */ yy_size_t yy_buf_size; /* Number of characters read into yy_ch_buf, not including EOB * characters. */ int yy_n_chars; /* Whether we "own" the buffer - i.e., we know we created it, * and can realloc() it to grow it, and should free() it to * delete it. */ int yy_is_our_buffer; /* Whether this is an "interactive" input source; if so, and * if we're using stdio for input, then we want to use getc() * instead of fread(), to make sure we stop fetching input after * each newline. */ int yy_is_interactive; /* Whether we're considered to be at the beginning of a line. * If so, '^' rules will be active on the next match, otherwise * not. */ int yy_at_bol; /* Whether to try to fill the input buffer when we reach the * end of it. */ int yy_fill_buffer; int yy_buffer_status; #define YY_BUFFER_NEW 0 #define YY_BUFFER_NORMAL 1 /* When an EOF's been seen but there's still some text to process * then we mark the buffer as YY_EOF_PENDING, to indicate that we * shouldn't try reading from the input source any more. We might * still have a bunch of tokens to match, though, because of * possible backing-up. * * When we actually see the EOF, we change the status to "new" * (via yyrestart()), so that the user can continue scanning by * just pointing yyin at a new input file. */ #define YY_BUFFER_EOF_PENDING 2 }; static YY_BUFFER_STATE yy_current_buffer = 0; /* We provide macros for accessing buffer states in case in the * future we want to put the buffer states in a more general * "scanner state". */ #define YY_CURRENT_BUFFER yy_current_buffer /* yy_hold_char holds the character lost when yytext is formed. */ static char yy_hold_char; static int yy_n_chars; /* number of characters read into yy_ch_buf */ int yyleng; /* Points to current character in buffer. */ static char *yy_c_buf_p = (char *) 0; static int yy_init = 1; /* whether we need to initialize */ static int yy_start = 0; /* start state number */ /* Flag which is used to allow yywrap()'s to do buffer switches * instead of setting up a fresh yyin. A bit of a hack ... */ static int yy_did_buffer_switch_on_eof; void yyrestart YY_PROTO(( FILE *input_file )); void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); void yy_load_buffer_state YY_PROTO(( void )); YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); #define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); static void *yy_flex_alloc YY_PROTO(( yy_size_t )); static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); static void yy_flex_free YY_PROTO(( void * )); #define yy_new_buffer yy_create_buffer #define yy_set_interactive(is_interactive) \ { \ if ( ! yy_current_buffer ) \ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ yy_current_buffer->yy_is_interactive = is_interactive; \ } #define yy_set_bol(at_bol) \ { \ if ( ! yy_current_buffer ) \ yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ yy_current_buffer->yy_at_bol = at_bol; \ } #define YY_AT_BOL() (yy_current_buffer->yy_at_bol) #define yywrap() 1 #define YY_SKIP_YYWRAP typedef unsigned char YY_CHAR; FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; typedef int yy_state_type; extern char *yytext; #define yytext_ptr yytext static yy_state_type yy_get_previous_state YY_PROTO(( void )); static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); static int yy_get_next_buffer YY_PROTO(( void )); static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); /* Done after the current pattern has been matched and before the * corresponding action - sets up yytext. */ #define YY_DO_BEFORE_ACTION \ yytext_ptr = yy_bp; \ yyleng = (int) (yy_cp - yy_bp); \ yy_hold_char = *yy_cp; \ *yy_cp = '\0'; \ yy_c_buf_p = yy_cp; #define YY_NUM_RULES 18 #define YY_END_OF_BUFFER 19 static yyconst short int yy_accept[112] = { 0, 0, 0, 0, 0, 19, 17, 16, 16, 1, 15, 17, 17, 17, 17, 17, 17, 17, 12, 14, 13, 16, 1, 1, 15, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 10, 0, 0, 0, 7, 0, 0, 0, 0, 8, 0, 9, 0 } ; static yyconst int yy_ec[256] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 1, 1, 1, 1, 1, 1, 1, 7, 1, 1, 8, 1, 9, 1, 1, 1, 1, 1, 10, 1, 1, 1, 1, 11, 1, 12, 1, 1, 13, 1, 1, 1, 1, 14, 1, 15, 1, 1, 1, 16, 17, 18, 19, 20, 1, 21, 22, 23, 1, 24, 25, 26, 27, 28, 29, 1, 30, 31, 32, 33, 34, 1, 1, 1, 35, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst int yy_meta[36] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 } ; static yyconst short int yy_base[116] = { 0, 0, 13, 116, 115, 129, 132, 26, 28, 125, 121, 93, 97, 96, 107, 89, 103, 100, 132, 0, 132, 30, 116, 132, 112, 98, 83, 88, 87, 90, 82, 81, 0, 87, 92, 76, 86, 88, 85, 73, 75, 77, 132, 68, 76, 79, 75, 92, 76, 79, 89, 66, 64, 16, 86, 69, 64, 83, 60, 64, 65, 68, 55, 51, 61, 52, 53, 132, 62, 46, 50, 50, 51, 132, 57, 44, 44, 42, 40, 35, 32, 47, 46, 37, 38, 37, 35, 40, 132, 39, 38, 24, 29, 28, 132, 132, 20, 12, 38, 132, 11, 18, 10, 132, 11, 22, 10, 4, 132, 15, 132, 132, 50, 52, 54, 0 } ; static yyconst short int yy_def[116] = { 0, 112, 112, 113, 113, 111, 111, 111, 111, 114, 111, 111, 111, 111, 111, 111, 111, 111, 111, 115, 111, 111, 114, 111, 111, 111, 111, 111, 111, 111, 111, 111, 115, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 0, 111, 111, 111, 111 } ; static yyconst short int yy_nxt[168] = { 0, 32, 7, 8, 9, 111, 10, 11, 12, 13, 14, 15, 16, 17, 18, 7, 8, 9, 111, 10, 11, 12, 13, 14, 15, 16, 17, 18, 21, 21, 21, 21, 21, 21, 59, 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 60, 61, 99, 98, 62, 6, 6, 19, 19, 22, 22, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 24, 23, 31, 30, 29, 28, 27, 26, 25, 24, 23, 111, 20, 20, 5, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111 } ; static yyconst short int yy_chk[168] = { 0, 115, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 7, 7, 8, 8, 21, 21, 53, 109, 107, 106, 105, 104, 102, 101, 100, 98, 97, 96, 53, 53, 93, 92, 53, 112, 112, 113, 113, 114, 114, 91, 90, 89, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 72, 71, 70, 69, 68, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 41, 40, 39, 38, 37, 36, 35, 34, 33, 31, 30, 29, 28, 27, 26, 25, 24, 22, 17, 16, 15, 14, 13, 12, 11, 10, 9, 5, 4, 3, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111 } ; static yy_state_type yy_last_accepting_state; static char *yy_last_accepting_cpos; /* The intent behind this definition is that it'll catch * any uses of REJECT which flex missed. */ #define REJECT reject_used_but_not_detected #define yymore() yymore_used_but_not_detected #define YY_MORE_ADJ 0 #define YY_RESTORE_YY_MORE_OFFSET char *yytext; #line 1 "prefs.l" #define INITIAL 0 #line 2 "prefs.l" /* $Id: lex.prefs.cc,v 1.16 2005/04/16 17:56:32 ksterker Exp $ Copyright (C) 2000/2004 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ #include #include #include "prefs.h" #define YY_DECL int parse_adonthellrc (int &mynum, string &mytext) #define text 1 #define YY_NO_UNPUT 1 #define YY_NEVER_INTERACTIVE 1 #line 483 "lex.prefs.cc" /* Macros after this point can all be overridden by user definitions in * section 1. */ #ifndef YY_SKIP_YYWRAP #ifdef __cplusplus extern "C" int yywrap YY_PROTO(( void )); #else extern int yywrap YY_PROTO(( void )); #endif #endif #ifndef YY_NO_UNPUT static void yyunput YY_PROTO(( int c, char *buf_ptr )); #endif #ifndef yytext_ptr static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); #endif #ifdef YY_NEED_STRLEN static int yy_flex_strlen YY_PROTO(( yyconst char * )); #endif #ifndef YY_NO_INPUT #ifdef __cplusplus static int yyinput YY_PROTO(( void )); #else static int input YY_PROTO(( void )); #endif #endif #if YY_STACK_USED static int yy_start_stack_ptr = 0; static int yy_start_stack_depth = 0; static int *yy_start_stack = 0; #ifndef YY_NO_PUSH_STATE static void yy_push_state YY_PROTO(( int new_state )); #endif #ifndef YY_NO_POP_STATE static void yy_pop_state YY_PROTO(( void )); #endif #ifndef YY_NO_TOP_STATE static int yy_top_state YY_PROTO(( void )); #endif #else #define YY_NO_PUSH_STATE 1 #define YY_NO_POP_STATE 1 #define YY_NO_TOP_STATE 1 #endif #ifdef YY_MALLOC_DECL YY_MALLOC_DECL #else #if __STDC__ #ifndef __cplusplus #include #endif #else /* Just try to get by without declaring the routines. This will fail * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) * or sizeof(void*) != sizeof(int). */ #endif #endif /* Amount of stuff to slurp up with each read. */ #ifndef YY_READ_BUF_SIZE #define YY_READ_BUF_SIZE 8192 #endif /* Copy whatever the last rule matched to the standard output. */ #ifndef ECHO /* This used to be an fputs(), but since the string might contain NUL's, * we now use fwrite(). */ #define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) #endif /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, * is returned in "result". */ #ifndef YY_INPUT #define YY_INPUT(buf,result,max_size) \ if ( yy_current_buffer->yy_is_interactive ) \ { \ int c = '*', n; \ for ( n = 0; n < max_size && \ (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ buf[n] = (char) c; \ if ( c == '\n' ) \ buf[n++] = (char) c; \ if ( c == EOF && ferror( yyin ) ) \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ result = n; \ } \ else \ { \ errno=0; \ while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ { \ if( errno != EINTR) \ { \ YY_FATAL_ERROR( "input in flex scanner failed" ); \ break; \ } \ errno=0; \ clearerr(yyin); \ } \ } #endif /* No semi-colon after return; correct usage is to write "yyterminate();" - * we don't want an extra ';' after the "return" because that will cause * some compilers to complain about unreachable statements. */ #ifndef yyterminate #define yyterminate() return YY_NULL #endif /* Number of entries by which start-condition stack grows. */ #ifndef YY_START_STACK_INCR #define YY_START_STACK_INCR 25 #endif /* Report a fatal error. */ #ifndef YY_FATAL_ERROR #define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) #endif /* Default declaration of generated scanner - a define so the user can * easily add parameters. */ #ifndef YY_DECL #define YY_DECL int yylex YY_PROTO(( void )) #endif /* Code executed at the beginning of each rule, after yytext and yyleng * have been set up. */ #ifndef YY_USER_ACTION #define YY_USER_ACTION #endif /* Code executed at the end of each rule. */ #ifndef YY_BREAK #define YY_BREAK break; #endif #define YY_RULE_SETUP \ YY_USER_ACTION YY_DECL { register yy_state_type yy_current_state; register char *yy_cp, *yy_bp; register int yy_act; #line 29 "prefs.l" #line 648 "lex.prefs.cc" if ( yy_init ) { yy_init = 0; #ifdef YY_USER_INIT YY_USER_INIT; #endif if ( ! yy_start ) yy_start = 1; /* first start state */ if ( ! yyin ) yyin = stdin; if ( ! yyout ) yyout = stdout; if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_load_buffer_state(); } while ( 1 ) /* loops until end-of-file is reached */ { yy_cp = yy_c_buf_p; /* Support of yytext. */ *yy_cp = yy_hold_char; /* yy_bp points to the position in yy_ch_buf of the start of * the current run. */ yy_bp = yy_cp; yy_current_state = yy_start; yy_match: do { register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 112 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } while ( yy_base[yy_current_state] != 132 ); yy_find_action: yy_act = yy_accept[yy_current_state]; if ( yy_act == 0 ) { /* have to back up */ yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; yy_act = yy_accept[yy_current_state]; } YY_DO_BEFORE_ACTION; do_action: /* This label is used only to access EOF actions. */ switch ( yy_act ) { /* beginning of action switch */ case 0: /* must back up */ /* undo the effects of YY_DO_BEFORE_ACTION */ *yy_cp = yy_hold_char; yy_cp = yy_last_accepting_cpos; yy_current_state = yy_last_accepting_state; goto yy_find_action; case 1: YY_RULE_SETUP #line 31 "prefs.l" ; /* Eat up comments */ YY_BREAK case 2: YY_RULE_SETUP #line 33 "prefs.l" return PREFS_SCREEN_MODE; YY_BREAK case 3: YY_RULE_SETUP #line 34 "prefs.l" return PREFS_DOUBLE_SCREEN; YY_BREAK case 4: YY_RULE_SETUP #line 35 "prefs.l" return PREFS_LANGUAGE; YY_BREAK case 5: YY_RULE_SETUP #line 36 "prefs.l" return PREFS_FONT; YY_BREAK case 6: YY_RULE_SETUP #line 37 "prefs.l" return PREFS_QUICK_LOAD; YY_BREAK case 7: YY_RULE_SETUP #line 38 "prefs.l" return PREFS_AUDIO_CHANNELS; YY_BREAK case 8: YY_RULE_SETUP #line 39 "prefs.l" return PREFS_AUDIO_RESOLUTION; YY_BREAK case 9: YY_RULE_SETUP #line 40 "prefs.l" return PREFS_AUDIO_SAMPLE_RATE; YY_BREAK case 10: YY_RULE_SETUP #line 41 "prefs.l" return PREFS_AUDIO_VOLUME; YY_BREAK case 11: YY_RULE_SETUP #line 42 "prefs.l" return PREFS_VERSION; YY_BREAK case 12: YY_RULE_SETUP #line 44 "prefs.l" mytext = ""; BEGIN(text); YY_BREAK case 13: YY_RULE_SETUP #line 45 "prefs.l" BEGIN(INITIAL); return PREFS_STR; YY_BREAK case 14: YY_RULE_SETUP #line 46 "prefs.l" mytext += yytext; YY_BREAK case 15: YY_RULE_SETUP #line 48 "prefs.l" mynum = atoi (yytext); return PREFS_NUM; YY_BREAK case 16: YY_RULE_SETUP #line 50 "prefs.l" ; YY_BREAK case 17: YY_RULE_SETUP #line 51 "prefs.l" return PREFS_UNKNOWN; YY_BREAK case 18: YY_RULE_SETUP #line 52 "prefs.l" ECHO; YY_BREAK #line 821 "lex.prefs.cc" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(text): yyterminate(); case YY_END_OF_BUFFER: { /* Amount of text matched not including the EOB char. */ int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; /* Undo the effects of YY_DO_BEFORE_ACTION. */ *yy_cp = yy_hold_char; YY_RESTORE_YY_MORE_OFFSET if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) { /* We're scanning a new file or input source. It's * possible that this happened because the user * just pointed yyin at a new source and called * yylex(). If so, then we have to assure * consistency between yy_current_buffer and our * globals. Here is the right place to do so, because * this is the first action (other than possibly a * back-up) that will match for the new input source. */ yy_n_chars = yy_current_buffer->yy_n_chars; yy_current_buffer->yy_input_file = yyin; yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; } /* Note that here we test for yy_c_buf_p "<=" to the position * of the first EOB in the buffer, since yy_c_buf_p will * already have been incremented past the NUL character * (since all states make transitions on EOB to the * end-of-buffer state). Contrast this with the test * in input(). */ if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) { /* This was really a NUL. */ yy_state_type yy_next_state; yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); /* Okay, we're now positioned to make the NUL * transition. We couldn't have * yy_get_previous_state() go ahead and do it * for us because it doesn't know how to deal * with the possibility of jamming (and we don't * want to build jamming into it because then it * will run more slowly). */ yy_next_state = yy_try_NUL_trans( yy_current_state ); yy_bp = yytext_ptr + YY_MORE_ADJ; if ( yy_next_state ) { /* Consume the NUL. */ yy_cp = ++yy_c_buf_p; yy_current_state = yy_next_state; goto yy_match; } else { yy_cp = yy_c_buf_p; goto yy_find_action; } } else switch ( yy_get_next_buffer() ) { case EOB_ACT_END_OF_FILE: { yy_did_buffer_switch_on_eof = 0; if ( yywrap() ) { /* Note: because we've taken care in * yy_get_next_buffer() to have set up * yytext, we can now set up * yy_c_buf_p so that if some total * hoser (like flex itself) wants to * call the scanner after we return the * YY_NULL, it'll still work - another * YY_NULL will get returned. */ yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; yy_act = YY_STATE_EOF(YY_START); goto do_action; } else { if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; } break; } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_match; case EOB_ACT_LAST_MATCH: yy_c_buf_p = &yy_current_buffer->yy_ch_buf[yy_n_chars]; yy_current_state = yy_get_previous_state(); yy_cp = yy_c_buf_p; yy_bp = yytext_ptr + YY_MORE_ADJ; goto yy_find_action; } break; } default: YY_FATAL_ERROR( "fatal flex scanner internal error--no action found" ); } /* end of action switch */ } /* end of scanning one token */ } /* end of yylex */ /* yy_get_next_buffer - try to read in a new buffer * * Returns a code representing an action: * EOB_ACT_LAST_MATCH - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position * EOB_ACT_END_OF_FILE - end of file */ static int yy_get_next_buffer() { register char *dest = yy_current_buffer->yy_ch_buf; register char *source = yytext_ptr; register int number_to_move, i; int ret_val; if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) YY_FATAL_ERROR( "fatal flex scanner internal error--end of buffer missed" ); if ( yy_current_buffer->yy_fill_buffer == 0 ) { /* Don't try to fill the buffer, so this is an EOF. */ if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) { /* We matched a single character, the EOB, so * treat this as a final EOF. */ return EOB_ACT_END_OF_FILE; } else { /* We matched some text prior to the EOB, first * process it. */ return EOB_ACT_LAST_MATCH; } } /* Try to read more data. */ /* First move last chars to start of buffer. */ number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; for ( i = 0; i < number_to_move; ++i ) *(dest++) = *(source++); if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) /* don't do the read, it's not guaranteed to return an EOF, * just force an EOF */ yy_current_buffer->yy_n_chars = yy_n_chars = 0; else { int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; while ( num_to_read <= 0 ) { /* Not enough room in the buffer - grow it. */ #ifdef YY_USES_REJECT YY_FATAL_ERROR( "input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); #else /* just a shorter name for the current buffer */ YY_BUFFER_STATE b = yy_current_buffer; int yy_c_buf_p_offset = (int) (yy_c_buf_p - b->yy_ch_buf); if ( b->yy_is_our_buffer ) { int new_size = b->yy_buf_size * 2; if ( new_size <= 0 ) b->yy_buf_size += b->yy_buf_size / 8; else b->yy_buf_size *= 2; b->yy_ch_buf = (char *) /* Include room in for 2 EOB chars. */ yy_flex_realloc( (void *) b->yy_ch_buf, b->yy_buf_size + 2 ); } else /* Can't grow it, we don't own it. */ b->yy_ch_buf = 0; if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" ); yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1; #endif } if ( num_to_read > YY_READ_BUF_SIZE ) num_to_read = YY_READ_BUF_SIZE; /* Read in more data. */ YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), yy_n_chars, num_to_read ); yy_current_buffer->yy_n_chars = yy_n_chars; } if ( yy_n_chars == 0 ) { if ( number_to_move == YY_MORE_ADJ ) { ret_val = EOB_ACT_END_OF_FILE; yyrestart( yyin ); } else { ret_val = EOB_ACT_LAST_MATCH; yy_current_buffer->yy_buffer_status = YY_BUFFER_EOF_PENDING; } } else ret_val = EOB_ACT_CONTINUE_SCAN; yy_n_chars += number_to_move; yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; return ret_val; } /* yy_get_previous_state - get the state just before the EOB char was reached */ static yy_state_type yy_get_previous_state() { register yy_state_type yy_current_state; register char *yy_cp; yy_current_state = yy_start; for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) { register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 112 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; } return yy_current_state; } /* yy_try_NUL_trans - try to make a transition on the NUL character * * synopsis * next_state = yy_try_NUL_trans( current_state ); */ #ifdef YY_USE_PROTOS static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) #else static yy_state_type yy_try_NUL_trans( yy_current_state ) yy_state_type yy_current_state; #endif { register int yy_is_jam; register char *yy_cp = yy_c_buf_p; register YY_CHAR yy_c = 1; if ( yy_accept[yy_current_state] ) { yy_last_accepting_state = yy_current_state; yy_last_accepting_cpos = yy_cp; } while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; if ( yy_current_state >= 112 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; yy_is_jam = (yy_current_state == 111); return yy_is_jam ? 0 : yy_current_state; } #ifndef YY_NO_UNPUT #ifdef YY_USE_PROTOS static void yyunput( int c, register char *yy_bp ) #else static void yyunput( c, yy_bp ) int c; register char *yy_bp; #endif { register char *yy_cp = yy_c_buf_p; /* undo effects of setting up yytext */ *yy_cp = yy_hold_char; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) { /* need to shift things up to make room */ /* +2 for EOB chars. */ register int number_to_move = yy_n_chars + 2; register char *dest = &yy_current_buffer->yy_ch_buf[ yy_current_buffer->yy_buf_size + 2]; register char *source = &yy_current_buffer->yy_ch_buf[number_to_move]; while ( source > yy_current_buffer->yy_ch_buf ) *--dest = *--source; yy_cp += (int) (dest - source); yy_bp += (int) (dest - source); yy_current_buffer->yy_n_chars = yy_n_chars = yy_current_buffer->yy_buf_size; if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) YY_FATAL_ERROR( "flex scanner push-back overflow" ); } *--yy_cp = (char) c; yytext_ptr = yy_bp; yy_hold_char = *yy_cp; yy_c_buf_p = yy_cp; } #endif /* ifndef YY_NO_UNPUT */ #ifdef __cplusplus static int yyinput() #else static int input() #endif { int c; *yy_c_buf_p = yy_hold_char; if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) { /* yy_c_buf_p now points to the character we want to return. * If this occurs *before* the EOB characters, then it's a * valid NUL; if not, then we've hit the end of the buffer. */ if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) /* This was really a NUL. */ *yy_c_buf_p = '\0'; else { /* need more input */ int offset = yy_c_buf_p - yytext_ptr; ++yy_c_buf_p; switch ( yy_get_next_buffer() ) { case EOB_ACT_LAST_MATCH: /* This happens because yy_g_n_b() * sees that we've accumulated a * token and flags that we need to * try matching the token before * proceeding. But for input(), * there's no matching to consider. * So convert the EOB_ACT_LAST_MATCH * to EOB_ACT_END_OF_FILE. */ /* Reset buffer status. */ yyrestart( yyin ); /* fall through */ case EOB_ACT_END_OF_FILE: { if ( yywrap() ) return EOF; if ( ! yy_did_buffer_switch_on_eof ) YY_NEW_FILE; #ifdef __cplusplus return yyinput(); #else return input(); #endif } case EOB_ACT_CONTINUE_SCAN: yy_c_buf_p = yytext_ptr + offset; break; } } } c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ *yy_c_buf_p = '\0'; /* preserve yytext */ yy_hold_char = *++yy_c_buf_p; return c; } #ifdef YY_USE_PROTOS void yyrestart( FILE *input_file ) #else void yyrestart( input_file ) FILE *input_file; #endif { if ( ! yy_current_buffer ) yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); yy_init_buffer( yy_current_buffer, input_file ); yy_load_buffer_state(); } #ifdef YY_USE_PROTOS void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) #else void yy_switch_to_buffer( new_buffer ) YY_BUFFER_STATE new_buffer; #endif { if ( yy_current_buffer == new_buffer ) return; if ( yy_current_buffer ) { /* Flush out information for old buffer. */ *yy_c_buf_p = yy_hold_char; yy_current_buffer->yy_buf_pos = yy_c_buf_p; yy_current_buffer->yy_n_chars = yy_n_chars; } yy_current_buffer = new_buffer; yy_load_buffer_state(); /* We don't actually know whether we did this switch during * EOF (yywrap()) processing, but the only time this flag * is looked at is after yywrap() is called, so it's safe * to go ahead and always set it. */ yy_did_buffer_switch_on_eof = 1; } #ifdef YY_USE_PROTOS void yy_load_buffer_state( void ) #else void yy_load_buffer_state() #endif { yy_n_chars = yy_current_buffer->yy_n_chars; yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; yyin = yy_current_buffer->yy_input_file; yy_hold_char = *yy_c_buf_p; } #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) #else YY_BUFFER_STATE yy_create_buffer( file, size ) FILE *file; int size; #endif { YY_BUFFER_STATE b; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_buf_size = size; /* yy_ch_buf has to be 2 characters longer than the size given because * we need to put in 2 end-of-buffer characters. */ b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); if ( ! b->yy_ch_buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); b->yy_is_our_buffer = 1; yy_init_buffer( b, file ); return b; } #ifdef YY_USE_PROTOS void yy_delete_buffer( YY_BUFFER_STATE b ) #else void yy_delete_buffer( b ) YY_BUFFER_STATE b; #endif { if ( ! b ) return; if ( b == yy_current_buffer ) yy_current_buffer = (YY_BUFFER_STATE) 0; if ( b->yy_is_our_buffer ) yy_flex_free( (void *) b->yy_ch_buf ); yy_flex_free( (void *) b ); } #ifndef _WIN32 #include #else #ifndef YY_ALWAYS_INTERACTIVE #ifndef YY_NEVER_INTERACTIVE extern int isatty YY_PROTO(( int )); #endif #endif #endif #ifdef YY_USE_PROTOS void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) #else void yy_init_buffer( b, file ) YY_BUFFER_STATE b; FILE *file; #endif { yy_flush_buffer( b ); b->yy_input_file = file; b->yy_fill_buffer = 1; #if YY_ALWAYS_INTERACTIVE b->yy_is_interactive = 1; #else #if YY_NEVER_INTERACTIVE b->yy_is_interactive = 0; #else b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; #endif #endif } #ifdef YY_USE_PROTOS void yy_flush_buffer( YY_BUFFER_STATE b ) #else void yy_flush_buffer( b ) YY_BUFFER_STATE b; #endif { if ( ! b ) return; b->yy_n_chars = 0; /* We always need two end-of-buffer characters. The first causes * a transition to the end-of-buffer state. The second causes * a jam in that state. */ b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; b->yy_buf_pos = &b->yy_ch_buf[0]; b->yy_at_bol = 1; b->yy_buffer_status = YY_BUFFER_NEW; if ( b == yy_current_buffer ) yy_load_buffer_state(); } #ifndef YY_NO_SCAN_BUFFER #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) #else YY_BUFFER_STATE yy_scan_buffer( base, size ) char *base; yy_size_t size; #endif { YY_BUFFER_STATE b; if ( size < 2 || base[size-2] != YY_END_OF_BUFFER_CHAR || base[size-1] != YY_END_OF_BUFFER_CHAR ) /* They forgot to leave room for the EOB's. */ return 0; b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); if ( ! b ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ b->yy_buf_pos = b->yy_ch_buf = base; b->yy_is_our_buffer = 0; b->yy_input_file = 0; b->yy_n_chars = b->yy_buf_size; b->yy_is_interactive = 0; b->yy_at_bol = 1; b->yy_fill_buffer = 0; b->yy_buffer_status = YY_BUFFER_NEW; yy_switch_to_buffer( b ); return b; } #endif #ifndef YY_NO_SCAN_STRING #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) #else YY_BUFFER_STATE yy_scan_string( yy_str ) yyconst char *yy_str; #endif { int len; for ( len = 0; yy_str[len]; ++len ) ; return yy_scan_bytes( yy_str, len ); } #endif #ifndef YY_NO_SCAN_BYTES #ifdef YY_USE_PROTOS YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) #else YY_BUFFER_STATE yy_scan_bytes( bytes, len ) yyconst char *bytes; int len; #endif { YY_BUFFER_STATE b; char *buf; yy_size_t n; int i; /* Get memory for full buffer, including space for trailing EOB's. */ n = len + 2; buf = (char *) yy_flex_alloc( n ); if ( ! buf ) YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); for ( i = 0; i < len; ++i ) buf[i] = bytes[i]; buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; b = yy_scan_buffer( buf, n ); if ( ! b ) YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); /* It's okay to grow etc. this buffer, and we should throw it * away when we're done. */ b->yy_is_our_buffer = 1; return b; } #endif #ifndef YY_NO_PUSH_STATE #ifdef YY_USE_PROTOS static void yy_push_state( int new_state ) #else static void yy_push_state( new_state ) int new_state; #endif { if ( yy_start_stack_ptr >= yy_start_stack_depth ) { yy_size_t new_size; yy_start_stack_depth += YY_START_STACK_INCR; new_size = yy_start_stack_depth * sizeof( int ); if ( ! yy_start_stack ) yy_start_stack = (int *) yy_flex_alloc( new_size ); else yy_start_stack = (int *) yy_flex_realloc( (void *) yy_start_stack, new_size ); if ( ! yy_start_stack ) YY_FATAL_ERROR( "out of memory expanding start-condition stack" ); } yy_start_stack[yy_start_stack_ptr++] = YY_START; BEGIN(new_state); } #endif #ifndef YY_NO_POP_STATE static void yy_pop_state() { if ( --yy_start_stack_ptr < 0 ) YY_FATAL_ERROR( "start-condition stack underflow" ); BEGIN(yy_start_stack[yy_start_stack_ptr]); } #endif #ifndef YY_NO_TOP_STATE static int yy_top_state() { return yy_start_stack[yy_start_stack_ptr - 1]; } #endif #ifndef YY_EXIT_FAILURE #define YY_EXIT_FAILURE 2 #endif #ifdef YY_USE_PROTOS static void yy_fatal_error( yyconst char msg[] ) #else static void yy_fatal_error( msg ) char msg[]; #endif { (void) fprintf( stderr, "%s\n", msg ); exit( YY_EXIT_FAILURE ); } /* Redefine yyless() so it works in section 3 code. */ #undef yyless #define yyless(n) \ do \ { \ /* Undo effects of setting up yytext. */ \ yytext[yyleng] = yy_hold_char; \ yy_c_buf_p = yytext + n; \ yy_hold_char = *yy_c_buf_p; \ *yy_c_buf_p = '\0'; \ yyleng = n; \ } \ while ( 0 ) /* Internal utility routines. */ #ifndef yytext_ptr #ifdef YY_USE_PROTOS static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) #else static void yy_flex_strncpy( s1, s2, n ) char *s1; yyconst char *s2; int n; #endif { register int i; for ( i = 0; i < n; ++i ) s1[i] = s2[i]; } #endif #ifdef YY_NEED_STRLEN #ifdef YY_USE_PROTOS static int yy_flex_strlen( yyconst char *s ) #else static int yy_flex_strlen( s ) yyconst char *s; #endif { register int n; for ( n = 0; s[n]; ++n ) ; return n; } #endif #ifdef YY_USE_PROTOS static void *yy_flex_alloc( yy_size_t size ) #else static void *yy_flex_alloc( size ) yy_size_t size; #endif { return (void *) malloc( size ); } #ifdef YY_USE_PROTOS static void *yy_flex_realloc( void *ptr, yy_size_t size ) #else static void *yy_flex_realloc( ptr, size ) void *ptr; yy_size_t size; #endif { /* The cast to (char *) in the following accommodates both * implementations that use char* generic pointers, and those * that use void* generic pointers. It works with the latter * because both ANSI C and C++ allow castless assignment from * any pointer type to void*, and deal with argument conversions * as though doing an assignment. */ return (void *) realloc( (char *) ptr, size ); } #ifdef YY_USE_PROTOS static void yy_flex_free( void *ptr ) #else static void yy_flex_free( ptr ) void *ptr; #endif { free( ptr ); } #if YY_MAIN int main() { yylex(); return 0; } #endif #line 52 "prefs.l" adonthell-0.3.5/src/main.cc0000644000076500000240000001177010137121505012433 00000000000000/* $Id: main.cc,v 1.61 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 1999/2000/2001/2002/2003/2004 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file main.cc * @author Kai Sterker * * @brief Contains the main() function. * * */ #include "audio.h" #include "event_handler.h" #include "game.h" #include "gamedata.h" #include "gametime.h" #include "input.h" #include "nls.h" #include "python_class.h" #include "screen.h" #include "yarg.h" #include "win_manager.h" #ifdef MEMORY_LEAKS #include #endif using namespace std; /* * SWIG init prototypes. Should we use dynamic linking??? */ extern "C" { /** * SWIG init prototype. * */ void init_adonthell (void); } bool init_python() { // Initialise the import path. // Shared modules path string t; t = game::global_data_dir() + "/modules"; python::insert_path ((char *) t.c_str()); // Game specific path t = game::game_data_dir () + "/scripts/modules"; python::insert_path ((char *) t.c_str ()); t = game::game_data_dir () + "/scripts"; python::insert_path ((char *) t.c_str ()); // Initialise SWIG module. This should go if we ever switch // to dynamic linking init_adonthell (); python::module = python::import_module ("adonthell"); if (!python::module) return false; data::globals = PyModule_GetDict (python::module); return true; } /** * Game's main function. * It simply initialises the game and runs the "init.py" file in the game * directory given as first argument. Once the execution is finished, * it cleans everything up, and exits. * * @param argc Number of arguments to the program. * @param argv Array of strings containing the program's arguments. * * @return 0 in case of success, error code otherwise. * */ extern "C" int main(int argc, char * argv[]) { config myconfig; #ifdef MEMORY_LEAKS // to debug memory leaks with mtrace. It's better to use // a tool like memprof, mpatrol or valgrind though. mtrace (); #endif // init game environment #if !defined (SINGLE_DIR_INST) game::init (DATA_DIR); #else // change working directory to the application's location. if (argc && argv[0]) { char *str = argv[0]; do if (*str == '\\') *str = '/'; while (*(str++)); str = strrchr (argv[0], '/'); *(str + 1) = 0; chdir (argv[0]); // FIXME: this should go once we have our 'game launcher' gui myconfig.gamedir = string (argv[0]) + "/games/wastesedge"; *(str + 1) = '/'; } // get absolute path to current working directory char buf[500]; getcwd (buf, sizeof (buf)); char *str = buf; do if (*str == '\\') *str = '/'; while (*(str++)); game::init (buf); #endif // read the $HOME/.adonthell/adonthellrc file // and check the arguments we recieved. myconfig.read_adonthellrc (); myconfig.parse_arguments (argc, argv); // init national language support nls::init (myconfig); game::set_game_data_dir(myconfig.gamedir); // init game loading/saving system gamedata::init (game::user_data_dir(), game::game_data_dir(), myconfig.game_name, myconfig.quick_load); // init video subsystem screen::set_video_mode (320, 240, 0, myconfig.double_screen, myconfig.screen_mode); #ifdef DEBUG printf("%s\n", screen::info().c_str()); #endif // init audio subsystem if (myconfig.audio_volume > 0) audio::init (&myconfig); // init input subsystem input::init (); // init python interpreter python::init (); init_python(); // init the game data data::engine = new adonthell; data::the_player = NULL; // init window manager win_manager::init (myconfig.font); // event system event_handler::init (); // gametime system // (180 realtime minutes make approx. 1 gametime day) gametime::init (180); // init random number generator yarg::init (myconfig.game_name); yarg::randomize (); // It's up to the game what happens here python::exec_file ("init"); // close all windows // delete all themes and fonts win_manager::cleanup (); // shutdown input subsystem input::shutdown (); // shutdown audio audio::cleanup (); // cleanup the saves gamedata::cleanup (); // cleanup data delete data::engine; if (data::the_player) delete data::the_player; // cleanup event system event_handler::cleanup (); // shutdown python python::cleanup (); // shutdown video and SDL SDL_Quit (); return 0; } adonthell-0.3.5/src/Makefile.am0000644000076500000240000000716211017576446013254 00000000000000## Process this file with automake to produce Makefile.in SUBDIRS = . modules bin_PROGRAMS = adonthell-0.3 EXTRA_DIST = .indent.pro prefs.l py_adonthell.i AM_CPPFLAGS =$(SDL_DEFS) $(OGG_DEFS) $(SDL_CFLAGS) $(OGG_CFLAGS) $(PY_CFLAGS) $(FT2_CFLAGS) noinst_LIBRARIES = libadonthell.a CLEANFILES = $(moddata_SCRIPTS) headers = \ adonthell.h animation.h audio.h callback.h py_callback.h character_base.h \ character.h gamedata.h data_screen.h dialog.h dialog_screen.h drawable.h \ drawing_area.h event.h event_handler.h event_handler_base.h event_list.h \ fileops.h game.h gamedate.h gametime.h gettext.h image.h input.h \ landmap.h map_event.h map_event_handler.h mapsquare.h \ mapsquare_walkable.h nls.h mapcharacter.h mapobject.h mapview.h path.h \ pnm.h prefs.h python_class.h py_object.h quest.h screen.h surface.h storage.h \ types.h text_bubble.h time_event.h time_event_handler.h win_background.h \ win_base.h win_border.h win_container.h str_hash.h win_font.h win_image.h \ win_label.h win_mapview.h label.h label_input.h win_scrollbar.h win_scroll.h \ win_select.h win_theme.h win_keys.h win_event.h win_types.h win_write.h \ win_ttf.h win_manager.h win_object.h window.h win_wrappers.h yarg.h libadonthell_a_SOURCES = adonthell.cc animation.cc audio.cc \ character_base.cc character.cc data_screen.cc dialog.cc dialog_screen.cc \ drawable.cc drawing_area.cc event.cc event_handler.cc event_list.cc \ fileops.cc game.cc gamedata.cc gamedate.cc gametime.cc image.cc input.cc \ label.cc label_input.cc landmap.cc \ lex.prefs.cc map_event.cc \ map_event_handler.cc mapsquare_walkable.cc mapcharacter.cc mapsquare.cc \ mapobject.cc mapview.cc nls.cc path.cc pnm.cc prefs.cc py_callback.cc \ python_class.cc py_adonthell_wrap.cc py_object.cc quest.cc screen.cc \ surface.cc storage.cc text_bubble.cc time_event.cc time_event_handler.cc \ win_background.cc win_base.cc win_border.cc win_container.cc win_font.cc \ win_ttf.cc win_keys.cc win_manager.cc win_scrollbar.cc win_scroll.cc \ win_select.cc \ win_theme.cc win_event.cc yarg.cc $(headers) libadonthell_LDADD = $(SDL_LIBS) $(OGG_LIBS) $(PY_LIBS) $(INTLLIBS) $(FT2_LIBS) adonthell_0_3_LDADD = libadonthell.a $(libadonthell_LDADD) adonthell_0_3_SOURCES = main.cc # Note: adonthell.py is also built by this target. py_adonthell_wrap.cc : py_adonthell.i $(headers) @if test "${P_SWIG}"; then \ echo ${P_SWIG} -python -modern -shadow ${SDL_CFLAGS} -I$(srcdir) -I$(top_srcdir) -c++ -makedefault -o $(srcdir)/$*.cc $(srcdir)/py_adonthell.i; \ ${P_SWIG} -python -modern -shadow ${SDL_CFLAGS} -I$(srcdir) -I$(top_srcdir) -c++ -makedefault -o $(srcdir)/$*.cc $(srcdir)/py_adonthell.i; \ mv $(srcdir)/adonthell.py modules/adonthell.py; \ else \ echo "You need swig >= ${SWIG_MINVER} in order to re-build this file."; \ exit 1; \ fi; lex.prefs.cc : prefs.l flex -olex.prefs.cc $< # -- MacOS X App Bundle if MAKE_BUNDLE bundle_contents = Adonthell.app/Contents Adonthell.app: Adonthell $(srcdir)/modules/*.py $(srcdir)/modules/*.pyc mkdir -p $(bundle_contents)/MacOS/modules mkdir -p $(bundle_contents)/Resources echo "APPL????" > $(bundle_contents)/PkgInfo $(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/ $(INSTALL_DATA) modules/*.py $(bundle_contents)/MacOS/modules/ $(INSTALL_DATA) modules/*.pyc $(bundle_contents)/MacOS/modules/ install-exec-hook: Adonthell.app rm -rf $(DESTDIR)/Applications/Adonthell.app mkdir -p $(DESTDIR)/Applications cp -r $< $(DESTDIR)/Applications/ else install-exec-hook: if test ! -e $(DESTDIR)$(bindir)/adonthell ; then \ $(LN_S) adonthell-0.3 $(DESTDIR)$(bindir)/adonthell; \ else \ echo "*** warning: cannot create symlink to adonthell-0.3"; \ fi; endif adonthell-0.3.5/src/Makefile.in0000644000076500000240000007303311017576542013262 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = adonthell-0.3$(EXEEXT) subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LIBRARIES = $(noinst_LIBRARIES) ARFLAGS = cru libadonthell_a_AR = $(AR) $(ARFLAGS) libadonthell_a_LIBADD = am__objects_1 = am_libadonthell_a_OBJECTS = adonthell.$(OBJEXT) animation.$(OBJEXT) \ audio.$(OBJEXT) character_base.$(OBJEXT) character.$(OBJEXT) \ data_screen.$(OBJEXT) dialog.$(OBJEXT) dialog_screen.$(OBJEXT) \ drawable.$(OBJEXT) drawing_area.$(OBJEXT) event.$(OBJEXT) \ event_handler.$(OBJEXT) event_list.$(OBJEXT) fileops.$(OBJEXT) \ game.$(OBJEXT) gamedata.$(OBJEXT) gamedate.$(OBJEXT) \ gametime.$(OBJEXT) image.$(OBJEXT) input.$(OBJEXT) \ label.$(OBJEXT) label_input.$(OBJEXT) landmap.$(OBJEXT) \ lex.prefs.$(OBJEXT) map_event.$(OBJEXT) \ map_event_handler.$(OBJEXT) mapsquare_walkable.$(OBJEXT) \ mapcharacter.$(OBJEXT) mapsquare.$(OBJEXT) mapobject.$(OBJEXT) \ mapview.$(OBJEXT) nls.$(OBJEXT) path.$(OBJEXT) pnm.$(OBJEXT) \ prefs.$(OBJEXT) py_callback.$(OBJEXT) python_class.$(OBJEXT) \ py_adonthell_wrap.$(OBJEXT) py_object.$(OBJEXT) \ quest.$(OBJEXT) screen.$(OBJEXT) surface.$(OBJEXT) \ storage.$(OBJEXT) text_bubble.$(OBJEXT) time_event.$(OBJEXT) \ time_event_handler.$(OBJEXT) win_background.$(OBJEXT) \ win_base.$(OBJEXT) win_border.$(OBJEXT) \ win_container.$(OBJEXT) win_font.$(OBJEXT) win_ttf.$(OBJEXT) \ win_keys.$(OBJEXT) win_manager.$(OBJEXT) \ win_scrollbar.$(OBJEXT) win_scroll.$(OBJEXT) \ win_select.$(OBJEXT) win_theme.$(OBJEXT) win_event.$(OBJEXT) \ yarg.$(OBJEXT) $(am__objects_1) libadonthell_a_OBJECTS = $(am_libadonthell_a_OBJECTS) am__installdirs = "$(DESTDIR)$(bindir)" binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_adonthell_0_3_OBJECTS = main.$(OBJEXT) adonthell_0_3_OBJECTS = $(am_adonthell_0_3_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) adonthell_0_3_DEPENDENCIES = libadonthell.a $(am__DEPENDENCIES_2) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libadonthell_a_SOURCES) $(adonthell_0_3_SOURCES) DIST_SOURCES = $(libadonthell_a_SOURCES) $(adonthell_0_3_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = . modules EXTRA_DIST = .indent.pro prefs.l py_adonthell.i AM_CPPFLAGS = $(SDL_DEFS) $(OGG_DEFS) $(SDL_CFLAGS) $(OGG_CFLAGS) $(PY_CFLAGS) $(FT2_CFLAGS) noinst_LIBRARIES = libadonthell.a CLEANFILES = $(moddata_SCRIPTS) headers = \ adonthell.h animation.h audio.h callback.h py_callback.h character_base.h \ character.h gamedata.h data_screen.h dialog.h dialog_screen.h drawable.h \ drawing_area.h event.h event_handler.h event_handler_base.h event_list.h \ fileops.h game.h gamedate.h gametime.h gettext.h image.h input.h \ landmap.h map_event.h map_event_handler.h mapsquare.h \ mapsquare_walkable.h nls.h mapcharacter.h mapobject.h mapview.h path.h \ pnm.h prefs.h python_class.h py_object.h quest.h screen.h surface.h storage.h \ types.h text_bubble.h time_event.h time_event_handler.h win_background.h \ win_base.h win_border.h win_container.h str_hash.h win_font.h win_image.h \ win_label.h win_mapview.h label.h label_input.h win_scrollbar.h win_scroll.h \ win_select.h win_theme.h win_keys.h win_event.h win_types.h win_write.h \ win_ttf.h win_manager.h win_object.h window.h win_wrappers.h yarg.h libadonthell_a_SOURCES = adonthell.cc animation.cc audio.cc \ character_base.cc character.cc data_screen.cc dialog.cc dialog_screen.cc \ drawable.cc drawing_area.cc event.cc event_handler.cc event_list.cc \ fileops.cc game.cc gamedata.cc gamedate.cc gametime.cc image.cc input.cc \ label.cc label_input.cc landmap.cc \ lex.prefs.cc map_event.cc \ map_event_handler.cc mapsquare_walkable.cc mapcharacter.cc mapsquare.cc \ mapobject.cc mapview.cc nls.cc path.cc pnm.cc prefs.cc py_callback.cc \ python_class.cc py_adonthell_wrap.cc py_object.cc quest.cc screen.cc \ surface.cc storage.cc text_bubble.cc time_event.cc time_event_handler.cc \ win_background.cc win_base.cc win_border.cc win_container.cc win_font.cc \ win_ttf.cc win_keys.cc win_manager.cc win_scrollbar.cc win_scroll.cc \ win_select.cc \ win_theme.cc win_event.cc yarg.cc $(headers) libadonthell_LDADD = $(SDL_LIBS) $(OGG_LIBS) $(PY_LIBS) $(INTLLIBS) $(FT2_LIBS) adonthell_0_3_LDADD = libadonthell.a $(libadonthell_LDADD) adonthell_0_3_SOURCES = main.cc # -- MacOS X App Bundle @MAKE_BUNDLE_TRUE@bundle_contents = Adonthell.app/Contents all: all-recursive .SUFFIXES: .SUFFIXES: .cc .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLIBRARIES: -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) libadonthell.a: $(libadonthell_a_OBJECTS) $(libadonthell_a_DEPENDENCIES) -rm -f libadonthell.a $(libadonthell_a_AR) libadonthell.a $(libadonthell_a_OBJECTS) $(libadonthell_a_LIBADD) $(RANLIB) libadonthell.a install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(bindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(binPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(bindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(bindir)/$$f'"; \ rm -f "$(DESTDIR)$(bindir)/$$f"; \ done clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done adonthell-0.3$(EXEEXT): $(adonthell_0_3_OBJECTS) $(adonthell_0_3_DEPENDENCIES) @rm -f adonthell-0.3$(EXEEXT) $(CXXLINK) $(adonthell_0_3_OBJECTS) $(adonthell_0_3_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/adonthell.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/animation.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/audio.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/character.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/character_base.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data_screen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialog_screen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drawable.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/drawing_area.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event_handler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/event_list.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileops.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/game.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gamedata.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gamedate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gametime.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/image.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/input.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/label.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/label_input.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/landmap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lex.prefs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map_event.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map_event_handler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapcharacter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapobject.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapsquare.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapsquare_walkable.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapview.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nls.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pnm.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/prefs.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/py_adonthell_wrap.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/py_callback.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/py_object.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/python_class.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/screen.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/storage.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/surface.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text_bubble.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_event.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_event_handler.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_background.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_base.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_border.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_container.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_event.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_font.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_keys.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_manager.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_scroll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_scrollbar.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_select.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_theme.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win_ttf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yarg.Po@am__quote@ .cc.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cc.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cc.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ 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) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ 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) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LIBRARIES) $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstLIBRARIES mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-binPROGRAMS @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-exec-hook install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-exec-am install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool clean-noinstLIBRARIES ctags \ ctags-recursive distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-binPROGRAMS \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-exec-hook install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-binPROGRAMS # Note: adonthell.py is also built by this target. py_adonthell_wrap.cc : py_adonthell.i $(headers) @if test "${P_SWIG}"; then \ echo ${P_SWIG} -python -modern -shadow ${SDL_CFLAGS} -I$(srcdir) -I$(top_srcdir) -c++ -makedefault -o $(srcdir)/$*.cc $(srcdir)/py_adonthell.i; \ ${P_SWIG} -python -modern -shadow ${SDL_CFLAGS} -I$(srcdir) -I$(top_srcdir) -c++ -makedefault -o $(srcdir)/$*.cc $(srcdir)/py_adonthell.i; \ mv $(srcdir)/adonthell.py modules/adonthell.py; \ else \ echo "You need swig >= ${SWIG_MINVER} in order to re-build this file."; \ exit 1; \ fi; lex.prefs.cc : prefs.l flex -olex.prefs.cc $< @MAKE_BUNDLE_TRUE@Adonthell.app: Adonthell $(srcdir)/modules/*.py $(srcdir)/modules/*.pyc @MAKE_BUNDLE_TRUE@ mkdir -p $(bundle_contents)/MacOS/modules @MAKE_BUNDLE_TRUE@ mkdir -p $(bundle_contents)/Resources @MAKE_BUNDLE_TRUE@ echo "APPL????" > $(bundle_contents)/PkgInfo @MAKE_BUNDLE_TRUE@ $(INSTALL_PROGRAM) $< $(bundle_contents)/MacOS/ @MAKE_BUNDLE_TRUE@ $(INSTALL_DATA) modules/*.py $(bundle_contents)/MacOS/modules/ @MAKE_BUNDLE_TRUE@ $(INSTALL_DATA) modules/*.pyc $(bundle_contents)/MacOS/modules/ @MAKE_BUNDLE_TRUE@install-exec-hook: Adonthell.app @MAKE_BUNDLE_TRUE@ rm -rf $(DESTDIR)/Applications/Adonthell.app @MAKE_BUNDLE_TRUE@ mkdir -p $(DESTDIR)/Applications @MAKE_BUNDLE_TRUE@ cp -r $< $(DESTDIR)/Applications/ @MAKE_BUNDLE_FALSE@install-exec-hook: @MAKE_BUNDLE_FALSE@ if test ! -e $(DESTDIR)$(bindir)/adonthell ; then \ @MAKE_BUNDLE_FALSE@ $(LN_S) adonthell-0.3 $(DESTDIR)$(bindir)/adonthell; \ @MAKE_BUNDLE_FALSE@ else \ @MAKE_BUNDLE_FALSE@ echo "*** warning: cannot create symlink to adonthell-0.3"; \ @MAKE_BUNDLE_FALSE@ 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: adonthell-0.3.5/src/map_event.cc0000644000076500000240000000534207613054643013500 00000000000000/* $Id: map_event.cc,v 1.4 2003/01/20 20:18:43 ksterker Exp $ Copyright (C) 2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file map_event.cc * * @author Kai Sterker * @brief Implements the different map events. */ #include "map_event.h" // constructor map_event::map_event () : event () { submap = x = y = dir = map = -1; c = NULL; } // compare two map events bool map_event::equals (const event* e) { // we know that we've got a map_event :) map_event *t = (map_event *) e; if (submap != -1 && t->submap != submap) return false; if (x != -1 && t->x != x) return false; if (y != -1 && t->y != y) return false; if (dir != -1 && t->dir != dir) return false; if (map != -1 && t->map != map) return false; if (c && t->c != c) return false; return true; } // Execute map event's script s_int32 map_event::execute (const event* e) { switch (Action) { case ACTION_SCRIPT: { map_event *t = (map_event *) e; PyObject *args = Py_BuildValue ("(i, i, i, i, s)", t->submap, t->x, t->y, t->dir, t->c->get_id ().c_str ()); Script->run (args); Py_DECREF (args); break; } case ACTION_PYFUNC: { PyFunc->callback_func0 (); break; } case ACTION_CPPFUNC: { Callback (); break; } default: break; } return do_repeat (); } // Load a map event from file bool map_event::get_state (igzstream& f) { event::get_state (f); string name; string s; submap << f; x << f; y << f; dir << f; map << f; s << f; if (s != "") c = (mapcharacter*) data::characters[s.c_str ()]; else c = NULL; return true; } // Save map event to file void map_event::put_state (ogzstream& out) const { event::put_state (out); submap >> out; x >> out; y >> out; dir >> out; map >> out; if (c) c->get_id () >> out; else { string s = ""; s >> out; } } // constructor enter_event::enter_event () : map_event () { Type = ENTER_EVENT; } // constructor leave_event::leave_event () : map_event () { Type = LEAVE_EVENT; } // constructor action_event::action_event () : map_event () { Type = ACTION_EVENT; } adonthell-0.3.5/src/map_event.h0000644000076500000240000000554407527775455013365 00000000000000/* $Id: map_event.h,v 1.2 2002/08/18 19:53:17 ksterker Exp $ Copyright (C) 2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file map_event.h * * @author Kai Sterker * @brief Declares the different map events. */ #ifndef MAP_EVENT_H__ #define MAP_EVENT_H__ #include "event.h" #include "character.h" /** * Baseclass for map enter/leave/action events. * The event will be launched if all the member's data matches. */ class map_event : public event { public: /** * Default constructor. */ map_event (); /** * Saves the basic %event %data (such as the type or script data) * to a file. * * @param out file where to save the %event. */ void put_state (ogzstream&) const; /** * Loads the basic %event %date from a file. * * @param in file to load the %event from. * @return \e true if the %event could be loaded, \e false otherwise */ bool get_state (igzstream&); /** * Submap index (-1 for any). */ s_int32 submap; /** * X position (-1 for any). */ s_int32 x; /** * Y position (-1 for any). */ s_int32 y; /** * Direction where the character is looking (-1 for any). */ s_int8 dir; /** * Useless (for now). */ s_int32 map; /** * Pointer to the mapcharacter that can launch this event (NULL for any). */ mapcharacter *c; /** * Compare two map events for equality. * * @param evnt The map event to compare this to. * @return True if the two events equal, false otherwise. */ bool equals (const event* evnt); /** * Executes the script associated with this map %event. If the * event does not repeat it is removed from the %event handler. * * @param evnt The %event that triggered this map %event. * * @return The number of times the %event needs to be repeated. */ s_int32 execute (const event* evnt); }; /** * To notify when a character entered a mapsquare. */ class enter_event : public map_event { public: /** * Default constructor. */ enter_event (); }; /** * To notify when a mapcharacter left a mapsquare. */ class leave_event : public map_event { public: /** * Default constructor. */ leave_event (); }; /** * To notify when a mapcharacter "act" on a square. */ class action_event : public map_event { public: /** * Default constructor. */ action_event (); }; #endif // MAP_EVENT_H__ adonthell-0.3.5/src/map_event_handler.cc0000644000076500000240000000334707612637655015211 00000000000000/* $Id: map_event_handler.cc,v 1.5 2003/01/20 00:15:41 ksterker Exp $ Copyright (C) 2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file map_event_handler.cc * * @author Kai Sterker * @brief Implements the map_event_handler class. */ #include #include "map_event.h" #include "map_event_handler.h" // See whether a matching event is registered and execute the // according script(s) void map_event_handler::raise_event (const event* e) { // we have to iterate back to front as executing an event might // erase it from the vector. This invalidates any iterators pointing // _after_ the deleted element. for (vector::iterator i = Events.end (); i > Events.begin ();) { i--; // if the events match, execute them. Note that events that use up // their repeat count are deleted (and automatically unregistered). if ((*i)->equals (e)) if (!(*i)->execute (e)) delete *i; } return; } // Unregister an event void map_event_handler::remove_event (event *e) { vector::iterator i; // Search for the event we want to remove i = find (Events.begin (), Events.end (), e); // found? -> get rid of it :) if (i != Events.end ()) Events.erase (i); } // register an event with the handler void map_event_handler::register_event (event *e) { Events.push_back (e); } adonthell-0.3.5/src/map_event_handler.h0000644000076500000240000000340207527775455015051 00000000000000/* $Id: map_event_handler.h,v 1.3 2002/08/18 19:53:17 ksterker Exp $ Copyright (C) 2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file map_event_handler.h * * @author Kai Sterker * @brief Declares the map_event_handler class. */ #ifndef MAP_EVENT_HANDLER_H__ #define MAP_EVENT_HANDLER_H__ #include #include "event_handler_base.h" using std::vector; /** * This class keeps track of map events, i.e. events that are raised * when a character enters or leaves a tile, or initiates an action. */ class map_event_handler : public event_handler_base { public: /** * Register a map %event with the %event handler. The %event * needs to be removed before it can be safely deleted. * * @param evnt Pointer to the %event to be registered. */ void register_event (event *evnt); /** * Removes the given %event from the %event handler. Once it is * no longer needed, it can be freed. * * @param evnt Pointer to the %event to be removed. */ void remove_event (event *evnt); /** * Raise one or more events in case the given 'trigger' matches. * Unless they need to be repeated, they are removed from the * %event-vector. * * @param evnt A map_event structure. */ void raise_event (const event *evnt); private: // storage for registered time events. vector Events; }; #endif // MAP_EVENT_HANDLER_H__ adonthell-0.3.5/src/mapcharacter.cc0000644000076500000240000007663207624234211014157 00000000000000/* $Id: mapcharacter.cc,v 1.49 2003/02/17 19:31:21 ksterker Exp $ Copyright (C) 1999/2000/2001/2002 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapcharacter.cc * * @author Alexandre Courbot * @brief Defines the mapcharacter class. */ #include "mapcharacter.h" #include "map_event.h" #include "time_event.h" #include "event_handler.h" #include "landmap.h" #include "win_manager.h" using namespace std; // Public methods mapcharacter::mapcharacter () : mapsquare_walkable_area (), character_base (), event_list () { submap_ = posx_ = posy_ = offx_ = offy_ = 0; refmap = NULL; anim.resize (NBR_MOVES); for (u_int16 i = 0; i < NBR_MOVES; i++) anim[i] = new animation; current_move = STAND_NORTH; previous_move = NO_MOVE; saying = NULL; schedule_activated = true; action_activated = true; goal_reached_ = true; schedule_args = NULL; action_args = NULL; callback = NULL; } mapcharacter::~mapcharacter () { clear (); for (u_int16 i = 0; i < anim.size (); i++) delete anim[i]; anim.clear (); } void mapcharacter::clear () { event_list::clear (); if (saying) delete saying; for (u_int16 i = 0; i < anim.size (); i++) anim[i]->clear (); mapsquare_walkable_area::clear (); schedule.clear (); action.clear (); filename_ = ""; Py_XDECREF (schedule_args); schedule_args = NULL; Py_XDECREF (action_args); action_args = NULL; schedule_file_ = ""; action_file_ = ""; if (callback) delete callback; } s_int8 mapcharacter::get (igzstream& file) { int i; for (i = 0; i < NBR_MOVES; i++) { anim[i]->get (file); anim[i]->stop (); } mapsquare_walkable_area::get (file); return 0; } s_int8 mapcharacter::load (string fname) { string s = MAPCHAR_DIR; s += fname; igzstream file (s); if (!file.is_open ()) return -1; s_int8 retvalue; if (fileops::get_version (file, 1, 1, s)) retvalue = get (file); file.close (); filename_ = fname; return 0; } s_int8 mapcharacter::put (ogzstream& file) const { int i; for (i = 0; i < NBR_MOVES; i++) { anim[i]->put (file); } mapsquare_walkable_area::put (file); return 0; } s_int8 mapcharacter::save (string fname) const { string s = MAPCHAR_DIR; s += fname; ogzstream file (s); if (!file.is_open ()) return -1; s_int8 retvalue; fileops::put_version (file, 1); retvalue = put (file); file.close (); return 0; } s_int8 mapcharacter::get_state (igzstream& file) { string t; bool b; u_int16 current_move__; s_int8 offx__, offy__; remove_from_pos (); t << file; load (t); // Reads the data members current_move__ << file; previous_move << file; submap_ << file; posx_ << file; posy_ << file; offx__ << file; offy__ << file; jump_to (submap (), posx (), posy ()); set_offset (offx__, offy__); current_move = current_move__; // Get the path state mypath.get_state (file); // The map must be attached manually for now! :( mypath.refmap = refmap; pathindex << file; goal_reached_ << file; // Schedule state PyObject * args; t << file; b << file; args = NULL; if (b) args = python::get_tuple (file); set_schedule (t, args); Py_XDECREF (args); b << file; set_schedule_active (b); // Action state t << file; b << file; args = NULL; if (b) args = python::get_tuple (file); set_action (t, args); Py_XDECREF (args); b << file; set_action_active (b); // get the events py_callback::instance = schedule.get_instance (false); return event_list::get_state (file); } s_int8 mapcharacter::put_state (ogzstream& file) const { // Write the mapcharacter's file name filename_ >> file; // Write the data members current_move >> file; previous_move >> file; submap_ >> file; posx_ >> file; posy_ >> file; offx_ >> file; offy_ >> file; // Save the path state mypath.put_state (file); pathindex >> file; goal_reached_ >> file; // Save the schedule script state schedule_file () >> file; if (schedule_args) { true >> file; python::put_tuple (schedule_args, file); } else false >> file; is_schedule_activated () >> file; // Save the action script state action_file () >> file; if (action_args) { true >> file; python::put_tuple (action_args, file); } else false >> file; is_action_activated () >> file; // save the events event_list::put_state (file); return 0; } void mapcharacter::set_map (landmap * m) { if (mymap ()) return; m->mapchar.push_back (this); refmap = m; } void mapcharacter::remove_from_map () { if (!mymap ()) return; leave_position (); vector ::iterator i; for (i = mymap ()->mapchar.begin (); (*i) != this; i++); mymap ()->mapchar.erase (i); refmap = NULL; } void mapcharacter::remove_from_pos () { leave_position (); } void mapcharacter::jump_to (u_int16 smap, u_int16 x, u_int16 y, u_int16 pos) { leave_position (); set_pos (smap, x, y); set_offset (0, 0); switch (pos) { case STAND_NORTH: stand_north (); break; case STAND_SOUTH: stand_south (); break; case STAND_WEST: stand_west (); break; case STAND_EAST: stand_east (); break; default: stand (); break; } enter_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = pos; event_handler::raise_event (&evt); } void mapcharacter::stand () { if (current_move >= WALK_NORTH && current_move != NO_MOVE) { previous_move = current_move; current_move -= WALK_NORTH; } } void mapcharacter::stand_north () { previous_move = current_move; current_move = STAND_NORTH; } void mapcharacter::stand_south () { previous_move = current_move; current_move = STAND_SOUTH; } void mapcharacter::stand_east () { previous_move = current_move; current_move = STAND_EAST; } void mapcharacter::stand_west () { previous_move = current_move; current_move = STAND_WEST; } bool mapcharacter::can_go_north () const { if (!posy ()) return false; u_int16 i, j; u_int16 sx = (posx () - base_x () < 0) ? 0 : posx () - base_x (); u_int16 sy = (posy () - base_y () < 0) ? 0 : posy () - base_y (); s_int16 ax = sx - (posx () - base_x ()); s_int16 ay = sy - (posy () - base_y ()); u_int16 ex = (posx () - base_x () + area_length () > refmap->submap[submap ()]->area_length ()) ? refmap->submap[submap ()]->area_length () : posx () - base_x () + area_length (); u_int16 ey = (posy () - base_y () + area_height () > refmap->submap[submap ()]->area_height ()) ? refmap->submap[submap ()]->area_height () : posy () - base_y () + area_height (); for (j = sy; j < ey; j++) for (i = sx; i < ex; i++) { if (get_square (i - sx + ax, j - sy + ay)->get_walkable ()) continue; if (!j) continue; if (!(refmap->submap[submap ()]->area[i][j].is_walkable_north () && refmap->submap[submap ()]->area[i][j - 1].is_walkable_south () && refmap->submap[submap ()]->area[i][j - 1].is_free ())) return false; } return true; } bool mapcharacter::can_go_south () const { if (posy () == refmap->submap[submap ()]->area_height () - 1) return false; u_int16 i, j; u_int16 sx = (posx () - base_x () < 0) ? 0 : posx () - base_x (); u_int16 sy = (posy () - base_y () < 0) ? 0 : posy () - base_y (); s_int16 ax = sx - (posx () - base_x ()); s_int16 ay = sy - (posy () - base_y ()); u_int16 ex = (posx () - base_x () + area_length () >= refmap->submap[submap ()]->area_length ()) ? refmap->submap[submap ()]->area_length () : posx () - base_x () + area_length (); u_int16 ey = (posy () - base_y () + area_height () >= refmap->submap[submap ()]->area_height ()) ? refmap->submap[submap ()]->area_height () : posy () - base_y () + area_height (); for (j = sy; j < ey; j++) for (i = sx; i < ex; i++) { if (get_square (i - sx + ax, j - sy + ay)->get_walkable ()) continue; if (j == refmap->submap[submap ()]->area_height () - 1) continue; if (!(refmap->submap[submap ()]->area[i][j].is_walkable_south () && refmap->submap[submap ()]->area[i][j + 1].is_walkable_north () && refmap->submap[submap ()]->area[i][j + 1].is_free ())) return false; } return true; } bool mapcharacter::can_go_east () const { if (posx () == refmap->submap[submap ()]->area_length () - 1) return false; u_int16 i, j; u_int16 sx = (posx () - base_x () < 0) ? 0 : posx () - base_x (); u_int16 sy = (posy () - base_y () < 0) ? 0 : posy () - base_y (); s_int16 ax = sx - (posx () - base_x ()); s_int16 ay = sy - (posy () - base_y ()); u_int16 ex = (posx () - base_x () + area_length () >= refmap->submap[submap ()]->area_length ()) ? refmap->submap[submap ()]->area_length () : posx () - base_x () + area_length (); u_int16 ey = (posy () - base_y () + area_height () >= refmap->submap[submap ()]->area_height ()) ? refmap->submap[submap ()]->area_height () : posy () - base_y () + area_height (); for (j = sy; j < ey; j++) for (i = sx; i < ex; i++) { if (get_square (i - sx + ax, j - sy + ay)->get_walkable ()) continue; if (i == refmap->submap[submap ()]->area_length () - 1) continue; if (!(refmap->submap[submap ()]->area[i][j].is_walkable_east () && refmap->submap[submap ()]->area[i + 1][j].is_walkable_west () && refmap->submap[submap ()]->area[i + 1][j].is_free ())) return false; } return true; } bool mapcharacter::can_go_west () const { if (!posx ()) return false; u_int16 i, j; u_int16 sx = (posx () - base_x () < 0) ? 0 : posx () - base_x (); u_int16 sy = (posy () - base_y () < 0) ? 0 : posy () - base_y (); s_int16 ax = sx - (posx () - base_x ()); s_int16 ay = sy - (posy () - base_y ()); u_int16 ex = (posx () - base_x () + area_length () > refmap->submap[submap ()]->area_length ()) ? refmap->submap[submap ()]->area_length () : posx () - base_x () + area_length (); u_int16 ey = (posy () - base_y () + area_height () > refmap->submap[submap ()]->area_height ()) ? refmap->submap[submap ()]->area_height () : posy () - base_y () + area_height (); for (j = sy; j < ey; j++) for (i = sx; i < ex; i++) { if (get_square (i - sx + ax, j - sy + ay)->get_walkable ()) continue; if (!i) continue; if (!(refmap->submap[submap ()]->area[i][j].is_walkable_west () && refmap->submap[submap ()]->area[i - 1][j].is_walkable_east () && refmap->submap[submap ()]->area[i - 1][j].is_free ())) return false; } return true; } bool mapcharacter::go_north () { if (current_move < WALK_NORTH) { bool ret = can_go_north (); previous_move = current_move; if (ret) current_move = WALK_NORTH; else current_move = STAND_NORTH; return ret; } return false; } bool mapcharacter::go_south () { if (current_move < WALK_NORTH) { bool ret = can_go_south (); previous_move = current_move; if (ret) current_move = WALK_SOUTH; else current_move = STAND_SOUTH; return ret; } return false; } bool mapcharacter::go_east () { if (current_move < WALK_NORTH) { bool ret = can_go_east (); previous_move = current_move; if (ret) current_move = WALK_EAST; else current_move = STAND_EAST; return ret; } return false; } bool mapcharacter::go_west () { if (current_move < WALK_NORTH) { bool ret = can_go_west (); previous_move = current_move; if (ret) current_move = WALK_WEST; else current_move = STAND_WEST; return ret; } return false; } bool mapcharacter::set_goal (u_int16 x, u_int16 y, u_int16 dir) { mypath.refmap = mymap (); mypath.submap = submap (); mypath.start.x = posx (); mypath.start.y = posy (); mypath.goal.x = x; mypath.goal.y = y; mypath.dir = dir; pathindex = 0; goal_reached_ = false; return mypath.calculate (); } void mapcharacter::set_callback (PyObject *cb, PyObject *args) { if (callback) delete callback; callback = new py_callback (cb, args); } void mapcharacter::time_callback (string delay, PyObject *cb, PyObject *args) { time_event *ev = new time_event (delay); ev->set_callback (cb, args); add_event (ev); } void mapcharacter::time_callback_string (string delay, string cb, PyObject *args) { PyObject *instance = schedule.get_instance (false); // check that we have a valid instance that contains our callback if (instance == NULL) { fprintf (stderr, "*** error: mapcharacter::time_callback: Invalid instance!"); return; } PyObject *callback = PyObject_GetAttrString (instance, (char *) cb.c_str ()); if (!PyCallable_Check (callback)) { fprintf (stderr, "*** error: mapcharacter::time_callback: Setting callback ' %s' failed!", cb.c_str ()); } else { time_event *ev = new time_event (delay); ev->set_callback (callback, args); add_event (ev); } Py_XDECREF (callback); } bool mapcharacter::follow_path () { // If a movment is engaged, let it finish first. if (offx () || offy ()) return false; // If the goal isn't reached yet. if (pathindex < mypath.nbr_moves ()) { u_int16 dir = mypath.get_move (pathindex); u_int8 success = 0; // Try to follow the direction switch (dir) { case WALK_NORTH: if (go_north ()) success = 1; break; case WALK_SOUTH: if (go_south ()) success = 1; break; case WALK_WEST: if (go_west ()) success = 1; break; case WALK_EAST: if (go_east ()) success = 1; break; } // Who the fuck is on my way!!?@! I have to find a new path now! if (!success) { mypath.start.x = posx (); mypath.start.y = posy (); mypath.submap = submap (); mypath.calculate (); pathindex = 0; } else pathindex++; } else { switch (mypath.dir) { case STAND_NORTH: stand_north (); break; case STAND_SOUTH: stand_south (); break; case STAND_WEST: stand_west (); break; case STAND_EAST: stand_east (); break; } // goal reached -> notify script (as the script might immediately // set the next goal, we gotta set goal_reached_ before that) goal_reached_ = true; if (callback) callback->callback_func0 (); return true; } return false; } void mapcharacter::stop_moving () { set_goal (posx (), posy ()); } bool mapcharacter::goal_reached () { return goal_reached_; } void mapcharacter::look_invert (u_int16 p) { switch (p) { case STAND_NORTH: stand_south (); break; case STAND_SOUTH: stand_north (); break; case STAND_EAST: stand_west (); break; case STAND_WEST: stand_east (); break; } } mapcharacter *mapcharacter::whosnext () const { switch (current_move) { case STAND_NORTH: if (posy () == 0) return NULL; return refmap->submap[submap ()]->area[posx ()][posy () - 1].whoshere (); break; case STAND_SOUTH: if (posy () == refmap->submap[submap ()]->area_height () - 1) return NULL; return refmap->submap[submap ()]->area[posx ()][posy () + 1].whoshere (); break; case STAND_WEST: if (posx () == 0) return NULL; return refmap->submap[submap ()]->area[posx () - 1][posy ()].whoshere (); break; case STAND_EAST: if (posx () == refmap->submap[submap ()]->area_length () - 1) return NULL; return refmap->submap[submap ()]->area[posx () + 1][posy ()].whoshere (); break; } return NULL; } bool mapcharacter::do_stuff (string method, PyObject *args) { if (!schedule.has_attribute (method)) return false; else schedule.call_method (method, args); return true; } void mapcharacter::set_schedule (string file, PyObject * args) { // Clears the schedule schedule.clear (); Py_XDECREF (schedule_args); schedule_args = NULL; // Set new schedule if (file != "") { Py_XINCREF (args); schedule_args = args; u_int16 argssize = args == NULL ? 1 : PyTuple_Size (args) + 1; PyObject * theargs; theargs = PyTuple_New (argssize); // We can pass_instance directly 'cause PyTuple_SetItem steals a // reference to the result of pass_instance. PyTuple_SetItem (theargs, 0, python::pass_instance (this, "mapcharacter")); for (u_int16 i = 1; i < argssize; i++) { PyObject * intref = PyTuple_GetItem (args, i - 1); Py_INCREF (intref); PyTuple_SetItem (theargs, i, intref); } schedule.create_instance ("schedules.mapcharacters." + file, file, theargs); Py_DECREF (theargs); if (!schedule.has_attribute ("run")) set_schedule_active (false); } schedule_file_ = file; } void mapcharacter::set_action (string file, PyObject * args) { // Clears the action script action.clear (); Py_XDECREF (action_args); action_args = NULL; if (file != "") { Py_XINCREF (args); action_args = args; u_int16 argssize = args == NULL ? 1 : PyTuple_Size (args) + 1; PyObject * theargs; theargs = PyTuple_New (argssize); // We can pass_instance directly 'cause PyTuple_SetItem steals a // reference to the result of pass_instance. PyTuple_SetItem (theargs, 0, python::pass_instance (this, "mapcharacter")); for (u_int16 i = 1; i < argssize; i++) { PyObject * intref = PyTuple_GetItem (args, i - 1); Py_INCREF (intref); PyTuple_SetItem (theargs, i, intref); } action.create_instance ("actions." + file, file, theargs); Py_DECREF (theargs); } action_file_ = file; } bool mapcharacter::update () { update_move (); if (is_schedule_activated ()) schedule.run (); // if we have a goal, then go there! if (!goal_reached ()) follow_path (); if (previous_move != NO_MOVE && previous_move != current_move) { anim[previous_move]->stop (); anim[previous_move]->rewind (); anim[current_move]->play (); } if (saying && !saying->update ()) { delete saying; saying = NULL; } return true; } void mapcharacter::launch_action (mapcharacter * requester) { PyObject *args = PyTuple_New (1); PyTuple_SetItem (args, 0, python::pass_instance (requester, "mapcharacter")); if (is_action_activated ()) action.run (args); Py_DECREF (args); } void mapcharacter::draw (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target) const { anim[current_move]->draw (x, y, da_opt, target); } void mapcharacter::draw_bubble (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target) const { if (saying) { s_int16 dx = x - (saying->drawing_area::length () >> 1) + (anim[current_move]->length () >> 1); s_int16 dy = y - (saying->drawing_area::height ()) + 5; if (dx < 4) dx = 4; else if (dx + saying->drawing_area::length () > da_opt->x () + da_opt->length () - 4) dx = da_opt->x () + da_opt->length () - saying->drawing_area::length () - 4; saying->move (dx, dy); saying->assign_drawing_area (da_opt); saying->draw (); saying->detach_drawing_area (); } } mapcharacter & mapcharacter::operator = (const mapcharacter & src) { u_int16 i; clear (); (mapsquare_walkable_area&) (*this) = (mapsquare_walkable_area&) src; (character_base&) (*this) = (character_base&) src; for (i = 0; i < NBR_MOVES; i++) (*anim[i]) = (*src.anim[i]); schedule = src.schedule; action = src.action; current_move = src.currentmove (); if (src.mymap ()) { set_map (src.mymap ()); set_pos (src.submap (), src.posx (), src.posy ()); set_offset (src.offx (), src.offy ()); } filename_ = src.filename_; return *this; } // Private methods void mapcharacter::occupy (u_int16 smap, u_int16 px, u_int16 py) { mapsquare_char mschar; list ::iterator it; u_int16 sx = (px - base_x () < 0) ? 0 : px - base_x (); u_int16 sy = (py - base_y () < 0) ? 0 : py - base_y (); u_int16 ex = (sx + area_length () > refmap->submap[smap]->area_length ()) ? refmap->submap[smap]->area_length () : sx + area_length (); u_int16 ey = (sy + area_height () > refmap->submap[smap]->area_height ()) ? refmap->submap[smap]->area_height () : sy + area_height (); u_int16 i, j; // Placing the base tile first mschar.mchar = this; mschar.is_base = true; mschar.x = px; mschar.y = py; mschar.walkable = get_square (base_x (), base_y ())->get_walkable () == ALL_WALKABLE; refmap->submap[smap]->area[px][py].mapchars.push_back (mschar); it = --refmap->submap[smap]->area[px][py].mapchars.end (); it->base_tile = it; mschar.base_tile = it; mschar.is_base = false; // Ready to place the rest now for (i = sx; i < ex; i++) for (j = sy; j < ey; j++) if (i != px || j != py) { mschar.x = i; mschar.y = j; mschar.walkable = get_square (sx + base_x () - px, sy + base_y () - py)-> get_walkable () == ALL_WALKABLE; refmap->submap[smap]->area[i][j].mapchars.push_back (mschar); } } void mapcharacter::leave (u_int16 smap, u_int16 px, u_int16 py) { list ::iterator it; list ::iterator e; u_int16 sx = (px - base_x () < 0) ? 0 : px - base_x (); u_int16 sy = (py - base_y () < 0) ? 0 : py - base_y (); u_int16 ex = (sx + area_length () > refmap->submap[smap]->area_length ()) ? refmap->submap[smap]->area_length () : sx + area_length (); u_int16 ey = (sy + area_height () > refmap->submap[smap]->area_height ()) ? refmap->submap[smap]->area_height () : sy + area_height (); u_int16 i, j; for (i = sx; i < ex; i++) for (j = sy; j < ey; j++) { it = refmap->submap[smap]->area[i][j].mapchars.begin (); e = refmap->submap[smap]->area[i][j].mapchars.end (); while (it != e && it->mchar != this) it++; if (it != e) refmap->submap[smap]->area[px][py].mapchars.erase (it); } } void mapcharacter::leave_position () { leave (submap (), posx (), posy ()); switch (current_move) { case WALK_NORTH: case WALK_SOUTH: leave (submap (), posx (), posy () - 1); break; case WALK_WEST: case WALK_EAST: leave (submap (), posx () - 1, posy ()); break; } } void mapcharacter::set_pos (u_int16 smap, u_int16 x, u_int16 y) { // update character position submap_ = smap; posx_ = x; posy_ = y; // mark the character's place as occupied occupy (submap (), posx (), posy ()); } void mapcharacter::update_move () { if (refmap) switch (currentmove ()) { case WALK_NORTH: if (!offy ()) { if (!can_go_north ()) { stand_north (); break; } leave_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_NORTH; event_handler::raise_event (&evt); occupy (submap (), posx (), posy () - 1); set_offset (offx (), offy () - 1); } set_offset (offx (), offy () - 1); if (offy () == -MAPSQUARE_SIZE) { leave (submap (), posx (), posy ()); leave (submap (), posx (), posy () - 1); set_pos (submap (), posx (), posy () - 1); set_offset (offx (), 0); stand_north (); enter_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_NORTH; event_handler::raise_event (&evt); } break; case WALK_SOUTH: if (!offy ()) { if (!can_go_south ()) { stand_south (); break; } leave_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_SOUTH; event_handler::raise_event (&evt); leave (submap (), posx (), posy ()); occupy (submap (), posx (), posy ()); set_pos (submap (), posx (), posy () + 1); set_offset (0, -(MAPSQUARE_SIZE - 1)); } else { set_offset (offx (), offy () + 1); if (!offy ()) { leave (submap (), posx (), posy () - 1); stand_south (); enter_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_SOUTH; event_handler::raise_event (&evt); } } break; case WALK_WEST: if (!offx ()) { if (!can_go_west ()) { stand_west (); break; } leave_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_WEST; event_handler::raise_event (&evt); occupy (submap (), posx () - 1, posy ()); } set_offset (offx () -1, offy ()); if (offx () == -MAPSQUARE_SIZE) { leave (submap (), posx (), posy ()); leave (submap (), posx () - 1, posy ()); set_pos (submap (), posx () - 1, posy ()); set_offset (0, offy ()); stand_west (); enter_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_WEST; event_handler::raise_event (&evt); } break; case WALK_EAST: if (!offx ()) { if (!can_go_east ()) { stand_east (); break; } leave_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_EAST; event_handler::raise_event (&evt); leave (submap (), posx (), posy ()); occupy (submap (), posx (), posy ()); set_pos (submap (), posx () + 1, posy ()); set_offset (-(MAPSQUARE_SIZE - 1), 0); } else { set_offset (offx () + 1, offy ()); if (!offx ()) { leave (submap (), posx () - 1, posy ()); stand_east (); enter_event evt; evt.submap = submap (); evt.x = posx (); evt.y = posy (); evt.c = this; evt.dir = WALK_EAST; event_handler::raise_event (&evt); } } break; } anim[current_move]->update (); } void mapcharacter::speak (const string & text) { if (saying) delete saying; string col; switch (get_color ()) { case 1: col = "yellow"; break; case 2: col = "red"; break; case 3: col = "violet"; break; case 4: col = "blue"; break; case 5: col = "green"; break; default: col = "white"; break; } saying = new text_bubble (text, col, "original"); } adonthell-0.3.5/src/mapcharacter.h0000644000076500000240000005001407626252732014015 00000000000000/* $Id: mapcharacter.h,v 1.59 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapcharacter.h * * @author Alexandre Courbot * @brief Declares the mapcharacter class. */ #ifndef MAPCHARACTER_H_ #define MAPCHARACTER_H_ /** * Where mapcharacter files resides. * */ #define MAPCHAR_DIR "gfx/mapcharacters/" #include "animation.h" #include "character_base.h" #include "path.h" #include "text_bubble.h" #include "event_list.h" class landmap; class path; /** * @name mapcharacter moves. * */ //@{ /** * Standing North. * */ #define STAND_NORTH 0 /** * Standing South. * */ #define STAND_SOUTH 1 /** * Standing West. * */ #define STAND_WEST 2 /** * Standing East. * */ #define STAND_EAST 3 /** * Walking North. * */ #define WALK_NORTH 4 /** * Walking South. * */ #define WALK_SOUTH 5 /** * Walking West. * */ #define WALK_WEST 6 /** * Walking East. * */ #define WALK_EAST 7 /** * Total number of moves. * */ #define NBR_MOVES 8 /** * No move. * */ #define NO_MOVE 65535 //@} class mapview; /** * Representation of characters on a landmap. * * Like mapobjects, mapcharacters are a set of animations (one for every movment) * and a grid of mapsquare_walkables. This grid represents the map area the mapcharacter * physically occupies, which means that a mapcharacter can occupies several tiles. * * During the execution of Python scripts, some mapcharacter-local variables are * available: * @li myself is a pointer to the character holding this mapcharacter (can of course * serve as a mapcharacter pointer, as character inheritates from mapcharacter). * @li mymap, if defined, points to the landmap the mapcharacter is on. * * These Python variables are available both for schedules and actions. * * In supplement, actions have an extra variable available: * @li requester, which points to the mapcharacter that requested the action. * */ class mapcharacter : public mapsquare_walkable_area, public character_base, public event_list { public: /** * Default constructor. * */ mapcharacter (); /** * Destructor. * */ ~mapcharacter (); /** * Puts the mapcharacter back to it's post-constructor state. * */ void clear (); /** * Returns the current file name of the mapcharacter. * * * @return filename of the mapcharacter. */ string filename () const { return filename_; } /** * @name State updating * */ //@{ /** * Updates the mapcharacter's state and launchs his schedule. * */ bool update (); //@} /** * @name Drawing methods * */ //@{ void draw (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const; void draw_bubble (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const; //@} /** * @name Loading/Saving methods * * @note You can't save mapcharacters with this class. */ //@{ /** * Loads a mapcharacter from an opened file. * @param file the opened file from which to load. * @return 0 in case of success, error code otherwise. * */ s_int8 get (igzstream& file); /** * Loads a mapcharacter from it's filename. * * @param fname the name of the file to load. * * @return 0 in case of success, error code otherwise. */ s_int8 load (string fname); /** Saves an mapcharacter into an opened file, in %game format, with * alpha and mask values. * @warning as the mapcharacter which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving mapcharacters with full * truecolor quality, use mapcharacter_edit instead. * @param file opened file where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa save () */ s_int8 put (ogzstream& file) const; /** Saves an mapcharacter into an file, in %game format, with * alpha and mask values. * @warning as the mapcharacter which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving mapcharacters with full * truecolor quality, use mapcharacter_edit instead. * @param fname file name where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa put () */ s_int8 save (string fname) const; //@} /** * @name State loading/saving methods * */ //@{ /** * Restore the mapcharacter's state from an opened file. * * @param file the opened file from which to load the state. * * @return 0 in case of success, error code otherwise. */ s_int8 get_state (igzstream& file); /** * Saves the mapcharacter's state into an opened file. * * @param file the opened file where to the state. * * @return 0 in case of success, error code otherwise. */ s_int8 put_state (ogzstream& file) const; //@} /** * @name Landmap assignment * */ //@{ /** * Puts the mapcharacter on a landmap. * This methods can only be applied if the mapcharacter isn't on any landmap * when it is called, otherwise nothing will occur. * * @warning Be aware that once this methods is called, the mapcharacter has NO * position on the landmap. You MUST call jump_to () after this method to actually * have placed the character on the map. * * @param m pointer to the landmap the mapcharacter should be on. */ void set_map (landmap * m); /** * Removes the mapcharacter from the landmap he was on (if any). * */ void remove_from_map (); /** * Returns a pointer to the landmap the mapcharacter is on. * * * @return pointer to the landmap the mapcharacter is on (NULL if none). */ landmap * mymap () const { return refmap; } //@} /** * @name High-level control * * These methods provide a simple way to control the mapcharacter on the map he's on. * They cover "normal" moves like walking or looking into a direction, plus tests to * know whether a move is possible or not. * */ //@{ /** * Look to North. * */ void stand_north (); /** * Look to South. * */ void stand_south (); /** * Look to East. * */ void stand_east (); /** * Look to West. * */ void stand_west (); /** * Stand to the current direction. * * @note This method only serves to abord an expected waking movment. * */ void stand (); /** * Walk to North (if possible). * * This method asks the mapcharacter to walk one square to North. If the * movment isn't possible (non-walkable mapsquare or map limit), the * character will stand_north () instead. * * @note Each time update () is called, the mapcharacter will continue advancing, * until he reaches the next mapsquare. * */ bool go_north (); /** * Walk to South (if possible). * * This method asks the mapcharacter to walk one square to South. If the * movment isn't possible (non-walkable mapsquare or map limit), the * character will stand_south () instead. * * @note Each time update () is called, the mapcharacter will continue advancing, * until he reaches the next mapsquare. * */ bool go_south (); /** * Walk to East (if possible). * * This method asks the mapcharacter to walk one square to East. If the * movment isn't possible (non-walkable mapsquare or map limit), the * character will stand_east () instead. * * @note Each time update () is called, the mapcharacter will continue advancing, * until he reaches the next mapsquare. * */ bool go_east (); /** * Walk to West (if possible). * * This method asks the mapcharacter to walk one square to West. If the * movment isn't possible (non-walkable mapsquare or map limit), the * character will stand_west () instead. * * @note Each time update () is called, the mapcharacter will continue advancing, * until he reaches the next mapsquare. * */ bool go_west (); /** * Returns whether it is possible or not to go to North from * the current mapcharacter's position. * * * @return \c true if it is possible to go to North, \c false otherwise. */ bool can_go_north () const; /** * Returns whether it is possible or not to go to South from * the current mapcharacter's position. * * * @return \c true if it is possible to go to South, \c false otherwise. */ bool can_go_south () const; /** * Returns whether it is possible or not to go to East from * the current mapcharacter's position. * * * @return \c true if it is possible to go to East, \c false otherwise. */ bool can_go_east ()const; /** * Returns whether it is possible or not to go to West from * the current mapcharacter's position. * * * @return \c true if it is possible to go to West, \c false otherwise. */ bool can_go_west () const; /** * Look at the opposite position of p. * * This method is usefull for dialogues, when we want two * characters to face each other. * * * @param p opposite position of the position to look at. Can be * \c STAND_NORTH, \c STAND_SOUTH, \c STAND_EAST or \c STAND_WEST. */ void look_invert (u_int16 p); /** * Return a pointer to the mapcharacter that is right next to this * mapcharacter, i.e the mapcharacter that is on the square this * mapcharacter is looking at. * * If no mapcharacter is next to this one, NULL will be returned. * * * @return pointer to the mapcharacter next to this mapcharacter. */ mapcharacter *whosnext () const; void speak (const string & text); bool is_speaking () { return (saying != NULL); } text_bubble * get_bubble () { return saying; } //@} /** * @name Low-level controls * * If you need to do non-conventionnal or special things (like * teleport a character from a position to another), or need * to override the walkable mechanism, use these methods. * * You are also provided with various informative methods. * */ //@{ /** * Sets the offset of the mapcharacter on it's current mapsquare. * * @param x X offset. * @param y Y offset. */ void set_offset (s_int8 x, s_int8 y) { offx_ = x; offy_ = y; } /** * Removes the mapcharacter from the place he was on the map. * */ void remove_from_pos (); /** * Remove the mapcharacter from it's current place and put him to a new one. * * @param smap index of the submap to jump to. * @param x X offset to to. * @param y Y offset to to. * @param pos Position to adopt once placed. */ void jump_to (u_int16 smap, u_int16 x, u_int16 y, u_int16 pos = NO_MOVE); /** * Returns the index of the submap where the mapcharacter is. * * * @return the index of the submap where the mapcharacter is. */ u_int16 submap () const { return submap_; } /** * Returns the X position of the mapcharacter. * * * @return the X position of the mapcharacter on his map. */ u_int16 posx () const { return posx_; } /** * Returns the Y position of the mapcharacter. * * * @return the Y position of the mapcharacter on his map. */ u_int16 posy () const { return posy_; } /** * Returns the X offset of the mapcharacter. * * * @return the X offset of the mapcharacter on his map. */ s_int8 offx () const { return offx_; } /** * Returns the Y offset of the mapcharacter. * * * @return the Y offset of the mapcharacter on his map. */ s_int8 offy () const { return offy_; } /** * Returns the current move of the mapcharacter. * * * @return current mapcharacter's move (STAND_NORTH, WALK_SOUTH, etc...). */ u_int16 currentmove () const { return current_move; } bool set_goal (u_int16 x, u_int16 y, u_int16 dir = NO_MOVE); void set_callback (PyObject *callback, PyObject *args = NULL); bool follow_path (); bool goal_reached (); void stop_moving (); void time_callback (string delay, PyObject *cb, PyObject *args = NULL); void time_callback_string (string delay, string cb, PyObject *args = NULL); //@} /** * Schedule control. * */ //@{ /** * Assign a schedule to the mapcharacter. * * The schedule's filename will be \e "scripts/schedules/mapcharacters/.py". * * @param file name of the schedule to use. * @param args Python tuple containing extra arguments passed to the class constructor. * * @warning the args tuple argument MUST ONLY contain strings or integers, as it will * be saved with the mapcharacter state by python::put_tuple (). * */ void set_schedule (string file, PyObject * args = NULL); /** * Returns the name of the mapcharacter's current schedule. * * * @return name of the mapcharacter's current schedule. */ string schedule_file () const { return schedule_file_; } /** * Returns whether the schedule is activated or not. * * * @return \c true if the schedule is activated, \c false otherwise. */ bool is_schedule_activated () const { return schedule_activated; } /** * Sets whether the schedule is active or not. * * @param a \c true if the schedule should be activated, \c false otherwise. */ void set_schedule_active (bool a) { if (a && !schedule.has_attribute ("run")) return; schedule_activated = a; } /** * Tell the character to do something. Will execute the given method * of the current schedule with the given arguments. * * @param method The method of the schedule to call. * @param args The arguments to pass to the method. * * @return \c true if the method has been called, \c false otherwise. */ bool do_stuff (string method, PyObject *args = NULL); //@} /** * Action control. * */ //@{ /** * Assign a action to the mapcharacter. * * The action's filename will be \e "scripts/actions/.py". * * @param file name of the action to use. * @param args Python tuple containing extra arguments passed to the class constructor. * * @warning the args tuple argument MUST ONLY contain strings or integers, as it will * be saved with the mapcharacter state by python::put_tuple (). * */ void set_action (string file, PyObject * args = NULL); /** * Returns the name of the mapcharacter's current action. * * * @return name of the mapcharacter's current action. */ string action_file () const { return action_file_; } /** * Returns whether the action is activated or not. * * * @return \c true if the action is activated, \c false otherwise. */ bool is_action_activated () const { return action_activated; } /** * Sets whether the action is active or not. * * @param a \c true if the action should be activated, \c false otherwise. */ void set_action_active (bool a) { action_activated = a; } /** * Run the mapcharacter's action, passing requester as the "requester" parameter * for the action's Python script. * * @param requester pointer to the mapcharacter that requested the action, which * is passed to the Python run () method. */ void launch_action (mapcharacter * requester); //@} /** * Returns a pointer to an animation corresponding * to a movment. * * @param nbr index of the animation to get. * * @return pointer to the \e nbr animation. */ animation * get_animation (u_int16 nbr) { return anim[nbr]; } #ifndef SWIG /** * Mapcharacter copy (similar to copy ()). * * @attention Not available from Python. Use copy () from Python instead. * @sa copy () */ mapcharacter & operator = (const mapcharacter & m); #endif // SWIG /** * Synonym of operator = to guarantee its access from Python. * * @sa operator = */ void copy (const mapcharacter& src) { *this = src; } private: /** * Forbid value passing. * */ mapcharacter (const mapcharacter & src); /** * Makes the mapcharacter physically occupy an area. * * The given parameters are considered to be where * the mapcharacter's base square will be. * * @param smap submap where to occupy. * @param px X position where to occupy. * @param py Y position where to occupy. */ void occupy (u_int16 smap, u_int16 px, u_int16 py); /** * Makes the mapcharacter physically leave an area previously occupied * with occupy (). * * The given parameters are considered to be where * the mapcharacter's base square were be. * * @param smap submap where to leave. * @param px X position where to leave. * @param py Y position where to leave. */ void leave (u_int16 smap, u_int16 px, u_int16 py); void leave_position (); /** * Sets the position of the mapcharacter on the map. * * This sets the mapcharacter's position to the parameters, * and occupy () the corresponding region. * * @warning Don't forget to leave () the region when moving! * * @param smap index of the submap where the mapcharacter should be. * @param x X position on the submap. * @param y Y position on the submap. */ void set_pos (u_int16 smap, u_int16 x, u_int16 y); /** * Updates the movment of the mapcharacter. * */ void update_move (); /** * Path used for the mapcharacter to have realistic movments. * */ path mypath; /** * Used to count the position on the path * */ u_int16 pathindex; u_int16 current_move; u_int16 previous_move; u_int16 submap_; u_int16 posx_, posy_; s_int8 offx_, offy_; vector anim; landmap *refmap; py_object schedule; py_object action; string filename_; text_bubble * saying; bool schedule_activated; bool action_activated; bool goal_reached_; PyObject * schedule_args; PyObject * action_args; string schedule_file_; string action_file_; py_callback *callback; #ifndef SWIG friend class landmap; #endif }; #endif adonthell-0.3.5/src/mapobject.cc0000644000076500000240000000772207507051530013464 00000000000000/* $Id: mapobject.cc,v 1.6 2002/06/28 12:15:20 gnurou Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapobject.cc * * @author Alexandre Courbot * @brief Defines the mapobject class. */ #include "mapobject.h" using namespace std; // Public methods. mapobject::mapobject () : mapsquare_walkable_area () { clear (); } mapobject::~mapobject () { clear (); } void mapobject::clear () { vector ::iterator i; for (i = anim.begin (); i != anim.end (); i++) delete (*i); anim.clear (); mapsquare_walkable_area::clear (); } bool mapobject::update () { vector ::iterator i; for (i = anim.begin (); i != anim.end (); i++) (*i)->update (); return true; } void mapobject::draw (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target) const { vector ::iterator i; for (i = anim.begin (); i != anim.end (); i++) (*i)->draw (x, y, da_opt, target); } void mapobject::draw_from_base (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target) const { draw (x - base_x () * MAPSQUARE_SIZE, y - base_y () * MAPSQUARE_SIZE, da_opt, target); } s_int8 mapobject::get (igzstream & file) { u_int16 i; u_int16 nbr_of_parts; if (!fileops::get_version (file, 1, 1, "")) return -1; // Clear everything. clear (); // Read all the animations. nbr_of_parts << file; for (i = 0; i < nbr_of_parts; i++) { anim.push_back (new animation); anim.back ()->get (file); anim.back ()->play (); } mapsquare_walkable_area::get (file); return 0; } s_int8 mapobject::load (string fname) { igzstream file; s_int8 retvalue = -1; string fdef = MAPOBJECTS_DIR; fdef += fname; file.open (fdef); if (!file.is_open ()) return -1; retvalue = get (file); file.close (); return retvalue; } s_int8 mapobject::put (ogzstream & file) const { u_int16 i; fileops::put_version (file, 1); // Write all the animations. nbr_of_animations () >> file; for (i = 0; i < nbr_of_animations (); i++) { anim[i]->put (file); } mapsquare_walkable_area::put (file); return 0; } s_int8 mapobject::save (string fname) const { ogzstream file; s_int8 retvalue = -1; string fdef = MAPOBJECTS_DIR; fdef += fname; file.open (fdef); if (!file.is_open ()) return -1; retvalue = put (file); file.close (); return retvalue; } s_int8 mapobject::insert_animation (animation * an, u_int16 pos) { vector ::iterator i; if (pos > nbr_of_animations ()) return -2; i = anim.begin (); while (pos--) i++; anim.insert (i, an); an->play (); return 0; } s_int8 mapobject::delete_animation (u_int16 pos) { vector ::iterator i; if (pos > nbr_of_animations () - 1) return -2; i = anim.begin (); while (pos--) i++; anim.erase (i); return 0; } mapobject & mapobject::operator = (const mapobject & src) { // Clear everything. clear (); // Copy the area. (mapsquare_walkable_area&) (*this) = (mapsquare_walkable_area&) src; // Copy all animations. vector ::iterator it; for (it = ((mapobject&) src).anim.begin (); it != ((mapobject&) src).anim.end (); it++) { animation * an = new animation; *an = *(*it); insert_animation (an, nbr_of_animations ()); } return *this; } adonthell-0.3.5/src/mapobject.h0000644000076500000240000001370307330620751013323 00000000000000/* $Id: mapobject.h,v 1.13 2001/07/28 20:34:49 gnurou Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapobject.h * * @author Alexandre Courbot * @brief Declares the mapobject class. */ #ifndef _MAPOBJECT_H #define _MAPOBJECT_H #include "animation.h" #include "mapsquare_walkable.h" /// Where the mapobjects resides in the data tree. #define MAPOBJECTS_DIR "gfx/mapobjects/" /** * Objects that can be placed on a landmap. * * A mapobject is basically a set of animations. Each animation can be freely * placed on a resizeable grid which represents the actual land where the * object will be placed. This grid also has information about the walkability * of it's squares, which will be repercuted on the landmap as soon as the * object is placed. * */ class mapobject : public mapsquare_walkable_area { public: /** * Default constructor. * */ mapobject (); /** * Destructor. * */ ~mapobject (); /** * Resets the mapobject to its post-constructor state. * */ void clear (); /** * @name State updating. * */ //@{ /** * Updates the mapobject's state. * */ bool update (); //@} /** * @name Drawing methods. * */ //@{ void draw (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const; /** * Similar to draw (), but assume the x and y parameters are where the base * square should appear. * * @param x X position where to draw. * @param y Y position where to draw. * @param da_opt optional drawing_area to use during the drawing operation. * @param target pointer to the surface where to draw the drawable. If NULL, draw on the screen. */ void draw_from_base (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const; //@} /** * @name Loading/saving methods. * * @note You can't save a mapobject with this class. * */ //@{ /** * Loads a mapobject from an opened file. * @param file the opened file from which to load. * @return 0 in case of success, error code otherwise. * */ s_int8 get (igzstream & file); /** * Loads a mapobject from it's filename. * * @param fname the name of the file to load. * * @return 0 in case of success, error code otherwise. */ s_int8 load (string fname); /** Saves an mapobject into an opened file, in %game format, with * alpha and mask values. * @warning as the mapobject which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving mapobjects with full * truecolor quality, use mapobject_edit instead. * @param file opened file where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa save () */ s_int8 put (ogzstream& file) const; /** Saves an mapobject into an file, in %game format, with * alpha and mask values. * @warning as the mapobject which is saved comes from a %screen's depth * surface, it will be slightly altered during the save. * If you want a class capable of saving mapobjects with full * truecolor quality, use mapobject_edit instead. * @param fname file name where to save into. * @return * @li 0 in case of success. * @li -1 in case of error. * @sa put () */ s_int8 save (string fname) const; //@} /** * @name Individual animations manipulation. * */ //@{ /** * Returns the number of animations of this mapobject. * * * @return the number of animations of this mapobject. */ u_int16 nbr_of_animations () const { return anim.size (); } /** * Returns a pointer to one of the mapobject's animations. * * @param nbr index of the animation to get. * * @return pointer to the nbr animation. */ animation *get_animation (u_int16 nbr) { return anim[nbr]; } /** * Inserts an animation at a given position of the animations array. * * The mapobject will be responsible for freeing the inserted animation. * * @param an pointer to the animation to add. * @param pos index where to add the animation. * * @return 0 in case of success, error code otherwise. */ s_int8 insert_animation (animation * an, u_int16 pos); /** * Removes an animation at a given position. * The animation itself will also be deleted (). * * @param pos The index of the animation to remove. * * @return 0 in case of success, error code otherwise. */ s_int8 delete_animation (u_int16 pos); //@} #ifndef SWIG /** * Mapobject copy (similar to copy ()). * * @attention Not available from Python. Use copy () from Python instead. * @sa copy () */ mapobject & operator = (const mapobject & mo); #endif /** * Synonym of operator = to guarantee its access from Python. * * @sa operator = */ void copy (const mapobject& src) { *this = src; } private: /** * Forbid value passing. * */ mapobject (mapobject &src); mutable vector anim; }; #endif adonthell-0.3.5/src/mapsquare.cc0000644000076500000240000001632707343116161013517 00000000000000/* $Id: mapsquare.cc,v 1.8 2001/08/29 07:40:33 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapsquare.cc * @author Alexandre Courbot * * @brief Defines the mapsquare and mapsquare_area classes. * * */ #include "mapsquare.h" #include "mapobject.h" #include "mapcharacter.h" mapsquare_tile::mapsquare_tile () { mapobj = NULL; is_base = false; } mapsquare_tile::~mapsquare_tile () { } mapsquare_char::mapsquare_char () { mchar = NULL; is_base = false; } mapsquare_char::~mapsquare_char () { } mapsquare::mapsquare () : mapsquare_walkable () { base_begin = tiles.end (); can_use_for_pathfinding = true; } mapsquare::mapsquare (const mapsquare& src) : mapsquare_walkable () { tiles = src.tiles; mapchars = src.mapchars; // Correctly place the base tile square's base tile pointer. list ::iterator it; for (it = tiles.begin (); it != tiles.end () && *(it->base_tile) < *it; it++); base_begin = it; can_use_for_pathfinding = src.can_use_for_pathfinding; } mapsquare::~mapsquare () { } bool mapsquare::is_free () { list ::iterator i; for (i = mapchars.begin (); i != mapchars.end (); i++) if (i->is_base) return false; return true; } mapcharacter * mapsquare::whoshere () { list ::iterator i; for (i = mapchars.begin (); i != mapchars.end (); i++) if (i->is_base) return i->mchar; return NULL; } mapsquare_area::mapsquare_area () { } mapsquare_area::~mapsquare_area () { } void mapsquare_area::clear () { area.clear (); } s_int8 mapsquare_area::put_mapobject (u_int16 px, u_int16 py, mapobject * mobj) { u_int16 i, j; mapsquare_tile t; list ::iterator it; // Calculating where the object will start and end on the map. u_int16 i0 = px - mobj->base_x () < 0 ? 0 : px - mobj->base_x (); u_int16 j0 = py - mobj->base_y () < 0 ? 0 : py - mobj->base_y (); u_int16 ie = px + (mobj->area_length ()) - mobj->base_x () > area_length () ? area_length () : px + (mobj->area_length ()) - mobj->base_x (); u_int16 je = py + (mobj->area_height ()) - mobj->base_y () > area_height () ? area_height () : py + (mobj->area_height ()) - mobj->base_y (); // Offset between square's position on the map and on the object. s_int16 xoff = mobj->base_x () - px; s_int16 yoff = mobj->base_y () - py; // First place the base tile, as others refers to it... t.mapobj = mobj; t.is_base = true; t.x = px; t.y = py; // The iterator will be inserted AFTER all the others base tiles. // Doing so, this object will be drawn last on this square. for (it = area[px][py].tiles.begin (); it != area[px][py].tiles.end () && *(it->base_tile) <= t; it++); area[px][py].tiles.insert (it, t); it--; it->base_tile = it; // Update t so it refers to the base tile t.base_tile = it; t.is_base = false; // Now place the others tiles. for (j = j0; j < je; j++) for (i = i0; i < ie; i++) { mapsquare & s = area[i][j]; t.x = i; t.y = j; s.set_walkable (s.get_walkable () & mobj->get_square (i + xoff, j + yoff)->get_walkable ()); if (i != px || j != py) { for (it = s.tiles.begin (); it != s.tiles.end () && *(it->base_tile) <= *(t.base_tile); it++); s.tiles.insert (it, t); } } // Correctly place the base tile square's base tile pointer. for (it = area[px][py].tiles.begin (); it != area[px][py].tiles.end () && *(it->base_tile) < *it; it++); area[px][py].base_begin = it; return 0; } void mapsquare_area::remove_mapobject (u_int16 px, u_int16 py, mapobject * mobj) { u_int16 i, j; list ::iterator it; // Calculating where the object will start and end on the map. u_int16 i0 = px - mobj->base_x () < 0 ? 0 : px - mobj->base_x (); u_int16 j0 = py - mobj->base_y () < 0 ? 0 : py - mobj->base_y (); u_int16 ie = px + (mobj->area_length ()) - mobj->base_x () > area_length () ? area_length () : px + (mobj->area_length ()) - mobj->base_x (); u_int16 je = py + (mobj->area_height ()) - mobj->base_y () > area_height () ? area_height () : py + (mobj->area_height ()) - mobj->base_y (); // Find the base tile, get it's reference (to remove others). for (it = area[px][py].tiles.begin (); it != area[px][py].tiles.end () && !(it->is_base == true && it->mapobj == mobj); it++); // Base tile not found - better to return now... if (it == area[px][py].tiles.end ()) return; // Keep the iterator available for further comparison list ::iterator the_base = it; // And now erase all the others tiles of this object. for (j = j0; j < je; j++) for (i = i0; i < ie; i++) { if (i != px || j != py) { mapsquare & s = area[i][j]; for (it = s.tiles.begin (); it != s.tiles.end () && it->base_tile != the_base; it++); // Not found?? Weird - let's not mess with it then! if (it == s.tiles.end ()) continue; s.tiles.erase (it); // Recalculate the walkability of this square. s.set_walkable (ALL_WALKABLE); for (it = s.tiles.begin (); it != s.tiles.end (); it++) { u_int16 wx = it->x - (it->base_tile->x - it->mapobj->base_x ()); u_int16 wy = it->y - (it->base_tile->y - it->mapobj->base_y ()); s.set_walkable (s.get_walkable () & it->mapobj->get_square (wx, wy)->get_walkable ()); } } } mapsquare & s = area[px][py]; // Erase the base tile s.tiles.erase (the_base); // Recalculate the walkability of this square. s.set_walkable (ALL_WALKABLE); for (it = s.tiles.begin (); it != s.tiles.end (); it++) { u_int16 wx = it->x - (it->base_tile->x - it->mapobj->base_x ()); u_int16 wy = it->y - (it->base_tile->y - it->mapobj->base_y ()); s.set_walkable (s.get_walkable () & it->mapobj->get_square (wx, wy)->get_walkable ()); } } void mapsquare_area::resize_area (u_int16 nl, u_int16 nh) { vector >::iterator i; area.resize (nl); for (i = area.begin (); i != area.end (); i++) i->resize (nh); u_int16 j, k; for (j = 0; j < nl; j++) for (k = 0; k < nh; k++) { area[j][k].x_ = j; area[j][k].y_ = k; } } adonthell-0.3.5/src/mapsquare.h0000644000076500000240000002622507626252732013370 00000000000000/* $Id: mapsquare.h,v 1.13 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapsquare.h * @author Alexandre Courbot * * @brief Declares the mapsquare and mapsquare_area classes. * * */ #ifndef MAPSQUARE_H_ #define MAPSQUARE_H_ #include #include "mapsquare_walkable.h" class mapobject; class mapcharacter; /** * Contains informations about the position of an object on a map. * * Objects of this class has no reason to exist outside of a mapsquare. * You'll NEVER want to manipulate this class directly - only mapsquare, * mapsquare_area and landmap will. */ class mapsquare_tile { public: /** * Default constructor. */ mapsquare_tile (); /** * Destructor. */ ~mapsquare_tile (); #ifndef SWIG /** * Compare the location on the landsubmap of two mapsquare_tiles. * A mapsquare_tile is < to another if it's Y position is < to the other * one's or if it's Y position == the other one's and it's X position is * < to the other one's. * * @attention Not available from Python. * * @sa operator <= () * @sa operator == () */ bool operator < (const mapsquare_tile & mt) { return (mt.y > y || (mt.y == y && mt.x > x)); } /** * Compare the location on the landsubmap of two mapsquare_tiles. * A mapsquare_tile is <= to another if it's Y position is < to the other * one's or if it's Y position == the other one's and it's X position is * <= to the other one's. * * @attention Not available from Python. * * @sa operator < () * @sa operator == () */ bool operator <= (const mapsquare_tile & mt) { return (mt.y > y || (mt.y == y && mt.x >= x)); } /** * Compare the location on the landsubmap of two mapsquare_tiles. * A mapsquare_tile is == to another if their X and Y position are * equal. * * @attention Not available from Python. * * @sa operator < () * @sa operator <= () */ bool operator == (const mapsquare_tile & mt) { return (mt.y == y && mt.x == x); } #endif private: /// Pointer to the object here. mapobject * mapobj; /// Is this mapsquare_tile a base square? bool is_base; #ifndef SWIG /// Iterator to the base tile of this mapsquare_tile. list ::iterator base_tile; #endif /// x and y positions. u_int16 x, y; #ifndef SWIG friend class mapsquare; friend class mapsquare_area; friend class landmap; friend class mapview; #endif }; /** * Contains informations about the position of a character on a map. * * Objects of this class has no reason to exist outside of a mapsquare. * You'll NEVER want to manipulate this class directly - only mapsquare, * mapsquare_area and landmap will. */ class mapsquare_char { public: /** * Default constructor. */ mapsquare_char (); /** * Destructor. */ ~mapsquare_char (); #ifndef SWIG /** * Compare the location on the landsubmap of two mapsquare_chars. * A mapsquare_char is < to another if it's Y position is < to the other * one's or if it's Y position == the other one's and it's X position is * < to the other one's. * @sa operator <= () * @sa operator == () */ bool operator < (const mapsquare_char & mt) { return (mt.y > y || (mt.y == y && mt.x > x)); } /** * Compare the location on the landsubmap of two mapsquare_chars. * A mapsquare_char is <= to another if it's Y position is < to the other * one's or if it's Y position == the other one's and it's X position is * <= to the other one's. * @sa operator < () * @sa operator == () */ bool operator <= (const mapsquare_char & mt) { return (mt.y > y || (mt.y == y && mt.x >= x)); } /** * Compare the location on the landsubmap of two mapsquare_chars. * A mapsquare_char is == to another if their X and Y position are * equal. * @sa operator < () * @sa operator <= () */ bool operator == (const mapsquare_char & mt) { return (mt.y == y && mt.x == x); } #endif private: /// Pointer to the mapcharacter concerned by this mapchar_square. mapcharacter *mchar; /// Is it the base tile? bool is_base; /// Is this mapsquare_tile walkable? bool walkable; #ifndef SWIG /// Iterator to the base tile of this mapsquare_char. list ::iterator base_tile; #endif /// x and y positions. u_int16 x, y; #ifndef SWIG friend class mapcharacter; friend class mapsquare; friend class landmap; friend class mapview; #endif }; /** * Base unit of a landsubmap, where you can place mapobjects or mapcharacters. * A landsubmap is a 2 dimensionnal array of mapsquares. When a mapobject is * placed on a landsubmap, it belongs to one or several mapsquares. A mapsquare * is made of a list of mapsquare_tiles, containing informations about the objects * that are on it, and a list of mapsquare_char, which informs about the mapcharacters * here. This make it possible to have several mapobjects * and mapcharacters on the same mapsquare. * * These two lists are sorted by the position of the object or mapcharacter's base square * on the map. This make it fast to iterate through the lists during drawing, as we always * want to iterate the list in this order. */ class mapsquare : public mapsquare_walkable { public: /** * Default constructor. * */ mapsquare (); #ifndef SWIG /** * Copy constructor. * */ mapsquare (const mapsquare& src); #endif /** * Destructor. * */ ~mapsquare (); /** * Returns the X position of this mapsquare. * * * @return X position of this mapsquare. */ u_int16 x () { return x_; } /** * Returns the Y position of this mapsquare. * * * @return Y position of this mapsquare. */ u_int16 y () { return y_; } /** * Returns whether the mapsquare is free for a character to go on or not. * It only checks if a mapcharacter is already here. It doesn't deal with the * walkable problem. * @return * - false if the mapsquare isn't free. * - true if the mapsquare is free. */ bool is_free (); /** * Return a pointer to the mapcharacter that occupies this mapsquare. * * @return pointer to the mapcharacter that occupies the mapsquare, NULL if none. */ mapcharacter *whoshere (); /** * @name Pathfinding data members. * * These members are here to allow faster and more efficient * pathfinding. Though they can as well be used for something else, * but their value isn't guaranteed to stay constant. It is safe * to modify them however, so they are public and uninitialised. * */ //@{ /** * Distance from the source square. * */ u_int16 g; /** * Estimated distance to the goal square. * */ u_int16 h; /** * Sum of g + h. * */ u_int16 f; /** * Parent square for the path * */ mapsquare * parent; /** * If == false, then this square will never be considered * as walkable by pathfinding functions. * */ bool can_use_for_pathfinding; //@} private: #ifndef SWIG /// List of mapsquare_tiles. list tiles; /// Iterator to where the base tiles begin. /// This serves as an "accelerator" for mapview::draw () which /// can go directly to the base tiles of a squares with this /// iterator. list ::iterator base_begin; /// List of mapsquare_chars. list mapchars; /// Coordinates of the square. u_int16 x_, y_; friend class mapcharacter; friend class mapsquare_area; friend class landmap; friend class mapview; #endif }; // mapsquare /** * Area of mapsquares, for use with landmap. * * This class has no reason to exist is not belonging * to a landmap. You'll NEVER use this class directly - * anyway you can't do anything usefull with it alone. * */ class mapsquare_area { public: /** * Default constructor. * */ mapsquare_area (); /** * Destructor. * */ ~mapsquare_area (); /** * Totally clears the area. * */ void clear (); /** * @name Area settings * */ //@{ /** * Returns the length of the area. * * @return length (in number of squares) of the area. * */ u_int16 area_length () const { return area.size (); } /** * Returns the height of the area. * * @return height (in number of squares) of the area. * */ u_int16 area_height () const { if (area.size ()) return area[0].size (); else return 0; } /** * Returns a pointer to a desired square. * * @param x X position of the square to get. * @param y Y position of the square to get. * * @return pointer to the (x,y) square. */ mapsquare * get_square (u_int16 x, u_int16 y) const { return &(area[x][y]); } /** * Resize the area. * * @param nl new length (in number of squares) of the area. * @param nh new height (in number of squares) of the area. */ void resize_area (u_int16 nl, u_int16 nh); //@} private: /** * Forbids value passing. * */ mapsquare_area (const mapsquare_area& src); #ifndef SWIG /** * Forbids mapsquare_area copy. * */ mapsquare_area & operator = (const mapsquare_area & mo); #endif /** * Place a mapobject on the submap. * * @param px X position of the base square of the object. * @param py Y position of the base square of the object. * @param mobj pointer to the mapobject to remove. */ s_int8 put_mapobject (u_int16 px, u_int16 py, mapobject * mobj); /** * Remove a mapobject from the submap. * * @param px X position of the base square of the object. * @param py Y position of the base square of the object. * @param mobj pointer to the mapobject to remove. */ void remove_mapobject (u_int16 px, u_int16 py, mapobject * mobj); /** * 2 dimensionnal array of mapsquares - the actual map * */ #ifndef SWIG mutable vector > area; friend class mapcharacter; friend class mapview; friend class landmap; #endif }; #endif adonthell-0.3.5/src/mapsquare_walkable.cc0000644000076500000240000000640207545362456015370 00000000000000/* $Id: mapsquare_walkable.cc,v 1.3 2002/09/28 17:21:50 ksterker Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapsquare_walkable.cc * @author Alexandre Courbot * * @brief Defines the mapsquare_walkable and mapsquare_walkable_area classes. * * */ #include "mapsquare_walkable.h" mapsquare_walkable::mapsquare_walkable () { set_walkable (ALL_WALKABLE); } s_int8 mapsquare_walkable::get (igzstream& file) { walkable << file; return 0; } s_int8 mapsquare_walkable::put (ogzstream& file) const { walkable >> file; return 0; } mapsquare_walkable_area::mapsquare_walkable_area () { basex = 0; basey = 0; } mapsquare_walkable_area::~mapsquare_walkable_area () { } void mapsquare_walkable_area::clear () { area.clear (); basex = 0; basey = 0; } s_int8 mapsquare_walkable_area::get (igzstream& file) { vector >::iterator it; vector ::iterator jt; u_int16 t_length, t_height; u_int16 basex_, basey_; // Get the area size. t_length << file; t_height << file; resize_area (t_length, t_height); // Load the area. for (it = area.begin (); it != area.end (); it++) for (jt = it->begin (); jt < it->end (); jt++) jt->get (file); // Load the base square information. basex_ << file; basey_ << file; set_base (basex_, basey_); return 0; } s_int8 mapsquare_walkable_area::put (ogzstream& file) const { vector >::iterator it; vector ::iterator jt; // Put the area size. area_length () >> file; area_height () >> file; // Save the area. for (it = area.begin (); it != area.end (); it++) for (jt = it->begin (); jt < it->end (); jt++) jt->put (file); // Save the base square information. base_x () >> file; base_y () >> file; return 0; } void mapsquare_walkable_area::resize_area (u_int16 nl, u_int16 nh) { vector >::iterator i; area.resize (nl); for (i = area.begin (); i != area.end (); i++) i->resize (nh); set_length (nl * MAPSQUARE_SIZE); set_height (nh * MAPSQUARE_SIZE); } void mapsquare_walkable_area::set_base (u_int16 nx, u_int16 ny) { basex = nx; basey = ny; } mapsquare_walkable_area & mapsquare_walkable_area::operator = (const mapsquare_walkable_area & src) { u_int16 i, j; // Clear everything. clear (); (drawable&) (*this) = (drawable&) src; // Copy the area. resize_area (src.area_length (), src.area_height ()); for (i = 0; i < src.area_length (); i++) for (j = 0; j < src.area_height (); j++) area[i][j] = src.area[i][j]; // Copy the base square information. set_base (src.base_x (), src.base_y ()); return *this; } adonthell-0.3.5/src/mapsquare_walkable.h0000644000076500000240000002002307322135701015205 00000000000000/* $Id: mapsquare_walkable.h,v 1.1 2001/07/08 20:00:01 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapsquare_walkable.h * @author Alexandre Courbot * * @brief Declares the mapsquare_walkable and mapsquare_walkable_area classes. * * */ #ifndef MAPSQUARE_WALKABLE_H_ #define MAPSQUARE_WALKABLE_H_ #include "fileops.h" #include "drawable.h" #include /** * Size of a mapsquare (in pixels). * */ const u_int16 MAPSQUARE_SIZE = 20; /** * Walkable from every side. * */ #define ALL_WALKABLE 15 /** * Walkable from South. * */ #define WALKABLE_SOUTH 1 /** * Walkable from North. * */ #define WALKABLE_NORTH 2 /** * Walkable from East. * */ #define WALKABLE_EAST 4 /** * Walkable from West. * */ #define WALKABLE_WEST 8 /** * Unreachable. * */ #define NONE_WALKABLE 0 /** * Contains information about the walkability of a mapsquare. * */ class mapsquare_walkable { public: /** * Default constructor. * */ mapsquare_walkable(); /** * Loads a mapsquare_walkable from an opened file. * * @param file the file to load from. * * @return 0 in case of success, error code otherwise. */ s_int8 get (igzstream& file); /** * Puts a mapsquare_walkable into an opened file. * * @param file the file where to save. * * @return 0 in case of success, error code otherwise. */ s_int8 put (ogzstream& file) const; /** * Returns whether a mapsquare is walkable from west. * * * @return true if the mapsquare is walkable from west, false otherwise. */ bool is_walkable_west () const { return walkable & WALKABLE_WEST; } /** * Returns whether a mapsquare is walkable from east. * * * @return true if the mapsquare is walkable from east, false otherwise. */ bool is_walkable_east () const { return walkable & WALKABLE_EAST; } /** * Returns whether a mapsquare is walkable from north. * * * @return true if the mapsquare is walkable from north, false otherwise. */ bool is_walkable_north () const { return walkable & WALKABLE_NORTH; } /** * Returns whether a mapsquare is walkable from south. * * * @return true if the mapsquare is walkable from south, false otherwise. */ bool is_walkable_south () const { return walkable & WALKABLE_SOUTH; } /** * Sets the reachability from west of a mapsquare. * * @param w true if the mapsquare should be reachable from west, false otherwise. */ void set_walkable_west (bool w) { if (!w) walkable &= (ALL_WALKABLE - WALKABLE_WEST); else walkable |= WALKABLE_WEST; } /** * Sets the reachability from east of a mapsquare. * * @param w true if the mapsquare should be reachable from east, false otherwise. */ void set_walkable_east (bool w) { if (!w) walkable &= (ALL_WALKABLE - WALKABLE_EAST); else walkable |= WALKABLE_EAST; } /** * Sets the reachability from north of a mapsquare. * * @param w true if the mapsquare should be reachable from north, false otherwise. */ void set_walkable_north (bool w) { if (!w) walkable &= (ALL_WALKABLE - WALKABLE_NORTH); else walkable |= WALKABLE_NORTH; } /** * Sets the reachability from south of a mapsquare. * * @param w true if the mapsquare should be reachable from south, false otherwise. */ void set_walkable_south (bool w) { if (!w) walkable &= (ALL_WALKABLE - WALKABLE_SOUTH); else walkable |= WALKABLE_SOUTH; } /** * Gets the raw walkable parameter of a mapsquare. * * @return walkable parameter of this mapsquare. */ u_int8 get_walkable () const { return walkable; } /** * Sets the walkable parameter of a mapsquare. * * @param w new walkable status. */ void set_walkable (u_int8 w) { walkable = w; } private: u_int8 walkable; }; /** * Area of mapsquare_walkables, for use with mapcharacter and mapobject classes. * */ class mapsquare_walkable_area : public drawable { public: /** * Default constructor. * */ mapsquare_walkable_area (); /** * Destructor. * */ ~mapsquare_walkable_area (); /** * Totally clears the area. * */ void clear (); virtual void draw (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const = 0; /** * @name Area settings. * */ //@{ /** * Returns the length of the area. * * @return length (in number of squares) of the area. * */ u_int16 area_length () const { return area.size (); } /** * Returns the height of the area. * * @return height (in number of squares) of the area. * */ u_int16 area_height () const { if (area.size ()) return area[0].size (); else return 0; } /** * Returns a pointer to a desired square. * * @param x X position of the square to get. * @param y Y position of the square to get. * * @return pointer to the (x,y) square. */ mapsquare_walkable * get_square (u_int16 x, u_int16 y) const { return &(area[x][y]); } /** * Resize the area. * * @param nl new length (in number of squares) of the area. * @param nh new height (in number of squares) of the area. */ void resize_area (u_int16 nl, u_int16 nh); //@} /** * @name Base square settings. * */ //@{ /** * Returns the X offset of the base square of this object. * * * @return X offset of the base square. */ u_int16 base_x () const { return basex; } /** * Returns the Y offset of the base square of this object. * * * @return Y offset of the base square. */ u_int16 base_y () const { return basey; } /** * Sets the base square of this object. * * @param nx X offset of the new base square. * @param ny Y offset of the new base square. */ void set_base (u_int16 nx, u_int16 ny); //@} /** * Loads an area from an opened file. * @param file the opened file from which to load. * @return 0 in case of success, error code otherwise. * */ s_int8 get (igzstream & file); /** * Saves an area into an opened file. * @param file the opened file where to write. * @return 0 in case of success, error code otherwise. * */ s_int8 put (ogzstream & file) const; #ifndef SWIG /** * Area copy (similar to copy ()). * * @attention Not available from Python. Use copy () from Python instead. * @sa copy () */ mapsquare_walkable_area & operator = (const mapsquare_walkable_area & mo); #endif /** * Synonym of operator = to guarantee its access from Python. * * @sa operator = */ void copy (const mapsquare_walkable_area& src) { *this = src; } private: /** * Forbids value passing. * */ mapsquare_walkable_area (const mapsquare_walkable_area & src); mutable vector > area; u_int16 basex; u_int16 basey; }; #endif adonthell-0.3.5/src/mapview.cc0000644000076500000240000004147711003420707013165 00000000000000/* $Id: mapview.cc,v 1.16 2008/04/22 17:35:03 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapview.cc * @author Alexandre Courbot * * @brief Defines the mapview class. * * */ #include "mapview.h" #include mapview::mapview () : da () { drawable::set_length (0); drawable::set_height (0); d_length = d_height = currentsubmap_ = posx_ = posy_ = 0; m_map = NULL; offx_ = offy_ = 0; schedule_args = NULL; } mapview::~mapview () { detach_map (); Py_XDECREF (schedule_args); } void mapview::attach_map (landmap * m) { m_map = m; set_pos (0, 0, 0); } void mapview::detach_map () { if (!m_map) return; m_map = NULL; } s_int8 mapview::set_pos (u_int16 sm, u_int16 px, u_int16 py, s_int16 ox, s_int16 oy) { currentsubmap_ = sm; mapsquare_area * ms = m_map->submap[sm]; s_int32 tpx = px * MAPSQUARE_SIZE + ox; s_int32 tpy = py * MAPSQUARE_SIZE + oy; if (tpx + length () > ms->area_length () * MAPSQUARE_SIZE) tpx = ms->area_length () * MAPSQUARE_SIZE - length (); if (tpy + height () > ms->area_height () * MAPSQUARE_SIZE) tpy = ms->area_height () * MAPSQUARE_SIZE - height (); if (tpx < 0) tpx = 0; if (tpy < 0) tpy = 0; px = tpx / MAPSQUARE_SIZE; py = tpy / MAPSQUARE_SIZE; ox = tpx % MAPSQUARE_SIZE; oy = tpy % MAPSQUARE_SIZE; posx_ = px; posy_ = py; offx_ = ox; offy_ = oy; return 0; } s_int8 mapview::center_on (u_int16 sm, u_int16 px, u_int16 py, s_int16 ox, s_int16 oy) { s_int32 tpx = px * MAPSQUARE_SIZE + ox - ((length () - MAPSQUARE_SIZE) >> 1); s_int32 tpy = py * MAPSQUARE_SIZE + oy - ((height () - MAPSQUARE_SIZE) >> 1); if (tpx < 0) tpx = 0; if (tpy < 0) tpy = 0; s_int16 npx = tpx / MAPSQUARE_SIZE; s_int16 npy = tpy / MAPSQUARE_SIZE; s_int16 nox = tpx % MAPSQUARE_SIZE; s_int16 noy = tpy % MAPSQUARE_SIZE; return set_pos (sm, npx, npy, nox, noy); } void mapview::scroll_right () { if (!can_scroll_right ()) return; if (offx_ == MAPSQUARE_SIZE - 1) { offx_ = 0; posx_++; } else offx_++; } void mapview::scroll_left () { if (!can_scroll_left ()) return; if (offx_ == 0) { offx_ = MAPSQUARE_SIZE - 1; posx_--; } else offx_--; } void mapview::scroll_down () { if (!can_scroll_down ()) return; if (offy_ == MAPSQUARE_SIZE - 1) { offy_ = 0; posy_++; } else offy_++; } void mapview::scroll_up () { if (!can_scroll_up ()) return; if (offy_ == 0) { offy_ = MAPSQUARE_SIZE - 1; posy_--; } else offy_--; } void mapview::resize (u_int16 l, u_int16 h) { drawable::set_length (l); drawable::set_height (h); d_length = (l / MAPSQUARE_SIZE) + (l % MAPSQUARE_SIZE != 0); d_height = (h / MAPSQUARE_SIZE) + (h % MAPSQUARE_SIZE != 0); da.resize (length (), height ()); } s_int8 mapview::get_state (igzstream& file) { u_int16 a, b, c, d, sm; string t; bool bo; // Read the mapview's dimensions // Length and height a << file; b << file; resize (a, b); // Currentsubmap sm << file; // Position on map a << file; b << file; c << file; d << file; set_pos (sm, a, b, c, d); // Schedule state PyObject * args = NULL; t << file; bo << file; if (bo) args = python::get_tuple (file); set_schedule (t, args); Py_XDECREF (args); return 0; } s_int8 mapview::put_state (ogzstream& file) { u_int16 b; // Write the mapview's dimensions b = length (); b >> file; b = height (); b >> file; currentsubmap_ >> file; // Position posx_ >> file; posy_ >> file; offx_ >> file; offy_ >> file; // Write the mapview's schedule state schedule_file () >> file; if (schedule_args) { true >> file; python::put_tuple (schedule_args, file); } else false >> file; return 0; } void mapview::set_schedule (string file, PyObject * args) { if (file == "") { schedule.clear (); Py_XDECREF (schedule_args); schedule_args = NULL; } else { Py_XINCREF (args); schedule_args = args; u_int16 argssize = args == NULL ? 1 : PyTuple_Size (args) + 1; PyObject * theargs; theargs = PyTuple_New (argssize); // We can pass_instance directly 'cause PyTuple_SetItem steals a // reference to the result of pass_instance. PyTuple_SetItem (theargs, 0, python::pass_instance (this, "mapview")); for (u_int16 i = 1; i < argssize; i++) { PyObject * intref = PyTuple_GetItem (args, i - 1); Py_INCREF (intref); PyTuple_SetItem (theargs, i, intref); } schedule.create_instance ("schedules.mapviews." + file, file, theargs); Py_DECREF (theargs); } schedule_file_ = file; } bool mapview::update () { schedule.run (); return true; } void mapview::draw (s_int16 x, s_int16 y, const drawing_area * da_opt, surface *target) const { static u_int16 i, j; static u_int16 i0, j0, ie, je; static list ::iterator it; static list ::iterator itc; static list ::iterator itb; static mapsquare_area *l; static u_int16 offx, offy; static list critical_draw; static list characters_draw; static list bubbles_draw; if (!m_map) return; static SDL_Rect trect; static drawing_area tda; da.move (x, y); if (da_opt) da.assign_drawing_area (da_opt); trect = da.setup_rects (); tda = trect; l = m_map->submap[currentsubmap_]; if (!l->area_length () || !l->area_height ()) return; i0 = posx_; j0 = posy_; ie = i0 + d_length + (offx_ != 0) < l->area_length () ? i0 + d_length + (offx_ != 0) : l->area_length (); je = j0 + d_height + (offy_ != 0) < l->area_height () ? j0 + d_height + (offy_ != 0) : l->area_height (); offx = l->area_length () * MAPSQUARE_SIZE < length () ? (length () - l->area_length () * MAPSQUARE_SIZE) >> 1 : 0; offy = l->area_height () * MAPSQUARE_SIZE < height () ? (height () - l->area_height () * MAPSQUARE_SIZE) >> 1 : 0; x += offx; y += offy; // 1st horizontal parse to check top overflows // Top-left corner for (it = l->area[i0][j0].tiles.begin (); it != l->area[i0][j0].tiles.end () && *(it->base_tile) < *it; it++) if (it->x > it->base_tile->x && it->y > it->base_tile->y) critical_draw.push_back (*(it->base_tile)); for (itc = l->area[i0][j0].mapchars.begin (); itc != l->area[i0][j0].mapchars.end (); itc++) if (itc->x > itc->base_tile->x && itc->y > itc->base_tile->y) characters_draw.push_back (*itc); // Top line for (i = i0; i < ie && i < l->area_length (); i++) { for (it = l->area[i][j0].tiles.begin (); it != l->area[i][j0].tiles.end (); it++) if (it->x == it->base_tile->x && it->y > it->base_tile->y) critical_draw.push_back (*(it->base_tile)); for (itc = l->area[i][j0].mapchars.begin (); itc != l->area[i][j0].mapchars.end (); itc++) if (itc->x == itc->base_tile->x && itc->y > itc->base_tile->y) characters_draw.push_back (*itc); } // Top right corner for (it = l->area[ie - 1][j0].tiles.begin (); it != l->area[ie - 1][j0].tiles.end (); it++) if (it->x < it->base_tile->x && it->y > it->base_tile->y) critical_draw.push_back (*(it->base_tile)); for (itc = l->area[ie - 1][j0].mapchars.begin (); itc != l->area[ie - 1][j0].mapchars.end (); itc++) if (itc->x < itc->base_tile->x && itc->y > itc->base_tile->y) characters_draw.push_back (*itc); // Drawing characters and top overflowing gfx critical_draw.sort (); characters_draw.sort (); it = critical_draw.begin (); itc = characters_draw.begin (); while (itc != characters_draw.end () || it != critical_draw.end ()) { if (itc != characters_draw.end ()) { if (it != critical_draw.end ()) { if (it->base_tile->y <= itc->base_tile->y) { draw_tile (x, y, &tda, target, it); it++; } else { draw_mapchar (x, y, &tda, target, itc); if (itc->mchar->is_speaking ()) bubbles_draw.push_back (itc->mchar); itc++; } } else { draw_mapchar (x, y, &tda, target, itc); if (itc->mchar->is_speaking ()) bubbles_draw.push_back (itc->mchar); itc++; } } else { draw_tile (x, y, &tda, target, it); it++; } } critical_draw.clear (); characters_draw.clear (); // Now drawing objects without any top or bottom overflow for (j = j0; j < je; j++) { // Left overflow for (it = l->area[i0][j].tiles.begin (); it != l->area[i0][j].tiles.end () && *(it->base_tile) <= *it; it++) if (it->y == it->base_tile->y && it->x > it->base_tile->x) draw_tile (x, y, &tda, target, it); for (itc = l->area[i0][j].mapchars.begin (); itc != l->area[i0][j].mapchars.end (); itc++) if (itc->y == itc->base_tile->y && itc->x > itc->base_tile->x) characters_draw.push_back (*itc); // Objects which base tile is visible on the map view for (i = i0; i < ie; i++) { for (it = l->area[i][j].base_begin; it != l->area[i][j].tiles.end () && *(it->base_tile) < *it; it++); for (; it != l->area[i][j].tiles.end () && *(it->base_tile) == *it; it++) draw_tile (x, y, &tda, target, it); for (itc = l->area[i][j].mapchars.begin (); itc != l->area[i][j].mapchars.end (); itc++) if (*itc == *(itc->base_tile) && itc->x == itc->mchar->posx () && itc->y == itc->mchar->posy ()) characters_draw.push_back (*itc); } // Right overflow for (it = l->area[ie - 1][j].tiles.begin (); it != l->area[ie - 1][j].tiles.end (); it++) if (it->y == it->base_tile->y && it->x < it->base_tile->x) draw_tile (x, y, &tda, target, it); for (itc = l->area[ie - 1][j].mapchars.begin (); itc != l->area[ie - 1][j].mapchars.end (); itc++) if (itc->y == itc->base_tile->y && itc->x < itc->base_tile->x) characters_draw.push_back (*itc); // Drawing characters for (itc = characters_draw.begin (); itc != characters_draw.end (); itc++) { draw_mapchar (x, y, &tda, target, itc); if (itc->mchar->is_speaking ()) bubbles_draw.push_back (itc->mchar); } characters_draw.clear (); } // Last horizontal parse to check bottom overflows // Bottom left overflow if (!l->area[i0][je - 1].tiles.empty ()) for (it = --l->area[i0][je - 1].tiles.end (); it->y < it->base_tile->y; it--) { if (it->x > it->base_tile->x && it->y < it->base_tile->y) critical_draw.push_front (*(it->base_tile)); if (it == l->area[i0][je - 1].tiles.begin ()) break; } for (itc = l->area[i0][je - 1].mapchars.begin (); itc != l->area[i0][je - 1].mapchars.end (); itc++) if (itc->x > itc->base_tile->x && itc->y < itc->base_tile->y) characters_draw.push_back (*itc); // Bottom line for (i = i0; i < ie && i < l->area_length (); i++) { if (!l->area[i][je - 1].tiles.empty ()) for (it = --l->area[i][je - 1].tiles.end (); it->y < it->base_tile->y; it--) { if (it->x == it->base_tile->x && it->y < it->base_tile->y) critical_draw.push_front (*(it->base_tile)); if (it == l->area[i][je - 1].tiles.begin ()) break; } for (itc = l->area[i][je - 1].mapchars.begin (); itc != l->area[i][je - 1].mapchars.end (); itc++) { if (itc->x == itc->base_tile->x && itc->y < itc->base_tile->y) { characters_draw.push_back (*itc); } } } // Bottom right corner if (!l->area[ie - 1][je - 1].tiles.empty ()) for (it = --l->area[ie - 1][je - 1].tiles.end (); it->y < it->base_tile->y; it--) { if (it->x < it->base_tile->x && it->y < it->base_tile->y) critical_draw.push_front (*(it->base_tile)); if (it == l->area[ie - 1][je - 1].tiles.begin ()) break; } for (itc = l->area[ie - 1][je - 1].mapchars.begin (); itc != l->area[ie - 1][je - 1].mapchars.end (); itc++) if (itc->x < itc->base_tile->x && itc->y < itc->base_tile->y) characters_draw.push_back (*itc); // Drawing characters and bottom overflowing gfx critical_draw.sort (); characters_draw.sort (); it = critical_draw.begin (); itc = characters_draw.begin (); while (itc != characters_draw.end () || it != critical_draw.end ()) { if (itc != characters_draw.end ()) { if (it != critical_draw.end ()) { if (it->base_tile->y <= itc->base_tile->y) { draw_tile (x, y, &tda, target, it); it++; } else { draw_mapchar (x, y, &tda, target, itc); if (itc->mchar->is_speaking ()) bubbles_draw.push_back (itc->mchar); itc++; } } else { draw_mapchar (x, y, &tda, target, itc); if (itc->mchar->is_speaking ()) bubbles_draw.push_back (itc->mchar); itc++; } } else { draw_tile (x, y, &tda, target, it); it++; } } for (itb = bubbles_draw.begin (); itb != bubbles_draw.end (); itb++) draw_bubble (x, y, &tda, target, itb); critical_draw.clear (); characters_draw.clear (); bubbles_draw.clear (); if (da_opt) da.detach_drawing_area (); } // Private methods void mapview::draw_tile (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target, list::iterator it) const { it->mapobj->draw_from_base ((it->base_tile->x - posx_) * MAPSQUARE_SIZE - offx_ + x, (it->base_tile->y - posy_) * MAPSQUARE_SIZE - offy_ + y, da_opt, target); } void mapview::draw_mapchar (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target, list::iterator itc) const { u_int16 xdraw = ((itc->mchar->posx () - posx_ - itc->mchar->base_x ()) * MAPSQUARE_SIZE) + itc->mchar->offx () - offx_ + x; u_int16 ydraw = ((itc->mchar->posy () - posy_ - itc->mchar->base_y ()) * MAPSQUARE_SIZE) + itc->mchar->offy () - offy_ + y; itc->mchar->draw (xdraw, ydraw, da_opt, target); } void mapview::draw_bubble (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target, list::iterator itc) const { u_int16 xdraw = (((*itc)->posx () - posx_ - (*itc)->base_x ()) * MAPSQUARE_SIZE) + (*itc)->offx () - offx_ + x; u_int16 ydraw = (((*itc)->posy () - posy_ - (*itc)->base_y ()) * MAPSQUARE_SIZE) + (*itc)->offy () - offy_ + y; (*itc)->draw_bubble (xdraw, ydraw, da_opt, target); } adonthell-0.3.5/src/mapview.h0000644000076500000240000001763707626252732013051 00000000000000/* $Id: mapview.h,v 1.29 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 1999/2000/2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file mapview.h * @author Alexandre Courbot * * @brief Declares the mapview class. * * */ #ifndef MAPVIEW_H_ #define MAPVIEW_H_ #include "landmap.h" #include "python_class.h" /** * Allows you to display a landmap on a specified area of a surface. * * This class just acts as a "camera" which takes snapshots of a landmap. * It's size can be specified, a schedule can be set to * update it's movment. Nothing prevents you from having several mapviews * on the same map that displays each a different (or similar) part of the * landmap. * */ class mapview : public drawable { public: /** * Default constructor. * */ mapview (); /** * Destructor. * */ ~mapview (); /** * Attach/Detach a map * */ //@{ /** * Sets which map this mapview will display. * * @param m pointer to the map that will be displayed by the mapview. */ void attach_map (landmap * m); /** * Stops displaying a map. * */ void detach_map (); //@} /** * Position settings * */ //@{ /** * Sets the position of the top-left corner of the mapview on the map. * * You'll probably don't want to use this method. To center the mapview * on a precise position, see center_on () instead. * * @param sm submap. * @param x X position. * @param y Y position. * @param ox X offset. * @param oy Y offset. * * @sa center_on () * */ s_int8 set_pos (u_int16 sm, u_int16 x, u_int16 y, s_int16 ox = 0, s_int16 oy = 0); /** * Sets the position of the center of the mapview on the map. * * @param sm submap. * @param x X position. * @param y Y position. * @param ox X offset. * @param oy Y offset. * */ s_int8 center_on (u_int16 sm, u_int16 x, u_int16 y, s_int16 ox = 0, s_int16 oy = 0); //@} /** * Position information * */ //@{ /** * Returns the submap this mapview is displaying. * * * @return current submap this mapview is displaying. */ u_int16 currentsubmap () { return currentsubmap_; } /** * Returns the X position of the mapview. * * * @return X position of the mapview. */ u_int16 posx () const { return posx_; } /** * Returns the Y position of the mapview. * * * @return Y position of the mapview. */ u_int16 posy () const { return posy_; } /** * Returns the X offset of the mapview. * * * @return X offset of the mapview. */ u_int16 offx () const { return offx_; } /** * Returns the Y offset of the mapview. * * * @return Y offset of the mapview. */ u_int16 offy () const { return offy_; } //@} /** * Basic movment * */ //@{ /** * Returns whether it is possible to scroll to right. A scrolling is impossible * if the mapview is at the map limits. * * * @return true if a right scrolling is possible, false otherwise. */ bool can_scroll_right () { s_int32 tpx = posx () * MAPSQUARE_SIZE + offx () + length (); return (tpx < m_map->submap[currentsubmap_]->area_length () * MAPSQUARE_SIZE); } /** * Returns whether it is possible to scroll to left. A scrolling is impossible * if the mapview is at the map limits. * * * @return true if a left scrolling is possible, false otherwise. */ bool can_scroll_left () { return (posx_ || offx_); } /** * Returns whether it is possible to scroll to up. A scrolling is impossible * if the mapview is at the map limits. * * * @return true if a up scrolling is possible, false otherwise. */ bool can_scroll_up () { return (posy_ || offy_); } /** * Returns whether it is possible to scroll to down. A scrolling is impossible * if the mapview is at the map limits. * * * @return true if a down scrolling is possible, false otherwise. */ bool can_scroll_down () { s_int32 tpy = posy () * MAPSQUARE_SIZE + offy () + height (); return (tpy < m_map->submap[currentsubmap_]->area_height () * MAPSQUARE_SIZE); } /** * Scrolls 1 pixel to right, if possible. * */ void scroll_right (); /** * Scrolls 1 pixel to left, if possible. * */ void scroll_left (); /** * Scrolls 1 pixel to down, if possible. * */ void scroll_down (); /** * Scrolls 1 pixel to up, if possible. * */ void scroll_up (); //@} /** * State saving/loading * */ //@{ /** * Restore the mapview's state from an opened file. * * @param file the opened file from which to load the state. * * @return 0 in case of success, error code otherwise. */ s_int8 get_state (igzstream& file); /** * Saves the mapview's state into an opened file. * * @param file the opened file where to the state. * * @return 0 in case of success, error code otherwise. */ s_int8 put_state (ogzstream& file); //@} /** * Resize the mapview. The parameters are given in pixels. * * @param l new length. * @param h new height. */ void resize (u_int16 l, u_int16 h); /** * Assign a schedule to the mapview. * * The schedule's filename will be \e "scripts/schedules/mapviews/.py". * * @param file name of the schedule to use. * @param args Python tuple containing extra arguments passed to the class constructor. * * @warning the args tuple argument MUST ONLY contain strings or integers, as it will * be saved with the mapcharacter state by python::put_tuple (). * */ void set_schedule (string file, PyObject * args = NULL); /** * Returns the name of the mapview's current schedule. * * * @return name of the mapview's current schedule. */ string schedule_file () { return schedule_file_; } /** * Updates the mapview's state and launchs his schedule. * */ bool update (); void draw (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface *target = NULL) const; private: /** * Forbid value passing. */ mapview (const mapview& src); #ifndef SWIG void draw_tile (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target, list::iterator it) const; void draw_mapchar (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target, list::iterator itc) const; void draw_bubble (s_int16 x, s_int16 y, const drawing_area * da_opt, surface * target, list::iterator itc) const; #endif landmap *m_map; u_int16 d_length, d_height; // size of the view in map squares u_int16 currentsubmap_; u_int16 posx_, posy_; u_int16 offx_, offy_; mutable drawing_area da; py_object schedule; PyObject * schedule_args; string schedule_file_; }; #endif adonthell-0.3.5/src/modules/0000777000076500000240000000000011017604072012731 500000000000000adonthell-0.3.5/src/modules/adonthell.py0000644000076500000240000030227411017574537015215 00000000000000# This file was automatically generated by SWIG (http://www.swig.org). # Version 1.3.31 # # Don't modify this file, modify the SWIG interface instead. import _adonthell import new new_instancemethod = new.instancemethod try: _swig_property = property except NameError: pass # Python < 2.2 doesn't have 'property'. def _swig_setattr_nondynamic(self,class_type,name,value,static=1): if (name == "thisown"): return self.this.own(value) if (name == "this"): if type(value).__name__ == 'PySwigObject': self.__dict__[name] = value return method = class_type.__swig_setmethods__.get(name,None) if method: return method(self,value) if (not static) or hasattr(self,name): self.__dict__[name] = value else: raise AttributeError("You cannot add attributes to %s" % self) def _swig_setattr(self,class_type,name,value): return _swig_setattr_nondynamic(self,class_type,name,value,0) def _swig_getattr(self,class_type,name): if (name == "thisown"): return self.this.own() method = class_type.__swig_getmethods__.get(name,None) if method: return method(self) raise AttributeError,name def _swig_repr(self): try: strthis = "proxy of " + self.this.__repr__() except: strthis = "" return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,) import types try: _object = types.ObjectType _newclass = 1 except AttributeError: class _object : pass _newclass = 0 del types def _swig_setattr_nondynamic_method(set): def set_attr(self,name,value): if (name == "thisown"): return self.this.own(value) if hasattr(self,name) or (name == "this"): set(self,name,value) else: raise AttributeError("You cannot add attributes to %s" % self) return set_attr Python = _adonthell.Python C = _adonthell.C READ = _adonthell.READ WRITE = _adonthell.WRITE class gz_file(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_gz_file(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_gz_file __del__ = lambda self : None; def open(*args): return _adonthell.gz_file_open(*args) def close(*args): return _adonthell.gz_file_close(*args) def is_open(*args): return _adonthell.gz_file_is_open(*args) def eof(*args): return _adonthell.gz_file_eof(*args) gz_file_swigregister = _adonthell.gz_file_swigregister gz_file_swigregister(gz_file) class igzstream(gz_file): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_igzstream(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_igzstream __del__ = lambda self : None; def open(*args): return _adonthell.igzstream_open(*args) def get_block(*args): return _adonthell.igzstream_get_block(*args) def get_bool(*args): return _adonthell.igzstream_get_bool(*args) def get_uint8(*args): return _adonthell.igzstream_get_uint8(*args) def get_sint8(*args): return _adonthell.igzstream_get_sint8(*args) def get_uint16(*args): return _adonthell.igzstream_get_uint16(*args) def get_sint16(*args): return _adonthell.igzstream_get_sint16(*args) def get_uint32(*args): return _adonthell.igzstream_get_uint32(*args) def get_sint32(*args): return _adonthell.igzstream_get_sint32(*args) def get_string(*args): return _adonthell.igzstream_get_string(*args) def get_float(*args): return _adonthell.igzstream_get_float(*args) igzstream_swigregister = _adonthell.igzstream_swigregister igzstream_swigregister(igzstream) class ogzstream(gz_file): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_ogzstream(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_ogzstream __del__ = lambda self : None; def open(*args): return _adonthell.ogzstream_open(*args) def put_block(*args): return _adonthell.ogzstream_put_block(*args) def put_bool(*args): return _adonthell.ogzstream_put_bool(*args) def put_uint8(*args): return _adonthell.ogzstream_put_uint8(*args) def put_sint8(*args): return _adonthell.ogzstream_put_sint8(*args) def put_uint16(*args): return _adonthell.ogzstream_put_uint16(*args) def put_sint16(*args): return _adonthell.ogzstream_put_sint16(*args) def put_uint32(*args): return _adonthell.ogzstream_put_uint32(*args) def put_sint32(*args): return _adonthell.ogzstream_put_sint32(*args) def put_string(*args): return _adonthell.ogzstream_put_string(*args) def put_float(*args): return _adonthell.ogzstream_put_float(*args) ogzstream_swigregister = _adonthell.ogzstream_swigregister ogzstream_swigregister(ogzstream) class fileops(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr put_version = staticmethod(_adonthell.fileops_put_version) get_version = staticmethod(_adonthell.fileops_get_version) def __init__(self, *args): this = _adonthell.new_fileops(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_fileops __del__ = lambda self : None; fileops_swigregister = _adonthell.fileops_swigregister fileops_swigregister(fileops) fileops_put_version = _adonthell.fileops_put_version fileops_get_version = _adonthell.fileops_get_version EVENTS_DIR = _adonthell.EVENTS_DIR class event(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') def __init__(self): raise AttributeError, "No constructor defined" __repr__ = _swig_repr __swig_destroy__ = _adonthell.delete_event __del__ = lambda self : None; def clear(*args): return _adonthell.event_clear(*args) def type(*args): return _adonthell.event_type(*args) def id(*args): return _adonthell.event_id(*args) def set_id(*args): return _adonthell.event_set_id(*args) def registered(*args): return _adonthell.event_registered(*args) def repeat(*args): return _adonthell.event_repeat(*args) def set_repeat(*args): return _adonthell.event_set_repeat(*args) def execute(*args): return _adonthell.event_execute(*args) def equals(*args): return _adonthell.event_equals(*args) def set_script(*args): return _adonthell.event_set_script(*args) def set_callback(*args): return _adonthell.event_set_callback(*args) def pause(*args): return _adonthell.event_pause(*args) def resume(*args): return _adonthell.event_resume(*args) def is_paused(*args): return _adonthell.event_is_paused(*args) def put_state(*args): return _adonthell.event_put_state(*args) def get_state(*args): return _adonthell.event_get_state(*args) event_swigregister = _adonthell.event_swigregister event_swigregister(event) class event_list(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_event_list(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_event_list __del__ = lambda self : None; def clear(*args): return _adonthell.event_list_clear(*args) def add_event(*args): return _adonthell.event_list_add_event(*args) def remove_event(*args): return _adonthell.event_list_remove_event(*args) def get_event(*args): return _adonthell.event_list_get_event(*args) def pause(*args): return _adonthell.event_list_pause(*args) def resume(*args): return _adonthell.event_list_resume(*args) def is_paused(*args): return _adonthell.event_list_is_paused(*args) def put_state(*args): return _adonthell.event_list_put_state(*args) def get_state(*args): return _adonthell.event_list_get_state(*args) event_list_swigregister = _adonthell.event_list_swigregister event_list_swigregister(event_list) class time_event(event): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_time_event(*args) try: self.this.append(this) except: self.this = this def set_repeat(*args): return _adonthell.time_event_set_repeat(*args) def equals(*args): return _adonthell.time_event_equals(*args) def execute(*args): return _adonthell.time_event_execute(*args) def put_state(*args): return _adonthell.time_event_put_state(*args) def get_state(*args): return _adonthell.time_event_get_state(*args) def pause(*args): return _adonthell.time_event_pause(*args) def resume(*args): return _adonthell.time_event_resume(*args) def time(*args): return _adonthell.time_event_time(*args) __swig_destroy__ = _adonthell.delete_time_event __del__ = lambda self : None; time_event_swigregister = _adonthell.time_event_swigregister time_event_swigregister(time_event) class map_event(event): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_map_event(*args) try: self.this.append(this) except: self.this = this def put_state(*args): return _adonthell.map_event_put_state(*args) def get_state(*args): return _adonthell.map_event_get_state(*args) submap = _swig_property(_adonthell.map_event_submap_get, _adonthell.map_event_submap_set) x = _swig_property(_adonthell.map_event_x_get, _adonthell.map_event_x_set) y = _swig_property(_adonthell.map_event_y_get, _adonthell.map_event_y_set) dir = _swig_property(_adonthell.map_event_dir_get, _adonthell.map_event_dir_set) map = _swig_property(_adonthell.map_event_map_get, _adonthell.map_event_map_set) c = _swig_property(_adonthell.map_event_c_get, _adonthell.map_event_c_set) def equals(*args): return _adonthell.map_event_equals(*args) def execute(*args): return _adonthell.map_event_execute(*args) __swig_destroy__ = _adonthell.delete_map_event __del__ = lambda self : None; map_event_swigregister = _adonthell.map_event_swigregister map_event_swigregister(map_event) class enter_event(map_event): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_enter_event(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_enter_event __del__ = lambda self : None; enter_event_swigregister = _adonthell.enter_event_swigregister enter_event_swigregister(enter_event) class leave_event(map_event): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_leave_event(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_leave_event __del__ = lambda self : None; leave_event_swigregister = _adonthell.leave_event_swigregister leave_event_swigregister(leave_event) class action_event(map_event): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_action_event(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_action_event __del__ = lambda self : None; action_event_swigregister = _adonthell.action_event_swigregister action_event_swigregister(action_event) class event_handler(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr init = staticmethod(_adonthell.event_handler_init) cleanup = staticmethod(_adonthell.event_handler_cleanup) remove_event = staticmethod(_adonthell.event_handler_remove_event) raise_event = staticmethod(_adonthell.event_handler_raise_event) def __init__(self, *args): this = _adonthell.new_event_handler(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_event_handler __del__ = lambda self : None; event_handler_swigregister = _adonthell.event_handler_swigregister event_handler_swigregister(event_handler) event_handler_init = _adonthell.event_handler_init event_handler_cleanup = _adonthell.event_handler_cleanup event_handler_remove_event = _adonthell.event_handler_remove_event event_handler_raise_event = _adonthell.event_handler_raise_event class storage(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_storage(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_storage __del__ = lambda self : None; def set_val(*args): return _adonthell.storage_set_val(*args) def get_val(*args): return _adonthell.storage_get_val(*args) def next(*args): return _adonthell.storage_next(*args) storage_swigregister = _adonthell.storage_swigregister storage_swigregister(storage) class objects(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_objects(*args) try: self.this.append(this) except: self.this = this def set_val(*args): return _adonthell.objects_set_val(*args) def get_val(*args): return _adonthell.objects_get_val(*args) def erase(*args): return _adonthell.objects_erase(*args) def next(*args): return _adonthell.objects_next(*args) __swig_destroy__ = _adonthell.delete_objects __del__ = lambda self : None; objects_swigregister = _adonthell.objects_swigregister objects_swigregister(objects) CYCLE_LENGTH = _adonthell.CYCLE_LENGTH FRAME_RATE = _adonthell.FRAME_RATE FTS_LIMIT = _adonthell.FTS_LIMIT class gametime(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr init = staticmethod(_adonthell.gametime_init) minute = staticmethod(_adonthell.gametime_minute) start_action = staticmethod(_adonthell.gametime_start_action) stop_action = staticmethod(_adonthell.gametime_stop_action) frames_to_skip = staticmethod(_adonthell.gametime_frames_to_skip) update = staticmethod(_adonthell.gametime_update) def __init__(self, *args): this = _adonthell.new_gametime(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_gametime __del__ = lambda self : None; gametime_swigregister = _adonthell.gametime_swigregister gametime_swigregister(gametime) gametime_init = _adonthell.gametime_init gametime_minute = _adonthell.gametime_minute gametime_start_action = _adonthell.gametime_start_action gametime_stop_action = _adonthell.gametime_stop_action gametime_frames_to_skip = _adonthell.gametime_frames_to_skip gametime_update = _adonthell.gametime_update class gamedate(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr update = staticmethod(_adonthell.gamedate_update) time = staticmethod(_adonthell.gamedate_time) weekday = staticmethod(_adonthell.gamedate_weekday) day = staticmethod(_adonthell.gamedate_day) hour = staticmethod(_adonthell.gamedate_hour) minute = staticmethod(_adonthell.gamedate_minute) parse_time = staticmethod(_adonthell.gamedate_parse_time) get_state = staticmethod(_adonthell.gamedate_get_state) put_state = staticmethod(_adonthell.gamedate_put_state) def __init__(self, *args): this = _adonthell.new_gamedate(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_gamedate __del__ = lambda self : None; gamedate_swigregister = _adonthell.gamedate_swigregister gamedate_swigregister(gamedate) gamedate_update = _adonthell.gamedate_update gamedate_time = _adonthell.gamedate_time gamedate_weekday = _adonthell.gamedate_weekday gamedate_day = _adonthell.gamedate_day gamedate_hour = _adonthell.gamedate_hour gamedate_minute = _adonthell.gamedate_minute gamedate_parse_time = _adonthell.gamedate_parse_time gamedate_get_state = _adonthell.gamedate_get_state gamedate_put_state = _adonthell.gamedate_put_state SDLK_UNKNOWN = _adonthell.SDLK_UNKNOWN SDLK_FIRST = _adonthell.SDLK_FIRST SDLK_BACKSPACE = _adonthell.SDLK_BACKSPACE SDLK_TAB = _adonthell.SDLK_TAB SDLK_CLEAR = _adonthell.SDLK_CLEAR SDLK_RETURN = _adonthell.SDLK_RETURN SDLK_PAUSE = _adonthell.SDLK_PAUSE SDLK_ESCAPE = _adonthell.SDLK_ESCAPE SDLK_SPACE = _adonthell.SDLK_SPACE SDLK_EXCLAIM = _adonthell.SDLK_EXCLAIM SDLK_QUOTEDBL = _adonthell.SDLK_QUOTEDBL SDLK_HASH = _adonthell.SDLK_HASH SDLK_DOLLAR = _adonthell.SDLK_DOLLAR SDLK_AMPERSAND = _adonthell.SDLK_AMPERSAND SDLK_QUOTE = _adonthell.SDLK_QUOTE SDLK_LEFTPAREN = _adonthell.SDLK_LEFTPAREN SDLK_RIGHTPAREN = _adonthell.SDLK_RIGHTPAREN SDLK_ASTERISK = _adonthell.SDLK_ASTERISK SDLK_PLUS = _adonthell.SDLK_PLUS SDLK_COMMA = _adonthell.SDLK_COMMA SDLK_MINUS = _adonthell.SDLK_MINUS SDLK_PERIOD = _adonthell.SDLK_PERIOD SDLK_SLASH = _adonthell.SDLK_SLASH SDLK_0 = _adonthell.SDLK_0 SDLK_1 = _adonthell.SDLK_1 SDLK_2 = _adonthell.SDLK_2 SDLK_3 = _adonthell.SDLK_3 SDLK_4 = _adonthell.SDLK_4 SDLK_5 = _adonthell.SDLK_5 SDLK_6 = _adonthell.SDLK_6 SDLK_7 = _adonthell.SDLK_7 SDLK_8 = _adonthell.SDLK_8 SDLK_9 = _adonthell.SDLK_9 SDLK_COLON = _adonthell.SDLK_COLON SDLK_SEMICOLON = _adonthell.SDLK_SEMICOLON SDLK_LESS = _adonthell.SDLK_LESS SDLK_EQUALS = _adonthell.SDLK_EQUALS SDLK_GREATER = _adonthell.SDLK_GREATER SDLK_QUESTION = _adonthell.SDLK_QUESTION SDLK_AT = _adonthell.SDLK_AT SDLK_LEFTBRACKET = _adonthell.SDLK_LEFTBRACKET SDLK_BACKSLASH = _adonthell.SDLK_BACKSLASH SDLK_RIGHTBRACKET = _adonthell.SDLK_RIGHTBRACKET SDLK_CARET = _adonthell.SDLK_CARET SDLK_UNDERSCORE = _adonthell.SDLK_UNDERSCORE SDLK_BACKQUOTE = _adonthell.SDLK_BACKQUOTE SDLK_a = _adonthell.SDLK_a SDLK_b = _adonthell.SDLK_b SDLK_c = _adonthell.SDLK_c SDLK_d = _adonthell.SDLK_d SDLK_e = _adonthell.SDLK_e SDLK_f = _adonthell.SDLK_f SDLK_g = _adonthell.SDLK_g SDLK_h = _adonthell.SDLK_h SDLK_i = _adonthell.SDLK_i SDLK_j = _adonthell.SDLK_j SDLK_k = _adonthell.SDLK_k SDLK_l = _adonthell.SDLK_l SDLK_m = _adonthell.SDLK_m SDLK_n = _adonthell.SDLK_n SDLK_o = _adonthell.SDLK_o SDLK_p = _adonthell.SDLK_p SDLK_q = _adonthell.SDLK_q SDLK_r = _adonthell.SDLK_r SDLK_s = _adonthell.SDLK_s SDLK_t = _adonthell.SDLK_t SDLK_u = _adonthell.SDLK_u SDLK_v = _adonthell.SDLK_v SDLK_w = _adonthell.SDLK_w SDLK_x = _adonthell.SDLK_x SDLK_y = _adonthell.SDLK_y SDLK_z = _adonthell.SDLK_z SDLK_DELETE = _adonthell.SDLK_DELETE SDLK_WORLD_0 = _adonthell.SDLK_WORLD_0 SDLK_WORLD_1 = _adonthell.SDLK_WORLD_1 SDLK_WORLD_2 = _adonthell.SDLK_WORLD_2 SDLK_WORLD_3 = _adonthell.SDLK_WORLD_3 SDLK_WORLD_4 = _adonthell.SDLK_WORLD_4 SDLK_WORLD_5 = _adonthell.SDLK_WORLD_5 SDLK_WORLD_6 = _adonthell.SDLK_WORLD_6 SDLK_WORLD_7 = _adonthell.SDLK_WORLD_7 SDLK_WORLD_8 = _adonthell.SDLK_WORLD_8 SDLK_WORLD_9 = _adonthell.SDLK_WORLD_9 SDLK_WORLD_10 = _adonthell.SDLK_WORLD_10 SDLK_WORLD_11 = _adonthell.SDLK_WORLD_11 SDLK_WORLD_12 = _adonthell.SDLK_WORLD_12 SDLK_WORLD_13 = _adonthell.SDLK_WORLD_13 SDLK_WORLD_14 = _adonthell.SDLK_WORLD_14 SDLK_WORLD_15 = _adonthell.SDLK_WORLD_15 SDLK_WORLD_16 = _adonthell.SDLK_WORLD_16 SDLK_WORLD_17 = _adonthell.SDLK_WORLD_17 SDLK_WORLD_18 = _adonthell.SDLK_WORLD_18 SDLK_WORLD_19 = _adonthell.SDLK_WORLD_19 SDLK_WORLD_20 = _adonthell.SDLK_WORLD_20 SDLK_WORLD_21 = _adonthell.SDLK_WORLD_21 SDLK_WORLD_22 = _adonthell.SDLK_WORLD_22 SDLK_WORLD_23 = _adonthell.SDLK_WORLD_23 SDLK_WORLD_24 = _adonthell.SDLK_WORLD_24 SDLK_WORLD_25 = _adonthell.SDLK_WORLD_25 SDLK_WORLD_26 = _adonthell.SDLK_WORLD_26 SDLK_WORLD_27 = _adonthell.SDLK_WORLD_27 SDLK_WORLD_28 = _adonthell.SDLK_WORLD_28 SDLK_WORLD_29 = _adonthell.SDLK_WORLD_29 SDLK_WORLD_30 = _adonthell.SDLK_WORLD_30 SDLK_WORLD_31 = _adonthell.SDLK_WORLD_31 SDLK_WORLD_32 = _adonthell.SDLK_WORLD_32 SDLK_WORLD_33 = _adonthell.SDLK_WORLD_33 SDLK_WORLD_34 = _adonthell.SDLK_WORLD_34 SDLK_WORLD_35 = _adonthell.SDLK_WORLD_35 SDLK_WORLD_36 = _adonthell.SDLK_WORLD_36 SDLK_WORLD_37 = _adonthell.SDLK_WORLD_37 SDLK_WORLD_38 = _adonthell.SDLK_WORLD_38 SDLK_WORLD_39 = _adonthell.SDLK_WORLD_39 SDLK_WORLD_40 = _adonthell.SDLK_WORLD_40 SDLK_WORLD_41 = _adonthell.SDLK_WORLD_41 SDLK_WORLD_42 = _adonthell.SDLK_WORLD_42 SDLK_WORLD_43 = _adonthell.SDLK_WORLD_43 SDLK_WORLD_44 = _adonthell.SDLK_WORLD_44 SDLK_WORLD_45 = _adonthell.SDLK_WORLD_45 SDLK_WORLD_46 = _adonthell.SDLK_WORLD_46 SDLK_WORLD_47 = _adonthell.SDLK_WORLD_47 SDLK_WORLD_48 = _adonthell.SDLK_WORLD_48 SDLK_WORLD_49 = _adonthell.SDLK_WORLD_49 SDLK_WORLD_50 = _adonthell.SDLK_WORLD_50 SDLK_WORLD_51 = _adonthell.SDLK_WORLD_51 SDLK_WORLD_52 = _adonthell.SDLK_WORLD_52 SDLK_WORLD_53 = _adonthell.SDLK_WORLD_53 SDLK_WORLD_54 = _adonthell.SDLK_WORLD_54 SDLK_WORLD_55 = _adonthell.SDLK_WORLD_55 SDLK_WORLD_56 = _adonthell.SDLK_WORLD_56 SDLK_WORLD_57 = _adonthell.SDLK_WORLD_57 SDLK_WORLD_58 = _adonthell.SDLK_WORLD_58 SDLK_WORLD_59 = _adonthell.SDLK_WORLD_59 SDLK_WORLD_60 = _adonthell.SDLK_WORLD_60 SDLK_WORLD_61 = _adonthell.SDLK_WORLD_61 SDLK_WORLD_62 = _adonthell.SDLK_WORLD_62 SDLK_WORLD_63 = _adonthell.SDLK_WORLD_63 SDLK_WORLD_64 = _adonthell.SDLK_WORLD_64 SDLK_WORLD_65 = _adonthell.SDLK_WORLD_65 SDLK_WORLD_66 = _adonthell.SDLK_WORLD_66 SDLK_WORLD_67 = _adonthell.SDLK_WORLD_67 SDLK_WORLD_68 = _adonthell.SDLK_WORLD_68 SDLK_WORLD_69 = _adonthell.SDLK_WORLD_69 SDLK_WORLD_70 = _adonthell.SDLK_WORLD_70 SDLK_WORLD_71 = _adonthell.SDLK_WORLD_71 SDLK_WORLD_72 = _adonthell.SDLK_WORLD_72 SDLK_WORLD_73 = _adonthell.SDLK_WORLD_73 SDLK_WORLD_74 = _adonthell.SDLK_WORLD_74 SDLK_WORLD_75 = _adonthell.SDLK_WORLD_75 SDLK_WORLD_76 = _adonthell.SDLK_WORLD_76 SDLK_WORLD_77 = _adonthell.SDLK_WORLD_77 SDLK_WORLD_78 = _adonthell.SDLK_WORLD_78 SDLK_WORLD_79 = _adonthell.SDLK_WORLD_79 SDLK_WORLD_80 = _adonthell.SDLK_WORLD_80 SDLK_WORLD_81 = _adonthell.SDLK_WORLD_81 SDLK_WORLD_82 = _adonthell.SDLK_WORLD_82 SDLK_WORLD_83 = _adonthell.SDLK_WORLD_83 SDLK_WORLD_84 = _adonthell.SDLK_WORLD_84 SDLK_WORLD_85 = _adonthell.SDLK_WORLD_85 SDLK_WORLD_86 = _adonthell.SDLK_WORLD_86 SDLK_WORLD_87 = _adonthell.SDLK_WORLD_87 SDLK_WORLD_88 = _adonthell.SDLK_WORLD_88 SDLK_WORLD_89 = _adonthell.SDLK_WORLD_89 SDLK_WORLD_90 = _adonthell.SDLK_WORLD_90 SDLK_WORLD_91 = _adonthell.SDLK_WORLD_91 SDLK_WORLD_92 = _adonthell.SDLK_WORLD_92 SDLK_WORLD_93 = _adonthell.SDLK_WORLD_93 SDLK_WORLD_94 = _adonthell.SDLK_WORLD_94 SDLK_WORLD_95 = _adonthell.SDLK_WORLD_95 SDLK_KP0 = _adonthell.SDLK_KP0 SDLK_KP1 = _adonthell.SDLK_KP1 SDLK_KP2 = _adonthell.SDLK_KP2 SDLK_KP3 = _adonthell.SDLK_KP3 SDLK_KP4 = _adonthell.SDLK_KP4 SDLK_KP5 = _adonthell.SDLK_KP5 SDLK_KP6 = _adonthell.SDLK_KP6 SDLK_KP7 = _adonthell.SDLK_KP7 SDLK_KP8 = _adonthell.SDLK_KP8 SDLK_KP9 = _adonthell.SDLK_KP9 SDLK_KP_PERIOD = _adonthell.SDLK_KP_PERIOD SDLK_KP_DIVIDE = _adonthell.SDLK_KP_DIVIDE SDLK_KP_MULTIPLY = _adonthell.SDLK_KP_MULTIPLY SDLK_KP_MINUS = _adonthell.SDLK_KP_MINUS SDLK_KP_PLUS = _adonthell.SDLK_KP_PLUS SDLK_KP_ENTER = _adonthell.SDLK_KP_ENTER SDLK_KP_EQUALS = _adonthell.SDLK_KP_EQUALS SDLK_UP = _adonthell.SDLK_UP SDLK_DOWN = _adonthell.SDLK_DOWN SDLK_RIGHT = _adonthell.SDLK_RIGHT SDLK_LEFT = _adonthell.SDLK_LEFT SDLK_INSERT = _adonthell.SDLK_INSERT SDLK_HOME = _adonthell.SDLK_HOME SDLK_END = _adonthell.SDLK_END SDLK_PAGEUP = _adonthell.SDLK_PAGEUP SDLK_PAGEDOWN = _adonthell.SDLK_PAGEDOWN SDLK_F1 = _adonthell.SDLK_F1 SDLK_F2 = _adonthell.SDLK_F2 SDLK_F3 = _adonthell.SDLK_F3 SDLK_F4 = _adonthell.SDLK_F4 SDLK_F5 = _adonthell.SDLK_F5 SDLK_F6 = _adonthell.SDLK_F6 SDLK_F7 = _adonthell.SDLK_F7 SDLK_F8 = _adonthell.SDLK_F8 SDLK_F9 = _adonthell.SDLK_F9 SDLK_F10 = _adonthell.SDLK_F10 SDLK_F11 = _adonthell.SDLK_F11 SDLK_F12 = _adonthell.SDLK_F12 SDLK_F13 = _adonthell.SDLK_F13 SDLK_F14 = _adonthell.SDLK_F14 SDLK_F15 = _adonthell.SDLK_F15 SDLK_NUMLOCK = _adonthell.SDLK_NUMLOCK SDLK_CAPSLOCK = _adonthell.SDLK_CAPSLOCK SDLK_SCROLLOCK = _adonthell.SDLK_SCROLLOCK SDLK_RSHIFT = _adonthell.SDLK_RSHIFT SDLK_LSHIFT = _adonthell.SDLK_LSHIFT SDLK_RCTRL = _adonthell.SDLK_RCTRL SDLK_LCTRL = _adonthell.SDLK_LCTRL SDLK_RALT = _adonthell.SDLK_RALT SDLK_LALT = _adonthell.SDLK_LALT SDLK_RMETA = _adonthell.SDLK_RMETA SDLK_LMETA = _adonthell.SDLK_LMETA SDLK_LSUPER = _adonthell.SDLK_LSUPER SDLK_RSUPER = _adonthell.SDLK_RSUPER SDLK_MODE = _adonthell.SDLK_MODE SDLK_COMPOSE = _adonthell.SDLK_COMPOSE SDLK_HELP = _adonthell.SDLK_HELP SDLK_PRINT = _adonthell.SDLK_PRINT SDLK_SYSREQ = _adonthell.SDLK_SYSREQ SDLK_BREAK = _adonthell.SDLK_BREAK SDLK_MENU = _adonthell.SDLK_MENU SDLK_POWER = _adonthell.SDLK_POWER SDLK_EURO = _adonthell.SDLK_EURO SDLK_UNDO = _adonthell.SDLK_UNDO SDLK_LAST = _adonthell.SDLK_LAST KMOD_NONE = _adonthell.KMOD_NONE KMOD_LSHIFT = _adonthell.KMOD_LSHIFT KMOD_RSHIFT = _adonthell.KMOD_RSHIFT KMOD_LCTRL = _adonthell.KMOD_LCTRL KMOD_RCTRL = _adonthell.KMOD_RCTRL KMOD_LALT = _adonthell.KMOD_LALT KMOD_RALT = _adonthell.KMOD_RALT KMOD_LMETA = _adonthell.KMOD_LMETA KMOD_RMETA = _adonthell.KMOD_RMETA KMOD_NUM = _adonthell.KMOD_NUM KMOD_CAPS = _adonthell.KMOD_CAPS KMOD_MODE = _adonthell.KMOD_MODE KMOD_RESERVED = _adonthell.KMOD_RESERVED class input(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr init = staticmethod(_adonthell.input_init) shutdown = staticmethod(_adonthell.input_shutdown) update = staticmethod(_adonthell.input_update) is_pushed = staticmethod(_adonthell.input_is_pushed) has_been_pushed = staticmethod(_adonthell.input_has_been_pushed) get_next_key = staticmethod(_adonthell.input_get_next_key) get_next_unicode = staticmethod(_adonthell.input_get_next_unicode) set_key_repeat = staticmethod(_adonthell.input_set_key_repeat) clear_keys_queue = staticmethod(_adonthell.input_clear_keys_queue) def __init__(self, *args): this = _adonthell.new_input(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_input __del__ = lambda self : None; input_swigregister = _adonthell.input_swigregister input_swigregister(input) input_init = _adonthell.input_init input_shutdown = _adonthell.input_shutdown input_update = _adonthell.input_update input_is_pushed = _adonthell.input_is_pushed input_has_been_pushed = _adonthell.input_has_been_pushed input_get_next_key = _adonthell.input_get_next_key input_get_next_unicode = _adonthell.input_get_next_unicode input_set_key_repeat = _adonthell.input_set_key_repeat input_clear_keys_queue = _adonthell.input_clear_keys_queue NUM_WAVES = _adonthell.NUM_WAVES NUM_MUSIC = _adonthell.NUM_MUSIC NUM_CHANNELS = _adonthell.NUM_CHANNELS class audio(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr init = staticmethod(_adonthell.audio_init) cleanup = staticmethod(_adonthell.audio_cleanup) put_state = staticmethod(_adonthell.audio_put_state) get_state = staticmethod(_adonthell.audio_get_state) load_background = staticmethod(_adonthell.audio_load_background) unload_background = staticmethod(_adonthell.audio_unload_background) set_background_volume = staticmethod(_adonthell.audio_set_background_volume) pause_music = staticmethod(_adonthell.audio_pause_music) unpause_music = staticmethod(_adonthell.audio_unpause_music) load_wave = staticmethod(_adonthell.audio_load_wave) unload_wave = staticmethod(_adonthell.audio_unload_wave) play_wave = staticmethod(_adonthell.audio_play_wave) play_background = staticmethod(_adonthell.audio_play_background) fade_in_background = staticmethod(_adonthell.audio_fade_in_background) fade_out_background = staticmethod(_adonthell.audio_fade_out_background) change_background = staticmethod(_adonthell.audio_change_background) is_initialized = staticmethod(_adonthell.audio_is_initialized) is_schedule_activated = staticmethod(_adonthell.audio_is_schedule_activated) is_background_finished = staticmethod(_adonthell.audio_is_background_finished) set_schedule_active = staticmethod(_adonthell.audio_set_schedule_active) set_schedule = staticmethod(_adonthell.audio_set_schedule) run_schedule = staticmethod(_adonthell.audio_run_schedule) def __init__(self, *args): this = _adonthell.new_audio(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_audio __del__ = lambda self : None; audio_swigregister = _adonthell.audio_swigregister audio_swigregister(audio) audio_init = _adonthell.audio_init audio_cleanup = _adonthell.audio_cleanup audio_put_state = _adonthell.audio_put_state audio_get_state = _adonthell.audio_get_state audio_load_background = _adonthell.audio_load_background audio_unload_background = _adonthell.audio_unload_background audio_set_background_volume = _adonthell.audio_set_background_volume audio_pause_music = _adonthell.audio_pause_music audio_unpause_music = _adonthell.audio_unpause_music audio_load_wave = _adonthell.audio_load_wave audio_unload_wave = _adonthell.audio_unload_wave audio_play_wave = _adonthell.audio_play_wave audio_play_background = _adonthell.audio_play_background audio_fade_in_background = _adonthell.audio_fade_in_background audio_fade_out_background = _adonthell.audio_fade_out_background audio_change_background = _adonthell.audio_change_background audio_is_initialized = _adonthell.audio_is_initialized audio_is_schedule_activated = _adonthell.audio_is_schedule_activated audio_is_background_finished = _adonthell.audio_is_background_finished audio_set_schedule_active = _adonthell.audio_set_schedule_active audio_set_schedule = _adonthell.audio_set_schedule audio_run_schedule = _adonthell.audio_run_schedule DIALOG_DIR = _adonthell.DIALOG_DIR DWARF = _adonthell.DWARF ELF = _adonthell.ELF HALFELF = _adonthell.HALFELF HUMAN = _adonthell.HUMAN FEMALE = _adonthell.FEMALE MALE = _adonthell.MALE NPC = _adonthell.NPC PLAYER = _adonthell.PLAYER PARTY = _adonthell.PARTY class character_base(storage): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_character_base(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_character_base __del__ = lambda self : None; def get_name(*args): return _adonthell.character_base_get_name(*args) def get_id(*args): return _adonthell.character_base_get_id(*args) def set_name(*args): return _adonthell.character_base_set_name(*args) def get_color(*args): return _adonthell.character_base_get_color(*args) def set_color(*args): return _adonthell.character_base_set_color(*args) def get_portrait(*args): return _adonthell.character_base_get_portrait(*args) def set_portrait(*args): return _adonthell.character_base_set_portrait(*args) def get_dialogue(*args): return _adonthell.character_base_get_dialogue(*args) def set_dialogue(*args): return _adonthell.character_base_set_dialogue(*args) def get_state(*args): return _adonthell.character_base_get_state(*args) def put_state(*args): return _adonthell.character_base_put_state(*args) character_base_swigregister = _adonthell.character_base_swigregister character_base_swigregister(character_base) class py_object(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_py_object(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_py_object __del__ = lambda self : None; def clear(*args): return _adonthell.py_object_clear(*args) def create_instance(*args): return _adonthell.py_object_create_instance(*args) def reload_instance(*args): return _adonthell.py_object_reload_instance(*args) def call_method_ret(*args): return _adonthell.py_object_call_method_ret(*args) def call_method(*args): return _adonthell.py_object_call_method(*args) def run(*args): return _adonthell.py_object_run(*args) def has_attribute(*args): return _adonthell.py_object_has_attribute(*args) def get_attribute(*args): return _adonthell.py_object_get_attribute(*args) def get_attribute_int(*args): return _adonthell.py_object_get_attribute_int(*args) def get_attribute_string(*args): return _adonthell.py_object_get_attribute_string(*args) def set_attribute(*args): return _adonthell.py_object_set_attribute(*args) def set_attribute_int(*args): return _adonthell.py_object_set_attribute_int(*args) def set_attribute_string(*args): return _adonthell.py_object_set_attribute_string(*args) def get_instance(*args): return _adonthell.py_object_get_instance(*args) def class_name(*args): return _adonthell.py_object_class_name(*args) def file_name(*args): return _adonthell.py_object_file_name(*args) py_object_swigregister = _adonthell.py_object_swigregister py_object_swigregister(py_object) class drawing_area(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_drawing_area(*args) try: self.this.append(this) except: self.this = this def x(*args): return _adonthell.drawing_area_x(*args) def y(*args): return _adonthell.drawing_area_y(*args) def length(*args): return _adonthell.drawing_area_length(*args) def height(*args): return _adonthell.drawing_area_height(*args) def move(*args): return _adonthell.drawing_area_move(*args) def resize(*args): return _adonthell.drawing_area_resize(*args) def assign_drawing_area(*args): return _adonthell.drawing_area_assign_drawing_area(*args) def assigned_drawing_area(*args): return _adonthell.drawing_area_assigned_drawing_area(*args) def detach_drawing_area(*args): return _adonthell.drawing_area_detach_drawing_area(*args) def setup_rects(*args): return _adonthell.drawing_area_setup_rects(*args) __swig_destroy__ = _adonthell.delete_drawing_area __del__ = lambda self : None; drawing_area_swigregister = _adonthell.drawing_area_swigregister drawing_area_swigregister(drawing_area) class quest(storage): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_quest(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_quest __del__ = lambda self : None; quest_swigregister = _adonthell.quest_swigregister quest_swigregister(quest) class drawable(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') def __init__(self): raise AttributeError, "No constructor defined" __repr__ = _swig_repr __swig_destroy__ = _adonthell.delete_drawable __del__ = lambda self : None; def length(*args): return _adonthell.drawable_length(*args) def height(*args): return _adonthell.drawable_height(*args) def update(*args): return _adonthell.drawable_update(*args) def input_update(*args): return _adonthell.drawable_input_update(*args) def draw(*args): return _adonthell.drawable_draw(*args) drawable_swigregister = _adonthell.drawable_swigregister drawable_swigregister(drawable) class surface(drawable): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_surface(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_surface __del__ = lambda self : None; def is_masked(*args): return _adonthell.surface_is_masked(*args) def set_mask(*args): return _adonthell.surface_set_mask(*args) def alpha(*args): return _adonthell.surface_alpha(*args) def set_alpha(*args): return _adonthell.surface_set_alpha(*args) def is_dbl_mode(*args): return _adonthell.surface_is_dbl_mode(*args) def set_dbl_mode(*args): return _adonthell.surface_set_dbl_mode(*args) def draw(*args): return _adonthell.surface_draw(*args) def draw_part(*args): return _adonthell.surface_draw_part(*args) def fillrect(*args): return _adonthell.surface_fillrect(*args) def fillrect_rgb(*args): return _adonthell.surface_fillrect_rgb(*args) def lock(*args): return _adonthell.surface_lock(*args) def unlock(*args): return _adonthell.surface_unlock(*args) def put_pix(*args): return _adonthell.surface_put_pix(*args) def put_pix_rgb(*args): return _adonthell.surface_put_pix_rgb(*args) def get_pix(*args): return _adonthell.surface_get_pix(*args) def get_pix_rgb(*args): return _adonthell.surface_get_pix_rgb(*args) def copy(*args): return _adonthell.surface_copy(*args) vis = _swig_property(_adonthell.surface_vis_get, _adonthell.surface_vis_set) surface_swigregister = _adonthell.surface_swigregister surface_swigregister(surface) class screen(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr display = _swig_property(_adonthell.screen_display_get, _adonthell.screen_display_set) set_video_mode = staticmethod(_adonthell.screen_set_video_mode) length = staticmethod(_adonthell.screen_length) height = staticmethod(_adonthell.screen_height) bytes_per_pixel = staticmethod(_adonthell.screen_bytes_per_pixel) trans_col = staticmethod(_adonthell.screen_trans_col) clear = staticmethod(_adonthell.screen_clear) show = staticmethod(_adonthell.screen_show) is_fullscreen = staticmethod(_adonthell.screen_is_fullscreen) set_fullscreen = staticmethod(_adonthell.screen_set_fullscreen) info = staticmethod(_adonthell.screen_info) dbl_mode = staticmethod(_adonthell.screen_dbl_mode) transition = staticmethod(_adonthell.screen_transition) def __init__(self, *args): this = _adonthell.new_screen(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_screen __del__ = lambda self : None; screen_swigregister = _adonthell.screen_swigregister screen_swigregister(screen) cvar = _adonthell.cvar screen_set_video_mode = _adonthell.screen_set_video_mode screen_length = _adonthell.screen_length screen_height = _adonthell.screen_height screen_bytes_per_pixel = _adonthell.screen_bytes_per_pixel screen_trans_col = _adonthell.screen_trans_col screen_clear = _adonthell.screen_clear screen_show = _adonthell.screen_show screen_is_fullscreen = _adonthell.screen_is_fullscreen screen_set_fullscreen = _adonthell.screen_set_fullscreen screen_info = _adonthell.screen_info screen_dbl_mode = _adonthell.screen_dbl_mode screen_transition = _adonthell.screen_transition class image(surface): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_image(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_image __del__ = lambda self : None; def resize(*args): return _adonthell.image_resize(*args) def clear(*args): return _adonthell.image_clear(*args) def get(*args): return _adonthell.image_get(*args) def load(*args): return _adonthell.image_load(*args) def get_raw(*args): return _adonthell.image_get_raw(*args) def load_raw(*args): return _adonthell.image_load_raw(*args) def get_pnm(*args): return _adonthell.image_get_pnm(*args) def load_pnm(*args): return _adonthell.image_load_pnm(*args) def put(*args): return _adonthell.image_put(*args) def save(*args): return _adonthell.image_save(*args) def put_raw(*args): return _adonthell.image_put_raw(*args) def save_raw(*args): return _adonthell.image_save_raw(*args) def put_pnm(*args): return _adonthell.image_put_pnm(*args) def save_pnm(*args): return _adonthell.image_save_pnm(*args) def zoom(*args): return _adonthell.image_zoom(*args) def zoom_to(*args): return _adonthell.image_zoom_to(*args) def tile(*args): return _adonthell.image_tile(*args) def tile_to(*args): return _adonthell.image_tile_to(*args) def brightness(*args): return _adonthell.image_brightness(*args) def copy(*args): return _adonthell.image_copy(*args) image_swigregister = _adonthell.image_swigregister image_swigregister(image) class animationframe(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_animationframe(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_animationframe __del__ = lambda self : None; def clear(*args): return _adonthell.animationframe_clear(*args) def is_masked(*args): return _adonthell.animationframe_is_masked(*args) def set_mask(*args): return _adonthell.animationframe_set_mask(*args) def alpha(*args): return _adonthell.animationframe_alpha(*args) def set_alpha(*args): return _adonthell.animationframe_set_alpha(*args) def image_nbr(*args): return _adonthell.animationframe_image_nbr(*args) def set_image_nbr(*args): return _adonthell.animationframe_set_image_nbr(*args) def delay(*args): return _adonthell.animationframe_delay(*args) def set_delay(*args): return _adonthell.animationframe_set_delay(*args) def nextframe(*args): return _adonthell.animationframe_nextframe(*args) def set_nextframe(*args): return _adonthell.animationframe_set_nextframe(*args) def offx(*args): return _adonthell.animationframe_offx(*args) def offy(*args): return _adonthell.animationframe_offy(*args) def set_offset(*args): return _adonthell.animationframe_set_offset(*args) def get(*args): return _adonthell.animationframe_get(*args) def put(*args): return _adonthell.animationframe_put(*args) animationframe_swigregister = _adonthell.animationframe_swigregister animationframe_swigregister(animationframe) PLAY = _adonthell.PLAY STOP = _adonthell.STOP class animation(drawable): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_animation(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_animation __del__ = lambda self : None; def clear(*args): return _adonthell.animation_clear(*args) def play(*args): return _adonthell.animation_play(*args) def stop(*args): return _adonthell.animation_stop(*args) def playstate(*args): return _adonthell.animation_playstate(*args) def rewind(*args): return _adonthell.animation_rewind(*args) def next_frame(*args): return _adonthell.animation_next_frame(*args) def update(*args): return _adonthell.animation_update(*args) def draw(*args): return _adonthell.animation_draw(*args) def get(*args): return _adonthell.animation_get(*args) def load(*args): return _adonthell.animation_load(*args) def put(*args): return _adonthell.animation_put(*args) def save(*args): return _adonthell.animation_save(*args) def nbr_of_frames(*args): return _adonthell.animation_nbr_of_frames(*args) def nbr_of_images(*args): return _adonthell.animation_nbr_of_images(*args) def currentframe(*args): return _adonthell.animation_currentframe(*args) def set_currentframe(*args): return _adonthell.animation_set_currentframe(*args) def xoffset(*args): return _adonthell.animation_xoffset(*args) def yoffset(*args): return _adonthell.animation_yoffset(*args) def set_offset(*args): return _adonthell.animation_set_offset(*args) def get_frame(*args): return _adonthell.animation_get_frame(*args) def get_image(*args): return _adonthell.animation_get_image(*args) def insert_image(*args): return _adonthell.animation_insert_image(*args) def insert_frame(*args): return _adonthell.animation_insert_frame(*args) def delete_image(*args): return _adonthell.animation_delete_image(*args) def delete_frame(*args): return _adonthell.animation_delete_frame(*args) def zoom(*args): return _adonthell.animation_zoom(*args) def copy(*args): return _adonthell.animation_copy(*args) animation_swigregister = _adonthell.animation_swigregister animation_swigregister(animation) ALL_WALKABLE = _adonthell.ALL_WALKABLE WALKABLE_SOUTH = _adonthell.WALKABLE_SOUTH WALKABLE_NORTH = _adonthell.WALKABLE_NORTH WALKABLE_EAST = _adonthell.WALKABLE_EAST WALKABLE_WEST = _adonthell.WALKABLE_WEST NONE_WALKABLE = _adonthell.NONE_WALKABLE class mapsquare_walkable(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapsquare_walkable(*args) try: self.this.append(this) except: self.this = this def get(*args): return _adonthell.mapsquare_walkable_get(*args) def put(*args): return _adonthell.mapsquare_walkable_put(*args) def is_walkable_west(*args): return _adonthell.mapsquare_walkable_is_walkable_west(*args) def is_walkable_east(*args): return _adonthell.mapsquare_walkable_is_walkable_east(*args) def is_walkable_north(*args): return _adonthell.mapsquare_walkable_is_walkable_north(*args) def is_walkable_south(*args): return _adonthell.mapsquare_walkable_is_walkable_south(*args) def set_walkable_west(*args): return _adonthell.mapsquare_walkable_set_walkable_west(*args) def set_walkable_east(*args): return _adonthell.mapsquare_walkable_set_walkable_east(*args) def set_walkable_north(*args): return _adonthell.mapsquare_walkable_set_walkable_north(*args) def set_walkable_south(*args): return _adonthell.mapsquare_walkable_set_walkable_south(*args) def get_walkable(*args): return _adonthell.mapsquare_walkable_get_walkable(*args) def set_walkable(*args): return _adonthell.mapsquare_walkable_set_walkable(*args) __swig_destroy__ = _adonthell.delete_mapsquare_walkable __del__ = lambda self : None; mapsquare_walkable_swigregister = _adonthell.mapsquare_walkable_swigregister mapsquare_walkable_swigregister(mapsquare_walkable) MAPSQUARE_SIZE = cvar.MAPSQUARE_SIZE class mapsquare_walkable_area(drawable): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') def __init__(self): raise AttributeError, "No constructor defined" __repr__ = _swig_repr __swig_destroy__ = _adonthell.delete_mapsquare_walkable_area __del__ = lambda self : None; def clear(*args): return _adonthell.mapsquare_walkable_area_clear(*args) def draw(*args): return _adonthell.mapsquare_walkable_area_draw(*args) def area_length(*args): return _adonthell.mapsquare_walkable_area_area_length(*args) def area_height(*args): return _adonthell.mapsquare_walkable_area_area_height(*args) def get_square(*args): return _adonthell.mapsquare_walkable_area_get_square(*args) def resize_area(*args): return _adonthell.mapsquare_walkable_area_resize_area(*args) def base_x(*args): return _adonthell.mapsquare_walkable_area_base_x(*args) def base_y(*args): return _adonthell.mapsquare_walkable_area_base_y(*args) def set_base(*args): return _adonthell.mapsquare_walkable_area_set_base(*args) def get(*args): return _adonthell.mapsquare_walkable_area_get(*args) def put(*args): return _adonthell.mapsquare_walkable_area_put(*args) def copy(*args): return _adonthell.mapsquare_walkable_area_copy(*args) mapsquare_walkable_area_swigregister = _adonthell.mapsquare_walkable_area_swigregister mapsquare_walkable_area_swigregister(mapsquare_walkable_area) class mapsquare_tile(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapsquare_tile(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_mapsquare_tile __del__ = lambda self : None; mapsquare_tile_swigregister = _adonthell.mapsquare_tile_swigregister mapsquare_tile_swigregister(mapsquare_tile) class mapsquare_char(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapsquare_char(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_mapsquare_char __del__ = lambda self : None; mapsquare_char_swigregister = _adonthell.mapsquare_char_swigregister mapsquare_char_swigregister(mapsquare_char) class mapsquare(mapsquare_walkable): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapsquare(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_mapsquare __del__ = lambda self : None; def x(*args): return _adonthell.mapsquare_x(*args) def y(*args): return _adonthell.mapsquare_y(*args) def is_free(*args): return _adonthell.mapsquare_is_free(*args) def whoshere(*args): return _adonthell.mapsquare_whoshere(*args) g = _swig_property(_adonthell.mapsquare_g_get, _adonthell.mapsquare_g_set) h = _swig_property(_adonthell.mapsquare_h_get, _adonthell.mapsquare_h_set) f = _swig_property(_adonthell.mapsquare_f_get, _adonthell.mapsquare_f_set) parent = _swig_property(_adonthell.mapsquare_parent_get, _adonthell.mapsquare_parent_set) can_use_for_pathfinding = _swig_property(_adonthell.mapsquare_can_use_for_pathfinding_get, _adonthell.mapsquare_can_use_for_pathfinding_set) mapsquare_swigregister = _adonthell.mapsquare_swigregister mapsquare_swigregister(mapsquare) class mapsquare_area(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapsquare_area(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_mapsquare_area __del__ = lambda self : None; def clear(*args): return _adonthell.mapsquare_area_clear(*args) def area_length(*args): return _adonthell.mapsquare_area_area_length(*args) def area_height(*args): return _adonthell.mapsquare_area_area_height(*args) def get_square(*args): return _adonthell.mapsquare_area_get_square(*args) def resize_area(*args): return _adonthell.mapsquare_area_resize_area(*args) mapsquare_area_swigregister = _adonthell.mapsquare_area_swigregister mapsquare_area_swigregister(mapsquare_area) MAPOBJECTS_DIR = _adonthell.MAPOBJECTS_DIR class mapobject(mapsquare_walkable_area): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapobject(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_mapobject __del__ = lambda self : None; def clear(*args): return _adonthell.mapobject_clear(*args) def update(*args): return _adonthell.mapobject_update(*args) def draw(*args): return _adonthell.mapobject_draw(*args) def draw_from_base(*args): return _adonthell.mapobject_draw_from_base(*args) def get(*args): return _adonthell.mapobject_get(*args) def load(*args): return _adonthell.mapobject_load(*args) def put(*args): return _adonthell.mapobject_put(*args) def save(*args): return _adonthell.mapobject_save(*args) def nbr_of_animations(*args): return _adonthell.mapobject_nbr_of_animations(*args) def get_animation(*args): return _adonthell.mapobject_get_animation(*args) def insert_animation(*args): return _adonthell.mapobject_insert_animation(*args) def delete_animation(*args): return _adonthell.mapobject_delete_animation(*args) def copy(*args): return _adonthell.mapobject_copy(*args) mapobject_swigregister = _adonthell.mapobject_swigregister mapobject_swigregister(mapobject) MAPCHAR_DIR = _adonthell.MAPCHAR_DIR STAND_NORTH = _adonthell.STAND_NORTH STAND_SOUTH = _adonthell.STAND_SOUTH STAND_WEST = _adonthell.STAND_WEST STAND_EAST = _adonthell.STAND_EAST WALK_NORTH = _adonthell.WALK_NORTH WALK_SOUTH = _adonthell.WALK_SOUTH WALK_WEST = _adonthell.WALK_WEST WALK_EAST = _adonthell.WALK_EAST NBR_MOVES = _adonthell.NBR_MOVES NO_MOVE = _adonthell.NO_MOVE class mapcharacter(mapsquare_walkable_area,character_base,event_list): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapcharacter(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_mapcharacter __del__ = lambda self : None; def clear(*args): return _adonthell.mapcharacter_clear(*args) def filename(*args): return _adonthell.mapcharacter_filename(*args) def update(*args): return _adonthell.mapcharacter_update(*args) def draw(*args): return _adonthell.mapcharacter_draw(*args) def draw_bubble(*args): return _adonthell.mapcharacter_draw_bubble(*args) def get(*args): return _adonthell.mapcharacter_get(*args) def load(*args): return _adonthell.mapcharacter_load(*args) def put(*args): return _adonthell.mapcharacter_put(*args) def save(*args): return _adonthell.mapcharacter_save(*args) def get_state(*args): return _adonthell.mapcharacter_get_state(*args) def put_state(*args): return _adonthell.mapcharacter_put_state(*args) def set_map(*args): return _adonthell.mapcharacter_set_map(*args) def remove_from_map(*args): return _adonthell.mapcharacter_remove_from_map(*args) def mymap(*args): return _adonthell.mapcharacter_mymap(*args) def stand_north(*args): return _adonthell.mapcharacter_stand_north(*args) def stand_south(*args): return _adonthell.mapcharacter_stand_south(*args) def stand_east(*args): return _adonthell.mapcharacter_stand_east(*args) def stand_west(*args): return _adonthell.mapcharacter_stand_west(*args) def stand(*args): return _adonthell.mapcharacter_stand(*args) def go_north(*args): return _adonthell.mapcharacter_go_north(*args) def go_south(*args): return _adonthell.mapcharacter_go_south(*args) def go_east(*args): return _adonthell.mapcharacter_go_east(*args) def go_west(*args): return _adonthell.mapcharacter_go_west(*args) def can_go_north(*args): return _adonthell.mapcharacter_can_go_north(*args) def can_go_south(*args): return _adonthell.mapcharacter_can_go_south(*args) def can_go_east(*args): return _adonthell.mapcharacter_can_go_east(*args) def can_go_west(*args): return _adonthell.mapcharacter_can_go_west(*args) def look_invert(*args): return _adonthell.mapcharacter_look_invert(*args) def whosnext(*args): return _adonthell.mapcharacter_whosnext(*args) def speak(*args): return _adonthell.mapcharacter_speak(*args) def is_speaking(*args): return _adonthell.mapcharacter_is_speaking(*args) def get_bubble(*args): return _adonthell.mapcharacter_get_bubble(*args) def set_offset(*args): return _adonthell.mapcharacter_set_offset(*args) def remove_from_pos(*args): return _adonthell.mapcharacter_remove_from_pos(*args) def jump_to(*args): return _adonthell.mapcharacter_jump_to(*args) def submap(*args): return _adonthell.mapcharacter_submap(*args) def posx(*args): return _adonthell.mapcharacter_posx(*args) def posy(*args): return _adonthell.mapcharacter_posy(*args) def offx(*args): return _adonthell.mapcharacter_offx(*args) def offy(*args): return _adonthell.mapcharacter_offy(*args) def currentmove(*args): return _adonthell.mapcharacter_currentmove(*args) def set_goal(*args): return _adonthell.mapcharacter_set_goal(*args) def set_callback(*args): return _adonthell.mapcharacter_set_callback(*args) def follow_path(*args): return _adonthell.mapcharacter_follow_path(*args) def goal_reached(*args): return _adonthell.mapcharacter_goal_reached(*args) def stop_moving(*args): return _adonthell.mapcharacter_stop_moving(*args) def time_callback(*args): return _adonthell.mapcharacter_time_callback(*args) def time_callback_string(*args): return _adonthell.mapcharacter_time_callback_string(*args) def set_schedule(*args): return _adonthell.mapcharacter_set_schedule(*args) def schedule_file(*args): return _adonthell.mapcharacter_schedule_file(*args) def is_schedule_activated(*args): return _adonthell.mapcharacter_is_schedule_activated(*args) def set_schedule_active(*args): return _adonthell.mapcharacter_set_schedule_active(*args) def do_stuff(*args): return _adonthell.mapcharacter_do_stuff(*args) def set_action(*args): return _adonthell.mapcharacter_set_action(*args) def action_file(*args): return _adonthell.mapcharacter_action_file(*args) def is_action_activated(*args): return _adonthell.mapcharacter_is_action_activated(*args) def set_action_active(*args): return _adonthell.mapcharacter_set_action_active(*args) def launch_action(*args): return _adonthell.mapcharacter_launch_action(*args) def get_animation(*args): return _adonthell.mapcharacter_get_animation(*args) def copy(*args): return _adonthell.mapcharacter_copy(*args) mapcharacter_swigregister = _adonthell.mapcharacter_swigregister mapcharacter_swigregister(mapcharacter) class path(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def clear(*args): return _adonthell.path_clear(*args) def calculate(*args): return _adonthell.path_calculate(*args) def nbr_moves(*args): return _adonthell.path_nbr_moves(*args) def get_move(*args): return _adonthell.path_get_move(*args) def get_state(*args): return _adonthell.path_get_state(*args) def put_state(*args): return _adonthell.path_put_state(*args) def __init__(self, *args): this = _adonthell.new_path(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_path __del__ = lambda self : None; path_swigregister = _adonthell.path_swigregister path_swigregister(path) class character(mapcharacter): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_character(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_character __del__ = lambda self : None; character_swigregister = _adonthell.character_swigregister character_swigregister(character) MAPS_DIR = _adonthell.MAPS_DIR class landmap(event_list): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_landmap(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_landmap __del__ = lambda self : None; def clear(*args): return _adonthell.landmap_clear(*args) def nbr_of_mapobjects(*args): return _adonthell.landmap_nbr_of_mapobjects(*args) def nbr_of_submaps(*args): return _adonthell.landmap_nbr_of_submaps(*args) def nbr_of_mapcharacters(*args): return _adonthell.landmap_nbr_of_mapcharacters(*args) def filename(*args): return _adonthell.landmap_filename(*args) def get_mapcharacter(*args): return _adonthell.landmap_get_mapcharacter(*args) def get_mapobject(*args): return _adonthell.landmap_get_mapobject(*args) def get_submap(*args): return _adonthell.landmap_get_submap(*args) def update(*args): return _adonthell.landmap_update(*args) def get(*args): return _adonthell.landmap_get(*args) def load(*args): return _adonthell.landmap_load(*args) def put(*args): return _adonthell.landmap_put(*args) def save(*args): return _adonthell.landmap_save(*args) def get_state(*args): return _adonthell.landmap_get_state(*args) def put_state(*args): return _adonthell.landmap_put_state(*args) def put_mapobject(*args): return _adonthell.landmap_put_mapobject(*args) def remove_mapobject(*args): return _adonthell.landmap_remove_mapobject(*args) def insert_submap(*args): return _adonthell.landmap_insert_submap(*args) def delete_submap(*args): return _adonthell.landmap_delete_submap(*args) def insert_mapobject(*args): return _adonthell.landmap_insert_mapobject(*args) def delete_mapobject(*args): return _adonthell.landmap_delete_mapobject(*args) landmap_swigregister = _adonthell.landmap_swigregister landmap_swigregister(landmap) class mapview(drawable): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_mapview(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_mapview __del__ = lambda self : None; def attach_map(*args): return _adonthell.mapview_attach_map(*args) def detach_map(*args): return _adonthell.mapview_detach_map(*args) def set_pos(*args): return _adonthell.mapview_set_pos(*args) def center_on(*args): return _adonthell.mapview_center_on(*args) def currentsubmap(*args): return _adonthell.mapview_currentsubmap(*args) def posx(*args): return _adonthell.mapview_posx(*args) def posy(*args): return _adonthell.mapview_posy(*args) def offx(*args): return _adonthell.mapview_offx(*args) def offy(*args): return _adonthell.mapview_offy(*args) def can_scroll_right(*args): return _adonthell.mapview_can_scroll_right(*args) def can_scroll_left(*args): return _adonthell.mapview_can_scroll_left(*args) def can_scroll_up(*args): return _adonthell.mapview_can_scroll_up(*args) def can_scroll_down(*args): return _adonthell.mapview_can_scroll_down(*args) def scroll_right(*args): return _adonthell.mapview_scroll_right(*args) def scroll_left(*args): return _adonthell.mapview_scroll_left(*args) def scroll_down(*args): return _adonthell.mapview_scroll_down(*args) def scroll_up(*args): return _adonthell.mapview_scroll_up(*args) def get_state(*args): return _adonthell.mapview_get_state(*args) def put_state(*args): return _adonthell.mapview_put_state(*args) def resize(*args): return _adonthell.mapview_resize(*args) def set_schedule(*args): return _adonthell.mapview_set_schedule(*args) def schedule_file(*args): return _adonthell.mapview_schedule_file(*args) def update(*args): return _adonthell.mapview_update(*args) def draw(*args): return _adonthell.mapview_draw(*args) mapview_swigregister = _adonthell.mapview_swigregister mapview_swigregister(mapview) class adonthell(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_adonthell(*args) try: self.this.append(this) except: self.this = this def main(*args): return _adonthell.adonthell_main(*args) def main_loop(*args): return _adonthell.adonthell_main_loop(*args) def main_quit(*args): return _adonthell.adonthell_main_quit(*args) def fade_out(*args): return _adonthell.adonthell_fade_out(*args) def fade_in(*args): return _adonthell.adonthell_fade_in(*args) def get_state(*args): return _adonthell.adonthell_get_state(*args) def put_state(*args): return _adonthell.adonthell_put_state(*args) def control_active(*args): return _adonthell.adonthell_control_active(*args) def set_control_active(*args): return _adonthell.adonthell_set_control_active(*args) def get_landmap(*args): return _adonthell.adonthell_get_landmap(*args) def update_map(*args): return _adonthell.adonthell_update_map(*args) def set_update_map(*args): return _adonthell.adonthell_set_update_map(*args) def get_mapview(*args): return _adonthell.adonthell_get_mapview(*args) def draw(*args): return _adonthell.adonthell_draw(*args) def set_mapview_schedule(*args): return _adonthell.adonthell_set_mapview_schedule(*args) def mapview_start(*args): return _adonthell.adonthell_mapview_start(*args) def mapview_stop(*args): return _adonthell.adonthell_mapview_stop(*args) __swig_destroy__ = _adonthell.delete_adonthell __del__ = lambda self : None; adonthell_swigregister = _adonthell.adonthell_swigregister adonthell_swigregister(adonthell) WIN_NB_TABLE_CHAR = _adonthell.WIN_NB_TABLE_CHAR WIN_TEXT_MAX_LENGTH = _adonthell.WIN_TEXT_MAX_LENGTH WIN_FONT_HEIGHT = _adonthell.WIN_FONT_HEIGHT WIN_FONT_LENGHT = _adonthell.WIN_FONT_LENGHT WIN_SPACE_LENGHT = _adonthell.WIN_SPACE_LENGHT WIN_DIRECTORY = _adonthell.WIN_DIRECTORY WIN_FONT_DIRECTORY = _adonthell.WIN_FONT_DIRECTORY WIN_BORDER_DIRECTORY = _adonthell.WIN_BORDER_DIRECTORY WIN_BACKGROUND_DIRECTORY = _adonthell.WIN_BACKGROUND_DIRECTORY WIN_SCROLLBAR_DIRECTORY = _adonthell.WIN_SCROLLBAR_DIRECTORY WIN_CURSOR_DIRECTORY = _adonthell.WIN_CURSOR_DIRECTORY WIN_FONT_FILE_IDX = _adonthell.WIN_FONT_FILE_IDX WIN_FONT_FILE_PIC = _adonthell.WIN_FONT_FILE_PIC WIN_FONT_FILE = _adonthell.WIN_FONT_FILE WIN_V_BORDER_TEMPLATE_FILE = _adonthell.WIN_V_BORDER_TEMPLATE_FILE WIN_H_BORDER_TEMPLATE_FILE = _adonthell.WIN_H_BORDER_TEMPLATE_FILE WIN_CORNER_TOP_LEFT_FILE = _adonthell.WIN_CORNER_TOP_LEFT_FILE WIN_CORNER_TOP_RIGHT_FILE = _adonthell.WIN_CORNER_TOP_RIGHT_FILE WIN_CORNER_BOTTOM_LEFT_FILE = _adonthell.WIN_CORNER_BOTTOM_LEFT_FILE WIN_CORNER_BOTTOM_RIGHT_FILE = _adonthell.WIN_CORNER_BOTTOM_RIGHT_FILE WIN_BACKGROUND_FILE = _adonthell.WIN_BACKGROUND_FILE WIN_SCROLLBAR_BAR_TOP = _adonthell.WIN_SCROLLBAR_BAR_TOP WIN_SCROLLBAR_BAR_MID = _adonthell.WIN_SCROLLBAR_BAR_MID WIN_SCROLLBAR_BAR_BOT = _adonthell.WIN_SCROLLBAR_BAR_BOT WIN_SCROLLBAR_BAR_FLEX = _adonthell.WIN_SCROLLBAR_BAR_FLEX WIN_SCROLLBAR_BACK_TOP = _adonthell.WIN_SCROLLBAR_BACK_TOP WIN_SCROLLBAR_BACK_MID = _adonthell.WIN_SCROLLBAR_BACK_MID WIN_SCROLLBAR_BACK_BOT = _adonthell.WIN_SCROLLBAR_BACK_BOT WIN_CURSOR_FILE = _adonthell.WIN_CURSOR_FILE WIN_BORDER_NORMAL_SIZE = _adonthell.WIN_BORDER_NORMAL_SIZE WIN_BORDER_MINI_SIZE = _adonthell.WIN_BORDER_MINI_SIZE WIN_BRIGHTNESS_LEVEL = _adonthell.WIN_BRIGHTNESS_LEVEL class win_manager(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_manager(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_manager __del__ = lambda self : None; def add(*args): return _adonthell.win_manager_add(*args) def remove(*args): return _adonthell.win_manager_remove(*args) def update(*args): return _adonthell.win_manager_update(*args) def input_update(*args): return _adonthell.win_manager_input_update(*args) def draw(*args): return _adonthell.win_manager_draw(*args) def set_focus(*args): return _adonthell.win_manager_set_focus(*args) def destroy(*args): return _adonthell.win_manager_destroy(*args) get_active = staticmethod(_adonthell.win_manager_get_active) init = staticmethod(_adonthell.win_manager_init) cleanup = staticmethod(_adonthell.win_manager_cleanup) add_theme = staticmethod(_adonthell.win_manager_add_theme) remove_theme = staticmethod(_adonthell.win_manager_remove_theme) get_theme = staticmethod(_adonthell.win_manager_get_theme) add_font = staticmethod(_adonthell.win_manager_add_font) remove_font = staticmethod(_adonthell.win_manager_remove_font) get_font = staticmethod(_adonthell.win_manager_get_font) win_manager_swigregister = _adonthell.win_manager_swigregister win_manager_swigregister(win_manager) win_manager_get_active = _adonthell.win_manager_get_active win_manager_init = _adonthell.win_manager_init win_manager_cleanup = _adonthell.win_manager_cleanup win_manager_add_theme = _adonthell.win_manager_add_theme win_manager_remove_theme = _adonthell.win_manager_remove_theme win_manager_get_theme = _adonthell.win_manager_get_theme win_manager_add_font = _adonthell.win_manager_add_font win_manager_remove_font = _adonthell.win_manager_remove_font win_manager_get_font = _adonthell.win_manager_get_font class win_font(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_font(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_font __del__ = lambda self : None; def load(*args): return _adonthell.win_font_load(*args) def in_table(*args): return _adonthell.win_font_in_table(*args) def height(*args): return _adonthell.win_font_height(*args) def length(*args): return _adonthell.win_font_length(*args) cursor = _swig_property(_adonthell.win_font_cursor_get, _adonthell.win_font_cursor_set) win_font_swigregister = _adonthell.win_font_swigregister win_font_swigregister(win_font) win_event_ACTIVATE = _adonthell.win_event_ACTIVATE win_event_UNACTIVATE = _adonthell.win_event_UNACTIVATE win_event_UPDATE = _adonthell.win_event_UPDATE win_event_DRAW = _adonthell.win_event_DRAW win_event_DRAW_ON_VISIBLE = _adonthell.win_event_DRAW_ON_VISIBLE win_event_ACTIVATE_KEY = _adonthell.win_event_ACTIVATE_KEY win_event_SELECT = _adonthell.win_event_SELECT win_event_UNSELECT = _adonthell.win_event_UNSELECT win_event_KEYBOARD = _adonthell.win_event_KEYBOARD win_event_SCROLL_UP = _adonthell.win_event_SCROLL_UP win_event_SCROLL_DOWN = _adonthell.win_event_SCROLL_DOWN win_event_NEXT = _adonthell.win_event_NEXT win_event_PREVIOUS = _adonthell.win_event_PREVIOUS win_event_CLOSE = _adonthell.win_event_CLOSE win_event_DESTROY = _adonthell.win_event_DESTROY class win_event(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_event(*args) try: self.this.append(this) except: self.this = this def set_return_code(*args): return _adonthell.win_event_set_return_code(*args) def update(*args): return _adonthell.win_event_update(*args) def py_signal_connect(*args): return _adonthell.win_event_py_signal_connect(*args) __swig_destroy__ = _adonthell.delete_win_event __del__ = lambda self : None; win_event_swigregister = _adonthell.win_event_swigregister win_event_swigregister(win_event) win_border_MINI = _adonthell.win_border_MINI win_border_NORMAL = _adonthell.win_border_NORMAL class win_border(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_border(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_border __del__ = lambda self : None; def load(*args): return _adonthell.win_border_load(*args) def update(*args): return _adonthell.win_border_update(*args) def destroy(*args): return _adonthell.win_border_destroy(*args) def draw(*args): return _adonthell.win_border_draw(*args) def set_visible_border(*args): return _adonthell.win_border_set_visible_border(*args) def set_brightness_border(*args): return _adonthell.win_border_set_brightness_border(*args) def set_border(*args): return _adonthell.win_border_set_border(*args) def set_trans_border(*args): return _adonthell.win_border_set_trans_border(*args) def length_border(*args): return _adonthell.win_border_length_border(*args) def height_border(*args): return _adonthell.win_border_height_border(*args) win_border_swigregister = _adonthell.win_border_swigregister win_border_swigregister(win_border) class win_background(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_background(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_background __del__ = lambda self : None; def load(*args): return _adonthell.win_background_load(*args) def update(*args): return _adonthell.win_background_update(*args) def destroy(*args): return _adonthell.win_background_destroy(*args) def draw(*args): return _adonthell.win_background_draw(*args) def set_visible_background(*args): return _adonthell.win_background_set_visible_background(*args) def set_background(*args): return _adonthell.win_background_set_background(*args) def set_brightness_background(*args): return _adonthell.win_background_set_brightness_background(*args) def set_trans_background(*args): return _adonthell.win_background_set_trans_background(*args) win_background_swigregister = _adonthell.win_background_swigregister win_background_swigregister(win_background) win_base_ALIGN_NONE = _adonthell.win_base_ALIGN_NONE win_base_ALIGN_LEFT = _adonthell.win_base_ALIGN_LEFT win_base_ALIGN_CENTER = _adonthell.win_base_ALIGN_CENTER win_base_ALIGN_RIGHT = _adonthell.win_base_ALIGN_RIGHT class win_base(win_event,win_border,drawing_area,win_background): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_base(*args) try: self.this.append(this) except: self.this = this def x(*args): return _adonthell.win_base_x(*args) def y(*args): return _adonthell.win_base_y(*args) def pad_x(*args): return _adonthell.win_base_pad_x(*args) def pad_y(*args): return _adonthell.win_base_pad_y(*args) def real_x(*args): return _adonthell.win_base_real_x(*args) def real_y(*args): return _adonthell.win_base_real_y(*args) def move(*args): return _adonthell.win_base_move(*args) def resize(*args): return _adonthell.win_base_resize(*args) def is_visible(*args): return _adonthell.win_base_is_visible(*args) def set_visible(*args): return _adonthell.win_base_set_visible(*args) def is_activate(*args): return _adonthell.win_base_is_activate(*args) def set_activate(*args): return _adonthell.win_base_set_activate(*args) def is_focus(*args): return _adonthell.win_base_is_focus(*args) def set_focus(*args): return _adonthell.win_base_set_focus(*args) def is_trans(*args): return _adonthell.win_base_is_trans(*args) def set_trans(*args): return _adonthell.win_base_set_trans(*args) def is_brightness(*args): return _adonthell.win_base_is_brightness(*args) def set_brightness(*args): return _adonthell.win_base_set_brightness(*args) def set_align(*args): return _adonthell.win_base_set_align(*args) def align(*args): return _adonthell.win_base_align(*args) def is_can_be_selected(*args): return _adonthell.win_base_is_can_be_selected(*args) def set_can_be_selected(*args): return _adonthell.win_base_set_can_be_selected(*args) def update(*args): return _adonthell.win_base_update(*args) def draw(*args): return _adonthell.win_base_draw(*args) def input_update(*args): return _adonthell.win_base_input_update(*args) __swig_destroy__ = _adonthell.delete_win_base __del__ = lambda self : None; win_base_swigregister = _adonthell.win_base_swigregister win_base_swigregister(win_base) win_container_SPACE_WITH_BORDER = _adonthell.win_container_SPACE_WITH_BORDER win_container_SPACE_WITH_OBJECT = _adonthell.win_container_SPACE_WITH_OBJECT win_container_LIST_LAYOUT = _adonthell.win_container_LIST_LAYOUT win_container_NO_LAYOUT = _adonthell.win_container_NO_LAYOUT class win_container(win_base): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_container(*args) try: self.this.append(this) except: self.this = this def move(*args): return _adonthell.win_container_move(*args) def resize(*args): return _adonthell.win_container_resize(*args) def add(*args): return _adonthell.win_container_add(*args) def remove(*args): return _adonthell.win_container_remove(*args) def remove_all(*args): return _adonthell.win_container_remove_all(*args) def destroy(*args): return _adonthell.win_container_destroy(*args) __swig_destroy__ = _adonthell.delete_win_container __del__ = lambda self : None; def update(*args): return _adonthell.win_container_update(*args) def input_update(*args): return _adonthell.win_container_input_update(*args) def draw(*args): return _adonthell.win_container_draw(*args) def set_visible_all(*args): return _adonthell.win_container_set_visible_all(*args) def set_brightness(*args): return _adonthell.win_container_set_brightness(*args) def set_trans(*args): return _adonthell.win_container_set_trans(*args) def set_space_with_border(*args): return _adonthell.win_container_set_space_with_border(*args) def set_space_with_object(*args): return _adonthell.win_container_set_space_with_object(*args) def space_with_border(*args): return _adonthell.win_container_space_with_border(*args) def space_with_object(*args): return _adonthell.win_container_space_with_object(*args) def set_layout(*args): return _adonthell.win_container_set_layout(*args) def set_focus_object(*args): return _adonthell.win_container_set_focus_object(*args) def focus_object(*args): return _adonthell.win_container_focus_object(*args) win_container_swigregister = _adonthell.win_container_swigregister win_container_swigregister(win_container) class win_image(image,win_base): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr __swig_destroy__ = _adonthell.delete_win_image __del__ = lambda self : None; def draw(*args): return _adonthell.win_image_draw(*args) def update(*args): return _adonthell.win_image_update(*args) def input_update(*args): return _adonthell.win_image_input_update(*args) def set_brightness(*args): return _adonthell.win_image_set_brightness(*args) def set_trans(*args): return _adonthell.win_image_set_trans(*args) def pack(*args): return _adonthell.win_image_pack(*args) def set_auto_refresh(*args): return _adonthell.win_image_set_auto_refresh(*args) def __init__(self, *args): this = _adonthell.new_win_image(*args) try: self.this.append(this) except: self.this = this win_image_swigregister = _adonthell.win_image_swigregister win_image_swigregister(win_image) label_NOTHING = _adonthell.label_NOTHING label_AUTO_HEIGHT = _adonthell.label_AUTO_HEIGHT label_AUTO_SIZE = _adonthell.label_AUTO_SIZE class label(image): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_label(*args) try: self.this.append(this) except: self.this = this def text_string(*args): return _adonthell.label_text_string(*args) def text_char(*args): return _adonthell.label_text_char(*args) def set_text(*args): return _adonthell.label_set_text(*args) def add_text(*args): return _adonthell.label_add_text(*args) def set_font(*args): return _adonthell.label_set_font(*args) def set_form(*args): return _adonthell.label_set_form(*args) def set_cursor_visible(*args): return _adonthell.label_set_cursor_visible(*args) def set_cursor_moveable(*args): return _adonthell.label_set_cursor_moveable(*args) def resize(*args): return _adonthell.label_resize(*args) def update(*args): return _adonthell.label_update(*args) def input_update(*args): return _adonthell.label_input_update(*args) __swig_destroy__ = _adonthell.delete_label __del__ = lambda self : None; label_swigregister = _adonthell.label_swigregister label_swigregister(label) class win_label(label,win_base): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_label(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_label __del__ = lambda self : None; def draw(*args): return _adonthell.win_label_draw(*args) def update(*args): return _adonthell.win_label_update(*args) def input_update(*args): return _adonthell.win_label_input_update(*args) def set_brightness(*args): return _adonthell.win_label_set_brightness(*args) def set_trans(*args): return _adonthell.win_label_set_trans(*args) def pack(*args): return _adonthell.win_label_pack(*args) def set_auto_refresh(*args): return _adonthell.win_label_set_auto_refresh(*args) win_label_swigregister = _adonthell.win_label_swigregister win_label_swigregister(win_label) class label_input(label): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def input_update(*args): return _adonthell.label_input_input_update(*args) def __init__(self, *args): this = _adonthell.new_label_input(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_label_input __del__ = lambda self : None; label_input_swigregister = _adonthell.label_input_swigregister label_input_swigregister(label_input) class win_write(label_input,win_base): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_write(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_write __del__ = lambda self : None; def draw(*args): return _adonthell.win_write_draw(*args) def update(*args): return _adonthell.win_write_update(*args) def input_update(*args): return _adonthell.win_write_input_update(*args) def set_brightness(*args): return _adonthell.win_write_set_brightness(*args) def set_trans(*args): return _adonthell.win_write_set_trans(*args) def pack(*args): return _adonthell.win_write_pack(*args) def set_auto_refresh(*args): return _adonthell.win_write_set_auto_refresh(*args) win_write_swigregister = _adonthell.win_write_swigregister win_write_swigregister(win_write) class win_mapview(mapview,win_base): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_mapview(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_mapview __del__ = lambda self : None; def draw(*args): return _adonthell.win_mapview_draw(*args) def update(*args): return _adonthell.win_mapview_update(*args) def input_update(*args): return _adonthell.win_mapview_input_update(*args) def set_brightness(*args): return _adonthell.win_mapview_set_brightness(*args) def set_trans(*args): return _adonthell.win_mapview_set_trans(*args) def pack(*args): return _adonthell.win_mapview_pack(*args) def set_auto_refresh(*args): return _adonthell.win_mapview_set_auto_refresh(*args) win_mapview_swigregister = _adonthell.win_mapview_swigregister win_mapview_swigregister(win_mapview) class win_scrollbar(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_scrollbar(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_scrollbar __del__ = lambda self : None; def update_bar(*args): return _adonthell.win_scrollbar_update_bar(*args) def load(*args): return _adonthell.win_scrollbar_load(*args) def update_back(*args): return _adonthell.win_scrollbar_update_back(*args) def destroy(*args): return _adonthell.win_scrollbar_destroy(*args) def set_scrollbar(*args): return _adonthell.win_scrollbar_set_scrollbar(*args) def set_visible_scrollbar(*args): return _adonthell.win_scrollbar_set_visible_scrollbar(*args) def set_trans_scrollbar(*args): return _adonthell.win_scrollbar_set_trans_scrollbar(*args) def set_brightness_scrollbar(*args): return _adonthell.win_scrollbar_set_brightness_scrollbar(*args) def draw(*args): return _adonthell.win_scrollbar_draw(*args) def height_bar(*args): return _adonthell.win_scrollbar_height_bar(*args) win_scrollbar_swigregister = _adonthell.win_scrollbar_swigregister win_scrollbar_swigregister(win_scrollbar) win_scroll_PAD_DEFAULT = _adonthell.win_scroll_PAD_DEFAULT class win_scroll(win_container,win_scrollbar): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_scroll(*args) try: self.this.append(this) except: self.this = this def amplitude(*args): return _adonthell.win_scroll_amplitude(*args) def add(*args): return _adonthell.win_scroll_add(*args) def remove(*args): return _adonthell.win_scroll_remove(*args) def remove_all(*args): return _adonthell.win_scroll_remove_all(*args) def resize(*args): return _adonthell.win_scroll_resize(*args) def destroy(*args): return _adonthell.win_scroll_destroy(*args) def draw(*args): return _adonthell.win_scroll_draw(*args) def update(*args): return _adonthell.win_scroll_update(*args) def input_update(*args): return _adonthell.win_scroll_input_update(*args) def set_space_between_border(*args): return _adonthell.win_scroll_set_space_between_border(*args) def set_space_between_object(*args): return _adonthell.win_scroll_set_space_between_object(*args) def cursor_y(*args): return _adonthell.win_scroll_cursor_y(*args) def set_auto_scrollbar(*args): return _adonthell.win_scroll_set_auto_scrollbar(*args) def set_auto_refresh(*args): return _adonthell.win_scroll_set_auto_refresh(*args) def set_brightness(*args): return _adonthell.win_scroll_set_brightness(*args) def set_trans(*args): return _adonthell.win_scroll_set_trans(*args) __swig_destroy__ = _adonthell.delete_win_scroll __del__ = lambda self : None; win_scroll_swigregister = _adonthell.win_scroll_swigregister win_scroll_swigregister(win_scroll) win_select_MODE_BORDER = _adonthell.win_select_MODE_BORDER win_select_MODE_BRIGHTNESS = _adonthell.win_select_MODE_BRIGHTNESS class win_select(win_scroll): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_select(*args) try: self.this.append(this) except: self.this = this def input_update(*args): return _adonthell.win_select_input_update(*args) def add(*args): return _adonthell.win_select_add(*args) def remove(*args): return _adonthell.win_select_remove(*args) def remove_all(*args): return _adonthell.win_select_remove_all(*args) def set_mode(*args): return _adonthell.win_select_set_mode(*args) def set_border_select(*args): return _adonthell.win_select_set_border_select(*args) def set_circle(*args): return _adonthell.win_select_set_circle(*args) def is_circle(*args): return _adonthell.win_select_is_circle(*args) def set_default(*args): return _adonthell.win_select_set_default(*args) def set_default_object(*args): return _adonthell.win_select_set_default_object(*args) def set_default_position(*args): return _adonthell.win_select_set_default_position(*args) def get_selected_object(*args): return _adonthell.win_select_get_selected_object(*args) def get_selected_position(*args): return _adonthell.win_select_get_selected_position(*args) __swig_destroy__ = _adonthell.delete_win_select __del__ = lambda self : None; win_select_swigregister = _adonthell.win_select_swigregister win_select_swigregister(win_select) class win_theme(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_win_theme(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_win_theme __del__ = lambda self : None; def destroy(*args): return _adonthell.win_theme_destroy(*args) win_theme_swigregister = _adonthell.win_theme_swigregister win_theme_swigregister(win_theme) class text_bubble(win_label): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_text_bubble(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_text_bubble __del__ = lambda self : None; def update(*args): return _adonthell.text_bubble_update(*args) def remaining(*args): return _adonthell.text_bubble_remaining(*args) text_bubble_swigregister = _adonthell.text_bubble_swigregister text_bubble_swigregister(text_bubble) MAX_COLOR = _adonthell.MAX_COLOR class dialog_screen(win_container): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_dialog_screen(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_dialog_screen __del__ = lambda self : None; def init(*args): return _adonthell.dialog_screen_init(*args) def set_portrait(*args): return _adonthell.dialog_screen_set_portrait(*args) def set_name(*args): return _adonthell.dialog_screen_set_name(*args) def set_npc(*args): return _adonthell.dialog_screen_set_npc(*args) def update(*args): return _adonthell.dialog_screen_update(*args) def run(*args): return _adonthell.dialog_screen_run(*args) dialog_screen_swigregister = _adonthell.dialog_screen_swigregister dialog_screen_swigregister(dialog_screen) LOAD_SCREEN = _adonthell.LOAD_SCREEN SAVE_SCREEN = _adonthell.SAVE_SCREEN class data_screen(win_container): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_data_screen(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_data_screen __del__ = lambda self : None; def update(*args): return _adonthell.data_screen_update(*args) def get_result(*args): return _adonthell.data_screen_get_result(*args) data_screen_swigregister = _adonthell.data_screen_swigregister data_screen_swigregister(data_screen) class gamedata(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr def __init__(self, *args): this = _adonthell.new_gamedata(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_gamedata __del__ = lambda self : None; def put(*args): return _adonthell.gamedata_put(*args) def get(*args): return _adonthell.gamedata_get(*args) def directory(*args): return _adonthell.gamedata_directory(*args) def description(*args): return _adonthell.gamedata_description(*args) def location(*args): return _adonthell.gamedata_location(*args) def gametime(*args): return _adonthell.gamedata_gametime(*args) def timestamp(*args): return _adonthell.gamedata_timestamp(*args) def set_description(*args): return _adonthell.gamedata_set_description(*args) def set_directory(*args): return _adonthell.gamedata_set_directory(*args) def set_gametime(*args): return _adonthell.gamedata_set_gametime(*args) init = staticmethod(_adonthell.gamedata_init) cleanup = staticmethod(_adonthell.gamedata_cleanup) load_characters = staticmethod(_adonthell.gamedata_load_characters) load_quests = staticmethod(_adonthell.gamedata_load_quests) load_mapengine = staticmethod(_adonthell.gamedata_load_mapengine) load_audio = staticmethod(_adonthell.gamedata_load_audio) load = staticmethod(_adonthell.gamedata_load) load_newest = staticmethod(_adonthell.gamedata_load_newest) save = staticmethod(_adonthell.gamedata_save) unload = staticmethod(_adonthell.gamedata_unload) next_save = staticmethod(_adonthell.gamedata_next_save) user_data_dir = staticmethod(_adonthell.gamedata_user_data_dir) game_data_dir = staticmethod(_adonthell.gamedata_game_data_dir) get_saved_game = staticmethod(_adonthell.gamedata_get_saved_game) quests = staticmethod(_adonthell.gamedata_quests) player = staticmethod(_adonthell.gamedata_player) get_character = staticmethod(_adonthell.gamedata_get_character) get_quest = staticmethod(_adonthell.gamedata_get_quest) characters = staticmethod(_adonthell.gamedata_characters) engine = staticmethod(_adonthell.gamedata_engine) gamedata_swigregister = _adonthell.gamedata_swigregister gamedata_swigregister(gamedata) gamedata_init = _adonthell.gamedata_init gamedata_cleanup = _adonthell.gamedata_cleanup gamedata_load_characters = _adonthell.gamedata_load_characters gamedata_load_quests = _adonthell.gamedata_load_quests gamedata_load_mapengine = _adonthell.gamedata_load_mapengine gamedata_load_audio = _adonthell.gamedata_load_audio gamedata_load = _adonthell.gamedata_load gamedata_load_newest = _adonthell.gamedata_load_newest gamedata_save = _adonthell.gamedata_save gamedata_unload = _adonthell.gamedata_unload gamedata_next_save = _adonthell.gamedata_next_save gamedata_user_data_dir = _adonthell.gamedata_user_data_dir gamedata_game_data_dir = _adonthell.gamedata_game_data_dir gamedata_get_saved_game = _adonthell.gamedata_get_saved_game gamedata_quests = _adonthell.gamedata_quests gamedata_player = _adonthell.gamedata_player gamedata_get_character = _adonthell.gamedata_get_character gamedata_get_quest = _adonthell.gamedata_get_quest gamedata_characters = _adonthell.gamedata_characters gamedata_engine = _adonthell.gamedata_engine class game(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr User_data_dir = _swig_property(_adonthell.game_User_data_dir_get, _adonthell.game_User_data_dir_set) Global_data_dir = _swig_property(_adonthell.game_Global_data_dir_get, _adonthell.game_Global_data_dir_set) Game_data_dir = _swig_property(_adonthell.game_Game_data_dir_get, _adonthell.game_Game_data_dir_set) init = staticmethod(_adonthell.game_init) set_game_data_dir = staticmethod(_adonthell.game_set_game_data_dir) user_data_dir = staticmethod(_adonthell.game_user_data_dir) global_data_dir = staticmethod(_adonthell.game_global_data_dir) game_data_dir = staticmethod(_adonthell.game_game_data_dir) find_file = staticmethod(_adonthell.game_find_file) find_directory = staticmethod(_adonthell.game_find_directory) def __init__(self, *args): this = _adonthell.new_game(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_game __del__ = lambda self : None; game_swigregister = _adonthell.game_swigregister game_swigregister(game) game_init = _adonthell.game_init game_set_game_data_dir = _adonthell.game_set_game_data_dir game_user_data_dir = _adonthell.game_user_data_dir game_global_data_dir = _adonthell.game_global_data_dir game_game_data_dir = _adonthell.game_game_data_dir game_find_file = _adonthell.game_find_file game_find_directory = _adonthell.game_find_directory class nls(object): thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag') __repr__ = _swig_repr init = staticmethod(_adonthell.nls_init) set_language = staticmethod(_adonthell.nls_set_language) translate = staticmethod(_adonthell.nls_translate) def __init__(self, *args): this = _adonthell.new_nls(*args) try: self.this.append(this) except: self.this = this __swig_destroy__ = _adonthell.delete_nls __del__ = lambda self : None; nls_swigregister = _adonthell.nls_swigregister nls_swigregister(nls) nls_init = _adonthell.nls_init nls_set_language = _adonthell.nls_set_language nls_translate = _adonthell.nls_translate adonthell-0.3.5/src/modules/dialogue.py0000644000076500000240000000642507525017626015033 00000000000000# # $Id: dialogue.py,v 1.2 2002/08/09 20:01:26 ksterker Exp $ # # (C) Copyright 2002 Kai Sterker # Part of the Adonthell Project http://adonthell.linuxgames.com # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY. # # See the COPYING file for more details # import sys # -- Base class for all dialogue scripts class base: # -- Execute one iteration of the dialogue # This consists of the following steps: # # 1) Run the code of the selected line of text # 2) Append all followers whose condition is true to the speech # to be used for the next selection. Also append the speaker # associated with each line of text. # # All data for these actions is retrieved from the derived class. def run (self, index): self.speech = [] self.speaker = [] result = 0 # -- get the code to execute and the list of following # dialogue options code, followers = self.dlg[index][1:] # -- if there is code, try to execute it if code != -1: self.execute (self.code[code], 1) # -- for each following option: for (speech, operation, cond) in followers: # -- if we're in an elif or else part of a condition # and a former condition was true already, continue if operation == 1 and result == 1: continue # -- try to ececute the condition, if there is one if cond != -1: result = self.execute (self.cond[cond], 0) else: result = 1 # -- only append the option if the condition was met if result == 1: speaker = self.dlg[speech][0] if speaker == "Default": speaker = self.the_npc.get_name () self.speaker.append (speaker) self.speech.append (speech) # -- finally, return return # -- Execute some arbitrary Python code def execute (self, statement, multiline): try: # -- this is for multiline code without retval if multiline == 1: code = compile (statement, "", "exec") return eval (code, self.namespace, locals ()) # -- this is for single line statements with retval else: return eval (statement, self.namespace, locals ()) except: # -- in case of an error, print what happened and continue err_type, value = sys.exc_info ()[:2] print "Error in statement\n %s %s:\n '%s'" \ % (statement, str (err_type), str (value)) return 0 # -- Decide whether the dialogue engine should return control to the # player (1) or not (0) def stop (self, index): followers = self.dlg[index][2] if len (followers) > 0 and self.dlg[followers[0][0]][0] == None: return 0 else: return 1 # -- Allow usage of undeclared variables def __getattr__ (self, name): return 0 adonthell-0.3.5/src/modules/Makefile.am0000755000076500000240000000052310754124334014711 00000000000000moddatadir = $(gamedatadir)/modules pyc_files = dialogue.pyc adonthell.pyc py_files = dialogue.py adonthell.py moddata_DATA = $(pyc_files) EXTRA_DIST = $(py_files) all: $(py_files) $(top_builddir)/src/adonthell-0.3 -c %.pyc : %.py @if test x$(top_srcdir) != x$(top_builddir) ; then \ cp $< . ; \ fi ; CLEANFILES = $(pyc_files) adonthell-0.3.5/src/modules/Makefile.in0000644000076500000240000002621011017574471014724 00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/modules DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \ $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/lib-ld.m4 \ $(top_srcdir)/m4/lib-link.m4 $(top_srcdir)/m4/lib-prefix.m4 \ $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(moddatadir)" moddataDATA_INSTALL = $(INSTALL_DATA) DATA = $(moddata_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ FT2_CFLAGS = @FT2_CFLAGS@ FT2_CONFIG = @FT2_CONFIG@ FT2_LIBS = @FT2_LIBS@ GMSGFMT = @GMSGFMT@ GMSGFMT_015 = @GMSGFMT_015@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INTLLIBS = @INTLLIBS@ INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ LDFLAGS = @LDFLAGS@ LIBICONV = @LIBICONV@ LIBINTL = @LIBINTL@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBICONV = @LTLIBICONV@ LTLIBINTL = @LTLIBINTL@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ MSGFMT_015 = @MSGFMT_015@ MSGMERGE = @MSGMERGE@ OBJEXT = @OBJEXT@ OGG_CFLAGS = @OGG_CFLAGS@ OGG_DEFS = @OGG_DEFS@ OGG_LIBS = @OGG_LIBS@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ POSUB = @POSUB@ PYPACKAGE = @PYPACKAGE@ PY_CFLAGS = @PY_CFLAGS@ PY_FWDIR = @PY_FWDIR@ PY_LIBS = @PY_LIBS@ PY_SPDIR = @PY_SPDIR@ P_DOT = @P_DOT@ P_DOXYGEN = @P_DOXYGEN@ P_SWIG = @P_SWIG@ RANLIB = @RANLIB@ SDL_CFLAGS = @SDL_CFLAGS@ SDL_CONFIG = @SDL_CONFIG@ SDL_DEFS = @SDL_DEFS@ SDL_LIBS = @SDL_LIBS@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ VORBISENC_LIBS = @VORBISENC_LIBS@ VORBISFILE_LIBS = @VORBISFILE_LIBS@ VORBIS_CFLAGS = @VORBIS_CFLAGS@ VORBIS_LIBS = @VORBIS_LIBS@ XGETTEXT = @XGETTEXT@ XGETTEXT_015 = @XGETTEXT_015@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gamedatadir = @gamedatadir@ haveldd = @haveldd@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ moddatadir = $(gamedatadir)/modules pyc_files = dialogue.pyc adonthell.pyc py_files = dialogue.py adonthell.py moddata_DATA = $(pyc_files) EXTRA_DIST = $(py_files) CLEANFILES = $(pyc_files) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/modules/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-moddataDATA: $(moddata_DATA) @$(NORMAL_INSTALL) test -z "$(moddatadir)" || $(MKDIR_P) "$(DESTDIR)$(moddatadir)" @list='$(moddata_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(moddataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(moddatadir)/$$f'"; \ $(moddataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(moddatadir)/$$f"; \ done uninstall-moddataDATA: @$(NORMAL_UNINSTALL) @list='$(moddata_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(moddatadir)/$$f'"; \ rm -f "$(DESTDIR)$(moddatadir)/$$f"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(moddatadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-moddataDATA install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-moddataDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-moddataDATA \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-moddataDATA all: $(py_files) $(top_builddir)/src/adonthell-0.3 -c %.pyc : %.py @if test x$(top_srcdir) != x$(top_builddir) ; then \ cp $< . ; \ 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: adonthell-0.3.5/src/nls.cc0000644000076500000240000000356510501453526012314 00000000000000/* $Id: nls.cc,v 1.10 2006/09/12 06:44:38 ksterker Exp $ Copyright (C) 2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file nls.cc * * @author Kai Sterker * @brief National Language Support */ #ifdef HAVE_CONFIG_H #include #endif #include #include "gettext.h" #include "nls.h" // Initialize NLS void nls::init (config &myconfig) { #if ENABLE_NLS // if no language specified in the config file, determine // the locale from the environment variables if (myconfig.language == "") setlocale (LC_MESSAGES, ""); // otherwise overwrite any environment variables else set_language (myconfig.language); // open the message catalogue std::string location = myconfig.gamedir + "/locale"; const char *domain = myconfig.game_name.c_str (); bindtextdomain (domain, location.c_str ()); textdomain (domain); bind_textdomain_codeset(domain, "UTF-8"); #endif } // Set the language to use void nls::set_language (const string &language) { #if ENABLE_NLS #ifndef __BEOS__ string lang = "LANGUAGE=" + language; putenv ((char *) lang.c_str ()); #else // TODO: no putenv on BEOS, but there should be setenv #endif { // tell gettext that the language has changed extern int _nl_msg_cat_cntr; ++_nl_msg_cat_cntr; } setlocale (LC_MESSAGES, language.c_str ()); #endif } // Translate some text const char* nls::translate (const string &text) { #if ENABLE_NLS return gettext (text.c_str ()); #else return text.c_str (); #endif } adonthell-0.3.5/src/nls.h0000644000076500000240000000322607456042750012160 00000000000000/* $Id: nls.h,v 1.2 2002/04/13 14:51:20 ksterker Exp $ Copyright (C) 2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file nls.h * * @author Kai Sterker * @brief National Language Support */ #ifndef __NLS_H__ #define __NLS_H__ #include "prefs.h" #ifndef SWIG using std::string; #endif /** * Provides various services for i18n and l10n. */ class nls { public: /** * Initialize national language support. * @param myconfig The Engine's configuration */ static void init (config &myconfig); /** * Set or change the language to use. Setting the language will * never fail, but only if there is a binary message catalogue * in /po/LC_MESSAGES/ named .mo * the desired language will be actually used. * @param language The country code of the desired language. */ static void set_language (const string &language); /** * Translate the given string if it's found in the message * catalogue. This is just a wrapper around the GNU gettext * function for older versions of Python. * @param text The text to translate * @return either the translated text, or the given text if * no translation was found. */ static const char* translate (const string &text); }; #endif // __NLS_H__ adonthell-0.3.5/src/path.cc0000644000076500000240000002423707361110403012445 00000000000000/* $Id: path.cc,v 1.5 2001/10/10 18:18:43 gnurou Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file path.cc * @author Alexandre Courbot * * @brief Defines the path class. * * */ #include "path.h" #include "landmap.h" #include #include u_int16 path::goal_estimate (u_int16 x, u_int16 y) { u_int16 est; if (x > goal.x) est = x - goal.x; else est = goal.x - x; if (y > goal.y) est += y - goal.y; else est += goal.y - y; return est; } bool path::calculate () { // Sorted Open nodes. priority_queue , compare_squarecost> sorted_nodes; // Open nodes. vector opened_nodes; // Closed nodes. vector closed_nodes; moves_to_goal.clear (); mapsquare_area * smap = refmap->get_submap (submap); mapsquare * n = smap->get_square (start.x, start.y); // Origin node n->g = 0; n->h = goal_estimate (n->x (), n->y ()); n->f = n->g + n->h; n->parent = NULL; sorted_nodes.push (n); opened_nodes.push_back (n); while (!sorted_nodes.empty ()) { n = sorted_nodes.top (); sorted_nodes.pop (); opened_nodes.erase (find (opened_nodes.begin (), opened_nodes.end (), n)); // Have we reached the goal? if (n->x () == goal.x && n->y () == goal.y) { while (n->parent != NULL) { // Vertical move if (n->x () == n->parent->x ()) { // Go to north if (n->y () - n->parent->y () < 0) moves_to_goal.push_back (WALK_NORTH); // Go to south else moves_to_goal.push_back (WALK_SOUTH); } // Horizontal move else { // Go to west if (n->x () - n->parent->x () < 0) moves_to_goal.push_back (WALK_WEST); // Go to east else moves_to_goal.push_back (WALK_EAST); } n = n->parent; } return true; } // Now proceeding with the successors of n mapsquare * np; // East square // Make sure that the square is not at the edge of the submap // and is directly reachable. // If so, add it to the opened nodes list. if (n->x () + 1 < smap->area_length ()) { np = smap->get_square (n->x () + 1, n->y ()); if (n->is_walkable_east () && np->is_walkable_west () && np->is_free () && (np->can_use_for_pathfinding || (np->x () == goal.x && np->y () == goal.y))) { u_int16 newg = n->g + 1; bool in_opened, in_closed; in_opened = (find (opened_nodes.begin (), opened_nodes.end (), np) != opened_nodes.end ()); in_closed = (find (closed_nodes.begin (), closed_nodes.end (), np) != closed_nodes.end ()); // If np is in opened_nodes or closed_nodes and np->g <= newg, don't do anything. if (!((in_opened || in_closed) && np->g <= newg)) // else add the node to the opened nodes list (if necessary) { np->g = newg; np->h = goal_estimate (np->x (), np->y ()); np->f = np->g + np->h; np->parent = n; // if np is in closed_nodes, remove it if (in_closed) closed_nodes.erase (find (closed_nodes.begin (), closed_nodes.end (), np)); // if np is not in opened_nodes yet, add it if (!in_opened) { sorted_nodes.push (np); opened_nodes.push_back (np); } } } } // West square // Make sure that the square is not at the edge of the submap // and is directly reachable. // If so, add it to the opened nodes list. if (n->x () > 0) { np = smap->get_square (n->x () - 1, n->y ()); if (n->is_walkable_west () && np->is_walkable_east () && np->is_free () && (np->can_use_for_pathfinding || (np->x () == goal.x && np->y () == goal.y))) { u_int16 newg = n->g + 1; bool in_opened, in_closed; in_opened = (find (opened_nodes.begin (), opened_nodes.end (), np) != opened_nodes.end ()); in_closed = (find (closed_nodes.begin (), closed_nodes.end (), np) != closed_nodes.end ()); // If np is in opened_nodes or closed_nodes and np->g <= newg, don't do anything. if (!((in_opened || in_closed) && np->g <= newg)) // else add the node to the opened nodes list (if necessary) { np->g = newg; np->h = goal_estimate (np->x (), np->y ()); np->f = np->g + np->h; np->parent = n; // if np is in closed_nodes, remove it if (in_closed) closed_nodes.erase (find (closed_nodes.begin (), closed_nodes.end (), np)); // if np is not in opened_nodes yet, add it if (!in_opened) { sorted_nodes.push (np); opened_nodes.push_back (np); } } } } // North square // Make sure that the square is not at the edge of the submap // and is directly reachable. // If so, add it to the opened nodes list. if (n->y () > 0) { np = smap->get_square (n->x (), n->y () - 1); if (n->is_walkable_north () && np->is_walkable_south () && np->is_free () && (np->can_use_for_pathfinding || (np->x () == goal.x && np->y () == goal.y))) { u_int16 newg = n->g + 1; bool in_opened, in_closed; in_opened = (find (opened_nodes.begin (), opened_nodes.end (), np) != opened_nodes.end ()); in_closed = (find (closed_nodes.begin (), closed_nodes.end (), np) != closed_nodes.end ()); // If np is in opened_nodes or closed_nodes and np->g <= newg, don't do anything. if (!((in_opened || in_closed) && np->g <= newg)) // else add the node to the opened nodes list (if necessary) { np->g = newg; np->h = goal_estimate (np->x (), np->y ()); np->f = np->g + np->h; np->parent = n; // if np is in closed_nodes, remove it if (in_closed) closed_nodes.erase (find (closed_nodes.begin (), closed_nodes.end (), np)); // if np is not in opened_nodes yet, add it if (!in_opened) { sorted_nodes.push (np); opened_nodes.push_back (np); } } } } // South square // Make sure that the square is not at the edge of the submap // and is directly reachable. // If so, add it to the opened nodes list. if (n->y () + 1 < smap->area_height ()) { np = smap->get_square (n->x (), n->y () + 1); if (n->is_walkable_south () && np->is_walkable_north () && np->is_free () && (np->can_use_for_pathfinding || (np->x () == goal.x && np->y () == goal.y))) { u_int16 newg = n->g + 1; bool in_opened, in_closed; in_opened = (find (opened_nodes.begin (), opened_nodes.end (), np) != opened_nodes.end ()); in_closed = (find (closed_nodes.begin (), closed_nodes.end (), np) != closed_nodes.end ()); // If np is in opened_nodes or closed_nodes and np->g <= newg, don't do anything. if (!((in_opened || in_closed) && np->g <= newg)) // else add the node to the opened nodes list (if necessary) { np->g = newg; np->h = goal_estimate (np->x (), np->y ()); np->f = np->g + np->h; np->parent = n; // if np is in closed_nodes, remove it if (in_closed) closed_nodes.erase (find (closed_nodes.begin (), closed_nodes.end (), np)); // if np is not in opened_nodes yet, add it if (!in_opened) { sorted_nodes.push (np); opened_nodes.push_back (np); } } } } closed_nodes.push_back (n); } return false; } s_int8 path::get_state (igzstream & file) { u_int16 nb_moves; clear (); submap << file; dir << file; start.x << file; start.y << file; goal.x << file; goal.y << file; nb_moves << file; for (u_int16 i = 0; i < nb_moves; i++) { u_int16 t; t << file; moves_to_goal.push_back (t); } return 0; } s_int8 path::put_state (ogzstream & file) const { submap >> file; dir >> file; start.x >> file; start.y >> file; goal.x >> file; goal.y >> file; nbr_moves () >> file; for (u_int16 i = 0; i < nbr_moves (); i++) { get_move (i) >> file; } return 0; } adonthell-0.3.5/src/path.h0000644000076500000240000000714307626252732012324 00000000000000/* $Id: path.h,v 1.7 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file path.h * @author Alexandre Courbot * * @brief Declares the path class. * * */ #ifndef PATH_H__ #define PATH_H__ #include "mapsquare.h" #ifndef SWIG using namespace std; #endif class landmap; /** * A* pathfinding algorithm implementation class. * * This class calculates the shortest way from a begin point * to a goal point on a landmap using the A* algorithm. It * stores a list of directions that when followed lead from * the start to the goal. * * This class is particularly well designed for mapcharacters, * who will often need to walk from one point to another. * */ class path { private: struct compare_squarecost { bool operator() (const mapsquare * s1, const mapsquare * s2) { return (s1->f > s2->f); } }; public: #ifndef SWIG /** * (x, y) coordinates of a point on a submap. * */ struct area_coord { /** * X position. * */ u_int16 x; /** * Y position. * */ u_int16 y; }; /** * Landmap where the pathfinding will occur. * */ landmap * refmap; /** * Submap where the pathfinding will occur. * */ u_int16 submap; /** * Direction to face once the goal is reached. * */ u_int16 dir; /** * Start point. * */ area_coord start; /** * Goal point. * */ area_coord goal; #endif // SWIG /** * Totally clears the path. * */ void clear () { moves_to_goal.clear (); } /** * Tries to find the shortest path possible between the * \e start point and the \e goal point. * * @return \e true if a path was found, \e false otherwise. */ bool calculate (); /** * Returns the number of moves between \e start and \e goal. * * * @return Number of moves between \e start and \e goal. */ u_int16 nbr_moves () const { return moves_to_goal.size (); } /** * Returns the move to perform when at position \e nbr. * * @param nbr Index of the move to get. * * @return Direction (move) at index \e nbr. */ u_int16 get_move (u_int16 nbr) const { return moves_to_goal[nbr_moves () - (nbr + 1)]; } /** * Restore the path's state from an opened file. * * @param file the opened file from which to load the state. * * @return 0 in case of success, error code otherwise. * * @bug the landmap this path belongs to must be restored manually! */ s_int8 get_state (igzstream & file); /** * Saves the path's state into an opened file. * * @param file the opened file where to the state. * * @return 0 in case of success, error code otherwise. * * @bug the landmap this path belongs to can't be saved (as it's a pointer)! */ s_int8 put_state (ogzstream & file) const; private: vector moves_to_goal; u_int16 goal_estimate (u_int16 x, u_int16 y); }; #endif adonthell-0.3.5/src/pnm.cc0000644000076500000240000000446707434771302012322 00000000000000/* $Id: pnm.cc,v 1.5 2002/02/20 19:02:26 ksterker Exp $ Copyright (C) 1999 The Adonthell Project Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file pnm.cc * @author Alexandre Courbot * * @brief Defines the pnm static class. * * */ #include "pnm.h" #include #include using namespace std; void *pnm::get (SDL_RWops * file, u_int16 * length, u_int16 * height) { void *image; char sign[10]; u_int16 l, h; u_int32 i = 0; SDL_RWread (file, sign, 1, 2); if ((sign[0] != 'P') || (sign[1] != '6')) { printf ("Invalid format.\n"); return (NULL); } pnm_gotonextline (file); /* Getting height and length */ while (pnm_checkforcomment (file)); do { SDL_RWread (file, &sign[i], 1, 1); i++; } while (sign[i - 1] != ' '); sign[i - 1] = 0; l = atoi (sign); i = 0; do { SDL_RWread (file, &sign[i], 1, 1); i++; } while (sign[i - 1] != '\n'); sign[i - 1] = 0; h = atoi (sign); /* Going to next line */ pnm_gotonextline (file); /* Reading the image */ image = calloc (l * h, 3); SDL_RWread (file, image, 1, l * h * 3); if (length) *length = l; if (height) *height = h; return (image); } void pnm::put (SDL_RWops * file, void *image, u_int16 length, u_int16 height) { char s[30]; sprintf (s, "P6\n%d %d\n255\n", length, height); SDL_RWwrite (file, s, sizeof (char), strlen (s)); SDL_RWwrite (file, image, 1, length * height * 3); } // Private methods. void pnm::pnm_gotonextline (SDL_RWops * file) { char buff; do { SDL_RWread (file, &buff, 1, 1); } while (buff != '\n'); } int pnm::pnm_checkforcomment (SDL_RWops * file) { char buff; SDL_RWread (file, &buff, 1, 1); if (buff == '#') { pnm_gotonextline (file); return (1); } else { SDL_RWseek (file, -1, SEEK_CUR); return (0); } } adonthell-0.3.5/src/pnm.h0000644000076500000240000000347407317163662012165 00000000000000/* $Id: pnm.h,v 1.10 2001/06/29 20:40:18 gnurou Exp $ Copyright (C) 1999/2000/2001 The Adonthell Project Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file pnm.h * @author Alexandre Courbot * * @brief Declares the pnm static class. * * */ #include "types.h" /** * Allow reading and writing PNM files. * */ class pnm { public: /** * Reads a PNM %image from an opened file. * * @warning * The returned pointer is allocated by this function with calloc (). * Don't forget to free () it when you don't need it anymore! * * @param file opened file from which to read. * @param length pointer to the integer which will contain the %image's length. * @param height pointer to the integer which will contain the %image's height. * * @return allocated pointer containing the PNM %image. */ static void *get (SDL_RWops * file, u_int16 * length, u_int16 * height); /** * Saves a PNM %image into an opened file. * * @param file the opened file to write the PNM %image to. * @param image the PNM %image data. * @param length the length of the %image to write. * @param height the height of the %image to write. */ static void put (SDL_RWops * file, void *image, u_int16 length, u_int16 height); private: /// Go to the next file's line. static void pnm_gotonextline (SDL_RWops * file); /// Skip PNM comments. static int pnm_checkforcomment (SDL_RWops * file); }; adonthell-0.3.5/src/prefs.cc0000644000076500000240000002722010476637610012642 00000000000000/* $Id: prefs.cc,v 1.36 2006/09/03 20:48:08 ksterker Exp $ Copyright (C) 2000/2001/2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file prefs.cc * * @author Kai Sterker * @brief Adonthell's configuration */ #ifdef HAVE_CONFIG_H #include #endif #include #include #include #include #include #include #include "prefs.h" #include "python_class.h" #include "game.h" config::config () { // set some default values where possible #if defined (WIN32) || defined (__APPLE__) screen_mode = 1; // Fullscreen #else screen_mode = 0; // Fullscreen #endif #if defined (QTOPIA) double_screen = 0; // Double screen #else double_screen = 1; // Double screen #endif quick_load = 0; // Quick-load disabled audio_channels = 1; // Stereo audio_resolution = 1; // 16 bit audio_sample_rate = 2; // 11025, 22050 or 44100 Hz audio_volume = 100; // 0 - 100% language = ""; // Let the user's environment decide font = ""; // use default font // set the path to the adonthellrc file: #ifndef SINGLE_DIR_INST adonthellrc = string (getenv ("HOME")) + "/.adonthell"; #else adonthellrc = string ("."); #endif } /** * Displays the help message - for internal use only. * */ void print_help_message (char * argv[]) { cout << "Usage: " << argv[0] << " [OPTIONS] GAME" << endl; cout << endl; cout << "Where [OPTIONS] can be:\n"; cout << "-h print this help message" << endl; cout << "-d print the data directory and exit" << endl; cout << "-v print version and exit" << endl; cout << "-l list installed games and exit" << endl; cout << "-g dir play the game contained in dir (for development only)" << endl; cout << "-c byte-compile all Python scripts in this directory (for " << endl; cout << " development only)" << endl; } /** * Displays the available games - for internal use only. * */ void print_available_games () { struct dirent * d; DIR * mydir = opendir ((game::global_data_dir() + "/games").c_str()); bool nogames = true; if (!mydir) { cerr << "Cannot open directory " << game::global_data_dir() + "/games!" << endl; exit (1); } while ((d = readdir (mydir)) != NULL) { string s (d->d_name); if (s != "." && s != "..") { if (nogames) { nogames = false; cout << "Installed games (Suitable for the GAME parameter):\n"; } cout << " - " << d->d_name << endl; } } if (nogames) cout << "No games available.\n"; closedir (mydir); } void config::parse_arguments (int argc, char * argv[]) { int c; // Check for options while (1) { c = getopt (argc, argv, "lcdhvg:"); if (c == -1) break; switch (c) { case 'l': print_available_games (); exit (0); break; case 'd': cout << game::global_data_dir() << endl; exit (0); break; case 'v': cout << VERSION << endl; exit (0); break; case 'c': { python::init (); python::exec_string ("import compileall; compileall.compile_dir (\".\", 0);"); python::cleanup (); exit (0); break; } case 'g': { gamedir = optarg; if (gamedir[gamedir.size () - 1] == '/') gamedir.erase (gamedir.size () - 1); // Check whether the requested game directory exists DIR * mydir = opendir (gamedir.c_str ()); if (!mydir) { cerr << "Cannot open directory " << gamedir << "!" << endl; exit (1); } closedir (mydir); break; } case '?': case 'h': print_help_message (argv); exit (0); break; } } // Check whether the GAME parameter is needed if (gamedir == "") { // Check whether the GAME parameter is given if (argc - optind != 1) { print_help_message (argv); exit (0); } // Check whether the requested game exists struct dirent * d; DIR * mydir = opendir ((game::global_data_dir() + "/games").c_str()); bool found = false; if (!mydir) { cerr << "Cannot open directory " << game::global_data_dir() + "/games!" << endl; exit (1); } while ((d = readdir (mydir)) != NULL) { if (string (d->d_name) == argv[optind]) found = true; } closedir (mydir); if (!found) { cerr << "Game '" << argv[optind] << "' can't be found.\n" << "Run '" << argv[0] << " -l' for a list of available games.\n"; exit (1); } // The game exists, so let the show continue... gamedir = game::global_data_dir() + "/games/"; gamedir += argv[optind]; } // Now check whether the directory is a valid game directory string tfile = gamedir + "/gamename.txt"; ifstream f (tfile.c_str ()); if (!f.is_open ()) { cerr << "Directory " << gamedir << " is not a valid game directory.\n"; exit (1); } char t[256]; f.getline (t, 256); game_name = t; f.close (); } // That's more or less a move operator, as the source is destroyed config& config::operator =(const config *c) { screen_mode = c->screen_mode; audio_channels = c->audio_channels; audio_resolution = c->audio_resolution; audio_sample_rate = c->audio_sample_rate; audio_volume = c->audio_volume; adonthellrc = c->adonthellrc; delete c; return *this; } char *config::get_adonthellrc () { return (char *) adonthellrc.c_str (); } // write a default configuration file void config::write_adonthellrc () { string fname; #ifndef WIN32 fname = adonthellrc + "/adonthellrc"; #else fname = adonthellrc + "/adonthell.ini"; #endif ofstream rc (fname.c_str ()); rc << "# Sample Adonthell configuration file;\n" << "# edit to your needs!\n\n" << "# Screen-mode num\n# 0 Windowed mode\n" << "# 1 Fullscreen mode\n Screen-mode " << (int) screen_mode << "\n\n" << "# Double-size num\n# 0 320x240 mode\n" << "# 1 640x480 (double) mode\n Double-size " << (int) double_screen << "\n\n" << "# Language [locale]\n# Where locale has the form fr_FR or de_DE, etc.\n" << " Language [" << language << "]\n\n" << "# Font [font.ttf]\n# Path to a true type font to use. Leave empty for default\n" << " Font [" << font << "]\n\n" << "# Quick-load num\n# 0 off\n# 1 on\n Quick-load " << (int) quick_load << "\n\n" << "# Audio-channels num\n# 0 Mono\n# 1 Stereo\n" << " Audio-channels " << (int) audio_channels << "\n\n" << "# Audio-resolution num\n# 0 8 bit\n# 1 16 bit\n" << " Audio-resolution " << (int) audio_resolution << "\n\n" << "# Audio-sample-rate num\n# 0 11025 Hz\n# 1 22050 Hz\n# 2 44100 Hz\n" << " Audio-sample-rate " << (int) audio_sample_rate << "\n\n" << "# Audio-volume num\n# 0 - 100 %\n" << " Audio-volume " << (int) audio_volume << "\n\n" << "# Version number of this file. Please don't edit\n Version [" << VERSION << "]\n"; rc.close (); } bool config::read_adonthellrc () { int n, i = 1; u_int32 major = 0, minor = 0, micro = 0, MAJOR, MINOR, MICRO; char suffix[16] = "\0", SUFFIX[16] = "\0"; string s, fname; #ifndef WIN32 fname = adonthellrc + "/adonthellrc"; #else fname = adonthellrc + "/adonthell.ini"; #endif // try to create that directory in case it dosn't exist #ifdef WIN32 mkdir (adonthellrc.c_str ()); #else mkdir (adonthellrc.c_str (), 0700); #endif // prefsin is declared in lex.prefs.c prefsin = fopen (fname.c_str (), "r"); // open failed -> try to write new configuration if (!prefsin) { write_adonthellrc (); // now try again if (!(prefsin = fopen (fname.c_str (), "r"))) { fprintf (stderr, "*** warning: prefs::read_adonthellrc: creating config file failed\n"); return false; } } // adonthellrc opened -> read configuration while (i) { switch (i = parse_adonthellrc (n, s)) { case PREFS_LANGUAGE: { if (parse_adonthellrc (n, s) == PREFS_STR) language = s; break; } case PREFS_FONT: { if (parse_adonthellrc (n, s) == PREFS_NUM) font = s; break; } case PREFS_SCREEN_MODE: { if (parse_adonthellrc (n, s) == PREFS_NUM) screen_mode = n; break; } case PREFS_DOUBLE_SCREEN: { if (parse_adonthellrc (n, s) == PREFS_NUM) double_screen = n; break; } case PREFS_QUICK_LOAD: { if (parse_adonthellrc (n, s) == PREFS_NUM) quick_load = n; break; } case PREFS_AUDIO_RESOLUTION: { if (parse_adonthellrc (n, s) == PREFS_NUM) audio_resolution = n; break; } case PREFS_AUDIO_CHANNELS: { if (parse_adonthellrc (n, s) == PREFS_NUM) audio_channels = n; break; } case PREFS_AUDIO_SAMPLE_RATE: { if (parse_adonthellrc (n, s) == PREFS_NUM) audio_sample_rate = n; break; } case PREFS_AUDIO_VOLUME: { if (parse_adonthellrc (n, s) == PREFS_NUM) audio_volume = n; break; } case PREFS_VERSION: { // get config file version number if (parse_adonthellrc (n, s) == PREFS_STR) sscanf (s.c_str (), "%d.%d.%d%15s", &major, &minor, µ, suffix); break; } default: break; } } fclose (prefsin); // get engine version numbers sscanf (VERSION, "%d.%d.%d%15s", &MAJOR, &MINOR, &MICRO, SUFFIX); // compare version of config file and engine if (major < MAJOR || (major == MAJOR && minor < MINOR) || (major == MAJOR && minor == MINOR && micro < MICRO) || strcmp (suffix, SUFFIX) != 0) { // update config file if engine is newer write_adonthellrc (); } return true; } adonthell-0.3.5/src/prefs.h0000644000076500000240000001026710137121505012470 00000000000000/* $Id: prefs.h,v 1.17 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 2000/2002/2004 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file prefs.h * * @author Kai Sterker * @brief Adonthell's configuration */ #ifndef __PREFS_H__ #define __PREFS_H__ #include #include #include "types.h" #ifndef SWIG using namespace std; #endif /** * The config file opened by the lexical scanner */ extern FILE* prefsin; /** * Start the lexical scanner to parse the config file, * usually fount at ~/.adonthell/adonthellrc */ extern int parse_adonthellrc (int&, string&); /** * Returncodes of the scanner for the different entries * of the configuration file. */ enum { PREFS_UNKNOWN = 0, PREFS_SCREEN_MODE = 1, PREFS_LANGUAGE = 2, PREFS_FONT = 3, PREFS_QUICK_LOAD = 4, PREFS_AUDIO_CHANNELS = 5, PREFS_AUDIO_RESOLUTION = 6, PREFS_AUDIO_SAMPLE_RATE = 7, PREFS_AUDIO_VOLUME = 8, PREFS_VERSION = 9, PREFS_NUM = 10, PREFS_STR = 11, PREFS_DOUBLE_SCREEN = 12, }; /** * This class contains the engine's configuration read either from the * %config file or from the command line. */ class config { public: /** * Constructor. Initializes all configuration options with default * values. * - Language: English * - Screen mode: windowed * - Quick load: enabled * - Audio: High quality (44.1kHz, 16 bit, stereo) * - Volume: 100% * - Config file: $HOME/.adonthell/adonthellrc */ config (); /** * See whether any options have been specified on the command line. * Possible command line options are * - \-h Print help message * - \-d Print the data directory * - \-v Print the version number * - \-l List games found in the gamedir * - \-g dir Play %game contained in dir * - \-c Byte-compile all Python scripts in the current directory * * @param argc argument count * @param argv argument vector */ void parse_arguments (int argc, char * argv[]); /** * Writes a default configuration file with the values set in the * constructor * @sa config::config () */ void write_adonthellrc (); /** * Reads the configuration file. If it cannot find the file, it * tries to write a default one. * @return true on success, false otherwise. */ bool read_adonthellrc (); /** * Returns the path to the user's private Adonthell directory. * Usually this is $HOME/.adonthell/ and will contain his personal * configuration as well as all saved games. */ char *get_adonthellrc (); /** * @name Configuration options */ //@{ /** * Language to use if NLS was compiled in. */ string language; string font; /** * Name of the %game that is running at present. */ string game_name; /** * Path of the directory that contains the %game running at present. */ string gamedir; /** * Whether the engine shall run in window (0) or fullscreen (1) mode. */ u_int8 screen_mode; u_int8 double_screen; /** * Whether the quick-load feature is enabled (1) or not (0) */ u_int8 quick_load; /** * The number of channels: mono (0) or stereo (1). */ u_int8 audio_channels; /** * The resolution: 8 bit (0) or 16 bit (1) */ u_int8 audio_resolution; /** * The sample rate: 11025 Hz (0), 22050 Hz (1) or 44100 Hz (2) */ u_int8 audio_sample_rate; /** * The volume: a value betwen 0 and 100. 0 means that audio * is completely off. */ u_int8 audio_volume; //@} private: config & operator = (const config*); string adonthellrc; // Path to the adonthellrc file: $HOME/.adonthell/ }; #endif // __PREFS_H__ adonthell-0.3.5/src/prefs.l0000644000076500000240000000264610137121505012476 00000000000000%{ /* $Id: prefs.l,v 1.12 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 2000/2004 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ #include #include #include "prefs.h" #define YY_DECL int parse_adonthellrc (int &mynum, string &mytext) %} digit [0-9] num {digit}+ %x text %option noyywrap nounput never-interactive prefix="prefs" %% "#".*[\n]? ; /* Eat up comments */ Screen-mode return PREFS_SCREEN_MODE; Double-size return PREFS_DOUBLE_SCREEN; Language return PREFS_LANGUAGE; Font return PREFS_FONT; Quick-load return PREFS_QUICK_LOAD; Audio-channels return PREFS_AUDIO_CHANNELS; Audio-resolution return PREFS_AUDIO_RESOLUTION; Audio-sample-rate return PREFS_AUDIO_SAMPLE_RATE; Audio-volume return PREFS_AUDIO_VOLUME; Version return PREFS_VERSION; \[ mytext = ""; BEGIN(text); \] BEGIN(INITIAL); return PREFS_STR; [^\]]+ mytext += yytext; {num} mynum = atoi (yytext); return PREFS_NUM; [ \t\n]+ ; . return PREFS_UNKNOWN; adonthell-0.3.5/src/py_adonthell.i0000644000076500000240000000565310230444760014044 00000000000000%module adonthell %{ #include #include "types.h" #include "time_event.h" #include "map_event.h" #include "event_list.h" #include "event_handler.h" #include "storage.h" #include "gametime.h" #include "gamedate.h" #include "SDL_keysym.h" #include "input.h" #include "audio.h" #include "character_base.h" #include "quest.h" #include "drawing_area.h" #include "drawable.h" #include "surface.h" #include "screen.h" #include "image.h" #include "animation.h" #include "mapsquare_walkable.h" #include "mapsquare.h" #include "mapobject.h" #include "mapcharacter.h" #include "path.h" #include "landmap.h" #include "mapview.h" #include "character.h" #include "label_input.h" #include "win_types.h" #include "win_label.h" #include "win_image.h" #include "win_write.h" #include "win_mapview.h" #include "win_ttf.h" #include "win_theme.h" #include "win_base.h" #include "text_bubble.h" #include "win_container.h" #include "win_scroll.h" #include "win_select.h" #include "win_manager.h" #include "dialog_screen.h" #include "data_screen.h" #include "gamedata.h" #include "game.h" #include "nls.h" // Workaround for keysym missing in older versions of SDL #ifndef SDLK_UNDO #define SDLK_UNDO 322 #endif // Workaround for bug in pyptrtypes.swg #define SWIG_append_msg SWIG_append_errmsg // This enum allows clearer ownership operation: // obj.thisown = Python (Python will destroy the object) // obj.thisown = C (C has to destroy the object) enum {Python = 1, C = 0}; // pass an instance to python PyObject *get_py_obj (void *instance, const char* class_name) { swig_type_info * ti = SWIG_TypeQuery (class_name); if (ti) return SWIG_NewPointerObj (instance, ti, C); else printf ("*** get_py_obj: Type '%s' not known to SWIG!\n", class_name); return NULL; } %} // Same enum available for Python enum {Python = 1, C = 0}; %include "std_string.i" %typemap (in) PyObject *pyfunc { if (!PyCallable_Check($input)) { PyErr_SetString (PyExc_TypeError, "Need a callable object!"); return NULL; } $1 = $input; } %typemap (in) PyObject* { $1 = $input; } %include "types.h" %include "fileops.h" %include "event.h" %include "event_list.h" %include "time_event.h" %include "map_event.h" %include "event_handler.h" %include "storage.h" %include "gametime.h" %include "gamedate.h" %include "SDL_keysym.h" %include "input.h" %include "audio.h" %include "character_base.h" %include "py_object.h" %include "drawing_area.h" %include "quest.h" %include "drawable.h" %include "surface.h" %include "screen.h" %include "image.h" %include "animation.h" %include "mapsquare_walkable.h" %include "mapsquare.h" %include "mapobject.h" %include "mapcharacter.h" %include "path.h" %include "character.h" %include "landmap.h" %include "mapview.h" %include "adonthell.h" %include "win_types.h" %include "win_wrappers.h" %include "text_bubble.h" %include "dialog_screen.h" %include "data_screen.h" %include "gamedata.h" %include "game.h" %include "nls.h" adonthell-0.3.5/src/py_adonthell_wrap.cc0000644000076500000240000452210411017574537015243 00000000000000/* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 1.3.31 * * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make * changes to this file unless you know what you are doing--modify the SWIG * interface file instead. * ----------------------------------------------------------------------------- */ #define SWIGPYTHON #define SWIG_PYTHON_DIRECTOR_NO_VTABLE #ifdef __cplusplus template class SwigValueWrapper { T *tt; public: SwigValueWrapper() : tt(0) { } SwigValueWrapper(const SwigValueWrapper& rhs) : tt(new T(*rhs.tt)) { } SwigValueWrapper(const T& t) : tt(new T(t)) { } ~SwigValueWrapper() { delete tt; } SwigValueWrapper& operator=(const T& t) { delete tt; tt = new T(t); return *this; } operator T&() const { return *tt; } T *operator&() { return tt; } private: SwigValueWrapper& operator=(const SwigValueWrapper& rhs); }; #endif /* ----------------------------------------------------------------------------- * This section contains generic SWIG labels for method/variable * declarations/attributes, and other compiler dependent labels. * ----------------------------------------------------------------------------- */ /* template workaround for compilers that cannot correctly implement the C++ standard */ #ifndef SWIGTEMPLATEDISAMBIGUATOR # if defined(__SUNPRO_CC) # if (__SUNPRO_CC <= 0x560) # define SWIGTEMPLATEDISAMBIGUATOR template # else # define SWIGTEMPLATEDISAMBIGUATOR # endif # else # define SWIGTEMPLATEDISAMBIGUATOR # endif #endif /* inline attribute */ #ifndef SWIGINLINE # if defined(__cplusplus) || (defined(__GNUC__) && !defined(__STRICT_ANSI__)) # define SWIGINLINE inline # else # define SWIGINLINE # endif #endif /* attribute recognised by some compilers to avoid 'unused' warnings */ #ifndef SWIGUNUSED # if defined(__GNUC__) # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) # define SWIGUNUSED __attribute__ ((__unused__)) # else # define SWIGUNUSED # endif # elif defined(__ICC) # define SWIGUNUSED __attribute__ ((__unused__)) # else # define SWIGUNUSED # endif #endif #ifndef SWIGUNUSEDPARM # ifdef __cplusplus # define SWIGUNUSEDPARM(p) # else # define SWIGUNUSEDPARM(p) p SWIGUNUSED # endif #endif /* internal SWIG method */ #ifndef SWIGINTERN # define SWIGINTERN static SWIGUNUSED #endif /* internal inline SWIG method */ #ifndef SWIGINTERNINLINE # define SWIGINTERNINLINE SWIGINTERN SWIGINLINE #endif /* exporting methods */ #if (__GNUC__ >= 4) || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) # ifndef GCC_HASCLASSVISIBILITY # define GCC_HASCLASSVISIBILITY # endif #endif #ifndef SWIGEXPORT # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) # if defined(STATIC_LINKED) # define SWIGEXPORT # else # define SWIGEXPORT __declspec(dllexport) # endif # else # if defined(__GNUC__) && defined(GCC_HASCLASSVISIBILITY) # define SWIGEXPORT __attribute__ ((visibility("default"))) # else # define SWIGEXPORT # endif # endif #endif /* calling conventions for Windows */ #ifndef SWIGSTDCALL # if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) # define SWIGSTDCALL __stdcall # else # define SWIGSTDCALL # endif #endif /* Deal with Microsoft's attempt at deprecating C standard runtime functions */ #if !defined(SWIG_NO_CRT_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_CRT_SECURE_NO_DEPRECATE) # define _CRT_SECURE_NO_DEPRECATE #endif /* Python.h has to appear first */ #include /* ----------------------------------------------------------------------------- * swigrun.swg * * This file contains generic CAPI SWIG runtime support for pointer * type checking. * ----------------------------------------------------------------------------- */ /* This should only be incremented when either the layout of swig_type_info changes, or for whatever reason, the runtime changes incompatibly */ #define SWIG_RUNTIME_VERSION "3" /* define SWIG_TYPE_TABLE_NAME as "SWIG_TYPE_TABLE" */ #ifdef SWIG_TYPE_TABLE # define SWIG_QUOTE_STRING(x) #x # define SWIG_EXPAND_AND_QUOTE_STRING(x) SWIG_QUOTE_STRING(x) # define SWIG_TYPE_TABLE_NAME SWIG_EXPAND_AND_QUOTE_STRING(SWIG_TYPE_TABLE) #else # define SWIG_TYPE_TABLE_NAME #endif /* You can use the SWIGRUNTIME and SWIGRUNTIMEINLINE macros for creating a static or dynamic library from the swig runtime code. In 99.9% of the cases, swig just needs to declare them as 'static'. But only do this if is strictly necessary, ie, if you have problems with your compiler or so. */ #ifndef SWIGRUNTIME # define SWIGRUNTIME SWIGINTERN #endif #ifndef SWIGRUNTIMEINLINE # define SWIGRUNTIMEINLINE SWIGRUNTIME SWIGINLINE #endif /* Generic buffer size */ #ifndef SWIG_BUFFER_SIZE # define SWIG_BUFFER_SIZE 1024 #endif /* Flags for pointer conversions */ #define SWIG_POINTER_DISOWN 0x1 /* Flags for new pointer objects */ #define SWIG_POINTER_OWN 0x1 /* Flags/methods for returning states. The swig conversion methods, as ConvertPtr, return and integer that tells if the conversion was successful or not. And if not, an error code can be returned (see swigerrors.swg for the codes). Use the following macros/flags to set or process the returning states. In old swig versions, you usually write code as: if (SWIG_ConvertPtr(obj,vptr,ty.flags) != -1) { // success code } else { //fail code } Now you can be more explicit as: int res = SWIG_ConvertPtr(obj,vptr,ty.flags); if (SWIG_IsOK(res)) { // success code } else { // fail code } that seems to be the same, but now you can also do Type *ptr; int res = SWIG_ConvertPtr(obj,(void **)(&ptr),ty.flags); if (SWIG_IsOK(res)) { // success code if (SWIG_IsNewObj(res) { ... delete *ptr; } else { ... } } else { // fail code } I.e., now SWIG_ConvertPtr can return new objects and you can identify the case and take care of the deallocation. Of course that requires also to SWIG_ConvertPtr to return new result values, as int SWIG_ConvertPtr(obj, ptr,...) { if () { if () { *ptr = ; return SWIG_NEWOBJ; } else { *ptr = ; return SWIG_OLDOBJ; } } else { return SWIG_BADOBJ; } } Of course, returning the plain '0(success)/-1(fail)' still works, but you can be more explicit by returning SWIG_BADOBJ, SWIG_ERROR or any of the swig errors code. Finally, if the SWIG_CASTRANK_MODE is enabled, the result code allows to return the 'cast rank', for example, if you have this int food(double) int fooi(int); and you call food(1) // cast rank '1' (1 -> 1.0) fooi(1) // cast rank '0' just use the SWIG_AddCast()/SWIG_CheckState() */ #define SWIG_OK (0) #define SWIG_ERROR (-1) #define SWIG_IsOK(r) (r >= 0) #define SWIG_ArgError(r) ((r != SWIG_ERROR) ? r : SWIG_TypeError) /* The CastRankLimit says how many bits are used for the cast rank */ #define SWIG_CASTRANKLIMIT (1 << 8) /* The NewMask denotes the object was created (using new/malloc) */ #define SWIG_NEWOBJMASK (SWIG_CASTRANKLIMIT << 1) /* The TmpMask is for in/out typemaps that use temporal objects */ #define SWIG_TMPOBJMASK (SWIG_NEWOBJMASK << 1) /* Simple returning values */ #define SWIG_BADOBJ (SWIG_ERROR) #define SWIG_OLDOBJ (SWIG_OK) #define SWIG_NEWOBJ (SWIG_OK | SWIG_NEWOBJMASK) #define SWIG_TMPOBJ (SWIG_OK | SWIG_TMPOBJMASK) /* Check, add and del mask methods */ #define SWIG_AddNewMask(r) (SWIG_IsOK(r) ? (r | SWIG_NEWOBJMASK) : r) #define SWIG_DelNewMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_NEWOBJMASK) : r) #define SWIG_IsNewObj(r) (SWIG_IsOK(r) && (r & SWIG_NEWOBJMASK)) #define SWIG_AddTmpMask(r) (SWIG_IsOK(r) ? (r | SWIG_TMPOBJMASK) : r) #define SWIG_DelTmpMask(r) (SWIG_IsOK(r) ? (r & ~SWIG_TMPOBJMASK) : r) #define SWIG_IsTmpObj(r) (SWIG_IsOK(r) && (r & SWIG_TMPOBJMASK)) /* Cast-Rank Mode */ #if defined(SWIG_CASTRANK_MODE) # ifndef SWIG_TypeRank # define SWIG_TypeRank unsigned long # endif # ifndef SWIG_MAXCASTRANK /* Default cast allowed */ # define SWIG_MAXCASTRANK (2) # endif # define SWIG_CASTRANKMASK ((SWIG_CASTRANKLIMIT) -1) # define SWIG_CastRank(r) (r & SWIG_CASTRANKMASK) SWIGINTERNINLINE int SWIG_AddCast(int r) { return SWIG_IsOK(r) ? ((SWIG_CastRank(r) < SWIG_MAXCASTRANK) ? (r + 1) : SWIG_ERROR) : r; } SWIGINTERNINLINE int SWIG_CheckState(int r) { return SWIG_IsOK(r) ? SWIG_CastRank(r) + 1 : 0; } #else /* no cast-rank mode */ # define SWIG_AddCast # define SWIG_CheckState(r) (SWIG_IsOK(r) ? 1 : 0) #endif #include #ifdef __cplusplus extern "C" { #endif typedef void *(*swig_converter_func)(void *); typedef struct swig_type_info *(*swig_dycast_func)(void **); /* Structure to store inforomation on one type */ typedef struct swig_type_info { const char *name; /* mangled name of this type */ const char *str; /* human readable name of this type */ swig_dycast_func dcast; /* dynamic cast function down a hierarchy */ struct swig_cast_info *cast; /* linked list of types that can cast into this type */ void *clientdata; /* language specific type data */ int owndata; /* flag if the structure owns the clientdata */ } swig_type_info; /* Structure to store a type and conversion function used for casting */ typedef struct swig_cast_info { swig_type_info *type; /* pointer to type that is equivalent to this type */ swig_converter_func converter; /* function to cast the void pointers */ struct swig_cast_info *next; /* pointer to next cast in linked list */ struct swig_cast_info *prev; /* pointer to the previous cast */ } swig_cast_info; /* Structure used to store module information * Each module generates one structure like this, and the runtime collects * all of these structures and stores them in a circularly linked list.*/ typedef struct swig_module_info { swig_type_info **types; /* Array of pointers to swig_type_info structures that are in this module */ size_t size; /* Number of types in this module */ struct swig_module_info *next; /* Pointer to next element in circularly linked list */ swig_type_info **type_initial; /* Array of initially generated type structures */ swig_cast_info **cast_initial; /* Array of initially generated casting structures */ void *clientdata; /* Language specific module data */ } swig_module_info; /* Compare two type names skipping the space characters, therefore "char*" == "char *" and "Class" == "Class", etc. Return 0 when the two name types are equivalent, as in strncmp, but skipping ' '. */ SWIGRUNTIME int SWIG_TypeNameComp(const char *f1, const char *l1, const char *f2, const char *l2) { for (;(f1 != l1) && (f2 != l2); ++f1, ++f2) { while ((*f1 == ' ') && (f1 != l1)) ++f1; while ((*f2 == ' ') && (f2 != l2)) ++f2; if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1; } return (l1 - f1) - (l2 - f2); } /* Check type equivalence in a name list like ||... Return 0 if not equal, 1 if equal */ SWIGRUNTIME int SWIG_TypeEquiv(const char *nb, const char *tb) { int equiv = 0; const char* te = tb + strlen(tb); const char* ne = nb; while (!equiv && *ne) { for (nb = ne; *ne; ++ne) { if (*ne == '|') break; } equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; if (*ne) ++ne; } return equiv; } /* Check type equivalence in a name list like ||... Return 0 if equal, -1 if nb < tb, 1 if nb > tb */ SWIGRUNTIME int SWIG_TypeCompare(const char *nb, const char *tb) { int equiv = 0; const char* te = tb + strlen(tb); const char* ne = nb; while (!equiv && *ne) { for (nb = ne; *ne; ++ne) { if (*ne == '|') break; } equiv = (SWIG_TypeNameComp(nb, ne, tb, te) == 0) ? 1 : 0; if (*ne) ++ne; } return equiv; } /* think of this as a c++ template<> or a scheme macro */ #define SWIG_TypeCheck_Template(comparison, ty) \ if (ty) { \ swig_cast_info *iter = ty->cast; \ while (iter) { \ if (comparison) { \ if (iter == ty->cast) return iter; \ /* Move iter to the top of the linked list */ \ iter->prev->next = iter->next; \ if (iter->next) \ iter->next->prev = iter->prev; \ iter->next = ty->cast; \ iter->prev = 0; \ if (ty->cast) ty->cast->prev = iter; \ ty->cast = iter; \ return iter; \ } \ iter = iter->next; \ } \ } \ return 0 /* Check the typename */ SWIGRUNTIME swig_cast_info * SWIG_TypeCheck(const char *c, swig_type_info *ty) { SWIG_TypeCheck_Template(strcmp(iter->type->name, c) == 0, ty); } /* Same as previous function, except strcmp is replaced with a pointer comparison */ SWIGRUNTIME swig_cast_info * SWIG_TypeCheckStruct(swig_type_info *from, swig_type_info *into) { SWIG_TypeCheck_Template(iter->type == from, into); } /* Cast a pointer up an inheritance hierarchy */ SWIGRUNTIMEINLINE void * SWIG_TypeCast(swig_cast_info *ty, void *ptr) { return ((!ty) || (!ty->converter)) ? ptr : (*ty->converter)(ptr); } /* Dynamic pointer casting. Down an inheritance hierarchy */ SWIGRUNTIME swig_type_info * SWIG_TypeDynamicCast(swig_type_info *ty, void **ptr) { swig_type_info *lastty = ty; if (!ty || !ty->dcast) return ty; while (ty && (ty->dcast)) { ty = (*ty->dcast)(ptr); if (ty) lastty = ty; } return lastty; } /* Return the name associated with this type */ SWIGRUNTIMEINLINE const char * SWIG_TypeName(const swig_type_info *ty) { return ty->name; } /* Return the pretty name associated with this type, that is an unmangled type name in a form presentable to the user. */ SWIGRUNTIME const char * SWIG_TypePrettyName(const swig_type_info *type) { /* The "str" field contains the equivalent pretty names of the type, separated by vertical-bar characters. We choose to print the last name, as it is often (?) the most specific. */ if (!type) return NULL; if (type->str != NULL) { const char *last_name = type->str; const char *s; for (s = type->str; *s; s++) if (*s == '|') last_name = s+1; return last_name; } else return type->name; } /* Set the clientdata field for a type */ SWIGRUNTIME void SWIG_TypeClientData(swig_type_info *ti, void *clientdata) { swig_cast_info *cast = ti->cast; /* if (ti->clientdata == clientdata) return; */ ti->clientdata = clientdata; while (cast) { if (!cast->converter) { swig_type_info *tc = cast->type; if (!tc->clientdata) { SWIG_TypeClientData(tc, clientdata); } } cast = cast->next; } } SWIGRUNTIME void SWIG_TypeNewClientData(swig_type_info *ti, void *clientdata) { SWIG_TypeClientData(ti, clientdata); ti->owndata = 1; } /* Search for a swig_type_info structure only by mangled name Search is a O(log #types) We start searching at module start, and finish searching when start == end. Note: if start == end at the beginning of the function, we go all the way around the circular list. */ SWIGRUNTIME swig_type_info * SWIG_MangledTypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name) { swig_module_info *iter = start; do { if (iter->size) { register size_t l = 0; register size_t r = iter->size - 1; do { /* since l+r >= 0, we can (>> 1) instead (/ 2) */ register size_t i = (l + r) >> 1; const char *iname = iter->types[i]->name; if (iname) { register int compare = strcmp(name, iname); if (compare == 0) { return iter->types[i]; } else if (compare < 0) { if (i) { r = i - 1; } else { break; } } else if (compare > 0) { l = i + 1; } } else { break; /* should never happen */ } } while (l <= r); } iter = iter->next; } while (iter != end); return 0; } /* Search for a swig_type_info structure for either a mangled name or a human readable name. It first searches the mangled names of the types, which is a O(log #types) If a type is not found it then searches the human readable names, which is O(#types). We start searching at module start, and finish searching when start == end. Note: if start == end at the beginning of the function, we go all the way around the circular list. */ SWIGRUNTIME swig_type_info * SWIG_TypeQueryModule(swig_module_info *start, swig_module_info *end, const char *name) { /* STEP 1: Search the name field using binary search */ swig_type_info *ret = SWIG_MangledTypeQueryModule(start, end, name); if (ret) { return ret; } else { /* STEP 2: If the type hasn't been found, do a complete search of the str field (the human readable name) */ swig_module_info *iter = start; do { register size_t i = 0; for (; i < iter->size; ++i) { if (iter->types[i]->str && (SWIG_TypeEquiv(iter->types[i]->str, name))) return iter->types[i]; } iter = iter->next; } while (iter != end); } /* neither found a match */ return 0; } /* Pack binary data into a string */ SWIGRUNTIME char * SWIG_PackData(char *c, void *ptr, size_t sz) { static const char hex[17] = "0123456789abcdef"; register const unsigned char *u = (unsigned char *) ptr; register const unsigned char *eu = u + sz; for (; u != eu; ++u) { register unsigned char uu = *u; *(c++) = hex[(uu & 0xf0) >> 4]; *(c++) = hex[uu & 0xf]; } return c; } /* Unpack binary data from a string */ SWIGRUNTIME const char * SWIG_UnpackData(const char *c, void *ptr, size_t sz) { register unsigned char *u = (unsigned char *) ptr; register const unsigned char *eu = u + sz; for (; u != eu; ++u) { register char d = *(c++); register unsigned char uu; if ((d >= '0') && (d <= '9')) uu = ((d - '0') << 4); else if ((d >= 'a') && (d <= 'f')) uu = ((d - ('a'-10)) << 4); else return (char *) 0; d = *(c++); if ((d >= '0') && (d <= '9')) uu |= (d - '0'); else if ((d >= 'a') && (d <= 'f')) uu |= (d - ('a'-10)); else return (char *) 0; *u = uu; } return c; } /* Pack 'void *' into a string buffer. */ SWIGRUNTIME char * SWIG_PackVoidPtr(char *buff, void *ptr, const char *name, size_t bsz) { char *r = buff; if ((2*sizeof(void *) + 2) > bsz) return 0; *(r++) = '_'; r = SWIG_PackData(r,&ptr,sizeof(void *)); if (strlen(name) + 1 > (bsz - (r - buff))) return 0; strcpy(r,name); return buff; } SWIGRUNTIME const char * SWIG_UnpackVoidPtr(const char *c, void **ptr, const char *name) { if (*c != '_') { if (strcmp(c,"NULL") == 0) { *ptr = (void *) 0; return name; } else { return 0; } } return SWIG_UnpackData(++c,ptr,sizeof(void *)); } SWIGRUNTIME char * SWIG_PackDataName(char *buff, void *ptr, size_t sz, const char *name, size_t bsz) { char *r = buff; size_t lname = (name ? strlen(name) : 0); if ((2*sz + 2 + lname) > bsz) return 0; *(r++) = '_'; r = SWIG_PackData(r,ptr,sz); if (lname) { strncpy(r,name,lname+1); } else { *r = 0; } return buff; } SWIGRUNTIME const char * SWIG_UnpackDataName(const char *c, void *ptr, size_t sz, const char *name) { if (*c != '_') { if (strcmp(c,"NULL") == 0) { memset(ptr,0,sz); return name; } else { return 0; } } return SWIG_UnpackData(++c,ptr,sz); } #ifdef __cplusplus } #endif /* Errors in SWIG */ #define SWIG_UnknownError -1 #define SWIG_IOError -2 #define SWIG_RuntimeError -3 #define SWIG_IndexError -4 #define SWIG_TypeError -5 #define SWIG_DivisionByZero -6 #define SWIG_OverflowError -7 #define SWIG_SyntaxError -8 #define SWIG_ValueError -9 #define SWIG_SystemError -10 #define SWIG_AttributeError -11 #define SWIG_MemoryError -12 #define SWIG_NullReferenceError -13 /* Add PyOS_snprintf for old Pythons */ #if PY_VERSION_HEX < 0x02020000 # if defined(_MSC_VER) || defined(__BORLANDC__) || defined(_WATCOM) # define PyOS_snprintf _snprintf # else # define PyOS_snprintf snprintf # endif #endif /* A crude PyString_FromFormat implementation for old Pythons */ #if PY_VERSION_HEX < 0x02020000 #ifndef SWIG_PYBUFFER_SIZE # define SWIG_PYBUFFER_SIZE 1024 #endif static PyObject * PyString_FromFormat(const char *fmt, ...) { va_list ap; char buf[SWIG_PYBUFFER_SIZE * 2]; int res; va_start(ap, fmt); res = vsnprintf(buf, sizeof(buf), fmt, ap); va_end(ap); return (res < 0 || res >= (int)sizeof(buf)) ? 0 : PyString_FromString(buf); } #endif /* Add PyObject_Del for old Pythons */ #if PY_VERSION_HEX < 0x01060000 # define PyObject_Del(op) PyMem_DEL((op)) #endif #ifndef PyObject_DEL # define PyObject_DEL PyObject_Del #endif /* A crude PyExc_StopIteration exception for old Pythons */ #if PY_VERSION_HEX < 0x02020000 # ifndef PyExc_StopIteration # define PyExc_StopIteration PyExc_RuntimeError # endif # ifndef PyObject_GenericGetAttr # define PyObject_GenericGetAttr 0 # endif #endif /* Py_NotImplemented is defined in 2.1 and up. */ #if PY_VERSION_HEX < 0x02010000 # ifndef Py_NotImplemented # define Py_NotImplemented PyExc_RuntimeError # endif #endif /* A crude PyString_AsStringAndSize implementation for old Pythons */ #if PY_VERSION_HEX < 0x02010000 # ifndef PyString_AsStringAndSize # define PyString_AsStringAndSize(obj, s, len) {*s = PyString_AsString(obj); *len = *s ? strlen(*s) : 0;} # endif #endif /* PySequence_Size for old Pythons */ #if PY_VERSION_HEX < 0x02000000 # ifndef PySequence_Size # define PySequence_Size PySequence_Length # endif #endif /* PyBool_FromLong for old Pythons */ #if PY_VERSION_HEX < 0x02030000 static PyObject *PyBool_FromLong(long ok) { PyObject *result = ok ? Py_True : Py_False; Py_INCREF(result); return result; } #endif /* Py_ssize_t for old Pythons */ /* This code is as recommended by: */ /* http://www.python.org/dev/peps/pep-0353/#conversion-guidelines */ #if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN) typedef int Py_ssize_t; # define PY_SSIZE_T_MAX INT_MAX # define PY_SSIZE_T_MIN INT_MIN #endif /* ----------------------------------------------------------------------------- * error manipulation * ----------------------------------------------------------------------------- */ SWIGRUNTIME PyObject* SWIG_Python_ErrorType(int code) { PyObject* type = 0; switch(code) { case SWIG_MemoryError: type = PyExc_MemoryError; break; case SWIG_IOError: type = PyExc_IOError; break; case SWIG_RuntimeError: type = PyExc_RuntimeError; break; case SWIG_IndexError: type = PyExc_IndexError; break; case SWIG_TypeError: type = PyExc_TypeError; break; case SWIG_DivisionByZero: type = PyExc_ZeroDivisionError; break; case SWIG_OverflowError: type = PyExc_OverflowError; break; case SWIG_SyntaxError: type = PyExc_SyntaxError; break; case SWIG_ValueError: type = PyExc_ValueError; break; case SWIG_SystemError: type = PyExc_SystemError; break; case SWIG_AttributeError: type = PyExc_AttributeError; break; default: type = PyExc_RuntimeError; } return type; } SWIGRUNTIME void SWIG_Python_AddErrorMsg(const char* mesg) { PyObject *type = 0; PyObject *value = 0; PyObject *traceback = 0; if (PyErr_Occurred()) PyErr_Fetch(&type, &value, &traceback); if (value) { PyObject *old_str = PyObject_Str(value); PyErr_Clear(); Py_XINCREF(type); PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg); Py_DECREF(old_str); Py_DECREF(value); } else { PyErr_Format(PyExc_RuntimeError, mesg); } } #if defined(SWIG_PYTHON_NO_THREADS) # if defined(SWIG_PYTHON_THREADS) # undef SWIG_PYTHON_THREADS # endif #endif #if defined(SWIG_PYTHON_THREADS) /* Threading support is enabled */ # if !defined(SWIG_PYTHON_USE_GIL) && !defined(SWIG_PYTHON_NO_USE_GIL) # if (PY_VERSION_HEX >= 0x02030000) /* For 2.3 or later, use the PyGILState calls */ # define SWIG_PYTHON_USE_GIL # endif # endif # if defined(SWIG_PYTHON_USE_GIL) /* Use PyGILState threads calls */ # ifndef SWIG_PYTHON_INITIALIZE_THREADS # define SWIG_PYTHON_INITIALIZE_THREADS PyEval_InitThreads() # endif # ifdef __cplusplus /* C++ code */ class SWIG_Python_Thread_Block { bool status; PyGILState_STATE state; public: void end() { if (status) { PyGILState_Release(state); status = false;} } SWIG_Python_Thread_Block() : status(true), state(PyGILState_Ensure()) {} ~SWIG_Python_Thread_Block() { end(); } }; class SWIG_Python_Thread_Allow { bool status; PyThreadState *save; public: void end() { if (status) { PyEval_RestoreThread(save); status = false; }} SWIG_Python_Thread_Allow() : status(true), save(PyEval_SaveThread()) {} ~SWIG_Python_Thread_Allow() { end(); } }; # define SWIG_PYTHON_THREAD_BEGIN_BLOCK SWIG_Python_Thread_Block _swig_thread_block # define SWIG_PYTHON_THREAD_END_BLOCK _swig_thread_block.end() # define SWIG_PYTHON_THREAD_BEGIN_ALLOW SWIG_Python_Thread_Allow _swig_thread_allow # define SWIG_PYTHON_THREAD_END_ALLOW _swig_thread_allow.end() # else /* C code */ # define SWIG_PYTHON_THREAD_BEGIN_BLOCK PyGILState_STATE _swig_thread_block = PyGILState_Ensure() # define SWIG_PYTHON_THREAD_END_BLOCK PyGILState_Release(_swig_thread_block) # define SWIG_PYTHON_THREAD_BEGIN_ALLOW PyThreadState *_swig_thread_allow = PyEval_SaveThread() # define SWIG_PYTHON_THREAD_END_ALLOW PyEval_RestoreThread(_swig_thread_allow) # endif # else /* Old thread way, not implemented, user must provide it */ # if !defined(SWIG_PYTHON_INITIALIZE_THREADS) # define SWIG_PYTHON_INITIALIZE_THREADS # endif # if !defined(SWIG_PYTHON_THREAD_BEGIN_BLOCK) # define SWIG_PYTHON_THREAD_BEGIN_BLOCK # endif # if !defined(SWIG_PYTHON_THREAD_END_BLOCK) # define SWIG_PYTHON_THREAD_END_BLOCK # endif # if !defined(SWIG_PYTHON_THREAD_BEGIN_ALLOW) # define SWIG_PYTHON_THREAD_BEGIN_ALLOW # endif # if !defined(SWIG_PYTHON_THREAD_END_ALLOW) # define SWIG_PYTHON_THREAD_END_ALLOW # endif # endif #else /* No thread support */ # define SWIG_PYTHON_INITIALIZE_THREADS # define SWIG_PYTHON_THREAD_BEGIN_BLOCK # define SWIG_PYTHON_THREAD_END_BLOCK # define SWIG_PYTHON_THREAD_BEGIN_ALLOW # define SWIG_PYTHON_THREAD_END_ALLOW #endif /* ----------------------------------------------------------------------------- * Python API portion that goes into the runtime * ----------------------------------------------------------------------------- */ #ifdef __cplusplus extern "C" { #if 0 } /* cc-mode */ #endif #endif /* ----------------------------------------------------------------------------- * Constant declarations * ----------------------------------------------------------------------------- */ /* Constant Types */ #define SWIG_PY_POINTER 4 #define SWIG_PY_BINARY 5 /* Constant information structure */ typedef struct swig_const_info { int type; char *name; long lvalue; double dvalue; void *pvalue; swig_type_info **ptype; } swig_const_info; #ifdef __cplusplus #if 0 { /* cc-mode */ #endif } #endif /* ----------------------------------------------------------------------------- * See the LICENSE file for information on copyright, usage and redistribution * of SWIG, and the README file for authors - http://www.swig.org/release.html. * * pyrun.swg * * This file contains the runtime support for Python modules * and includes code for managing global variables and pointer * type checking. * * ----------------------------------------------------------------------------- */ /* Common SWIG API */ /* for raw pointers */ #define SWIG_Python_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, 0) #define SWIG_ConvertPtr(obj, pptr, type, flags) SWIG_Python_ConvertPtr(obj, pptr, type, flags) #define SWIG_ConvertPtrAndOwn(obj,pptr,type,flags,own) SWIG_Python_ConvertPtrAndOwn(obj, pptr, type, flags, own) #define SWIG_NewPointerObj(ptr, type, flags) SWIG_Python_NewPointerObj(ptr, type, flags) #define SWIG_CheckImplicit(ty) SWIG_Python_CheckImplicit(ty) #define SWIG_AcquirePtr(ptr, src) SWIG_Python_AcquirePtr(ptr, src) #define swig_owntype int /* for raw packed data */ #define SWIG_ConvertPacked(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) #define SWIG_NewPackedObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) /* for class or struct pointers */ #define SWIG_ConvertInstance(obj, pptr, type, flags) SWIG_ConvertPtr(obj, pptr, type, flags) #define SWIG_NewInstanceObj(ptr, type, flags) SWIG_NewPointerObj(ptr, type, flags) /* for C or C++ function pointers */ #define SWIG_ConvertFunctionPtr(obj, pptr, type) SWIG_Python_ConvertFunctionPtr(obj, pptr, type) #define SWIG_NewFunctionPtrObj(ptr, type) SWIG_Python_NewPointerObj(ptr, type, 0) /* for C++ member pointers, ie, member methods */ #define SWIG_ConvertMember(obj, ptr, sz, ty) SWIG_Python_ConvertPacked(obj, ptr, sz, ty) #define SWIG_NewMemberObj(ptr, sz, type) SWIG_Python_NewPackedObj(ptr, sz, type) /* Runtime API */ #define SWIG_GetModule(clientdata) SWIG_Python_GetModule() #define SWIG_SetModule(clientdata, pointer) SWIG_Python_SetModule(pointer) #define SWIG_NewClientData(obj) PySwigClientData_New(obj) #define SWIG_SetErrorObj SWIG_Python_SetErrorObj #define SWIG_SetErrorMsg SWIG_Python_SetErrorMsg #define SWIG_ErrorType(code) SWIG_Python_ErrorType(code) #define SWIG_Error(code, msg) SWIG_Python_SetErrorMsg(SWIG_ErrorType(code), msg) #define SWIG_fail goto fail /* Runtime API implementation */ /* Error manipulation */ SWIGINTERN void SWIG_Python_SetErrorObj(PyObject *errtype, PyObject *obj) { SWIG_PYTHON_THREAD_BEGIN_BLOCK; PyErr_SetObject(errtype, obj); Py_DECREF(obj); SWIG_PYTHON_THREAD_END_BLOCK; } SWIGINTERN void SWIG_Python_SetErrorMsg(PyObject *errtype, const char *msg) { SWIG_PYTHON_THREAD_BEGIN_BLOCK; PyErr_SetString(errtype, (char *) msg); SWIG_PYTHON_THREAD_END_BLOCK; } #define SWIG_Python_Raise(obj, type, desc) SWIG_Python_SetErrorObj(SWIG_Python_ExceptionType(desc), obj) /* Set a constant value */ SWIGINTERN void SWIG_Python_SetConstant(PyObject *d, const char *name, PyObject *obj) { PyDict_SetItemString(d, (char*) name, obj); Py_DECREF(obj); } /* Append a value to the result obj */ SWIGINTERN PyObject* SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) { #if !defined(SWIG_PYTHON_OUTPUT_TUPLE) if (!result) { result = obj; } else if (result == Py_None) { Py_DECREF(result); result = obj; } else { if (!PyList_Check(result)) { PyObject *o2 = result; result = PyList_New(1); PyList_SetItem(result, 0, o2); } PyList_Append(result,obj); Py_DECREF(obj); } return result; #else PyObject* o2; PyObject* o3; if (!result) { result = obj; } else if (result == Py_None) { Py_DECREF(result); result = obj; } else { if (!PyTuple_Check(result)) { o2 = result; result = PyTuple_New(1); PyTuple_SET_ITEM(result, 0, o2); } o3 = PyTuple_New(1); PyTuple_SET_ITEM(o3, 0, obj); o2 = result; result = PySequence_Concat(o2, o3); Py_DECREF(o2); Py_DECREF(o3); } return result; #endif } /* Unpack the argument tuple */ SWIGINTERN int SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs) { if (!args) { if (!min && !max) { return 1; } else { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none", name, (min == max ? "" : "at least "), min); return 0; } } if (!PyTuple_Check(args)) { PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple"); return 0; } else { register int l = PyTuple_GET_SIZE(args); if (l < min) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", name, (min == max ? "" : "at least "), min, l); return 0; } else if (l > max) { PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d", name, (min == max ? "" : "at most "), max, l); return 0; } else { register int i; for (i = 0; i < l; ++i) { objs[i] = PyTuple_GET_ITEM(args, i); } for (; l < max; ++l) { objs[l] = 0; } return i + 1; } } } /* A functor is a function object with one single object argument */ #if PY_VERSION_HEX >= 0x02020000 #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunctionObjArgs(functor, obj, NULL); #else #define SWIG_Python_CallFunctor(functor, obj) PyObject_CallFunction(functor, "O", obj); #endif /* Helper for static pointer initialization for both C and C++ code, for example static PyObject *SWIG_STATIC_POINTER(MyVar) = NewSomething(...); */ #ifdef __cplusplus #define SWIG_STATIC_POINTER(var) var #else #define SWIG_STATIC_POINTER(var) var = 0; if (!var) var #endif /* ----------------------------------------------------------------------------- * Pointer declarations * ----------------------------------------------------------------------------- */ /* Flags for new pointer objects */ #define SWIG_POINTER_NOSHADOW (SWIG_POINTER_OWN << 1) #define SWIG_POINTER_NEW (SWIG_POINTER_NOSHADOW | SWIG_POINTER_OWN) #define SWIG_POINTER_IMPLICIT_CONV (SWIG_POINTER_DISOWN << 1) #ifdef __cplusplus extern "C" { #if 0 } /* cc-mode */ #endif #endif /* How to access Py_None */ #if defined(_WIN32) || defined(__WIN32__) || defined(__CYGWIN__) # ifndef SWIG_PYTHON_NO_BUILD_NONE # ifndef SWIG_PYTHON_BUILD_NONE # define SWIG_PYTHON_BUILD_NONE # endif # endif #endif #ifdef SWIG_PYTHON_BUILD_NONE # ifdef Py_None # undef Py_None # define Py_None SWIG_Py_None() # endif SWIGRUNTIMEINLINE PyObject * _SWIG_Py_None(void) { PyObject *none = Py_BuildValue((char*)""); Py_DECREF(none); return none; } SWIGRUNTIME PyObject * SWIG_Py_None(void) { static PyObject *SWIG_STATIC_POINTER(none) = _SWIG_Py_None(); return none; } #endif /* The python void return value */ SWIGRUNTIMEINLINE PyObject * SWIG_Py_Void(void) { PyObject *none = Py_None; Py_INCREF(none); return none; } /* PySwigClientData */ typedef struct { PyObject *klass; PyObject *newraw; PyObject *newargs; PyObject *destroy; int delargs; int implicitconv; } PySwigClientData; SWIGRUNTIMEINLINE int SWIG_Python_CheckImplicit(swig_type_info *ty) { PySwigClientData *data = (PySwigClientData *)ty->clientdata; return data ? data->implicitconv : 0; } SWIGRUNTIMEINLINE PyObject * SWIG_Python_ExceptionType(swig_type_info *desc) { PySwigClientData *data = desc ? (PySwigClientData *) desc->clientdata : 0; PyObject *klass = data ? data->klass : 0; return (klass ? klass : PyExc_RuntimeError); } SWIGRUNTIME PySwigClientData * PySwigClientData_New(PyObject* obj) { if (!obj) { return 0; } else { PySwigClientData *data = (PySwigClientData *)malloc(sizeof(PySwigClientData)); /* the klass element */ data->klass = obj; Py_INCREF(data->klass); /* the newraw method and newargs arguments used to create a new raw instance */ if (PyClass_Check(obj)) { data->newraw = 0; data->newargs = obj; Py_INCREF(obj); } else { #if (PY_VERSION_HEX < 0x02020000) data->newraw = 0; #else data->newraw = PyObject_GetAttrString(data->klass, (char *)"__new__"); #endif if (data->newraw) { Py_INCREF(data->newraw); data->newargs = PyTuple_New(1); PyTuple_SetItem(data->newargs, 0, obj); } else { data->newargs = obj; } Py_INCREF(data->newargs); } /* the destroy method, aka as the C++ delete method */ data->destroy = PyObject_GetAttrString(data->klass, (char *)"__swig_destroy__"); if (PyErr_Occurred()) { PyErr_Clear(); data->destroy = 0; } if (data->destroy) { int flags; Py_INCREF(data->destroy); flags = PyCFunction_GET_FLAGS(data->destroy); #ifdef METH_O data->delargs = !(flags & (METH_O)); #else data->delargs = 0; #endif } else { data->delargs = 0; } data->implicitconv = 0; return data; } } SWIGRUNTIME void PySwigClientData_Del(PySwigClientData* data) { Py_XDECREF(data->newraw); Py_XDECREF(data->newargs); Py_XDECREF(data->destroy); } /* =============== PySwigObject =====================*/ typedef struct { PyObject_HEAD void *ptr; swig_type_info *ty; int own; PyObject *next; } PySwigObject; SWIGRUNTIME PyObject * PySwigObject_long(PySwigObject *v) { return PyLong_FromVoidPtr(v->ptr); } SWIGRUNTIME PyObject * PySwigObject_format(const char* fmt, PySwigObject *v) { PyObject *res = NULL; PyObject *args = PyTuple_New(1); if (args) { if (PyTuple_SetItem(args, 0, PySwigObject_long(v)) == 0) { PyObject *ofmt = PyString_FromString(fmt); if (ofmt) { res = PyString_Format(ofmt,args); Py_DECREF(ofmt); } Py_DECREF(args); } } return res; } SWIGRUNTIME PyObject * PySwigObject_oct(PySwigObject *v) { return PySwigObject_format("%o",v); } SWIGRUNTIME PyObject * PySwigObject_hex(PySwigObject *v) { return PySwigObject_format("%x",v); } SWIGRUNTIME PyObject * #ifdef METH_NOARGS PySwigObject_repr(PySwigObject *v) #else PySwigObject_repr(PySwigObject *v, PyObject *args) #endif { const char *name = SWIG_TypePrettyName(v->ty); PyObject *hex = PySwigObject_hex(v); PyObject *repr = PyString_FromFormat("", name, PyString_AsString(hex)); Py_DECREF(hex); if (v->next) { #ifdef METH_NOARGS PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next); #else PyObject *nrep = PySwigObject_repr((PySwigObject *)v->next, args); #endif PyString_ConcatAndDel(&repr,nrep); } return repr; } SWIGRUNTIME int PySwigObject_print(PySwigObject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { #ifdef METH_NOARGS PyObject *repr = PySwigObject_repr(v); #else PyObject *repr = PySwigObject_repr(v, NULL); #endif if (repr) { fputs(PyString_AsString(repr), fp); Py_DECREF(repr); return 0; } else { return 1; } } SWIGRUNTIME PyObject * PySwigObject_str(PySwigObject *v) { char result[SWIG_BUFFER_SIZE]; return SWIG_PackVoidPtr(result, v->ptr, v->ty->name, sizeof(result)) ? PyString_FromString(result) : 0; } SWIGRUNTIME int PySwigObject_compare(PySwigObject *v, PySwigObject *w) { void *i = v->ptr; void *j = w->ptr; return (i < j) ? -1 : ((i > j) ? 1 : 0); } SWIGRUNTIME PyTypeObject* _PySwigObject_type(void); SWIGRUNTIME PyTypeObject* PySwigObject_type(void) { static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigObject_type(); return type; } SWIGRUNTIMEINLINE int PySwigObject_Check(PyObject *op) { return ((op)->ob_type == PySwigObject_type()) || (strcmp((op)->ob_type->tp_name,"PySwigObject") == 0); } SWIGRUNTIME PyObject * PySwigObject_New(void *ptr, swig_type_info *ty, int own); SWIGRUNTIME void PySwigObject_dealloc(PyObject *v) { PySwigObject *sobj = (PySwigObject *) v; PyObject *next = sobj->next; if (sobj->own) { swig_type_info *ty = sobj->ty; PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0; PyObject *destroy = data ? data->destroy : 0; if (destroy) { /* destroy is always a VARARGS method */ PyObject *res; if (data->delargs) { /* we need to create a temporal object to carry the destroy operation */ PyObject *tmp = PySwigObject_New(sobj->ptr, ty, 0); res = SWIG_Python_CallFunctor(destroy, tmp); Py_DECREF(tmp); } else { PyCFunction meth = PyCFunction_GET_FUNCTION(destroy); PyObject *mself = PyCFunction_GET_SELF(destroy); res = ((*meth)(mself, v)); } Py_XDECREF(res); } else { const char *name = SWIG_TypePrettyName(ty); #if !defined(SWIG_PYTHON_SILENT_MEMLEAK) printf("swig/python detected a memory leak of type '%s', no destructor found.\n", name); #endif } } Py_XDECREF(next); PyObject_DEL(v); } SWIGRUNTIME PyObject* PySwigObject_append(PyObject* v, PyObject* next) { PySwigObject *sobj = (PySwigObject *) v; #ifndef METH_O PyObject *tmp = 0; if (!PyArg_ParseTuple(next,(char *)"O:append", &tmp)) return NULL; next = tmp; #endif if (!PySwigObject_Check(next)) { return NULL; } sobj->next = next; Py_INCREF(next); return SWIG_Py_Void(); } SWIGRUNTIME PyObject* #ifdef METH_NOARGS PySwigObject_next(PyObject* v) #else PySwigObject_next(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) #endif { PySwigObject *sobj = (PySwigObject *) v; if (sobj->next) { Py_INCREF(sobj->next); return sobj->next; } else { return SWIG_Py_Void(); } } SWIGINTERN PyObject* #ifdef METH_NOARGS PySwigObject_disown(PyObject *v) #else PySwigObject_disown(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) #endif { PySwigObject *sobj = (PySwigObject *)v; sobj->own = 0; return SWIG_Py_Void(); } SWIGINTERN PyObject* #ifdef METH_NOARGS PySwigObject_acquire(PyObject *v) #else PySwigObject_acquire(PyObject* v, PyObject *SWIGUNUSEDPARM(args)) #endif { PySwigObject *sobj = (PySwigObject *)v; sobj->own = SWIG_POINTER_OWN; return SWIG_Py_Void(); } SWIGINTERN PyObject* PySwigObject_own(PyObject *v, PyObject *args) { PyObject *val = 0; #if (PY_VERSION_HEX < 0x02020000) if (!PyArg_ParseTuple(args,(char *)"|O:own",&val)) #else if (!PyArg_UnpackTuple(args, (char *)"own", 0, 1, &val)) #endif { return NULL; } else { PySwigObject *sobj = (PySwigObject *)v; PyObject *obj = PyBool_FromLong(sobj->own); if (val) { #ifdef METH_NOARGS if (PyObject_IsTrue(val)) { PySwigObject_acquire(v); } else { PySwigObject_disown(v); } #else if (PyObject_IsTrue(val)) { PySwigObject_acquire(v,args); } else { PySwigObject_disown(v,args); } #endif } return obj; } } #ifdef METH_O static PyMethodDef swigobject_methods[] = { {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_NOARGS, (char *)"releases ownership of the pointer"}, {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_NOARGS, (char *)"aquires ownership of the pointer"}, {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, {(char *)"append", (PyCFunction)PySwigObject_append, METH_O, (char *)"appends another 'this' object"}, {(char *)"next", (PyCFunction)PySwigObject_next, METH_NOARGS, (char *)"returns the next 'this' object"}, {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_NOARGS, (char *)"returns object representation"}, {0, 0, 0, 0} }; #else static PyMethodDef swigobject_methods[] = { {(char *)"disown", (PyCFunction)PySwigObject_disown, METH_VARARGS, (char *)"releases ownership of the pointer"}, {(char *)"acquire", (PyCFunction)PySwigObject_acquire, METH_VARARGS, (char *)"aquires ownership of the pointer"}, {(char *)"own", (PyCFunction)PySwigObject_own, METH_VARARGS, (char *)"returns/sets ownership of the pointer"}, {(char *)"append", (PyCFunction)PySwigObject_append, METH_VARARGS, (char *)"appends another 'this' object"}, {(char *)"next", (PyCFunction)PySwigObject_next, METH_VARARGS, (char *)"returns the next 'this' object"}, {(char *)"__repr__",(PyCFunction)PySwigObject_repr, METH_VARARGS, (char *)"returns object representation"}, {0, 0, 0, 0} }; #endif #if PY_VERSION_HEX < 0x02020000 SWIGINTERN PyObject * PySwigObject_getattr(PySwigObject *sobj,char *name) { return Py_FindMethod(swigobject_methods, (PyObject *)sobj, name); } #endif SWIGRUNTIME PyTypeObject* _PySwigObject_type(void) { static char swigobject_doc[] = "Swig object carries a C/C++ instance pointer"; static PyNumberMethods PySwigObject_as_number = { (binaryfunc)0, /*nb_add*/ (binaryfunc)0, /*nb_subtract*/ (binaryfunc)0, /*nb_multiply*/ (binaryfunc)0, /*nb_divide*/ (binaryfunc)0, /*nb_remainder*/ (binaryfunc)0, /*nb_divmod*/ (ternaryfunc)0,/*nb_power*/ (unaryfunc)0, /*nb_negative*/ (unaryfunc)0, /*nb_positive*/ (unaryfunc)0, /*nb_absolute*/ (inquiry)0, /*nb_nonzero*/ 0, /*nb_invert*/ 0, /*nb_lshift*/ 0, /*nb_rshift*/ 0, /*nb_and*/ 0, /*nb_xor*/ 0, /*nb_or*/ (coercion)0, /*nb_coerce*/ (unaryfunc)PySwigObject_long, /*nb_int*/ (unaryfunc)PySwigObject_long, /*nb_long*/ (unaryfunc)0, /*nb_float*/ (unaryfunc)PySwigObject_oct, /*nb_oct*/ (unaryfunc)PySwigObject_hex, /*nb_hex*/ #if PY_VERSION_HEX >= 0x02020000 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */ #elif PY_VERSION_HEX >= 0x02000000 0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */ #endif }; static PyTypeObject pyswigobject_type; static int type_init = 0; if (!type_init) { const PyTypeObject tmp = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ (char *)"PySwigObject", /* tp_name */ sizeof(PySwigObject), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)PySwigObject_dealloc, /* tp_dealloc */ (printfunc)PySwigObject_print, /* tp_print */ #if PY_VERSION_HEX < 0x02020000 (getattrfunc)PySwigObject_getattr, /* tp_getattr */ #else (getattrfunc)0, /* tp_getattr */ #endif (setattrfunc)0, /* tp_setattr */ (cmpfunc)PySwigObject_compare, /* tp_compare */ (reprfunc)PySwigObject_repr, /* tp_repr */ &PySwigObject_as_number, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ (hashfunc)0, /* tp_hash */ (ternaryfunc)0, /* tp_call */ (reprfunc)PySwigObject_str, /* tp_str */ PyObject_GenericGetAttr, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT, /* tp_flags */ swigobject_doc, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ #if PY_VERSION_HEX >= 0x02020000 0, /* tp_iter */ 0, /* tp_iternext */ swigobject_methods, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ 0, /* tp_init */ 0, /* tp_alloc */ 0, /* tp_new */ 0, /* tp_free */ 0, /* tp_is_gc */ 0, /* tp_bases */ 0, /* tp_mro */ 0, /* tp_cache */ 0, /* tp_subclasses */ 0, /* tp_weaklist */ #endif #if PY_VERSION_HEX >= 0x02030000 0, /* tp_del */ #endif #ifdef COUNT_ALLOCS 0,0,0,0 /* tp_alloc -> tp_next */ #endif }; pyswigobject_type = tmp; pyswigobject_type.ob_type = &PyType_Type; type_init = 1; } return &pyswigobject_type; } SWIGRUNTIME PyObject * PySwigObject_New(void *ptr, swig_type_info *ty, int own) { PySwigObject *sobj = PyObject_NEW(PySwigObject, PySwigObject_type()); if (sobj) { sobj->ptr = ptr; sobj->ty = ty; sobj->own = own; sobj->next = 0; } return (PyObject *)sobj; } /* ----------------------------------------------------------------------------- * Implements a simple Swig Packed type, and use it instead of string * ----------------------------------------------------------------------------- */ typedef struct { PyObject_HEAD void *pack; swig_type_info *ty; size_t size; } PySwigPacked; SWIGRUNTIME int PySwigPacked_print(PySwigPacked *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { char result[SWIG_BUFFER_SIZE]; fputs("pack, v->size, 0, sizeof(result))) { fputs("at ", fp); fputs(result, fp); } fputs(v->ty->name,fp); fputs(">", fp); return 0; } SWIGRUNTIME PyObject * PySwigPacked_repr(PySwigPacked *v) { char result[SWIG_BUFFER_SIZE]; if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))) { return PyString_FromFormat("", result, v->ty->name); } else { return PyString_FromFormat("", v->ty->name); } } SWIGRUNTIME PyObject * PySwigPacked_str(PySwigPacked *v) { char result[SWIG_BUFFER_SIZE]; if (SWIG_PackDataName(result, v->pack, v->size, 0, sizeof(result))){ return PyString_FromFormat("%s%s", result, v->ty->name); } else { return PyString_FromString(v->ty->name); } } SWIGRUNTIME int PySwigPacked_compare(PySwigPacked *v, PySwigPacked *w) { size_t i = v->size; size_t j = w->size; int s = (i < j) ? -1 : ((i > j) ? 1 : 0); return s ? s : strncmp((char *)v->pack, (char *)w->pack, 2*v->size); } SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void); SWIGRUNTIME PyTypeObject* PySwigPacked_type(void) { static PyTypeObject *SWIG_STATIC_POINTER(type) = _PySwigPacked_type(); return type; } SWIGRUNTIMEINLINE int PySwigPacked_Check(PyObject *op) { return ((op)->ob_type == _PySwigPacked_type()) || (strcmp((op)->ob_type->tp_name,"PySwigPacked") == 0); } SWIGRUNTIME void PySwigPacked_dealloc(PyObject *v) { if (PySwigPacked_Check(v)) { PySwigPacked *sobj = (PySwigPacked *) v; free(sobj->pack); } PyObject_DEL(v); } SWIGRUNTIME PyTypeObject* _PySwigPacked_type(void) { static char swigpacked_doc[] = "Swig object carries a C/C++ instance pointer"; static PyTypeObject pyswigpacked_type; static int type_init = 0; if (!type_init) { const PyTypeObject tmp = { PyObject_HEAD_INIT(NULL) 0, /* ob_size */ (char *)"PySwigPacked", /* tp_name */ sizeof(PySwigPacked), /* tp_basicsize */ 0, /* tp_itemsize */ (destructor)PySwigPacked_dealloc, /* tp_dealloc */ (printfunc)PySwigPacked_print, /* tp_print */ (getattrfunc)0, /* tp_getattr */ (setattrfunc)0, /* tp_setattr */ (cmpfunc)PySwigPacked_compare, /* tp_compare */ (reprfunc)PySwigPacked_repr, /* tp_repr */ 0, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ (hashfunc)0, /* tp_hash */ (ternaryfunc)0, /* tp_call */ (reprfunc)PySwigPacked_str, /* tp_str */ PyObject_GenericGetAttr, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ Py_TPFLAGS_DEFAULT, /* tp_flags */ swigpacked_doc, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ #if PY_VERSION_HEX >= 0x02020000 0, /* tp_iter */ 0, /* tp_iternext */ 0, /* tp_methods */ 0, /* tp_members */ 0, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ 0, /* tp_descr_get */ 0, /* tp_descr_set */ 0, /* tp_dictoffset */ 0, /* tp_init */ 0, /* tp_alloc */ 0, /* tp_new */ 0, /* tp_free */ 0, /* tp_is_gc */ 0, /* tp_bases */ 0, /* tp_mro */ 0, /* tp_cache */ 0, /* tp_subclasses */ 0, /* tp_weaklist */ #endif #if PY_VERSION_HEX >= 0x02030000 0, /* tp_del */ #endif #ifdef COUNT_ALLOCS 0,0,0,0 /* tp_alloc -> tp_next */ #endif }; pyswigpacked_type = tmp; pyswigpacked_type.ob_type = &PyType_Type; type_init = 1; } return &pyswigpacked_type; } SWIGRUNTIME PyObject * PySwigPacked_New(void *ptr, size_t size, swig_type_info *ty) { PySwigPacked *sobj = PyObject_NEW(PySwigPacked, PySwigPacked_type()); if (sobj) { void *pack = malloc(size); if (pack) { memcpy(pack, ptr, size); sobj->pack = pack; sobj->ty = ty; sobj->size = size; } else { PyObject_DEL((PyObject *) sobj); sobj = 0; } } return (PyObject *) sobj; } SWIGRUNTIME swig_type_info * PySwigPacked_UnpackData(PyObject *obj, void *ptr, size_t size) { if (PySwigPacked_Check(obj)) { PySwigPacked *sobj = (PySwigPacked *)obj; if (sobj->size != size) return 0; memcpy(ptr, sobj->pack, size); return sobj->ty; } else { return 0; } } /* ----------------------------------------------------------------------------- * pointers/data manipulation * ----------------------------------------------------------------------------- */ SWIGRUNTIMEINLINE PyObject * _SWIG_This(void) { return PyString_FromString("this"); } SWIGRUNTIME PyObject * SWIG_This(void) { static PyObject *SWIG_STATIC_POINTER(swig_this) = _SWIG_This(); return swig_this; } /* #define SWIG_PYTHON_SLOW_GETSET_THIS */ SWIGRUNTIME PySwigObject * SWIG_Python_GetSwigThis(PyObject *pyobj) { if (PySwigObject_Check(pyobj)) { return (PySwigObject *) pyobj; } else { PyObject *obj = 0; #if (!defined(SWIG_PYTHON_SLOW_GETSET_THIS) && (PY_VERSION_HEX >= 0x02030000)) if (PyInstance_Check(pyobj)) { obj = _PyInstance_Lookup(pyobj, SWIG_This()); } else { PyObject **dictptr = _PyObject_GetDictPtr(pyobj); if (dictptr != NULL) { PyObject *dict = *dictptr; obj = dict ? PyDict_GetItem(dict, SWIG_This()) : 0; } else { #ifdef PyWeakref_CheckProxy if (PyWeakref_CheckProxy(pyobj)) { PyObject *wobj = PyWeakref_GET_OBJECT(pyobj); return wobj ? SWIG_Python_GetSwigThis(wobj) : 0; } #endif obj = PyObject_GetAttr(pyobj,SWIG_This()); if (obj) { Py_DECREF(obj); } else { if (PyErr_Occurred()) PyErr_Clear(); return 0; } } } #else obj = PyObject_GetAttr(pyobj,SWIG_This()); if (obj) { Py_DECREF(obj); } else { if (PyErr_Occurred()) PyErr_Clear(); return 0; } #endif if (obj && !PySwigObject_Check(obj)) { /* a PyObject is called 'this', try to get the 'real this' PySwigObject from it */ return SWIG_Python_GetSwigThis(obj); } return (PySwigObject *)obj; } } /* Acquire a pointer value */ SWIGRUNTIME int SWIG_Python_AcquirePtr(PyObject *obj, int own) { if (own) { PySwigObject *sobj = SWIG_Python_GetSwigThis(obj); if (sobj) { int oldown = sobj->own; sobj->own = own; return oldown; } } return 0; } /* Convert a pointer value */ SWIGRUNTIME int SWIG_Python_ConvertPtrAndOwn(PyObject *obj, void **ptr, swig_type_info *ty, int flags, int *own) { if (!obj) return SWIG_ERROR; if (obj == Py_None) { if (ptr) *ptr = 0; return SWIG_OK; } else { PySwigObject *sobj = SWIG_Python_GetSwigThis(obj); while (sobj) { void *vptr = sobj->ptr; if (ty) { swig_type_info *to = sobj->ty; if (to == ty) { /* no type cast needed */ if (ptr) *ptr = vptr; break; } else { swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); if (!tc) { sobj = (PySwigObject *)sobj->next; } else { if (ptr) *ptr = SWIG_TypeCast(tc,vptr); break; } } } else { if (ptr) *ptr = vptr; break; } } if (sobj) { if (own) *own = sobj->own; if (flags & SWIG_POINTER_DISOWN) { sobj->own = 0; } return SWIG_OK; } else { int res = SWIG_ERROR; if (flags & SWIG_POINTER_IMPLICIT_CONV) { PySwigClientData *data = ty ? (PySwigClientData *) ty->clientdata : 0; if (data && !data->implicitconv) { PyObject *klass = data->klass; if (klass) { PyObject *impconv; data->implicitconv = 1; /* avoid recursion and call 'explicit' constructors*/ impconv = SWIG_Python_CallFunctor(klass, obj); data->implicitconv = 0; if (PyErr_Occurred()) { PyErr_Clear(); impconv = 0; } if (impconv) { PySwigObject *iobj = SWIG_Python_GetSwigThis(impconv); if (iobj) { void *vptr; res = SWIG_Python_ConvertPtrAndOwn((PyObject*)iobj, &vptr, ty, 0, 0); if (SWIG_IsOK(res)) { if (ptr) { *ptr = vptr; /* transfer the ownership to 'ptr' */ iobj->own = 0; res = SWIG_AddCast(res); res = SWIG_AddNewMask(res); } else { res = SWIG_AddCast(res); } } } Py_DECREF(impconv); } } } } return res; } } } /* Convert a function ptr value */ SWIGRUNTIME int SWIG_Python_ConvertFunctionPtr(PyObject *obj, void **ptr, swig_type_info *ty) { if (!PyCFunction_Check(obj)) { return SWIG_ConvertPtr(obj, ptr, ty, 0); } else { void *vptr = 0; /* here we get the method pointer for callbacks */ const char *doc = (((PyCFunctionObject *)obj) -> m_ml -> ml_doc); const char *desc = doc ? strstr(doc, "swig_ptr: ") : 0; if (desc) { desc = ty ? SWIG_UnpackVoidPtr(desc + 10, &vptr, ty->name) : 0; if (!desc) return SWIG_ERROR; } if (ty) { swig_cast_info *tc = SWIG_TypeCheck(desc,ty); if (!tc) return SWIG_ERROR; *ptr = SWIG_TypeCast(tc,vptr); } else { *ptr = vptr; } return SWIG_OK; } } /* Convert a packed value value */ SWIGRUNTIME int SWIG_Python_ConvertPacked(PyObject *obj, void *ptr, size_t sz, swig_type_info *ty) { swig_type_info *to = PySwigPacked_UnpackData(obj, ptr, sz); if (!to) return SWIG_ERROR; if (ty) { if (to != ty) { /* check type cast? */ swig_cast_info *tc = SWIG_TypeCheck(to->name,ty); if (!tc) return SWIG_ERROR; } } return SWIG_OK; } /* ----------------------------------------------------------------------------- * Create a new pointer object * ----------------------------------------------------------------------------- */ /* Create a new instance object, whitout calling __init__, and set the 'this' attribute. */ SWIGRUNTIME PyObject* SWIG_Python_NewShadowInstance(PySwigClientData *data, PyObject *swig_this) { #if (PY_VERSION_HEX >= 0x02020000) PyObject *inst = 0; PyObject *newraw = data->newraw; if (newraw) { inst = PyObject_Call(newraw, data->newargs, NULL); if (inst) { #if !defined(SWIG_PYTHON_SLOW_GETSET_THIS) PyObject **dictptr = _PyObject_GetDictPtr(inst); if (dictptr != NULL) { PyObject *dict = *dictptr; if (dict == NULL) { dict = PyDict_New(); *dictptr = dict; PyDict_SetItem(dict, SWIG_This(), swig_this); } } #else PyObject *key = SWIG_This(); PyObject_SetAttr(inst, key, swig_this); #endif } } else { PyObject *dict = PyDict_New(); PyDict_SetItem(dict, SWIG_This(), swig_this); inst = PyInstance_NewRaw(data->newargs, dict); Py_DECREF(dict); } return inst; #else #if (PY_VERSION_HEX >= 0x02010000) PyObject *inst; PyObject *dict = PyDict_New(); PyDict_SetItem(dict, SWIG_This(), swig_this); inst = PyInstance_NewRaw(data->newargs, dict); Py_DECREF(dict); return (PyObject *) inst; #else PyInstanceObject *inst = PyObject_NEW(PyInstanceObject, &PyInstance_Type); if (inst == NULL) { return NULL; } inst->in_class = (PyClassObject *)data->newargs; Py_INCREF(inst->in_class); inst->in_dict = PyDict_New(); if (inst->in_dict == NULL) { Py_DECREF(inst); return NULL; } #ifdef Py_TPFLAGS_HAVE_WEAKREFS inst->in_weakreflist = NULL; #endif #ifdef Py_TPFLAGS_GC PyObject_GC_Init(inst); #endif PyDict_SetItem(inst->in_dict, SWIG_This(), swig_this); return (PyObject *) inst; #endif #endif } SWIGRUNTIME void SWIG_Python_SetSwigThis(PyObject *inst, PyObject *swig_this) { PyObject *dict; #if (PY_VERSION_HEX >= 0x02020000) && !defined(SWIG_PYTHON_SLOW_GETSET_THIS) PyObject **dictptr = _PyObject_GetDictPtr(inst); if (dictptr != NULL) { dict = *dictptr; if (dict == NULL) { dict = PyDict_New(); *dictptr = dict; } PyDict_SetItem(dict, SWIG_This(), swig_this); return; } #endif dict = PyObject_GetAttrString(inst, (char*)"__dict__"); PyDict_SetItem(dict, SWIG_This(), swig_this); Py_DECREF(dict); } SWIGINTERN PyObject * SWIG_Python_InitShadowInstance(PyObject *args) { PyObject *obj[2]; if (!SWIG_Python_UnpackTuple(args,(char*)"swiginit", 2, 2, obj)) { return NULL; } else { PySwigObject *sthis = SWIG_Python_GetSwigThis(obj[0]); if (sthis) { PySwigObject_append((PyObject*) sthis, obj[1]); } else { SWIG_Python_SetSwigThis(obj[0], obj[1]); } return SWIG_Py_Void(); } } /* Create a new pointer object */ SWIGRUNTIME PyObject * SWIG_Python_NewPointerObj(void *ptr, swig_type_info *type, int flags) { if (!ptr) { return SWIG_Py_Void(); } else { int own = (flags & SWIG_POINTER_OWN) ? SWIG_POINTER_OWN : 0; PyObject *robj = PySwigObject_New(ptr, type, own); PySwigClientData *clientdata = type ? (PySwigClientData *)(type->clientdata) : 0; if (clientdata && !(flags & SWIG_POINTER_NOSHADOW)) { PyObject *inst = SWIG_Python_NewShadowInstance(clientdata, robj); if (inst) { Py_DECREF(robj); robj = inst; } } return robj; } } /* Create a new packed object */ SWIGRUNTIMEINLINE PyObject * SWIG_Python_NewPackedObj(void *ptr, size_t sz, swig_type_info *type) { return ptr ? PySwigPacked_New((void *) ptr, sz, type) : SWIG_Py_Void(); } /* -----------------------------------------------------------------------------* * Get type list * -----------------------------------------------------------------------------*/ #ifdef SWIG_LINK_RUNTIME void *SWIG_ReturnGlobalTypeList(void *); #endif SWIGRUNTIME swig_module_info * SWIG_Python_GetModule(void) { static void *type_pointer = (void *)0; /* first check if module already created */ if (!type_pointer) { #ifdef SWIG_LINK_RUNTIME type_pointer = SWIG_ReturnGlobalTypeList((void *)0); #else type_pointer = PyCObject_Import((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME); if (PyErr_Occurred()) { PyErr_Clear(); type_pointer = (void *)0; } #endif } return (swig_module_info *) type_pointer; } #if PY_MAJOR_VERSION < 2 /* PyModule_AddObject function was introduced in Python 2.0. The following function is copied out of Python/modsupport.c in python version 2.3.4 */ SWIGINTERN int PyModule_AddObject(PyObject *m, char *name, PyObject *o) { PyObject *dict; if (!PyModule_Check(m)) { PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs module as first arg"); return SWIG_ERROR; } if (!o) { PyErr_SetString(PyExc_TypeError, "PyModule_AddObject() needs non-NULL value"); return SWIG_ERROR; } dict = PyModule_GetDict(m); if (dict == NULL) { /* Internal error -- modules must have a dict! */ PyErr_Format(PyExc_SystemError, "module '%s' has no __dict__", PyModule_GetName(m)); return SWIG_ERROR; } if (PyDict_SetItemString(dict, name, o)) return SWIG_ERROR; Py_DECREF(o); return SWIG_OK; } #endif SWIGRUNTIME void SWIG_Python_DestroyModule(void *vptr) { swig_module_info *swig_module = (swig_module_info *) vptr; swig_type_info **types = swig_module->types; size_t i; for (i =0; i < swig_module->size; ++i) { swig_type_info *ty = types[i]; if (ty->owndata) { PySwigClientData *data = (PySwigClientData *) ty->clientdata; if (data) PySwigClientData_Del(data); } } Py_DECREF(SWIG_This()); } SWIGRUNTIME void SWIG_Python_SetModule(swig_module_info *swig_module) { static PyMethodDef swig_empty_runtime_method_table[] = { {NULL, NULL, 0, NULL} };/* Sentinel */ PyObject *module = Py_InitModule((char*)"swig_runtime_data" SWIG_RUNTIME_VERSION, swig_empty_runtime_method_table); PyObject *pointer = PyCObject_FromVoidPtr((void *) swig_module, SWIG_Python_DestroyModule); if (pointer && module) { PyModule_AddObject(module, (char*)"type_pointer" SWIG_TYPE_TABLE_NAME, pointer); } else { Py_XDECREF(pointer); } } /* The python cached type query */ SWIGRUNTIME PyObject * SWIG_Python_TypeCache(void) { static PyObject *SWIG_STATIC_POINTER(cache) = PyDict_New(); return cache; } SWIGRUNTIME swig_type_info * SWIG_Python_TypeQuery(const char *type) { PyObject *cache = SWIG_Python_TypeCache(); PyObject *key = PyString_FromString(type); PyObject *obj = PyDict_GetItem(cache, key); swig_type_info *descriptor; if (obj) { descriptor = (swig_type_info *) PyCObject_AsVoidPtr(obj); } else { swig_module_info *swig_module = SWIG_Python_GetModule(); descriptor = SWIG_TypeQueryModule(swig_module, swig_module, type); if (descriptor) { obj = PyCObject_FromVoidPtr(descriptor, NULL); PyDict_SetItem(cache, key, obj); Py_DECREF(obj); } } Py_DECREF(key); return descriptor; } /* For backward compatibility only */ #define SWIG_POINTER_EXCEPTION 0 #define SWIG_arg_fail(arg) SWIG_Python_ArgFail(arg) #define SWIG_MustGetPtr(p, type, argnum, flags) SWIG_Python_MustGetPtr(p, type, argnum, flags) SWIGRUNTIME int SWIG_Python_AddErrMesg(const char* mesg, int infront) { if (PyErr_Occurred()) { PyObject *type = 0; PyObject *value = 0; PyObject *traceback = 0; PyErr_Fetch(&type, &value, &traceback); if (value) { PyObject *old_str = PyObject_Str(value); Py_XINCREF(type); PyErr_Clear(); if (infront) { PyErr_Format(type, "%s %s", mesg, PyString_AsString(old_str)); } else { PyErr_Format(type, "%s %s", PyString_AsString(old_str), mesg); } Py_DECREF(old_str); } return 1; } else { return 0; } } SWIGRUNTIME int SWIG_Python_ArgFail(int argnum) { if (PyErr_Occurred()) { /* add information about failing argument */ char mesg[256]; PyOS_snprintf(mesg, sizeof(mesg), "argument number %d:", argnum); return SWIG_Python_AddErrMesg(mesg, 1); } else { return 0; } } SWIGRUNTIMEINLINE const char * PySwigObject_GetDesc(PyObject *self) { PySwigObject *v = (PySwigObject *)self; swig_type_info *ty = v ? v->ty : 0; return ty ? ty->str : (char*)""; } SWIGRUNTIME void SWIG_Python_TypeError(const char *type, PyObject *obj) { if (type) { #if defined(SWIG_COBJECT_TYPES) if (obj && PySwigObject_Check(obj)) { const char *otype = (const char *) PySwigObject_GetDesc(obj); if (otype) { PyErr_Format(PyExc_TypeError, "a '%s' is expected, 'PySwigObject(%s)' is received", type, otype); return; } } else #endif { const char *otype = (obj ? obj->ob_type->tp_name : 0); if (otype) { PyObject *str = PyObject_Str(obj); const char *cstr = str ? PyString_AsString(str) : 0; if (cstr) { PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s(%s)' is received", type, otype, cstr); } else { PyErr_Format(PyExc_TypeError, "a '%s' is expected, '%s' is received", type, otype); } Py_XDECREF(str); return; } } PyErr_Format(PyExc_TypeError, "a '%s' is expected", type); } else { PyErr_Format(PyExc_TypeError, "unexpected type is received"); } } /* Convert a pointer value, signal an exception on a type mismatch */ SWIGRUNTIME void * SWIG_Python_MustGetPtr(PyObject *obj, swig_type_info *ty, int argnum, int flags) { void *result; if (SWIG_Python_ConvertPtr(obj, &result, ty, flags) == -1) { PyErr_Clear(); if (flags & SWIG_POINTER_EXCEPTION) { SWIG_Python_TypeError(SWIG_TypePrettyName(ty), obj); SWIG_Python_ArgFail(argnum); } } return result; } #ifdef __cplusplus #if 0 { /* cc-mode */ #endif } #endif #define SWIG_exception_fail(code, msg) do { SWIG_Error(code, msg); SWIG_fail; } while(0) #define SWIG_contract_assert(expr, msg) if (!(expr)) { SWIG_Error(SWIG_RuntimeError, msg); SWIG_fail; } else /* -------- TYPES TABLE (BEGIN) -------- */ #define SWIGTYPE_p_SDLKey swig_types[0] #define SWIGTYPE_p_SDLMod swig_types[1] #define SWIGTYPE_p_SDL_RWops swig_types[2] #define SWIGTYPE_p_SDL_Rect swig_types[3] #define SWIGTYPE_p_SDL_Surface swig_types[4] #define SWIGTYPE_p_action_event swig_types[5] #define SWIGTYPE_p_adonthell swig_types[6] #define SWIGTYPE_p_animation swig_types[7] #define SWIGTYPE_p_animationframe swig_types[8] #define SWIGTYPE_p_audio swig_types[9] #define SWIGTYPE_p_char swig_types[10] #define SWIGTYPE_p_character swig_types[11] #define SWIGTYPE_p_character_base swig_types[12] #define SWIGTYPE_p_config swig_types[13] #define SWIGTYPE_p_data_screen swig_types[14] #define SWIGTYPE_p_dialog_screen swig_types[15] #define SWIGTYPE_p_dictionaryTcharacter_p_t swig_types[16] #define SWIGTYPE_p_dictionaryTquest_p_t swig_types[17] #define SWIGTYPE_p_drawable swig_types[18] #define SWIGTYPE_p_drawing_area swig_types[19] #define SWIGTYPE_p_enter_event swig_types[20] #define SWIGTYPE_p_event swig_types[21] #define SWIGTYPE_p_event_handler swig_types[22] #define SWIGTYPE_p_event_list swig_types[23] #define SWIGTYPE_p_fileops swig_types[24] #define SWIGTYPE_p_game swig_types[25] #define SWIGTYPE_p_gamedata swig_types[26] #define SWIGTYPE_p_gamedate swig_types[27] #define SWIGTYPE_p_gametime swig_types[28] #define SWIGTYPE_p_gz_file swig_types[29] #define SWIGTYPE_p_gz_type swig_types[30] #define SWIGTYPE_p_igzstream swig_types[31] #define SWIGTYPE_p_image swig_types[32] #define SWIGTYPE_p_input swig_types[33] #define SWIGTYPE_p_label swig_types[34] #define SWIGTYPE_p_label_input swig_types[35] #define SWIGTYPE_p_landmap swig_types[36] #define SWIGTYPE_p_leave_event swig_types[37] #define SWIGTYPE_p_map_event swig_types[38] #define SWIGTYPE_p_mapcharacter swig_types[39] #define SWIGTYPE_p_mapobject swig_types[40] #define SWIGTYPE_p_mapsquare swig_types[41] #define SWIGTYPE_p_mapsquare_area swig_types[42] #define SWIGTYPE_p_mapsquare_char swig_types[43] #define SWIGTYPE_p_mapsquare_tile swig_types[44] #define SWIGTYPE_p_mapsquare_walkable swig_types[45] #define SWIGTYPE_p_mapsquare_walkable_area swig_types[46] #define SWIGTYPE_p_mapview swig_types[47] #define SWIGTYPE_p_nls swig_types[48] #define SWIGTYPE_p_objects swig_types[49] #define SWIGTYPE_p_ogzstream swig_types[50] #define SWIGTYPE_p_pairTstd__string_int_t swig_types[51] #define SWIGTYPE_p_path swig_types[52] #define SWIGTYPE_p_play_state swig_types[53] #define SWIGTYPE_p_py_object swig_types[54] #define SWIGTYPE_p_quest swig_types[55] #define SWIGTYPE_p_screen swig_types[56] #define SWIGTYPE_p_short swig_types[57] #define SWIGTYPE_p_storage swig_types[58] #define SWIGTYPE_p_surface swig_types[59] #define SWIGTYPE_p_text_bubble swig_types[60] #define SWIGTYPE_p_time_event swig_types[61] #define SWIGTYPE_p_unsigned_int swig_types[62] #define SWIGTYPE_p_win_background swig_types[63] #define SWIGTYPE_p_win_base swig_types[64] #define SWIGTYPE_p_win_border swig_types[65] #define SWIGTYPE_p_win_container swig_types[66] #define SWIGTYPE_p_win_event swig_types[67] #define SWIGTYPE_p_win_font swig_types[68] #define SWIGTYPE_p_win_image swig_types[69] #define SWIGTYPE_p_win_label swig_types[70] #define SWIGTYPE_p_win_manager swig_types[71] #define SWIGTYPE_p_win_mapview swig_types[72] #define SWIGTYPE_p_win_scroll swig_types[73] #define SWIGTYPE_p_win_scrollbar swig_types[74] #define SWIGTYPE_p_win_select swig_types[75] #define SWIGTYPE_p_win_theme swig_types[76] #define SWIGTYPE_p_win_write swig_types[77] static swig_type_info *swig_types[79]; static swig_module_info swig_module = {swig_types, 78, 0, 0, 0, 0}; #define SWIG_TypeQuery(name) SWIG_TypeQueryModule(&swig_module, &swig_module, name) #define SWIG_MangledTypeQuery(name) SWIG_MangledTypeQueryModule(&swig_module, &swig_module, name) /* -------- TYPES TABLE (END) -------- */ #if (PY_VERSION_HEX <= 0x02000000) # if !defined(SWIG_PYTHON_CLASSIC) # error "This python version requires swig to be run with the '-classic' option" # endif #endif #if (PY_VERSION_HEX <= 0x02020000) # error "This python version requires swig to be run with the '-nomodern' option" #endif #if (PY_VERSION_HEX <= 0x02020000) # error "This python version requires swig to be run with the '-nomodernargs' option" #endif /*----------------------------------------------- @(target):= _adonthell.so ------------------------------------------------*/ #define SWIG_init init_adonthell #define SWIG_name "_adonthell" #define SWIGVERSION 0x010331 #define SWIG_VERSION SWIGVERSION #define SWIG_as_voidptr(a) const_cast< void * >(static_cast< const void * >(a)) #define SWIG_as_voidptrptr(a) ((void)SWIG_as_voidptr(*a),reinterpret_cast< void** >(a)) #include namespace swig { class PyObject_ptr { protected: PyObject *_obj; public: PyObject_ptr() :_obj(0) { } PyObject_ptr(const PyObject_ptr& item) : _obj(item._obj) { Py_XINCREF(_obj); } PyObject_ptr(PyObject *obj, bool initial_ref = true) :_obj(obj) { if (initial_ref) Py_XINCREF(_obj); } PyObject_ptr & operator=(const PyObject_ptr& item) { Py_XINCREF(item._obj); Py_XDECREF(_obj); _obj = item._obj; return *this; } ~PyObject_ptr() { Py_XDECREF(_obj); } operator PyObject *() const { return _obj; } PyObject *operator->() const { return _obj; } }; } namespace swig { struct PyObject_var : PyObject_ptr { PyObject_var(PyObject* obj = 0) : PyObject_ptr(obj, false) { } PyObject_var & operator = (PyObject* obj) { Py_XDECREF(_obj); _obj = obj; return *this; } }; } #include #include "types.h" #include "time_event.h" #include "map_event.h" #include "event_list.h" #include "event_handler.h" #include "storage.h" #include "gametime.h" #include "gamedate.h" #include "SDL_keysym.h" #include "input.h" #include "audio.h" #include "character_base.h" #include "quest.h" #include "drawing_area.h" #include "drawable.h" #include "surface.h" #include "screen.h" #include "image.h" #include "animation.h" #include "mapsquare_walkable.h" #include "mapsquare.h" #include "mapobject.h" #include "mapcharacter.h" #include "path.h" #include "landmap.h" #include "mapview.h" #include "character.h" #include "label_input.h" #include "win_types.h" #include "win_label.h" #include "win_image.h" #include "win_write.h" #include "win_mapview.h" #include "win_ttf.h" #include "win_theme.h" #include "win_base.h" #include "text_bubble.h" #include "win_container.h" #include "win_scroll.h" #include "win_select.h" #include "win_manager.h" #include "dialog_screen.h" #include "data_screen.h" #include "gamedata.h" #include "game.h" #include "nls.h" // Workaround for keysym missing in older versions of SDL #ifndef SDLK_UNDO #define SDLK_UNDO 322 #endif // Workaround for bug in pyptrtypes.swg #define SWIG_append_msg SWIG_append_errmsg // This enum allows clearer ownership operation: // obj.thisown = Python (Python will destroy the object) // obj.thisown = C (C has to destroy the object) enum {Python = 1, C = 0}; // pass an instance to python PyObject *get_py_obj (void *instance, const char* class_name) { swig_type_info * ti = SWIG_TypeQuery (class_name); if (ti) return SWIG_NewPointerObj (instance, ti, C); else printf ("*** get_py_obj: Type '%s' not known to SWIG!\n", class_name); return NULL; } #define SWIG_From_long PyInt_FromLong SWIGINTERNINLINE PyObject * SWIG_From_int (int value) { return SWIG_From_long (value); } #include SWIGINTERN swig_type_info* SWIG_pchar_descriptor(void) { static int init = 0; static swig_type_info* info = 0; if (!init) { info = SWIG_TypeQuery("_p_char"); init = 1; } return info; } SWIGINTERN int SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc) { if (PyString_Check(obj)) { char *cstr; Py_ssize_t len; PyString_AsStringAndSize(obj, &cstr, &len); if (cptr) { if (alloc) { /* In python the user should not be able to modify the inner string representation. To warranty that, if you define SWIG_PYTHON_SAFE_CSTRINGS, a new/copy of the python string buffer is always returned. The default behavior is just to return the pointer value, so, be careful. */ #if defined(SWIG_PYTHON_SAFE_CSTRINGS) if (*alloc != SWIG_OLDOBJ) #else if (*alloc == SWIG_NEWOBJ) #endif { *cptr = reinterpret_cast< char* >(memcpy((new char[len + 1]), cstr, sizeof(char)*(len + 1))); *alloc = SWIG_NEWOBJ; } else { *cptr = cstr; *alloc = SWIG_OLDOBJ; } } else { *cptr = PyString_AsString(obj); } } if (psize) *psize = len + 1; return SWIG_OK; } else { swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); if (pchar_descriptor) { void* vptr = 0; if (SWIG_ConvertPtr(obj, &vptr, pchar_descriptor, 0) == SWIG_OK) { if (cptr) *cptr = (char *) vptr; if (psize) *psize = vptr ? (strlen((char *)vptr) + 1) : 0; if (alloc) *alloc = SWIG_OLDOBJ; return SWIG_OK; } } } return SWIG_TypeError; } SWIGINTERN int SWIG_AsPtr_std_string (PyObject * obj, std::string **val) { char* buf = 0 ; size_t size = 0; int alloc = SWIG_OLDOBJ; if (SWIG_IsOK((SWIG_AsCharPtrAndSize(obj, &buf, &size, &alloc)))) { if (buf) { if (val) *val = new std::string(buf, size - 1); if (alloc == SWIG_NEWOBJ) delete[] buf; return SWIG_NEWOBJ; } else { if (val) *val = 0; return SWIG_OLDOBJ; } } else { static int init = 0; static swig_type_info* descriptor = 0; if (!init) { descriptor = SWIG_TypeQuery("std::string" " *"); init = 1; } if (descriptor) { std::string *vptr; int res = SWIG_ConvertPtr(obj, (void**)&vptr, descriptor, 0); if (SWIG_IsOK(res) && val) *val = vptr; return res; } } return SWIG_ERROR; } #include #ifndef LLONG_MIN # define LLONG_MIN LONG_LONG_MIN #endif #ifndef LLONG_MAX # define LLONG_MAX LONG_LONG_MAX #endif #ifndef ULLONG_MAX # define ULLONG_MAX ULONG_LONG_MAX #endif SWIGINTERN int SWIG_AsVal_double (PyObject *obj, double *val) { int res = SWIG_TypeError; if (PyFloat_Check(obj)) { if (val) *val = PyFloat_AsDouble(obj); return SWIG_OK; } else if (PyInt_Check(obj)) { if (val) *val = PyInt_AsLong(obj); return SWIG_OK; } else if (PyLong_Check(obj)) { double v = PyLong_AsDouble(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_OK; } else { PyErr_Clear(); } } #ifdef SWIG_PYTHON_CAST_MODE { int dispatch = 0; double d = PyFloat_AsDouble(obj); if (!PyErr_Occurred()) { if (val) *val = d; return SWIG_AddCast(SWIG_OK); } else { PyErr_Clear(); } if (!dispatch) { long v = PyLong_AsLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_AddCast(SWIG_AddCast(SWIG_OK)); } else { PyErr_Clear(); } } } #endif return res; } #include #include SWIGINTERNINLINE int SWIG_CanCastAsInteger(double *d, double min, double max) { double x = *d; if ((min <= x && x <= max)) { double fx = floor(x); double cx = ceil(x); double rd = ((x - fx) < 0.5) ? fx : cx; /* simple rint */ if ((errno == EDOM) || (errno == ERANGE)) { errno = 0; } else { double summ, reps, diff; if (rd < x) { diff = x - rd; } else if (rd > x) { diff = rd - x; } else { return 1; } summ = rd + x; reps = diff/summ; if (reps < 8*DBL_EPSILON) { *d = rd; return 1; } } } return 0; } SWIGINTERN int SWIG_AsVal_long (PyObject *obj, long* val) { if (PyInt_Check(obj)) { if (val) *val = PyInt_AsLong(obj); return SWIG_OK; } else if (PyLong_Check(obj)) { long v = PyLong_AsLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_OK; } else { PyErr_Clear(); } } #ifdef SWIG_PYTHON_CAST_MODE { int dispatch = 0; long v = PyInt_AsLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_AddCast(SWIG_OK); } else { PyErr_Clear(); } if (!dispatch) { double d; int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, LONG_MIN, LONG_MAX)) { if (val) *val = (long)(d); return res; } } } #endif return SWIG_TypeError; } SWIGINTERN int SWIG_AsVal_int (PyObject * obj, int *val) { long v; int res = SWIG_AsVal_long (obj, &v); if (SWIG_IsOK(res)) { if ((v < INT_MIN || v > INT_MAX)) { return SWIG_OverflowError; } else { if (val) *val = static_cast< int >(v); } } return res; } SWIGINTERNINLINE PyObject* SWIG_From_bool (bool value) { return PyBool_FromLong(value ? 1 : 0); } SWIGINTERN int SWIG_AsVal_unsigned_SS_long (PyObject *obj, unsigned long *val) { if (PyInt_Check(obj)) { long v = PyInt_AsLong(obj); if (v >= 0) { if (val) *val = v; return SWIG_OK; } else { return SWIG_OverflowError; } } else if (PyLong_Check(obj)) { unsigned long v = PyLong_AsUnsignedLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_OK; } else { PyErr_Clear(); } } #ifdef SWIG_PYTHON_CAST_MODE { int dispatch = 0; unsigned long v = PyLong_AsUnsignedLong(obj); if (!PyErr_Occurred()) { if (val) *val = v; return SWIG_AddCast(SWIG_OK); } else { PyErr_Clear(); } if (!dispatch) { double d; int res = SWIG_AddCast(SWIG_AsVal_double (obj,&d)); if (SWIG_IsOK(res) && SWIG_CanCastAsInteger(&d, 0, ULONG_MAX)) { if (val) *val = (unsigned long)(d); return res; } } } #endif return SWIG_TypeError; } SWIGINTERN int SWIG_AsVal_unsigned_SS_int (PyObject * obj, unsigned int *val) { unsigned long v; int res = SWIG_AsVal_unsigned_SS_long (obj, &v); if (SWIG_IsOK(res)) { if ((v > UINT_MAX)) { return SWIG_OverflowError; } else { if (val) *val = static_cast< unsigned int >(v); } } return res; } SWIGINTERNINLINE PyObject* SWIG_From_unsigned_SS_long (unsigned long value) { return (value > LONG_MAX) ? PyLong_FromUnsignedLong(value) : PyInt_FromLong(static_cast< long >(value)); } SWIGINTERNINLINE PyObject * SWIG_From_unsigned_SS_char (unsigned char value) { return SWIG_From_unsigned_SS_long (value); } SWIGINTERNINLINE PyObject * SWIG_From_signed_SS_char (signed char value) { return SWIG_From_long (value); } SWIGINTERNINLINE PyObject * SWIG_From_unsigned_SS_short (unsigned short value) { return SWIG_From_unsigned_SS_long (value); } SWIGINTERNINLINE PyObject * SWIG_From_short (short value) { return SWIG_From_long (value); } SWIGINTERNINLINE PyObject * SWIG_From_unsigned_SS_int (unsigned int value) { return SWIG_From_unsigned_SS_long (value); } SWIGINTERNINLINE PyObject * SWIG_FromCharPtrAndSize(const char* carray, size_t size) { if (carray) { if (size > INT_MAX) { swig_type_info* pchar_descriptor = SWIG_pchar_descriptor(); return pchar_descriptor ? SWIG_NewPointerObj(const_cast< char * >(carray), pchar_descriptor, 0) : SWIG_Py_Void(); } else { return PyString_FromStringAndSize(carray, static_cast< int >(size)); } } else { return SWIG_Py_Void(); } } SWIGINTERNINLINE PyObject * SWIG_From_std_string (const std::string& s) { if (s.size()) { return SWIG_FromCharPtrAndSize(s.data(), s.size()); } else { return SWIG_FromCharPtrAndSize(s.c_str(), 0); } } #define SWIG_From_double PyFloat_FromDouble SWIGINTERNINLINE PyObject * SWIG_From_float (float value) { return SWIG_From_double (value); } SWIGINTERN int SWIG_AsVal_bool (PyObject *obj, bool *val) { if (obj == Py_True) { if (val) *val = true; return SWIG_OK; } else if (obj == Py_False) { if (val) *val = false; return SWIG_OK; } else { long v = 0; int res = SWIG_AddCast(SWIG_AsVal_long (obj, val ? &v : 0)); if (SWIG_IsOK(res) && val) *val = v ? true : false; return res; } } SWIGINTERN int SWIG_AsVal_unsigned_SS_char (PyObject * obj, unsigned char *val) { unsigned long v; int res = SWIG_AsVal_unsigned_SS_long (obj, &v); if (SWIG_IsOK(res)) { if ((v > UCHAR_MAX)) { return SWIG_OverflowError; } else { if (val) *val = static_cast< unsigned char >(v); } } return res; } SWIGINTERN int SWIG_AsVal_signed_SS_char (PyObject * obj, signed char *val) { long v; int res = SWIG_AsVal_long (obj, &v); if (SWIG_IsOK(res)) { if ((v < SCHAR_MIN || v > SCHAR_MAX)) { return SWIG_OverflowError; } else { if (val) *val = static_cast< signed char >(v); } } return res; } SWIGINTERN int SWIG_AsVal_unsigned_SS_short (PyObject * obj, unsigned short *val) { unsigned long v; int res = SWIG_AsVal_unsigned_SS_long (obj, &v); if (SWIG_IsOK(res)) { if ((v > USHRT_MAX)) { return SWIG_OverflowError; } else { if (val) *val = static_cast< unsigned short >(v); } } return res; } SWIGINTERN int SWIG_AsVal_short (PyObject * obj, short *val) { long v; int res = SWIG_AsVal_long (obj, &v); if (SWIG_IsOK(res)) { if ((v < SHRT_MIN || v > SHRT_MAX)) { return SWIG_OverflowError; } else { if (val) *val = static_cast< short >(v); } } return res; } SWIGINTERN int SWIG_AsVal_float (PyObject * obj, float *val) { double v; int res = SWIG_AsVal_double (obj, &v); if (SWIG_IsOK(res)) { if ((v < -FLT_MAX || v > FLT_MAX)) { return SWIG_OverflowError; } else { if (val) *val = static_cast< float >(v); } } return res; } SWIGINTERNINLINE PyObject * SWIG_FromCharPtr(const char *cptr) { return SWIG_FromCharPtrAndSize(cptr, (cptr ? strlen(cptr) : 0)); } #ifdef __cplusplus extern "C" { #endif SWIGINTERN PyObject *_wrap_new_gz_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gz_file *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_gz_file",0,0)) SWIG_fail; result = (gz_file *)new gz_file(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gz_file, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_gz_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gz_file *arg1 = (gz_file *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_gz_file",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gz_file, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gz_file" "', argument " "1"" of type '" "gz_file *""'"); } arg1 = reinterpret_cast< gz_file * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gz_file_open(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gz_file *arg1 = (gz_file *) 0 ; string *arg2 = 0 ; gz_type arg3 ; bool result; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gz_file_open",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gz_file, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gz_file_open" "', argument " "1"" of type '" "gz_file *""'"); } arg1 = reinterpret_cast< gz_file * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gz_file_open" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "gz_file_open" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } ecode3 = SWIG_AsVal_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "gz_file_open" "', argument " "3"" of type '" "gz_type""'"); } arg3 = static_cast< gz_type >(val3); result = (bool)(arg1)->open((string const &)*arg2,arg3); resultobj = SWIG_From_bool(static_cast< bool >(result)); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_gz_file_close(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gz_file *arg1 = (gz_file *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gz_file_close",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gz_file, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gz_file_close" "', argument " "1"" of type '" "gz_file *""'"); } arg1 = reinterpret_cast< gz_file * >(argp1); (arg1)->close(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gz_file_is_open(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gz_file *arg1 = (gz_file *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gz_file_is_open",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gz_file, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gz_file_is_open" "', argument " "1"" of type '" "gz_file *""'"); } arg1 = reinterpret_cast< gz_file * >(argp1); result = (bool)(arg1)->is_open(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gz_file_eof(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gz_file *arg1 = (gz_file *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gz_file_eof",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gz_file, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gz_file_eof" "', argument " "1"" of type '" "gz_file *""'"); } arg1 = reinterpret_cast< gz_file * >(argp1); result = (bool)(arg1)->eof(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *gz_file_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_gz_file, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_igzstream(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_igzstream",0,0)) SWIG_fail; result = (igzstream *)new igzstream(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_igzstream, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_igzstream(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_igzstream",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_igzstream" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_open(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; string *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_open",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_open" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "igzstream_open" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "igzstream_open" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } result = (bool)(arg1)->open((string const &)*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_block(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; void *arg2 = (void *) 0 ; unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; unsigned int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_block",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_block" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "igzstream_get_block" "', argument " "2"" of type '" "void *""'"); } ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "igzstream_get_block" "', argument " "3"" of type '" "unsigned int""'"); } arg3 = static_cast< unsigned int >(val3); (arg1)->get_block(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_bool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_bool",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_bool" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (bool)(arg1)->get_bool(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_uint8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; unsigned char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_uint8",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_uint8" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (unsigned char)(arg1)->get_uint8(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_sint8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_sint8",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_sint8" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (signed char)(arg1)->get_sint8(); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_uint16(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_uint16",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_uint16" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (unsigned short)(arg1)->get_uint16(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_sint16(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_sint16",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_sint16" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (short)(arg1)->get_sint16(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_uint32(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; unsigned int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_uint32",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_uint32" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (unsigned int)(arg1)->get_uint32(); resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_sint32(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_sint32",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_sint32" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (int)(arg1)->get_sint32(); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_string(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_string",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_string" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (arg1)->get_string(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_igzstream_get_float(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = (igzstream *) 0 ; float result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"igzstream_get_float",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_igzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "igzstream_get_float" "', argument " "1"" of type '" "igzstream *""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (float)(arg1)->get_float(); resultobj = SWIG_From_float(static_cast< float >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *igzstream_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_igzstream, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_ogzstream(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_ogzstream",0,0)) SWIG_fail; result = (ogzstream *)new ogzstream(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_ogzstream, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_ogzstream(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_ogzstream",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_ogzstream" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_open(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; string *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_open",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_open" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ogzstream_open" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "ogzstream_open" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } result = (bool)(arg1)->open((string const &)*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_block(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; void *arg2 = (void *) 0 ; unsigned int arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; unsigned int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_block",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_block" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); res2 = SWIG_ConvertPtr(obj1,SWIG_as_voidptrptr(&arg2), 0, 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ogzstream_put_block" "', argument " "2"" of type '" "void *""'"); } ecode3 = SWIG_AsVal_unsigned_SS_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "ogzstream_put_block" "', argument " "3"" of type '" "unsigned int""'"); } arg3 = static_cast< unsigned int >(val3); (arg1)->put_block(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_bool(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; bool *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; bool temp2 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_bool",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_bool" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_bool" "', argument " "2"" of type '" "bool""'"); } temp2 = static_cast< bool >(val2); arg2 = &temp2; (arg1)->put_bool((bool const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_uint8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; unsigned char *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char temp2 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_uint8",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_uint8" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_uint8" "', argument " "2"" of type '" "unsigned char""'"); } temp2 = static_cast< unsigned char >(val2); arg2 = &temp2; (arg1)->put_uint8((unsigned char const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_sint8(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; signed char *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; signed char temp2 ; signed char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_sint8",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_sint8" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_signed_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_sint8" "', argument " "2"" of type '" "signed char""'"); } temp2 = static_cast< signed char >(val2); arg2 = &temp2; (arg1)->put_sint8((signed char const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_uint16(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; unsigned short *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short temp2 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_uint16",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_uint16" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_uint16" "', argument " "2"" of type '" "unsigned short""'"); } temp2 = static_cast< unsigned short >(val2); arg2 = &temp2; (arg1)->put_uint16((unsigned short const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_sint16(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; short *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; short temp2 ; short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_sint16",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_sint16" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_sint16" "', argument " "2"" of type '" "short""'"); } temp2 = static_cast< short >(val2); arg2 = &temp2; (arg1)->put_sint16((short const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_uint32(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; unsigned int *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned int temp2 ; unsigned int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_uint32",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_uint32" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_uint32" "', argument " "2"" of type '" "unsigned int""'"); } temp2 = static_cast< unsigned int >(val2); arg2 = &temp2; (arg1)->put_uint32((unsigned int const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_sint32(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; int *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int temp2 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_sint32",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_sint32" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_sint32" "', argument " "2"" of type '" "int""'"); } temp2 = static_cast< int >(val2); arg2 = &temp2; (arg1)->put_sint32((int const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_string(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_string",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_string" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "ogzstream_put_string" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "ogzstream_put_string" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->put_string((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_ogzstream_put_float(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = (ogzstream *) 0 ; float *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; float temp2 ; float val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"ogzstream_put_float",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_ogzstream, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "ogzstream_put_float" "', argument " "1"" of type '" "ogzstream *""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_float(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "ogzstream_put_float" "', argument " "2"" of type '" "float""'"); } temp2 = static_cast< float >(val2); arg2 = &temp2; (arg1)->put_float((float const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *ogzstream_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_ogzstream, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_fileops_put_version(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"fileops_put_version",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fileops_put_version" "', argument " "1"" of type '" "ogzstream &""'"); } if (!argp1) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fileops_put_version" "', argument " "1"" of type '" "ogzstream &""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "fileops_put_version" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); fileops::put_version(*arg1,arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_fileops_get_version(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = 0 ; unsigned short arg2 ; unsigned short arg3 ; string arg4 ; bool result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"fileops_get_version",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "fileops_get_version" "', argument " "1"" of type '" "igzstream &""'"); } if (!argp1) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "fileops_get_version" "', argument " "1"" of type '" "igzstream &""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "fileops_get_version" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "fileops_get_version" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj3, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "fileops_get_version" "', argument " "4"" of type '" "string""'"); } arg4 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (bool)fileops::get_version(*arg1,arg2,arg3,arg4); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_fileops(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; fileops *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_fileops",0,0)) SWIG_fail; result = (fileops *)new fileops(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_fileops, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_fileops(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; fileops *arg1 = (fileops *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_fileops",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_fileops, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_fileops" "', argument " "1"" of type '" "fileops *""'"); } arg1 = reinterpret_cast< fileops * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *fileops_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_fileops, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_delete_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_event" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_clear" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_type(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; unsigned char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_type",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_type" "', argument " "1"" of type '" "event const *""'"); } arg1 = reinterpret_cast< event * >(argp1); result = (unsigned char)((event const *)arg1)->type(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; string *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_id",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_id" "', argument " "1"" of type '" "event const *""'"); } arg1 = reinterpret_cast< event * >(argp1); { string const &_result_ref = ((event const *)arg1)->id(); result = (string *) &_result_ref; } resultobj = SWIG_From_std_string(static_cast< std::string >(*result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_set_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_set_id",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_set_id" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_set_id" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "event_set_id" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->set_id((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_event_registered(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_registered",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_registered" "', argument " "1"" of type '" "event const *""'"); } arg1 = reinterpret_cast< event * >(argp1); result = (bool)((event const *)arg1)->registered(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_repeat(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_repeat",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_repeat" "', argument " "1"" of type '" "event const *""'"); } arg1 = reinterpret_cast< event * >(argp1); result = (int)((event const *)arg1)->repeat(); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_set_repeat(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_set_repeat",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_set_repeat" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "event_set_repeat" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); (arg1)->set_repeat(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; event *arg2 = (event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_execute",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_execute" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_execute" "', argument " "2"" of type '" "event const *""'"); } arg2 = reinterpret_cast< event * >(argp2); result = (int)(arg1)->execute((event const *)arg2); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_equals(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; event *arg2 = (event *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_equals",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_equals" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_equals" "', argument " "2"" of type '" "event const *""'"); } arg2 = reinterpret_cast< event * >(argp2); result = (bool)(arg1)->equals((event const *)arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_set_script__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_set_script",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_set_script" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "event_set_script" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } (arg1)->set_script(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_set_script__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_set_script",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_set_script" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "event_set_script" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_script(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_set_script(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_event, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_event_set_script__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_event, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_event_set_script__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'event_set_script'.\n Possible C/C++ prototypes are:\n set_script(string,PyObject *)\n set_script(string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_event_set_callback__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; PyObject *arg2 = (PyObject *) 0 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_set_callback",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_set_callback" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); { arg2 = obj1; } { arg3 = obj2; } (arg1)->set_callback(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_set_callback__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; PyObject *arg2 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_set_callback",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_set_callback" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); { arg2 = obj1; } (arg1)->set_callback(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_set_callback(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_event, 0); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { return _wrap_event_set_callback__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_event, 0); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_event_set_callback__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'event_set_callback'.\n Possible C/C++ prototypes are:\n set_callback(PyObject *,PyObject *)\n set_callback(PyObject *)\n"); return NULL; } SWIGINTERN PyObject *_wrap_event_pause(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_pause",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_pause" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); (arg1)->pause(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_resume(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_resume",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_resume" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); (arg1)->resume(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_is_paused(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_is_paused",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_is_paused" "', argument " "1"" of type '" "event const *""'"); } arg1 = reinterpret_cast< event * >(argp1); result = (bool)((event const *)arg1)->is_paused(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; ogzstream *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_put_state" "', argument " "1"" of type '" "event const *""'"); } arg1 = reinterpret_cast< event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "event_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); ((event const *)arg1)->put_state(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; igzstream *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_get_state" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "event_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (bool)(arg1)->get_state(*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_event, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_event_list(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_event_list",0,0)) SWIG_fail; result = (event_list *)new event_list(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_event_list, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_event_list(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_event_list",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_event_list" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_clear" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_add_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; event *arg2 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_add_event",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_add_event" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_list_add_event" "', argument " "2"" of type '" "event *""'"); } arg2 = reinterpret_cast< event * >(argp2); (arg1)->add_event(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_remove_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; event *arg2 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_remove_event",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_remove_event" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_list_remove_event" "', argument " "2"" of type '" "event *""'"); } arg2 = reinterpret_cast< event * >(argp2); (arg1)->remove_event(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_get_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; string *arg2 = 0 ; event *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_get_event",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_get_event" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_list_get_event" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "event_list_get_event" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } result = (event *)(arg1)->get_event((string const &)*arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_event, 0 | 0 ); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_event_list_pause(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_pause",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_pause" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); (arg1)->pause(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_resume(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_resume",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_resume" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); (arg1)->resume(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_is_paused(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_is_paused",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_is_paused" "', argument " "1"" of type '" "event_list const *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); result = (bool)((event_list const *)arg1)->is_paused(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; ogzstream *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_put_state" "', argument " "1"" of type '" "event_list const *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_list_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "event_list_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); ((event_list const *)arg1)->put_state(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_list_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_list *arg1 = (event_list *) 0 ; igzstream *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_list_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_list, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_list_get_state" "', argument " "1"" of type '" "event_list *""'"); } arg1 = reinterpret_cast< event_list * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "event_list_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "event_list_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (bool)(arg1)->get_state(*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *event_list_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_event_list, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_time_event__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; bool arg2 ; time_event *result = 0 ; int res1 = SWIG_OLDOBJ ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_time_event",2,2,&obj0,&obj1)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_time_event" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_time_event" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "new_time_event" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); result = (time_event *)new time_event((string const &)*arg1,arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_time_event, SWIG_POINTER_NEW | 0 ); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_new_time_event__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; time_event *result = 0 ; int res1 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_time_event",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_time_event" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_time_event" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } result = (time_event *)new time_event((string const &)*arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_time_event, SWIG_POINTER_NEW | 0 ); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_new_time_event(PyObject *self, PyObject *args) { int argc; PyObject *argv[3]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 1) { int _v; int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_new_time_event__SWIG_1(self, args); } } if (argc == 2) { int _v; int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_bool(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_new_time_event__SWIG_0(self, args); } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_time_event'.\n Possible C/C++ prototypes are:\n time_event(string const &,bool)\n time_event(string const &)\n"); return NULL; } SWIGINTERN PyObject *_wrap_time_event_set_repeat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; string *arg2 = 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_set_repeat",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_set_repeat" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "time_event_set_repeat" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "time_event_set_repeat" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } ecode3 = SWIG_AsVal_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "time_event_set_repeat" "', argument " "3"" of type '" "int""'"); } arg3 = static_cast< int >(val3); (arg1)->set_repeat((string const &)*arg2,arg3); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_time_event_set_repeat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_set_repeat",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_set_repeat" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "time_event_set_repeat" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "time_event_set_repeat" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->set_repeat((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_time_event_set_repeat(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_time_event, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_time_event_set_repeat__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_time_event, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_int(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_time_event_set_repeat__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'time_event_set_repeat'.\n Possible C/C++ prototypes are:\n set_repeat(string const &,int)\n set_repeat(string const &)\n"); return NULL; } SWIGINTERN PyObject *_wrap_time_event_equals(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; event *arg2 = (event *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_equals",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_equals" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "time_event_equals" "', argument " "2"" of type '" "event const *""'"); } arg2 = reinterpret_cast< event * >(argp2); result = (bool)(arg1)->equals((event const *)arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_time_event_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; event *arg2 = (event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_execute",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_execute" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "time_event_execute" "', argument " "2"" of type '" "event const *""'"); } arg2 = reinterpret_cast< event * >(argp2); result = (int)(arg1)->execute((event const *)arg2); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_time_event_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; ogzstream *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_put_state" "', argument " "1"" of type '" "time_event const *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "time_event_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "time_event_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); ((time_event const *)arg1)->put_state(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_time_event_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; igzstream *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_get_state" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "time_event_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "time_event_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (bool)(arg1)->get_state(*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_time_event_pause(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_pause",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_pause" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); (arg1)->pause(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_time_event_resume(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_resume",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_resume" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); (arg1)->resume(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_time_event_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; unsigned int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"time_event_time",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "time_event_time" "', argument " "1"" of type '" "time_event const *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); result = (unsigned int)((time_event const *)arg1)->time(); resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_time_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; time_event *arg1 = (time_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_time_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_time_event, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_time_event" "', argument " "1"" of type '" "time_event *""'"); } arg1 = reinterpret_cast< time_event * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *time_event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_time_event, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_map_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_map_event",0,0)) SWIG_fail; result = (map_event *)new map_event(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_map_event, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; ogzstream *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_put_state" "', argument " "1"" of type '" "map_event const *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "map_event_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "map_event_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); ((map_event const *)arg1)->put_state(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; igzstream *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_get_state" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "map_event_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "map_event_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (bool)(arg1)->get_state(*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_submap_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_submap_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_submap_set" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "map_event_submap_set" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); if (arg1) (arg1)->submap = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_submap_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_submap_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_submap_get" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); result = (int) ((arg1)->submap); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_x_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_x_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_x_set" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "map_event_x_set" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); if (arg1) (arg1)->x = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_x_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_x_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_x_get" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); result = (int) ((arg1)->x); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_y_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_y_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_y_set" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "map_event_y_set" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); if (arg1) (arg1)->y = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_y_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_y_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_y_get" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); result = (int) ((arg1)->y); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_dir_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; signed char arg2 ; void *argp1 = 0 ; int res1 = 0 ; signed char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_dir_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_dir_set" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); ecode2 = SWIG_AsVal_signed_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "map_event_dir_set" "', argument " "2"" of type '" "signed char""'"); } arg2 = static_cast< signed char >(val2); if (arg1) (arg1)->dir = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_dir_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_dir_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_dir_get" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); result = (signed char) ((arg1)->dir); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_map_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_map_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_map_set" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "map_event_map_set" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); if (arg1) (arg1)->map = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_map_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_map_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_map_get" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); result = (int) ((arg1)->map); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_c_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; mapcharacter *arg2 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_c_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_c_set" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_mapcharacter, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "map_event_c_set" "', argument " "2"" of type '" "mapcharacter *""'"); } arg2 = reinterpret_cast< mapcharacter * >(argp2); if (arg1) (arg1)->c = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_c_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; mapcharacter *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_c_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_c_get" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); result = (mapcharacter *) ((arg1)->c); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapcharacter, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_equals(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; event *arg2 = (event *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_equals",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_equals" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "map_event_equals" "', argument " "2"" of type '" "event const *""'"); } arg2 = reinterpret_cast< event * >(argp2); result = (bool)(arg1)->equals((event const *)arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_map_event_execute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; event *arg2 = (event *) 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"map_event_execute",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "map_event_execute" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "map_event_execute" "', argument " "2"" of type '" "event const *""'"); } arg2 = reinterpret_cast< event * >(argp2); result = (int)(arg1)->execute((event const *)arg2); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_map_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; map_event *arg1 = (map_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_map_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_map_event, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_map_event" "', argument " "1"" of type '" "map_event *""'"); } arg1 = reinterpret_cast< map_event * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *map_event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_map_event, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_enter_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; enter_event *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_enter_event",0,0)) SWIG_fail; result = (enter_event *)new enter_event(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_enter_event, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_enter_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; enter_event *arg1 = (enter_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_enter_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_enter_event, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_enter_event" "', argument " "1"" of type '" "enter_event *""'"); } arg1 = reinterpret_cast< enter_event * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *enter_event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_enter_event, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_leave_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; leave_event *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_leave_event",0,0)) SWIG_fail; result = (leave_event *)new leave_event(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_leave_event, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_leave_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; leave_event *arg1 = (leave_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_leave_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_leave_event, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_leave_event" "', argument " "1"" of type '" "leave_event *""'"); } arg1 = reinterpret_cast< leave_event * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *leave_event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_leave_event, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_action_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; action_event *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_action_event",0,0)) SWIG_fail; result = (action_event *)new action_event(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_action_event, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_action_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; action_event *arg1 = (action_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_action_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_action_event, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_action_event" "', argument " "1"" of type '" "action_event *""'"); } arg1 = reinterpret_cast< action_event * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *action_event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_action_event, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_event_handler_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"event_handler_init",0,0)) SWIG_fail; event_handler::init(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_handler_cleanup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"event_handler_cleanup",0,0)) SWIG_fail; event_handler::cleanup(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_handler_remove_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_handler_remove_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_handler_remove_event" "', argument " "1"" of type '" "event *""'"); } arg1 = reinterpret_cast< event * >(argp1); event_handler::remove_event(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_event_handler_raise_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event *arg1 = (event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"event_handler_raise_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "event_handler_raise_event" "', argument " "1"" of type '" "event const *""'"); } arg1 = reinterpret_cast< event * >(argp1); event_handler::raise_event((event const *)arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_event_handler(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_handler *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_event_handler",0,0)) SWIG_fail; result = (event_handler *)new event_handler(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_event_handler, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_event_handler(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; event_handler *arg1 = (event_handler *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_event_handler",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_event_handler, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_event_handler" "', argument " "1"" of type '" "event_handler *""'"); } arg1 = reinterpret_cast< event_handler * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *event_handler_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_event_handler, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_storage(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; storage *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_storage",0,0)) SWIG_fail; result = (storage *)new storage(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_storage, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_storage(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; storage *arg1 = (storage *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_storage",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_storage, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_storage" "', argument " "1"" of type '" "storage *""'"); } arg1 = reinterpret_cast< storage * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_storage_set_val(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; storage *arg1 = (storage *) 0 ; string arg2 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"storage_set_val",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_storage, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "storage_set_val" "', argument " "1"" of type '" "storage *""'"); } arg1 = reinterpret_cast< storage * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "storage_set_val" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } ecode3 = SWIG_AsVal_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "storage_set_val" "', argument " "3"" of type '" "int""'"); } arg3 = static_cast< int >(val3); (arg1)->set_val(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_storage_get_val(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; storage *arg1 = (storage *) 0 ; string arg2 ; int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"storage_get_val",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_storage, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "storage_get_val" "', argument " "1"" of type '" "storage *""'"); } arg1 = reinterpret_cast< storage * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "storage_get_val" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (int)(arg1)->get_val(arg2); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_storage_next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; storage *arg1 = (storage *) 0 ; pair result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"storage_next",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_storage, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "storage_next" "', argument " "1"" of type '" "storage *""'"); } arg1 = reinterpret_cast< storage * >(argp1); result = (arg1)->next(); resultobj = SWIG_NewPointerObj((new pair(static_cast< const pair& >(result))), SWIGTYPE_p_pairTstd__string_int_t, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *storage_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_storage, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_objects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; objects *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_objects",0,0)) SWIG_fail; result = (objects *)new objects(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_objects, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_objects_set_val(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; objects *arg1 = (objects *) 0 ; char *arg2 = (char *) 0 ; storage *arg3 = (storage *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; void *argp3 = 0 ; int res3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"objects_set_val",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_objects, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "objects_set_val" "', argument " "1"" of type '" "objects *""'"); } arg1 = reinterpret_cast< objects * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "objects_set_val" "', argument " "2"" of type '" "char const *""'"); } arg2 = reinterpret_cast< char * >(buf2); res3 = SWIG_ConvertPtr(obj2, &argp3,SWIGTYPE_p_storage, 0 | 0 ); if (!SWIG_IsOK(res3)) { SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "objects_set_val" "', argument " "3"" of type '" "storage *""'"); } arg3 = reinterpret_cast< storage * >(argp3); (arg1)->set_val((char const *)arg2,arg3); resultobj = SWIG_Py_Void(); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_objects_get_val(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; objects *arg1 = (objects *) 0 ; char *arg2 = (char *) 0 ; storage *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"objects_get_val",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_objects, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "objects_get_val" "', argument " "1"" of type '" "objects *""'"); } arg1 = reinterpret_cast< objects * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "objects_get_val" "', argument " "2"" of type '" "char const *""'"); } arg2 = reinterpret_cast< char * >(buf2); result = (storage *)(arg1)->get_val((char const *)arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_storage, 0 | 0 ); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_objects_erase(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; objects *arg1 = (objects *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"objects_erase",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_objects, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "objects_erase" "', argument " "1"" of type '" "objects *""'"); } arg1 = reinterpret_cast< objects * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "objects_erase" "', argument " "2"" of type '" "char const *""'"); } arg2 = reinterpret_cast< char * >(buf2); (arg1)->erase((char const *)arg2); resultobj = SWIG_Py_Void(); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_objects_next(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; objects *arg1 = (objects *) 0 ; storage *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"objects_next",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_objects, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "objects_next" "', argument " "1"" of type '" "objects *""'"); } arg1 = reinterpret_cast< objects * >(argp1); result = (storage *)(arg1)->next(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_storage, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_objects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; objects *arg1 = (objects *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_objects",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_objects, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_objects" "', argument " "1"" of type '" "objects *""'"); } arg1 = reinterpret_cast< objects * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *objects_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_objects, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_gametime_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short arg1 ; unsigned short val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gametime_init",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_short(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gametime_init" "', argument " "1"" of type '" "unsigned short""'"); } arg1 = static_cast< unsigned short >(val1); gametime::init(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gametime_minute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; double result; if(!PyArg_UnpackTuple(args,(char *)"gametime_minute",0,0)) SWIG_fail; result = (double)gametime::minute(); resultobj = SWIG_From_double(static_cast< double >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gametime_start_action(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"gametime_start_action",0,0)) SWIG_fail; gametime::start_action(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gametime_stop_action(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"gametime_stop_action",0,0)) SWIG_fail; gametime::stop_action(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gametime_frames_to_skip(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned char result; if(!PyArg_UnpackTuple(args,(char *)"gametime_frames_to_skip",0,0)) SWIG_fail; result = (unsigned char)gametime::frames_to_skip(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gametime_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"gametime_update",0,0)) SWIG_fail; gametime::update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_gametime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gametime *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_gametime",0,0)) SWIG_fail; result = (gametime *)new gametime(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gametime, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_gametime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gametime *arg1 = (gametime *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_gametime",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gametime, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gametime" "', argument " "1"" of type '" "gametime *""'"); } arg1 = reinterpret_cast< gametime * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *gametime_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_gametime, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_gamedate_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"gamedate_update",0,0)) SWIG_fail; gamedate::update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedate_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int result; if(!PyArg_UnpackTuple(args,(char *)"gamedate_time",0,0)) SWIG_fail; result = (unsigned int)gamedate::time(); resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedate_weekday(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short result; if(!PyArg_UnpackTuple(args,(char *)"gamedate_weekday",0,0)) SWIG_fail; result = (unsigned short)gamedate::weekday(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedate_day(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short result; if(!PyArg_UnpackTuple(args,(char *)"gamedate_day",0,0)) SWIG_fail; result = (unsigned short)gamedate::day(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedate_hour(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short result; if(!PyArg_UnpackTuple(args,(char *)"gamedate_hour",0,0)) SWIG_fail; result = (unsigned short)gamedate::hour(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedate_minute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short result; if(!PyArg_UnpackTuple(args,(char *)"gamedate_minute",0,0)) SWIG_fail; result = (unsigned short)gamedate::minute(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedate_parse_time(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; std::string *arg1 = 0 ; unsigned int result; int res1 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedate_parse_time",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedate_parse_time" "', argument " "1"" of type '" "std::string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "gamedate_parse_time" "', argument " "1"" of type '" "std::string const &""'"); } arg1 = ptr; } result = (unsigned int)gamedate::parse_time((std::string const &)*arg1); resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_gamedate_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedate_get_state",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedate_get_state" "', argument " "1"" of type '" "igzstream &""'"); } if (!argp1) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "gamedate_get_state" "', argument " "1"" of type '" "igzstream &""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (bool)gamedate::get_state(*arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedate_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedate_put_state",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedate_put_state" "', argument " "1"" of type '" "ogzstream &""'"); } if (!argp1) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "gamedate_put_state" "', argument " "1"" of type '" "ogzstream &""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); gamedate::put_state(*arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_gamedate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedate *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_gamedate",0,0)) SWIG_fail; result = (gamedate *)new gamedate(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gamedate, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_gamedate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedate *arg1 = (gamedate *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_gamedate",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedate, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gamedate" "', argument " "1"" of type '" "gamedate *""'"); } arg1 = reinterpret_cast< gamedate * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *gamedate_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_gamedate, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_input_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"input_init",0,0)) SWIG_fail; input::init(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_shutdown(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"input_shutdown",0,0)) SWIG_fail; input::shutdown(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"input_update",0,0)) SWIG_fail; input::update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_is_pushed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; SDLKey arg1 ; bool result; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"input_is_pushed",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "input_is_pushed" "', argument " "1"" of type '" "SDLKey""'"); } arg1 = static_cast< SDLKey >(val1); result = (bool)input::is_pushed(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_has_been_pushed(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; SDLKey arg1 ; bool result; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"input_has_been_pushed",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "input_has_been_pushed" "', argument " "1"" of type '" "SDLKey""'"); } arg1 = static_cast< SDLKey >(val1); result = (bool)input::has_been_pushed(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_get_next_key(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int result; if(!PyArg_UnpackTuple(args,(char *)"input_get_next_key",0,0)) SWIG_fail; result = (int)input::get_next_key(); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_get_next_unicode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int result; if(!PyArg_UnpackTuple(args,(char *)"input_get_next_unicode",0,0)) SWIG_fail; result = (int)input::get_next_unicode(); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_set_key_repeat__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int arg2 ; int val1 ; int ecode1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"input_set_key_repeat",2,2,&obj0,&obj1)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "input_set_key_repeat" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "input_set_key_repeat" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); input::set_key_repeat(arg1,arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_set_key_repeat__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"input_set_key_repeat",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "input_set_key_repeat" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); input::set_key_repeat(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_set_key_repeat__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"input_set_key_repeat",0,0)) SWIG_fail; input::set_key_repeat(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_input_set_key_repeat(PyObject *self, PyObject *args) { int argc; PyObject *argv[3]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 0) { return _wrap_input_set_key_repeat__SWIG_2(self, args); } if (argc == 1) { int _v; { int res = SWIG_AsVal_int(argv[0], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_input_set_key_repeat__SWIG_1(self, args); } } if (argc == 2) { int _v; { int res = SWIG_AsVal_int(argv[0], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_int(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_input_set_key_repeat__SWIG_0(self, args); } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'input_set_key_repeat'.\n Possible C/C++ prototypes are:\n set_key_repeat(int,int)\n set_key_repeat(int)\n input::set_key_repeat()\n"); return NULL; } SWIGINTERN PyObject *_wrap_input_clear_keys_queue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"input_clear_keys_queue",0,0)) SWIG_fail; input::clear_keys_queue(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_input(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; input *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_input",0,0)) SWIG_fail; result = (input *)new input(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_input, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_input(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; input *arg1 = (input *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_input",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_input, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_input" "', argument " "1"" of type '" "input *""'"); } arg1 = reinterpret_cast< input * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *input_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_input, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_audio_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; config *arg1 = (config *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_init",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_config, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "audio_init" "', argument " "1"" of type '" "config *""'"); } arg1 = reinterpret_cast< config * >(argp1); audio::init(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_cleanup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"audio_cleanup",0,0)) SWIG_fail; audio::cleanup(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; ogzstream *arg1 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_put_state",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "audio_put_state" "', argument " "1"" of type '" "ogzstream &""'"); } if (!argp1) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "audio_put_state" "', argument " "1"" of type '" "ogzstream &""'"); } arg1 = reinterpret_cast< ogzstream * >(argp1); result = (signed char)audio::put_state(*arg1); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; igzstream *arg1 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_get_state",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "audio_get_state" "', argument " "1"" of type '" "igzstream &""'"); } if (!argp1) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "audio_get_state" "', argument " "1"" of type '" "igzstream &""'"); } arg1 = reinterpret_cast< igzstream * >(argp1); result = (signed char)audio::get_state(*arg1); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_load_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; char *arg2 = (char *) 0 ; int result; int val1 ; int ecode1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_load_background",2,2,&obj0,&obj1)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_load_background" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "audio_load_background" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); result = (int)audio::load_background(arg1,arg2); resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_audio_unload_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_unload_background",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_unload_background" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); audio::unload_background(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_set_background_volume(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_set_background_volume",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_set_background_volume" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); audio::set_background_volume(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_pause_music(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"audio_pause_music",0,0)) SWIG_fail; audio::pause_music(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_unpause_music(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"audio_unpause_music",0,0)) SWIG_fail; audio::unpause_music(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_load_wave(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; char *arg2 = (char *) 0 ; int result; int val1 ; int ecode1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_load_wave",2,2,&obj0,&obj1)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_load_wave" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "audio_load_wave" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); result = (int)audio::load_wave(arg1,arg2); resultobj = SWIG_From_int(static_cast< int >(result)); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_audio_unload_wave(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_unload_wave",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_unload_wave" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); audio::unload_wave(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_play_wave(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int arg2 ; int val1 ; int ecode1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_play_wave",2,2,&obj0,&obj1)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_play_wave" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "audio_play_wave" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); audio::play_wave(arg1,arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_play_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_play_background",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_play_background" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); audio::play_background(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_fade_in_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int arg2 ; int val1 ; int ecode1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_fade_in_background",2,2,&obj0,&obj1)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_fade_in_background" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "audio_fade_in_background" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); audio::fade_in_background(arg1,arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_fade_out_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_fade_out_background",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_fade_out_background" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); audio::fade_out_background(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_change_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; int arg2 ; int val1 ; int ecode1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_change_background",2,2,&obj0,&obj1)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_change_background" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "audio_change_background" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); audio::change_background(arg1,arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_is_initialized(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool result; if(!PyArg_UnpackTuple(args,(char *)"audio_is_initialized",0,0)) SWIG_fail; result = (bool)audio::is_initialized(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_is_schedule_activated(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool result; if(!PyArg_UnpackTuple(args,(char *)"audio_is_schedule_activated",0,0)) SWIG_fail; result = (bool)audio::is_schedule_activated(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_is_background_finished(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool result; if(!PyArg_UnpackTuple(args,(char *)"audio_is_background_finished",0,0)) SWIG_fail; result = (bool)audio::is_background_finished(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_set_schedule_active(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool arg1 ; bool val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_set_schedule_active",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_bool(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "audio_set_schedule_active" "', argument " "1"" of type '" "bool""'"); } arg1 = static_cast< bool >(val1); audio::set_schedule_active(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_set_schedule__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; PyObject *arg2 = (PyObject *) 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_set_schedule",2,2,&obj0,&obj1)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "audio_set_schedule" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg2 = obj1; } audio::set_schedule(arg1,arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_set_schedule__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"audio_set_schedule",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "audio_set_schedule" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } audio::set_schedule(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_audio_set_schedule(PyObject *self, PyObject *args) { int argc; PyObject *argv[3]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 1) { int _v; int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_audio_set_schedule__SWIG_1(self, args); } } if (argc == 2) { int _v; int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { return _wrap_audio_set_schedule__SWIG_0(self, args); } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'audio_set_schedule'.\n Possible C/C++ prototypes are:\n set_schedule(string,PyObject *)\n audio::set_schedule(string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_audio_run_schedule(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"audio_run_schedule",0,0)) SWIG_fail; audio::run_schedule(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_audio(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; audio *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_audio",0,0)) SWIG_fail; result = (audio *)new audio(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_audio, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_audio(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; audio *arg1 = (audio *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_audio",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_audio, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_audio" "', argument " "1"" of type '" "audio *""'"); } arg1 = reinterpret_cast< audio * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *audio_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_audio, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_character_base(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_character_base",0,0)) SWIG_fail; result = (character_base *)new character_base(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_character_base, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_character_base(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_character_base",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_character_base" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_get_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_get_name",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_get_name" "', argument " "1"" of type '" "character_base const *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); result = ((character_base const *)arg1)->get_name(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_get_id(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_get_id",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_get_id" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); result = (arg1)->get_id(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_set_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_set_name",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_set_name" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "character_base_set_name" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_name(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_get_color(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; unsigned int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_get_color",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_get_color" "', argument " "1"" of type '" "character_base const *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); result = (unsigned int)((character_base const *)arg1)->get_color(); resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_set_color(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_set_color",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_set_color" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "character_base_set_color" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); (arg1)->set_color(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_get_portrait(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_get_portrait",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_get_portrait" "', argument " "1"" of type '" "character_base const *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); result = ((character_base const *)arg1)->get_portrait(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_set_portrait(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_set_portrait",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_set_portrait" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "character_base_set_portrait" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_portrait(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_get_dialogue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_get_dialogue",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_get_dialogue" "', argument " "1"" of type '" "character_base const *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); result = ((character_base const *)arg1)->get_dialogue(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_set_dialogue(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_set_dialogue",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_set_dialogue" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "character_base_set_dialogue" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_dialogue(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; igzstream *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_get_state" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "character_base_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "character_base_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); (arg1)->get_state(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_character_base_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; ogzstream *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"character_base_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "character_base_put_state" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "character_base_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "character_base_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); (arg1)->put_state(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *character_base_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_character_base, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_py_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_py_object",0,0)) SWIG_fail; result = (py_object *)new py_object(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_py_object, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_py_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_py_object",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_py_object" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_clear" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_create_instance__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string arg2 ; string arg3 ; PyObject *arg4 = (PyObject *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_create_instance",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_create_instance" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_create_instance" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_create_instance" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg4 = obj3; } result = (bool)(arg1)->create_instance(arg2,arg3,arg4); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_create_instance__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string arg2 ; string arg3 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_create_instance",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_create_instance" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_create_instance" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_create_instance" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (bool)(arg1)->create_instance(arg2,arg3); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_create_instance(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_py_object_create_instance__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[3] != 0); if (_v) { return _wrap_py_object_create_instance__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'py_object_create_instance'.\n Possible C/C++ prototypes are:\n create_instance(string,string,PyObject *)\n create_instance(string,string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_py_object_reload_instance__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string arg2 ; string arg3 ; PyObject *arg4 = (PyObject *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_reload_instance",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_reload_instance" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_reload_instance" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_reload_instance" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg4 = obj3; } result = (bool)(arg1)->reload_instance(arg2,arg3,arg4); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_reload_instance__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string arg2 ; string arg3 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_reload_instance",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_reload_instance" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_reload_instance" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "py_object_reload_instance" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (bool)(arg1)->reload_instance(arg2,arg3); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_reload_instance(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_py_object_reload_instance__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[3] != 0); if (_v) { return _wrap_py_object_reload_instance__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'py_object_reload_instance'.\n Possible C/C++ prototypes are:\n reload_instance(string,string,PyObject *)\n reload_instance(string,string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_py_object_call_method_ret__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; PyObject *arg3 = (PyObject *) 0 ; PyObject *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_call_method_ret",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_call_method_ret" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_call_method_ret" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_call_method_ret" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } { arg3 = obj2; } result = (PyObject *)((py_object const *)arg1)->call_method_ret((string const &)*arg2,arg3); resultobj = result; if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_call_method_ret__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; PyObject *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_call_method_ret",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_call_method_ret" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_call_method_ret" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_call_method_ret" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } result = (PyObject *)((py_object const *)arg1)->call_method_ret((string const &)*arg2); resultobj = result; if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_call_method_ret(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_py_object_call_method_ret__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_py_object_call_method_ret__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'py_object_call_method_ret'.\n Possible C/C++ prototypes are:\n call_method_ret(string const &,PyObject *)\n call_method_ret(string const &)\n"); return NULL; } SWIGINTERN PyObject *_wrap_py_object_call_method__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_call_method",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_call_method" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_call_method" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_call_method" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } { arg3 = obj2; } ((py_object const *)arg1)->call_method((string const &)*arg2,arg3); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_call_method__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_call_method",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_call_method" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_call_method" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_call_method" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } ((py_object const *)arg1)->call_method((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_call_method(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_py_object_call_method__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_py_object_call_method__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'py_object_call_method'.\n Possible C/C++ prototypes are:\n call_method(string const &,PyObject *)\n call_method(string const &)\n"); return NULL; } SWIGINTERN PyObject *_wrap_py_object_run__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; PyObject *arg2 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_run",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_run" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { arg2 = obj1; } (arg1)->run(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_run__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_run",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_run" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); (arg1)->run(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_run(PyObject *self, PyObject *args) { int argc; PyObject *argv[3]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 1) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_py_object_run__SWIG_1(self, args); } } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { return _wrap_py_object_run__SWIG_0(self, args); } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'py_object_run'.\n Possible C/C++ prototypes are:\n run(PyObject *)\n run()\n"); return NULL; } SWIGINTERN PyObject *_wrap_py_object_has_attribute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; std::string *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_has_attribute",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_has_attribute" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_has_attribute" "', argument " "2"" of type '" "std::string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_has_attribute" "', argument " "2"" of type '" "std::string const &""'"); } arg2 = ptr; } result = (bool)(arg1)->has_attribute((std::string const &)*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_get_attribute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; PyObject *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_get_attribute",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_get_attribute" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_get_attribute" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_get_attribute" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } result = (PyObject *)((py_object const *)arg1)->get_attribute((string const &)*arg2); resultobj = result; if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_get_attribute_int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; int result; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_get_attribute_int",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_get_attribute_int" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_get_attribute_int" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_get_attribute_int" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } result = (int)(arg1)->get_attribute_int((string const &)*arg2); resultobj = SWIG_From_int(static_cast< int >(result)); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_get_attribute_string(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_get_attribute_string",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_get_attribute_string" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_get_attribute_string" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_get_attribute_string" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } result = (arg1)->get_attribute_string((string const &)*arg2); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_set_attribute(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_set_attribute",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_set_attribute" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_set_attribute" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_set_attribute" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } { arg3 = obj2; } (arg1)->set_attribute((string const &)*arg2,arg3); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_set_attribute_int(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_set_attribute_int",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_set_attribute_int" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_set_attribute_int" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_set_attribute_int" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } ecode3 = SWIG_AsVal_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "py_object_set_attribute_int" "', argument " "3"" of type '" "int""'"); } arg3 = static_cast< int >(val3); (arg1)->set_attribute_int((string const &)*arg2,arg3); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_py_object_set_attribute_string(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; string *arg2 = 0 ; string *arg3 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_set_attribute_string",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_set_attribute_string" "', argument " "1"" of type '" "py_object *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "py_object_set_attribute_string" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_set_attribute_string" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res3)) { SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "py_object_set_attribute_string" "', argument " "3"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "py_object_set_attribute_string" "', argument " "3"" of type '" "string const &""'"); } arg3 = ptr; } (arg1)->set_attribute_string((string const &)*arg2,(string const &)*arg3); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; return NULL; } SWIGINTERN PyObject *_wrap_py_object_get_instance__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; bool *arg2 = 0 ; PyObject *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; bool temp2 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_get_instance",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_get_instance" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "py_object_get_instance" "', argument " "2"" of type '" "bool""'"); } temp2 = static_cast< bool >(val2); arg2 = &temp2; result = (PyObject *)((py_object const *)arg1)->get_instance((bool const &)*arg2); resultobj = result; return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_get_instance__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; PyObject *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_get_instance",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_get_instance" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); result = (PyObject *)((py_object const *)arg1)->get_instance(); resultobj = result; return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_get_instance(PyObject *self, PyObject *args) { int argc; PyObject *argv[3]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 1) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_py_object_get_instance__SWIG_1(self, args); } } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_py_object, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_bool(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_py_object_get_instance__SWIG_0(self, args); } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'py_object_get_instance'.\n Possible C/C++ prototypes are:\n get_instance(bool const &)\n get_instance()\n"); return NULL; } SWIGINTERN PyObject *_wrap_py_object_class_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; std::string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_class_name",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_class_name" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); result = ((py_object const *)arg1)->class_name(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_py_object_file_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; py_object *arg1 = (py_object *) 0 ; std::string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"py_object_file_name",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_py_object, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "py_object_file_name" "', argument " "1"" of type '" "py_object const *""'"); } arg1 = reinterpret_cast< py_object * >(argp1); result = ((py_object const *)arg1)->file_name(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *py_object_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_py_object, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_drawing_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_drawing_area",0,0)) SWIG_fail; result = (drawing_area *)new drawing_area(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_drawing_area, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_x",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_x" "', argument " "1"" of type '" "drawing_area const *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); result = (short)((drawing_area const *)arg1)->x(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_y",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_y" "', argument " "1"" of type '" "drawing_area const *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); result = (short)((drawing_area const *)arg1)->y(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_length",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_length" "', argument " "1"" of type '" "drawing_area const *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); result = (unsigned short)((drawing_area const *)arg1)->length(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_height",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_height" "', argument " "1"" of type '" "drawing_area const *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); result = (unsigned short)((drawing_area const *)arg1)->height(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_move(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_move",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_move" "', argument " "1"" of type '" "drawing_area *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawing_area_move" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawing_area_move" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); (arg1)->move(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_resize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_resize",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_resize" "', argument " "1"" of type '" "drawing_area *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawing_area_resize" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawing_area_resize" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_assign_drawing_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; drawing_area *arg2 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_assign_drawing_area",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_assign_drawing_area" "', argument " "1"" of type '" "drawing_area *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "drawing_area_assign_drawing_area" "', argument " "2"" of type '" "drawing_area const *""'"); } arg2 = reinterpret_cast< drawing_area * >(argp2); (arg1)->assign_drawing_area((drawing_area const *)arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_assigned_drawing_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; drawing_area *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_assigned_drawing_area",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_assigned_drawing_area" "', argument " "1"" of type '" "drawing_area const *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); result = (drawing_area *)((drawing_area const *)arg1)->assigned_drawing_area(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_drawing_area, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_detach_drawing_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_detach_drawing_area",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_detach_drawing_area" "', argument " "1"" of type '" "drawing_area *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); (arg1)->detach_drawing_area(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawing_area_setup_rects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; SDL_Rect result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawing_area_setup_rects",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawing_area_setup_rects" "', argument " "1"" of type '" "drawing_area const *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); result = ((drawing_area const *)arg1)->setup_rects(); resultobj = SWIG_NewPointerObj((new SDL_Rect(static_cast< const SDL_Rect& >(result))), SWIGTYPE_p_SDL_Rect, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_drawing_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawing_area *arg1 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_drawing_area",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawing_area, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_drawing_area" "', argument " "1"" of type '" "drawing_area *""'"); } arg1 = reinterpret_cast< drawing_area * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *drawing_area_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_drawing_area, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_quest(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; quest *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_quest",0,0)) SWIG_fail; result = (quest *)new quest(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_quest, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_quest(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; quest *arg1 = (quest *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_quest",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_quest, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_quest" "', argument " "1"" of type '" "quest *""'"); } arg1 = reinterpret_cast< quest * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *quest_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_quest, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_delete_drawable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_drawable",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_drawable" "', argument " "1"" of type '" "drawable *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawable_length",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawable_length" "', argument " "1"" of type '" "drawable const *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); result = (unsigned short)((drawable const *)arg1)->length(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawable_height",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawable_height" "', argument " "1"" of type '" "drawable const *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); result = (unsigned short)((drawable const *)arg1)->height(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawable_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawable_update" "', argument " "1"" of type '" "drawable *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawable_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawable_input_update" "', argument " "1"" of type '" "drawable *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawable_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawable_draw" "', argument " "1"" of type '" "drawable const *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawable_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawable_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "drawable_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "drawable_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((drawable const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawable_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawable_draw" "', argument " "1"" of type '" "drawable const *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawable_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawable_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "drawable_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((drawable const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; drawable *arg1 = (drawable *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"drawable_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_drawable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "drawable_draw" "', argument " "1"" of type '" "drawable const *""'"); } arg1 = reinterpret_cast< drawable * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "drawable_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "drawable_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((drawable const *)arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_drawable_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_drawable, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_drawable_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_drawable, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_drawable_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_drawable, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_drawable_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'drawable_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area const *,surface *)\n draw(short,short,drawing_area const *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *drawable_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_drawable, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_surface__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool arg1 ; surface *result = 0 ; bool val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_surface",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_bool(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_surface" "', argument " "1"" of type '" "bool""'"); } arg1 = static_cast< bool >(val1); result = (surface *)new surface(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_surface, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_surface__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_surface",0,0)) SWIG_fail; result = (surface *)new surface(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_surface, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_surface(PyObject *self, PyObject *args) { int argc; PyObject *argv[2]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 1); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 0) { return _wrap_new_surface__SWIG_1(self, args); } if (argc == 1) { int _v; { int res = SWIG_AsVal_bool(argv[0], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_new_surface__SWIG_0(self, args); } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_surface'.\n Possible C/C++ prototypes are:\n surface(bool)\n surface()\n"); return NULL; } SWIGINTERN PyObject *_wrap_delete_surface(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_surface",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_surface" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_is_masked(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_is_masked",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_is_masked" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); result = (bool)((surface const *)arg1)->is_masked(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_set_mask(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_set_mask",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_set_mask" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_set_mask" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_mask(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_alpha(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; unsigned char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_alpha",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_alpha" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); result = (unsigned char)((surface const *)arg1)->alpha(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_set_alpha(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; unsigned char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_set_alpha",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_set_alpha" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_set_alpha" "', argument " "2"" of type '" "unsigned char""'"); } arg2 = static_cast< unsigned char >(val2); (arg1)->set_alpha(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_is_dbl_mode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_is_dbl_mode",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_is_dbl_mode" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); result = (bool)((surface const *)arg1)->is_dbl_mode(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_set_dbl_mode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_set_dbl_mode",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_set_dbl_mode" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_set_dbl_mode" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_dbl_mode(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_draw" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "surface_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "surface_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((surface const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_draw" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "surface_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((surface const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_draw" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((surface const *)arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_surface_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_surface_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_surface_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'surface_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area const *,surface *)\n draw(short,short,drawing_area const *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_surface_draw_part__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; short arg4 ; short arg5 ; unsigned short arg6 ; unsigned short arg7 ; drawing_area *arg8 = (drawing_area *) 0 ; surface *arg9 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; short val4 ; int ecode4 = 0 ; short val5 ; int ecode5 = 0 ; unsigned short val6 ; int ecode6 = 0 ; unsigned short val7 ; int ecode7 = 0 ; void *argp8 = 0 ; int res8 = 0 ; void *argp9 = 0 ; int res9 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; PyObject * obj6 = 0 ; PyObject * obj7 = 0 ; PyObject * obj8 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_draw_part",9,9,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_draw_part" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_draw_part" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_draw_part" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ecode4 = SWIG_AsVal_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_draw_part" "', argument " "4"" of type '" "short""'"); } arg4 = static_cast< short >(val4); ecode5 = SWIG_AsVal_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_draw_part" "', argument " "5"" of type '" "short""'"); } arg5 = static_cast< short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_short(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_draw_part" "', argument " "6"" of type '" "unsigned short""'"); } arg6 = static_cast< unsigned short >(val6); ecode7 = SWIG_AsVal_unsigned_SS_short(obj6, &val7); if (!SWIG_IsOK(ecode7)) { SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "surface_draw_part" "', argument " "7"" of type '" "unsigned short""'"); } arg7 = static_cast< unsigned short >(val7); res8 = SWIG_ConvertPtr(obj7, &argp8,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res8)) { SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "surface_draw_part" "', argument " "8"" of type '" "drawing_area const *""'"); } arg8 = reinterpret_cast< drawing_area * >(argp8); res9 = SWIG_ConvertPtr(obj8, &argp9,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res9)) { SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "surface_draw_part" "', argument " "9"" of type '" "surface *""'"); } arg9 = reinterpret_cast< surface * >(argp9); ((surface const *)arg1)->draw_part(arg2,arg3,arg4,arg5,arg6,arg7,(drawing_area const *)arg8,arg9); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_draw_part__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; short arg4 ; short arg5 ; unsigned short arg6 ; unsigned short arg7 ; drawing_area *arg8 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; short val4 ; int ecode4 = 0 ; short val5 ; int ecode5 = 0 ; unsigned short val6 ; int ecode6 = 0 ; unsigned short val7 ; int ecode7 = 0 ; void *argp8 = 0 ; int res8 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; PyObject * obj6 = 0 ; PyObject * obj7 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_draw_part",8,8,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_draw_part" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_draw_part" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_draw_part" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ecode4 = SWIG_AsVal_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_draw_part" "', argument " "4"" of type '" "short""'"); } arg4 = static_cast< short >(val4); ecode5 = SWIG_AsVal_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_draw_part" "', argument " "5"" of type '" "short""'"); } arg5 = static_cast< short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_short(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_draw_part" "', argument " "6"" of type '" "unsigned short""'"); } arg6 = static_cast< unsigned short >(val6); ecode7 = SWIG_AsVal_unsigned_SS_short(obj6, &val7); if (!SWIG_IsOK(ecode7)) { SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "surface_draw_part" "', argument " "7"" of type '" "unsigned short""'"); } arg7 = static_cast< unsigned short >(val7); res8 = SWIG_ConvertPtr(obj7, &argp8,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res8)) { SWIG_exception_fail(SWIG_ArgError(res8), "in method '" "surface_draw_part" "', argument " "8"" of type '" "drawing_area const *""'"); } arg8 = reinterpret_cast< drawing_area * >(argp8); ((surface const *)arg1)->draw_part(arg2,arg3,arg4,arg5,arg6,arg7,(drawing_area const *)arg8); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_draw_part__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; short arg4 ; short arg5 ; unsigned short arg6 ; unsigned short arg7 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; short val4 ; int ecode4 = 0 ; short val5 ; int ecode5 = 0 ; unsigned short val6 ; int ecode6 = 0 ; unsigned short val7 ; int ecode7 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; PyObject * obj6 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_draw_part",7,7,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_draw_part" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_draw_part" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_draw_part" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ecode4 = SWIG_AsVal_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_draw_part" "', argument " "4"" of type '" "short""'"); } arg4 = static_cast< short >(val4); ecode5 = SWIG_AsVal_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_draw_part" "', argument " "5"" of type '" "short""'"); } arg5 = static_cast< short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_short(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_draw_part" "', argument " "6"" of type '" "unsigned short""'"); } arg6 = static_cast< unsigned short >(val6); ecode7 = SWIG_AsVal_unsigned_SS_short(obj6, &val7); if (!SWIG_IsOK(ecode7)) { SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "surface_draw_part" "', argument " "7"" of type '" "unsigned short""'"); } arg7 = static_cast< unsigned short >(val7); ((surface const *)arg1)->draw_part(arg2,arg3,arg4,arg5,arg6,arg7); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_draw_part(PyObject *self, PyObject *args) { int argc; PyObject *argv[10]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 9); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 7) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[6], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_surface_draw_part__SWIG_2(self, args); } } } } } } } } if (argc == 8) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[6], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[7], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_surface_draw_part__SWIG_1(self, args); } } } } } } } } } if (argc == 9) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[6], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[7], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[8], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_surface_draw_part__SWIG_0(self, args); } } } } } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'surface_draw_part'.\n Possible C/C++ prototypes are:\n draw_part(short,short,short,short,unsigned short,unsigned short,drawing_area const *,surface *)\n draw_part(short,short,short,short,unsigned short,unsigned short,drawing_area const *)\n draw_part(short,short,short,short,unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_surface_fillrect__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; unsigned short arg4 ; unsigned short arg5 ; unsigned int arg6 ; drawing_area *arg7 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; unsigned int val6 ; int ecode6 = 0 ; void *argp7 = 0 ; int res7 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; PyObject * obj6 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_fillrect",7,7,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_fillrect" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_fillrect" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_fillrect" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_fillrect" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_fillrect" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_int(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_fillrect" "', argument " "6"" of type '" "unsigned int""'"); } arg6 = static_cast< unsigned int >(val6); res7 = SWIG_ConvertPtr(obj6, &argp7,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res7)) { SWIG_exception_fail(SWIG_ArgError(res7), "in method '" "surface_fillrect" "', argument " "7"" of type '" "drawing_area *""'"); } arg7 = reinterpret_cast< drawing_area * >(argp7); (arg1)->fillrect(arg2,arg3,arg4,arg5,arg6,arg7); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_fillrect__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; unsigned short arg4 ; unsigned short arg5 ; unsigned int arg6 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; unsigned int val6 ; int ecode6 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_fillrect",6,6,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_fillrect" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_fillrect" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_fillrect" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_fillrect" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_fillrect" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_int(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_fillrect" "', argument " "6"" of type '" "unsigned int""'"); } arg6 = static_cast< unsigned int >(val6); (arg1)->fillrect(arg2,arg3,arg4,arg5,arg6); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_fillrect(PyObject *self, PyObject *args) { int argc; PyObject *argv[8]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 7); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 6) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_int(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_surface_fillrect__SWIG_1(self, args); } } } } } } } if (argc == 7) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_int(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[6], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_surface_fillrect__SWIG_0(self, args); } } } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'surface_fillrect'.\n Possible C/C++ prototypes are:\n fillrect(short,short,unsigned short,unsigned short,unsigned int,drawing_area *)\n fillrect(short,short,unsigned short,unsigned short,unsigned int)\n"); return NULL; } SWIGINTERN PyObject *_wrap_surface_fillrect_rgb__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; unsigned short arg4 ; unsigned short arg5 ; unsigned char arg6 ; unsigned char arg7 ; unsigned char arg8 ; drawing_area *arg9 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; unsigned char val6 ; int ecode6 = 0 ; unsigned char val7 ; int ecode7 = 0 ; unsigned char val8 ; int ecode8 = 0 ; void *argp9 = 0 ; int res9 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; PyObject * obj6 = 0 ; PyObject * obj7 = 0 ; PyObject * obj8 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_fillrect_rgb",9,9,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7,&obj8)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_fillrect_rgb" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_fillrect_rgb" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_fillrect_rgb" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_fillrect_rgb" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_fillrect_rgb" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_char(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_fillrect_rgb" "', argument " "6"" of type '" "unsigned char""'"); } arg6 = static_cast< unsigned char >(val6); ecode7 = SWIG_AsVal_unsigned_SS_char(obj6, &val7); if (!SWIG_IsOK(ecode7)) { SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "surface_fillrect_rgb" "', argument " "7"" of type '" "unsigned char""'"); } arg7 = static_cast< unsigned char >(val7); ecode8 = SWIG_AsVal_unsigned_SS_char(obj7, &val8); if (!SWIG_IsOK(ecode8)) { SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "surface_fillrect_rgb" "', argument " "8"" of type '" "unsigned char""'"); } arg8 = static_cast< unsigned char >(val8); res9 = SWIG_ConvertPtr(obj8, &argp9,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res9)) { SWIG_exception_fail(SWIG_ArgError(res9), "in method '" "surface_fillrect_rgb" "', argument " "9"" of type '" "drawing_area *""'"); } arg9 = reinterpret_cast< drawing_area * >(argp9); (arg1)->fillrect_rgb(arg2,arg3,arg4,arg5,arg6,arg7,arg8,arg9); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_fillrect_rgb__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; short arg2 ; short arg3 ; unsigned short arg4 ; unsigned short arg5 ; unsigned char arg6 ; unsigned char arg7 ; unsigned char arg8 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; unsigned char val6 ; int ecode6 = 0 ; unsigned char val7 ; int ecode7 = 0 ; unsigned char val8 ; int ecode8 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; PyObject * obj6 = 0 ; PyObject * obj7 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_fillrect_rgb",8,8,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5,&obj6,&obj7)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_fillrect_rgb" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_fillrect_rgb" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_fillrect_rgb" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_fillrect_rgb" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_fillrect_rgb" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_char(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_fillrect_rgb" "', argument " "6"" of type '" "unsigned char""'"); } arg6 = static_cast< unsigned char >(val6); ecode7 = SWIG_AsVal_unsigned_SS_char(obj6, &val7); if (!SWIG_IsOK(ecode7)) { SWIG_exception_fail(SWIG_ArgError(ecode7), "in method '" "surface_fillrect_rgb" "', argument " "7"" of type '" "unsigned char""'"); } arg7 = static_cast< unsigned char >(val7); ecode8 = SWIG_AsVal_unsigned_SS_char(obj7, &val8); if (!SWIG_IsOK(ecode8)) { SWIG_exception_fail(SWIG_ArgError(ecode8), "in method '" "surface_fillrect_rgb" "', argument " "8"" of type '" "unsigned char""'"); } arg8 = static_cast< unsigned char >(val8); (arg1)->fillrect_rgb(arg2,arg3,arg4,arg5,arg6,arg7,arg8); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_fillrect_rgb(PyObject *self, PyObject *args) { int argc; PyObject *argv[10]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 9); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 8) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[6], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[7], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_surface_fillrect_rgb__SWIG_1(self, args); } } } } } } } } } if (argc == 9) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[6], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[7], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[8], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_surface_fillrect_rgb__SWIG_0(self, args); } } } } } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'surface_fillrect_rgb'.\n Possible C/C++ prototypes are:\n fillrect_rgb(short,short,unsigned short,unsigned short,unsigned char,unsigned char,unsigned char,drawing_area *)\n fillrect_rgb(short,short,unsigned short,unsigned short,unsigned char,unsigned char,unsigned char)\n"); return NULL; } SWIGINTERN PyObject *_wrap_surface_lock(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_lock",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_lock" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ((surface const *)arg1)->lock(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_unlock(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_unlock",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_unlock" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ((surface const *)arg1)->unlock(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_put_pix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned int arg4 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned int val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_put_pix",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_put_pix" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_put_pix" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_put_pix" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_int(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_put_pix" "', argument " "4"" of type '" "unsigned int""'"); } arg4 = static_cast< unsigned int >(val4); (arg1)->put_pix(arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_put_pix_rgb(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned char arg4 ; unsigned char arg5 ; unsigned char arg6 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned char val4 ; int ecode4 = 0 ; unsigned char val5 ; int ecode5 = 0 ; unsigned char val6 ; int ecode6 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_put_pix_rgb",6,6,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_put_pix_rgb" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_put_pix_rgb" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_put_pix_rgb" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_char(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_put_pix_rgb" "', argument " "4"" of type '" "unsigned char""'"); } arg4 = static_cast< unsigned char >(val4); ecode5 = SWIG_AsVal_unsigned_SS_char(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_put_pix_rgb" "', argument " "5"" of type '" "unsigned char""'"); } arg5 = static_cast< unsigned char >(val5); ecode6 = SWIG_AsVal_unsigned_SS_char(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_put_pix_rgb" "', argument " "6"" of type '" "unsigned char""'"); } arg6 = static_cast< unsigned char >(val6); (arg1)->put_pix_rgb(arg2,arg3,arg4,arg5,arg6); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_get_pix(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned int *arg4 = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_get_pix",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_get_pix" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_get_pix" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_get_pix" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4, SWIGTYPE_p_unsigned_int, 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "surface_get_pix" "', argument " "4"" of type '" "unsigned int &""'"); } if (!argp4) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "surface_get_pix" "', argument " "4"" of type '" "unsigned int &""'"); } arg4 = reinterpret_cast< unsigned int * >(argp4); ((surface const *)arg1)->get_pix(arg2,arg3,*arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_get_pix_rgb(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned char arg4 ; unsigned char arg5 ; unsigned char arg6 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned char val4 ; int ecode4 = 0 ; unsigned char val5 ; int ecode5 = 0 ; unsigned char val6 ; int ecode6 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_get_pix_rgb",6,6,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_get_pix_rgb" "', argument " "1"" of type '" "surface const *""'"); } arg1 = reinterpret_cast< surface * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "surface_get_pix_rgb" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "surface_get_pix_rgb" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_char(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "surface_get_pix_rgb" "', argument " "4"" of type '" "unsigned char""'"); } arg4 = static_cast< unsigned char >(val4); ecode5 = SWIG_AsVal_unsigned_SS_char(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "surface_get_pix_rgb" "', argument " "5"" of type '" "unsigned char""'"); } arg5 = static_cast< unsigned char >(val5); ecode6 = SWIG_AsVal_unsigned_SS_char(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "surface_get_pix_rgb" "', argument " "6"" of type '" "unsigned char""'"); } arg6 = static_cast< unsigned char >(val6); ((surface const *)arg1)->get_pix_rgb(arg2,arg3,arg4,arg5,arg6); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; surface *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_copy",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_copy" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "surface_copy" "', argument " "2"" of type '" "surface &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "surface_copy" "', argument " "2"" of type '" "surface &""'"); } arg2 = reinterpret_cast< surface * >(argp2); (arg1)->copy(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_vis_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; SDL_Surface *arg2 = (SDL_Surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_vis_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_vis_set" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_SDL_Surface, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "surface_vis_set" "', argument " "2"" of type '" "SDL_Surface *""'"); } arg2 = reinterpret_cast< SDL_Surface * >(argp2); if (arg1) (arg1)->vis = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_surface_vis_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; surface *arg1 = (surface *) 0 ; SDL_Surface *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"surface_vis_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "surface_vis_get" "', argument " "1"" of type '" "surface *""'"); } arg1 = reinterpret_cast< surface * >(argp1); result = (SDL_Surface *) ((arg1)->vis); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_SDL_Surface, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *surface_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_surface, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN int screen_display_set(PyObject *_val) { { void *argp = 0; int res = SWIG_ConvertPtr(_val, &argp, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res)) { SWIG_exception_fail(SWIG_ArgError(res), "in variable '""screen::display""' of type '""surface""'"); } if (!argp) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in variable '""screen::display""' of type '""surface""'"); } else { surface * temp; temp = reinterpret_cast< surface * >(argp); screen::display = *temp; if (SWIG_IsNewObj(res)) delete temp; } } return 0; fail: return 1; } SWIGINTERN PyObject *screen_display_get(void) { PyObject *pyobj = 0; pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(&screen::display), SWIGTYPE_p_surface, 0 ); return pyobj; } SWIGINTERN PyObject *_wrap_screen_display_get(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(args)) { return screen_display_get(); } SWIGINTERN PyObject *_wrap_screen_display_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *value; int res; if (!PyArg_ParseTuple(args,(char *)"O:set",&value)) return NULL; res = screen_display_set(value); return !res ? SWIG_Py_Void() : NULL; } SWIGINTERN PyObject *_wrap_screen_set_video_mode__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short arg1 ; unsigned short arg2 ; unsigned char arg3 ; bool arg4 ; bool arg5 ; unsigned short val1 ; int ecode1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned char val3 ; int ecode3 = 0 ; bool val4 ; int ecode4 = 0 ; bool val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"screen_set_video_mode",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_short(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "screen_set_video_mode" "', argument " "1"" of type '" "unsigned short""'"); } arg1 = static_cast< unsigned short >(val1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "screen_set_video_mode" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "screen_set_video_mode" "', argument " "3"" of type '" "unsigned char""'"); } arg3 = static_cast< unsigned char >(val3); ecode4 = SWIG_AsVal_bool(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "screen_set_video_mode" "', argument " "4"" of type '" "bool""'"); } arg4 = static_cast< bool >(val4); ecode5 = SWIG_AsVal_bool(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "screen_set_video_mode" "', argument " "5"" of type '" "bool""'"); } arg5 = static_cast< bool >(val5); screen::set_video_mode(arg1,arg2,arg3,arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_set_video_mode__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short arg1 ; unsigned short arg2 ; unsigned char arg3 ; bool arg4 ; unsigned short val1 ; int ecode1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned char val3 ; int ecode3 = 0 ; bool val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"screen_set_video_mode",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_short(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "screen_set_video_mode" "', argument " "1"" of type '" "unsigned short""'"); } arg1 = static_cast< unsigned short >(val1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "screen_set_video_mode" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "screen_set_video_mode" "', argument " "3"" of type '" "unsigned char""'"); } arg3 = static_cast< unsigned char >(val3); ecode4 = SWIG_AsVal_bool(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "screen_set_video_mode" "', argument " "4"" of type '" "bool""'"); } arg4 = static_cast< bool >(val4); screen::set_video_mode(arg1,arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_set_video_mode__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short arg1 ; unsigned short arg2 ; unsigned char arg3 ; unsigned short val1 ; int ecode1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned char val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"screen_set_video_mode",3,3,&obj0,&obj1,&obj2)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_short(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "screen_set_video_mode" "', argument " "1"" of type '" "unsigned short""'"); } arg1 = static_cast< unsigned short >(val1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "screen_set_video_mode" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "screen_set_video_mode" "', argument " "3"" of type '" "unsigned char""'"); } arg3 = static_cast< unsigned char >(val3); screen::set_video_mode(arg1,arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_set_video_mode__SWIG_3(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short arg1 ; unsigned short arg2 ; unsigned short val1 ; int ecode1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"screen_set_video_mode",2,2,&obj0,&obj1)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_short(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "screen_set_video_mode" "', argument " "1"" of type '" "unsigned short""'"); } arg1 = static_cast< unsigned short >(val1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "screen_set_video_mode" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); screen::set_video_mode(arg1,arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_set_video_mode(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; { int res = SWIG_AsVal_unsigned_SS_short(argv[0], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_screen_set_video_mode__SWIG_3(self, args); } } } if (argc == 3) { int _v; { int res = SWIG_AsVal_unsigned_SS_short(argv[0], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_screen_set_video_mode__SWIG_2(self, args); } } } } if (argc == 4) { int _v; { int res = SWIG_AsVal_unsigned_SS_short(argv[0], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_bool(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_screen_set_video_mode__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; { int res = SWIG_AsVal_unsigned_SS_short(argv[0], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_bool(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_bool(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_screen_set_video_mode__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'screen_set_video_mode'.\n Possible C/C++ prototypes are:\n set_video_mode(unsigned short,unsigned short,unsigned char,bool,bool)\n set_video_mode(unsigned short,unsigned short,unsigned char,bool)\n set_video_mode(unsigned short,unsigned short,unsigned char)\n screen::set_video_mode(unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_screen_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short result; if(!PyArg_UnpackTuple(args,(char *)"screen_length",0,0)) SWIG_fail; result = (unsigned short)screen::length(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short result; if(!PyArg_UnpackTuple(args,(char *)"screen_height",0,0)) SWIG_fail; result = (unsigned short)screen::height(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_bytes_per_pixel(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned char result; if(!PyArg_UnpackTuple(args,(char *)"screen_bytes_per_pixel",0,0)) SWIG_fail; result = (unsigned char)screen::bytes_per_pixel(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_trans_col(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int result; if(!PyArg_UnpackTuple(args,(char *)"screen_trans_col",0,0)) SWIG_fail; result = (unsigned int)screen::trans_col(); resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"screen_clear",0,0)) SWIG_fail; screen::clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_show(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"screen_show",0,0)) SWIG_fail; screen::show(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_is_fullscreen(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool result; if(!PyArg_UnpackTuple(args,(char *)"screen_is_fullscreen",0,0)) SWIG_fail; result = (bool)screen::is_fullscreen(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_set_fullscreen(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool arg1 ; bool result; bool val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"screen_set_fullscreen",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_bool(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "screen_set_fullscreen" "', argument " "1"" of type '" "bool""'"); } arg1 = static_cast< bool >(val1); result = (bool)screen::set_fullscreen(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_info(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string result; if(!PyArg_UnpackTuple(args,(char *)"screen_info",0,0)) SWIG_fail; result = screen::info(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_dbl_mode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool result; if(!PyArg_UnpackTuple(args,(char *)"screen_dbl_mode",0,0)) SWIG_fail; result = (bool)screen::dbl_mode(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_screen_transition(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned short arg1 ; unsigned short val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"screen_transition",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_short(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "screen_transition" "', argument " "1"" of type '" "unsigned short""'"); } arg1 = static_cast< unsigned short >(val1); screen::transition(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_screen(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; screen *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_screen",0,0)) SWIG_fail; result = (screen *)new screen(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_screen, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_screen(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; screen *arg1 = (screen *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_screen",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_screen, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_screen" "', argument " "1"" of type '" "screen *""'"); } arg1 = reinterpret_cast< screen * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *screen_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_screen, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_image(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_image",0,0)) SWIG_fail; result = (image *)new image(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_image, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_image(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_image",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_image" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_resize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_resize",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_resize" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "image_resize" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_resize" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_clear" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_get" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_load" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "image_load" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->load(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_get_raw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_get_raw",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_get_raw" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_get_raw" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_get_raw" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get_raw(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_load_raw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_load_raw",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_load_raw" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "image_load_raw" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->load_raw(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_get_pnm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; SDL_RWops *arg2 = (SDL_RWops *) 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_get_pnm",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_get_pnm" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_SDL_RWops, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_get_pnm" "', argument " "2"" of type '" "SDL_RWops *""'"); } arg2 = reinterpret_cast< SDL_RWops * >(argp2); result = (signed char)(arg1)->get_pnm(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_load_pnm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_load_pnm",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_load_pnm" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "image_load_pnm" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->load_pnm(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_put" "', argument " "1"" of type '" "image const *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((image const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_save",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_save" "', argument " "1"" of type '" "image const *""'"); } arg1 = reinterpret_cast< image * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "image_save" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)((image const *)arg1)->save(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_put_raw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_put_raw",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_put_raw" "', argument " "1"" of type '" "image const *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_put_raw" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_put_raw" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((image const *)arg1)->put_raw(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_save_raw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_save_raw",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_save_raw" "', argument " "1"" of type '" "image const *""'"); } arg1 = reinterpret_cast< image * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "image_save_raw" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)((image const *)arg1)->save_raw(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_put_pnm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; SDL_RWops *arg2 = (SDL_RWops *) 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_put_pnm",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_put_pnm" "', argument " "1"" of type '" "image const *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_SDL_RWops, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_put_pnm" "', argument " "2"" of type '" "SDL_RWops *""'"); } arg2 = reinterpret_cast< SDL_RWops * >(argp2); result = (signed char)((image const *)arg1)->put_pnm(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_save_pnm(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_save_pnm",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_save_pnm" "', argument " "1"" of type '" "image const *""'"); } arg1 = reinterpret_cast< image * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "image_save_pnm" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)((image const *)arg1)->save_pnm(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_zoom(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_zoom",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_zoom" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_zoom" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_zoom" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); (arg1)->zoom((surface const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_zoom_to__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned short arg3 ; unsigned short arg4 ; unsigned short arg5 ; unsigned short arg6 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; unsigned short val6 ; int ecode6 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_zoom_to",6,6,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_zoom_to" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_zoom_to" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_zoom_to" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_zoom_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "image_zoom_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "image_zoom_to" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_short(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "image_zoom_to" "', argument " "6"" of type '" "unsigned short""'"); } arg6 = static_cast< unsigned short >(val6); (arg1)->zoom_to((surface const &)*arg2,arg3,arg4,arg5,arg6); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_zoom_to__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned short arg3 ; unsigned short arg4 ; unsigned short arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_zoom_to",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_zoom_to" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_zoom_to" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_zoom_to" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_zoom_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "image_zoom_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "image_zoom_to" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); (arg1)->zoom_to((surface const &)*arg2,arg3,arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_zoom_to__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned short arg3 ; unsigned short arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_zoom_to",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_zoom_to" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_zoom_to" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_zoom_to" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_zoom_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "image_zoom_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); (arg1)->zoom_to((surface const &)*arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_zoom_to(PyObject *self, PyObject *args) { int argc; PyObject *argv[7]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 6); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_zoom_to__SWIG_2(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_zoom_to__SWIG_1(self, args); } } } } } } if (argc == 6) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_zoom_to__SWIG_0(self, args); } } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'image_zoom_to'.\n Possible C/C++ prototypes are:\n zoom_to(surface const &,unsigned short,unsigned short,unsigned short,unsigned short)\n zoom_to(surface const &,unsigned short,unsigned short,unsigned short)\n zoom_to(surface const &,unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_image_tile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_tile",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_tile" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_tile" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_tile" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); (arg1)->tile((surface const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_tile_to__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned short arg3 ; unsigned short arg4 ; unsigned short arg5 ; unsigned short arg6 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; unsigned short val6 ; int ecode6 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_tile_to",6,6,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_tile_to" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_tile_to" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_tile_to" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_tile_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "image_tile_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "image_tile_to" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); ecode6 = SWIG_AsVal_unsigned_SS_short(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "image_tile_to" "', argument " "6"" of type '" "unsigned short""'"); } arg6 = static_cast< unsigned short >(val6); (arg1)->tile_to((surface const &)*arg2,arg3,arg4,arg5,arg6); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_tile_to__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned short arg3 ; unsigned short arg4 ; unsigned short arg5 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_tile_to",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_tile_to" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_tile_to" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_tile_to" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_tile_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "image_tile_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "image_tile_to" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); (arg1)->tile_to((surface const &)*arg2,arg3,arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_tile_to__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned short arg3 ; unsigned short arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_tile_to",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_tile_to" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_tile_to" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_tile_to" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_tile_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "image_tile_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); (arg1)->tile_to((surface const &)*arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_tile_to(PyObject *self, PyObject *args) { int argc; PyObject *argv[7]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 6); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_tile_to__SWIG_2(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_tile_to__SWIG_1(self, args); } } } } } } if (argc == 6) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_tile_to__SWIG_0(self, args); } } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'image_tile_to'.\n Possible C/C++ prototypes are:\n tile_to(surface const &,unsigned short,unsigned short,unsigned short,unsigned short)\n tile_to(surface const &,unsigned short,unsigned short,unsigned short)\n tile_to(surface const &,unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_image_brightness__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned char arg3 ; bool arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned char val3 ; int ecode3 = 0 ; bool val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_brightness",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_brightness" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_brightness" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_brightness" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_brightness" "', argument " "3"" of type '" "unsigned char""'"); } arg3 = static_cast< unsigned char >(val3); ecode4 = SWIG_AsVal_bool(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "image_brightness" "', argument " "4"" of type '" "bool""'"); } arg4 = static_cast< bool >(val4); (arg1)->brightness((surface const &)*arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_brightness__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; surface *arg2 = 0 ; unsigned char arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned char val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_brightness",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_brightness" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_surface, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_brightness" "', argument " "2"" of type '" "surface const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_brightness" "', argument " "2"" of type '" "surface const &""'"); } arg2 = reinterpret_cast< surface * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "image_brightness" "', argument " "3"" of type '" "unsigned char""'"); } arg3 = static_cast< unsigned char >(val3); (arg1)->brightness((surface const &)*arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_image_brightness(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_brightness__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_image, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_ConvertPtr(argv[1], 0, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_bool(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_image_brightness__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'image_brightness'.\n Possible C/C++ prototypes are:\n brightness(surface const &,unsigned char,bool)\n brightness(surface const &,unsigned char)\n"); return NULL; } SWIGINTERN PyObject *_wrap_image_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; image *arg1 = (image *) 0 ; image *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"image_copy",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "image_copy" "', argument " "1"" of type '" "image *""'"); } arg1 = reinterpret_cast< image * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_image, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "image_copy" "', argument " "2"" of type '" "image const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "image_copy" "', argument " "2"" of type '" "image const &""'"); } arg2 = reinterpret_cast< image * >(argp2); (arg1)->copy((image const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *image_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_image, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_animationframe(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_animationframe",0,0)) SWIG_fail; result = (animationframe *)new animationframe(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_animationframe, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_animationframe(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_animationframe",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_animationframe" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_clear" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_is_masked(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_is_masked",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_is_masked" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); result = (bool)((animationframe const *)arg1)->is_masked(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_set_mask(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_set_mask",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_set_mask" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animationframe_set_mask" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_mask(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_alpha(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_alpha",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_alpha" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); result = (unsigned char)((animationframe const *)arg1)->alpha(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_set_alpha(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_set_alpha",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_set_alpha" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animationframe_set_alpha" "', argument " "2"" of type '" "unsigned char""'"); } arg2 = static_cast< unsigned char >(val2); (arg1)->set_alpha(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_image_nbr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_image_nbr",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_image_nbr" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); result = (unsigned short)((animationframe const *)arg1)->image_nbr(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_set_image_nbr(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_set_image_nbr",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_set_image_nbr" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animationframe_set_image_nbr" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_image_nbr(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_delay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_delay",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_delay" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); result = (unsigned short)((animationframe const *)arg1)->delay(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_set_delay(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_set_delay",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_set_delay" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animationframe_set_delay" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_delay(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_nextframe(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_nextframe",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_nextframe" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); result = (unsigned short)((animationframe const *)arg1)->nextframe(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_set_nextframe(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_set_nextframe",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_set_nextframe" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animationframe_set_nextframe" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_nextframe(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_offx(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_offx",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_offx" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); result = (unsigned short)((animationframe const *)arg1)->offx(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_offy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_offy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_offy" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); result = (unsigned short)((animationframe const *)arg1)->offy(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_set_offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_set_offset",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_set_offset" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animationframe_set_offset" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animationframe_set_offset" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->set_offset(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_get" "', argument " "1"" of type '" "animationframe *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "animationframe_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "animationframe_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animationframe_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animationframe *arg1 = (animationframe *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animationframe_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animationframe, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animationframe_put" "', argument " "1"" of type '" "animationframe const *""'"); } arg1 = reinterpret_cast< animationframe * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "animationframe_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "animationframe_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((animationframe const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *animationframe_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_animationframe, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_animation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_animation",0,0)) SWIG_fail; result = (animation *)new animation(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_animation, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_animation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_animation",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_animation" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_clear" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_play(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_play",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_play" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); (arg1)->play(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_stop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_stop",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_stop" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); (arg1)->stop(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_playstate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; play_state result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_playstate",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_playstate" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); result = (play_state)((animation const *)arg1)->playstate(); resultobj = SWIG_From_int(static_cast< int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_rewind(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_rewind",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_rewind" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); (arg1)->rewind(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_next_frame(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_next_frame",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_next_frame" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); (arg1)->next_frame(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_update" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_draw" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animation_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "animation_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "animation_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((animation const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_draw" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animation_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "animation_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((animation const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_draw" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animation_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((animation const *)arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_animation, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_animation_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_animation, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_animation_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_animation, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_animation_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'animation_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area const *,surface *)\n draw(short,short,drawing_area const *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_animation_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_get" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "animation_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "animation_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_load" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "animation_load" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->load(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_put" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "animation_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "animation_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((animation const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_save",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_save" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "animation_save" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)((animation const *)arg1)->save(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_nbr_of_frames(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_nbr_of_frames",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_nbr_of_frames" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); result = (unsigned short)((animation const *)arg1)->nbr_of_frames(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_nbr_of_images(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_nbr_of_images",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_nbr_of_images" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); result = (unsigned short)((animation const *)arg1)->nbr_of_images(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_currentframe(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_currentframe",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_currentframe" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); result = (unsigned short)((animation const *)arg1)->currentframe(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_set_currentframe(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_set_currentframe",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_set_currentframe" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_set_currentframe" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_currentframe(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_xoffset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_xoffset",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_xoffset" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); result = (short)((animation const *)arg1)->xoffset(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_yoffset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_yoffset",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_yoffset" "', argument " "1"" of type '" "animation const *""'"); } arg1 = reinterpret_cast< animation * >(argp1); result = (short)((animation const *)arg1)->yoffset(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_set_offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_set_offset",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_set_offset" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_set_offset" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animation_set_offset" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); (arg1)->set_offset(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_get_frame(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short arg2 ; animationframe *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_get_frame",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_get_frame" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_get_frame" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (animationframe *)(arg1)->get_frame(arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_animationframe, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_get_image(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short arg2 ; image *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_get_image",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_get_image" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_get_image" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (image *)(arg1)->get_image(arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_image, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_insert_image(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; image *arg2 = (image *) 0 ; unsigned short arg3 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_insert_image",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_insert_image" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_image, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "animation_insert_image" "', argument " "2"" of type '" "image const *""'"); } arg2 = reinterpret_cast< image * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animation_insert_image" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); result = (signed char)(arg1)->insert_image((image const *)arg2,arg3); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_insert_frame(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; animationframe arg2 ; unsigned short arg3 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_insert_frame",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_insert_frame" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); { res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_animationframe, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "animation_insert_frame" "', argument " "2"" of type '" "animationframe const""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "animation_insert_frame" "', argument " "2"" of type '" "animationframe const""'"); } else { animationframe * temp = reinterpret_cast< animationframe * >(argp2); arg2 = *temp; if (SWIG_IsNewObj(res2)) delete temp; } } ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animation_insert_frame" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); result = (signed char)(arg1)->insert_frame(arg2,arg3); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_delete_image(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_delete_image",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_delete_image" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_delete_image" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (signed char)(arg1)->delete_image(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_delete_frame(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_delete_frame",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_delete_frame" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_delete_frame" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (signed char)(arg1)->delete_frame(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_zoom(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; unsigned short arg2 ; unsigned short arg3 ; animation *arg4 = (animation *) 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_zoom",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_zoom" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "animation_zoom" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "animation_zoom" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "animation_zoom" "', argument " "4"" of type '" "animation const *""'"); } arg4 = reinterpret_cast< animation * >(argp4); (arg1)->zoom(arg2,arg3,(animation const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_animation_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; animation *arg1 = (animation *) 0 ; animation *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"animation_copy",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "animation_copy" "', argument " "1"" of type '" "animation *""'"); } arg1 = reinterpret_cast< animation * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_animation, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "animation_copy" "', argument " "2"" of type '" "animation const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "animation_copy" "', argument " "2"" of type '" "animation const &""'"); } arg2 = reinterpret_cast< animation * >(argp2); (arg1)->copy((animation const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *animation_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_animation, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN int MAPSQUARE_SIZE_set(PyObject *) { SWIG_Error(SWIG_AttributeError,"Variable MAPSQUARE_SIZE is read-only."); return 1; } SWIGINTERN PyObject *MAPSQUARE_SIZE_get(void) { PyObject *pyobj = 0; pyobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(MAPSQUARE_SIZE)); return pyobj; } SWIGINTERN PyObject *_wrap_new_mapsquare_walkable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapsquare_walkable",0,0)) SWIG_fail; result = (mapsquare_walkable *)new mapsquare_walkable(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare_walkable, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_get" "', argument " "1"" of type '" "mapsquare_walkable *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapsquare_walkable_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapsquare_walkable_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_put" "', argument " "1"" of type '" "mapsquare_walkable const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapsquare_walkable_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapsquare_walkable_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((mapsquare_walkable const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_is_walkable_west(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_is_walkable_west",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_is_walkable_west" "', argument " "1"" of type '" "mapsquare_walkable const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); result = (bool)((mapsquare_walkable const *)arg1)->is_walkable_west(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_is_walkable_east(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_is_walkable_east",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_is_walkable_east" "', argument " "1"" of type '" "mapsquare_walkable const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); result = (bool)((mapsquare_walkable const *)arg1)->is_walkable_east(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_is_walkable_north(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_is_walkable_north",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_is_walkable_north" "', argument " "1"" of type '" "mapsquare_walkable const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); result = (bool)((mapsquare_walkable const *)arg1)->is_walkable_north(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_is_walkable_south(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_is_walkable_south",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_is_walkable_south" "', argument " "1"" of type '" "mapsquare_walkable const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); result = (bool)((mapsquare_walkable const *)arg1)->is_walkable_south(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_set_walkable_west(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_set_walkable_west",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_set_walkable_west" "', argument " "1"" of type '" "mapsquare_walkable *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_set_walkable_west" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_walkable_west(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_set_walkable_east(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_set_walkable_east",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_set_walkable_east" "', argument " "1"" of type '" "mapsquare_walkable *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_set_walkable_east" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_walkable_east(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_set_walkable_north(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_set_walkable_north",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_set_walkable_north" "', argument " "1"" of type '" "mapsquare_walkable *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_set_walkable_north" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_walkable_north(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_set_walkable_south(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_set_walkable_south",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_set_walkable_south" "', argument " "1"" of type '" "mapsquare_walkable *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_set_walkable_south" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_walkable_south(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_get_walkable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; unsigned char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_get_walkable",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_get_walkable" "', argument " "1"" of type '" "mapsquare_walkable const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); result = (unsigned char)((mapsquare_walkable const *)arg1)->get_walkable(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_set_walkable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; unsigned char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_set_walkable",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_set_walkable" "', argument " "1"" of type '" "mapsquare_walkable *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_set_walkable" "', argument " "2"" of type '" "unsigned char""'"); } arg2 = static_cast< unsigned char >(val2); (arg1)->set_walkable(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapsquare_walkable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable *arg1 = (mapsquare_walkable *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapsquare_walkable",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapsquare_walkable" "', argument " "1"" of type '" "mapsquare_walkable *""'"); } arg1 = reinterpret_cast< mapsquare_walkable * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapsquare_walkable_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapsquare_walkable, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_delete_mapsquare_walkable_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapsquare_walkable_area",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapsquare_walkable_area" "', argument " "1"" of type '" "mapsquare_walkable_area *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_clear" "', argument " "1"" of type '" "mapsquare_walkable_area *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_draw" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_area_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_walkable_area_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapsquare_walkable_area_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "mapsquare_walkable_area_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((mapsquare_walkable_area const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_draw" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_area_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_walkable_area_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapsquare_walkable_area_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((mapsquare_walkable_area const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_draw" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_area_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_walkable_area_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((mapsquare_walkable_area const *)arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapsquare_walkable_area, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapsquare_walkable_area_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapsquare_walkable_area, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapsquare_walkable_area_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapsquare_walkable_area, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapsquare_walkable_area_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapsquare_walkable_area_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area const *,surface *)\n draw(short,short,drawing_area const *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_area_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_area_length",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_area_length" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); result = (unsigned short)((mapsquare_walkable_area const *)arg1)->area_length(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_area_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_area_height",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_area_height" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); result = (unsigned short)((mapsquare_walkable_area const *)arg1)->area_height(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_get_square(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; unsigned short arg2 ; unsigned short arg3 ; mapsquare_walkable *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_get_square",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_get_square" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_area_get_square" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_walkable_area_get_square" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); result = (mapsquare_walkable *)((mapsquare_walkable_area const *)arg1)->get_square(arg2,arg3); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare_walkable, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_resize_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_resize_area",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_resize_area" "', argument " "1"" of type '" "mapsquare_walkable_area *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_area_resize_area" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_walkable_area_resize_area" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize_area(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_base_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_base_x",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_base_x" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); result = (unsigned short)((mapsquare_walkable_area const *)arg1)->base_x(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_base_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_base_y",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_base_y" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); result = (unsigned short)((mapsquare_walkable_area const *)arg1)->base_y(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_set_base(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_set_base",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_set_base" "', argument " "1"" of type '" "mapsquare_walkable_area *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_walkable_area_set_base" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_walkable_area_set_base" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->set_base(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_get" "', argument " "1"" of type '" "mapsquare_walkable_area *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapsquare_walkable_area_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapsquare_walkable_area_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_put" "', argument " "1"" of type '" "mapsquare_walkable_area const *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapsquare_walkable_area_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapsquare_walkable_area_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((mapsquare_walkable_area const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_walkable_area_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_walkable_area *arg1 = (mapsquare_walkable_area *) 0 ; mapsquare_walkable_area *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_walkable_area_copy",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_walkable_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_walkable_area_copy" "', argument " "1"" of type '" "mapsquare_walkable_area *""'"); } arg1 = reinterpret_cast< mapsquare_walkable_area * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_mapsquare_walkable_area, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapsquare_walkable_area_copy" "', argument " "2"" of type '" "mapsquare_walkable_area const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapsquare_walkable_area_copy" "', argument " "2"" of type '" "mapsquare_walkable_area const &""'"); } arg2 = reinterpret_cast< mapsquare_walkable_area * >(argp2); (arg1)->copy((mapsquare_walkable_area const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapsquare_walkable_area_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapsquare_walkable_area, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_mapsquare_tile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_tile *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapsquare_tile",0,0)) SWIG_fail; result = (mapsquare_tile *)new mapsquare_tile(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare_tile, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapsquare_tile(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_tile *arg1 = (mapsquare_tile *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapsquare_tile",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_tile, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapsquare_tile" "', argument " "1"" of type '" "mapsquare_tile *""'"); } arg1 = reinterpret_cast< mapsquare_tile * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapsquare_tile_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapsquare_tile, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_mapsquare_char(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_char *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapsquare_char",0,0)) SWIG_fail; result = (mapsquare_char *)new mapsquare_char(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare_char, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapsquare_char(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_char *arg1 = (mapsquare_char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapsquare_char",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_char, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapsquare_char" "', argument " "1"" of type '" "mapsquare_char *""'"); } arg1 = reinterpret_cast< mapsquare_char * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapsquare_char_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapsquare_char, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_mapsquare(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapsquare",0,0)) SWIG_fail; result = (mapsquare *)new mapsquare(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapsquare(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapsquare",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapsquare" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_x",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_x" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (unsigned short)(arg1)->x(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_y",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_y" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (unsigned short)(arg1)->y(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_is_free(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_is_free",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_is_free" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (bool)(arg1)->is_free(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_whoshere(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; mapcharacter *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_whoshere",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_whoshere" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (mapcharacter *)(arg1)->whoshere(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapcharacter, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_g_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_g_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_g_set" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_g_set" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); if (arg1) (arg1)->g = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_g_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_g_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_g_get" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (unsigned short) ((arg1)->g); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_h_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_h_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_h_set" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_h_set" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); if (arg1) (arg1)->h = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_h_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_h_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_h_get" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (unsigned short) ((arg1)->h); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_f_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_f_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_f_set" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_f_set" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); if (arg1) (arg1)->f = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_f_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_f_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_f_get" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (unsigned short) ((arg1)->f); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_parent_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; mapsquare *arg2 = (mapsquare *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_parent_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_parent_set" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_mapsquare, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapsquare_parent_set" "', argument " "2"" of type '" "mapsquare *""'"); } arg2 = reinterpret_cast< mapsquare * >(argp2); if (arg1) (arg1)->parent = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_parent_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; mapsquare *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_parent_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_parent_get" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (mapsquare *) ((arg1)->parent); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_can_use_for_pathfinding_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_can_use_for_pathfinding_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_can_use_for_pathfinding_set" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_can_use_for_pathfinding_set" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); if (arg1) (arg1)->can_use_for_pathfinding = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_can_use_for_pathfinding_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare *arg1 = (mapsquare *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_can_use_for_pathfinding_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_can_use_for_pathfinding_get" "', argument " "1"" of type '" "mapsquare *""'"); } arg1 = reinterpret_cast< mapsquare * >(argp1); result = (bool) ((arg1)->can_use_for_pathfinding); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapsquare_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapsquare, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_mapsquare_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_area *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapsquare_area",0,0)) SWIG_fail; result = (mapsquare_area *)new mapsquare_area(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare_area, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapsquare_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_area *arg1 = (mapsquare_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapsquare_area",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_area, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapsquare_area" "', argument " "1"" of type '" "mapsquare_area *""'"); } arg1 = reinterpret_cast< mapsquare_area * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_area_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_area *arg1 = (mapsquare_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_area_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_area_clear" "', argument " "1"" of type '" "mapsquare_area *""'"); } arg1 = reinterpret_cast< mapsquare_area * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_area_area_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_area *arg1 = (mapsquare_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_area_area_length",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_area_area_length" "', argument " "1"" of type '" "mapsquare_area const *""'"); } arg1 = reinterpret_cast< mapsquare_area * >(argp1); result = (unsigned short)((mapsquare_area const *)arg1)->area_length(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_area_area_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_area *arg1 = (mapsquare_area *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_area_area_height",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_area_area_height" "', argument " "1"" of type '" "mapsquare_area const *""'"); } arg1 = reinterpret_cast< mapsquare_area * >(argp1); result = (unsigned short)((mapsquare_area const *)arg1)->area_height(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_area_get_square(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_area *arg1 = (mapsquare_area *) 0 ; unsigned short arg2 ; unsigned short arg3 ; mapsquare *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_area_get_square",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_area_get_square" "', argument " "1"" of type '" "mapsquare_area const *""'"); } arg1 = reinterpret_cast< mapsquare_area * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_area_get_square" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_area_get_square" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); result = (mapsquare *)((mapsquare_area const *)arg1)->get_square(arg2,arg3); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapsquare_area_resize_area(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapsquare_area *arg1 = (mapsquare_area *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapsquare_area_resize_area",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapsquare_area, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapsquare_area_resize_area" "', argument " "1"" of type '" "mapsquare_area *""'"); } arg1 = reinterpret_cast< mapsquare_area * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapsquare_area_resize_area" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapsquare_area_resize_area" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize_area(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapsquare_area_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapsquare_area, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_mapobject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapobject",0,0)) SWIG_fail; result = (mapobject *)new mapobject(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapobject, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapobject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapobject",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapobject" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_clear" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_update" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_draw" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapobject_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapobject_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "mapobject_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((mapobject const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_draw" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapobject_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapobject_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((mapobject const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_draw" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapobject_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((mapobject const *)arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapobject_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapobject_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapobject_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapobject_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area const *,surface *)\n draw(short,short,drawing_area const *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw_from_base__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_draw_from_base",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_draw_from_base" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_draw_from_base" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapobject_draw_from_base" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapobject_draw_from_base" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "mapobject_draw_from_base" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((mapobject const *)arg1)->draw_from_base(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw_from_base__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_draw_from_base",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_draw_from_base" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_draw_from_base" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapobject_draw_from_base" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapobject_draw_from_base" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((mapobject const *)arg1)->draw_from_base(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw_from_base__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_draw_from_base",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_draw_from_base" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_draw_from_base" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapobject_draw_from_base" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((mapobject const *)arg1)->draw_from_base(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_draw_from_base(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapobject_draw_from_base__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapobject_draw_from_base__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapobject_draw_from_base__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapobject_draw_from_base'.\n Possible C/C++ prototypes are:\n draw_from_base(short,short,drawing_area const *,surface *)\n draw_from_base(short,short,drawing_area const *)\n draw_from_base(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapobject_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_get" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapobject_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapobject_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_load" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapobject_load" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->load(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_put" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapobject_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapobject_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((mapobject const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_save",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_save" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapobject_save" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)((mapobject const *)arg1)->save(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_nbr_of_animations(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_nbr_of_animations",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_nbr_of_animations" "', argument " "1"" of type '" "mapobject const *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); result = (unsigned short)((mapobject const *)arg1)->nbr_of_animations(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_get_animation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; unsigned short arg2 ; animation *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_get_animation",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_get_animation" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_get_animation" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (animation *)(arg1)->get_animation(arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_animation, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_insert_animation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; animation *arg2 = (animation *) 0 ; unsigned short arg3 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_insert_animation",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_insert_animation" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_animation, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapobject_insert_animation" "', argument " "2"" of type '" "animation *""'"); } arg2 = reinterpret_cast< animation * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapobject_insert_animation" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); result = (signed char)(arg1)->insert_animation(arg2,arg3); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_delete_animation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; unsigned short arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_delete_animation",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_delete_animation" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapobject_delete_animation" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (signed char)(arg1)->delete_animation(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapobject_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapobject *arg1 = (mapobject *) 0 ; mapobject *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapobject_copy",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapobject_copy" "', argument " "1"" of type '" "mapobject *""'"); } arg1 = reinterpret_cast< mapobject * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_mapobject, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapobject_copy" "', argument " "2"" of type '" "mapobject const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapobject_copy" "', argument " "2"" of type '" "mapobject const &""'"); } arg2 = reinterpret_cast< mapobject * >(argp2); (arg1)->copy((mapobject const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapobject_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapobject, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_mapcharacter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapcharacter",0,0)) SWIG_fail; result = (mapcharacter *)new mapcharacter(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapcharacter, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapcharacter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapcharacter",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapcharacter" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_clear" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_filename(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_filename",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_filename" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = ((mapcharacter const *)arg1)->filename(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_update" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_draw" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapcharacter_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "mapcharacter_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((mapcharacter const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_draw" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapcharacter_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((mapcharacter const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_draw" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((mapcharacter const *)arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapcharacter_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area const *,surface *)\n draw(short,short,drawing_area const *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw_bubble__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_draw_bubble",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_draw_bubble" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_draw_bubble" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_draw_bubble" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapcharacter_draw_bubble" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "mapcharacter_draw_bubble" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((mapcharacter const *)arg1)->draw_bubble(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw_bubble__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_draw_bubble",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_draw_bubble" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_draw_bubble" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_draw_bubble" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapcharacter_draw_bubble" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((mapcharacter const *)arg1)->draw_bubble(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw_bubble__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_draw_bubble",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_draw_bubble" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_draw_bubble" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_draw_bubble" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((mapcharacter const *)arg1)->draw_bubble(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_draw_bubble(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapcharacter_draw_bubble__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_draw_bubble__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_draw_bubble__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_draw_bubble'.\n Possible C/C++ prototypes are:\n draw_bubble(short,short,drawing_area const *,surface *)\n draw_bubble(short,short,drawing_area const *)\n draw_bubble(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_get" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapcharacter_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_load" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_load" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->load(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_put" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapcharacter_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((mapcharacter const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_save",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_save" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_save" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)((mapcharacter const *)arg1)->save(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_get_state" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapcharacter_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_put_state" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapcharacter_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((mapcharacter const *)arg1)->put_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_map(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; landmap *arg2 = (landmap *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_map",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_map" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_set_map" "', argument " "2"" of type '" "landmap *""'"); } arg2 = reinterpret_cast< landmap * >(argp2); (arg1)->set_map(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_remove_from_map(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_remove_from_map",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_remove_from_map" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->remove_from_map(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_mymap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; landmap *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_mymap",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_mymap" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (landmap *)((mapcharacter const *)arg1)->mymap(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_landmap, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_stand_north(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_stand_north",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_stand_north" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->stand_north(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_stand_south(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_stand_south",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_stand_south" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->stand_south(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_stand_east(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_stand_east",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_stand_east" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->stand_east(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_stand_west(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_stand_west",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_stand_west" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->stand_west(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_stand(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_stand",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_stand" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->stand(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_go_north(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_go_north",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_go_north" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->go_north(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_go_south(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_go_south",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_go_south" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->go_south(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_go_east(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_go_east",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_go_east" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->go_east(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_go_west(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_go_west",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_go_west" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->go_west(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_can_go_north(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_can_go_north",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_can_go_north" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)((mapcharacter const *)arg1)->can_go_north(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_can_go_south(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_can_go_south",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_can_go_south" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)((mapcharacter const *)arg1)->can_go_south(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_can_go_east(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_can_go_east",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_can_go_east" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)((mapcharacter const *)arg1)->can_go_east(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_can_go_west(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_can_go_west",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_can_go_west" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)((mapcharacter const *)arg1)->can_go_west(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_look_invert(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_look_invert",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_look_invert" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_look_invert" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->look_invert(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_whosnext(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; mapcharacter *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_whosnext",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_whosnext" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (mapcharacter *)((mapcharacter const *)arg1)->whosnext(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapcharacter, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_speak(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_speak",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_speak" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_speak" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapcharacter_speak" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->speak((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_is_speaking(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_is_speaking",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_is_speaking" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->is_speaking(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_get_bubble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; text_bubble *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_get_bubble",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_get_bubble" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (text_bubble *)(arg1)->get_bubble(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_text_bubble, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_offset(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; signed char arg2 ; signed char arg3 ; void *argp1 = 0 ; int res1 = 0 ; signed char val2 ; int ecode2 = 0 ; signed char val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_offset",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_offset" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_signed_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_set_offset" "', argument " "2"" of type '" "signed char""'"); } arg2 = static_cast< signed char >(val2); ecode3 = SWIG_AsVal_signed_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_set_offset" "', argument " "3"" of type '" "signed char""'"); } arg3 = static_cast< signed char >(val3); (arg1)->set_offset(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_remove_from_pos(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_remove_from_pos",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_remove_from_pos" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->remove_from_pos(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_jump_to__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; unsigned short arg5 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_jump_to",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_jump_to" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_jump_to" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_jump_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapcharacter_jump_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "mapcharacter_jump_to" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); (arg1)->jump_to(arg2,arg3,arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_jump_to__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_jump_to",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_jump_to" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_jump_to" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_jump_to" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapcharacter_jump_to" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); (arg1)->jump_to(arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_jump_to(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapcharacter_jump_to__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapcharacter_jump_to__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_jump_to'.\n Possible C/C++ prototypes are:\n jump_to(unsigned short,unsigned short,unsigned short,unsigned short)\n jump_to(unsigned short,unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_submap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_submap",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_submap" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (unsigned short)((mapcharacter const *)arg1)->submap(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_posx(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_posx",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_posx" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (unsigned short)((mapcharacter const *)arg1)->posx(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_posy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_posy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_posy" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (unsigned short)((mapcharacter const *)arg1)->posy(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_offx(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_offx",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_offx" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (signed char)((mapcharacter const *)arg1)->offx(); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_offy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_offy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_offy" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (signed char)((mapcharacter const *)arg1)->offy(); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_currentmove(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_currentmove",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_currentmove" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (unsigned short)((mapcharacter const *)arg1)->currentmove(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_goal__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; bool result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_goal",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_goal" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_set_goal" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_set_goal" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapcharacter_set_goal" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); result = (bool)(arg1)->set_goal(arg2,arg3,arg4); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_goal__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short arg2 ; unsigned short arg3 ; bool result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_goal",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_goal" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_set_goal" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapcharacter_set_goal" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); result = (bool)(arg1)->set_goal(arg2,arg3); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_goal(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapcharacter_set_goal__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapcharacter_set_goal__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_set_goal'.\n Possible C/C++ prototypes are:\n set_goal(unsigned short,unsigned short,unsigned short)\n set_goal(unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_callback__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; PyObject *arg2 = (PyObject *) 0 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_callback",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_callback" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { arg2 = obj1; } { arg3 = obj2; } (arg1)->set_callback(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_callback__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; PyObject *arg2 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_callback",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_callback" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { arg2 = obj1; } (arg1)->set_callback(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_callback(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { return _wrap_mapcharacter_set_callback__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_mapcharacter_set_callback__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_set_callback'.\n Possible C/C++ prototypes are:\n set_callback(PyObject *,PyObject *)\n set_callback(PyObject *)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_follow_path(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_follow_path",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_follow_path" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->follow_path(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_goal_reached(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_goal_reached",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_goal_reached" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)(arg1)->goal_reached(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_stop_moving(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_stop_moving",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_stop_moving" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); (arg1)->stop_moving(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_time_callback__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; PyObject *arg4 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_time_callback",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_time_callback" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_time_callback" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } { arg4 = obj3; } (arg1)->time_callback(arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_time_callback__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_time_callback",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_time_callback" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_time_callback" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } (arg1)->time_callback(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_time_callback(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_mapcharacter_time_callback__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { _v = (argv[3] != 0); if (_v) { return _wrap_mapcharacter_time_callback__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_time_callback'.\n Possible C/C++ prototypes are:\n time_callback(string,PyObject *,PyObject *)\n time_callback(string,PyObject *)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_time_callback_string__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; string arg3 ; PyObject *arg4 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_time_callback_string",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_time_callback_string" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_time_callback_string" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_time_callback_string" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg4 = obj3; } (arg1)->time_callback_string(arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_time_callback_string__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; string arg3 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_time_callback_string",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_time_callback_string" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_time_callback_string" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_time_callback_string" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->time_callback_string(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_time_callback_string(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_time_callback_string__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[3] != 0); if (_v) { return _wrap_mapcharacter_time_callback_string__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_time_callback_string'.\n Possible C/C++ prototypes are:\n time_callback_string(string,string,PyObject *)\n time_callback_string(string,string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_schedule__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_schedule",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_schedule" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_set_schedule" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } (arg1)->set_schedule(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_schedule__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_schedule",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_schedule" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_set_schedule" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_schedule(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_schedule(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_set_schedule__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_mapcharacter_set_schedule__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_set_schedule'.\n Possible C/C++ prototypes are:\n set_schedule(string,PyObject *)\n set_schedule(string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_schedule_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_schedule_file",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_schedule_file" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = ((mapcharacter const *)arg1)->schedule_file(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_is_schedule_activated(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_is_schedule_activated",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_is_schedule_activated" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)((mapcharacter const *)arg1)->is_schedule_activated(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_schedule_active(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_schedule_active",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_schedule_active" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_set_schedule_active" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_schedule_active(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_do_stuff__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_do_stuff",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_do_stuff" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_do_stuff" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } result = (bool)(arg1)->do_stuff(arg2,arg3); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_do_stuff__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_do_stuff",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_do_stuff" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_do_stuff" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (bool)(arg1)->do_stuff(arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_do_stuff(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_do_stuff__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_mapcharacter_do_stuff__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_do_stuff'.\n Possible C/C++ prototypes are:\n do_stuff(string,PyObject *)\n do_stuff(string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_action__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_action",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_action" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_set_action" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } (arg1)->set_action(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_action__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_action",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_action" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapcharacter_set_action" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_action(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_action(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapcharacter_set_action__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapcharacter, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_mapcharacter_set_action__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapcharacter_set_action'.\n Possible C/C++ prototypes are:\n set_action(string,PyObject *)\n set_action(string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_action_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_action_file",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_action_file" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = ((mapcharacter const *)arg1)->action_file(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_is_action_activated(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_is_action_activated",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_is_action_activated" "', argument " "1"" of type '" "mapcharacter const *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); result = (bool)((mapcharacter const *)arg1)->is_action_activated(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_set_action_active(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_set_action_active",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_set_action_active" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_set_action_active" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_action_active(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_launch_action(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; mapcharacter *arg2 = (mapcharacter *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_launch_action",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_launch_action" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_launch_action" "', argument " "2"" of type '" "mapcharacter *""'"); } arg2 = reinterpret_cast< mapcharacter * >(argp2); (arg1)->launch_action(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_get_animation(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; unsigned short arg2 ; animation *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_get_animation",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_get_animation" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapcharacter_get_animation" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (animation *)(arg1)->get_animation(arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_animation, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapcharacter_copy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapcharacter *arg1 = (mapcharacter *) 0 ; mapcharacter *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapcharacter_copy",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapcharacter, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapcharacter_copy" "', argument " "1"" of type '" "mapcharacter *""'"); } arg1 = reinterpret_cast< mapcharacter * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_mapcharacter, 0 | 0); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapcharacter_copy" "', argument " "2"" of type '" "mapcharacter const &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapcharacter_copy" "', argument " "2"" of type '" "mapcharacter const &""'"); } arg2 = reinterpret_cast< mapcharacter * >(argp2); (arg1)->copy((mapcharacter const &)*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *mapcharacter_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapcharacter, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_path_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *arg1 = (path *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"path_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_path, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "path_clear" "', argument " "1"" of type '" "path *""'"); } arg1 = reinterpret_cast< path * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_path_calculate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *arg1 = (path *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"path_calculate",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_path, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "path_calculate" "', argument " "1"" of type '" "path *""'"); } arg1 = reinterpret_cast< path * >(argp1); result = (bool)(arg1)->calculate(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_path_nbr_moves(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *arg1 = (path *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"path_nbr_moves",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_path, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "path_nbr_moves" "', argument " "1"" of type '" "path const *""'"); } arg1 = reinterpret_cast< path * >(argp1); result = (unsigned short)((path const *)arg1)->nbr_moves(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_path_get_move(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *arg1 = (path *) 0 ; unsigned short arg2 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"path_get_move",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_path, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "path_get_move" "', argument " "1"" of type '" "path const *""'"); } arg1 = reinterpret_cast< path * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "path_get_move" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (unsigned short)((path const *)arg1)->get_move(arg2); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_path_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *arg1 = (path *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"path_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_path, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "path_get_state" "', argument " "1"" of type '" "path *""'"); } arg1 = reinterpret_cast< path * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "path_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "path_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_path_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *arg1 = (path *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"path_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_path, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "path_put_state" "', argument " "1"" of type '" "path const *""'"); } arg1 = reinterpret_cast< path * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "path_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "path_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((path const *)arg1)->put_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_path(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_path",0,0)) SWIG_fail; result = (path *)new path(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_path, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_path(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; path *arg1 = (path *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_path",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_path, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_path" "', argument " "1"" of type '" "path *""'"); } arg1 = reinterpret_cast< path * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *path_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_path, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_character(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_character",0,0)) SWIG_fail; result = (character *)new character(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_character, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_character(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character *arg1 = (character *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_character",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_character" "', argument " "1"" of type '" "character *""'"); } arg1 = reinterpret_cast< character * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *character_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_character, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_landmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_landmap",0,0)) SWIG_fail; result = (landmap *)new landmap(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_landmap, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_landmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_landmap",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_landmap" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_clear(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_clear",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_clear" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); (arg1)->clear(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_nbr_of_mapobjects(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_nbr_of_mapobjects",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_nbr_of_mapobjects" "', argument " "1"" of type '" "landmap const *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); result = (unsigned short)((landmap const *)arg1)->nbr_of_mapobjects(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_nbr_of_submaps(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_nbr_of_submaps",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_nbr_of_submaps" "', argument " "1"" of type '" "landmap const *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); result = (unsigned short)((landmap const *)arg1)->nbr_of_submaps(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_nbr_of_mapcharacters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_nbr_of_mapcharacters",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_nbr_of_mapcharacters" "', argument " "1"" of type '" "landmap const *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); result = (unsigned short)((landmap const *)arg1)->nbr_of_mapcharacters(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_filename(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_filename",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_filename" "', argument " "1"" of type '" "landmap const *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); result = ((landmap const *)arg1)->filename(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_get_mapcharacter(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; mapcharacter *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_get_mapcharacter",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_get_mapcharacter" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_get_mapcharacter" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (mapcharacter *)(arg1)->get_mapcharacter(arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapcharacter, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_get_mapobject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; mapobject *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_get_mapobject",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_get_mapobject" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_get_mapobject" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (mapobject *)(arg1)->get_mapobject(arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapobject, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_get_submap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; mapsquare_area *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_get_submap",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_get_submap" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_get_submap" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (mapsquare_area *)(arg1)->get_submap(arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapsquare_area, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_update" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); (arg1)->update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_get" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "landmap_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "landmap_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_load" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "landmap_load" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->load(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_put" "', argument " "1"" of type '" "landmap const *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "landmap_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "landmap_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((landmap const *)arg1)->put(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; string arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_save",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_save" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "landmap_save" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->save(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_get_state" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "landmap_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "landmap_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_put_state" "', argument " "1"" of type '" "landmap const *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "landmap_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "landmap_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)((landmap const *)arg1)->put_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_put_mapobject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; unsigned short arg5 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_put_mapobject",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_put_mapobject" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_put_mapobject" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "landmap_put_mapobject" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "landmap_put_mapobject" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "landmap_put_mapobject" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); result = (signed char)(arg1)->put_mapobject(arg2,arg3,arg4,arg5); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_remove_mapobject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; unsigned short arg5 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; unsigned short val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_remove_mapobject",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_remove_mapobject" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_remove_mapobject" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "landmap_remove_mapobject" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "landmap_remove_mapobject" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_unsigned_SS_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "landmap_remove_mapobject" "', argument " "5"" of type '" "unsigned short""'"); } arg5 = static_cast< unsigned short >(val5); (arg1)->remove_mapobject(arg2,arg3,arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_insert_submap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_insert_submap",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_insert_submap" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_insert_submap" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (signed char)(arg1)->insert_submap(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_delete_submap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_delete_submap",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_delete_submap" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_delete_submap" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (signed char)(arg1)->delete_submap(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_insert_mapobject__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; mapobject *arg2 = (mapobject *) 0 ; unsigned short arg3 ; string arg4 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_insert_mapobject",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_insert_mapobject" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "landmap_insert_mapobject" "', argument " "2"" of type '" "mapobject *""'"); } arg2 = reinterpret_cast< mapobject * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "landmap_insert_mapobject" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj3, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "landmap_insert_mapobject" "', argument " "4"" of type '" "string""'"); } arg4 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (signed char)(arg1)->insert_mapobject(arg2,arg3,arg4); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_insert_mapobject__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; mapobject *arg2 = (mapobject *) 0 ; unsigned short arg3 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_insert_mapobject",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_insert_mapobject" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_mapobject, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "landmap_insert_mapobject" "', argument " "2"" of type '" "mapobject *""'"); } arg2 = reinterpret_cast< mapobject * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "landmap_insert_mapobject" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); result = (signed char)(arg1)->insert_mapobject(arg2,arg3); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_landmap_insert_mapobject(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_landmap, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_landmap_insert_mapobject__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_landmap, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_mapobject, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { int res = SWIG_AsPtr_std_string(argv[3], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_landmap_insert_mapobject__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'landmap_insert_mapobject'.\n Possible C/C++ prototypes are:\n insert_mapobject(mapobject *,unsigned short,string)\n insert_mapobject(mapobject *,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_landmap_delete_mapobject(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; landmap *arg1 = (landmap *) 0 ; unsigned short arg2 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"landmap_delete_mapobject",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "landmap_delete_mapobject" "', argument " "1"" of type '" "landmap *""'"); } arg1 = reinterpret_cast< landmap * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "landmap_delete_mapobject" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (signed char)(arg1)->delete_mapobject(arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *landmap_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_landmap, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_mapview(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_mapview",0,0)) SWIG_fail; result = (mapview *)new mapview(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapview, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_mapview(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_mapview",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_mapview" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_attach_map(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; landmap *arg2 = (landmap *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_attach_map",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_attach_map" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_landmap, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapview_attach_map" "', argument " "2"" of type '" "landmap *""'"); } arg2 = reinterpret_cast< landmap * >(argp2); (arg1)->attach_map(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_detach_map(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_detach_map",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_detach_map" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); (arg1)->detach_map(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_set_pos__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; short arg5 ; short arg6 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; short val5 ; int ecode5 = 0 ; short val6 ; int ecode6 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_set_pos",6,6,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_set_pos" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_set_pos" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_set_pos" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapview_set_pos" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "mapview_set_pos" "', argument " "5"" of type '" "short""'"); } arg5 = static_cast< short >(val5); ecode6 = SWIG_AsVal_short(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "mapview_set_pos" "', argument " "6"" of type '" "short""'"); } arg6 = static_cast< short >(val6); result = (signed char)(arg1)->set_pos(arg2,arg3,arg4,arg5,arg6); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_set_pos__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; short arg5 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; short val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_set_pos",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_set_pos" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_set_pos" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_set_pos" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapview_set_pos" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "mapview_set_pos" "', argument " "5"" of type '" "short""'"); } arg5 = static_cast< short >(val5); result = (signed char)(arg1)->set_pos(arg2,arg3,arg4,arg5); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_set_pos__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_set_pos",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_set_pos" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_set_pos" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_set_pos" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapview_set_pos" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); result = (signed char)(arg1)->set_pos(arg2,arg3,arg4); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_set_pos(PyObject *self, PyObject *args) { int argc; PyObject *argv[7]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 6); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapview_set_pos__SWIG_2(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapview_set_pos__SWIG_1(self, args); } } } } } } if (argc == 6) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapview_set_pos__SWIG_0(self, args); } } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapview_set_pos'.\n Possible C/C++ prototypes are:\n set_pos(unsigned short,unsigned short,unsigned short,short,short)\n set_pos(unsigned short,unsigned short,unsigned short,short)\n set_pos(unsigned short,unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapview_center_on__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; short arg5 ; short arg6 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; short val5 ; int ecode5 = 0 ; short val6 ; int ecode6 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; PyObject * obj5 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_center_on",6,6,&obj0,&obj1,&obj2,&obj3,&obj4,&obj5)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_center_on" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_center_on" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_center_on" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapview_center_on" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "mapview_center_on" "', argument " "5"" of type '" "short""'"); } arg5 = static_cast< short >(val5); ecode6 = SWIG_AsVal_short(obj5, &val6); if (!SWIG_IsOK(ecode6)) { SWIG_exception_fail(SWIG_ArgError(ecode6), "in method '" "mapview_center_on" "', argument " "6"" of type '" "short""'"); } arg6 = static_cast< short >(val6); result = (signed char)(arg1)->center_on(arg2,arg3,arg4,arg5,arg6); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_center_on__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; short arg5 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; short val5 ; int ecode5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_center_on",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_center_on" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_center_on" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_center_on" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapview_center_on" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); ecode5 = SWIG_AsVal_short(obj4, &val5); if (!SWIG_IsOK(ecode5)) { SWIG_exception_fail(SWIG_ArgError(ecode5), "in method '" "mapview_center_on" "', argument " "5"" of type '" "short""'"); } arg5 = static_cast< short >(val5); result = (signed char)(arg1)->center_on(arg2,arg3,arg4,arg5); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_center_on__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short arg2 ; unsigned short arg3 ; unsigned short arg4 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; unsigned short val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_center_on",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_center_on" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_center_on" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_center_on" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "mapview_center_on" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); result = (signed char)(arg1)->center_on(arg2,arg3,arg4); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_center_on(PyObject *self, PyObject *args) { int argc; PyObject *argv[7]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 6); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapview_center_on__SWIG_2(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapview_center_on__SWIG_1(self, args); } } } } } } if (argc == 6) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[4], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[5], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapview_center_on__SWIG_0(self, args); } } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapview_center_on'.\n Possible C/C++ prototypes are:\n center_on(unsigned short,unsigned short,unsigned short,short,short)\n center_on(unsigned short,unsigned short,unsigned short,short)\n center_on(unsigned short,unsigned short,unsigned short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapview_currentsubmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_currentsubmap",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_currentsubmap" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (unsigned short)(arg1)->currentsubmap(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_posx(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_posx",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_posx" "', argument " "1"" of type '" "mapview const *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (unsigned short)((mapview const *)arg1)->posx(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_posy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_posy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_posy" "', argument " "1"" of type '" "mapview const *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (unsigned short)((mapview const *)arg1)->posy(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_offx(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_offx",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_offx" "', argument " "1"" of type '" "mapview const *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (unsigned short)((mapview const *)arg1)->offx(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_offy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_offy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_offy" "', argument " "1"" of type '" "mapview const *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (unsigned short)((mapview const *)arg1)->offy(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_can_scroll_right(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_can_scroll_right",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_can_scroll_right" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (bool)(arg1)->can_scroll_right(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_can_scroll_left(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_can_scroll_left",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_can_scroll_left" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (bool)(arg1)->can_scroll_left(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_can_scroll_up(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_can_scroll_up",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_can_scroll_up" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (bool)(arg1)->can_scroll_up(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_can_scroll_down(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_can_scroll_down",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_can_scroll_down" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (bool)(arg1)->can_scroll_down(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_scroll_right(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_scroll_right",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_scroll_right" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); (arg1)->scroll_right(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_scroll_left(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_scroll_left",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_scroll_left" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); (arg1)->scroll_left(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_scroll_down(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_scroll_down",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_scroll_down" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); (arg1)->scroll_down(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_scroll_up(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_scroll_up",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_scroll_up" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); (arg1)->scroll_up(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_get_state" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapview_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapview_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_put_state" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "mapview_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "mapview_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)(arg1)->put_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_resize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_resize",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_resize" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_resize" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_resize" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_set_schedule__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_set_schedule",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_set_schedule" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapview_set_schedule" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } (arg1)->set_schedule(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_set_schedule__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_set_schedule",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_set_schedule" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "mapview_set_schedule" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_schedule(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_set_schedule(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapview_set_schedule__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_mapview_set_schedule__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapview_set_schedule'.\n Possible C/C++ prototypes are:\n set_schedule(string,PyObject *)\n set_schedule(string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_mapview_schedule_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; string result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_schedule_file",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_schedule_file" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (arg1)->schedule_file(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_update" "', argument " "1"" of type '" "mapview *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_draw" "', argument " "1"" of type '" "mapview const *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapview_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "mapview_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); ((mapview const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_draw" "', argument " "1"" of type '" "mapview const *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "mapview_draw" "', argument " "4"" of type '" "drawing_area const *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); ((mapview const *)arg1)->draw(arg2,arg3,(drawing_area const *)arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; mapview *arg1 = (mapview *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"mapview_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "mapview_draw" "', argument " "1"" of type '" "mapview const *""'"); } arg1 = reinterpret_cast< mapview * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "mapview_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "mapview_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); ((mapview const *)arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_mapview_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_mapview_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapview_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_mapview, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_mapview_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'mapview_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area const *,surface *)\n draw(short,short,drawing_area const *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *mapview_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_mapview, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_adonthell(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_adonthell",0,0)) SWIG_fail; result = (adonthell *)new adonthell(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_adonthell, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_main__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; win_base *arg2 = (win_base *) 0 ; string arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_main",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_main" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "adonthell_main" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "adonthell_main" "', argument " "3"" of type '" "string const""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->main(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_main__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_main",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_main" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "adonthell_main" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->main(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_main__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_main",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_main" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); (arg1)->main(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_main(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 1) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_adonthell_main__SWIG_2(self, args); } } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_win_base, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_adonthell_main__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_win_base, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_adonthell_main__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'adonthell_main'.\n Possible C/C++ prototypes are:\n main(win_base *,string const)\n main(win_base *)\n main()\n"); return NULL; } SWIGINTERN PyObject *_wrap_adonthell_main_loop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_main_loop",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_main_loop" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); (arg1)->main_loop(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_main_quit(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_main_quit",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_main_quit" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); (arg1)->main_quit(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_fade_out(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_fade_out",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_fade_out" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); (arg1)->fade_out(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_fade_in(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_fade_in",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_fade_in" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); (arg1)->fade_in(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_get_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; igzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_get_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_get_state" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "adonthell_get_state" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "adonthell_get_state" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (signed char)(arg1)->get_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_put_state(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; ogzstream *arg2 = 0 ; signed char result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_put_state",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_put_state" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "adonthell_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "adonthell_put_state" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); result = (signed char)(arg1)->put_state(*arg2); resultobj = SWIG_From_signed_SS_char(static_cast< signed char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_control_active(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_control_active",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_control_active" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); result = (bool)(arg1)->control_active(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_set_control_active(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_set_control_active",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_set_control_active" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "adonthell_set_control_active" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_control_active(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_get_landmap(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; landmap *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_get_landmap",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_get_landmap" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); result = (landmap *)(arg1)->get_landmap(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_landmap, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_update_map(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_update_map",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_update_map" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); result = (bool)(arg1)->update_map(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_set_update_map(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_set_update_map",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_set_update_map" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "adonthell_set_update_map" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_update_map(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_get_mapview(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; mapview *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_get_mapview",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_get_mapview" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); result = (mapview *)(arg1)->get_mapview(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_mapview, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; surface *arg5 = (surface *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; void *argp5 = 0 ; int res5 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; PyObject * obj4 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_draw",5,5,&obj0,&obj1,&obj2,&obj3,&obj4)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_draw" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "adonthell_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "adonthell_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "adonthell_draw" "', argument " "4"" of type '" "drawing_area *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); res5 = SWIG_ConvertPtr(obj4, &argp5,SWIGTYPE_p_surface, 0 | 0 ); if (!SWIG_IsOK(res5)) { SWIG_exception_fail(SWIG_ArgError(res5), "in method '" "adonthell_draw" "', argument " "5"" of type '" "surface *""'"); } arg5 = reinterpret_cast< surface * >(argp5); (arg1)->draw(arg2,arg3,arg4,arg5); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; short arg2 ; short arg3 ; drawing_area *arg4 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; void *argp4 = 0 ; int res4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_draw",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_draw" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "adonthell_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "adonthell_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); res4 = SWIG_ConvertPtr(obj3, &argp4,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res4)) { SWIG_exception_fail(SWIG_ArgError(res4), "in method '" "adonthell_draw" "', argument " "4"" of type '" "drawing_area *""'"); } arg4 = reinterpret_cast< drawing_area * >(argp4); (arg1)->draw(arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_draw__SWIG_2(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_draw",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_draw" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "adonthell_draw" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "adonthell_draw" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); (arg1)->draw(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[6]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 5); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_adonthell_draw__SWIG_2(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_adonthell_draw__SWIG_1(self, args); } } } } } if (argc == 5) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_short(argv[1], NULL); _v = SWIG_CheckState(res); } if (_v) { { int res = SWIG_AsVal_short(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[3], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[4], &vptr, SWIGTYPE_p_surface, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_adonthell_draw__SWIG_0(self, args); } } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'adonthell_draw'.\n Possible C/C++ prototypes are:\n draw(short,short,drawing_area *,surface *)\n draw(short,short,drawing_area *)\n draw(short,short)\n"); return NULL; } SWIGINTERN PyObject *_wrap_adonthell_set_mapview_schedule__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; string arg2 ; PyObject *arg3 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_set_mapview_schedule",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_set_mapview_schedule" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "adonthell_set_mapview_schedule" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { arg3 = obj2; } (arg1)->set_mapview_schedule(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_set_mapview_schedule__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_set_mapview_schedule",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_set_mapview_schedule" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "adonthell_set_mapview_schedule" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_mapview_schedule(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_set_mapview_schedule(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_adonthell_set_mapview_schedule__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_adonthell, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { _v = (argv[2] != 0); if (_v) { return _wrap_adonthell_set_mapview_schedule__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'adonthell_set_mapview_schedule'.\n Possible C/C++ prototypes are:\n set_mapview_schedule(string,PyObject *)\n set_mapview_schedule(string)\n"); return NULL; } SWIGINTERN PyObject *_wrap_adonthell_mapview_start(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_mapview_start",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_mapview_start" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); (arg1)->mapview_start(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_adonthell_mapview_stop(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"adonthell_mapview_stop",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "adonthell_mapview_stop" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); (arg1)->mapview_stop(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_adonthell(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *arg1 = (adonthell *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_adonthell",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_adonthell, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_adonthell" "', argument " "1"" of type '" "adonthell *""'"); } arg1 = reinterpret_cast< adonthell * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *adonthell_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_adonthell, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_manager(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_manager",0,0)) SWIG_fail; result = (win_manager *)new win_manager(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_manager, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_manager(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_manager",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_manager" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_add",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_add" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_manager_add" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->add(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_remove(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_remove",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_remove" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_manager_remove" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->remove(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_update" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); (arg1)->update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_input_update" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); (arg1)->input_update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_draw" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); (arg1)->draw(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_set_focus(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_set_focus",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_set_focus" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_manager_set_focus" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->set_focus(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *arg1 = (win_manager *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_destroy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_manager, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_destroy" "', argument " "1"" of type '" "win_manager *""'"); } arg1 = reinterpret_cast< win_manager * >(argp1); (arg1)->destroy(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_get_active(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_manager *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_get_active",0,0)) SWIG_fail; result = (win_manager *)win_manager::get_active(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_manager, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_init",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_manager_init" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "win_manager_init" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } win_manager::init((std::string const &)*arg1); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_win_manager_cleanup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"win_manager_cleanup",0,0)) SWIG_fail; win_manager::cleanup(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_add_theme(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_add_theme",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "win_manager_add_theme" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } win_manager::add_theme(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_remove_theme(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; bool result; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_remove_theme",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "win_manager_remove_theme" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (bool)win_manager::remove_theme(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_get_theme(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; win_theme *result = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_get_theme",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "win_manager_get_theme" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (win_theme *)win_manager::get_theme(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_theme, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_add_font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_add_font",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "win_manager_add_font" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } win_manager::add_font(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_remove_font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; bool result; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_remove_font",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "win_manager_remove_font" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (bool)win_manager::remove_font(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_manager_get_font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; win_font *result = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_manager_get_font",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "win_manager_get_font" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (win_font *)win_manager::get_font(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_font, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_manager_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_manager, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; char *arg1 = (char *) 0 ; win_font *result = 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_font",1,1,&obj0)) SWIG_fail; res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_win_font" "', argument " "1"" of type '" "char *""'"); } arg1 = reinterpret_cast< char * >(buf1); result = (win_font *)new win_font(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_font, SWIG_POINTER_NEW | 0 ); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return resultobj; fail: if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return NULL; } SWIGINTERN PyObject *_wrap_delete_win_font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_font *arg1 = (win_font *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_font",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_font, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_font" "', argument " "1"" of type '" "win_font *""'"); } arg1 = reinterpret_cast< win_font * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_font_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_font *arg1 = (win_font *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_font_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_font, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_font_load" "', argument " "1"" of type '" "win_font *""'"); } arg1 = reinterpret_cast< win_font * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_font_load" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); (arg1)->load(arg2); resultobj = SWIG_Py_Void(); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_win_font_in_table(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_font *arg1 = (win_font *) 0 ; unsigned short arg2 ; bool result; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_font_in_table",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_font, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_font_in_table" "', argument " "1"" of type '" "win_font *""'"); } arg1 = reinterpret_cast< win_font * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_font_in_table" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); result = (bool)(arg1)->in_table(arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_font_height(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_font *arg1 = (win_font *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_font_height",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_font, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_font_height" "', argument " "1"" of type '" "win_font *""'"); } arg1 = reinterpret_cast< win_font * >(argp1); result = (unsigned short)(arg1)->height(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_font_length(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_font *arg1 = (win_font *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_font_length",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_font, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_font_length" "', argument " "1"" of type '" "win_font *""'"); } arg1 = reinterpret_cast< win_font * >(argp1); result = (unsigned short)(arg1)->length(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_font_cursor_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_font *arg1 = (win_font *) 0 ; image *arg2 = (image *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_font_cursor_set",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_font, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_font_cursor_set" "', argument " "1"" of type '" "win_font *""'"); } arg1 = reinterpret_cast< win_font * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_image, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_font_cursor_set" "', argument " "2"" of type '" "image *""'"); } arg2 = reinterpret_cast< image * >(argp2); if (arg1) (arg1)->cursor = arg2; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_font_cursor_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_font *arg1 = (win_font *) 0 ; image *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_font_cursor_get",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_font, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_font_cursor_get" "', argument " "1"" of type '" "win_font *""'"); } arg1 = reinterpret_cast< win_font * >(argp1); result = (image *) ((arg1)->cursor); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_image, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_font_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_font, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_event *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_event",0,0)) SWIG_fail; result = (win_event *)new win_event(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_event, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_event_set_return_code(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_event *arg1 = (win_event *) 0 ; int arg2 ; void *argp1 = 0 ; int res1 = 0 ; int val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_event_set_return_code",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_event_set_return_code" "', argument " "1"" of type '" "win_event *""'"); } arg1 = reinterpret_cast< win_event * >(argp1); ecode2 = SWIG_AsVal_int(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_event_set_return_code" "', argument " "2"" of type '" "int""'"); } arg2 = static_cast< int >(val2); (arg1)->set_return_code(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_event_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_event *arg1 = (win_event *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_event_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_event_update" "', argument " "1"" of type '" "win_event *""'"); } arg1 = reinterpret_cast< win_event * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_event_py_signal_connect__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_event *arg1 = (win_event *) 0 ; PyObject *arg2 = (PyObject *) 0 ; int arg3 ; PyObject *arg4 = (PyObject *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_event_py_signal_connect",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_event_py_signal_connect" "', argument " "1"" of type '" "win_event *""'"); } arg1 = reinterpret_cast< win_event * >(argp1); { if (!PyCallable_Check(obj1)) { PyErr_SetString (PyExc_TypeError, "Need a callable object!"); return NULL; } arg2 = obj1; } ecode3 = SWIG_AsVal_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_event_py_signal_connect" "', argument " "3"" of type '" "int""'"); } arg3 = static_cast< int >(val3); { arg4 = obj3; } (arg1)->py_signal_connect(arg2,arg3,arg4); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_event_py_signal_connect__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_event *arg1 = (win_event *) 0 ; PyObject *arg2 = (PyObject *) 0 ; int arg3 ; void *argp1 = 0 ; int res1 = 0 ; int val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_event_py_signal_connect",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_event, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_event_py_signal_connect" "', argument " "1"" of type '" "win_event *""'"); } arg1 = reinterpret_cast< win_event * >(argp1); { if (!PyCallable_Check(obj1)) { PyErr_SetString (PyExc_TypeError, "Need a callable object!"); return NULL; } arg2 = obj1; } ecode3 = SWIG_AsVal_int(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_event_py_signal_connect" "', argument " "3"" of type '" "int""'"); } arg3 = static_cast< int >(val3); (arg1)->py_signal_connect(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_event_py_signal_connect(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_event, 0); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { { int res = SWIG_AsVal_int(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_win_event_py_signal_connect__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_event, 0); _v = SWIG_CheckState(res); if (_v) { _v = (argv[1] != 0); if (_v) { { int res = SWIG_AsVal_int(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { _v = (argv[3] != 0); if (_v) { return _wrap_win_event_py_signal_connect__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'win_event_py_signal_connect'.\n Possible C/C++ prototypes are:\n py_signal_connect(PyObject *,int,PyObject *)\n py_signal_connect(PyObject *,int)\n"); return NULL; } SWIGINTERN PyObject *_wrap_delete_win_event(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_event *arg1 = (win_event *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_event",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_event, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_event" "', argument " "1"" of type '" "win_event *""'"); } arg1 = reinterpret_cast< win_event * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_event_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_event, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_border",0,0)) SWIG_fail; result = (win_border *)new win_border(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_border, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_border",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_load",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_load" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_border_load" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) { SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "win_border_load" "', argument " "3"" of type '" "char *""'"); } arg3 = reinterpret_cast< char * >(buf3); (arg1)->load(arg2,arg3); resultobj = SWIG_Py_Void(); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return NULL; } SWIGINTERN PyObject *_wrap_win_border_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_update" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); (arg1)->update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_destroy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_destroy" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); (arg1)->destroy(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; drawing_area *arg2 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_draw",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_draw" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_border_draw" "', argument " "2"" of type '" "drawing_area *""'"); } arg2 = reinterpret_cast< drawing_area * >(argp2); (arg1)->draw(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_set_visible_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_set_visible_border",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_set_visible_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_border_set_visible_border" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_visible_border(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_set_brightness_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_set_brightness_border",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_set_brightness_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_border_set_brightness_border" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness_border(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_set_border__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; win_theme *arg2 = 0 ; unsigned char arg3 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; unsigned char val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_set_border",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_set_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_win_theme, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_border_set_border" "', argument " "2"" of type '" "win_theme &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "win_border_set_border" "', argument " "2"" of type '" "win_theme &""'"); } arg2 = reinterpret_cast< win_theme * >(argp2); ecode3 = SWIG_AsVal_unsigned_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_border_set_border" "', argument " "3"" of type '" "unsigned char""'"); } arg3 = static_cast< unsigned char >(val3); (arg1)->set_border(*arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_set_border__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; win_theme *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_set_border",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_set_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_win_theme, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_border_set_border" "', argument " "2"" of type '" "win_theme &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "win_border_set_border" "', argument " "2"" of type '" "win_theme &""'"); } arg2 = reinterpret_cast< win_theme * >(argp2); (arg1)->set_border(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_set_border(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_border, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_win_theme, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_win_border_set_border__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_border, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_win_theme, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_win_border_set_border__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'win_border_set_border'.\n Possible C/C++ prototypes are:\n set_border(win_theme &,unsigned char)\n set_border(win_theme &)\n"); return NULL; } SWIGINTERN PyObject *_wrap_win_border_set_trans_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_set_trans_border",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_set_trans_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_border_set_trans_border" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans_border(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_length_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_length_border",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_length_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); result = (unsigned short)(arg1)->length_border(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_border_height_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_border *arg1 = (win_border *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_border_height_border",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_border_height_border" "', argument " "1"" of type '" "win_border *""'"); } arg1 = reinterpret_cast< win_border * >(argp1); result = (unsigned short)(arg1)->height_border(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_border_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_border, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_background",0,0)) SWIG_fail; result = (win_background *)new win_background(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_background, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_background",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_background" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_load" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_background_load" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); (arg1)->load(arg2); resultobj = SWIG_Py_Void(); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_win_background_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_update" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); (arg1)->update(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_destroy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_destroy" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); (arg1)->destroy(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; drawing_area *arg2 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_draw",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_draw" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_background_draw" "', argument " "2"" of type '" "drawing_area *""'"); } arg2 = reinterpret_cast< drawing_area * >(argp2); (arg1)->draw(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_draw" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); (arg1)->draw(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[3]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 1) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_background, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_win_background_draw__SWIG_1(self, args); } } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_background, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_win_background_draw__SWIG_0(self, args); } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'win_background_draw'.\n Possible C/C++ prototypes are:\n draw(drawing_area *)\n draw()\n"); return NULL; } SWIGINTERN PyObject *_wrap_win_background_set_visible_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_set_visible_background",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_set_visible_background" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_background_set_visible_background" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_visible_background(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_set_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; win_theme *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_set_background",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_set_background" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_win_theme, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_background_set_background" "', argument " "2"" of type '" "win_theme &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "win_background_set_background" "', argument " "2"" of type '" "win_theme &""'"); } arg2 = reinterpret_cast< win_theme * >(argp2); (arg1)->set_background(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_set_brightness_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_set_brightness_background",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_set_brightness_background" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_background_set_brightness_background" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness_background(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_background_set_trans_background(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_background *arg1 = (win_background *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_background_set_trans_background",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_background, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_background_set_trans_background" "', argument " "1"" of type '" "win_background *""'"); } arg1 = reinterpret_cast< win_background * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_background_set_trans_background" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans_background(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_background_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_background, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_base(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_base",0,0)) SWIG_fail; result = (win_base *)new win_base(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_base, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_x",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_x" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (short)((win_base const *)arg1)->x(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_y",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_y" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (short)((win_base const *)arg1)->y(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_pad_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; short *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_pad_x",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_pad_x" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); { short &_result_ref = (arg1)->pad_x(); result = (short *) &_result_ref; } resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_short, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_pad_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; short *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_pad_y",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_pad_y" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); { short &_result_ref = (arg1)->pad_y(); result = (short *) &_result_ref; } resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_short, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_real_x(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_real_x",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_real_x" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (short)((win_base const *)arg1)->real_x(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_real_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_real_y",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_real_y" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (short)((win_base const *)arg1)->real_y(); resultobj = SWIG_From_short(static_cast< short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_move(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_move",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_move" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_move" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_base_move" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); (arg1)->move(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_resize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_resize",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_resize" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_resize" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_base_resize" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_is_visible(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_is_visible",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_is_visible" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)((win_base const *)arg1)->is_visible(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_set_visible(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_set_visible",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_set_visible" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_set_visible" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_visible(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_is_activate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_is_activate",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_is_activate" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)((win_base const *)arg1)->is_activate(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_set_activate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_set_activate",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_set_activate" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_set_activate" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_activate(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_is_focus(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_is_focus",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_is_focus" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)((win_base const *)arg1)->is_focus(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_set_focus(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_set_focus",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_set_focus" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_set_focus" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_focus(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_is_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_is_trans",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_is_trans" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)((win_base const *)arg1)->is_trans(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_set_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_set_trans",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_set_trans" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_set_trans" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_is_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_is_brightness",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_is_brightness" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)((win_base const *)arg1)->is_brightness(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_set_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_set_brightness",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_set_brightness" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_set_brightness" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_set_align(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; unsigned char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_set_align",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_set_align" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_set_align" "', argument " "2"" of type '" "unsigned char""'"); } arg2 = static_cast< unsigned char >(val2); (arg1)->set_align(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_align(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; unsigned char result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_align",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_align" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (unsigned char)((win_base const *)arg1)->align(); resultobj = SWIG_From_unsigned_SS_char(static_cast< unsigned char >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_is_can_be_selected(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_is_can_be_selected",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_is_can_be_selected" "', argument " "1"" of type '" "win_base const *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)((win_base const *)arg1)->is_can_be_selected(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_set_can_be_selected(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_set_can_be_selected",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_set_can_be_selected" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_base_set_can_be_selected" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_can_be_selected(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_update" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_draw" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)(arg1)->draw(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_base_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_base_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_base_input_update" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_base(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_base *arg1 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_base",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_base, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_base" "', argument " "1"" of type '" "win_base *""'"); } arg1 = reinterpret_cast< win_base * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_base_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_base, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_container(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_container",0,0)) SWIG_fail; result = (win_container *)new win_container(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_container, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_move(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; short arg2 ; short arg3 ; void *argp1 = 0 ; int res1 = 0 ; short val2 ; int ecode2 = 0 ; short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_move",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_move" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_move" "', argument " "2"" of type '" "short""'"); } arg2 = static_cast< short >(val2); ecode3 = SWIG_AsVal_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_container_move" "', argument " "3"" of type '" "short""'"); } arg3 = static_cast< short >(val3); (arg1)->move(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_resize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_resize",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_resize" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_resize" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_container_resize" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_add",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_add" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_container_add" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->add(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_remove(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_remove",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_remove" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_container_remove" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->remove(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_remove_all(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_remove_all",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_remove_all" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); (arg1)->remove_all(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_destroy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_destroy" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); (arg1)->destroy(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_container(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_container",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_container" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_update" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_input_update" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_draw" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); result = (bool)(arg1)->draw(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_set_visible_all(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_set_visible_all",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_set_visible_all" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_set_visible_all" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_visible_all(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_set_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_set_brightness",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_set_brightness" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_set_brightness" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_set_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_set_trans",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_set_trans" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_set_trans" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_set_space_with_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_set_space_with_border",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_set_space_with_border" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_set_space_with_border" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_space_with_border(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_set_space_with_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_set_space_with_object",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_set_space_with_object" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_set_space_with_object" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_space_with_object(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_space_with_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_space_with_border",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_space_with_border" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); result = (unsigned short)(arg1)->space_with_border(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_space_with_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_space_with_object",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_space_with_object" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); result = (unsigned short)(arg1)->space_with_object(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_set_layout(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; unsigned char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_set_layout",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_set_layout" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_container_set_layout" "', argument " "2"" of type '" "unsigned char""'"); } arg2 = static_cast< unsigned char >(val2); (arg1)->set_layout(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_set_focus_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_set_focus_object",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_set_focus_object" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_container_set_focus_object" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->set_focus_object(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_container_focus_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_container *arg1 = (win_container *) 0 ; win_base *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_container_focus_object",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_container, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_container_focus_object" "', argument " "1"" of type '" "win_container *""'"); } arg1 = reinterpret_cast< win_container * >(argp1); result = (win_base *)(arg1)->focus_object(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_base, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_container_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_container, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_delete_win_image(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_image",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_image" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_image_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_image_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_image_draw" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); result = (bool)(arg1)->draw(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_image_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_image_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_image_update" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_image_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_image_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_image_input_update" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_image_set_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_image_set_brightness",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_image_set_brightness" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_image_set_brightness" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_image_set_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_image_set_trans",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_image_set_trans" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_image_set_trans" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_image_pack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_image_pack",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_image_pack" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); (arg1)->pack(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_image_set_auto_refresh(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *arg1 = (win_image *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_image_set_auto_refresh",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_image, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_image_set_auto_refresh" "', argument " "1"" of type '" "win_image *""'"); } arg1 = reinterpret_cast< win_image * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_image_set_auto_refresh" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_auto_refresh(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_win_image(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_image *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_image",0,0)) SWIG_fail; result = (win_image *)new win_image(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_image, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_image_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_image, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_label(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_label",0,0)) SWIG_fail; result = (label *)new label(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_label, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_text_string(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; string *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_text_string",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_text_string" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); { string const &_result_ref = (arg1)->text_string(); result = (string *) &_result_ref; } resultobj = SWIG_From_std_string(static_cast< std::string >(*result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_text_char(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_text_char",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_text_char" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); result = (char *)(arg1)->text_char(); resultobj = SWIG_FromCharPtr((const char *)result); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_set_text(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_set_text",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_set_text" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "label_set_text" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_text(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_add_text(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_add_text",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_add_text" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "label_add_text" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "label_add_text" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->add_text((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_label_set_font(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; win_font *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_set_font",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_set_font" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_win_font, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "label_set_font" "', argument " "2"" of type '" "win_font &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "label_set_font" "', argument " "2"" of type '" "win_font &""'"); } arg2 = reinterpret_cast< win_font * >(argp2); (arg1)->set_font(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_set_form(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; unsigned char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_set_form",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_set_form" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "label_set_form" "', argument " "2"" of type '" "unsigned char""'"); } arg2 = static_cast< unsigned char >(val2); (arg1)->set_form(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_set_cursor_visible(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_set_cursor_visible",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_set_cursor_visible" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "label_set_cursor_visible" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_cursor_visible(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_set_cursor_moveable(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_set_cursor_moveable",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_set_cursor_moveable" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "label_set_cursor_moveable" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_cursor_moveable(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_resize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_resize",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_resize" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "label_resize" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "label_resize" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_update" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_label_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_input_update" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_label(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label *arg1 = (label *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_label",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_label" "', argument " "1"" of type '" "label *""'"); } arg1 = reinterpret_cast< label * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *label_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_label, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_label(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_label",0,0)) SWIG_fail; result = (win_label *)new win_label(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_label, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_label(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_label",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_label" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_label_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_label_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_label_draw" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); result = (bool)(arg1)->draw(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_label_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_label_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_label_update" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_label_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_label_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_label_input_update" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_label_set_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_label_set_brightness",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_label_set_brightness" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_label_set_brightness" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_label_set_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_label_set_trans",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_label_set_trans" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_label_set_trans" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_label_pack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_label_pack",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_label_pack" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); (arg1)->pack(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_label_set_auto_refresh(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_label *arg1 = (win_label *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_label_set_auto_refresh",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_label, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_label_set_auto_refresh" "', argument " "1"" of type '" "win_label *""'"); } arg1 = reinterpret_cast< win_label * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_label_set_auto_refresh" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_auto_refresh(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_label_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_label, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_label_input_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label_input *arg1 = (label_input *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"label_input_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label_input, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "label_input_input_update" "', argument " "1"" of type '" "label_input *""'"); } arg1 = reinterpret_cast< label_input * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_new_label_input(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label_input *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_label_input",0,0)) SWIG_fail; result = (label_input *)new label_input(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_label_input, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_label_input(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; label_input *arg1 = (label_input *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_label_input",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_label_input, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_label_input" "', argument " "1"" of type '" "label_input *""'"); } arg1 = reinterpret_cast< label_input * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *label_input_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_label_input, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_write(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_write",0,0)) SWIG_fail; result = (win_write *)new win_write(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_write, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_write(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_write",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_write" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_write_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_write_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_write_draw" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); result = (bool)(arg1)->draw(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_write_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_write_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_write_update" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_write_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_write_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_write_input_update" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_write_set_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_write_set_brightness",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_write_set_brightness" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_write_set_brightness" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_write_set_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_write_set_trans",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_write_set_trans" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_write_set_trans" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_write_pack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_write_pack",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_write_pack" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); (arg1)->pack(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_write_set_auto_refresh(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_write *arg1 = (win_write *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_write_set_auto_refresh",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_write, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_write_set_auto_refresh" "', argument " "1"" of type '" "win_write *""'"); } arg1 = reinterpret_cast< win_write * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_write_set_auto_refresh" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_auto_refresh(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_write_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_write, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_mapview(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_mapview",0,0)) SWIG_fail; result = (win_mapview *)new win_mapview(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_mapview, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_mapview(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_mapview",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_mapview" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_mapview_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_mapview_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_mapview_draw" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); result = (bool)(arg1)->draw(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_mapview_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_mapview_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_mapview_update" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_mapview_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_mapview_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_mapview_input_update" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_mapview_set_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_mapview_set_brightness",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_mapview_set_brightness" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_mapview_set_brightness" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_mapview_set_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_mapview_set_trans",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_mapview_set_trans" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_mapview_set_trans" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_mapview_pack(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_mapview_pack",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_mapview_pack" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); (arg1)->pack(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_mapview_set_auto_refresh(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_mapview *arg1 = (win_mapview *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_mapview_set_auto_refresh",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_mapview, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_mapview_set_auto_refresh" "', argument " "1"" of type '" "win_mapview *""'"); } arg1 = reinterpret_cast< win_mapview * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_mapview_set_auto_refresh" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_auto_refresh(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_mapview_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_mapview, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_scrollbar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; char *arg1 = (char *) 0 ; win_scrollbar *result = 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_scrollbar",1,1,&obj0)) SWIG_fail; res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_win_scrollbar" "', argument " "1"" of type '" "char *""'"); } arg1 = reinterpret_cast< char * >(buf1); result = (win_scrollbar *)new win_scrollbar(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_scrollbar, SWIG_POINTER_NEW | 0 ); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return resultobj; fail: if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return NULL; } SWIGINTERN PyObject *_wrap_delete_win_scrollbar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_scrollbar",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_scrollbar" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_update_bar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_update_bar",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_update_bar" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); (arg1)->update_bar(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; char *arg2 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_load",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_load" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_scrollbar_load" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); (arg1)->load(arg2); resultobj = SWIG_Py_Void(); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_update_back(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_update_back",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_update_back" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); (arg1)->update_back(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_destroy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_destroy" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); (arg1)->destroy(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_set_scrollbar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; win_theme *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_set_scrollbar",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_set_scrollbar" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_win_theme, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_scrollbar_set_scrollbar" "', argument " "2"" of type '" "win_theme &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "win_scrollbar_set_scrollbar" "', argument " "2"" of type '" "win_theme &""'"); } arg2 = reinterpret_cast< win_theme * >(argp2); (arg1)->set_scrollbar(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_set_visible_scrollbar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_set_visible_scrollbar",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_set_visible_scrollbar" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scrollbar_set_visible_scrollbar" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_visible_scrollbar(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_set_trans_scrollbar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_set_trans_scrollbar",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_set_trans_scrollbar" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scrollbar_set_trans_scrollbar" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans_scrollbar(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_set_brightness_scrollbar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_set_brightness_scrollbar",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_set_brightness_scrollbar" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scrollbar_set_brightness_scrollbar" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness_scrollbar(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_draw__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; drawing_area *arg2 = (drawing_area *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_draw",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_draw" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_drawing_area, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_scrollbar_draw" "', argument " "2"" of type '" "drawing_area *""'"); } arg2 = reinterpret_cast< drawing_area * >(argp2); (arg1)->draw(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_draw__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_draw" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); (arg1)->draw(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_draw(PyObject *self, PyObject *args) { int argc; PyObject *argv[3]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 2); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 1) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_scrollbar, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_win_scrollbar_draw__SWIG_1(self, args); } } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_win_scrollbar, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_drawing_area, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_win_scrollbar_draw__SWIG_0(self, args); } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'win_scrollbar_draw'.\n Possible C/C++ prototypes are:\n draw(drawing_area *)\n draw()\n"); return NULL; } SWIGINTERN PyObject *_wrap_win_scrollbar_height_bar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scrollbar *arg1 = (win_scrollbar *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scrollbar_height_bar",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scrollbar, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scrollbar_height_bar" "', argument " "1"" of type '" "win_scrollbar *""'"); } arg1 = reinterpret_cast< win_scrollbar * >(argp1); result = (unsigned short)(arg1)->height_bar(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_scrollbar_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_scrollbar, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_scroll(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_scroll",0,0)) SWIG_fail; result = (win_scroll *)new win_scroll(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_scroll, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_amplitude(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_amplitude",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_amplitude" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); result = (unsigned short)(arg1)->amplitude(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_add",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_add" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_scroll_add" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->add(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_remove(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_remove",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_remove" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_scroll_remove" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->remove(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_remove_all(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_remove_all",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_remove_all" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); (arg1)->remove_all(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_resize(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; unsigned short arg2 ; unsigned short arg3 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; unsigned short val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_resize",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_resize" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scroll_resize" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); ecode3 = SWIG_AsVal_unsigned_SS_short(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "win_scroll_resize" "', argument " "3"" of type '" "unsigned short""'"); } arg3 = static_cast< unsigned short >(val3); (arg1)->resize(arg2,arg3); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_destroy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_destroy" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); (arg1)->destroy(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_draw(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_draw",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_draw" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); result = (bool)(arg1)->draw(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_update" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_input_update" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_set_space_between_border(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_set_space_between_border",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_set_space_between_border" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scroll_set_space_between_border" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_space_between_border(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_set_space_between_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_set_space_between_object",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_set_space_between_object" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scroll_set_space_between_object" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_space_between_object(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_cursor_y(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_cursor_y",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_cursor_y" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); result = (unsigned short)(arg1)->cursor_y(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_set_auto_scrollbar(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_set_auto_scrollbar",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_set_auto_scrollbar" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scroll_set_auto_scrollbar" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_auto_scrollbar(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_set_auto_refresh(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_set_auto_refresh",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_set_auto_refresh" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scroll_set_auto_refresh" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_auto_refresh(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_set_brightness(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_set_brightness",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_set_brightness" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scroll_set_brightness" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_brightness(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_scroll_set_trans(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_scroll_set_trans",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_scroll_set_trans" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_scroll_set_trans" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_trans(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_scroll(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_scroll *arg1 = (win_scroll *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_scroll",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_scroll, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_scroll" "', argument " "1"" of type '" "win_scroll *""'"); } arg1 = reinterpret_cast< win_scroll * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_scroll_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_scroll, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_select(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_select",0,0)) SWIG_fail; result = (win_select *)new win_select(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_select, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_input_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_input_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_input_update" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); result = (bool)(arg1)->input_update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_add(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_add",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_add" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_select_add" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->add(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_remove(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_remove",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_remove" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_select_remove" "', argument " "2"" of type '" "win_base *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->remove(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_remove_all(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_remove_all",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_remove_all" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); (arg1)->remove_all(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_set_mode(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; unsigned char arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned char val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_set_mode",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_set_mode" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_char(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_select_set_mode" "', argument " "2"" of type '" "unsigned char""'"); } arg2 = static_cast< unsigned char >(val2); (arg1)->set_mode(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_set_border_select(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; win_border *arg2 = (win_border *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_set_border_select",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_set_border_select" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_border, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_select_set_border_select" "', argument " "2"" of type '" "win_border *""'"); } arg2 = reinterpret_cast< win_border * >(argp2); (arg1)->set_border_select(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_set_circle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; bool arg2 ; void *argp1 = 0 ; int res1 = 0 ; bool val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_set_circle",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_set_circle" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); ecode2 = SWIG_AsVal_bool(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_select_set_circle" "', argument " "2"" of type '" "bool""'"); } arg2 = static_cast< bool >(val2); (arg1)->set_circle(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_is_circle(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_is_circle",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_is_circle" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); result = (bool)(arg1)->is_circle(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_set_default(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_set_default",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_set_default" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); (arg1)->set_default(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_set_default_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; win_base *arg2 = (win_base *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_set_default_object",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_set_default_object" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_win_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "win_select_set_default_object" "', argument " "2"" of type '" "win_base const *""'"); } arg2 = reinterpret_cast< win_base * >(argp2); (arg1)->set_default_object((win_base const *)arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_set_default_position(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; unsigned short arg2 ; void *argp1 = 0 ; int res1 = 0 ; unsigned short val2 ; int ecode2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_set_default_position",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_set_default_position" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); ecode2 = SWIG_AsVal_unsigned_SS_short(obj1, &val2); if (!SWIG_IsOK(ecode2)) { SWIG_exception_fail(SWIG_ArgError(ecode2), "in method '" "win_select_set_default_position" "', argument " "2"" of type '" "unsigned short""'"); } arg2 = static_cast< unsigned short >(val2); (arg1)->set_default_position(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_get_selected_object(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; win_base *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_get_selected_object",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_get_selected_object" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); result = (win_base *)(arg1)->get_selected_object(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_base, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_select_get_selected_position(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_select_get_selected_position",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_select_get_selected_position" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); result = (unsigned short)(arg1)->get_selected_position(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_win_select(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_select *arg1 = (win_select *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_select",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_select, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_select" "', argument " "1"" of type '" "win_select *""'"); } arg1 = reinterpret_cast< win_select * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_select_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_select, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_win_theme(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; char *arg1 = (char *) 0 ; win_theme *result = 0 ; int res1 ; char *buf1 = 0 ; int alloc1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_win_theme",1,1,&obj0)) SWIG_fail; res1 = SWIG_AsCharPtrAndSize(obj0, &buf1, NULL, &alloc1); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_win_theme" "', argument " "1"" of type '" "char *""'"); } arg1 = reinterpret_cast< char * >(buf1); result = (win_theme *)new win_theme(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_win_theme, SWIG_POINTER_NEW | 0 ); if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return resultobj; fail: if (alloc1 == SWIG_NEWOBJ) delete[] buf1; return NULL; } SWIGINTERN PyObject *_wrap_delete_win_theme(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_theme *arg1 = (win_theme *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_win_theme",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_theme, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_win_theme" "', argument " "1"" of type '" "win_theme *""'"); } arg1 = reinterpret_cast< win_theme * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_win_theme_destroy(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; win_theme *arg1 = (win_theme *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"win_theme_destroy",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_win_theme, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "win_theme_destroy" "', argument " "1"" of type '" "win_theme *""'"); } arg1 = reinterpret_cast< win_theme * >(argp1); (arg1)->destroy(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *win_theme_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_win_theme, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_text_bubble__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; string *arg2 = 0 ; string *arg3 = 0 ; unsigned short arg4 ; text_bubble *result = 0 ; int res1 = SWIG_OLDOBJ ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; unsigned short val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_text_bubble",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_text_bubble" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_text_bubble" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_text_bubble" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_text_bubble" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res3)) { SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_text_bubble" "', argument " "3"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_text_bubble" "', argument " "3"" of type '" "string const &""'"); } arg3 = ptr; } ecode4 = SWIG_AsVal_unsigned_SS_short(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "new_text_bubble" "', argument " "4"" of type '" "unsigned short""'"); } arg4 = static_cast< unsigned short >(val4); result = (text_bubble *)new text_bubble((string const &)*arg1,(string const &)*arg2,(string const &)*arg3,arg4); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_text_bubble, SWIG_POINTER_NEW | 0 ); if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; return NULL; } SWIGINTERN PyObject *_wrap_new_text_bubble__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; string *arg2 = 0 ; string *arg3 = 0 ; text_bubble *result = 0 ; int res1 = SWIG_OLDOBJ ; int res2 = SWIG_OLDOBJ ; int res3 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_text_bubble",3,3,&obj0,&obj1,&obj2)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_text_bubble" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_text_bubble" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_text_bubble" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_text_bubble" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } { std::string *ptr = (std::string *)0; res3 = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res3)) { SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "new_text_bubble" "', argument " "3"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "new_text_bubble" "', argument " "3"" of type '" "string const &""'"); } arg3 = ptr; } result = (text_bubble *)new text_bubble((string const &)*arg1,(string const &)*arg2,(string const &)*arg3); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_text_bubble, SWIG_POINTER_NEW | 0 ); if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; if (SWIG_IsNewObj(res2)) delete arg2; if (SWIG_IsNewObj(res3)) delete arg3; return NULL; } SWIGINTERN PyObject *_wrap_new_text_bubble(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { return _wrap_new_text_bubble__SWIG_1(self, args); } } } } if (argc == 4) { int _v; int res = SWIG_AsPtr_std_string(argv[0], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[1], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsPtr_std_string(argv[2], (std::string**)(0)); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_short(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_new_text_bubble__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_text_bubble'.\n Possible C/C++ prototypes are:\n text_bubble(string const &,string const &,string const &,unsigned short)\n text_bubble(string const &,string const &,string const &)\n"); return NULL; } SWIGINTERN PyObject *_wrap_delete_text_bubble(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; text_bubble *arg1 = (text_bubble *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_text_bubble",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_text_bubble, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_text_bubble" "', argument " "1"" of type '" "text_bubble *""'"); } arg1 = reinterpret_cast< text_bubble * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_text_bubble_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; text_bubble *arg1 = (text_bubble *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"text_bubble_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_text_bubble, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "text_bubble_update" "', argument " "1"" of type '" "text_bubble *""'"); } arg1 = reinterpret_cast< text_bubble * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_text_bubble_remaining(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; text_bubble *arg1 = (text_bubble *) 0 ; unsigned short result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"text_bubble_remaining",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_text_bubble, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "text_bubble_remaining" "', argument " "1"" of type '" "text_bubble *""'"); } arg1 = reinterpret_cast< text_bubble * >(argp1); result = (unsigned short)(arg1)->remaining(); resultobj = SWIG_From_unsigned_SS_short(static_cast< unsigned short >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *text_bubble_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_text_bubble, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_dialog_screen__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; char *arg2 = (char *) 0 ; unsigned char arg3 ; dialog_screen *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; unsigned char val3 ; int ecode3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_dialog_screen",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_dialog_screen" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_dialog_screen" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); ecode3 = SWIG_AsVal_unsigned_SS_char(obj2, &val3); if (!SWIG_IsOK(ecode3)) { SWIG_exception_fail(SWIG_ArgError(ecode3), "in method '" "new_dialog_screen" "', argument " "3"" of type '" "unsigned char""'"); } arg3 = static_cast< unsigned char >(val3); result = (dialog_screen *)new dialog_screen(arg1,arg2,arg3); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_dialog_screen, SWIG_POINTER_NEW | 0 ); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_new_dialog_screen__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character_base *arg1 = (character_base *) 0 ; char *arg2 = (char *) 0 ; dialog_screen *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 ; char *buf2 = 0 ; int alloc2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_dialog_screen",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "new_dialog_screen" "', argument " "1"" of type '" "character_base *""'"); } arg1 = reinterpret_cast< character_base * >(argp1); res2 = SWIG_AsCharPtrAndSize(obj1, &buf2, NULL, &alloc2); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "new_dialog_screen" "', argument " "2"" of type '" "char *""'"); } arg2 = reinterpret_cast< char * >(buf2); result = (dialog_screen *)new dialog_screen(arg1,arg2); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_dialog_screen, SWIG_POINTER_NEW | 0 ); if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return resultobj; fail: if (alloc2 == SWIG_NEWOBJ) delete[] buf2; return NULL; } SWIGINTERN PyObject *_wrap_new_dialog_screen(PyObject *self, PyObject *args) { int argc; PyObject *argv[4]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 3); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 2) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_character_base, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_new_dialog_screen__SWIG_1(self, args); } } } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_character_base, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsCharPtrAndSize(argv[1], 0, NULL, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[2], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_new_dialog_screen__SWIG_0(self, args); } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'new_dialog_screen'.\n Possible C/C++ prototypes are:\n dialog_screen(character_base *,char *,unsigned char)\n dialog_screen(character_base *,char *)\n"); return NULL; } SWIGINTERN PyObject *_wrap_delete_dialog_screen(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_dialog_screen",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_dialog_screen" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_init__SWIG_0(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; character_base *arg2 = (character_base *) 0 ; char *arg3 = (char *) 0 ; unsigned char arg4 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; unsigned char val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"dialog_screen_init",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dialog_screen_init" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "dialog_screen_init" "', argument " "2"" of type '" "character_base *""'"); } arg2 = reinterpret_cast< character_base * >(argp2); res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) { SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "dialog_screen_init" "', argument " "3"" of type '" "char *""'"); } arg3 = reinterpret_cast< char * >(buf3); ecode4 = SWIG_AsVal_unsigned_SS_char(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "dialog_screen_init" "', argument " "4"" of type '" "unsigned char""'"); } arg4 = static_cast< unsigned char >(val4); (arg1)->init(arg2,arg3,arg4); resultobj = SWIG_Py_Void(); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return resultobj; fail: if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_init__SWIG_1(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; character_base *arg2 = (character_base *) 0 ; char *arg3 = (char *) 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; int res3 ; char *buf3 = 0 ; int alloc3 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"dialog_screen_init",3,3,&obj0,&obj1,&obj2)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dialog_screen_init" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2,SWIGTYPE_p_character_base, 0 | 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "dialog_screen_init" "', argument " "2"" of type '" "character_base *""'"); } arg2 = reinterpret_cast< character_base * >(argp2); res3 = SWIG_AsCharPtrAndSize(obj2, &buf3, NULL, &alloc3); if (!SWIG_IsOK(res3)) { SWIG_exception_fail(SWIG_ArgError(res3), "in method '" "dialog_screen_init" "', argument " "3"" of type '" "char *""'"); } arg3 = reinterpret_cast< char * >(buf3); (arg1)->init(arg2,arg3); resultobj = SWIG_Py_Void(); if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return resultobj; fail: if (alloc3 == SWIG_NEWOBJ) delete[] buf3; return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_init(PyObject *self, PyObject *args) { int argc; PyObject *argv[5]; int ii; if (!PyTuple_Check(args)) SWIG_fail; argc = PyObject_Length(args); for (ii = 0; (ii < argc) && (ii < 4); ii++) { argv[ii] = PyTuple_GET_ITEM(args,ii); } if (argc == 3) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_dialog_screen, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_character_base, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0); _v = SWIG_CheckState(res); if (_v) { return _wrap_dialog_screen_init__SWIG_1(self, args); } } } } if (argc == 4) { int _v; void *vptr = 0; int res = SWIG_ConvertPtr(argv[0], &vptr, SWIGTYPE_p_dialog_screen, 0); _v = SWIG_CheckState(res); if (_v) { void *vptr = 0; int res = SWIG_ConvertPtr(argv[1], &vptr, SWIGTYPE_p_character_base, 0); _v = SWIG_CheckState(res); if (_v) { int res = SWIG_AsCharPtrAndSize(argv[2], 0, NULL, 0); _v = SWIG_CheckState(res); if (_v) { { int res = SWIG_AsVal_unsigned_SS_char(argv[3], NULL); _v = SWIG_CheckState(res); } if (_v) { return _wrap_dialog_screen_init__SWIG_0(self, args); } } } } } fail: SWIG_SetErrorMsg(PyExc_NotImplementedError,"Wrong number of arguments for overloaded function 'dialog_screen_init'.\n Possible C/C++ prototypes are:\n init(character_base *,char *,unsigned char)\n init(character_base *,char *)\n"); return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_set_portrait(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"dialog_screen_set_portrait",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dialog_screen_set_portrait" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "dialog_screen_set_portrait" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "dialog_screen_set_portrait" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->set_portrait((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_set_name(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"dialog_screen_set_name",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dialog_screen_set_name" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "dialog_screen_set_name" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "dialog_screen_set_name" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->set_name((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_set_npc(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; string *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; int res2 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"dialog_screen_set_npc",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dialog_screen_set_npc" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); { std::string *ptr = (std::string *)0; res2 = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "dialog_screen_set_npc" "', argument " "2"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "dialog_screen_set_npc" "', argument " "2"" of type '" "string const &""'"); } arg2 = ptr; } (arg1)->set_npc((string const &)*arg2); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res2)) delete arg2; return resultobj; fail: if (SWIG_IsNewObj(res2)) delete arg2; return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"dialog_screen_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dialog_screen_update" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_dialog_screen_run(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; dialog_screen *arg1 = (dialog_screen *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"dialog_screen_run",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_dialog_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "dialog_screen_run" "', argument " "1"" of type '" "dialog_screen *""'"); } arg1 = reinterpret_cast< dialog_screen * >(argp1); (arg1)->run(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *dialog_screen_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_dialog_screen, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_data_screen(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; int arg1 ; data_screen *result = 0 ; int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_data_screen",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "new_data_screen" "', argument " "1"" of type '" "int""'"); } arg1 = static_cast< int >(val1); result = (data_screen *)new data_screen(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_data_screen, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_data_screen(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; data_screen *arg1 = (data_screen *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_data_screen",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_data_screen, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_data_screen" "', argument " "1"" of type '" "data_screen *""'"); } arg1 = reinterpret_cast< data_screen * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_data_screen_update(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; data_screen *arg1 = (data_screen *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"data_screen_update",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_data_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "data_screen_update" "', argument " "1"" of type '" "data_screen *""'"); } arg1 = reinterpret_cast< data_screen * >(argp1); result = (bool)(arg1)->update(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_data_screen_get_result(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; data_screen *arg1 = (data_screen *) 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"data_screen_get_result",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_data_screen, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "data_screen_get_result" "', argument " "1"" of type '" "data_screen *""'"); } arg1 = reinterpret_cast< data_screen * >(argp1); result = (bool)(arg1)->get_result(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *data_screen_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_data_screen, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_new_gamedata(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_gamedata",0,0)) SWIG_fail; result = (gamedata *)new gamedata(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gamedata, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_gamedata(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_gamedata",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_gamedata" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_put(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; ogzstream *arg2 = 0 ; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_put",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_put" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_ogzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gamedata_put" "', argument " "2"" of type '" "ogzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "gamedata_put" "', argument " "2"" of type '" "ogzstream &""'"); } arg2 = reinterpret_cast< ogzstream * >(argp2); (arg1)->put(*arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_get(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; igzstream *arg2 = 0 ; bool result; void *argp1 = 0 ; int res1 = 0 ; void *argp2 = 0 ; int res2 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_get",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_get" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); res2 = SWIG_ConvertPtr(obj1, &argp2, SWIGTYPE_p_igzstream, 0 ); if (!SWIG_IsOK(res2)) { SWIG_exception_fail(SWIG_ArgError(res2), "in method '" "gamedata_get" "', argument " "2"" of type '" "igzstream &""'"); } if (!argp2) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "gamedata_get" "', argument " "2"" of type '" "igzstream &""'"); } arg2 = reinterpret_cast< igzstream * >(argp2); result = (bool)(arg1)->get(*arg2); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_directory(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_directory",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_directory" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); result = (char *)(arg1)->directory(); resultobj = SWIG_FromCharPtr((const char *)result); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_description",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_description" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); result = (char *)(arg1)->description(); resultobj = SWIG_FromCharPtr((const char *)result); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_location(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_location",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_location" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); result = (char *)(arg1)->location(); resultobj = SWIG_FromCharPtr((const char *)result); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_gametime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; char *result = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_gametime",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_gametime" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); result = (char *)(arg1)->gametime(); resultobj = SWIG_FromCharPtr((const char *)result); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_timestamp(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; unsigned int result; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_timestamp",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_timestamp" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); result = (unsigned int)(arg1)->timestamp(); resultobj = SWIG_From_unsigned_SS_int(static_cast< unsigned int >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_set_description(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_set_description",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_set_description" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_set_description" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_description(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_set_directory(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_set_directory",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_set_directory" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_set_directory" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_directory(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_set_gametime(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *arg1 = (gamedata *) 0 ; string arg2 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_set_gametime",2,2,&obj0,&obj1)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_gamedata, 0 | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "gamedata_set_gametime" "', argument " "1"" of type '" "gamedata *""'"); } arg1 = reinterpret_cast< gamedata * >(argp1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_set_gametime" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } (arg1)->set_gametime(arg2); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; string arg2 ; string arg3 ; unsigned char arg4 ; bool result; unsigned char val4 ; int ecode4 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; PyObject * obj3 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_init",4,4,&obj0,&obj1,&obj2,&obj3)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_init" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_init" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_init" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } ecode4 = SWIG_AsVal_unsigned_SS_char(obj3, &val4); if (!SWIG_IsOK(ecode4)) { SWIG_exception_fail(SWIG_ArgError(ecode4), "in method '" "gamedata_init" "', argument " "4"" of type '" "unsigned char""'"); } arg4 = static_cast< unsigned char >(val4); result = (bool)gamedata::init(arg1,arg2,arg3,arg4); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_cleanup(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"gamedata_cleanup",0,0)) SWIG_fail; gamedata::cleanup(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_load_characters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int arg1 ; bool result; unsigned int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_load_characters",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gamedata_load_characters" "', argument " "1"" of type '" "unsigned int""'"); } arg1 = static_cast< unsigned int >(val1); result = (bool)gamedata::load_characters(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_load_quests(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int arg1 ; bool result; unsigned int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_load_quests",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gamedata_load_quests" "', argument " "1"" of type '" "unsigned int""'"); } arg1 = static_cast< unsigned int >(val1); result = (bool)gamedata::load_quests(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_load_mapengine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int arg1 ; bool result; unsigned int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_load_mapengine",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gamedata_load_mapengine" "', argument " "1"" of type '" "unsigned int""'"); } arg1 = static_cast< unsigned int >(val1); result = (bool)gamedata::load_mapengine(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_load_audio(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int arg1 ; bool result; unsigned int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_load_audio",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gamedata_load_audio" "', argument " "1"" of type '" "unsigned int""'"); } arg1 = static_cast< unsigned int >(val1); result = (bool)gamedata::load_audio(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_load(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int arg1 ; bool result; unsigned int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_load",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gamedata_load" "', argument " "1"" of type '" "unsigned int""'"); } arg1 = static_cast< unsigned int >(val1); result = (bool)gamedata::load(arg1); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_load_newest(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; bool result; if(!PyArg_UnpackTuple(args,(char *)"gamedata_load_newest",0,0)) SWIG_fail; result = (bool)gamedata::load_newest(); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int arg1 ; string arg2 ; string arg3 ; bool result; unsigned int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; PyObject * obj1 = 0 ; PyObject * obj2 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_save",3,3,&obj0,&obj1,&obj2)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gamedata_save" "', argument " "1"" of type '" "unsigned int""'"); } arg1 = static_cast< unsigned int >(val1); { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj1, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_save" "', argument " "2"" of type '" "string""'"); } arg2 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj2, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_save" "', argument " "3"" of type '" "string""'"); } arg3 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (bool)gamedata::save(arg1,arg2,arg3); resultobj = SWIG_From_bool(static_cast< bool >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_unload(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; if(!PyArg_UnpackTuple(args,(char *)"gamedata_unload",0,0)) SWIG_fail; gamedata::unload(); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_next_save(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; gamedata *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_next_save",0,0)) SWIG_fail; result = (gamedata *)gamedata::next_save(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gamedata, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_user_data_dir(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string result; if(!PyArg_UnpackTuple(args,(char *)"gamedata_user_data_dir",0,0)) SWIG_fail; result = gamedata::user_data_dir(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_game_data_dir(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string result; if(!PyArg_UnpackTuple(args,(char *)"gamedata_game_data_dir",0,0)) SWIG_fail; result = gamedata::game_data_dir(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_get_saved_game(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; unsigned int arg1 ; gamedata *result = 0 ; unsigned int val1 ; int ecode1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_get_saved_game",1,1,&obj0)) SWIG_fail; ecode1 = SWIG_AsVal_unsigned_SS_int(obj0, &val1); if (!SWIG_IsOK(ecode1)) { SWIG_exception_fail(SWIG_ArgError(ecode1), "in method '" "gamedata_get_saved_game" "', argument " "1"" of type '" "unsigned int""'"); } arg1 = static_cast< unsigned int >(val1); result = (gamedata *)gamedata::get_saved_game(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_gamedata, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_quests(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; SwigValueWrapper > result; if(!PyArg_UnpackTuple(args,(char *)"gamedata_quests",0,0)) SWIG_fail; result = gamedata::quests(); resultobj = SWIG_NewPointerObj((new dictionary(static_cast< const dictionary& >(result))), SWIGTYPE_p_dictionaryTquest_p_t, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_player(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; character *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_player",0,0)) SWIG_fail; result = (character *)gamedata::player(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_character, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_get_character(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; character *result = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_get_character",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_get_character" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (character *)gamedata::get_character(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_character, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_get_quest(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; quest *result = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_get_quest",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "gamedata_get_quest" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } result = (quest *)gamedata::get_quest(arg1); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_quest, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_characters(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; SwigValueWrapper > result; if(!PyArg_UnpackTuple(args,(char *)"gamedata_characters",0,0)) SWIG_fail; result = gamedata::characters(); resultobj = SWIG_NewPointerObj((new dictionary(static_cast< const dictionary& >(result))), SWIGTYPE_p_dictionaryTcharacter_p_t, SWIG_POINTER_OWN | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_gamedata_engine(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; adonthell *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"gamedata_engine",0,0)) SWIG_fail; result = (adonthell *)gamedata::engine(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_adonthell, 0 | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *gamedata_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_gamedata, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN int game_User_data_dir_set(PyObject *_val) { { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(_val, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in variable '""game::User_data_dir""' of type '""string""'"); } game::User_data_dir = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } return 0; fail: return 1; } SWIGINTERN PyObject *game_User_data_dir_get(void) { PyObject *pyobj = 0; pyobj = SWIG_From_std_string(static_cast< std::string >(game::User_data_dir)); return pyobj; } SWIGINTERN PyObject *_wrap_game_User_data_dir_get(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(args)) { return game_User_data_dir_get(); } SWIGINTERN PyObject *_wrap_game_User_data_dir_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *value; int res; if (!PyArg_ParseTuple(args,(char *)"O:set",&value)) return NULL; res = game_User_data_dir_set(value); return !res ? SWIG_Py_Void() : NULL; } SWIGINTERN int game_Global_data_dir_set(PyObject *_val) { { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(_val, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in variable '""game::Global_data_dir""' of type '""string""'"); } game::Global_data_dir = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } return 0; fail: return 1; } SWIGINTERN PyObject *game_Global_data_dir_get(void) { PyObject *pyobj = 0; pyobj = SWIG_From_std_string(static_cast< std::string >(game::Global_data_dir)); return pyobj; } SWIGINTERN PyObject *_wrap_game_Global_data_dir_get(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(args)) { return game_Global_data_dir_get(); } SWIGINTERN PyObject *_wrap_game_Global_data_dir_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *value; int res; if (!PyArg_ParseTuple(args,(char *)"O:set",&value)) return NULL; res = game_Global_data_dir_set(value); return !res ? SWIG_Py_Void() : NULL; } SWIGINTERN int game_Game_data_dir_set(PyObject *_val) { { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(_val, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in variable '""game::Game_data_dir""' of type '""string""'"); } game::Game_data_dir = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } return 0; fail: return 1; } SWIGINTERN PyObject *game_Game_data_dir_get(void) { PyObject *pyobj = 0; pyobj = SWIG_From_std_string(static_cast< std::string >(game::Game_data_dir)); return pyobj; } SWIGINTERN PyObject *_wrap_game_Game_data_dir_get(PyObject *SWIGUNUSEDPARM(self), PyObject *SWIGUNUSEDPARM(args)) { return game_Game_data_dir_get(); } SWIGINTERN PyObject *_wrap_game_Game_data_dir_set(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *value; int res; if (!PyArg_ParseTuple(args,(char *)"O:set",&value)) return NULL; res = game_Game_data_dir_set(value); return !res ? SWIG_Py_Void() : NULL; } SWIGINTERN PyObject *_wrap_game_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"game_init",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "game_init" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } game::init(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_game_set_game_data_dir(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string arg1 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"game_set_game_data_dir",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; int res = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res) || !ptr) { SWIG_exception_fail(SWIG_ArgError((ptr ? res : SWIG_TypeError)), "in method '" "game_set_game_data_dir" "', argument " "1"" of type '" "string""'"); } arg1 = *ptr; if (SWIG_IsNewObj(res)) delete ptr; } game::set_game_data_dir(arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_game_user_data_dir(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string result; if(!PyArg_UnpackTuple(args,(char *)"game_user_data_dir",0,0)) SWIG_fail; result = game::user_data_dir(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_game_global_data_dir(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string result; if(!PyArg_UnpackTuple(args,(char *)"game_global_data_dir",0,0)) SWIG_fail; result = game::global_data_dir(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_game_game_data_dir(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string result; if(!PyArg_UnpackTuple(args,(char *)"game_game_data_dir",0,0)) SWIG_fail; result = game::game_data_dir(); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_game_find_file(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; string result; int res1 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"game_find_file",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "game_find_file" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "game_find_file" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } result = game::find_file((std::string const &)*arg1); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_game_find_directory(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; string result; int res1 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"game_find_directory",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "game_find_directory" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "game_find_directory" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } result = game::find_directory((std::string const &)*arg1); resultobj = SWIG_From_std_string(static_cast< std::string >(result)); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_new_game(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; game *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_game",0,0)) SWIG_fail; result = (game *)new game(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_game, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_game(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; game *arg1 = (game *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_game",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_game, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_game" "', argument " "1"" of type '" "game *""'"); } arg1 = reinterpret_cast< game * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *game_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_game, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } SWIGINTERN PyObject *_wrap_nls_init(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; config *arg1 = 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"nls_init",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1, SWIGTYPE_p_config, 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "nls_init" "', argument " "1"" of type '" "config &""'"); } if (!argp1) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "nls_init" "', argument " "1"" of type '" "config &""'"); } arg1 = reinterpret_cast< config * >(argp1); nls::init(*arg1); resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_nls_set_language(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; int res1 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"nls_set_language",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "nls_set_language" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "nls_set_language" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } nls::set_language((std::string const &)*arg1); resultobj = SWIG_Py_Void(); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_nls_translate(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; string *arg1 = 0 ; char *result = 0 ; int res1 = SWIG_OLDOBJ ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"nls_translate",1,1,&obj0)) SWIG_fail; { std::string *ptr = (std::string *)0; res1 = SWIG_AsPtr_std_string(obj0, &ptr); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "nls_translate" "', argument " "1"" of type '" "string const &""'"); } if (!ptr) { SWIG_exception_fail(SWIG_ValueError, "invalid null reference " "in method '" "nls_translate" "', argument " "1"" of type '" "string const &""'"); } arg1 = ptr; } result = (char *)nls::translate((std::string const &)*arg1); resultobj = SWIG_FromCharPtr((const char *)result); if (SWIG_IsNewObj(res1)) delete arg1; return resultobj; fail: if (SWIG_IsNewObj(res1)) delete arg1; return NULL; } SWIGINTERN PyObject *_wrap_new_nls(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; nls *result = 0 ; if(!PyArg_UnpackTuple(args,(char *)"new_nls",0,0)) SWIG_fail; result = (nls *)new nls(); resultobj = SWIG_NewPointerObj(SWIG_as_voidptr(result), SWIGTYPE_p_nls, SWIG_POINTER_NEW | 0 ); return resultobj; fail: return NULL; } SWIGINTERN PyObject *_wrap_delete_nls(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *resultobj = 0; nls *arg1 = (nls *) 0 ; void *argp1 = 0 ; int res1 = 0 ; PyObject * obj0 = 0 ; if(!PyArg_UnpackTuple(args,(char *)"delete_nls",1,1,&obj0)) SWIG_fail; res1 = SWIG_ConvertPtr(obj0, &argp1,SWIGTYPE_p_nls, SWIG_POINTER_DISOWN | 0 ); if (!SWIG_IsOK(res1)) { SWIG_exception_fail(SWIG_ArgError(res1), "in method '" "delete_nls" "', argument " "1"" of type '" "nls *""'"); } arg1 = reinterpret_cast< nls * >(argp1); delete arg1; resultobj = SWIG_Py_Void(); return resultobj; fail: return NULL; } SWIGINTERN PyObject *nls_swigregister(PyObject *SWIGUNUSEDPARM(self), PyObject *args) { PyObject *obj; if (!PyArg_UnpackTuple(args,(char*)"swigregister", 1, 1,&obj)) return NULL; SWIG_TypeNewClientData(SWIGTYPE_p_nls, SWIG_NewClientData(obj)); return SWIG_Py_Void(); } static PyMethodDef SwigMethods[] = { { (char *)"new_gz_file", _wrap_new_gz_file, METH_VARARGS, NULL}, { (char *)"delete_gz_file", _wrap_delete_gz_file, METH_VARARGS, NULL}, { (char *)"gz_file_open", _wrap_gz_file_open, METH_VARARGS, NULL}, { (char *)"gz_file_close", _wrap_gz_file_close, METH_VARARGS, NULL}, { (char *)"gz_file_is_open", _wrap_gz_file_is_open, METH_VARARGS, NULL}, { (char *)"gz_file_eof", _wrap_gz_file_eof, METH_VARARGS, NULL}, { (char *)"gz_file_swigregister", gz_file_swigregister, METH_VARARGS, NULL}, { (char *)"new_igzstream", _wrap_new_igzstream, METH_VARARGS, NULL}, { (char *)"delete_igzstream", _wrap_delete_igzstream, METH_VARARGS, NULL}, { (char *)"igzstream_open", _wrap_igzstream_open, METH_VARARGS, NULL}, { (char *)"igzstream_get_block", _wrap_igzstream_get_block, METH_VARARGS, NULL}, { (char *)"igzstream_get_bool", _wrap_igzstream_get_bool, METH_VARARGS, NULL}, { (char *)"igzstream_get_uint8", _wrap_igzstream_get_uint8, METH_VARARGS, NULL}, { (char *)"igzstream_get_sint8", _wrap_igzstream_get_sint8, METH_VARARGS, NULL}, { (char *)"igzstream_get_uint16", _wrap_igzstream_get_uint16, METH_VARARGS, NULL}, { (char *)"igzstream_get_sint16", _wrap_igzstream_get_sint16, METH_VARARGS, NULL}, { (char *)"igzstream_get_uint32", _wrap_igzstream_get_uint32, METH_VARARGS, NULL}, { (char *)"igzstream_get_sint32", _wrap_igzstream_get_sint32, METH_VARARGS, NULL}, { (char *)"igzstream_get_string", _wrap_igzstream_get_string, METH_VARARGS, NULL}, { (char *)"igzstream_get_float", _wrap_igzstream_get_float, METH_VARARGS, NULL}, { (char *)"igzstream_swigregister", igzstream_swigregister, METH_VARARGS, NULL}, { (char *)"new_ogzstream", _wrap_new_ogzstream, METH_VARARGS, NULL}, { (char *)"delete_ogzstream", _wrap_delete_ogzstream, METH_VARARGS, NULL}, { (char *)"ogzstream_open", _wrap_ogzstream_open, METH_VARARGS, NULL}, { (char *)"ogzstream_put_block", _wrap_ogzstream_put_block, METH_VARARGS, NULL}, { (char *)"ogzstream_put_bool", _wrap_ogzstream_put_bool, METH_VARARGS, NULL}, { (char *)"ogzstream_put_uint8", _wrap_ogzstream_put_uint8, METH_VARARGS, NULL}, { (char *)"ogzstream_put_sint8", _wrap_ogzstream_put_sint8, METH_VARARGS, NULL}, { (char *)"ogzstream_put_uint16", _wrap_ogzstream_put_uint16, METH_VARARGS, NULL}, { (char *)"ogzstream_put_sint16", _wrap_ogzstream_put_sint16, METH_VARARGS, NULL}, { (char *)"ogzstream_put_uint32", _wrap_ogzstream_put_uint32, METH_VARARGS, NULL}, { (char *)"ogzstream_put_sint32", _wrap_ogzstream_put_sint32, METH_VARARGS, NULL}, { (char *)"ogzstream_put_string", _wrap_ogzstream_put_string, METH_VARARGS, NULL}, { (char *)"ogzstream_put_float", _wrap_ogzstream_put_float, METH_VARARGS, NULL}, { (char *)"ogzstream_swigregister", ogzstream_swigregister, METH_VARARGS, NULL}, { (char *)"fileops_put_version", _wrap_fileops_put_version, METH_VARARGS, NULL}, { (char *)"fileops_get_version", _wrap_fileops_get_version, METH_VARARGS, NULL}, { (char *)"new_fileops", _wrap_new_fileops, METH_VARARGS, NULL}, { (char *)"delete_fileops", _wrap_delete_fileops, METH_VARARGS, NULL}, { (char *)"fileops_swigregister", fileops_swigregister, METH_VARARGS, NULL}, { (char *)"delete_event", _wrap_delete_event, METH_VARARGS, NULL}, { (char *)"event_clear", _wrap_event_clear, METH_VARARGS, NULL}, { (char *)"event_type", _wrap_event_type, METH_VARARGS, NULL}, { (char *)"event_id", _wrap_event_id, METH_VARARGS, NULL}, { (char *)"event_set_id", _wrap_event_set_id, METH_VARARGS, NULL}, { (char *)"event_registered", _wrap_event_registered, METH_VARARGS, NULL}, { (char *)"event_repeat", _wrap_event_repeat, METH_VARARGS, NULL}, { (char *)"event_set_repeat", _wrap_event_set_repeat, METH_VARARGS, NULL}, { (char *)"event_execute", _wrap_event_execute, METH_VARARGS, NULL}, { (char *)"event_equals", _wrap_event_equals, METH_VARARGS, NULL}, { (char *)"event_set_script", _wrap_event_set_script, METH_VARARGS, NULL}, { (char *)"event_set_callback", _wrap_event_set_callback, METH_VARARGS, NULL}, { (char *)"event_pause", _wrap_event_pause, METH_VARARGS, NULL}, { (char *)"event_resume", _wrap_event_resume, METH_VARARGS, NULL}, { (char *)"event_is_paused", _wrap_event_is_paused, METH_VARARGS, NULL}, { (char *)"event_put_state", _wrap_event_put_state, METH_VARARGS, NULL}, { (char *)"event_get_state", _wrap_event_get_state, METH_VARARGS, NULL}, { (char *)"event_swigregister", event_swigregister, METH_VARARGS, NULL}, { (char *)"new_event_list", _wrap_new_event_list, METH_VARARGS, NULL}, { (char *)"delete_event_list", _wrap_delete_event_list, METH_VARARGS, NULL}, { (char *)"event_list_clear", _wrap_event_list_clear, METH_VARARGS, NULL}, { (char *)"event_list_add_event", _wrap_event_list_add_event, METH_VARARGS, NULL}, { (char *)"event_list_remove_event", _wrap_event_list_remove_event, METH_VARARGS, NULL}, { (char *)"event_list_get_event", _wrap_event_list_get_event, METH_VARARGS, NULL}, { (char *)"event_list_pause", _wrap_event_list_pause, METH_VARARGS, NULL}, { (char *)"event_list_resume", _wrap_event_list_resume, METH_VARARGS, NULL}, { (char *)"event_list_is_paused", _wrap_event_list_is_paused, METH_VARARGS, NULL}, { (char *)"event_list_put_state", _wrap_event_list_put_state, METH_VARARGS, NULL}, { (char *)"event_list_get_state", _wrap_event_list_get_state, METH_VARARGS, NULL}, { (char *)"event_list_swigregister", event_list_swigregister, METH_VARARGS, NULL}, { (char *)"new_time_event", _wrap_new_time_event, METH_VARARGS, NULL}, { (char *)"time_event_set_repeat", _wrap_time_event_set_repeat, METH_VARARGS, NULL}, { (char *)"time_event_equals", _wrap_time_event_equals, METH_VARARGS, NULL}, { (char *)"time_event_execute", _wrap_time_event_execute, METH_VARARGS, NULL}, { (char *)"time_event_put_state", _wrap_time_event_put_state, METH_VARARGS, NULL}, { (char *)"time_event_get_state", _wrap_time_event_get_state, METH_VARARGS, NULL}, { (char *)"time_event_pause", _wrap_time_event_pause, METH_VARARGS, NULL}, { (char *)"time_event_resume", _wrap_time_event_resume, METH_VARARGS, NULL}, { (char *)"time_event_time", _wrap_time_event_time, METH_VARARGS, NULL}, { (char *)"delete_time_event", _wrap_delete_time_event, METH_VARARGS, NULL}, { (char *)"time_event_swigregister", time_event_swigregister, METH_VARARGS, NULL}, { (char *)"new_map_event", _wrap_new_map_event, METH_VARARGS, NULL}, { (char *)"map_event_put_state", _wrap_map_event_put_state, METH_VARARGS, NULL}, { (char *)"map_event_get_state", _wrap_map_event_get_state, METH_VARARGS, NULL}, { (char *)"map_event_submap_set", _wrap_map_event_submap_set, METH_VARARGS, NULL}, { (char *)"map_event_submap_get", _wrap_map_event_submap_get, METH_VARARGS, NULL}, { (char *)"map_event_x_set", _wrap_map_event_x_set, METH_VARARGS, NULL}, { (char *)"map_event_x_get", _wrap_map_event_x_get, METH_VARARGS, NULL}, { (char *)"map_event_y_set", _wrap_map_event_y_set, METH_VARARGS, NULL}, { (char *)"map_event_y_get", _wrap_map_event_y_get, METH_VARARGS, NULL}, { (char *)"map_event_dir_set", _wrap_map_event_dir_set, METH_VARARGS, NULL}, { (char *)"map_event_dir_get", _wrap_map_event_dir_get, METH_VARARGS, NULL}, { (char *)"map_event_map_set", _wrap_map_event_map_set, METH_VARARGS, NULL}, { (char *)"map_event_map_get", _wrap_map_event_map_get, METH_VARARGS, NULL}, { (char *)"map_event_c_set", _wrap_map_event_c_set, METH_VARARGS, NULL}, { (char *)"map_event_c_get", _wrap_map_event_c_get, METH_VARARGS, NULL}, { (char *)"map_event_equals", _wrap_map_event_equals, METH_VARARGS, NULL}, { (char *)"map_event_execute", _wrap_map_event_execute, METH_VARARGS, NULL}, { (char *)"delete_map_event", _wrap_delete_map_event, METH_VARARGS, NULL}, { (char *)"map_event_swigregister", map_event_swigregister, METH_VARARGS, NULL}, { (char *)"new_enter_event", _wrap_new_enter_event, METH_VARARGS, NULL}, { (char *)"delete_enter_event", _wrap_delete_enter_event, METH_VARARGS, NULL}, { (char *)"enter_event_swigregister", enter_event_swigregister, METH_VARARGS, NULL}, { (char *)"new_leave_event", _wrap_new_leave_event, METH_VARARGS, NULL}, { (char *)"delete_leave_event", _wrap_delete_leave_event, METH_VARARGS, NULL}, { (char *)"leave_event_swigregister", leave_event_swigregister, METH_VARARGS, NULL}, { (char *)"new_action_event", _wrap_new_action_event, METH_VARARGS, NULL}, { (char *)"delete_action_event", _wrap_delete_action_event, METH_VARARGS, NULL}, { (char *)"action_event_swigregister", action_event_swigregister, METH_VARARGS, NULL}, { (char *)"event_handler_init", _wrap_event_handler_init, METH_VARARGS, NULL}, { (char *)"event_handler_cleanup", _wrap_event_handler_cleanup, METH_VARARGS, NULL}, { (char *)"event_handler_remove_event", _wrap_event_handler_remove_event, METH_VARARGS, NULL}, { (char *)"event_handler_raise_event", _wrap_event_handler_raise_event, METH_VARARGS, NULL}, { (char *)"new_event_handler", _wrap_new_event_handler, METH_VARARGS, NULL}, { (char *)"delete_event_handler", _wrap_delete_event_handler, METH_VARARGS, NULL}, { (char *)"event_handler_swigregister", event_handler_swigregister, METH_VARARGS, NULL}, { (char *)"new_storage", _wrap_new_storage, METH_VARARGS, NULL}, { (char *)"delete_storage", _wrap_delete_storage, METH_VARARGS, NULL}, { (char *)"storage_set_val", _wrap_storage_set_val, METH_VARARGS, NULL}, { (char *)"storage_get_val", _wrap_storage_get_val, METH_VARARGS, NULL}, { (char *)"storage_next", _wrap_storage_next, METH_VARARGS, NULL}, { (char *)"storage_swigregister", storage_swigregister, METH_VARARGS, NULL}, { (char *)"new_objects", _wrap_new_objects, METH_VARARGS, NULL}, { (char *)"objects_set_val", _wrap_objects_set_val, METH_VARARGS, NULL}, { (char *)"objects_get_val", _wrap_objects_get_val, METH_VARARGS, NULL}, { (char *)"objects_erase", _wrap_objects_erase, METH_VARARGS, NULL}, { (char *)"objects_next", _wrap_objects_next, METH_VARARGS, NULL}, { (char *)"delete_objects", _wrap_delete_objects, METH_VARARGS, NULL}, { (char *)"objects_swigregister", objects_swigregister, METH_VARARGS, NULL}, { (char *)"gametime_init", _wrap_gametime_init, METH_VARARGS, NULL}, { (char *)"gametime_minute", _wrap_gametime_minute, METH_VARARGS, NULL}, { (char *)"gametime_start_action", _wrap_gametime_start_action, METH_VARARGS, NULL}, { (char *)"gametime_stop_action", _wrap_gametime_stop_action, METH_VARARGS, NULL}, { (char *)"gametime_frames_to_skip", _wrap_gametime_frames_to_skip, METH_VARARGS, NULL}, { (char *)"gametime_update", _wrap_gametime_update, METH_VARARGS, NULL}, { (char *)"new_gametime", _wrap_new_gametime, METH_VARARGS, NULL}, { (char *)"delete_gametime", _wrap_delete_gametime, METH_VARARGS, NULL}, { (char *)"gametime_swigregister", gametime_swigregister, METH_VARARGS, NULL}, { (char *)"gamedate_update", _wrap_gamedate_update, METH_VARARGS, NULL}, { (char *)"gamedate_time", _wrap_gamedate_time, METH_VARARGS, NULL}, { (char *)"gamedate_weekday", _wrap_gamedate_weekday, METH_VARARGS, NULL}, { (char *)"gamedate_day", _wrap_gamedate_day, METH_VARARGS, NULL}, { (char *)"gamedate_hour", _wrap_gamedate_hour, METH_VARARGS, NULL}, { (char *)"gamedate_minute", _wrap_gamedate_minute, METH_VARARGS, NULL}, { (char *)"gamedate_parse_time", _wrap_gamedate_parse_time, METH_VARARGS, NULL}, { (char *)"gamedate_get_state", _wrap_gamedate_get_state, METH_VARARGS, NULL}, { (char *)"gamedate_put_state", _wrap_gamedate_put_state, METH_VARARGS, NULL}, { (char *)"new_gamedate", _wrap_new_gamedate, METH_VARARGS, NULL}, { (char *)"delete_gamedate", _wrap_delete_gamedate, METH_VARARGS, NULL}, { (char *)"gamedate_swigregister", gamedate_swigregister, METH_VARARGS, NULL}, { (char *)"input_init", _wrap_input_init, METH_VARARGS, NULL}, { (char *)"input_shutdown", _wrap_input_shutdown, METH_VARARGS, NULL}, { (char *)"input_update", _wrap_input_update, METH_VARARGS, NULL}, { (char *)"input_is_pushed", _wrap_input_is_pushed, METH_VARARGS, NULL}, { (char *)"input_has_been_pushed", _wrap_input_has_been_pushed, METH_VARARGS, NULL}, { (char *)"input_get_next_key", _wrap_input_get_next_key, METH_VARARGS, NULL}, { (char *)"input_get_next_unicode", _wrap_input_get_next_unicode, METH_VARARGS, NULL}, { (char *)"input_set_key_repeat", _wrap_input_set_key_repeat, METH_VARARGS, NULL}, { (char *)"input_clear_keys_queue", _wrap_input_clear_keys_queue, METH_VARARGS, NULL}, { (char *)"new_input", _wrap_new_input, METH_VARARGS, NULL}, { (char *)"delete_input", _wrap_delete_input, METH_VARARGS, NULL}, { (char *)"input_swigregister", input_swigregister, METH_VARARGS, NULL}, { (char *)"audio_init", _wrap_audio_init, METH_VARARGS, NULL}, { (char *)"audio_cleanup", _wrap_audio_cleanup, METH_VARARGS, NULL}, { (char *)"audio_put_state", _wrap_audio_put_state, METH_VARARGS, NULL}, { (char *)"audio_get_state", _wrap_audio_get_state, METH_VARARGS, NULL}, { (char *)"audio_load_background", _wrap_audio_load_background, METH_VARARGS, NULL}, { (char *)"audio_unload_background", _wrap_audio_unload_background, METH_VARARGS, NULL}, { (char *)"audio_set_background_volume", _wrap_audio_set_background_volume, METH_VARARGS, NULL}, { (char *)"audio_pause_music", _wrap_audio_pause_music, METH_VARARGS, NULL}, { (char *)"audio_unpause_music", _wrap_audio_unpause_music, METH_VARARGS, NULL}, { (char *)"audio_load_wave", _wrap_audio_load_wave, METH_VARARGS, NULL}, { (char *)"audio_unload_wave", _wrap_audio_unload_wave, METH_VARARGS, NULL}, { (char *)"audio_play_wave", _wrap_audio_play_wave, METH_VARARGS, NULL}, { (char *)"audio_play_background", _wrap_audio_play_background, METH_VARARGS, NULL}, { (char *)"audio_fade_in_background", _wrap_audio_fade_in_background, METH_VARARGS, NULL}, { (char *)"audio_fade_out_background", _wrap_audio_fade_out_background, METH_VARARGS, NULL}, { (char *)"audio_change_background", _wrap_audio_change_background, METH_VARARGS, NULL}, { (char *)"audio_is_initialized", _wrap_audio_is_initialized, METH_VARARGS, NULL}, { (char *)"audio_is_schedule_activated", _wrap_audio_is_schedule_activated, METH_VARARGS, NULL}, { (char *)"audio_is_background_finished", _wrap_audio_is_background_finished, METH_VARARGS, NULL}, { (char *)"audio_set_schedule_active", _wrap_audio_set_schedule_active, METH_VARARGS, NULL}, { (char *)"audio_set_schedule", _wrap_audio_set_schedule, METH_VARARGS, NULL}, { (char *)"audio_run_schedule", _wrap_audio_run_schedule, METH_VARARGS, NULL}, { (char *)"new_audio", _wrap_new_audio, METH_VARARGS, NULL}, { (char *)"delete_audio", _wrap_delete_audio, METH_VARARGS, NULL}, { (char *)"audio_swigregister", audio_swigregister, METH_VARARGS, NULL}, { (char *)"new_character_base", _wrap_new_character_base, METH_VARARGS, NULL}, { (char *)"delete_character_base", _wrap_delete_character_base, METH_VARARGS, NULL}, { (char *)"character_base_get_name", _wrap_character_base_get_name, METH_VARARGS, NULL}, { (char *)"character_base_get_id", _wrap_character_base_get_id, METH_VARARGS, NULL}, { (char *)"character_base_set_name", _wrap_character_base_set_name, METH_VARARGS, NULL}, { (char *)"character_base_get_color", _wrap_character_base_get_color, METH_VARARGS, NULL}, { (char *)"character_base_set_color", _wrap_character_base_set_color, METH_VARARGS, NULL}, { (char *)"character_base_get_portrait", _wrap_character_base_get_portrait, METH_VARARGS, NULL}, { (char *)"character_base_set_portrait", _wrap_character_base_set_portrait, METH_VARARGS, NULL}, { (char *)"character_base_get_dialogue", _wrap_character_base_get_dialogue, METH_VARARGS, NULL}, { (char *)"character_base_set_dialogue", _wrap_character_base_set_dialogue, METH_VARARGS, NULL}, { (char *)"character_base_get_state", _wrap_character_base_get_state, METH_VARARGS, NULL}, { (char *)"character_base_put_state", _wrap_character_base_put_state, METH_VARARGS, NULL}, { (char *)"character_base_swigregister", character_base_swigregister, METH_VARARGS, NULL}, { (char *)"new_py_object", _wrap_new_py_object, METH_VARARGS, NULL}, { (char *)"delete_py_object", _wrap_delete_py_object, METH_VARARGS, NULL}, { (char *)"py_object_clear", _wrap_py_object_clear, METH_VARARGS, NULL}, { (char *)"py_object_create_instance", _wrap_py_object_create_instance, METH_VARARGS, NULL}, { (char *)"py_object_reload_instance", _wrap_py_object_reload_instance, METH_VARARGS, NULL}, { (char *)"py_object_call_method_ret", _wrap_py_object_call_method_ret, METH_VARARGS, NULL}, { (char *)"py_object_call_method", _wrap_py_object_call_method, METH_VARARGS, NULL}, { (char *)"py_object_run", _wrap_py_object_run, METH_VARARGS, NULL}, { (char *)"py_object_has_attribute", _wrap_py_object_has_attribute, METH_VARARGS, NULL}, { (char *)"py_object_get_attribute", _wrap_py_object_get_attribute, METH_VARARGS, NULL}, { (char *)"py_object_get_attribute_int", _wrap_py_object_get_attribute_int, METH_VARARGS, NULL}, { (char *)"py_object_get_attribute_string", _wrap_py_object_get_attribute_string, METH_VARARGS, NULL}, { (char *)"py_object_set_attribute", _wrap_py_object_set_attribute, METH_VARARGS, NULL}, { (char *)"py_object_set_attribute_int", _wrap_py_object_set_attribute_int, METH_VARARGS, NULL}, { (char *)"py_object_set_attribute_string", _wrap_py_object_set_attribute_string, METH_VARARGS, NULL}, { (char *)"py_object_get_instance", _wrap_py_object_get_instance, METH_VARARGS, NULL}, { (char *)"py_object_class_name", _wrap_py_object_class_name, METH_VARARGS, NULL}, { (char *)"py_object_file_name", _wrap_py_object_file_name, METH_VARARGS, NULL}, { (char *)"py_object_swigregister", py_object_swigregister, METH_VARARGS, NULL}, { (char *)"new_drawing_area", _wrap_new_drawing_area, METH_VARARGS, NULL}, { (char *)"drawing_area_x", _wrap_drawing_area_x, METH_VARARGS, NULL}, { (char *)"drawing_area_y", _wrap_drawing_area_y, METH_VARARGS, NULL}, { (char *)"drawing_area_length", _wrap_drawing_area_length, METH_VARARGS, NULL}, { (char *)"drawing_area_height", _wrap_drawing_area_height, METH_VARARGS, NULL}, { (char *)"drawing_area_move", _wrap_drawing_area_move, METH_VARARGS, NULL}, { (char *)"drawing_area_resize", _wrap_drawing_area_resize, METH_VARARGS, NULL}, { (char *)"drawing_area_assign_drawing_area", _wrap_drawing_area_assign_drawing_area, METH_VARARGS, NULL}, { (char *)"drawing_area_assigned_drawing_area", _wrap_drawing_area_assigned_drawing_area, METH_VARARGS, NULL}, { (char *)"drawing_area_detach_drawing_area", _wrap_drawing_area_detach_drawing_area, METH_VARARGS, NULL}, { (char *)"drawing_area_setup_rects", _wrap_drawing_area_setup_rects, METH_VARARGS, NULL}, { (char *)"delete_drawing_area", _wrap_delete_drawing_area, METH_VARARGS, NULL}, { (char *)"drawing_area_swigregister", drawing_area_swigregister, METH_VARARGS, NULL}, { (char *)"new_quest", _wrap_new_quest, METH_VARARGS, NULL}, { (char *)"delete_quest", _wrap_delete_quest, METH_VARARGS, NULL}, { (char *)"quest_swigregister", quest_swigregister, METH_VARARGS, NULL}, { (char *)"delete_drawable", _wrap_delete_drawable, METH_VARARGS, NULL}, { (char *)"drawable_length", _wrap_drawable_length, METH_VARARGS, NULL}, { (char *)"drawable_height", _wrap_drawable_height, METH_VARARGS, NULL}, { (char *)"drawable_update", _wrap_drawable_update, METH_VARARGS, NULL}, { (char *)"drawable_input_update", _wrap_drawable_input_update, METH_VARARGS, NULL}, { (char *)"drawable_draw", _wrap_drawable_draw, METH_VARARGS, NULL}, { (char *)"drawable_swigregister", drawable_swigregister, METH_VARARGS, NULL}, { (char *)"new_surface", _wrap_new_surface, METH_VARARGS, NULL}, { (char *)"delete_surface", _wrap_delete_surface, METH_VARARGS, NULL}, { (char *)"surface_is_masked", _wrap_surface_is_masked, METH_VARARGS, NULL}, { (char *)"surface_set_mask", _wrap_surface_set_mask, METH_VARARGS, NULL}, { (char *)"surface_alpha", _wrap_surface_alpha, METH_VARARGS, NULL}, { (char *)"surface_set_alpha", _wrap_surface_set_alpha, METH_VARARGS, NULL}, { (char *)"surface_is_dbl_mode", _wrap_surface_is_dbl_mode, METH_VARARGS, NULL}, { (char *)"surface_set_dbl_mode", _wrap_surface_set_dbl_mode, METH_VARARGS, NULL}, { (char *)"surface_draw", _wrap_surface_draw, METH_VARARGS, NULL}, { (char *)"surface_draw_part", _wrap_surface_draw_part, METH_VARARGS, NULL}, { (char *)"surface_fillrect", _wrap_surface_fillrect, METH_VARARGS, NULL}, { (char *)"surface_fillrect_rgb", _wrap_surface_fillrect_rgb, METH_VARARGS, NULL}, { (char *)"surface_lock", _wrap_surface_lock, METH_VARARGS, NULL}, { (char *)"surface_unlock", _wrap_surface_unlock, METH_VARARGS, NULL}, { (char *)"surface_put_pix", _wrap_surface_put_pix, METH_VARARGS, NULL}, { (char *)"surface_put_pix_rgb", _wrap_surface_put_pix_rgb, METH_VARARGS, NULL}, { (char *)"surface_get_pix", _wrap_surface_get_pix, METH_VARARGS, NULL}, { (char *)"surface_get_pix_rgb", _wrap_surface_get_pix_rgb, METH_VARARGS, NULL}, { (char *)"surface_copy", _wrap_surface_copy, METH_VARARGS, NULL}, { (char *)"surface_vis_set", _wrap_surface_vis_set, METH_VARARGS, NULL}, { (char *)"surface_vis_get", _wrap_surface_vis_get, METH_VARARGS, NULL}, { (char *)"surface_swigregister", surface_swigregister, METH_VARARGS, NULL}, { (char *)"screen_display_get", _wrap_screen_display_get, METH_VARARGS, NULL}, { (char *)"screen_display_set", _wrap_screen_display_set, METH_VARARGS, NULL}, { (char *)"screen_set_video_mode", _wrap_screen_set_video_mode, METH_VARARGS, NULL}, { (char *)"screen_length", _wrap_screen_length, METH_VARARGS, NULL}, { (char *)"screen_height", _wrap_screen_height, METH_VARARGS, NULL}, { (char *)"screen_bytes_per_pixel", _wrap_screen_bytes_per_pixel, METH_VARARGS, NULL}, { (char *)"screen_trans_col", _wrap_screen_trans_col, METH_VARARGS, NULL}, { (char *)"screen_clear", _wrap_screen_clear, METH_VARARGS, NULL}, { (char *)"screen_show", _wrap_screen_show, METH_VARARGS, NULL}, { (char *)"screen_is_fullscreen", _wrap_screen_is_fullscreen, METH_VARARGS, NULL}, { (char *)"screen_set_fullscreen", _wrap_screen_set_fullscreen, METH_VARARGS, NULL}, { (char *)"screen_info", _wrap_screen_info, METH_VARARGS, NULL}, { (char *)"screen_dbl_mode", _wrap_screen_dbl_mode, METH_VARARGS, NULL}, { (char *)"screen_transition", _wrap_screen_transition, METH_VARARGS, NULL}, { (char *)"new_screen", _wrap_new_screen, METH_VARARGS, NULL}, { (char *)"delete_screen", _wrap_delete_screen, METH_VARARGS, NULL}, { (char *)"screen_swigregister", screen_swigregister, METH_VARARGS, NULL}, { (char *)"new_image", _wrap_new_image, METH_VARARGS, NULL}, { (char *)"delete_image", _wrap_delete_image, METH_VARARGS, NULL}, { (char *)"image_resize", _wrap_image_resize, METH_VARARGS, NULL}, { (char *)"image_clear", _wrap_image_clear, METH_VARARGS, NULL}, { (char *)"image_get", _wrap_image_get, METH_VARARGS, NULL}, { (char *)"image_load", _wrap_image_load, METH_VARARGS, NULL}, { (char *)"image_get_raw", _wrap_image_get_raw, METH_VARARGS, NULL}, { (char *)"image_load_raw", _wrap_image_load_raw, METH_VARARGS, NULL}, { (char *)"image_get_pnm", _wrap_image_get_pnm, METH_VARARGS, NULL}, { (char *)"image_load_pnm", _wrap_image_load_pnm, METH_VARARGS, NULL}, { (char *)"image_put", _wrap_image_put, METH_VARARGS, NULL}, { (char *)"image_save", _wrap_image_save, METH_VARARGS, NULL}, { (char *)"image_put_raw", _wrap_image_put_raw, METH_VARARGS, NULL}, { (char *)"image_save_raw", _wrap_image_save_raw, METH_VARARGS, NULL}, { (char *)"image_put_pnm", _wrap_image_put_pnm, METH_VARARGS, NULL}, { (char *)"image_save_pnm", _wrap_image_save_pnm, METH_VARARGS, NULL}, { (char *)"image_zoom", _wrap_image_zoom, METH_VARARGS, NULL}, { (char *)"image_zoom_to", _wrap_image_zoom_to, METH_VARARGS, NULL}, { (char *)"image_tile", _wrap_image_tile, METH_VARARGS, NULL}, { (char *)"image_tile_to", _wrap_image_tile_to, METH_VARARGS, NULL}, { (char *)"image_brightness", _wrap_image_brightness, METH_VARARGS, NULL}, { (char *)"image_copy", _wrap_image_copy, METH_VARARGS, NULL}, { (char *)"image_swigregister", image_swigregister, METH_VARARGS, NULL}, { (char *)"new_animationframe", _wrap_new_animationframe, METH_VARARGS, NULL}, { (char *)"delete_animationframe", _wrap_delete_animationframe, METH_VARARGS, NULL}, { (char *)"animationframe_clear", _wrap_animationframe_clear, METH_VARARGS, NULL}, { (char *)"animationframe_is_masked", _wrap_animationframe_is_masked, METH_VARARGS, NULL}, { (char *)"animationframe_set_mask", _wrap_animationframe_set_mask, METH_VARARGS, NULL}, { (char *)"animationframe_alpha", _wrap_animationframe_alpha, METH_VARARGS, NULL}, { (char *)"animationframe_set_alpha", _wrap_animationframe_set_alpha, METH_VARARGS, NULL}, { (char *)"animationframe_image_nbr", _wrap_animationframe_image_nbr, METH_VARARGS, NULL}, { (char *)"animationframe_set_image_nbr", _wrap_animationframe_set_image_nbr, METH_VARARGS, NULL}, { (char *)"animationframe_delay", _wrap_animationframe_delay, METH_VARARGS, NULL}, { (char *)"animationframe_set_delay", _wrap_animationframe_set_delay, METH_VARARGS, NULL}, { (char *)"animationframe_nextframe", _wrap_animationframe_nextframe, METH_VARARGS, NULL}, { (char *)"animationframe_set_nextframe", _wrap_animationframe_set_nextframe, METH_VARARGS, NULL}, { (char *)"animationframe_offx", _wrap_animationframe_offx, METH_VARARGS, NULL}, { (char *)"animationframe_offy", _wrap_animationframe_offy, METH_VARARGS, NULL}, { (char *)"animationframe_set_offset", _wrap_animationframe_set_offset, METH_VARARGS, NULL}, { (char *)"animationframe_get", _wrap_animationframe_get, METH_VARARGS, NULL}, { (char *)"animationframe_put", _wrap_animationframe_put, METH_VARARGS, NULL}, { (char *)"animationframe_swigregister", animationframe_swigregister, METH_VARARGS, NULL}, { (char *)"new_animation", _wrap_new_animation, METH_VARARGS, NULL}, { (char *)"delete_animation", _wrap_delete_animation, METH_VARARGS, NULL}, { (char *)"animation_clear", _wrap_animation_clear, METH_VARARGS, NULL}, { (char *)"animation_play", _wrap_animation_play, METH_VARARGS, NULL}, { (char *)"animation_stop", _wrap_animation_stop, METH_VARARGS, NULL}, { (char *)"animation_playstate", _wrap_animation_playstate, METH_VARARGS, NULL}, { (char *)"animation_rewind", _wrap_animation_rewind, METH_VARARGS, NULL}, { (char *)"animation_next_frame", _wrap_animation_next_frame, METH_VARARGS, NULL}, { (char *)"animation_update", _wrap_animation_update, METH_VARARGS, NULL}, { (char *)"animation_draw", _wrap_animation_draw, METH_VARARGS, NULL}, { (char *)"animation_get", _wrap_animation_get, METH_VARARGS, NULL}, { (char *)"animation_load", _wrap_animation_load, METH_VARARGS, NULL}, { (char *)"animation_put", _wrap_animation_put, METH_VARARGS, NULL}, { (char *)"animation_save", _wrap_animation_save, METH_VARARGS, NULL}, { (char *)"animation_nbr_of_frames", _wrap_animation_nbr_of_frames, METH_VARARGS, NULL}, { (char *)"animation_nbr_of_images", _wrap_animation_nbr_of_images, METH_VARARGS, NULL}, { (char *)"animation_currentframe", _wrap_animation_currentframe, METH_VARARGS, NULL}, { (char *)"animation_set_currentframe", _wrap_animation_set_currentframe, METH_VARARGS, NULL}, { (char *)"animation_xoffset", _wrap_animation_xoffset, METH_VARARGS, NULL}, { (char *)"animation_yoffset", _wrap_animation_yoffset, METH_VARARGS, NULL}, { (char *)"animation_set_offset", _wrap_animation_set_offset, METH_VARARGS, NULL}, { (char *)"animation_get_frame", _wrap_animation_get_frame, METH_VARARGS, NULL}, { (char *)"animation_get_image", _wrap_animation_get_image, METH_VARARGS, NULL}, { (char *)"animation_insert_image", _wrap_animation_insert_image, METH_VARARGS, NULL}, { (char *)"animation_insert_frame", _wrap_animation_insert_frame, METH_VARARGS, NULL}, { (char *)"animation_delete_image", _wrap_animation_delete_image, METH_VARARGS, NULL}, { (char *)"animation_delete_frame", _wrap_animation_delete_frame, METH_VARARGS, NULL}, { (char *)"animation_zoom", _wrap_animation_zoom, METH_VARARGS, NULL}, { (char *)"animation_copy", _wrap_animation_copy, METH_VARARGS, NULL}, { (char *)"animation_swigregister", animation_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapsquare_walkable", _wrap_new_mapsquare_walkable, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_get", _wrap_mapsquare_walkable_get, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_put", _wrap_mapsquare_walkable_put, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_is_walkable_west", _wrap_mapsquare_walkable_is_walkable_west, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_is_walkable_east", _wrap_mapsquare_walkable_is_walkable_east, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_is_walkable_north", _wrap_mapsquare_walkable_is_walkable_north, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_is_walkable_south", _wrap_mapsquare_walkable_is_walkable_south, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_set_walkable_west", _wrap_mapsquare_walkable_set_walkable_west, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_set_walkable_east", _wrap_mapsquare_walkable_set_walkable_east, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_set_walkable_north", _wrap_mapsquare_walkable_set_walkable_north, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_set_walkable_south", _wrap_mapsquare_walkable_set_walkable_south, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_get_walkable", _wrap_mapsquare_walkable_get_walkable, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_set_walkable", _wrap_mapsquare_walkable_set_walkable, METH_VARARGS, NULL}, { (char *)"delete_mapsquare_walkable", _wrap_delete_mapsquare_walkable, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_swigregister", mapsquare_walkable_swigregister, METH_VARARGS, NULL}, { (char *)"delete_mapsquare_walkable_area", _wrap_delete_mapsquare_walkable_area, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_clear", _wrap_mapsquare_walkable_area_clear, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_draw", _wrap_mapsquare_walkable_area_draw, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_area_length", _wrap_mapsquare_walkable_area_area_length, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_area_height", _wrap_mapsquare_walkable_area_area_height, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_get_square", _wrap_mapsquare_walkable_area_get_square, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_resize_area", _wrap_mapsquare_walkable_area_resize_area, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_base_x", _wrap_mapsquare_walkable_area_base_x, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_base_y", _wrap_mapsquare_walkable_area_base_y, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_set_base", _wrap_mapsquare_walkable_area_set_base, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_get", _wrap_mapsquare_walkable_area_get, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_put", _wrap_mapsquare_walkable_area_put, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_copy", _wrap_mapsquare_walkable_area_copy, METH_VARARGS, NULL}, { (char *)"mapsquare_walkable_area_swigregister", mapsquare_walkable_area_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapsquare_tile", _wrap_new_mapsquare_tile, METH_VARARGS, NULL}, { (char *)"delete_mapsquare_tile", _wrap_delete_mapsquare_tile, METH_VARARGS, NULL}, { (char *)"mapsquare_tile_swigregister", mapsquare_tile_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapsquare_char", _wrap_new_mapsquare_char, METH_VARARGS, NULL}, { (char *)"delete_mapsquare_char", _wrap_delete_mapsquare_char, METH_VARARGS, NULL}, { (char *)"mapsquare_char_swigregister", mapsquare_char_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapsquare", _wrap_new_mapsquare, METH_VARARGS, NULL}, { (char *)"delete_mapsquare", _wrap_delete_mapsquare, METH_VARARGS, NULL}, { (char *)"mapsquare_x", _wrap_mapsquare_x, METH_VARARGS, NULL}, { (char *)"mapsquare_y", _wrap_mapsquare_y, METH_VARARGS, NULL}, { (char *)"mapsquare_is_free", _wrap_mapsquare_is_free, METH_VARARGS, NULL}, { (char *)"mapsquare_whoshere", _wrap_mapsquare_whoshere, METH_VARARGS, NULL}, { (char *)"mapsquare_g_set", _wrap_mapsquare_g_set, METH_VARARGS, NULL}, { (char *)"mapsquare_g_get", _wrap_mapsquare_g_get, METH_VARARGS, NULL}, { (char *)"mapsquare_h_set", _wrap_mapsquare_h_set, METH_VARARGS, NULL}, { (char *)"mapsquare_h_get", _wrap_mapsquare_h_get, METH_VARARGS, NULL}, { (char *)"mapsquare_f_set", _wrap_mapsquare_f_set, METH_VARARGS, NULL}, { (char *)"mapsquare_f_get", _wrap_mapsquare_f_get, METH_VARARGS, NULL}, { (char *)"mapsquare_parent_set", _wrap_mapsquare_parent_set, METH_VARARGS, NULL}, { (char *)"mapsquare_parent_get", _wrap_mapsquare_parent_get, METH_VARARGS, NULL}, { (char *)"mapsquare_can_use_for_pathfinding_set", _wrap_mapsquare_can_use_for_pathfinding_set, METH_VARARGS, NULL}, { (char *)"mapsquare_can_use_for_pathfinding_get", _wrap_mapsquare_can_use_for_pathfinding_get, METH_VARARGS, NULL}, { (char *)"mapsquare_swigregister", mapsquare_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapsquare_area", _wrap_new_mapsquare_area, METH_VARARGS, NULL}, { (char *)"delete_mapsquare_area", _wrap_delete_mapsquare_area, METH_VARARGS, NULL}, { (char *)"mapsquare_area_clear", _wrap_mapsquare_area_clear, METH_VARARGS, NULL}, { (char *)"mapsquare_area_area_length", _wrap_mapsquare_area_area_length, METH_VARARGS, NULL}, { (char *)"mapsquare_area_area_height", _wrap_mapsquare_area_area_height, METH_VARARGS, NULL}, { (char *)"mapsquare_area_get_square", _wrap_mapsquare_area_get_square, METH_VARARGS, NULL}, { (char *)"mapsquare_area_resize_area", _wrap_mapsquare_area_resize_area, METH_VARARGS, NULL}, { (char *)"mapsquare_area_swigregister", mapsquare_area_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapobject", _wrap_new_mapobject, METH_VARARGS, NULL}, { (char *)"delete_mapobject", _wrap_delete_mapobject, METH_VARARGS, NULL}, { (char *)"mapobject_clear", _wrap_mapobject_clear, METH_VARARGS, NULL}, { (char *)"mapobject_update", _wrap_mapobject_update, METH_VARARGS, NULL}, { (char *)"mapobject_draw", _wrap_mapobject_draw, METH_VARARGS, NULL}, { (char *)"mapobject_draw_from_base", _wrap_mapobject_draw_from_base, METH_VARARGS, NULL}, { (char *)"mapobject_get", _wrap_mapobject_get, METH_VARARGS, NULL}, { (char *)"mapobject_load", _wrap_mapobject_load, METH_VARARGS, NULL}, { (char *)"mapobject_put", _wrap_mapobject_put, METH_VARARGS, NULL}, { (char *)"mapobject_save", _wrap_mapobject_save, METH_VARARGS, NULL}, { (char *)"mapobject_nbr_of_animations", _wrap_mapobject_nbr_of_animations, METH_VARARGS, NULL}, { (char *)"mapobject_get_animation", _wrap_mapobject_get_animation, METH_VARARGS, NULL}, { (char *)"mapobject_insert_animation", _wrap_mapobject_insert_animation, METH_VARARGS, NULL}, { (char *)"mapobject_delete_animation", _wrap_mapobject_delete_animation, METH_VARARGS, NULL}, { (char *)"mapobject_copy", _wrap_mapobject_copy, METH_VARARGS, NULL}, { (char *)"mapobject_swigregister", mapobject_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapcharacter", _wrap_new_mapcharacter, METH_VARARGS, NULL}, { (char *)"delete_mapcharacter", _wrap_delete_mapcharacter, METH_VARARGS, NULL}, { (char *)"mapcharacter_clear", _wrap_mapcharacter_clear, METH_VARARGS, NULL}, { (char *)"mapcharacter_filename", _wrap_mapcharacter_filename, METH_VARARGS, NULL}, { (char *)"mapcharacter_update", _wrap_mapcharacter_update, METH_VARARGS, NULL}, { (char *)"mapcharacter_draw", _wrap_mapcharacter_draw, METH_VARARGS, NULL}, { (char *)"mapcharacter_draw_bubble", _wrap_mapcharacter_draw_bubble, METH_VARARGS, NULL}, { (char *)"mapcharacter_get", _wrap_mapcharacter_get, METH_VARARGS, NULL}, { (char *)"mapcharacter_load", _wrap_mapcharacter_load, METH_VARARGS, NULL}, { (char *)"mapcharacter_put", _wrap_mapcharacter_put, METH_VARARGS, NULL}, { (char *)"mapcharacter_save", _wrap_mapcharacter_save, METH_VARARGS, NULL}, { (char *)"mapcharacter_get_state", _wrap_mapcharacter_get_state, METH_VARARGS, NULL}, { (char *)"mapcharacter_put_state", _wrap_mapcharacter_put_state, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_map", _wrap_mapcharacter_set_map, METH_VARARGS, NULL}, { (char *)"mapcharacter_remove_from_map", _wrap_mapcharacter_remove_from_map, METH_VARARGS, NULL}, { (char *)"mapcharacter_mymap", _wrap_mapcharacter_mymap, METH_VARARGS, NULL}, { (char *)"mapcharacter_stand_north", _wrap_mapcharacter_stand_north, METH_VARARGS, NULL}, { (char *)"mapcharacter_stand_south", _wrap_mapcharacter_stand_south, METH_VARARGS, NULL}, { (char *)"mapcharacter_stand_east", _wrap_mapcharacter_stand_east, METH_VARARGS, NULL}, { (char *)"mapcharacter_stand_west", _wrap_mapcharacter_stand_west, METH_VARARGS, NULL}, { (char *)"mapcharacter_stand", _wrap_mapcharacter_stand, METH_VARARGS, NULL}, { (char *)"mapcharacter_go_north", _wrap_mapcharacter_go_north, METH_VARARGS, NULL}, { (char *)"mapcharacter_go_south", _wrap_mapcharacter_go_south, METH_VARARGS, NULL}, { (char *)"mapcharacter_go_east", _wrap_mapcharacter_go_east, METH_VARARGS, NULL}, { (char *)"mapcharacter_go_west", _wrap_mapcharacter_go_west, METH_VARARGS, NULL}, { (char *)"mapcharacter_can_go_north", _wrap_mapcharacter_can_go_north, METH_VARARGS, NULL}, { (char *)"mapcharacter_can_go_south", _wrap_mapcharacter_can_go_south, METH_VARARGS, NULL}, { (char *)"mapcharacter_can_go_east", _wrap_mapcharacter_can_go_east, METH_VARARGS, NULL}, { (char *)"mapcharacter_can_go_west", _wrap_mapcharacter_can_go_west, METH_VARARGS, NULL}, { (char *)"mapcharacter_look_invert", _wrap_mapcharacter_look_invert, METH_VARARGS, NULL}, { (char *)"mapcharacter_whosnext", _wrap_mapcharacter_whosnext, METH_VARARGS, NULL}, { (char *)"mapcharacter_speak", _wrap_mapcharacter_speak, METH_VARARGS, NULL}, { (char *)"mapcharacter_is_speaking", _wrap_mapcharacter_is_speaking, METH_VARARGS, NULL}, { (char *)"mapcharacter_get_bubble", _wrap_mapcharacter_get_bubble, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_offset", _wrap_mapcharacter_set_offset, METH_VARARGS, NULL}, { (char *)"mapcharacter_remove_from_pos", _wrap_mapcharacter_remove_from_pos, METH_VARARGS, NULL}, { (char *)"mapcharacter_jump_to", _wrap_mapcharacter_jump_to, METH_VARARGS, NULL}, { (char *)"mapcharacter_submap", _wrap_mapcharacter_submap, METH_VARARGS, NULL}, { (char *)"mapcharacter_posx", _wrap_mapcharacter_posx, METH_VARARGS, NULL}, { (char *)"mapcharacter_posy", _wrap_mapcharacter_posy, METH_VARARGS, NULL}, { (char *)"mapcharacter_offx", _wrap_mapcharacter_offx, METH_VARARGS, NULL}, { (char *)"mapcharacter_offy", _wrap_mapcharacter_offy, METH_VARARGS, NULL}, { (char *)"mapcharacter_currentmove", _wrap_mapcharacter_currentmove, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_goal", _wrap_mapcharacter_set_goal, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_callback", _wrap_mapcharacter_set_callback, METH_VARARGS, NULL}, { (char *)"mapcharacter_follow_path", _wrap_mapcharacter_follow_path, METH_VARARGS, NULL}, { (char *)"mapcharacter_goal_reached", _wrap_mapcharacter_goal_reached, METH_VARARGS, NULL}, { (char *)"mapcharacter_stop_moving", _wrap_mapcharacter_stop_moving, METH_VARARGS, NULL}, { (char *)"mapcharacter_time_callback", _wrap_mapcharacter_time_callback, METH_VARARGS, NULL}, { (char *)"mapcharacter_time_callback_string", _wrap_mapcharacter_time_callback_string, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_schedule", _wrap_mapcharacter_set_schedule, METH_VARARGS, NULL}, { (char *)"mapcharacter_schedule_file", _wrap_mapcharacter_schedule_file, METH_VARARGS, NULL}, { (char *)"mapcharacter_is_schedule_activated", _wrap_mapcharacter_is_schedule_activated, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_schedule_active", _wrap_mapcharacter_set_schedule_active, METH_VARARGS, NULL}, { (char *)"mapcharacter_do_stuff", _wrap_mapcharacter_do_stuff, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_action", _wrap_mapcharacter_set_action, METH_VARARGS, NULL}, { (char *)"mapcharacter_action_file", _wrap_mapcharacter_action_file, METH_VARARGS, NULL}, { (char *)"mapcharacter_is_action_activated", _wrap_mapcharacter_is_action_activated, METH_VARARGS, NULL}, { (char *)"mapcharacter_set_action_active", _wrap_mapcharacter_set_action_active, METH_VARARGS, NULL}, { (char *)"mapcharacter_launch_action", _wrap_mapcharacter_launch_action, METH_VARARGS, NULL}, { (char *)"mapcharacter_get_animation", _wrap_mapcharacter_get_animation, METH_VARARGS, NULL}, { (char *)"mapcharacter_copy", _wrap_mapcharacter_copy, METH_VARARGS, NULL}, { (char *)"mapcharacter_swigregister", mapcharacter_swigregister, METH_VARARGS, NULL}, { (char *)"path_clear", _wrap_path_clear, METH_VARARGS, NULL}, { (char *)"path_calculate", _wrap_path_calculate, METH_VARARGS, NULL}, { (char *)"path_nbr_moves", _wrap_path_nbr_moves, METH_VARARGS, NULL}, { (char *)"path_get_move", _wrap_path_get_move, METH_VARARGS, NULL}, { (char *)"path_get_state", _wrap_path_get_state, METH_VARARGS, NULL}, { (char *)"path_put_state", _wrap_path_put_state, METH_VARARGS, NULL}, { (char *)"new_path", _wrap_new_path, METH_VARARGS, NULL}, { (char *)"delete_path", _wrap_delete_path, METH_VARARGS, NULL}, { (char *)"path_swigregister", path_swigregister, METH_VARARGS, NULL}, { (char *)"new_character", _wrap_new_character, METH_VARARGS, NULL}, { (char *)"delete_character", _wrap_delete_character, METH_VARARGS, NULL}, { (char *)"character_swigregister", character_swigregister, METH_VARARGS, NULL}, { (char *)"new_landmap", _wrap_new_landmap, METH_VARARGS, NULL}, { (char *)"delete_landmap", _wrap_delete_landmap, METH_VARARGS, NULL}, { (char *)"landmap_clear", _wrap_landmap_clear, METH_VARARGS, NULL}, { (char *)"landmap_nbr_of_mapobjects", _wrap_landmap_nbr_of_mapobjects, METH_VARARGS, NULL}, { (char *)"landmap_nbr_of_submaps", _wrap_landmap_nbr_of_submaps, METH_VARARGS, NULL}, { (char *)"landmap_nbr_of_mapcharacters", _wrap_landmap_nbr_of_mapcharacters, METH_VARARGS, NULL}, { (char *)"landmap_filename", _wrap_landmap_filename, METH_VARARGS, NULL}, { (char *)"landmap_get_mapcharacter", _wrap_landmap_get_mapcharacter, METH_VARARGS, NULL}, { (char *)"landmap_get_mapobject", _wrap_landmap_get_mapobject, METH_VARARGS, NULL}, { (char *)"landmap_get_submap", _wrap_landmap_get_submap, METH_VARARGS, NULL}, { (char *)"landmap_update", _wrap_landmap_update, METH_VARARGS, NULL}, { (char *)"landmap_get", _wrap_landmap_get, METH_VARARGS, NULL}, { (char *)"landmap_load", _wrap_landmap_load, METH_VARARGS, NULL}, { (char *)"landmap_put", _wrap_landmap_put, METH_VARARGS, NULL}, { (char *)"landmap_save", _wrap_landmap_save, METH_VARARGS, NULL}, { (char *)"landmap_get_state", _wrap_landmap_get_state, METH_VARARGS, NULL}, { (char *)"landmap_put_state", _wrap_landmap_put_state, METH_VARARGS, NULL}, { (char *)"landmap_put_mapobject", _wrap_landmap_put_mapobject, METH_VARARGS, NULL}, { (char *)"landmap_remove_mapobject", _wrap_landmap_remove_mapobject, METH_VARARGS, NULL}, { (char *)"landmap_insert_submap", _wrap_landmap_insert_submap, METH_VARARGS, NULL}, { (char *)"landmap_delete_submap", _wrap_landmap_delete_submap, METH_VARARGS, NULL}, { (char *)"landmap_insert_mapobject", _wrap_landmap_insert_mapobject, METH_VARARGS, NULL}, { (char *)"landmap_delete_mapobject", _wrap_landmap_delete_mapobject, METH_VARARGS, NULL}, { (char *)"landmap_swigregister", landmap_swigregister, METH_VARARGS, NULL}, { (char *)"new_mapview", _wrap_new_mapview, METH_VARARGS, NULL}, { (char *)"delete_mapview", _wrap_delete_mapview, METH_VARARGS, NULL}, { (char *)"mapview_attach_map", _wrap_mapview_attach_map, METH_VARARGS, NULL}, { (char *)"mapview_detach_map", _wrap_mapview_detach_map, METH_VARARGS, NULL}, { (char *)"mapview_set_pos", _wrap_mapview_set_pos, METH_VARARGS, NULL}, { (char *)"mapview_center_on", _wrap_mapview_center_on, METH_VARARGS, NULL}, { (char *)"mapview_currentsubmap", _wrap_mapview_currentsubmap, METH_VARARGS, NULL}, { (char *)"mapview_posx", _wrap_mapview_posx, METH_VARARGS, NULL}, { (char *)"mapview_posy", _wrap_mapview_posy, METH_VARARGS, NULL}, { (char *)"mapview_offx", _wrap_mapview_offx, METH_VARARGS, NULL}, { (char *)"mapview_offy", _wrap_mapview_offy, METH_VARARGS, NULL}, { (char *)"mapview_can_scroll_right", _wrap_mapview_can_scroll_right, METH_VARARGS, NULL}, { (char *)"mapview_can_scroll_left", _wrap_mapview_can_scroll_left, METH_VARARGS, NULL}, { (char *)"mapview_can_scroll_up", _wrap_mapview_can_scroll_up, METH_VARARGS, NULL}, { (char *)"mapview_can_scroll_down", _wrap_mapview_can_scroll_down, METH_VARARGS, NULL}, { (char *)"mapview_scroll_right", _wrap_mapview_scroll_right, METH_VARARGS, NULL}, { (char *)"mapview_scroll_left", _wrap_mapview_scroll_left, METH_VARARGS, NULL}, { (char *)"mapview_scroll_down", _wrap_mapview_scroll_down, METH_VARARGS, NULL}, { (char *)"mapview_scroll_up", _wrap_mapview_scroll_up, METH_VARARGS, NULL}, { (char *)"mapview_get_state", _wrap_mapview_get_state, METH_VARARGS, NULL}, { (char *)"mapview_put_state", _wrap_mapview_put_state, METH_VARARGS, NULL}, { (char *)"mapview_resize", _wrap_mapview_resize, METH_VARARGS, NULL}, { (char *)"mapview_set_schedule", _wrap_mapview_set_schedule, METH_VARARGS, NULL}, { (char *)"mapview_schedule_file", _wrap_mapview_schedule_file, METH_VARARGS, NULL}, { (char *)"mapview_update", _wrap_mapview_update, METH_VARARGS, NULL}, { (char *)"mapview_draw", _wrap_mapview_draw, METH_VARARGS, NULL}, { (char *)"mapview_swigregister", mapview_swigregister, METH_VARARGS, NULL}, { (char *)"new_adonthell", _wrap_new_adonthell, METH_VARARGS, NULL}, { (char *)"adonthell_main", _wrap_adonthell_main, METH_VARARGS, NULL}, { (char *)"adonthell_main_loop", _wrap_adonthell_main_loop, METH_VARARGS, NULL}, { (char *)"adonthell_main_quit", _wrap_adonthell_main_quit, METH_VARARGS, NULL}, { (char *)"adonthell_fade_out", _wrap_adonthell_fade_out, METH_VARARGS, NULL}, { (char *)"adonthell_fade_in", _wrap_adonthell_fade_in, METH_VARARGS, NULL}, { (char *)"adonthell_get_state", _wrap_adonthell_get_state, METH_VARARGS, NULL}, { (char *)"adonthell_put_state", _wrap_adonthell_put_state, METH_VARARGS, NULL}, { (char *)"adonthell_control_active", _wrap_adonthell_control_active, METH_VARARGS, NULL}, { (char *)"adonthell_set_control_active", _wrap_adonthell_set_control_active, METH_VARARGS, NULL}, { (char *)"adonthell_get_landmap", _wrap_adonthell_get_landmap, METH_VARARGS, NULL}, { (char *)"adonthell_update_map", _wrap_adonthell_update_map, METH_VARARGS, NULL}, { (char *)"adonthell_set_update_map", _wrap_adonthell_set_update_map, METH_VARARGS, NULL}, { (char *)"adonthell_get_mapview", _wrap_adonthell_get_mapview, METH_VARARGS, NULL}, { (char *)"adonthell_draw", _wrap_adonthell_draw, METH_VARARGS, NULL}, { (char *)"adonthell_set_mapview_schedule", _wrap_adonthell_set_mapview_schedule, METH_VARARGS, NULL}, { (char *)"adonthell_mapview_start", _wrap_adonthell_mapview_start, METH_VARARGS, NULL}, { (char *)"adonthell_mapview_stop", _wrap_adonthell_mapview_stop, METH_VARARGS, NULL}, { (char *)"delete_adonthell", _wrap_delete_adonthell, METH_VARARGS, NULL}, { (char *)"adonthell_swigregister", adonthell_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_manager", _wrap_new_win_manager, METH_VARARGS, NULL}, { (char *)"delete_win_manager", _wrap_delete_win_manager, METH_VARARGS, NULL}, { (char *)"win_manager_add", _wrap_win_manager_add, METH_VARARGS, NULL}, { (char *)"win_manager_remove", _wrap_win_manager_remove, METH_VARARGS, NULL}, { (char *)"win_manager_update", _wrap_win_manager_update, METH_VARARGS, NULL}, { (char *)"win_manager_input_update", _wrap_win_manager_input_update, METH_VARARGS, NULL}, { (char *)"win_manager_draw", _wrap_win_manager_draw, METH_VARARGS, NULL}, { (char *)"win_manager_set_focus", _wrap_win_manager_set_focus, METH_VARARGS, NULL}, { (char *)"win_manager_destroy", _wrap_win_manager_destroy, METH_VARARGS, NULL}, { (char *)"win_manager_get_active", _wrap_win_manager_get_active, METH_VARARGS, NULL}, { (char *)"win_manager_init", _wrap_win_manager_init, METH_VARARGS, NULL}, { (char *)"win_manager_cleanup", _wrap_win_manager_cleanup, METH_VARARGS, NULL}, { (char *)"win_manager_add_theme", _wrap_win_manager_add_theme, METH_VARARGS, NULL}, { (char *)"win_manager_remove_theme", _wrap_win_manager_remove_theme, METH_VARARGS, NULL}, { (char *)"win_manager_get_theme", _wrap_win_manager_get_theme, METH_VARARGS, NULL}, { (char *)"win_manager_add_font", _wrap_win_manager_add_font, METH_VARARGS, NULL}, { (char *)"win_manager_remove_font", _wrap_win_manager_remove_font, METH_VARARGS, NULL}, { (char *)"win_manager_get_font", _wrap_win_manager_get_font, METH_VARARGS, NULL}, { (char *)"win_manager_swigregister", win_manager_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_font", _wrap_new_win_font, METH_VARARGS, NULL}, { (char *)"delete_win_font", _wrap_delete_win_font, METH_VARARGS, NULL}, { (char *)"win_font_load", _wrap_win_font_load, METH_VARARGS, NULL}, { (char *)"win_font_in_table", _wrap_win_font_in_table, METH_VARARGS, NULL}, { (char *)"win_font_height", _wrap_win_font_height, METH_VARARGS, NULL}, { (char *)"win_font_length", _wrap_win_font_length, METH_VARARGS, NULL}, { (char *)"win_font_cursor_set", _wrap_win_font_cursor_set, METH_VARARGS, NULL}, { (char *)"win_font_cursor_get", _wrap_win_font_cursor_get, METH_VARARGS, NULL}, { (char *)"win_font_swigregister", win_font_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_event", _wrap_new_win_event, METH_VARARGS, NULL}, { (char *)"win_event_set_return_code", _wrap_win_event_set_return_code, METH_VARARGS, NULL}, { (char *)"win_event_update", _wrap_win_event_update, METH_VARARGS, NULL}, { (char *)"win_event_py_signal_connect", _wrap_win_event_py_signal_connect, METH_VARARGS, NULL}, { (char *)"delete_win_event", _wrap_delete_win_event, METH_VARARGS, NULL}, { (char *)"win_event_swigregister", win_event_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_border", _wrap_new_win_border, METH_VARARGS, NULL}, { (char *)"delete_win_border", _wrap_delete_win_border, METH_VARARGS, NULL}, { (char *)"win_border_load", _wrap_win_border_load, METH_VARARGS, NULL}, { (char *)"win_border_update", _wrap_win_border_update, METH_VARARGS, NULL}, { (char *)"win_border_destroy", _wrap_win_border_destroy, METH_VARARGS, NULL}, { (char *)"win_border_draw", _wrap_win_border_draw, METH_VARARGS, NULL}, { (char *)"win_border_set_visible_border", _wrap_win_border_set_visible_border, METH_VARARGS, NULL}, { (char *)"win_border_set_brightness_border", _wrap_win_border_set_brightness_border, METH_VARARGS, NULL}, { (char *)"win_border_set_border", _wrap_win_border_set_border, METH_VARARGS, NULL}, { (char *)"win_border_set_trans_border", _wrap_win_border_set_trans_border, METH_VARARGS, NULL}, { (char *)"win_border_length_border", _wrap_win_border_length_border, METH_VARARGS, NULL}, { (char *)"win_border_height_border", _wrap_win_border_height_border, METH_VARARGS, NULL}, { (char *)"win_border_swigregister", win_border_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_background", _wrap_new_win_background, METH_VARARGS, NULL}, { (char *)"delete_win_background", _wrap_delete_win_background, METH_VARARGS, NULL}, { (char *)"win_background_load", _wrap_win_background_load, METH_VARARGS, NULL}, { (char *)"win_background_update", _wrap_win_background_update, METH_VARARGS, NULL}, { (char *)"win_background_destroy", _wrap_win_background_destroy, METH_VARARGS, NULL}, { (char *)"win_background_draw", _wrap_win_background_draw, METH_VARARGS, NULL}, { (char *)"win_background_set_visible_background", _wrap_win_background_set_visible_background, METH_VARARGS, NULL}, { (char *)"win_background_set_background", _wrap_win_background_set_background, METH_VARARGS, NULL}, { (char *)"win_background_set_brightness_background", _wrap_win_background_set_brightness_background, METH_VARARGS, NULL}, { (char *)"win_background_set_trans_background", _wrap_win_background_set_trans_background, METH_VARARGS, NULL}, { (char *)"win_background_swigregister", win_background_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_base", _wrap_new_win_base, METH_VARARGS, NULL}, { (char *)"win_base_x", _wrap_win_base_x, METH_VARARGS, NULL}, { (char *)"win_base_y", _wrap_win_base_y, METH_VARARGS, NULL}, { (char *)"win_base_pad_x", _wrap_win_base_pad_x, METH_VARARGS, NULL}, { (char *)"win_base_pad_y", _wrap_win_base_pad_y, METH_VARARGS, NULL}, { (char *)"win_base_real_x", _wrap_win_base_real_x, METH_VARARGS, NULL}, { (char *)"win_base_real_y", _wrap_win_base_real_y, METH_VARARGS, NULL}, { (char *)"win_base_move", _wrap_win_base_move, METH_VARARGS, NULL}, { (char *)"win_base_resize", _wrap_win_base_resize, METH_VARARGS, NULL}, { (char *)"win_base_is_visible", _wrap_win_base_is_visible, METH_VARARGS, NULL}, { (char *)"win_base_set_visible", _wrap_win_base_set_visible, METH_VARARGS, NULL}, { (char *)"win_base_is_activate", _wrap_win_base_is_activate, METH_VARARGS, NULL}, { (char *)"win_base_set_activate", _wrap_win_base_set_activate, METH_VARARGS, NULL}, { (char *)"win_base_is_focus", _wrap_win_base_is_focus, METH_VARARGS, NULL}, { (char *)"win_base_set_focus", _wrap_win_base_set_focus, METH_VARARGS, NULL}, { (char *)"win_base_is_trans", _wrap_win_base_is_trans, METH_VARARGS, NULL}, { (char *)"win_base_set_trans", _wrap_win_base_set_trans, METH_VARARGS, NULL}, { (char *)"win_base_is_brightness", _wrap_win_base_is_brightness, METH_VARARGS, NULL}, { (char *)"win_base_set_brightness", _wrap_win_base_set_brightness, METH_VARARGS, NULL}, { (char *)"win_base_set_align", _wrap_win_base_set_align, METH_VARARGS, NULL}, { (char *)"win_base_align", _wrap_win_base_align, METH_VARARGS, NULL}, { (char *)"win_base_is_can_be_selected", _wrap_win_base_is_can_be_selected, METH_VARARGS, NULL}, { (char *)"win_base_set_can_be_selected", _wrap_win_base_set_can_be_selected, METH_VARARGS, NULL}, { (char *)"win_base_update", _wrap_win_base_update, METH_VARARGS, NULL}, { (char *)"win_base_draw", _wrap_win_base_draw, METH_VARARGS, NULL}, { (char *)"win_base_input_update", _wrap_win_base_input_update, METH_VARARGS, NULL}, { (char *)"delete_win_base", _wrap_delete_win_base, METH_VARARGS, NULL}, { (char *)"win_base_swigregister", win_base_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_container", _wrap_new_win_container, METH_VARARGS, NULL}, { (char *)"win_container_move", _wrap_win_container_move, METH_VARARGS, NULL}, { (char *)"win_container_resize", _wrap_win_container_resize, METH_VARARGS, NULL}, { (char *)"win_container_add", _wrap_win_container_add, METH_VARARGS, NULL}, { (char *)"win_container_remove", _wrap_win_container_remove, METH_VARARGS, NULL}, { (char *)"win_container_remove_all", _wrap_win_container_remove_all, METH_VARARGS, NULL}, { (char *)"win_container_destroy", _wrap_win_container_destroy, METH_VARARGS, NULL}, { (char *)"delete_win_container", _wrap_delete_win_container, METH_VARARGS, NULL}, { (char *)"win_container_update", _wrap_win_container_update, METH_VARARGS, NULL}, { (char *)"win_container_input_update", _wrap_win_container_input_update, METH_VARARGS, NULL}, { (char *)"win_container_draw", _wrap_win_container_draw, METH_VARARGS, NULL}, { (char *)"win_container_set_visible_all", _wrap_win_container_set_visible_all, METH_VARARGS, NULL}, { (char *)"win_container_set_brightness", _wrap_win_container_set_brightness, METH_VARARGS, NULL}, { (char *)"win_container_set_trans", _wrap_win_container_set_trans, METH_VARARGS, NULL}, { (char *)"win_container_set_space_with_border", _wrap_win_container_set_space_with_border, METH_VARARGS, NULL}, { (char *)"win_container_set_space_with_object", _wrap_win_container_set_space_with_object, METH_VARARGS, NULL}, { (char *)"win_container_space_with_border", _wrap_win_container_space_with_border, METH_VARARGS, NULL}, { (char *)"win_container_space_with_object", _wrap_win_container_space_with_object, METH_VARARGS, NULL}, { (char *)"win_container_set_layout", _wrap_win_container_set_layout, METH_VARARGS, NULL}, { (char *)"win_container_set_focus_object", _wrap_win_container_set_focus_object, METH_VARARGS, NULL}, { (char *)"win_container_focus_object", _wrap_win_container_focus_object, METH_VARARGS, NULL}, { (char *)"win_container_swigregister", win_container_swigregister, METH_VARARGS, NULL}, { (char *)"delete_win_image", _wrap_delete_win_image, METH_VARARGS, NULL}, { (char *)"win_image_draw", _wrap_win_image_draw, METH_VARARGS, NULL}, { (char *)"win_image_update", _wrap_win_image_update, METH_VARARGS, NULL}, { (char *)"win_image_input_update", _wrap_win_image_input_update, METH_VARARGS, NULL}, { (char *)"win_image_set_brightness", _wrap_win_image_set_brightness, METH_VARARGS, NULL}, { (char *)"win_image_set_trans", _wrap_win_image_set_trans, METH_VARARGS, NULL}, { (char *)"win_image_pack", _wrap_win_image_pack, METH_VARARGS, NULL}, { (char *)"win_image_set_auto_refresh", _wrap_win_image_set_auto_refresh, METH_VARARGS, NULL}, { (char *)"new_win_image", _wrap_new_win_image, METH_VARARGS, NULL}, { (char *)"win_image_swigregister", win_image_swigregister, METH_VARARGS, NULL}, { (char *)"new_label", _wrap_new_label, METH_VARARGS, NULL}, { (char *)"label_text_string", _wrap_label_text_string, METH_VARARGS, NULL}, { (char *)"label_text_char", _wrap_label_text_char, METH_VARARGS, NULL}, { (char *)"label_set_text", _wrap_label_set_text, METH_VARARGS, NULL}, { (char *)"label_add_text", _wrap_label_add_text, METH_VARARGS, NULL}, { (char *)"label_set_font", _wrap_label_set_font, METH_VARARGS, NULL}, { (char *)"label_set_form", _wrap_label_set_form, METH_VARARGS, NULL}, { (char *)"label_set_cursor_visible", _wrap_label_set_cursor_visible, METH_VARARGS, NULL}, { (char *)"label_set_cursor_moveable", _wrap_label_set_cursor_moveable, METH_VARARGS, NULL}, { (char *)"label_resize", _wrap_label_resize, METH_VARARGS, NULL}, { (char *)"label_update", _wrap_label_update, METH_VARARGS, NULL}, { (char *)"label_input_update", _wrap_label_input_update, METH_VARARGS, NULL}, { (char *)"delete_label", _wrap_delete_label, METH_VARARGS, NULL}, { (char *)"label_swigregister", label_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_label", _wrap_new_win_label, METH_VARARGS, NULL}, { (char *)"delete_win_label", _wrap_delete_win_label, METH_VARARGS, NULL}, { (char *)"win_label_draw", _wrap_win_label_draw, METH_VARARGS, NULL}, { (char *)"win_label_update", _wrap_win_label_update, METH_VARARGS, NULL}, { (char *)"win_label_input_update", _wrap_win_label_input_update, METH_VARARGS, NULL}, { (char *)"win_label_set_brightness", _wrap_win_label_set_brightness, METH_VARARGS, NULL}, { (char *)"win_label_set_trans", _wrap_win_label_set_trans, METH_VARARGS, NULL}, { (char *)"win_label_pack", _wrap_win_label_pack, METH_VARARGS, NULL}, { (char *)"win_label_set_auto_refresh", _wrap_win_label_set_auto_refresh, METH_VARARGS, NULL}, { (char *)"win_label_swigregister", win_label_swigregister, METH_VARARGS, NULL}, { (char *)"label_input_input_update", _wrap_label_input_input_update, METH_VARARGS, NULL}, { (char *)"new_label_input", _wrap_new_label_input, METH_VARARGS, NULL}, { (char *)"delete_label_input", _wrap_delete_label_input, METH_VARARGS, NULL}, { (char *)"label_input_swigregister", label_input_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_write", _wrap_new_win_write, METH_VARARGS, NULL}, { (char *)"delete_win_write", _wrap_delete_win_write, METH_VARARGS, NULL}, { (char *)"win_write_draw", _wrap_win_write_draw, METH_VARARGS, NULL}, { (char *)"win_write_update", _wrap_win_write_update, METH_VARARGS, NULL}, { (char *)"win_write_input_update", _wrap_win_write_input_update, METH_VARARGS, NULL}, { (char *)"win_write_set_brightness", _wrap_win_write_set_brightness, METH_VARARGS, NULL}, { (char *)"win_write_set_trans", _wrap_win_write_set_trans, METH_VARARGS, NULL}, { (char *)"win_write_pack", _wrap_win_write_pack, METH_VARARGS, NULL}, { (char *)"win_write_set_auto_refresh", _wrap_win_write_set_auto_refresh, METH_VARARGS, NULL}, { (char *)"win_write_swigregister", win_write_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_mapview", _wrap_new_win_mapview, METH_VARARGS, NULL}, { (char *)"delete_win_mapview", _wrap_delete_win_mapview, METH_VARARGS, NULL}, { (char *)"win_mapview_draw", _wrap_win_mapview_draw, METH_VARARGS, NULL}, { (char *)"win_mapview_update", _wrap_win_mapview_update, METH_VARARGS, NULL}, { (char *)"win_mapview_input_update", _wrap_win_mapview_input_update, METH_VARARGS, NULL}, { (char *)"win_mapview_set_brightness", _wrap_win_mapview_set_brightness, METH_VARARGS, NULL}, { (char *)"win_mapview_set_trans", _wrap_win_mapview_set_trans, METH_VARARGS, NULL}, { (char *)"win_mapview_pack", _wrap_win_mapview_pack, METH_VARARGS, NULL}, { (char *)"win_mapview_set_auto_refresh", _wrap_win_mapview_set_auto_refresh, METH_VARARGS, NULL}, { (char *)"win_mapview_swigregister", win_mapview_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_scrollbar", _wrap_new_win_scrollbar, METH_VARARGS, NULL}, { (char *)"delete_win_scrollbar", _wrap_delete_win_scrollbar, METH_VARARGS, NULL}, { (char *)"win_scrollbar_update_bar", _wrap_win_scrollbar_update_bar, METH_VARARGS, NULL}, { (char *)"win_scrollbar_load", _wrap_win_scrollbar_load, METH_VARARGS, NULL}, { (char *)"win_scrollbar_update_back", _wrap_win_scrollbar_update_back, METH_VARARGS, NULL}, { (char *)"win_scrollbar_destroy", _wrap_win_scrollbar_destroy, METH_VARARGS, NULL}, { (char *)"win_scrollbar_set_scrollbar", _wrap_win_scrollbar_set_scrollbar, METH_VARARGS, NULL}, { (char *)"win_scrollbar_set_visible_scrollbar", _wrap_win_scrollbar_set_visible_scrollbar, METH_VARARGS, NULL}, { (char *)"win_scrollbar_set_trans_scrollbar", _wrap_win_scrollbar_set_trans_scrollbar, METH_VARARGS, NULL}, { (char *)"win_scrollbar_set_brightness_scrollbar", _wrap_win_scrollbar_set_brightness_scrollbar, METH_VARARGS, NULL}, { (char *)"win_scrollbar_draw", _wrap_win_scrollbar_draw, METH_VARARGS, NULL}, { (char *)"win_scrollbar_height_bar", _wrap_win_scrollbar_height_bar, METH_VARARGS, NULL}, { (char *)"win_scrollbar_swigregister", win_scrollbar_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_scroll", _wrap_new_win_scroll, METH_VARARGS, NULL}, { (char *)"win_scroll_amplitude", _wrap_win_scroll_amplitude, METH_VARARGS, NULL}, { (char *)"win_scroll_add", _wrap_win_scroll_add, METH_VARARGS, NULL}, { (char *)"win_scroll_remove", _wrap_win_scroll_remove, METH_VARARGS, NULL}, { (char *)"win_scroll_remove_all", _wrap_win_scroll_remove_all, METH_VARARGS, NULL}, { (char *)"win_scroll_resize", _wrap_win_scroll_resize, METH_VARARGS, NULL}, { (char *)"win_scroll_destroy", _wrap_win_scroll_destroy, METH_VARARGS, NULL}, { (char *)"win_scroll_draw", _wrap_win_scroll_draw, METH_VARARGS, NULL}, { (char *)"win_scroll_update", _wrap_win_scroll_update, METH_VARARGS, NULL}, { (char *)"win_scroll_input_update", _wrap_win_scroll_input_update, METH_VARARGS, NULL}, { (char *)"win_scroll_set_space_between_border", _wrap_win_scroll_set_space_between_border, METH_VARARGS, NULL}, { (char *)"win_scroll_set_space_between_object", _wrap_win_scroll_set_space_between_object, METH_VARARGS, NULL}, { (char *)"win_scroll_cursor_y", _wrap_win_scroll_cursor_y, METH_VARARGS, NULL}, { (char *)"win_scroll_set_auto_scrollbar", _wrap_win_scroll_set_auto_scrollbar, METH_VARARGS, NULL}, { (char *)"win_scroll_set_auto_refresh", _wrap_win_scroll_set_auto_refresh, METH_VARARGS, NULL}, { (char *)"win_scroll_set_brightness", _wrap_win_scroll_set_brightness, METH_VARARGS, NULL}, { (char *)"win_scroll_set_trans", _wrap_win_scroll_set_trans, METH_VARARGS, NULL}, { (char *)"delete_win_scroll", _wrap_delete_win_scroll, METH_VARARGS, NULL}, { (char *)"win_scroll_swigregister", win_scroll_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_select", _wrap_new_win_select, METH_VARARGS, NULL}, { (char *)"win_select_input_update", _wrap_win_select_input_update, METH_VARARGS, NULL}, { (char *)"win_select_add", _wrap_win_select_add, METH_VARARGS, NULL}, { (char *)"win_select_remove", _wrap_win_select_remove, METH_VARARGS, NULL}, { (char *)"win_select_remove_all", _wrap_win_select_remove_all, METH_VARARGS, NULL}, { (char *)"win_select_set_mode", _wrap_win_select_set_mode, METH_VARARGS, NULL}, { (char *)"win_select_set_border_select", _wrap_win_select_set_border_select, METH_VARARGS, NULL}, { (char *)"win_select_set_circle", _wrap_win_select_set_circle, METH_VARARGS, NULL}, { (char *)"win_select_is_circle", _wrap_win_select_is_circle, METH_VARARGS, NULL}, { (char *)"win_select_set_default", _wrap_win_select_set_default, METH_VARARGS, NULL}, { (char *)"win_select_set_default_object", _wrap_win_select_set_default_object, METH_VARARGS, NULL}, { (char *)"win_select_set_default_position", _wrap_win_select_set_default_position, METH_VARARGS, NULL}, { (char *)"win_select_get_selected_object", _wrap_win_select_get_selected_object, METH_VARARGS, NULL}, { (char *)"win_select_get_selected_position", _wrap_win_select_get_selected_position, METH_VARARGS, NULL}, { (char *)"delete_win_select", _wrap_delete_win_select, METH_VARARGS, NULL}, { (char *)"win_select_swigregister", win_select_swigregister, METH_VARARGS, NULL}, { (char *)"new_win_theme", _wrap_new_win_theme, METH_VARARGS, NULL}, { (char *)"delete_win_theme", _wrap_delete_win_theme, METH_VARARGS, NULL}, { (char *)"win_theme_destroy", _wrap_win_theme_destroy, METH_VARARGS, NULL}, { (char *)"win_theme_swigregister", win_theme_swigregister, METH_VARARGS, NULL}, { (char *)"new_text_bubble", _wrap_new_text_bubble, METH_VARARGS, NULL}, { (char *)"delete_text_bubble", _wrap_delete_text_bubble, METH_VARARGS, NULL}, { (char *)"text_bubble_update", _wrap_text_bubble_update, METH_VARARGS, NULL}, { (char *)"text_bubble_remaining", _wrap_text_bubble_remaining, METH_VARARGS, NULL}, { (char *)"text_bubble_swigregister", text_bubble_swigregister, METH_VARARGS, NULL}, { (char *)"new_dialog_screen", _wrap_new_dialog_screen, METH_VARARGS, NULL}, { (char *)"delete_dialog_screen", _wrap_delete_dialog_screen, METH_VARARGS, NULL}, { (char *)"dialog_screen_init", _wrap_dialog_screen_init, METH_VARARGS, NULL}, { (char *)"dialog_screen_set_portrait", _wrap_dialog_screen_set_portrait, METH_VARARGS, NULL}, { (char *)"dialog_screen_set_name", _wrap_dialog_screen_set_name, METH_VARARGS, NULL}, { (char *)"dialog_screen_set_npc", _wrap_dialog_screen_set_npc, METH_VARARGS, NULL}, { (char *)"dialog_screen_update", _wrap_dialog_screen_update, METH_VARARGS, NULL}, { (char *)"dialog_screen_run", _wrap_dialog_screen_run, METH_VARARGS, NULL}, { (char *)"dialog_screen_swigregister", dialog_screen_swigregister, METH_VARARGS, NULL}, { (char *)"new_data_screen", _wrap_new_data_screen, METH_VARARGS, NULL}, { (char *)"delete_data_screen", _wrap_delete_data_screen, METH_VARARGS, NULL}, { (char *)"data_screen_update", _wrap_data_screen_update, METH_VARARGS, NULL}, { (char *)"data_screen_get_result", _wrap_data_screen_get_result, METH_VARARGS, NULL}, { (char *)"data_screen_swigregister", data_screen_swigregister, METH_VARARGS, NULL}, { (char *)"new_gamedata", _wrap_new_gamedata, METH_VARARGS, NULL}, { (char *)"delete_gamedata", _wrap_delete_gamedata, METH_VARARGS, NULL}, { (char *)"gamedata_put", _wrap_gamedata_put, METH_VARARGS, NULL}, { (char *)"gamedata_get", _wrap_gamedata_get, METH_VARARGS, NULL}, { (char *)"gamedata_directory", _wrap_gamedata_directory, METH_VARARGS, NULL}, { (char *)"gamedata_description", _wrap_gamedata_description, METH_VARARGS, NULL}, { (char *)"gamedata_location", _wrap_gamedata_location, METH_VARARGS, NULL}, { (char *)"gamedata_gametime", _wrap_gamedata_gametime, METH_VARARGS, NULL}, { (char *)"gamedata_timestamp", _wrap_gamedata_timestamp, METH_VARARGS, NULL}, { (char *)"gamedata_set_description", _wrap_gamedata_set_description, METH_VARARGS, NULL}, { (char *)"gamedata_set_directory", _wrap_gamedata_set_directory, METH_VARARGS, NULL}, { (char *)"gamedata_set_gametime", _wrap_gamedata_set_gametime, METH_VARARGS, NULL}, { (char *)"gamedata_init", _wrap_gamedata_init, METH_VARARGS, NULL}, { (char *)"gamedata_cleanup", _wrap_gamedata_cleanup, METH_VARARGS, NULL}, { (char *)"gamedata_load_characters", _wrap_gamedata_load_characters, METH_VARARGS, NULL}, { (char *)"gamedata_load_quests", _wrap_gamedata_load_quests, METH_VARARGS, NULL}, { (char *)"gamedata_load_mapengine", _wrap_gamedata_load_mapengine, METH_VARARGS, NULL}, { (char *)"gamedata_load_audio", _wrap_gamedata_load_audio, METH_VARARGS, NULL}, { (char *)"gamedata_load", _wrap_gamedata_load, METH_VARARGS, NULL}, { (char *)"gamedata_load_newest", _wrap_gamedata_load_newest, METH_VARARGS, NULL}, { (char *)"gamedata_save", _wrap_gamedata_save, METH_VARARGS, NULL}, { (char *)"gamedata_unload", _wrap_gamedata_unload, METH_VARARGS, NULL}, { (char *)"gamedata_next_save", _wrap_gamedata_next_save, METH_VARARGS, NULL}, { (char *)"gamedata_user_data_dir", _wrap_gamedata_user_data_dir, METH_VARARGS, NULL}, { (char *)"gamedata_game_data_dir", _wrap_gamedata_game_data_dir, METH_VARARGS, NULL}, { (char *)"gamedata_get_saved_game", _wrap_gamedata_get_saved_game, METH_VARARGS, NULL}, { (char *)"gamedata_quests", _wrap_gamedata_quests, METH_VARARGS, NULL}, { (char *)"gamedata_player", _wrap_gamedata_player, METH_VARARGS, NULL}, { (char *)"gamedata_get_character", _wrap_gamedata_get_character, METH_VARARGS, NULL}, { (char *)"gamedata_get_quest", _wrap_gamedata_get_quest, METH_VARARGS, NULL}, { (char *)"gamedata_characters", _wrap_gamedata_characters, METH_VARARGS, NULL}, { (char *)"gamedata_engine", _wrap_gamedata_engine, METH_VARARGS, NULL}, { (char *)"gamedata_swigregister", gamedata_swigregister, METH_VARARGS, NULL}, { (char *)"game_User_data_dir_get", _wrap_game_User_data_dir_get, METH_VARARGS, NULL}, { (char *)"game_User_data_dir_set", _wrap_game_User_data_dir_set, METH_VARARGS, NULL}, { (char *)"game_Global_data_dir_get", _wrap_game_Global_data_dir_get, METH_VARARGS, NULL}, { (char *)"game_Global_data_dir_set", _wrap_game_Global_data_dir_set, METH_VARARGS, NULL}, { (char *)"game_Game_data_dir_get", _wrap_game_Game_data_dir_get, METH_VARARGS, NULL}, { (char *)"game_Game_data_dir_set", _wrap_game_Game_data_dir_set, METH_VARARGS, NULL}, { (char *)"game_init", _wrap_game_init, METH_VARARGS, NULL}, { (char *)"game_set_game_data_dir", _wrap_game_set_game_data_dir, METH_VARARGS, NULL}, { (char *)"game_user_data_dir", _wrap_game_user_data_dir, METH_VARARGS, NULL}, { (char *)"game_global_data_dir", _wrap_game_global_data_dir, METH_VARARGS, NULL}, { (char *)"game_game_data_dir", _wrap_game_game_data_dir, METH_VARARGS, NULL}, { (char *)"game_find_file", _wrap_game_find_file, METH_VARARGS, NULL}, { (char *)"game_find_directory", _wrap_game_find_directory, METH_VARARGS, NULL}, { (char *)"new_game", _wrap_new_game, METH_VARARGS, NULL}, { (char *)"delete_game", _wrap_delete_game, METH_VARARGS, NULL}, { (char *)"game_swigregister", game_swigregister, METH_VARARGS, NULL}, { (char *)"nls_init", _wrap_nls_init, METH_VARARGS, NULL}, { (char *)"nls_set_language", _wrap_nls_set_language, METH_VARARGS, NULL}, { (char *)"nls_translate", _wrap_nls_translate, METH_VARARGS, NULL}, { (char *)"new_nls", _wrap_new_nls, METH_VARARGS, NULL}, { (char *)"delete_nls", _wrap_delete_nls, METH_VARARGS, NULL}, { (char *)"nls_swigregister", nls_swigregister, METH_VARARGS, NULL}, { NULL, NULL, 0, NULL } }; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (BEGIN) -------- */ static void *_p_text_bubbleTo_p_win_label(void *x) { return (void *)((win_label *) ((text_bubble *) x)); } static void *_p_time_eventTo_p_event(void *x) { return (void *)((event *) ((time_event *) x)); } static void *_p_leave_eventTo_p_event(void *x) { return (void *)((event *) (map_event *) ((leave_event *) x)); } static void *_p_map_eventTo_p_event(void *x) { return (void *)((event *) ((map_event *) x)); } static void *_p_enter_eventTo_p_event(void *x) { return (void *)((event *) (map_event *) ((enter_event *) x)); } static void *_p_action_eventTo_p_event(void *x) { return (void *)((event *) (map_event *) ((action_event *) x)); } static void *_p_win_baseTo_p_win_background(void *x) { return (void *)((win_background *) ((win_base *) x)); } static void *_p_win_scrollTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *)(win_container *) ((win_scroll *) x)); } static void *_p_win_imageTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *) ((win_image *) x)); } static void *_p_win_labelTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *) ((win_label *) x)); } static void *_p_win_selectTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *)(win_container *)(win_scroll *) ((win_select *) x)); } static void *_p_text_bubbleTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *)(win_label *) ((text_bubble *) x)); } static void *_p_dialog_screenTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *)(win_container *) ((dialog_screen *) x)); } static void *_p_data_screenTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *)(win_container *) ((data_screen *) x)); } static void *_p_win_containerTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *) ((win_container *) x)); } static void *_p_win_writeTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *) ((win_write *) x)); } static void *_p_win_mapviewTo_p_win_background(void *x) { return (void *)((win_background *) (win_base *) ((win_mapview *) x)); } static void *_p_win_scrollTo_p_win_container(void *x) { return (void *)((win_container *) ((win_scroll *) x)); } static void *_p_win_selectTo_p_win_container(void *x) { return (void *)((win_container *) (win_scroll *) ((win_select *) x)); } static void *_p_dialog_screenTo_p_win_container(void *x) { return (void *)((win_container *) ((dialog_screen *) x)); } static void *_p_data_screenTo_p_win_container(void *x) { return (void *)((win_container *) ((data_screen *) x)); } static void *_p_landmapTo_p_event_list(void *x) { return (void *)((event_list *) ((landmap *) x)); } static void *_p_mapcharacterTo_p_event_list(void *x) { return (void *)((event_list *) ((mapcharacter *) x)); } static void *_p_characterTo_p_event_list(void *x) { return (void *)((event_list *) (mapcharacter *) ((character *) x)); } static void *_p_win_writeTo_p_drawable(void *x) { return (void *)((drawable *) (surface *)(image *)(label *)(label_input *) ((win_write *) x)); } static void *_p_label_inputTo_p_drawable(void *x) { return (void *)((drawable *) (surface *)(image *)(label *) ((label_input *) x)); } static void *_p_win_labelTo_p_drawable(void *x) { return (void *)((drawable *) (surface *)(image *)(label *) ((win_label *) x)); } static void *_p_imageTo_p_drawable(void *x) { return (void *)((drawable *) (surface *) ((image *) x)); } static void *_p_animationTo_p_drawable(void *x) { return (void *)((drawable *) ((animation *) x)); } static void *_p_labelTo_p_drawable(void *x) { return (void *)((drawable *) (surface *)(image *) ((label *) x)); } static void *_p_text_bubbleTo_p_drawable(void *x) { return (void *)((drawable *) (surface *)(image *)(label *)(win_label *) ((text_bubble *) x)); } static void *_p_mapsquare_walkable_areaTo_p_drawable(void *x) { return (void *)((drawable *) ((mapsquare_walkable_area *) x)); } static void *_p_win_mapviewTo_p_drawable(void *x) { return (void *)((drawable *) (mapview *) ((win_mapview *) x)); } static void *_p_mapviewTo_p_drawable(void *x) { return (void *)((drawable *) ((mapview *) x)); } static void *_p_mapobjectTo_p_drawable(void *x) { return (void *)((drawable *) (mapsquare_walkable_area *) ((mapobject *) x)); } static void *_p_win_imageTo_p_drawable(void *x) { return (void *)((drawable *) (surface *)(image *) ((win_image *) x)); } static void *_p_surfaceTo_p_drawable(void *x) { return (void *)((drawable *) ((surface *) x)); } static void *_p_characterTo_p_drawable(void *x) { return (void *)((drawable *) (mapsquare_walkable_area *)(mapcharacter *) ((character *) x)); } static void *_p_mapcharacterTo_p_drawable(void *x) { return (void *)((drawable *) (mapsquare_walkable_area *) ((mapcharacter *) x)); } static void *_p_label_inputTo_p_surface(void *x) { return (void *)((surface *) (image *)(label *) ((label_input *) x)); } static void *_p_win_imageTo_p_surface(void *x) { return (void *)((surface *) (image *) ((win_image *) x)); } static void *_p_imageTo_p_surface(void *x) { return (void *)((surface *) ((image *) x)); } static void *_p_win_labelTo_p_surface(void *x) { return (void *)((surface *) (image *)(label *) ((win_label *) x)); } static void *_p_text_bubbleTo_p_surface(void *x) { return (void *)((surface *) (image *)(label *)(win_label *) ((text_bubble *) x)); } static void *_p_labelTo_p_surface(void *x) { return (void *)((surface *) (image *) ((label *) x)); } static void *_p_win_writeTo_p_surface(void *x) { return (void *)((surface *) (image *)(label *)(label_input *) ((win_write *) x)); } static void *_p_win_baseTo_p_win_event(void *x) { return (void *)((win_event *) ((win_base *) x)); } static void *_p_win_scrollTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *)(win_container *) ((win_scroll *) x)); } static void *_p_win_imageTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *) ((win_image *) x)); } static void *_p_win_labelTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *) ((win_label *) x)); } static void *_p_win_selectTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *)(win_container *)(win_scroll *) ((win_select *) x)); } static void *_p_text_bubbleTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *)(win_label *) ((text_bubble *) x)); } static void *_p_dialog_screenTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *)(win_container *) ((dialog_screen *) x)); } static void *_p_data_screenTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *)(win_container *) ((data_screen *) x)); } static void *_p_win_containerTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *) ((win_container *) x)); } static void *_p_win_writeTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *) ((win_write *) x)); } static void *_p_win_mapviewTo_p_win_event(void *x) { return (void *)((win_event *) (win_base *) ((win_mapview *) x)); } static void *_p_leave_eventTo_p_map_event(void *x) { return (void *)((map_event *) ((leave_event *) x)); } static void *_p_enter_eventTo_p_map_event(void *x) { return (void *)((map_event *) ((enter_event *) x)); } static void *_p_action_eventTo_p_map_event(void *x) { return (void *)((map_event *) ((action_event *) x)); } static void *_p_characterTo_p_mapcharacter(void *x) { return (void *)((mapcharacter *) ((character *) x)); } static void *_p_character_baseTo_p_storage(void *x) { return (void *)((storage *) ((character_base *) x)); } static void *_p_questTo_p_storage(void *x) { return (void *)((storage *) ((quest *) x)); } static void *_p_mapcharacterTo_p_storage(void *x) { return (void *)((storage *) (character_base *) ((mapcharacter *) x)); } static void *_p_characterTo_p_storage(void *x) { return (void *)((storage *) (character_base *)(mapcharacter *) ((character *) x)); } static void *_p_mapsquareTo_p_mapsquare_walkable(void *x) { return (void *)((mapsquare_walkable *) ((mapsquare *) x)); } static void *_p_win_scrollTo_p_win_scrollbar(void *x) { return (void *)((win_scrollbar *) ((win_scroll *) x)); } static void *_p_win_selectTo_p_win_scrollbar(void *x) { return (void *)((win_scrollbar *) (win_scroll *) ((win_select *) x)); } static void *_p_win_mapviewTo_p_mapview(void *x) { return (void *)((mapview *) ((win_mapview *) x)); } static void *_p_label_inputTo_p_image(void *x) { return (void *)((image *) (label *) ((label_input *) x)); } static void *_p_win_imageTo_p_image(void *x) { return (void *)((image *) ((win_image *) x)); } static void *_p_win_labelTo_p_image(void *x) { return (void *)((image *) (label *) ((win_label *) x)); } static void *_p_text_bubbleTo_p_image(void *x) { return (void *)((image *) (label *)(win_label *) ((text_bubble *) x)); } static void *_p_labelTo_p_image(void *x) { return (void *)((image *) ((label *) x)); } static void *_p_win_writeTo_p_image(void *x) { return (void *)((image *) (label *)(label_input *) ((win_write *) x)); } static void *_p_mapcharacterTo_p_character_base(void *x) { return (void *)((character_base *) ((mapcharacter *) x)); } static void *_p_characterTo_p_character_base(void *x) { return (void *)((character_base *) (mapcharacter *) ((character *) x)); } static void *_p_mapobjectTo_p_mapsquare_walkable_area(void *x) { return (void *)((mapsquare_walkable_area *) ((mapobject *) x)); } static void *_p_mapcharacterTo_p_mapsquare_walkable_area(void *x) { return (void *)((mapsquare_walkable_area *) ((mapcharacter *) x)); } static void *_p_characterTo_p_mapsquare_walkable_area(void *x) { return (void *)((mapsquare_walkable_area *) (mapcharacter *) ((character *) x)); } static void *_p_label_inputTo_p_label(void *x) { return (void *)((label *) ((label_input *) x)); } static void *_p_win_labelTo_p_label(void *x) { return (void *)((label *) ((win_label *) x)); } static void *_p_text_bubbleTo_p_label(void *x) { return (void *)((label *) (win_label *) ((text_bubble *) x)); } static void *_p_win_writeTo_p_label(void *x) { return (void *)((label *) (label_input *) ((win_write *) x)); } static void *_p_igzstreamTo_p_gz_file(void *x) { return (void *)((gz_file *) ((igzstream *) x)); } static void *_p_ogzstreamTo_p_gz_file(void *x) { return (void *)((gz_file *) ((ogzstream *) x)); } static void *_p_win_writeTo_p_label_input(void *x) { return (void *)((label_input *) ((win_write *) x)); } static void *_p_win_selectTo_p_win_scroll(void *x) { return (void *)((win_scroll *) ((win_select *) x)); } static void *_p_win_baseTo_p_drawing_area(void *x) { return (void *)((drawing_area *) ((win_base *) x)); } static void *_p_win_scrollTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *)(win_container *) ((win_scroll *) x)); } static void *_p_win_imageTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *) ((win_image *) x)); } static void *_p_win_labelTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *) ((win_label *) x)); } static void *_p_win_selectTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *)(win_container *)(win_scroll *) ((win_select *) x)); } static void *_p_text_bubbleTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *)(win_label *) ((text_bubble *) x)); } static void *_p_dialog_screenTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *)(win_container *) ((dialog_screen *) x)); } static void *_p_data_screenTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *)(win_container *) ((data_screen *) x)); } static void *_p_win_containerTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *) ((win_container *) x)); } static void *_p_win_writeTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *) ((win_write *) x)); } static void *_p_win_mapviewTo_p_drawing_area(void *x) { return (void *)((drawing_area *) (win_base *) ((win_mapview *) x)); } static void *_p_win_scrollTo_p_win_base(void *x) { return (void *)((win_base *) (win_container *) ((win_scroll *) x)); } static void *_p_win_imageTo_p_win_base(void *x) { return (void *)((win_base *) ((win_image *) x)); } static void *_p_win_labelTo_p_win_base(void *x) { return (void *)((win_base *) ((win_label *) x)); } static void *_p_win_selectTo_p_win_base(void *x) { return (void *)((win_base *) (win_container *)(win_scroll *) ((win_select *) x)); } static void *_p_text_bubbleTo_p_win_base(void *x) { return (void *)((win_base *) (win_label *) ((text_bubble *) x)); } static void *_p_dialog_screenTo_p_win_base(void *x) { return (void *)((win_base *) (win_container *) ((dialog_screen *) x)); } static void *_p_data_screenTo_p_win_base(void *x) { return (void *)((win_base *) (win_container *) ((data_screen *) x)); } static void *_p_win_containerTo_p_win_base(void *x) { return (void *)((win_base *) ((win_container *) x)); } static void *_p_win_writeTo_p_win_base(void *x) { return (void *)((win_base *) ((win_write *) x)); } static void *_p_win_mapviewTo_p_win_base(void *x) { return (void *)((win_base *) ((win_mapview *) x)); } static void *_p_win_baseTo_p_win_border(void *x) { return (void *)((win_border *) ((win_base *) x)); } static void *_p_win_scrollTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *)(win_container *) ((win_scroll *) x)); } static void *_p_win_imageTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *) ((win_image *) x)); } static void *_p_win_labelTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *) ((win_label *) x)); } static void *_p_win_selectTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *)(win_container *)(win_scroll *) ((win_select *) x)); } static void *_p_text_bubbleTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *)(win_label *) ((text_bubble *) x)); } static void *_p_dialog_screenTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *)(win_container *) ((dialog_screen *) x)); } static void *_p_data_screenTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *)(win_container *) ((data_screen *) x)); } static void *_p_win_containerTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *) ((win_container *) x)); } static void *_p_win_writeTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *) ((win_write *) x)); } static void *_p_win_mapviewTo_p_win_border(void *x) { return (void *)((win_border *) (win_base *) ((win_mapview *) x)); } static swig_type_info _swigt__p_SDLKey = {"_p_SDLKey", "enum SDLKey *|SDLKey *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SDLMod = {"_p_SDLMod", "enum SDLMod *|SDLMod *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SDL_RWops = {"_p_SDL_RWops", "SDL_RWops *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SDL_Rect = {"_p_SDL_Rect", "SDL_Rect *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_SDL_Surface = {"_p_SDL_Surface", "SDL_Surface *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_action_event = {"_p_action_event", "action_event *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_adonthell = {"_p_adonthell", "adonthell *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_animation = {"_p_animation", "animation *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_animationframe = {"_p_animationframe", "animationframe *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_audio = {"_p_audio", "audio *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_character = {"_p_character", "character *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_character_base = {"_p_character_base", "character_base *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_config = {"_p_config", "config *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_data_screen = {"_p_data_screen", "data_screen *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_dialog_screen = {"_p_dialog_screen", "dialog_screen *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_dictionaryTcharacter_p_t = {"_p_dictionaryTcharacter_p_t", "dictionary *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_dictionaryTquest_p_t = {"_p_dictionaryTquest_p_t", "dictionary *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_drawable = {"_p_drawable", "drawable *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_drawing_area = {"_p_drawing_area", "drawing_area *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_enter_event = {"_p_enter_event", "enter_event *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_event = {"_p_event", "event *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_event_handler = {"_p_event_handler", "event_handler *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_event_list = {"_p_event_list", "event_list *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_fileops = {"_p_fileops", "fileops *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_game = {"_p_game", "game *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_gamedata = {"_p_gamedata", "gamedata *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_gamedate = {"_p_gamedate", "gamedate *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_gametime = {"_p_gametime", "gametime *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_gz_file = {"_p_gz_file", "gz_file *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_gz_type = {"_p_gz_type", "enum gz_type *|gz_type *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_igzstream = {"_p_igzstream", "igzstream *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_image = {"_p_image", "image *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_input = {"_p_input", "input *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_label = {"_p_label", "label *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_label_input = {"_p_label_input", "label_input *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_landmap = {"_p_landmap", "landmap *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_leave_event = {"_p_leave_event", "leave_event *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_map_event = {"_p_map_event", "map_event *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapcharacter = {"_p_mapcharacter", "mapcharacter *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapobject = {"_p_mapobject", "mapobject *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapsquare = {"_p_mapsquare", "mapsquare *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapsquare_area = {"_p_mapsquare_area", "mapsquare_area *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapsquare_char = {"_p_mapsquare_char", "mapsquare_char *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapsquare_tile = {"_p_mapsquare_tile", "mapsquare_tile *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapsquare_walkable = {"_p_mapsquare_walkable", "mapsquare_walkable *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapsquare_walkable_area = {"_p_mapsquare_walkable_area", "mapsquare_walkable_area *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_mapview = {"_p_mapview", "mapview *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_nls = {"_p_nls", "nls *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_objects = {"_p_objects", "objects *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_ogzstream = {"_p_ogzstream", "ogzstream *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_pairTstd__string_int_t = {"_p_pairTstd__string_int_t", "pair *|pair *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_path = {"_p_path", "path *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_play_state = {"_p_play_state", "enum play_state *|play_state *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_py_object = {"_p_py_object", "py_object *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_quest = {"_p_quest", "quest *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_screen = {"_p_screen", "screen *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_short = {"_p_short", "short *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_storage = {"_p_storage", "storage *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_surface = {"_p_surface", "surface *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_text_bubble = {"_p_text_bubble", "text_bubble *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_time_event = {"_p_time_event", "time_event *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_background = {"_p_win_background", "win_background *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_base = {"_p_win_base", "win_base *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_border = {"_p_win_border", "win_border *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_container = {"_p_win_container", "win_container *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_event = {"_p_win_event", "win_event *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_font = {"_p_win_font", "win_font *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_image = {"_p_win_image", "win_image *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_label = {"_p_win_label", "win_label *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_manager = {"_p_win_manager", "win_manager *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_mapview = {"_p_win_mapview", "win_mapview *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_scroll = {"_p_win_scroll", "win_scroll *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_scrollbar = {"_p_win_scrollbar", "win_scrollbar *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_select = {"_p_win_select", "win_select *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_theme = {"_p_win_theme", "win_theme *", 0, 0, (void*)0, 0}; static swig_type_info _swigt__p_win_write = {"_p_win_write", "win_write *", 0, 0, (void*)0, 0}; static swig_type_info *swig_type_initial[] = { &_swigt__p_SDLKey, &_swigt__p_SDLMod, &_swigt__p_SDL_RWops, &_swigt__p_SDL_Rect, &_swigt__p_SDL_Surface, &_swigt__p_action_event, &_swigt__p_adonthell, &_swigt__p_animation, &_swigt__p_animationframe, &_swigt__p_audio, &_swigt__p_char, &_swigt__p_character, &_swigt__p_character_base, &_swigt__p_config, &_swigt__p_data_screen, &_swigt__p_dialog_screen, &_swigt__p_dictionaryTcharacter_p_t, &_swigt__p_dictionaryTquest_p_t, &_swigt__p_drawable, &_swigt__p_drawing_area, &_swigt__p_enter_event, &_swigt__p_event, &_swigt__p_event_handler, &_swigt__p_event_list, &_swigt__p_fileops, &_swigt__p_game, &_swigt__p_gamedata, &_swigt__p_gamedate, &_swigt__p_gametime, &_swigt__p_gz_file, &_swigt__p_gz_type, &_swigt__p_igzstream, &_swigt__p_image, &_swigt__p_input, &_swigt__p_label, &_swigt__p_label_input, &_swigt__p_landmap, &_swigt__p_leave_event, &_swigt__p_map_event, &_swigt__p_mapcharacter, &_swigt__p_mapobject, &_swigt__p_mapsquare, &_swigt__p_mapsquare_area, &_swigt__p_mapsquare_char, &_swigt__p_mapsquare_tile, &_swigt__p_mapsquare_walkable, &_swigt__p_mapsquare_walkable_area, &_swigt__p_mapview, &_swigt__p_nls, &_swigt__p_objects, &_swigt__p_ogzstream, &_swigt__p_pairTstd__string_int_t, &_swigt__p_path, &_swigt__p_play_state, &_swigt__p_py_object, &_swigt__p_quest, &_swigt__p_screen, &_swigt__p_short, &_swigt__p_storage, &_swigt__p_surface, &_swigt__p_text_bubble, &_swigt__p_time_event, &_swigt__p_unsigned_int, &_swigt__p_win_background, &_swigt__p_win_base, &_swigt__p_win_border, &_swigt__p_win_container, &_swigt__p_win_event, &_swigt__p_win_font, &_swigt__p_win_image, &_swigt__p_win_label, &_swigt__p_win_manager, &_swigt__p_win_mapview, &_swigt__p_win_scroll, &_swigt__p_win_scrollbar, &_swigt__p_win_select, &_swigt__p_win_theme, &_swigt__p_win_write, }; static swig_cast_info _swigc__p_SDLKey[] = { {&_swigt__p_SDLKey, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SDLMod[] = { {&_swigt__p_SDLMod, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SDL_RWops[] = { {&_swigt__p_SDL_RWops, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SDL_Rect[] = { {&_swigt__p_SDL_Rect, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_SDL_Surface[] = { {&_swigt__p_SDL_Surface, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_action_event[] = { {&_swigt__p_action_event, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_adonthell[] = { {&_swigt__p_adonthell, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_animation[] = { {&_swigt__p_animation, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_animationframe[] = { {&_swigt__p_animationframe, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_audio[] = { {&_swigt__p_audio, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_char[] = { {&_swigt__p_char, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_character[] = { {&_swigt__p_character, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_character_base[] = { {&_swigt__p_character_base, 0, 0, 0}, {&_swigt__p_mapcharacter, _p_mapcharacterTo_p_character_base, 0, 0}, {&_swigt__p_character, _p_characterTo_p_character_base, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_config[] = { {&_swigt__p_config, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_data_screen[] = { {&_swigt__p_data_screen, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_dialog_screen[] = { {&_swigt__p_dialog_screen, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_dictionaryTcharacter_p_t[] = { {&_swigt__p_dictionaryTcharacter_p_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_dictionaryTquest_p_t[] = { {&_swigt__p_dictionaryTquest_p_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_drawable[] = { {&_swigt__p_win_write, _p_win_writeTo_p_drawable, 0, 0}, {&_swigt__p_label_input, _p_label_inputTo_p_drawable, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_drawable, 0, 0}, {&_swigt__p_label, _p_labelTo_p_drawable, 0, 0}, {&_swigt__p_animation, _p_animationTo_p_drawable, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_drawable, 0, 0}, {&_swigt__p_drawable, 0, 0, 0}, {&_swigt__p_mapsquare_walkable_area, _p_mapsquare_walkable_areaTo_p_drawable, 0, 0}, {&_swigt__p_win_mapview, _p_win_mapviewTo_p_drawable, 0, 0}, {&_swigt__p_mapview, _p_mapviewTo_p_drawable, 0, 0}, {&_swigt__p_mapobject, _p_mapobjectTo_p_drawable, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_drawable, 0, 0}, {&_swigt__p_image, _p_imageTo_p_drawable, 0, 0}, {&_swigt__p_surface, _p_surfaceTo_p_drawable, 0, 0}, {&_swigt__p_character, _p_characterTo_p_drawable, 0, 0}, {&_swigt__p_mapcharacter, _p_mapcharacterTo_p_drawable, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_drawing_area[] = { {&_swigt__p_win_base, _p_win_baseTo_p_drawing_area, 0, 0}, {&_swigt__p_win_scroll, _p_win_scrollTo_p_drawing_area, 0, 0}, {&_swigt__p_drawing_area, 0, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_drawing_area, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_drawing_area, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_drawing_area, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_drawing_area, 0, 0}, {&_swigt__p_dialog_screen, _p_dialog_screenTo_p_drawing_area, 0, 0}, {&_swigt__p_data_screen, _p_data_screenTo_p_drawing_area, 0, 0}, {&_swigt__p_win_container, _p_win_containerTo_p_drawing_area, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_drawing_area, 0, 0}, {&_swigt__p_win_mapview, _p_win_mapviewTo_p_drawing_area, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_enter_event[] = { {&_swigt__p_enter_event, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_event[] = { {&_swigt__p_time_event, _p_time_eventTo_p_event, 0, 0}, {&_swigt__p_leave_event, _p_leave_eventTo_p_event, 0, 0}, {&_swigt__p_event, 0, 0, 0}, {&_swigt__p_map_event, _p_map_eventTo_p_event, 0, 0}, {&_swigt__p_enter_event, _p_enter_eventTo_p_event, 0, 0}, {&_swigt__p_action_event, _p_action_eventTo_p_event, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_event_handler[] = { {&_swigt__p_event_handler, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_event_list[] = { {&_swigt__p_landmap, _p_landmapTo_p_event_list, 0, 0}, {&_swigt__p_event_list, 0, 0, 0}, {&_swigt__p_mapcharacter, _p_mapcharacterTo_p_event_list, 0, 0}, {&_swigt__p_character, _p_characterTo_p_event_list, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_fileops[] = { {&_swigt__p_fileops, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_game[] = { {&_swigt__p_game, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_gamedata[] = { {&_swigt__p_gamedata, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_gamedate[] = { {&_swigt__p_gamedate, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_gametime[] = { {&_swigt__p_gametime, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_gz_file[] = { {&_swigt__p_igzstream, _p_igzstreamTo_p_gz_file, 0, 0}, {&_swigt__p_ogzstream, _p_ogzstreamTo_p_gz_file, 0, 0}, {&_swigt__p_gz_file, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_gz_type[] = { {&_swigt__p_gz_type, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_igzstream[] = { {&_swigt__p_igzstream, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_image[] = { {&_swigt__p_label_input, _p_label_inputTo_p_image, 0, 0}, {&_swigt__p_image, 0, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_image, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_image, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_image, 0, 0}, {&_swigt__p_label, _p_labelTo_p_image, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_image, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_input[] = { {&_swigt__p_input, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_label[] = { {&_swigt__p_label_input, _p_label_inputTo_p_label, 0, 0}, {&_swigt__p_label, 0, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_label, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_label, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_label, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_label_input[] = { {&_swigt__p_label_input, 0, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_label_input, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_landmap[] = { {&_swigt__p_landmap, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_leave_event[] = { {&_swigt__p_leave_event, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_map_event[] = { {&_swigt__p_leave_event, _p_leave_eventTo_p_map_event, 0, 0}, {&_swigt__p_map_event, 0, 0, 0}, {&_swigt__p_enter_event, _p_enter_eventTo_p_map_event, 0, 0}, {&_swigt__p_action_event, _p_action_eventTo_p_map_event, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapcharacter[] = { {&_swigt__p_mapcharacter, 0, 0, 0}, {&_swigt__p_character, _p_characterTo_p_mapcharacter, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapobject[] = { {&_swigt__p_mapobject, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapsquare[] = { {&_swigt__p_mapsquare, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapsquare_area[] = { {&_swigt__p_mapsquare_area, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapsquare_char[] = { {&_swigt__p_mapsquare_char, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapsquare_tile[] = { {&_swigt__p_mapsquare_tile, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapsquare_walkable[] = { {&_swigt__p_mapsquare, _p_mapsquareTo_p_mapsquare_walkable, 0, 0}, {&_swigt__p_mapsquare_walkable, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapsquare_walkable_area[] = { {&_swigt__p_mapobject, _p_mapobjectTo_p_mapsquare_walkable_area, 0, 0}, {&_swigt__p_mapsquare_walkable_area, 0, 0, 0}, {&_swigt__p_mapcharacter, _p_mapcharacterTo_p_mapsquare_walkable_area, 0, 0}, {&_swigt__p_character, _p_characterTo_p_mapsquare_walkable_area, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_mapview[] = { {&_swigt__p_mapview, 0, 0, 0}, {&_swigt__p_win_mapview, _p_win_mapviewTo_p_mapview, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_nls[] = { {&_swigt__p_nls, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_objects[] = { {&_swigt__p_objects, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_ogzstream[] = { {&_swigt__p_ogzstream, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_pairTstd__string_int_t[] = { {&_swigt__p_pairTstd__string_int_t, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_path[] = { {&_swigt__p_path, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_play_state[] = { {&_swigt__p_play_state, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_py_object[] = { {&_swigt__p_py_object, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_quest[] = { {&_swigt__p_quest, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_screen[] = { {&_swigt__p_screen, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_short[] = { {&_swigt__p_short, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_storage[] = { {&_swigt__p_character_base, _p_character_baseTo_p_storage, 0, 0}, {&_swigt__p_quest, _p_questTo_p_storage, 0, 0}, {&_swigt__p_storage, 0, 0, 0}, {&_swigt__p_mapcharacter, _p_mapcharacterTo_p_storage, 0, 0}, {&_swigt__p_character, _p_characterTo_p_storage, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_surface[] = { {&_swigt__p_label_input, _p_label_inputTo_p_surface, 0, 0}, {&_swigt__p_surface, 0, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_surface, 0, 0}, {&_swigt__p_image, _p_imageTo_p_surface, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_surface, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_surface, 0, 0}, {&_swigt__p_label, _p_labelTo_p_surface, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_surface, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_text_bubble[] = { {&_swigt__p_text_bubble, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_time_event[] = { {&_swigt__p_time_event, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_unsigned_int[] = { {&_swigt__p_unsigned_int, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_background[] = { {&_swigt__p_win_base, _p_win_baseTo_p_win_background, 0, 0}, {&_swigt__p_win_scroll, _p_win_scrollTo_p_win_background, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_win_background, 0, 0}, {&_swigt__p_win_background, 0, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_win_background, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_win_background, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_win_background, 0, 0}, {&_swigt__p_dialog_screen, _p_dialog_screenTo_p_win_background, 0, 0}, {&_swigt__p_data_screen, _p_data_screenTo_p_win_background, 0, 0}, {&_swigt__p_win_container, _p_win_containerTo_p_win_background, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_win_background, 0, 0}, {&_swigt__p_win_mapview, _p_win_mapviewTo_p_win_background, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_base[] = { {&_swigt__p_win_base, 0, 0, 0}, {&_swigt__p_win_scroll, _p_win_scrollTo_p_win_base, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_win_base, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_win_base, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_win_base, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_win_base, 0, 0}, {&_swigt__p_dialog_screen, _p_dialog_screenTo_p_win_base, 0, 0}, {&_swigt__p_data_screen, _p_data_screenTo_p_win_base, 0, 0}, {&_swigt__p_win_container, _p_win_containerTo_p_win_base, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_win_base, 0, 0}, {&_swigt__p_win_mapview, _p_win_mapviewTo_p_win_base, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_border[] = { {&_swigt__p_win_base, _p_win_baseTo_p_win_border, 0, 0}, {&_swigt__p_win_scroll, _p_win_scrollTo_p_win_border, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_win_border, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_win_border, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_win_border, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_win_border, 0, 0}, {&_swigt__p_dialog_screen, _p_dialog_screenTo_p_win_border, 0, 0}, {&_swigt__p_data_screen, _p_data_screenTo_p_win_border, 0, 0}, {&_swigt__p_win_container, _p_win_containerTo_p_win_border, 0, 0}, {&_swigt__p_win_border, 0, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_win_border, 0, 0}, {&_swigt__p_win_mapview, _p_win_mapviewTo_p_win_border, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_container[] = { {&_swigt__p_win_scroll, _p_win_scrollTo_p_win_container, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_win_container, 0, 0}, {&_swigt__p_dialog_screen, _p_dialog_screenTo_p_win_container, 0, 0}, {&_swigt__p_data_screen, _p_data_screenTo_p_win_container, 0, 0}, {&_swigt__p_win_container, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_event[] = { {&_swigt__p_win_base, _p_win_baseTo_p_win_event, 0, 0}, {&_swigt__p_win_scroll, _p_win_scrollTo_p_win_event, 0, 0}, {&_swigt__p_win_image, _p_win_imageTo_p_win_event, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_win_event, 0, 0}, {&_swigt__p_win_label, _p_win_labelTo_p_win_event, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_win_event, 0, 0}, {&_swigt__p_dialog_screen, _p_dialog_screenTo_p_win_event, 0, 0}, {&_swigt__p_data_screen, _p_data_screenTo_p_win_event, 0, 0}, {&_swigt__p_win_event, 0, 0, 0}, {&_swigt__p_win_container, _p_win_containerTo_p_win_event, 0, 0}, {&_swigt__p_win_write, _p_win_writeTo_p_win_event, 0, 0}, {&_swigt__p_win_mapview, _p_win_mapviewTo_p_win_event, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_font[] = { {&_swigt__p_win_font, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_image[] = { {&_swigt__p_win_image, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_label[] = { {&_swigt__p_win_label, 0, 0, 0}, {&_swigt__p_text_bubble, _p_text_bubbleTo_p_win_label, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_manager[] = { {&_swigt__p_win_manager, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_mapview[] = { {&_swigt__p_win_mapview, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_scroll[] = { {&_swigt__p_win_scroll, 0, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_win_scroll, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_scrollbar[] = { {&_swigt__p_win_scroll, _p_win_scrollTo_p_win_scrollbar, 0, 0}, {&_swigt__p_win_scrollbar, 0, 0, 0}, {&_swigt__p_win_select, _p_win_selectTo_p_win_scrollbar, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_select[] = { {&_swigt__p_win_select, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_theme[] = { {&_swigt__p_win_theme, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info _swigc__p_win_write[] = { {&_swigt__p_win_write, 0, 0, 0},{0, 0, 0, 0}}; static swig_cast_info *swig_cast_initial[] = { _swigc__p_SDLKey, _swigc__p_SDLMod, _swigc__p_SDL_RWops, _swigc__p_SDL_Rect, _swigc__p_SDL_Surface, _swigc__p_action_event, _swigc__p_adonthell, _swigc__p_animation, _swigc__p_animationframe, _swigc__p_audio, _swigc__p_char, _swigc__p_character, _swigc__p_character_base, _swigc__p_config, _swigc__p_data_screen, _swigc__p_dialog_screen, _swigc__p_dictionaryTcharacter_p_t, _swigc__p_dictionaryTquest_p_t, _swigc__p_drawable, _swigc__p_drawing_area, _swigc__p_enter_event, _swigc__p_event, _swigc__p_event_handler, _swigc__p_event_list, _swigc__p_fileops, _swigc__p_game, _swigc__p_gamedata, _swigc__p_gamedate, _swigc__p_gametime, _swigc__p_gz_file, _swigc__p_gz_type, _swigc__p_igzstream, _swigc__p_image, _swigc__p_input, _swigc__p_label, _swigc__p_label_input, _swigc__p_landmap, _swigc__p_leave_event, _swigc__p_map_event, _swigc__p_mapcharacter, _swigc__p_mapobject, _swigc__p_mapsquare, _swigc__p_mapsquare_area, _swigc__p_mapsquare_char, _swigc__p_mapsquare_tile, _swigc__p_mapsquare_walkable, _swigc__p_mapsquare_walkable_area, _swigc__p_mapview, _swigc__p_nls, _swigc__p_objects, _swigc__p_ogzstream, _swigc__p_pairTstd__string_int_t, _swigc__p_path, _swigc__p_play_state, _swigc__p_py_object, _swigc__p_quest, _swigc__p_screen, _swigc__p_short, _swigc__p_storage, _swigc__p_surface, _swigc__p_text_bubble, _swigc__p_time_event, _swigc__p_unsigned_int, _swigc__p_win_background, _swigc__p_win_base, _swigc__p_win_border, _swigc__p_win_container, _swigc__p_win_event, _swigc__p_win_font, _swigc__p_win_image, _swigc__p_win_label, _swigc__p_win_manager, _swigc__p_win_mapview, _swigc__p_win_scroll, _swigc__p_win_scrollbar, _swigc__p_win_select, _swigc__p_win_theme, _swigc__p_win_write, }; /* -------- TYPE CONVERSION AND EQUIVALENCE RULES (END) -------- */ static swig_const_info swig_const_table[] = { {0, 0, 0, 0.0, 0, 0}}; #ifdef __cplusplus } #endif /* ----------------------------------------------------------------------------- * Type initialization: * This problem is tough by the requirement that no dynamic * memory is used. Also, since swig_type_info structures store pointers to * swig_cast_info structures and swig_cast_info structures store pointers back * to swig_type_info structures, we need some lookup code at initialization. * The idea is that swig generates all the structures that are needed. * The runtime then collects these partially filled structures. * The SWIG_InitializeModule function takes these initial arrays out of * swig_module, and does all the lookup, filling in the swig_module.types * array with the correct data and linking the correct swig_cast_info * structures together. * * The generated swig_type_info structures are assigned staticly to an initial * array. We just loop through that array, and handle each type individually. * First we lookup if this type has been already loaded, and if so, use the * loaded structure instead of the generated one. Then we have to fill in the * cast linked list. The cast data is initially stored in something like a * two-dimensional array. Each row corresponds to a type (there are the same * number of rows as there are in the swig_type_initial array). Each entry in * a column is one of the swig_cast_info structures for that type. * The cast_initial array is actually an array of arrays, because each row has * a variable number of columns. So to actually build the cast linked list, * we find the array of casts associated with the type, and loop through it * adding the casts to the list. The one last trick we need to do is making * sure the type pointer in the swig_cast_info struct is correct. * * First off, we lookup the cast->type name to see if it is already loaded. * There are three cases to handle: * 1) If the cast->type has already been loaded AND the type we are adding * casting info to has not been loaded (it is in this module), THEN we * replace the cast->type pointer with the type pointer that has already * been loaded. * 2) If BOTH types (the one we are adding casting info to, and the * cast->type) are loaded, THEN the cast info has already been loaded by * the previous module so we just ignore it. * 3) Finally, if cast->type has not already been loaded, then we add that * swig_cast_info to the linked list (because the cast->type) pointer will * be correct. * ----------------------------------------------------------------------------- */ #ifdef __cplusplus extern "C" { #if 0 } /* c-mode */ #endif #endif #if 0 #define SWIGRUNTIME_DEBUG #endif SWIGRUNTIME void SWIG_InitializeModule(void *clientdata) { size_t i; swig_module_info *module_head, *iter; int found; clientdata = clientdata; /* check to see if the circular list has been setup, if not, set it up */ if (swig_module.next==0) { /* Initialize the swig_module */ swig_module.type_initial = swig_type_initial; swig_module.cast_initial = swig_cast_initial; swig_module.next = &swig_module; } /* Try and load any already created modules */ module_head = SWIG_GetModule(clientdata); if (!module_head) { /* This is the first module loaded for this interpreter */ /* so set the swig module into the interpreter */ SWIG_SetModule(clientdata, &swig_module); module_head = &swig_module; } else { /* the interpreter has loaded a SWIG module, but has it loaded this one? */ found=0; iter=module_head; do { if (iter==&swig_module) { found=1; break; } iter=iter->next; } while (iter!= module_head); /* if the is found in the list, then all is done and we may leave */ if (found) return; /* otherwise we must add out module into the list */ swig_module.next = module_head->next; module_head->next = &swig_module; } /* Now work on filling in swig_module.types */ #ifdef SWIGRUNTIME_DEBUG printf("SWIG_InitializeModule: size %d\n", swig_module.size); #endif for (i = 0; i < swig_module.size; ++i) { swig_type_info *type = 0; swig_type_info *ret; swig_cast_info *cast; #ifdef SWIGRUNTIME_DEBUG printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); #endif /* if there is another module already loaded */ if (swig_module.next != &swig_module) { type = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, swig_module.type_initial[i]->name); } if (type) { /* Overwrite clientdata field */ #ifdef SWIGRUNTIME_DEBUG printf("SWIG_InitializeModule: found type %s\n", type->name); #endif if (swig_module.type_initial[i]->clientdata) { type->clientdata = swig_module.type_initial[i]->clientdata; #ifdef SWIGRUNTIME_DEBUG printf("SWIG_InitializeModule: found and overwrite type %s \n", type->name); #endif } } else { type = swig_module.type_initial[i]; } /* Insert casting types */ cast = swig_module.cast_initial[i]; while (cast->type) { /* Don't need to add information already in the list */ ret = 0; #ifdef SWIGRUNTIME_DEBUG printf("SWIG_InitializeModule: look cast %s\n", cast->type->name); #endif if (swig_module.next != &swig_module) { ret = SWIG_MangledTypeQueryModule(swig_module.next, &swig_module, cast->type->name); #ifdef SWIGRUNTIME_DEBUG if (ret) printf("SWIG_InitializeModule: found cast %s\n", ret->name); #endif } if (ret) { if (type == swig_module.type_initial[i]) { #ifdef SWIGRUNTIME_DEBUG printf("SWIG_InitializeModule: skip old type %s\n", ret->name); #endif cast->type = ret; ret = 0; } else { /* Check for casting already in the list */ swig_cast_info *ocast = SWIG_TypeCheck(ret->name, type); #ifdef SWIGRUNTIME_DEBUG if (ocast) printf("SWIG_InitializeModule: skip old cast %s\n", ret->name); #endif if (!ocast) ret = 0; } } if (!ret) { #ifdef SWIGRUNTIME_DEBUG printf("SWIG_InitializeModule: adding cast %s\n", cast->type->name); #endif if (type->cast) { type->cast->prev = cast; cast->next = type->cast; } type->cast = cast; } cast++; } /* Set entry in modules->types array equal to the type */ swig_module.types[i] = type; } swig_module.types[i] = 0; #ifdef SWIGRUNTIME_DEBUG printf("**** SWIG_InitializeModule: Cast List ******\n"); for (i = 0; i < swig_module.size; ++i) { int j = 0; swig_cast_info *cast = swig_module.cast_initial[i]; printf("SWIG_InitializeModule: type %d %s\n", i, swig_module.type_initial[i]->name); while (cast->type) { printf("SWIG_InitializeModule: cast type %s\n", cast->type->name); cast++; ++j; } printf("---- Total casts: %d\n",j); } printf("**** SWIG_InitializeModule: Cast List ******\n"); #endif } /* This function will propagate the clientdata field of type to * any new swig_type_info structures that have been added into the list * of equivalent types. It is like calling * SWIG_TypeClientData(type, clientdata) a second time. */ SWIGRUNTIME void SWIG_PropagateClientData(void) { size_t i; swig_cast_info *equiv; static int init_run = 0; if (init_run) return; init_run = 1; for (i = 0; i < swig_module.size; i++) { if (swig_module.types[i]->clientdata) { equiv = swig_module.types[i]->cast; while (equiv) { if (!equiv->converter) { if (equiv->type && !equiv->type->clientdata) SWIG_TypeClientData(equiv->type, swig_module.types[i]->clientdata); } equiv = equiv->next; } } } } #ifdef __cplusplus #if 0 { /* c-mode */ #endif } #endif #ifdef __cplusplus extern "C" { #endif /* Python-specific SWIG API */ #define SWIG_newvarlink() SWIG_Python_newvarlink() #define SWIG_addvarlink(p, name, get_attr, set_attr) SWIG_Python_addvarlink(p, name, get_attr, set_attr) #define SWIG_InstallConstants(d, constants) SWIG_Python_InstallConstants(d, constants) /* ----------------------------------------------------------------------------- * global variable support code. * ----------------------------------------------------------------------------- */ typedef struct swig_globalvar { char *name; /* Name of global variable */ PyObject *(*get_attr)(void); /* Return the current value */ int (*set_attr)(PyObject *); /* Set the value */ struct swig_globalvar *next; } swig_globalvar; typedef struct swig_varlinkobject { PyObject_HEAD swig_globalvar *vars; } swig_varlinkobject; SWIGINTERN PyObject * swig_varlink_repr(swig_varlinkobject *SWIGUNUSEDPARM(v)) { return PyString_FromString(""); } SWIGINTERN PyObject * swig_varlink_str(swig_varlinkobject *v) { PyObject *str = PyString_FromString("("); swig_globalvar *var; for (var = v->vars; var; var=var->next) { PyString_ConcatAndDel(&str,PyString_FromString(var->name)); if (var->next) PyString_ConcatAndDel(&str,PyString_FromString(", ")); } PyString_ConcatAndDel(&str,PyString_FromString(")")); return str; } SWIGINTERN int swig_varlink_print(swig_varlinkobject *v, FILE *fp, int SWIGUNUSEDPARM(flags)) { PyObject *str = swig_varlink_str(v); fprintf(fp,"Swig global variables "); fprintf(fp,"%s\n", PyString_AsString(str)); Py_DECREF(str); return 0; } SWIGINTERN void swig_varlink_dealloc(swig_varlinkobject *v) { swig_globalvar *var = v->vars; while (var) { swig_globalvar *n = var->next; free(var->name); free(var); var = n; } } SWIGINTERN PyObject * swig_varlink_getattr(swig_varlinkobject *v, char *n) { PyObject *res = NULL; swig_globalvar *var = v->vars; while (var) { if (strcmp(var->name,n) == 0) { res = (*var->get_attr)(); break; } var = var->next; } if (res == NULL && !PyErr_Occurred()) { PyErr_SetString(PyExc_NameError,"Unknown C global variable"); } return res; } SWIGINTERN int swig_varlink_setattr(swig_varlinkobject *v, char *n, PyObject *p) { int res = 1; swig_globalvar *var = v->vars; while (var) { if (strcmp(var->name,n) == 0) { res = (*var->set_attr)(p); break; } var = var->next; } if (res == 1 && !PyErr_Occurred()) { PyErr_SetString(PyExc_NameError,"Unknown C global variable"); } return res; } SWIGINTERN PyTypeObject* swig_varlink_type(void) { static char varlink__doc__[] = "Swig var link object"; static PyTypeObject varlink_type; static int type_init = 0; if (!type_init) { const PyTypeObject tmp = { PyObject_HEAD_INIT(NULL) 0, /* Number of items in variable part (ob_size) */ (char *)"swigvarlink", /* Type name (tp_name) */ sizeof(swig_varlinkobject), /* Basic size (tp_basicsize) */ 0, /* Itemsize (tp_itemsize) */ (destructor) swig_varlink_dealloc, /* Deallocator (tp_dealloc) */ (printfunc) swig_varlink_print, /* Print (tp_print) */ (getattrfunc) swig_varlink_getattr, /* get attr (tp_getattr) */ (setattrfunc) swig_varlink_setattr, /* Set attr (tp_setattr) */ 0, /* tp_compare */ (reprfunc) swig_varlink_repr, /* tp_repr */ 0, /* tp_as_number */ 0, /* tp_as_sequence */ 0, /* tp_as_mapping */ 0, /* tp_hash */ 0, /* tp_call */ (reprfunc)swig_varlink_str, /* tp_str */ 0, /* tp_getattro */ 0, /* tp_setattro */ 0, /* tp_as_buffer */ 0, /* tp_flags */ varlink__doc__, /* tp_doc */ 0, /* tp_traverse */ 0, /* tp_clear */ 0, /* tp_richcompare */ 0, /* tp_weaklistoffset */ #if PY_VERSION_HEX >= 0x02020000 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /* tp_iter -> tp_weaklist */ #endif #if PY_VERSION_HEX >= 0x02030000 0, /* tp_del */ #endif #ifdef COUNT_ALLOCS 0,0,0,0 /* tp_alloc -> tp_next */ #endif }; varlink_type = tmp; varlink_type.ob_type = &PyType_Type; type_init = 1; } return &varlink_type; } /* Create a variable linking object for use later */ SWIGINTERN PyObject * SWIG_Python_newvarlink(void) { swig_varlinkobject *result = PyObject_NEW(swig_varlinkobject, swig_varlink_type()); if (result) { result->vars = 0; } return ((PyObject*) result); } SWIGINTERN void SWIG_Python_addvarlink(PyObject *p, char *name, PyObject *(*get_attr)(void), int (*set_attr)(PyObject *p)) { swig_varlinkobject *v = (swig_varlinkobject *) p; swig_globalvar *gv = (swig_globalvar *) malloc(sizeof(swig_globalvar)); if (gv) { size_t size = strlen(name)+1; gv->name = (char *)malloc(size); if (gv->name) { strncpy(gv->name,name,size); gv->get_attr = get_attr; gv->set_attr = set_attr; gv->next = v->vars; } } v->vars = gv; } SWIGINTERN PyObject * SWIG_globals(void) { static PyObject *_SWIG_globals = 0; if (!_SWIG_globals) _SWIG_globals = SWIG_newvarlink(); return _SWIG_globals; } /* ----------------------------------------------------------------------------- * constants/methods manipulation * ----------------------------------------------------------------------------- */ /* Install Constants */ SWIGINTERN void SWIG_Python_InstallConstants(PyObject *d, swig_const_info constants[]) { PyObject *obj = 0; size_t i; for (i = 0; constants[i].type; ++i) { switch(constants[i].type) { case SWIG_PY_POINTER: obj = SWIG_NewPointerObj(constants[i].pvalue, *(constants[i]).ptype,0); break; case SWIG_PY_BINARY: obj = SWIG_NewPackedObj(constants[i].pvalue, constants[i].lvalue, *(constants[i].ptype)); break; default: obj = 0; break; } if (obj) { PyDict_SetItemString(d, constants[i].name, obj); Py_DECREF(obj); } } } /* -----------------------------------------------------------------------------*/ /* Fix SwigMethods to carry the callback ptrs when needed */ /* -----------------------------------------------------------------------------*/ SWIGINTERN void SWIG_Python_FixMethods(PyMethodDef *methods, swig_const_info *const_table, swig_type_info **types, swig_type_info **types_initial) { size_t i; for (i = 0; methods[i].ml_name; ++i) { const char *c = methods[i].ml_doc; if (c && (c = strstr(c, "swig_ptr: "))) { int j; swig_const_info *ci = 0; const char *name = c + 10; for (j = 0; const_table[j].type; ++j) { if (strncmp(const_table[j].name, name, strlen(const_table[j].name)) == 0) { ci = &(const_table[j]); break; } } if (ci) { size_t shift = (ci->ptype) - types; swig_type_info *ty = types_initial[shift]; size_t ldoc = (c - methods[i].ml_doc); size_t lptr = strlen(ty->name)+2*sizeof(void*)+2; char *ndoc = (char*)malloc(ldoc + lptr + 10); if (ndoc) { char *buff = ndoc; void *ptr = (ci->type == SWIG_PY_POINTER) ? ci->pvalue : 0; if (ptr) { strncpy(buff, methods[i].ml_doc, ldoc); buff += ldoc; strncpy(buff, "swig_ptr: ", 10); buff += 10; SWIG_PackVoidPtr(buff, ptr, ty->name, lptr); methods[i].ml_doc = ndoc; } } } } } } #ifdef __cplusplus } #endif /* -----------------------------------------------------------------------------* * Partial Init method * -----------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" #endif SWIGEXPORT void SWIG_init(void) { PyObject *m, *d; /* Fix SwigMethods to carry the callback ptrs when needed */ SWIG_Python_FixMethods(SwigMethods, swig_const_table, swig_types, swig_type_initial); m = Py_InitModule((char *) SWIG_name, SwigMethods); d = PyModule_GetDict(m); SWIG_InitializeModule(0); SWIG_InstallConstants(d,swig_const_table); SWIG_Python_SetConstant(d, "Python",SWIG_From_int(static_cast< int >(Python))); SWIG_Python_SetConstant(d, "C",SWIG_From_int(static_cast< int >(C))); SWIG_Python_SetConstant(d, "READ",SWIG_From_int(static_cast< int >(READ))); SWIG_Python_SetConstant(d, "WRITE",SWIG_From_int(static_cast< int >(WRITE))); SWIG_Python_SetConstant(d, "EVENTS_DIR",SWIG_FromCharPtr("game_events.")); SWIG_Python_SetConstant(d, "CYCLE_LENGTH",SWIG_From_int(static_cast< int >(13))); SWIG_Python_SetConstant(d, "FRAME_RATE",SWIG_From_int(static_cast< int >(50))); SWIG_Python_SetConstant(d, "FTS_LIMIT",SWIG_From_int(static_cast< int >(20))); SWIG_Python_SetConstant(d, "SDLK_UNKNOWN",SWIG_From_int(static_cast< int >(SDLK_UNKNOWN))); SWIG_Python_SetConstant(d, "SDLK_FIRST",SWIG_From_int(static_cast< int >(SDLK_FIRST))); SWIG_Python_SetConstant(d, "SDLK_BACKSPACE",SWIG_From_int(static_cast< int >(SDLK_BACKSPACE))); SWIG_Python_SetConstant(d, "SDLK_TAB",SWIG_From_int(static_cast< int >(SDLK_TAB))); SWIG_Python_SetConstant(d, "SDLK_CLEAR",SWIG_From_int(static_cast< int >(SDLK_CLEAR))); SWIG_Python_SetConstant(d, "SDLK_RETURN",SWIG_From_int(static_cast< int >(SDLK_RETURN))); SWIG_Python_SetConstant(d, "SDLK_PAUSE",SWIG_From_int(static_cast< int >(SDLK_PAUSE))); SWIG_Python_SetConstant(d, "SDLK_ESCAPE",SWIG_From_int(static_cast< int >(SDLK_ESCAPE))); SWIG_Python_SetConstant(d, "SDLK_SPACE",SWIG_From_int(static_cast< int >(SDLK_SPACE))); SWIG_Python_SetConstant(d, "SDLK_EXCLAIM",SWIG_From_int(static_cast< int >(SDLK_EXCLAIM))); SWIG_Python_SetConstant(d, "SDLK_QUOTEDBL",SWIG_From_int(static_cast< int >(SDLK_QUOTEDBL))); SWIG_Python_SetConstant(d, "SDLK_HASH",SWIG_From_int(static_cast< int >(SDLK_HASH))); SWIG_Python_SetConstant(d, "SDLK_DOLLAR",SWIG_From_int(static_cast< int >(SDLK_DOLLAR))); SWIG_Python_SetConstant(d, "SDLK_AMPERSAND",SWIG_From_int(static_cast< int >(SDLK_AMPERSAND))); SWIG_Python_SetConstant(d, "SDLK_QUOTE",SWIG_From_int(static_cast< int >(SDLK_QUOTE))); SWIG_Python_SetConstant(d, "SDLK_LEFTPAREN",SWIG_From_int(static_cast< int >(SDLK_LEFTPAREN))); SWIG_Python_SetConstant(d, "SDLK_RIGHTPAREN",SWIG_From_int(static_cast< int >(SDLK_RIGHTPAREN))); SWIG_Python_SetConstant(d, "SDLK_ASTERISK",SWIG_From_int(static_cast< int >(SDLK_ASTERISK))); SWIG_Python_SetConstant(d, "SDLK_PLUS",SWIG_From_int(static_cast< int >(SDLK_PLUS))); SWIG_Python_SetConstant(d, "SDLK_COMMA",SWIG_From_int(static_cast< int >(SDLK_COMMA))); SWIG_Python_SetConstant(d, "SDLK_MINUS",SWIG_From_int(static_cast< int >(SDLK_MINUS))); SWIG_Python_SetConstant(d, "SDLK_PERIOD",SWIG_From_int(static_cast< int >(SDLK_PERIOD))); SWIG_Python_SetConstant(d, "SDLK_SLASH",SWIG_From_int(static_cast< int >(SDLK_SLASH))); SWIG_Python_SetConstant(d, "SDLK_0",SWIG_From_int(static_cast< int >(SDLK_0))); SWIG_Python_SetConstant(d, "SDLK_1",SWIG_From_int(static_cast< int >(SDLK_1))); SWIG_Python_SetConstant(d, "SDLK_2",SWIG_From_int(static_cast< int >(SDLK_2))); SWIG_Python_SetConstant(d, "SDLK_3",SWIG_From_int(static_cast< int >(SDLK_3))); SWIG_Python_SetConstant(d, "SDLK_4",SWIG_From_int(static_cast< int >(SDLK_4))); SWIG_Python_SetConstant(d, "SDLK_5",SWIG_From_int(static_cast< int >(SDLK_5))); SWIG_Python_SetConstant(d, "SDLK_6",SWIG_From_int(static_cast< int >(SDLK_6))); SWIG_Python_SetConstant(d, "SDLK_7",SWIG_From_int(static_cast< int >(SDLK_7))); SWIG_Python_SetConstant(d, "SDLK_8",SWIG_From_int(static_cast< int >(SDLK_8))); SWIG_Python_SetConstant(d, "SDLK_9",SWIG_From_int(static_cast< int >(SDLK_9))); SWIG_Python_SetConstant(d, "SDLK_COLON",SWIG_From_int(static_cast< int >(SDLK_COLON))); SWIG_Python_SetConstant(d, "SDLK_SEMICOLON",SWIG_From_int(static_cast< int >(SDLK_SEMICOLON))); SWIG_Python_SetConstant(d, "SDLK_LESS",SWIG_From_int(static_cast< int >(SDLK_LESS))); SWIG_Python_SetConstant(d, "SDLK_EQUALS",SWIG_From_int(static_cast< int >(SDLK_EQUALS))); SWIG_Python_SetConstant(d, "SDLK_GREATER",SWIG_From_int(static_cast< int >(SDLK_GREATER))); SWIG_Python_SetConstant(d, "SDLK_QUESTION",SWIG_From_int(static_cast< int >(SDLK_QUESTION))); SWIG_Python_SetConstant(d, "SDLK_AT",SWIG_From_int(static_cast< int >(SDLK_AT))); SWIG_Python_SetConstant(d, "SDLK_LEFTBRACKET",SWIG_From_int(static_cast< int >(SDLK_LEFTBRACKET))); SWIG_Python_SetConstant(d, "SDLK_BACKSLASH",SWIG_From_int(static_cast< int >(SDLK_BACKSLASH))); SWIG_Python_SetConstant(d, "SDLK_RIGHTBRACKET",SWIG_From_int(static_cast< int >(SDLK_RIGHTBRACKET))); SWIG_Python_SetConstant(d, "SDLK_CARET",SWIG_From_int(static_cast< int >(SDLK_CARET))); SWIG_Python_SetConstant(d, "SDLK_UNDERSCORE",SWIG_From_int(static_cast< int >(SDLK_UNDERSCORE))); SWIG_Python_SetConstant(d, "SDLK_BACKQUOTE",SWIG_From_int(static_cast< int >(SDLK_BACKQUOTE))); SWIG_Python_SetConstant(d, "SDLK_a",SWIG_From_int(static_cast< int >(SDLK_a))); SWIG_Python_SetConstant(d, "SDLK_b",SWIG_From_int(static_cast< int >(SDLK_b))); SWIG_Python_SetConstant(d, "SDLK_c",SWIG_From_int(static_cast< int >(SDLK_c))); SWIG_Python_SetConstant(d, "SDLK_d",SWIG_From_int(static_cast< int >(SDLK_d))); SWIG_Python_SetConstant(d, "SDLK_e",SWIG_From_int(static_cast< int >(SDLK_e))); SWIG_Python_SetConstant(d, "SDLK_f",SWIG_From_int(static_cast< int >(SDLK_f))); SWIG_Python_SetConstant(d, "SDLK_g",SWIG_From_int(static_cast< int >(SDLK_g))); SWIG_Python_SetConstant(d, "SDLK_h",SWIG_From_int(static_cast< int >(SDLK_h))); SWIG_Python_SetConstant(d, "SDLK_i",SWIG_From_int(static_cast< int >(SDLK_i))); SWIG_Python_SetConstant(d, "SDLK_j",SWIG_From_int(static_cast< int >(SDLK_j))); SWIG_Python_SetConstant(d, "SDLK_k",SWIG_From_int(static_cast< int >(SDLK_k))); SWIG_Python_SetConstant(d, "SDLK_l",SWIG_From_int(static_cast< int >(SDLK_l))); SWIG_Python_SetConstant(d, "SDLK_m",SWIG_From_int(static_cast< int >(SDLK_m))); SWIG_Python_SetConstant(d, "SDLK_n",SWIG_From_int(static_cast< int >(SDLK_n))); SWIG_Python_SetConstant(d, "SDLK_o",SWIG_From_int(static_cast< int >(SDLK_o))); SWIG_Python_SetConstant(d, "SDLK_p",SWIG_From_int(static_cast< int >(SDLK_p))); SWIG_Python_SetConstant(d, "SDLK_q",SWIG_From_int(static_cast< int >(SDLK_q))); SWIG_Python_SetConstant(d, "SDLK_r",SWIG_From_int(static_cast< int >(SDLK_r))); SWIG_Python_SetConstant(d, "SDLK_s",SWIG_From_int(static_cast< int >(SDLK_s))); SWIG_Python_SetConstant(d, "SDLK_t",SWIG_From_int(static_cast< int >(SDLK_t))); SWIG_Python_SetConstant(d, "SDLK_u",SWIG_From_int(static_cast< int >(SDLK_u))); SWIG_Python_SetConstant(d, "SDLK_v",SWIG_From_int(static_cast< int >(SDLK_v))); SWIG_Python_SetConstant(d, "SDLK_w",SWIG_From_int(static_cast< int >(SDLK_w))); SWIG_Python_SetConstant(d, "SDLK_x",SWIG_From_int(static_cast< int >(SDLK_x))); SWIG_Python_SetConstant(d, "SDLK_y",SWIG_From_int(static_cast< int >(SDLK_y))); SWIG_Python_SetConstant(d, "SDLK_z",SWIG_From_int(static_cast< int >(SDLK_z))); SWIG_Python_SetConstant(d, "SDLK_DELETE",SWIG_From_int(static_cast< int >(SDLK_DELETE))); SWIG_Python_SetConstant(d, "SDLK_WORLD_0",SWIG_From_int(static_cast< int >(SDLK_WORLD_0))); SWIG_Python_SetConstant(d, "SDLK_WORLD_1",SWIG_From_int(static_cast< int >(SDLK_WORLD_1))); SWIG_Python_SetConstant(d, "SDLK_WORLD_2",SWIG_From_int(static_cast< int >(SDLK_WORLD_2))); SWIG_Python_SetConstant(d, "SDLK_WORLD_3",SWIG_From_int(static_cast< int >(SDLK_WORLD_3))); SWIG_Python_SetConstant(d, "SDLK_WORLD_4",SWIG_From_int(static_cast< int >(SDLK_WORLD_4))); SWIG_Python_SetConstant(d, "SDLK_WORLD_5",SWIG_From_int(static_cast< int >(SDLK_WORLD_5))); SWIG_Python_SetConstant(d, "SDLK_WORLD_6",SWIG_From_int(static_cast< int >(SDLK_WORLD_6))); SWIG_Python_SetConstant(d, "SDLK_WORLD_7",SWIG_From_int(static_cast< int >(SDLK_WORLD_7))); SWIG_Python_SetConstant(d, "SDLK_WORLD_8",SWIG_From_int(static_cast< int >(SDLK_WORLD_8))); SWIG_Python_SetConstant(d, "SDLK_WORLD_9",SWIG_From_int(static_cast< int >(SDLK_WORLD_9))); SWIG_Python_SetConstant(d, "SDLK_WORLD_10",SWIG_From_int(static_cast< int >(SDLK_WORLD_10))); SWIG_Python_SetConstant(d, "SDLK_WORLD_11",SWIG_From_int(static_cast< int >(SDLK_WORLD_11))); SWIG_Python_SetConstant(d, "SDLK_WORLD_12",SWIG_From_int(static_cast< int >(SDLK_WORLD_12))); SWIG_Python_SetConstant(d, "SDLK_WORLD_13",SWIG_From_int(static_cast< int >(SDLK_WORLD_13))); SWIG_Python_SetConstant(d, "SDLK_WORLD_14",SWIG_From_int(static_cast< int >(SDLK_WORLD_14))); SWIG_Python_SetConstant(d, "SDLK_WORLD_15",SWIG_From_int(static_cast< int >(SDLK_WORLD_15))); SWIG_Python_SetConstant(d, "SDLK_WORLD_16",SWIG_From_int(static_cast< int >(SDLK_WORLD_16))); SWIG_Python_SetConstant(d, "SDLK_WORLD_17",SWIG_From_int(static_cast< int >(SDLK_WORLD_17))); SWIG_Python_SetConstant(d, "SDLK_WORLD_18",SWIG_From_int(static_cast< int >(SDLK_WORLD_18))); SWIG_Python_SetConstant(d, "SDLK_WORLD_19",SWIG_From_int(static_cast< int >(SDLK_WORLD_19))); SWIG_Python_SetConstant(d, "SDLK_WORLD_20",SWIG_From_int(static_cast< int >(SDLK_WORLD_20))); SWIG_Python_SetConstant(d, "SDLK_WORLD_21",SWIG_From_int(static_cast< int >(SDLK_WORLD_21))); SWIG_Python_SetConstant(d, "SDLK_WORLD_22",SWIG_From_int(static_cast< int >(SDLK_WORLD_22))); SWIG_Python_SetConstant(d, "SDLK_WORLD_23",SWIG_From_int(static_cast< int >(SDLK_WORLD_23))); SWIG_Python_SetConstant(d, "SDLK_WORLD_24",SWIG_From_int(static_cast< int >(SDLK_WORLD_24))); SWIG_Python_SetConstant(d, "SDLK_WORLD_25",SWIG_From_int(static_cast< int >(SDLK_WORLD_25))); SWIG_Python_SetConstant(d, "SDLK_WORLD_26",SWIG_From_int(static_cast< int >(SDLK_WORLD_26))); SWIG_Python_SetConstant(d, "SDLK_WORLD_27",SWIG_From_int(static_cast< int >(SDLK_WORLD_27))); SWIG_Python_SetConstant(d, "SDLK_WORLD_28",SWIG_From_int(static_cast< int >(SDLK_WORLD_28))); SWIG_Python_SetConstant(d, "SDLK_WORLD_29",SWIG_From_int(static_cast< int >(SDLK_WORLD_29))); SWIG_Python_SetConstant(d, "SDLK_WORLD_30",SWIG_From_int(static_cast< int >(SDLK_WORLD_30))); SWIG_Python_SetConstant(d, "SDLK_WORLD_31",SWIG_From_int(static_cast< int >(SDLK_WORLD_31))); SWIG_Python_SetConstant(d, "SDLK_WORLD_32",SWIG_From_int(static_cast< int >(SDLK_WORLD_32))); SWIG_Python_SetConstant(d, "SDLK_WORLD_33",SWIG_From_int(static_cast< int >(SDLK_WORLD_33))); SWIG_Python_SetConstant(d, "SDLK_WORLD_34",SWIG_From_int(static_cast< int >(SDLK_WORLD_34))); SWIG_Python_SetConstant(d, "SDLK_WORLD_35",SWIG_From_int(static_cast< int >(SDLK_WORLD_35))); SWIG_Python_SetConstant(d, "SDLK_WORLD_36",SWIG_From_int(static_cast< int >(SDLK_WORLD_36))); SWIG_Python_SetConstant(d, "SDLK_WORLD_37",SWIG_From_int(static_cast< int >(SDLK_WORLD_37))); SWIG_Python_SetConstant(d, "SDLK_WORLD_38",SWIG_From_int(static_cast< int >(SDLK_WORLD_38))); SWIG_Python_SetConstant(d, "SDLK_WORLD_39",SWIG_From_int(static_cast< int >(SDLK_WORLD_39))); SWIG_Python_SetConstant(d, "SDLK_WORLD_40",SWIG_From_int(static_cast< int >(SDLK_WORLD_40))); SWIG_Python_SetConstant(d, "SDLK_WORLD_41",SWIG_From_int(static_cast< int >(SDLK_WORLD_41))); SWIG_Python_SetConstant(d, "SDLK_WORLD_42",SWIG_From_int(static_cast< int >(SDLK_WORLD_42))); SWIG_Python_SetConstant(d, "SDLK_WORLD_43",SWIG_From_int(static_cast< int >(SDLK_WORLD_43))); SWIG_Python_SetConstant(d, "SDLK_WORLD_44",SWIG_From_int(static_cast< int >(SDLK_WORLD_44))); SWIG_Python_SetConstant(d, "SDLK_WORLD_45",SWIG_From_int(static_cast< int >(SDLK_WORLD_45))); SWIG_Python_SetConstant(d, "SDLK_WORLD_46",SWIG_From_int(static_cast< int >(SDLK_WORLD_46))); SWIG_Python_SetConstant(d, "SDLK_WORLD_47",SWIG_From_int(static_cast< int >(SDLK_WORLD_47))); SWIG_Python_SetConstant(d, "SDLK_WORLD_48",SWIG_From_int(static_cast< int >(SDLK_WORLD_48))); SWIG_Python_SetConstant(d, "SDLK_WORLD_49",SWIG_From_int(static_cast< int >(SDLK_WORLD_49))); SWIG_Python_SetConstant(d, "SDLK_WORLD_50",SWIG_From_int(static_cast< int >(SDLK_WORLD_50))); SWIG_Python_SetConstant(d, "SDLK_WORLD_51",SWIG_From_int(static_cast< int >(SDLK_WORLD_51))); SWIG_Python_SetConstant(d, "SDLK_WORLD_52",SWIG_From_int(static_cast< int >(SDLK_WORLD_52))); SWIG_Python_SetConstant(d, "SDLK_WORLD_53",SWIG_From_int(static_cast< int >(SDLK_WORLD_53))); SWIG_Python_SetConstant(d, "SDLK_WORLD_54",SWIG_From_int(static_cast< int >(SDLK_WORLD_54))); SWIG_Python_SetConstant(d, "SDLK_WORLD_55",SWIG_From_int(static_cast< int >(SDLK_WORLD_55))); SWIG_Python_SetConstant(d, "SDLK_WORLD_56",SWIG_From_int(static_cast< int >(SDLK_WORLD_56))); SWIG_Python_SetConstant(d, "SDLK_WORLD_57",SWIG_From_int(static_cast< int >(SDLK_WORLD_57))); SWIG_Python_SetConstant(d, "SDLK_WORLD_58",SWIG_From_int(static_cast< int >(SDLK_WORLD_58))); SWIG_Python_SetConstant(d, "SDLK_WORLD_59",SWIG_From_int(static_cast< int >(SDLK_WORLD_59))); SWIG_Python_SetConstant(d, "SDLK_WORLD_60",SWIG_From_int(static_cast< int >(SDLK_WORLD_60))); SWIG_Python_SetConstant(d, "SDLK_WORLD_61",SWIG_From_int(static_cast< int >(SDLK_WORLD_61))); SWIG_Python_SetConstant(d, "SDLK_WORLD_62",SWIG_From_int(static_cast< int >(SDLK_WORLD_62))); SWIG_Python_SetConstant(d, "SDLK_WORLD_63",SWIG_From_int(static_cast< int >(SDLK_WORLD_63))); SWIG_Python_SetConstant(d, "SDLK_WORLD_64",SWIG_From_int(static_cast< int >(SDLK_WORLD_64))); SWIG_Python_SetConstant(d, "SDLK_WORLD_65",SWIG_From_int(static_cast< int >(SDLK_WORLD_65))); SWIG_Python_SetConstant(d, "SDLK_WORLD_66",SWIG_From_int(static_cast< int >(SDLK_WORLD_66))); SWIG_Python_SetConstant(d, "SDLK_WORLD_67",SWIG_From_int(static_cast< int >(SDLK_WORLD_67))); SWIG_Python_SetConstant(d, "SDLK_WORLD_68",SWIG_From_int(static_cast< int >(SDLK_WORLD_68))); SWIG_Python_SetConstant(d, "SDLK_WORLD_69",SWIG_From_int(static_cast< int >(SDLK_WORLD_69))); SWIG_Python_SetConstant(d, "SDLK_WORLD_70",SWIG_From_int(static_cast< int >(SDLK_WORLD_70))); SWIG_Python_SetConstant(d, "SDLK_WORLD_71",SWIG_From_int(static_cast< int >(SDLK_WORLD_71))); SWIG_Python_SetConstant(d, "SDLK_WORLD_72",SWIG_From_int(static_cast< int >(SDLK_WORLD_72))); SWIG_Python_SetConstant(d, "SDLK_WORLD_73",SWIG_From_int(static_cast< int >(SDLK_WORLD_73))); SWIG_Python_SetConstant(d, "SDLK_WORLD_74",SWIG_From_int(static_cast< int >(SDLK_WORLD_74))); SWIG_Python_SetConstant(d, "SDLK_WORLD_75",SWIG_From_int(static_cast< int >(SDLK_WORLD_75))); SWIG_Python_SetConstant(d, "SDLK_WORLD_76",SWIG_From_int(static_cast< int >(SDLK_WORLD_76))); SWIG_Python_SetConstant(d, "SDLK_WORLD_77",SWIG_From_int(static_cast< int >(SDLK_WORLD_77))); SWIG_Python_SetConstant(d, "SDLK_WORLD_78",SWIG_From_int(static_cast< int >(SDLK_WORLD_78))); SWIG_Python_SetConstant(d, "SDLK_WORLD_79",SWIG_From_int(static_cast< int >(SDLK_WORLD_79))); SWIG_Python_SetConstant(d, "SDLK_WORLD_80",SWIG_From_int(static_cast< int >(SDLK_WORLD_80))); SWIG_Python_SetConstant(d, "SDLK_WORLD_81",SWIG_From_int(static_cast< int >(SDLK_WORLD_81))); SWIG_Python_SetConstant(d, "SDLK_WORLD_82",SWIG_From_int(static_cast< int >(SDLK_WORLD_82))); SWIG_Python_SetConstant(d, "SDLK_WORLD_83",SWIG_From_int(static_cast< int >(SDLK_WORLD_83))); SWIG_Python_SetConstant(d, "SDLK_WORLD_84",SWIG_From_int(static_cast< int >(SDLK_WORLD_84))); SWIG_Python_SetConstant(d, "SDLK_WORLD_85",SWIG_From_int(static_cast< int >(SDLK_WORLD_85))); SWIG_Python_SetConstant(d, "SDLK_WORLD_86",SWIG_From_int(static_cast< int >(SDLK_WORLD_86))); SWIG_Python_SetConstant(d, "SDLK_WORLD_87",SWIG_From_int(static_cast< int >(SDLK_WORLD_87))); SWIG_Python_SetConstant(d, "SDLK_WORLD_88",SWIG_From_int(static_cast< int >(SDLK_WORLD_88))); SWIG_Python_SetConstant(d, "SDLK_WORLD_89",SWIG_From_int(static_cast< int >(SDLK_WORLD_89))); SWIG_Python_SetConstant(d, "SDLK_WORLD_90",SWIG_From_int(static_cast< int >(SDLK_WORLD_90))); SWIG_Python_SetConstant(d, "SDLK_WORLD_91",SWIG_From_int(static_cast< int >(SDLK_WORLD_91))); SWIG_Python_SetConstant(d, "SDLK_WORLD_92",SWIG_From_int(static_cast< int >(SDLK_WORLD_92))); SWIG_Python_SetConstant(d, "SDLK_WORLD_93",SWIG_From_int(static_cast< int >(SDLK_WORLD_93))); SWIG_Python_SetConstant(d, "SDLK_WORLD_94",SWIG_From_int(static_cast< int >(SDLK_WORLD_94))); SWIG_Python_SetConstant(d, "SDLK_WORLD_95",SWIG_From_int(static_cast< int >(SDLK_WORLD_95))); SWIG_Python_SetConstant(d, "SDLK_KP0",SWIG_From_int(static_cast< int >(SDLK_KP0))); SWIG_Python_SetConstant(d, "SDLK_KP1",SWIG_From_int(static_cast< int >(SDLK_KP1))); SWIG_Python_SetConstant(d, "SDLK_KP2",SWIG_From_int(static_cast< int >(SDLK_KP2))); SWIG_Python_SetConstant(d, "SDLK_KP3",SWIG_From_int(static_cast< int >(SDLK_KP3))); SWIG_Python_SetConstant(d, "SDLK_KP4",SWIG_From_int(static_cast< int >(SDLK_KP4))); SWIG_Python_SetConstant(d, "SDLK_KP5",SWIG_From_int(static_cast< int >(SDLK_KP5))); SWIG_Python_SetConstant(d, "SDLK_KP6",SWIG_From_int(static_cast< int >(SDLK_KP6))); SWIG_Python_SetConstant(d, "SDLK_KP7",SWIG_From_int(static_cast< int >(SDLK_KP7))); SWIG_Python_SetConstant(d, "SDLK_KP8",SWIG_From_int(static_cast< int >(SDLK_KP8))); SWIG_Python_SetConstant(d, "SDLK_KP9",SWIG_From_int(static_cast< int >(SDLK_KP9))); SWIG_Python_SetConstant(d, "SDLK_KP_PERIOD",SWIG_From_int(static_cast< int >(SDLK_KP_PERIOD))); SWIG_Python_SetConstant(d, "SDLK_KP_DIVIDE",SWIG_From_int(static_cast< int >(SDLK_KP_DIVIDE))); SWIG_Python_SetConstant(d, "SDLK_KP_MULTIPLY",SWIG_From_int(static_cast< int >(SDLK_KP_MULTIPLY))); SWIG_Python_SetConstant(d, "SDLK_KP_MINUS",SWIG_From_int(static_cast< int >(SDLK_KP_MINUS))); SWIG_Python_SetConstant(d, "SDLK_KP_PLUS",SWIG_From_int(static_cast< int >(SDLK_KP_PLUS))); SWIG_Python_SetConstant(d, "SDLK_KP_ENTER",SWIG_From_int(static_cast< int >(SDLK_KP_ENTER))); SWIG_Python_SetConstant(d, "SDLK_KP_EQUALS",SWIG_From_int(static_cast< int >(SDLK_KP_EQUALS))); SWIG_Python_SetConstant(d, "SDLK_UP",SWIG_From_int(static_cast< int >(SDLK_UP))); SWIG_Python_SetConstant(d, "SDLK_DOWN",SWIG_From_int(static_cast< int >(SDLK_DOWN))); SWIG_Python_SetConstant(d, "SDLK_RIGHT",SWIG_From_int(static_cast< int >(SDLK_RIGHT))); SWIG_Python_SetConstant(d, "SDLK_LEFT",SWIG_From_int(static_cast< int >(SDLK_LEFT))); SWIG_Python_SetConstant(d, "SDLK_INSERT",SWIG_From_int(static_cast< int >(SDLK_INSERT))); SWIG_Python_SetConstant(d, "SDLK_HOME",SWIG_From_int(static_cast< int >(SDLK_HOME))); SWIG_Python_SetConstant(d, "SDLK_END",SWIG_From_int(static_cast< int >(SDLK_END))); SWIG_Python_SetConstant(d, "SDLK_PAGEUP",SWIG_From_int(static_cast< int >(SDLK_PAGEUP))); SWIG_Python_SetConstant(d, "SDLK_PAGEDOWN",SWIG_From_int(static_cast< int >(SDLK_PAGEDOWN))); SWIG_Python_SetConstant(d, "SDLK_F1",SWIG_From_int(static_cast< int >(SDLK_F1))); SWIG_Python_SetConstant(d, "SDLK_F2",SWIG_From_int(static_cast< int >(SDLK_F2))); SWIG_Python_SetConstant(d, "SDLK_F3",SWIG_From_int(static_cast< int >(SDLK_F3))); SWIG_Python_SetConstant(d, "SDLK_F4",SWIG_From_int(static_cast< int >(SDLK_F4))); SWIG_Python_SetConstant(d, "SDLK_F5",SWIG_From_int(static_cast< int >(SDLK_F5))); SWIG_Python_SetConstant(d, "SDLK_F6",SWIG_From_int(static_cast< int >(SDLK_F6))); SWIG_Python_SetConstant(d, "SDLK_F7",SWIG_From_int(static_cast< int >(SDLK_F7))); SWIG_Python_SetConstant(d, "SDLK_F8",SWIG_From_int(static_cast< int >(SDLK_F8))); SWIG_Python_SetConstant(d, "SDLK_F9",SWIG_From_int(static_cast< int >(SDLK_F9))); SWIG_Python_SetConstant(d, "SDLK_F10",SWIG_From_int(static_cast< int >(SDLK_F10))); SWIG_Python_SetConstant(d, "SDLK_F11",SWIG_From_int(static_cast< int >(SDLK_F11))); SWIG_Python_SetConstant(d, "SDLK_F12",SWIG_From_int(static_cast< int >(SDLK_F12))); SWIG_Python_SetConstant(d, "SDLK_F13",SWIG_From_int(static_cast< int >(SDLK_F13))); SWIG_Python_SetConstant(d, "SDLK_F14",SWIG_From_int(static_cast< int >(SDLK_F14))); SWIG_Python_SetConstant(d, "SDLK_F15",SWIG_From_int(static_cast< int >(SDLK_F15))); SWIG_Python_SetConstant(d, "SDLK_NUMLOCK",SWIG_From_int(static_cast< int >(SDLK_NUMLOCK))); SWIG_Python_SetConstant(d, "SDLK_CAPSLOCK",SWIG_From_int(static_cast< int >(SDLK_CAPSLOCK))); SWIG_Python_SetConstant(d, "SDLK_SCROLLOCK",SWIG_From_int(static_cast< int >(SDLK_SCROLLOCK))); SWIG_Python_SetConstant(d, "SDLK_RSHIFT",SWIG_From_int(static_cast< int >(SDLK_RSHIFT))); SWIG_Python_SetConstant(d, "SDLK_LSHIFT",SWIG_From_int(static_cast< int >(SDLK_LSHIFT))); SWIG_Python_SetConstant(d, "SDLK_RCTRL",SWIG_From_int(static_cast< int >(SDLK_RCTRL))); SWIG_Python_SetConstant(d, "SDLK_LCTRL",SWIG_From_int(static_cast< int >(SDLK_LCTRL))); SWIG_Python_SetConstant(d, "SDLK_RALT",SWIG_From_int(static_cast< int >(SDLK_RALT))); SWIG_Python_SetConstant(d, "SDLK_LALT",SWIG_From_int(static_cast< int >(SDLK_LALT))); SWIG_Python_SetConstant(d, "SDLK_RMETA",SWIG_From_int(static_cast< int >(SDLK_RMETA))); SWIG_Python_SetConstant(d, "SDLK_LMETA",SWIG_From_int(static_cast< int >(SDLK_LMETA))); SWIG_Python_SetConstant(d, "SDLK_LSUPER",SWIG_From_int(static_cast< int >(SDLK_LSUPER))); SWIG_Python_SetConstant(d, "SDLK_RSUPER",SWIG_From_int(static_cast< int >(SDLK_RSUPER))); SWIG_Python_SetConstant(d, "SDLK_MODE",SWIG_From_int(static_cast< int >(SDLK_MODE))); SWIG_Python_SetConstant(d, "SDLK_COMPOSE",SWIG_From_int(static_cast< int >(SDLK_COMPOSE))); SWIG_Python_SetConstant(d, "SDLK_HELP",SWIG_From_int(static_cast< int >(SDLK_HELP))); SWIG_Python_SetConstant(d, "SDLK_PRINT",SWIG_From_int(static_cast< int >(SDLK_PRINT))); SWIG_Python_SetConstant(d, "SDLK_SYSREQ",SWIG_From_int(static_cast< int >(SDLK_SYSREQ))); SWIG_Python_SetConstant(d, "SDLK_BREAK",SWIG_From_int(static_cast< int >(SDLK_BREAK))); SWIG_Python_SetConstant(d, "SDLK_MENU",SWIG_From_int(static_cast< int >(SDLK_MENU))); SWIG_Python_SetConstant(d, "SDLK_POWER",SWIG_From_int(static_cast< int >(SDLK_POWER))); SWIG_Python_SetConstant(d, "SDLK_EURO",SWIG_From_int(static_cast< int >(SDLK_EURO))); SWIG_Python_SetConstant(d, "SDLK_UNDO",SWIG_From_int(static_cast< int >(SDLK_UNDO))); SWIG_Python_SetConstant(d, "SDLK_LAST",SWIG_From_int(static_cast< int >(SDLK_LAST))); SWIG_Python_SetConstant(d, "KMOD_NONE",SWIG_From_int(static_cast< int >(KMOD_NONE))); SWIG_Python_SetConstant(d, "KMOD_LSHIFT",SWIG_From_int(static_cast< int >(KMOD_LSHIFT))); SWIG_Python_SetConstant(d, "KMOD_RSHIFT",SWIG_From_int(static_cast< int >(KMOD_RSHIFT))); SWIG_Python_SetConstant(d, "KMOD_LCTRL",SWIG_From_int(static_cast< int >(KMOD_LCTRL))); SWIG_Python_SetConstant(d, "KMOD_RCTRL",SWIG_From_int(static_cast< int >(KMOD_RCTRL))); SWIG_Python_SetConstant(d, "KMOD_LALT",SWIG_From_int(static_cast< int >(KMOD_LALT))); SWIG_Python_SetConstant(d, "KMOD_RALT",SWIG_From_int(static_cast< int >(KMOD_RALT))); SWIG_Python_SetConstant(d, "KMOD_LMETA",SWIG_From_int(static_cast< int >(KMOD_LMETA))); SWIG_Python_SetConstant(d, "KMOD_RMETA",SWIG_From_int(static_cast< int >(KMOD_RMETA))); SWIG_Python_SetConstant(d, "KMOD_NUM",SWIG_From_int(static_cast< int >(KMOD_NUM))); SWIG_Python_SetConstant(d, "KMOD_CAPS",SWIG_From_int(static_cast< int >(KMOD_CAPS))); SWIG_Python_SetConstant(d, "KMOD_MODE",SWIG_From_int(static_cast< int >(KMOD_MODE))); SWIG_Python_SetConstant(d, "KMOD_RESERVED",SWIG_From_int(static_cast< int >(KMOD_RESERVED))); SWIG_Python_SetConstant(d, "NUM_WAVES",SWIG_From_int(static_cast< int >(5))); SWIG_Python_SetConstant(d, "NUM_MUSIC",SWIG_From_int(static_cast< int >(3))); SWIG_Python_SetConstant(d, "NUM_CHANNELS",SWIG_From_int(static_cast< int >(4))); SWIG_Python_SetConstant(d, "DIALOG_DIR",SWIG_FromCharPtr("dialogues/")); SWIG_Python_SetConstant(d, "DWARF",SWIG_From_int(static_cast< int >(DWARF))); SWIG_Python_SetConstant(d, "ELF",SWIG_From_int(static_cast< int >(ELF))); SWIG_Python_SetConstant(d, "HALFELF",SWIG_From_int(static_cast< int >(HALFELF))); SWIG_Python_SetConstant(d, "HUMAN",SWIG_From_int(static_cast< int >(HUMAN))); SWIG_Python_SetConstant(d, "FEMALE",SWIG_From_int(static_cast< int >(FEMALE))); SWIG_Python_SetConstant(d, "MALE",SWIG_From_int(static_cast< int >(MALE))); SWIG_Python_SetConstant(d, "NPC",SWIG_From_int(static_cast< int >(NPC))); SWIG_Python_SetConstant(d, "PLAYER",SWIG_From_int(static_cast< int >(PLAYER))); SWIG_Python_SetConstant(d, "PARTY",SWIG_From_int(static_cast< int >(PARTY))); PyDict_SetItemString(d,(char*)"cvar", SWIG_globals()); SWIG_addvarlink(SWIG_globals(),(char*)"screen_display",screen_display_get, screen_display_set); SWIG_Python_SetConstant(d, "PLAY",SWIG_From_int(static_cast< int >(PLAY))); SWIG_Python_SetConstant(d, "STOP",SWIG_From_int(static_cast< int >(STOP))); SWIG_addvarlink(SWIG_globals(),(char*)"MAPSQUARE_SIZE",MAPSQUARE_SIZE_get, MAPSQUARE_SIZE_set); SWIG_Python_SetConstant(d, "ALL_WALKABLE",SWIG_From_int(static_cast< int >(15))); SWIG_Python_SetConstant(d, "WALKABLE_SOUTH",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "WALKABLE_NORTH",SWIG_From_int(static_cast< int >(2))); SWIG_Python_SetConstant(d, "WALKABLE_EAST",SWIG_From_int(static_cast< int >(4))); SWIG_Python_SetConstant(d, "WALKABLE_WEST",SWIG_From_int(static_cast< int >(8))); SWIG_Python_SetConstant(d, "NONE_WALKABLE",SWIG_From_int(static_cast< int >(0))); SWIG_Python_SetConstant(d, "MAPOBJECTS_DIR",SWIG_FromCharPtr("gfx/mapobjects/")); SWIG_Python_SetConstant(d, "MAPCHAR_DIR",SWIG_FromCharPtr("gfx/mapcharacters/")); SWIG_Python_SetConstant(d, "STAND_NORTH",SWIG_From_int(static_cast< int >(0))); SWIG_Python_SetConstant(d, "STAND_SOUTH",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "STAND_WEST",SWIG_From_int(static_cast< int >(2))); SWIG_Python_SetConstant(d, "STAND_EAST",SWIG_From_int(static_cast< int >(3))); SWIG_Python_SetConstant(d, "WALK_NORTH",SWIG_From_int(static_cast< int >(4))); SWIG_Python_SetConstant(d, "WALK_SOUTH",SWIG_From_int(static_cast< int >(5))); SWIG_Python_SetConstant(d, "WALK_WEST",SWIG_From_int(static_cast< int >(6))); SWIG_Python_SetConstant(d, "WALK_EAST",SWIG_From_int(static_cast< int >(7))); SWIG_Python_SetConstant(d, "NBR_MOVES",SWIG_From_int(static_cast< int >(8))); SWIG_Python_SetConstant(d, "NO_MOVE",SWIG_From_int(static_cast< int >(65535))); SWIG_Python_SetConstant(d, "MAPS_DIR",SWIG_FromCharPtr("maps/")); SWIG_Python_SetConstant(d, "WIN_NB_TABLE_CHAR",SWIG_From_int(static_cast< int >(127))); SWIG_Python_SetConstant(d, "WIN_TEXT_MAX_LENGTH",SWIG_From_int(static_cast< int >(5000))); SWIG_Python_SetConstant(d, "WIN_FONT_HEIGHT",SWIG_From_int(static_cast< int >(8))); SWIG_Python_SetConstant(d, "WIN_FONT_LENGHT",SWIG_From_int(static_cast< int >(8))); SWIG_Python_SetConstant(d, "WIN_SPACE_LENGHT",SWIG_From_int(static_cast< int >(8))); SWIG_Python_SetConstant(d, "WIN_DIRECTORY",SWIG_FromCharPtr("gfx/window/")); SWIG_Python_SetConstant(d, "WIN_FONT_DIRECTORY",SWIG_FromCharPtr("font/")); SWIG_Python_SetConstant(d, "WIN_BORDER_DIRECTORY",SWIG_FromCharPtr("border/")); SWIG_Python_SetConstant(d, "WIN_BACKGROUND_DIRECTORY",SWIG_FromCharPtr("background/")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_DIRECTORY",SWIG_FromCharPtr("scrollbar/")); SWIG_Python_SetConstant(d, "WIN_CURSOR_DIRECTORY",SWIG_FromCharPtr("cursor/")); SWIG_Python_SetConstant(d, "WIN_FONT_FILE_IDX",SWIG_FromCharPtr("font.idx")); SWIG_Python_SetConstant(d, "WIN_FONT_FILE_PIC",SWIG_FromCharPtr("font.pnm")); SWIG_Python_SetConstant(d, "WIN_FONT_FILE",SWIG_FromCharPtr("font.font")); SWIG_Python_SetConstant(d, "WIN_V_BORDER_TEMPLATE_FILE",SWIG_FromCharPtr("v_border.pnm")); SWIG_Python_SetConstant(d, "WIN_H_BORDER_TEMPLATE_FILE",SWIG_FromCharPtr("h_border.pnm")); SWIG_Python_SetConstant(d, "WIN_CORNER_TOP_LEFT_FILE",SWIG_FromCharPtr("corner_top_left.pnm")); SWIG_Python_SetConstant(d, "WIN_CORNER_TOP_RIGHT_FILE",SWIG_FromCharPtr("corner_top_right.pnm")); SWIG_Python_SetConstant(d, "WIN_CORNER_BOTTOM_LEFT_FILE",SWIG_FromCharPtr("corner_bottom_left.pnm")); SWIG_Python_SetConstant(d, "WIN_CORNER_BOTTOM_RIGHT_FILE",SWIG_FromCharPtr("corner_bottom_right.pnm")); SWIG_Python_SetConstant(d, "WIN_BACKGROUND_FILE",SWIG_FromCharPtr("background.pnm")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_BAR_TOP",SWIG_FromCharPtr("scroll_bar_top.pnm")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_BAR_MID",SWIG_FromCharPtr("scroll_bar_mid.pnm")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_BAR_BOT",SWIG_FromCharPtr("scroll_bar_bot.pnm")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_BAR_FLEX",SWIG_FromCharPtr("scroll_bar_flex.pnm")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_BACK_TOP",SWIG_FromCharPtr("scroll_back_top.pnm")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_BACK_MID",SWIG_FromCharPtr("scroll_back_mid.pnm")); SWIG_Python_SetConstant(d, "WIN_SCROLLBAR_BACK_BOT",SWIG_FromCharPtr("scroll_back_bot.pnm")); SWIG_Python_SetConstant(d, "WIN_CURSOR_FILE",SWIG_FromCharPtr("cursor.pnm")); SWIG_Python_SetConstant(d, "WIN_BORDER_NORMAL_SIZE",SWIG_FromCharPtr("normal/")); SWIG_Python_SetConstant(d, "WIN_BORDER_MINI_SIZE",SWIG_FromCharPtr("mini/")); SWIG_Python_SetConstant(d, "WIN_BRIGHTNESS_LEVEL",SWIG_From_int(static_cast< int >(130))); SWIG_Python_SetConstant(d, "win_event_ACTIVATE",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "win_event_UNACTIVATE",SWIG_From_int(static_cast< int >(2))); SWIG_Python_SetConstant(d, "win_event_UPDATE",SWIG_From_int(static_cast< int >(3))); SWIG_Python_SetConstant(d, "win_event_DRAW",SWIG_From_int(static_cast< int >(4))); SWIG_Python_SetConstant(d, "win_event_DRAW_ON_VISIBLE",SWIG_From_int(static_cast< int >(5))); SWIG_Python_SetConstant(d, "win_event_ACTIVATE_KEY",SWIG_From_int(static_cast< int >(6))); SWIG_Python_SetConstant(d, "win_event_SELECT",SWIG_From_int(static_cast< int >(7))); SWIG_Python_SetConstant(d, "win_event_UNSELECT",SWIG_From_int(static_cast< int >(8))); SWIG_Python_SetConstant(d, "win_event_KEYBOARD",SWIG_From_int(static_cast< int >(9))); SWIG_Python_SetConstant(d, "win_event_SCROLL_UP",SWIG_From_int(static_cast< int >(10))); SWIG_Python_SetConstant(d, "win_event_SCROLL_DOWN",SWIG_From_int(static_cast< int >(11))); SWIG_Python_SetConstant(d, "win_event_NEXT",SWIG_From_int(static_cast< int >(12))); SWIG_Python_SetConstant(d, "win_event_PREVIOUS",SWIG_From_int(static_cast< int >(13))); SWIG_Python_SetConstant(d, "win_event_CLOSE",SWIG_From_int(static_cast< int >(14))); SWIG_Python_SetConstant(d, "win_event_DESTROY",SWIG_From_int(static_cast< int >(15))); SWIG_Python_SetConstant(d, "win_border_MINI",SWIG_From_int(static_cast< int >(0))); SWIG_Python_SetConstant(d, "win_border_NORMAL",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "win_base_ALIGN_NONE",SWIG_From_int(static_cast< int >(0))); SWIG_Python_SetConstant(d, "win_base_ALIGN_LEFT",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "win_base_ALIGN_CENTER",SWIG_From_int(static_cast< int >(2))); SWIG_Python_SetConstant(d, "win_base_ALIGN_RIGHT",SWIG_From_int(static_cast< int >(3))); SWIG_Python_SetConstant(d, "win_container_SPACE_WITH_BORDER",SWIG_From_int(static_cast< int >(10))); SWIG_Python_SetConstant(d, "win_container_SPACE_WITH_OBJECT",SWIG_From_int(static_cast< int >(10))); SWIG_Python_SetConstant(d, "win_container_LIST_LAYOUT",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "win_container_NO_LAYOUT",SWIG_From_int(static_cast< int >(0))); SWIG_Python_SetConstant(d, "label_NOTHING",SWIG_From_int(static_cast< int >(0))); SWIG_Python_SetConstant(d, "label_AUTO_HEIGHT",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "label_AUTO_SIZE",SWIG_From_int(static_cast< int >(2))); SWIG_Python_SetConstant(d, "win_scroll_PAD_DEFAULT",SWIG_From_int(static_cast< int >(5))); SWIG_Python_SetConstant(d, "win_select_MODE_BORDER",SWIG_From_int(static_cast< int >(0))); SWIG_Python_SetConstant(d, "win_select_MODE_BRIGHTNESS",SWIG_From_int(static_cast< int >(1))); SWIG_Python_SetConstant(d, "MAX_COLOR",SWIG_From_int(static_cast< int >(6))); SWIG_Python_SetConstant(d, "LOAD_SCREEN",SWIG_From_int(static_cast< int >(LOAD_SCREEN))); SWIG_Python_SetConstant(d, "SAVE_SCREEN",SWIG_From_int(static_cast< int >(SAVE_SCREEN))); SWIG_addvarlink(SWIG_globals(),(char*)"game_User_data_dir",game_User_data_dir_get, game_User_data_dir_set); SWIG_addvarlink(SWIG_globals(),(char*)"game_Global_data_dir",game_Global_data_dir_get, game_Global_data_dir_set); SWIG_addvarlink(SWIG_globals(),(char*)"game_Game_data_dir",game_Game_data_dir_get, game_Game_data_dir_set); } adonthell-0.3.5/src/py_callback.cc0000644000076500000240000000753210007370111013747 00000000000000/* $Id: py_callback.cc,v 1.11 2004/02/02 06:38:01 ksterker Exp $ Copyright (C) 2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file py_callback.cc * @author Kai Sterker * * @brief Defines the py_callback class. * * */ #include "py_callback.h" #include "python_class.h" // 'hack' to aid restoring of callbacks from file PyObject *py_callback::instance = NULL; // default constructor py_callback::py_callback () { function = NULL; arguments = NULL; } // preferred constructor py_callback::py_callback (PyObject *func, PyObject *args) { function = func; arguments = args; Py_XINCREF (function); Py_XINCREF (arguments); } // dtor py_callback::~py_callback () { Py_XDECREF (function); Py_XDECREF (arguments); } // calls the python function without argument void py_callback::callback_func0 () { PyObject *py_arg = arguments ? Py_BuildValue ("(O)",arguments) : NULL; PyObject* val = make_call (py_arg); Py_XDECREF (val); } // calls the python function returning a boolean bool py_callback::callback_func0ret () { int retval = 1; PyObject *py_arg = arguments ? Py_BuildValue ("(O)",arguments) : NULL; PyObject* val = make_call (py_arg); if (val) retval = PyInt_AsLong (val); Py_XDECREF (val); return retval != 0; } // calls the python function with an integer as argument void py_callback::callback_func1 (int arg) { PyObject *py_arg; if (arguments) py_arg = Py_BuildValue ("(i,O)", arg, arguments); else py_arg = Py_BuildValue ("(i)", arg); PyObject * val = make_call (py_arg); Py_XDECREF (val); } // save callback to a file void py_callback::put_state (ogzstream & file) const { std::string name = ""; // get name of callback function if (function) { PyObject *p_name = PyObject_GetAttrString (function, "__name__"); if (PyString_Check (p_name)) name = PyString_AsString (p_name); else fprintf (stderr, "*** error: py_callback::put_state: Failed to retrieve callback name!"); // cleanup Py_XDECREF (p_name); } name >> file; // NOTE: extra arguments need to be a tuple containing only ints or strings. if (arguments != NULL) { true >> file; python::put_tuple (arguments, file); } else false >> file; } // restore callback from a file bool py_callback::get_state (igzstream & file) { std::string name; bool has_args; name << file; has_args << file; // load arguments. No need to INCREF as get_tuple returns new instance. if (has_args) arguments = python::get_tuple (file); // check that we have a valid instance that contains our callback if (instance == NULL) { fprintf (stderr, "*** error: py_callback::get_state: Invalid instance!\n"); return false; } // get our callback from the class or module. No need to INCREF // as GetAttrString returns a new instance. function = PyObject_GetAttrString (instance, (char *) name.c_str ()); // sanity check if (!PyCallable_Check (function)) { fprintf (stderr, "*** error: py_callback::get_state: Setting callback '%s' failed!\n", name.c_str ()); return false; } return true; } // the actual python callback call PyObject *py_callback::make_call (PyObject *args) { if (function == NULL) return NULL; PyObject * val = PyObject_CallObject (function, args); Py_XDECREF (args); #ifdef PY_DEBUG python::show_traceback (); #endif return val; } adonthell-0.3.5/src/py_callback.h0000644000076500000240000000562207530246651013631 00000000000000/* $Id: py_callback.h,v 1.4 2002/08/19 19:57:29 ksterker Exp $ Copyright (C) 2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ #ifndef PY_CALLBACK_H__ #define PY_CALLBACK_H__ /** * @file py_callback.h * @author Kai Sterker * * @brief Declares the py_callback class. * * */ #include "Python.h" #include "fileops.h" /** * Stores the C++ <-> Python callback binding * */ class py_callback { public: /** * Default ctor, */ py_callback (); /** * Constructor that assigns a function and its arguments to the callback. * * @param func function assigned to this callback. * @param args Arguments passed to the function. */ py_callback (PyObject * func, PyObject * args); /** * Destructor. */ ~py_callback (); /** * @name Executing the callback */ //@{ /** * Calls the python function without arguments. */ void callback_func0 (); /** * Calls the python function and returns bool. */ bool callback_func0ret (); /** * Calls the python function with an integer. * * @param arg Integer value to pass to the callback */ void callback_func1 (int arg); //@} /** * @name Loading / Saving */ //@{ /** * Saves the callback and it's arguments to file. * @note Currently, arguments have to be a tuple containing only * integers and/or strings. * * @param out file where to save the callback. */ void put_state (ogzstream& out) const; /** * Restores the callback from a file. For that to work, the static * py_callback::instance member has to point to the python instance * containing the callback. * * @param in file to load the callback from. * * @return \e true if the callback could be restored, \e false otherwise * * @sa instance */ bool get_state (igzstream& in); /** * When restoring a callback from file, instance has to point to the * python instance (module or class) containing the callback. * * @sa get_state */ static PyObject *instance; //@} private: /** * The actual function call. * * @param args The arguments passed to the callback. */ PyObject *make_call (PyObject *args); /** * The function to be called. */ PyObject *function; /** * Additional arguments passed to the function. */ PyObject *arguments; }; #endif // PY_CALLBACK_H__ adonthell-0.3.5/src/py_object.cc0000644000076500000240000001212107662000414013460 00000000000000/* $Id: py_object.cc,v 1.17 2003/05/18 21:54:20 ksterker Exp $ Copyright (C) 1999/2000/2001/2003 Kai Sterker Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file py_object.cc * @author Kai Sterker * @author Alexandre Courbot * * @brief Defines the py_object class. * * */ #include "py_object.h" py_object::py_object () { Instance = NULL; Filename = ""; Classname = ""; } py_object::~py_object () { clear (); } // Cleanup (and re-initialisation) void py_object::clear () { // Delete our Instance Py_XDECREF (Instance); Instance = NULL; Filename = ""; Classname = ""; } // Pass a (new) Python module to be used bool py_object::create_instance (string file, string classname, PyObject * args) { // Try to import the given script PyObject *module = python::import_module (file); if (!module) return false; // Instanciate! return instanciate (module, file, classname, args); } // Reload a python module in case it has changed on disk bool py_object::reload_instance (string file, string classname, PyObject * args) { // Try to import the given script PyObject *module = python::import_module (file); if (!module) return false; // Now Reload PyObject *reload = PyImport_ReloadModule (module); Py_DECREF (module); if (!reload) return false; return instanciate (reload, file, classname, args); } // Instanciate the given class from the module bool py_object::instanciate (PyObject *module, string file, string classname, PyObject * args) { // Cleanup clear (); PyObject * classobj = PyObject_GetAttrString (module, (char *) classname.c_str ()); Py_DECREF (module); if (!classobj) { python::show_traceback (); return false; } // Create the Instance Instance = PyObject_CallObject (classobj, args); Py_DECREF (classobj); if (!Instance) { python::show_traceback (); return false; } Filename = file; Classname = classname; return true; } // Execute a method of the script PyObject* py_object::call_method_ret (const string &name, PyObject *args) const { PyObject *result = NULL; if (Instance) { PyObject *tocall = PyObject_GetAttrString (Instance, (char *) name.c_str ()); if (PyCallable_Check (tocall) == 1) { result = PyObject_CallObject (tocall, args); Py_DECREF (tocall); } #ifdef PY_DEBUG python::show_traceback (); #endif } return result; } // check for a certain attribute bool py_object::has_attribute (const std::string & name) { if (Instance) return PyObject_HasAttrString (Instance, (char *) name.c_str ()); else return false; } // Get an attribute of the instance PyObject *py_object::get_attribute (const string &name) const { if (Instance) return PyObject_GetAttrString (Instance, (char *) name.c_str ()); else return NULL; } // Get an int attribute of the instance s_int32 py_object::get_attribute_int (const string &name) { if (Instance) { PyObject *attribute = PyObject_GetAttrString (Instance, (char *) name.c_str ()); if (!attribute) return 0; s_int32 value = PyInt_AsLong (attribute); Py_DECREF (attribute); return value; } else return 0; } // Get a string attribute of the instance string py_object::get_attribute_string (const string &name) { if (Instance) { PyObject *attribute = PyObject_GetAttrString (Instance, (char *) name.c_str ()); if (!attribute) return 0; string value = PyString_AsString (attribute); Py_DECREF (attribute); return value; } else return string (""); } // Set an attribute of the instance void py_object::set_attribute (const string &name, PyObject *value) { if (Instance) if (PyObject_SetAttrString (Instance, (char *) name.c_str (), value) == -1) python::show_traceback (); else return; } // Set an int attribute of the instance void py_object::set_attribute_int (const string &name, int value) { if (Instance) { PyObject *val = PyInt_FromLong (value); if (PyObject_SetAttrString (Instance, (char *) name.c_str (), val) == -1) python::show_traceback (); Py_DECREF (val); } else return; } // Set a string attribute of the instance void py_object::set_attribute_string (const string &name, const string & value) { if (Instance) { PyObject *val = PyString_FromString (value.c_str ()); if (PyObject_SetAttrString (Instance, (char *) name.c_str (), val) == -1) python::show_traceback (); Py_DECREF (val); } else return; } adonthell-0.3.5/src/py_object.h0000644000076500000240000001542511003420707013327 00000000000000/* $Id: py_object.h,v 1.15 2008/04/22 17:35:03 ksterker Exp $ Copyright (C) 1999/2000/2001/2003 Kai Sterker Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file py_object.h * @author Kai Sterker * @author Alexandre Courbot * * @brief Declares the py_object class. */ #ifndef PY_OBJECT_H #define PY_OBJECT_H #include "python_class.h" /** * Python object class. * * Use this class to create instances of Python classes contained in Python * modules, then control their execution. You can pass an argument tuple to * the class constructor and to any method you want to run. It is further * possible to access and change attributes of the Python instance. * */ class py_object { public: /** * Default constructor. * */ py_object (); /** * Destructor. * */ ~py_object (); /** * Resets the script to it's post-constructor state. * */ void clear (); /** * @name PyObject creation */ //@{ /** * Creates an instance of a Python class. * * @param file file name of the module to use. * @param classname name of the class to import. * @param args Python tuple containing the arguments to pass to the * Python class constructor. */ bool create_instance (string file, string classname, PyObject * args = NULL); /** * Similar to create_instance, except that it will reload the module * from disk, in case it has been changed in the meantime. Mainly interesting * for script development or tools like dlgedit. * * @param file file name of the module to use. * @param classname name of the class to import. * @param args Python tuple containing the arguments to pass to the * Python class constructor. */ bool reload_instance (string file, string classname, PyObject * args = NULL); //@} /** * @name PyObject method calling */ //@{ /** * Call a method of this object. * * @param name name of the method to call. * @param args Python tuple containing the arguments to pass to the method. * @return the return value of the method as PyObject. Needs to be * Py_DECREF'd when no longer needed. */ PyObject *call_method_ret (const string &name, PyObject *args = NULL) const; /** * Call a method of this object. * * @param name name of the method to call. * @param args Python tuple containing the arguments to pass to the method. */ void call_method (const string & name, PyObject * args = NULL) const { PyObject *result = call_method_ret (name, args); Py_XDECREF (result); } /** * Calls the run () method of this object. * Equivalent to call_method ("run", args); * * @param args Python tuple containing the arguments to pass to the method. */ void run (PyObject * args = NULL) { call_method ("run", args); } //@} /** * @name PyObject member access */ //@{ /** * Tests whether the object contains a certain attribute (i.e. method * or variable). * * @param name Name of the attribute to test for * @return true if the attribute exists, false otherwise. */ bool has_attribute (const std::string & name); /** * Returns a new reference to an attribute of this object. * * @param name Name of the attribute to access * @return New reference to the attribute or NULL on error */ PyObject* get_attribute (const string & name) const; /** * Returns the given attribute as integer value. * * @param name Name of the attribute to access * @return An integer. */ s_int32 get_attribute_int (const string & name); /** * Returns the given attribute as string value. * * @param name Name of the attribute to access * @return A string. */ string get_attribute_string (const string & name); /** * Assign a new attribute to the module, overriding an existing * attribute of the same name. * * @param name The attribute's name * @param value The attribute's value */ void set_attribute (const string & name, PyObject *value); /** * Assign a new integer attribute to the module, overriding an * existing attribute of the same name. * * @param name The attribute's name * @param value The attribute's value */ void set_attribute_int (const string & name, s_int32 value); /** * Assign a new string attribute to the module, overriding an * existing attribute of the same name. * * @param name The attribute's name * @param value The attribute's value */ void set_attribute_string (const string & name, const string & value); //@} /** * @name Member access */ //@{ /** * Direct access to the instance object. The default behaviour is to * increase the instance's reference count, so that this method can * be safely called from Python scripts. * * @param incref whether to increase the reference count. * @return the Python class instance. */ PyObject *get_instance (const bool & incref = true) const { if (incref) { Py_XINCREF (Instance); } return Instance; } /** * Returns the class name of this object. This is the name of the * wrapped Python class. * * @return class name of this object. */ std::string class_name () const { return Classname; } /** * Returns the file name of this object. This is the name of the * Python module containing the wrapped class. * * @return fiöe name of this object. */ std::string file_name () const { return Filename; } //@} protected: /** * The python class instance wrapped by %py_object */ PyObject *Instance; private: /** * Helper for create_instance and reload_instance * */ bool instanciate (PyObject*, string, string, PyObject*); /** * The class name of the current script */ std::string Classname; /** * The file name of the current script */ std::string Filename; }; #endif // PY_OBJECT_H adonthell-0.3.5/src/python_class.cc0000644000076500000240000000752310230444760014223 00000000000000/* $Id: python_class.cc,v 1.12 2005/04/17 11:35:12 ksterker Exp $ Copyright (C) 2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file python_class.cc * @author Kai Sterker * * @brief Declares the python class. * * */ #include "python_class.h" #include "game.h" #include PyObject *data::globals; PyObject *python::module; // defined in py_adonthell_wrap.cc PyObject *get_py_obj (void *instance, const char* class_name); using namespace std; /* * Start Python */ void python::init () { Py_Initialize (); } /** * Stop Python */ void python::cleanup () { // Cleanup the global namespace of python interpreter // Note that we don't have to DECREF data::globals, because they're a // borrowed reference of py_module. Py_XDECREF (module); Py_Finalize (); } /* * Insert a string into the module search path. */ void python::insert_path( char *name ) { char buf[256]; sprintf ( buf, "import sys ; sys.path.insert(0, \"%s\")", name ); PyRun_SimpleString ( buf ); } /* * Some convenience functions */ /* * Executes the Python statements in the string */ void python::exec_string(char * s) { PyRun_SimpleString(s); } /* * Execute the file given by 'filename' */ bool python::exec_file (string filename) { PyObject *mod = python::import_module (filename); if (!mod) { cerr << "exec_file: " << filename << " load failed: " << endl; show_traceback (); return false; } Py_DECREF (mod); return true; } /* * Dump any error information to stderr */ void python::show_traceback(void) { if ( PyErr_Occurred() ) { PyErr_Print(); fflush (stderr); } } /* Import a module, return module ptr */ PyObject *python::import_module (string filename) { PyObject *result = PyImport_ImportModule ((char *) filename.c_str ()); #ifdef PY_DEBUG show_traceback (); #endif return result; } // Make a C++ instance available to Python PyObject *python::pass_instance (void *instance, const char *class_name) { string class_ptr = string(class_name) + "*"; return get_py_obj (instance, class_ptr.c_str()); } PyObject * python::get_tuple (igzstream & file) { PyObject * tuple; u_int32 l; l << file; tuple = PyTuple_New (l); for (u_int32 i = 0; i < l; i++) { string ms; u_int32 j; char c; c << file; switch (c) { case 's': ms << file; // Stolen reference PyTuple_SetItem (tuple, i, PyString_FromString (ms.c_str ())); break; case 'i': j << file; // Stolen reference PyTuple_SetItem (tuple, i, PyInt_FromLong (j)); break; } } return tuple; } void python::put_tuple (PyObject * tuple, ogzstream & file) { u_int32 l = PyTuple_Size (tuple); l >> file; for (u_int32 i = 0; i < l; i++) { // Borrowed reference PyObject * item = PyTuple_GetItem (tuple, i); // Check for the type of this object // String? if (PyString_Check (item)) { 's' >> file; char * s = PyString_AsString (item); string (s) >> file; } // Integer? else if (PyInt_Check (item)) { 'i' >> file; u_int32 li = PyInt_AsLong (item); li >> file; } } } adonthell-0.3.5/src/python_class.h0000644000076500000240000000636610230250720014060 00000000000000/* $Id: python_class.h,v 1.10 2005/04/16 17:56:32 ksterker Exp $ Copyright (C) 2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file python_class.h * @author Kai Sterker * * @brief Defines the python class. This file is named this way * so it doesn't conflicts with Python.h Python's include * file on non-case aware systems. * * */ #ifndef PYTHON_CLASS_H__ #define PYTHON_CLASS_H__ #include "Python.h" #include "compile.h" #include "eval.h" #include "node.h" #include "fileops.h" /** * Grant simplified access to the Python interpreter. * */ class python { public: /** * Initialise Python and insert the Adonthell include paths. * * * @return true in case of success, false otherwise. */ static void init (); /** * Cleanup Python. * */ static void cleanup (); /** * Adds a directory to Python's include path. * * @param name directory to add to Python's include path. */ static void insert_path( char * name); /** * Execute Python statements contained in a string. * * @param s string containing Python statements to execute. */ static void exec_string(char * s); /** * Executes a Python script. * * @param filename name of the file to execute. * * @return true in case of success, false otherwise. */ static bool exec_file (string filename); /** * Imports a Python module. * * @param filename file name of the module to import. * * @return pointer to the imported module. */ static PyObject *import_module (string filename); /** * Dumps any error information to stderr. * */ static void show_traceback( void ); /** * Magic function that makes any C object available to Python! * * @param instance pointer to the instance to pass. * @param class_name name of the class of the passed instance. * * @return pointer to the passed %object. */ static PyObject *pass_instance (void* instance, const char* class_name); /** * Loads a Python tuple previously saved with put_tuple (). * * @param file Opened file where to load the tuple from. * * @return Restored Python tuple. */ static PyObject * get_tuple (igzstream & file); /** * Save a Python tuple into a file. * * @warning The Python tuple MUST ONLY be composed of Python strings * or integers! * * @param tuple Python tuple to save. * @param file Opened file where to save the tuple to. */ static void put_tuple (PyObject * tuple, ogzstream & file); static PyObject *module; }; #ifndef SWIG namespace data { /** * Global namespace to use in scripts. * */ extern PyObject *globals; } #endif #endif // PYTHON_CLASS_H__ adonthell-0.3.5/src/quest.cc0000644000076500000240000000231707335562725012670 00000000000000/* $Id: quest.cc,v 1.6 2001/08/12 20:23:49 ksterker Exp $ Copyright (C) 2000 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ #include "quest.h" dictionary data::quests; quest::quest () { } quest::~quest () { } // Save a quest object void quest::save (ogzstream& out) { storage::iterator i; u_int32 j; // Save name name >> out; // Save all variables and flags j = size (); j >> out; for (i = begin (); i != end (); i++) { string s = (*i).first; s >> out; (*i).second >> out; } } // Load a quest object and add it to the quest-arrays void quest::load (igzstream& in) { u_int32 i, size; s_int32 value; string key; name << in; size << in; for (i = 0; i < size; i++) { key << in; value << in; set_val (key.c_str (), value); } } adonthell-0.3.5/src/quest.h0000644000076500000240000000172007332747620012523 00000000000000/* $Id: quest.h,v 1.7 2001/08/04 10:33:52 ksterker Exp $ Copyright (C) 2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ #ifndef __QUEST_H__ #define __QUEST_H__ #include "fileops.h" #include "storage.h" // This class stores flags and variables defining the player's // progress in a specific quest class quest : public storage { public: quest (); ~quest (); #ifndef SWIG void load (igzstream&); void save (ogzstream&); string name; #endif // SWIG }; #ifndef SWIG namespace data { /** * All the quests. * */ extern dictionary quests; } #endif #endif // __QUEST_H__ adonthell-0.3.5/src/screen.cc0000644000076500000240000001131510137121505012761 00000000000000/* $Id: screen.cc,v 1.21 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 1999/2000/2001/2004 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file screen.cc * @author Alexandre Courbot * * @brief Defines the screen class. * * */ #include "screen.h" #include #ifndef __BEOS__ #include #endif using namespace std; surface screen::display; u_int8 screen::bytes_per_pixel_ = 0; u_int32 screen::trans = 0; bool screen::fullscreen_ = false; bool screen::dblmode; void screen::set_video_mode (u_int16 nl, u_int16 nh, u_int8 depth, bool dbl, bool fscreen) { u_int8 bpp; u_int32 SDL_flags = SDL_SWSURFACE; u_int8 emulated = depth; if (fscreen) { SDL_flags |= SDL_FULLSCREEN; fullscreen_ = true; } dblmode = dbl; if (SDL_Init (SDL_INIT_VIDEO | SDL_INIT_AUDIO) < 0) { fprintf (stderr, "couldn't init display: %s\n", SDL_GetError ()); exit (1); } // Default video depth if none chosen. if (!depth) depth = 16; if (dblmode) bpp = SDL_VideoModeOK (nl << 1, nh << 1, depth, SDL_flags); else bpp = SDL_VideoModeOK (nl, nh, depth, SDL_flags); if ((emulated) && (bpp) && (bpp != depth)) bpp = depth; switch (bpp) { case 0: fprintf (stderr, "Video mode %dx%d unavailable. Exiting.. \n", nl, nh); exit (1); break; default: bytes_per_pixel_ = bpp / 8; break; } display.set_dbl_mode (dbl); display.set_length (nl); display.set_height (nh); // surface destructor musn't free the screen surface display.not_screen = false; if (dblmode) { nl = nl << 1; nh = nh << 1; } display.vis = SDL_SetVideoMode (nl, nh, bpp, SDL_flags); if (display.vis == NULL) { fprintf (stderr, "error: %s\n", SDL_GetError ()); exit (1); } // Setting up transparency color trans = SDL_MapRGB (display.vis->format, 0xFF, 0x00, 0xFF); // Setting up the window title SDL_WM_SetCaption ("Adonthell", NULL); // Turn off SDL cursor SDL_ShowCursor (0); } void screen::show () { SDL_Flip (display.vis); } string screen::info () { #ifndef __BEOS__ const SDL_VideoInfo * vi = SDL_GetVideoInfo (); ostringstream temp; const int driver_name_length = 500; char drv_name[driver_name_length]; temp << "Video information: \n" << "Video driver used: " << SDL_VideoDriverName(drv_name, driver_name_length) << endl << "Internal game depth: " << bytes_per_pixel_ * 8 << endl << "Can create hardware surfaces: " << (vi->hw_available ? "Yes" : "No") << endl << "Window manager available: " << (vi->wm_available ? "Yes" : "No") << endl << "Hardware blits accelerated: " << (vi->blit_hw ? "Yes" : "No") << endl << "Colorkey hardware blits accelerated: " << (vi->blit_hw_CC ? "Yes" : "No") << endl << "Alpha hardware blits accelerated: " << (vi->blit_hw_A ? "Yes" : "No") << endl << "Software blits accelerated: " << (vi->blit_sw ? "Yes" : "No") << endl << "Colorkey software blits accelerated: " << (vi->blit_sw_CC ? "Yes" : "No") << endl << "Alpha software blits accelerated: " << (vi->blit_sw_A ? "Yes" : "No") << endl << "Color fill blits accelerated: " << (vi->blit_fill ? "Yes" : "No") << endl << "Total video memory available: " << vi->video_mem << " Kb" << endl << "Using double size: " << (dblmode ? "Yes" : "No") << endl << "Fullscreen: " << (fullscreen_ ? "Yes" : "No") << endl << ends; string ret = temp.str (); #else string ret = "Sorry, not available under BeOS\n"; #endif // __BEOS__ return ret; } bool screen::set_fullscreen (bool m) { if (fullscreen_ != m) { int r = SDL_WM_ToggleFullScreen(display.vis); if (r) fullscreen_ = m; return r; } return 0; } void screen::transition (u_int16 i) { display.fillrect (0, 0, i, screen::height (), 0); display.fillrect (screen::length () - i, 0, i, screen::height (), 0); display.fillrect (0, 0, screen::length (), i, 0); display.fillrect (0, screen::height () - i, screen::length (), i, 0); } adonthell-0.3.5/src/screen.h0000644000076500000240000000755110137121505012632 00000000000000/* $Id: screen.h,v 1.25 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 1999/2000/2001/2004 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file screen.h * @author Alexandre Courbot * * @brief Declares the screen class. * * */ #ifndef SCREEN_H_ #define SCREEN_H_ #include "surface.h" #include #ifndef SWIG using namespace std; #endif /** Screen access is made through this class. * This static class sets video modes, flush the frame buffer to the physical * screen and make abstraction of the real screen depth to ease the graphic * programmer's task. */ class screen { public: /** * The actual screen surface. * It is publicly available so you can do fast operations on the screen. * Manipulate it just as a classic surface. * */ static surface display; /** Sets the video mode. * @param nl X screen resolution. * @param nh Y screen resolution. * @param depth desired screen depth. */ static void set_video_mode (u_int16 nl, u_int16 nh, u_int8 depth = 0, bool dbl = false, bool fscreen = false); /** Returns the length of the screen. * @return length of the screen. */ static u_int16 length () { return display.length (); } /** Returns the height of the screen. * @return height of the screen. */ static u_int16 height () { return display.height (); } /** Returns the screen depth, in bytes per pixel. * @return screen depth, in bytes per pixel. */ static u_int8 bytes_per_pixel () { return bytes_per_pixel_; } /** Returns the translucent color in %screen's depth format. * For manipulation on images that will only be displayed, this is * the right function to call for getting the translucent color. * @return the translucent color in %screen's depth format. */ static u_int32 trans_col () { return trans; } /** * Totally clears the screen with black. * */ static void clear () { display.fillrect (0, 0, display.length (), display.height (), 0x0); } /** Ensure the framebuffer is copied to the physical screen. */ static void show (); /** Returns whether the current mode is fullscreen or windowed. * @return * - true: fullscreen. * - false: windowed. */ static bool is_fullscreen () { return fullscreen_; } /** Sets fullscreen/windowed mode. * @param mode * - true: fullscreen mode. * - false: windowed mode. * @return * @li true if the operation succeed. * @li false if the mode is already set, or the system doesn't support * this mode. */ static bool set_fullscreen (bool m); /** * Returns information about the current screen settings, * suitable for being displayed to the user. * * * @return printable information about the current screen settings. */ static string info (); static bool dbl_mode () { return dblmode; } /** * Make a nice transition effect. * * @param i advancement of the transition (finished when i == screen::length () / 2) */ static void transition (u_int16 i); private: /// Bytes per pixel. static u_int8 bytes_per_pixel_; /// Transparent color. static u_int32 trans; /// Whether fullscreen is on or not. static bool fullscreen_; static bool dblmode; }; #endif adonthell-0.3.5/src/storage.cc0000644000076500000240000000723107510057367013167 00000000000000/* $Id: storage.cc,v 1.11 2002/07/01 13:53:59 ksterker Exp $ Copyright (C) 2000/2001 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file storage.cc * @author Kai Sterker * * @brief Defines the storage and objects classes. * * */ #ifdef _DEBUG_ #include #endif #include "storage.h" storage::~storage () { } // Set a variable to a new value; delete key if value is zero to save space void storage::set_val (string key, s_int32 value) { #ifdef _DEBUG_ std::cout << "storage::set_val \"" << key << "\" = " << value << std::endl; #endif if (!value) data.erase (key); else data[key] = value; changed = 1; } // Get the value of a variable; if key not found then variable is zero s_int32 storage::get_val (string key) { #ifdef _DEBUG_ if (data.find (key) != data.end ()) std::cout << "storage::get_val \"" << key << "\" = " << data[key] << std::endl; else std::cout << "storage::get_val no such key \"" << key << "\"" << std::endl; #endif if (data.find (key) == data.end ()) return 0; else return data[key]; } // [] Operator s_int32& storage::operator[] (string key) { return data[key]; } // Iterate over the array pair storage::next () { if (changed) { changed = 0; i = data.begin (); } if (i == data.end ()) { changed = 1; return pair (NULL, 0); } return *i++; } // Insert a new object for access from the interpreter void objects::set_val (const char* key, storage *val) { map::iterator j; // Check whether that key already exists -> if so, that is bad! for (j = data.begin (); j != data.end (); j++) if (strcmp ((*j).first, key) == 0) { #ifdef _DEBUG_ std::cout << "*** objects::set: key already exists: '" << key << "'\n"; std::cout << "*** container contents: "; for (j = data.begin (); j != data.end (); j++) std::cout << "'" << (*j).first << "', "; std::cout << "\n\n" << flush; #endif // _DEBUG_ return; } data[key] = val; changed = 1; } // Retrieve a object from the map storage* objects::get_val (const char* key) { map::iterator j; // Check whether the key exists for (j = data.begin (); j != data.end (); j++) if (strcmp ((*j).first, key) == 0) return (*j).second; #ifdef _DEBUG_ std::cout << "*** objects::get: key does not exist: '" << key << "'\n"; std::cout << "*** container contents: "; for (j = data.begin (); j != data.end (); j++) cout << "'" << (*j).first << "', "; cout << "\n\n" << flush; #endif // _DEBUG_ // That probably causes a segfault, but if we can't get the // required object, we are in trouble anyway. return NULL; } // Delete a key from the array void objects::erase (const char *key) { // Check whether the key exists if (data.find (key) != data.end ()) { data.erase (key); changed = 1; } } // Iterate over the array storage *objects::next () { if (changed) { changed = 0; i = data.begin (); } if (i == data.end ()) { changed = 1; return NULL; } return (*i++).second; } adonthell-0.3.5/src/storage.h0000644000076500000240000001043707626252732013034 00000000000000/* $Id: storage.h,v 1.24 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2000/2001/2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file storage.h * @author Kai Sterker * * @brief Declares the storage and objects classes. * * */ #ifndef STORAGE_H_ #define STORAGE_H_ #include #include #include #include "types.h" #include "str_hash.h" #ifndef SWIG using namespace std; #endif /** * Base storage class. If you want to access attributes of an object of yours * you have to derive that object's class from 'storage' and store the attributes * in the hash_map. * */ class storage { public: /** * Default constructor. * */ storage () { changed = 1; } /** * Destructor. * */ ~storage (); /** * Sets key to value. * * @param key key. * @param value value. */ void set_val (string key, s_int32 value); /** * Returns the value of a key. * * @param key key to return. * * @return value of key. */ s_int32 get_val (string key); /** * Returns the next (key, value) pair of the storage. * * * @return Next element. */ pair next (); #ifndef SWIG /** * Returns the value of a key. * * @attention Not available from Python. From Python, use get () * instead. * * @param key key to return * * @return value of key. */ s_int32& operator[] (string key); #endif private: #ifndef SWIG hash_map data; hash_map::iterator i; u_int8 changed; #endif public: #ifndef SWIG /** * Storage iterator, similar to STL iterator. * */ typedef hash_map::iterator iterator; /** * Returns an iterator to the beginning of the storage. * * * @return iterator to the beginning of the storage. */ iterator begin () { return data.begin (); } /** * Returns an iterator to the end of the storage. * * * @return iterator to the end of the storage. */ iterator end () { return data.end (); } /** * Returns the size (number of elements) of the storage. * * * @return size of the storage. */ u_int32 size () const { return data.size (); } #endif }; /** * The global container for access to all the different %game objects * from within a script */ class objects { public: /** * Default constructor. * */ objects () { changed = 1; } /** * Associates an object to a key. * * @param key key. * @param val storage associated to key. */ void set_val (const char * key, storage* val); /** * Returns a storage associated to a key. * * @param key key to return. * * @return storage associated to key. */ storage* get_val (const char * key); /** * Erases a storage from it's key. * * @param key key to erase. */ void erase (const char * key); /** * Returns the next storage in the object. * * * @return next storage in the object. */ storage* next (); private: #ifndef SWIG /* * Checks two strings for their order (needed for the map) * */ struct ltstr { bool operator()(const char* s1, const char* s2) const { return strcmp (s1, s2) < 0; } }; map data; map::iterator i; u_int8 changed; #endif }; #ifndef SWIG /** * Stores %objects of any kind. * * Please see the hash_map documentation in STL documentation for a detailed * description of this class. * */ template class dictionary : public hash_map { }; #endif #endif // STORAGE_H_ adonthell-0.3.5/src/str_hash.h0000644000076500000240000000210007507051531013157 00000000000000/* $Id: str_hash.h,v 1.4 2002/06/28 12:15:21 gnurou Exp $ (C) Copyright 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ /** * @file str_hash.h * @author Alexandre Courbot * * @brief Declares the hash type, to be able to declare * hash_maps with strings as keys. */ #ifndef STR_HASH_ #define STR_HASH_ #if __GNUG__ > 2 #include #else #include #endif #include #if __GNUG__ > 2 namespace __gnu_cxx #else namespace std #endif { template<> struct hash { size_t operator()(const std::string & __s) const { return __stl_hash_string(__s.c_str()); } }; }; #if __GNUG__ > 2 namespace std { using namespace __gnu_cxx; }; #endif #endif adonthell-0.3.5/src/surface.cc0000644000076500000240000003204310137121505013133 00000000000000/* $Id: surface.cc,v 1.15 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 1999/2000/2001/2004 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file surface.cc * Defines the surface class. */ #include "surface.h" #include "screen.h" #include using namespace std; SDL_Rect surface::srcrect; SDL_Rect surface::dstrect; void surface::resize_aux (u_int16 l, u_int16 h) { if (l == length () && h == height ()) return; if (vis) SDL_FreeSurface (vis); set_length (l); set_height (h); vis = SDL_CreateRGBSurface (SDL_SRCCOLORKEY | SDL_SRCALPHA | SDL_ASYNCBLIT, l, h, screen::bytes_per_pixel () * 8, screen::display.vis->format->Rmask, screen::display.vis->format->Gmask, screen::display.vis->format->Bmask, screen::display.vis->format->Amask); changed = true; } void surface::double_size(const surface & src) { u_int32 col; lock (); src.lock (); dbl_mode = src.is_dbl_mode (); resize(src.length(), src.height()); for (u_int16 j = 0; j < height(); j++) for (u_int16 i = 0; i < length(); i++) { src.get_pix_aux(i, j, col); put_pix(i, j, col); } src.unlock (); unlock (); } void surface::half_size(const surface & src) { u_int32 col; lock (); src.lock (); dbl_mode = src.is_dbl_mode (); resize_aux(src.length(), src.height()); for (u_int16 j = 0; j < src.height() - 1; j++) for (u_int16 i = 0; i < src.length() - 1; i++) { src.get_pix(i, j, col); put_pix_aux(i, j, col); } src.unlock (); unlock (); } void surface::get_pix_aux (u_int16 x, u_int16 y, u_int32& col) const { u_int8 * offset = ((Uint8 *) vis->pixels) + y * vis->pitch + x * vis->format->BytesPerPixel; switch (vis->format->BytesPerPixel) { case 1: col = *((Uint8 *)(offset)); break; case 2: col = *((Uint16 *)(offset)); break; case 3: { u_int8 r, g, b; col = 0; u_int32 t; r = *((offset) + (vis->format->Rshift >> 3)); g = *((offset) + (vis->format->Gshift >> 3)); b = *((offset) + (vis->format->Bshift >> 3)); t = r << vis->format->Rshift; col |= t; t = g << vis->format->Gshift; col |= t; t = b << vis->format->Bshift; col |= t; break; } case 4: col = *((Uint32 *)(offset)); break; } } void surface::put_pix_aux (u_int16 x, u_int16 y, u_int32 col) { u_int8 * offset = ((Uint8 *) vis->pixels) + y * vis->pitch + x*vis->format->BytesPerPixel; switch (vis->format->BytesPerPixel) { case 2: *((Uint16 *) (offset)) = (Uint16) col; if (dbl_mode) { *((Uint16 *) (offset+vis->format->BytesPerPixel)) = (Uint16) col; *((Uint16 *) (offset+vis->pitch)) = (Uint16) col; *((Uint16 *) (offset+vis->pitch+vis->format->BytesPerPixel)) = (Uint16) col; } break; case 3: { u_int8 r, g, b; r = (col >> vis->format->Rshift); g = (col >> vis->format->Gshift); b = (col >> vis->format->Bshift); *((offset) + (vis->format->Rshift >> 3)) = r; *((offset) + (vis->format->Gshift >> 3)) = g; *((offset) + (vis->format->Bshift >> 3)) = b; if (dbl_mode) { *((offset+vis->format->BytesPerPixel) + (vis->format->Rshift >> 3)) = r; *((offset+vis->format->BytesPerPixel) + (vis->format->Gshift >> 3)) = g; *((offset+vis->format->BytesPerPixel) + (vis->format->Bshift >> 3)) = b; *((offset+vis->pitch) + (vis->format->Rshift >> 3)) = r; *((offset+vis->pitch) + (vis->format->Gshift >> 3)) = g; *((offset+vis->pitch) + (vis->format->Bshift >> 3)) = b; *((offset+vis->pitch+vis->format->BytesPerPixel) + (vis->format->Rshift >> 3)) = r; *((offset+vis->pitch+vis->format->BytesPerPixel) + (vis->format->Gshift >> 3)) = g; *((offset+vis->pitch+vis->format->BytesPerPixel) + (vis->format->Bshift >> 3)) = b; } break; } case 4: *((Uint32 *)(offset)) = (Uint32) col; if (dbl_mode) { *((Uint32 *) (offset+vis->format->BytesPerPixel)) = (Uint32) col; *((Uint32 *) (offset+vis->pitch)) = (Uint32) col; *((Uint32 *) (offset+vis->pitch+vis->format->BytesPerPixel)) = (Uint32) col; } break; } changed = true; } surface::surface (bool mode) : drawable () { vis = NULL; alpha_ = 255; mask_on = false; not_screen = true; changed = false; dbl_mode = mode ? screen::dbl_mode () : false; } surface::~surface () { if (vis && not_screen) SDL_FreeSurface (vis); } void surface::set_mask (bool m) { if (m != is_masked ()) { mask_on = m; changed = true; } } void surface::set_alpha (u_int8 t) { if ((t == 255) && (alpha_ != 255) && vis) SDL_SetAlpha (vis, 0, 0); alpha_ = t; } void surface::draw (s_int16 x, s_int16 y, s_int16 sx, s_int16 sy, u_int16 sl, u_int16 sh, const drawing_area * da_opt, surface * target) const { if (target == NULL) target = &screen::display; setup_rects (x, y, sx, sy, sl, sh, da_opt); if (screen::dbl_mode()) { x <<= 1; y <<= 1; sx <<= 1; sy <<= 1; sl <<= 1; sh <<= 1; srcrect.x <<= 1; srcrect.y <<= 1; srcrect.w <<= 1; srcrect.h <<= 1; dstrect.x <<= 1; dstrect.y <<= 1; dstrect.w <<= 1; dstrect.h <<= 1; } if (!dstrect.w || !dstrect.h) return; if (changed) { changed = false; if (is_masked ()) SDL_SetColorKey (vis, SDL_SRCCOLORKEY | SDL_RLEACCEL, screen::trans_col ()); else SDL_SetColorKey (vis, 0, 0); } if (alpha () != 255) SDL_SetAlpha (vis, SDL_SRCALPHA, alpha_); SDL_BlitSurface (vis, &srcrect, target->vis, &dstrect); target->changed = true; } void surface::fillrect (s_int16 x, s_int16 y, u_int16 l, u_int16 h, u_int32 col, drawing_area * da_opt) { if (da_opt) { dstrect = da_opt->setup_rects (); } else { dstrect.x = x; dstrect.y = y; dstrect.w = l; dstrect.h = h; } if (screen::dbl_mode ()) { dstrect.x <<= 1; dstrect.y <<= 1; dstrect.w <<= 1; dstrect.h <<= 1; } SDL_FillRect (vis, &dstrect, col); changed = true; } void surface::lock () const { if (!length () || !height ()) return; if (SDL_MUSTLOCK(vis)) SDL_LockSurface (vis); } void surface::unlock () const { if (!length () || !height ()) return; if (SDL_MUSTLOCK(vis)) SDL_UnlockSurface (vis); } void surface::put_pix (u_int16 x, u_int16 y, u_int32 col) { if (dbl_mode) { x <<= 1; y <<= 1; } u_int8 * offset = ((Uint8 *) vis->pixels) + y * vis->pitch + x*vis->format->BytesPerPixel; switch (vis->format->BytesPerPixel) { case 2: *((Uint16 *) (offset)) = (Uint16) col; if (dbl_mode) { *((Uint16 *) (offset+vis->format->BytesPerPixel)) = (Uint16) col; *((Uint16 *) (offset+vis->pitch)) = (Uint16) col; *((Uint16 *) (offset+vis->pitch+vis->format->BytesPerPixel)) = (Uint16) col; } break; case 3: { u_int8 r, g, b; r = (col >> vis->format->Rshift); g = (col >> vis->format->Gshift); b = (col >> vis->format->Bshift); *((offset) + (vis->format->Rshift >> 3)) = r; *((offset) + (vis->format->Gshift >> 3)) = g; *((offset) + (vis->format->Bshift >> 3)) = b; if (dbl_mode) { *((offset+vis->format->BytesPerPixel) + (vis->format->Rshift >> 3)) = r; *((offset+vis->format->BytesPerPixel) + (vis->format->Gshift >> 3)) = g; *((offset+vis->format->BytesPerPixel) + (vis->format->Bshift >> 3)) = b; *((offset+vis->pitch) + (vis->format->Rshift >> 3)) = r; *((offset+vis->pitch) + (vis->format->Gshift >> 3)) = g; *((offset+vis->pitch) + (vis->format->Bshift >> 3)) = b; *((offset+vis->pitch+vis->format->BytesPerPixel) + (vis->format->Rshift >> 3)) = r; *((offset+vis->pitch+vis->format->BytesPerPixel) + (vis->format->Gshift >> 3)) = g; *((offset+vis->pitch+vis->format->BytesPerPixel) + (vis->format->Bshift >> 3)) = b; } break; } case 4: *((Uint32 *)(offset)) = (Uint32) col; if (dbl_mode) { *((Uint32 *) (offset+vis->format->BytesPerPixel)) = (Uint32) col; *((Uint32 *) (offset+vis->pitch)) = (Uint32) col; *((Uint32 *) (offset+vis->pitch+vis->format->BytesPerPixel)) = (Uint32) col; } break; } changed = true; } void surface::get_pix (u_int16 x, u_int16 y, u_int32& col) const { if (dbl_mode) { x <<= 1; y <<= 1; } u_int8 * offset = ((Uint8 *) vis->pixels) + y * vis->pitch + x * vis->format->BytesPerPixel; switch (vis->format->BytesPerPixel) { case 2: col = *((Uint16 *)(offset)); break; case 3: { u_int8 r, g, b; col = 0; u_int32 t; r = *((offset) + (vis->format->Rshift >> 3)); g = *((offset) + (vis->format->Gshift >> 3)); b = *((offset) + (vis->format->Bshift >> 3)); t = r << vis->format->Rshift; col |= t; t = g << vis->format->Gshift; col |= t; t = b << vis->format->Bshift; col |= t; break; } case 4: col = *((Uint32 *)(offset)); break; } } surface& surface::operator = (surface& src) { (drawable&) (*this) = (drawable&) src; mask_on = src.mask_on; alpha_ = src.alpha_; not_screen = src.not_screen; dbl_mode = src.dbl_mode; if (vis) SDL_FreeSurface (vis); if (!src.vis) vis = NULL; else vis = SDL_DisplayFormat (src.vis); changed = true; return *this; } // Protected methods void surface::resize (u_int16 l, u_int16 h) { if (l == length () && h == height ()) return; if (vis) SDL_FreeSurface (vis); set_length (l); set_height (h); if (screen::dbl_mode ()) { l <<= 1; h <<= 1; } vis = SDL_CreateRGBSurface (SDL_SRCCOLORKEY | SDL_SRCALPHA | SDL_ASYNCBLIT, l, h, screen::bytes_per_pixel () * 8, screen::display.vis->format->Rmask, screen::display.vis->format->Gmask, screen::display.vis->format->Bmask, screen::display.vis->format->Amask); changed = true; } void surface::clear () { if (vis) { SDL_FreeSurface (vis); vis = NULL; set_length (0); set_height (0); set_alpha (255); set_mask (false); changed = true; } } // Private methods void surface::setup_rects (s_int16 x, s_int16 y, s_int16 sx, s_int16 sy, u_int16 sl, u_int16 sh, const drawing_area * draw_to) const { if (draw_to) { drawing_area im_zone (x, y, sl, sh); SDL_Rect tr = draw_to->setup_rects (); drawing_area da_int; da_int = tr; im_zone.assign_drawing_area (&da_int); tr = im_zone.setup_rects (); dstrect = tr; srcrect = dstrect; srcrect.x = x < dstrect.x ? sx + dstrect.x - x : sx; srcrect.y = y < dstrect.y ? sy + dstrect.y - y : sy; } else { srcrect.x = sx; srcrect.y = sy; srcrect.w = sl; srcrect.h = sh; dstrect = srcrect; dstrect.x = x; dstrect.y = y; } } adonthell-0.3.5/src/surface.h0000644000076500000240000003021610137121505012775 00000000000000/* $Id: surface.h,v 1.9 2004/10/25 06:55:01 ksterker Exp $ Copyright (C) 1999/2000/2001/2004 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file surface.h * @author Alexandre Courbot * * @brief Declares the surface class. * * */ #ifndef SURFACE_H_ #define SURFACE_H_ #include "drawable.h" /** * Class where drawables can actually be drawn to. * Another name for a surface could eventually be "pixmap". A surface * is nothing more than an array of pixels where drawables can put their * %image to. This class has only two purposes: to group methods shared by * image and screen, and to ensure that every drawing operation can be performed * on the screen or on an image. * * Every surface has two special parameters: * @li a mask parameter, indicating whether the transparent color (which hex * triplet is 0xFF00FF, and you can get with screen::trans_col ()) should * be drawn or not. * @li an alpha parameter, indicating the level of translucency of the surface. * it's range go from 0 to 255, 0 being totally invisible and 255 totally * opaque. * */ class surface : public drawable { public: /** * Default constructor. * The surface will be totally empty, that is * (0, 0) sized, no mask, alpha value of 255 (opaque). * */ surface (bool mode = true); /** * Destructor. * */ virtual ~surface (); /** * @name Settings. * These methods sets the parameters of the surface. * */ //@{ /** * * Returns whether a surface is masked or not. * * @return true if the surface is masked, false if it isn't. */ bool is_masked () const { return mask_on; } /** * Sets the mask parameter of the surface. * * @param m true if the surface should be masked, false otherwise. */ void set_mask (bool m); /** * Returns the alpha value of the surface. * * * @return the alpha value of the surface. */ u_int8 alpha () const { return alpha_; } /** * Sets the alpha value of the surface. * * @param a The new alpha value for this surface. */ void set_alpha (u_int8 a); bool is_dbl_mode () const { return dbl_mode; } void set_dbl_mode (bool mode) { dbl_mode = mode; } //@} /** * @name Drawing Methods. * */ //@{ /** * Draw the surface. * * @param x X position where to draw. * @param y Y position where to draw. * @param da_opt optional drawing_area to use during the drawing operation. * @param target pointer to the surface where to draw the drawable. If NULL, draw on the screen. */ void draw (s_int16 x, s_int16 y, const drawing_area * da_opt = NULL, surface * target = NULL) const { draw (x, y, 0, 0, length (), height (), da_opt, target); } #ifndef SWIG /** * Draw a part of the surface. * * @param x X position where to draw. * @param y Y position where to draw. * @param sx X position where to start drawing from this image. * @param sy Y position where to start drawing from this image. * @param sl length of the part of this image to draw. * @param sh height of the part of this image to draw. * @param da_opt optional drawing_area to use during the drawing operation. * @param target pointer to the surface where to draw the drawable. If NULL, draw on the screen. * * @attention Not accessible from Python. Use draw_part () from Python instead. * @sa draw_part () * */ void draw (s_int16 x, s_int16 y, s_int16 sx, s_int16 sy, u_int16 sl, u_int16 sh, const drawing_area * da_opt = NULL, surface * target = NULL) const; #endif /** * Synonym of draw () to guarantee its access from Python. * * @sa draw () * */ void draw_part (s_int16 x, s_int16 y, s_int16 sx, s_int16 sy, u_int16 sl, u_int16 sh, const drawing_area * da_opt = NULL, surface * target = NULL) const { draw (x, y, sx, sy, sl, sh, da_opt, target); } /** * Fills an area of the surface with a given color. * * The color you pass to this function MUST come from a game's function * (like surface::get_pix () or screen::trans_col ()), because of the * screen depth dependant value of the col argument. * * @param x X position where to fill. * @param y Y position where to fill. * @param l length of the area to fill. * @param h height of the area to fill. * @param col color to fill the surface with. * @param da_opt optionnal drawing_area to use during the fill operation. * */ void fillrect (s_int16 x, s_int16 y, u_int16 l, u_int16 h, u_int32 col, drawing_area * da_opt = NULL); #ifndef SWIG /** * Fills an area of the surface with a given color. * * This function is independant of the screen depth. You just give * the red, green and blue triplets of the color you want to fill with. * * @param x X position where to fill. * @param y Y position where to fill. * @param l length of the area to fill. * @param h height of the area to fill. * @param r red value of the color to fill with. * @param g green value of the color to fill with. * @param b blue value of the color to fill with. * @param da_opt optionnal drawing_area to use during the fill operation. * * @attention Not accessible from Python. Use fillrect_rgb from Python instead. * @sa fillrect_rgb () */ void fillrect (s_int16 x, s_int16 y, u_int16 l, u_int16 h, u_int8 r, u_int8 g, u_int8 b, drawing_area * da_opt = NULL) { fillrect (x, y, l, h, SDL_MapRGB (vis->format, r, g, b), da_opt); } #endif /** * Synonym of fillrect () to guarantee its access from Python. * * @sa fillrect () */ void fillrect_rgb (s_int16 x, s_int16 y, u_int16 l, u_int16 h, u_int8 r, u_int8 g, u_int8 b, drawing_area * da_opt = NULL) { fillrect (x, y, l, h, r, g, b, da_opt); } //@} /** * @name Pixel manipulation Methods. * Use these methods to directly and quickly manipulate * pixels from a surface. * */ //@{ /** * Locks the surface. * Sometimes you may want to access directly the pixels of a surface. This * can be done with the get_pix () and put_pix () methods, thus you must * ABSOLUTELY lock the surface before doing so. This function is made for * that. Note that using get_pix () or put_pix () without locking the surface * may result in unpredictable behavior, crashes included. * */ void lock () const; /** * Unlock the surface after you've worked on it's pixels with the * get_pix () and put_pix () methods. * */ void unlock () const; /** * Puts a pixel of a given color. * * The col parameter is specific to the current screen depth, * and must come from a game's function like get_pix or * screen::trans_col (). * * @param x X position of the pixel to change. * @param y Y position of the pixel to change. * @param col color to put. */ void put_pix (u_int16 x, u_int16 y, u_int32 col); #ifndef SWIG /** * Puts a pixel of a given color. * * The r, g and b parameters are the hex triplets of the color * to put. * * @param x X position of the pixel to change. * @param y Y position of the pixel to change. * @param r red value of the color to put. * @param g green value of the color to put. * @param b blue value of the color to put. * * @attention Not accessible from Python. Use put_pix_rgb from Python instead. * @sa put_pix_rgb () * */ void put_pix (u_int16 x, u_int16 y, u_int8 r, u_int8 g, u_int8 b) { put_pix (x, y, SDL_MapRGB (vis->format, r, g, b)); } #endif /** * Synonym of put_pix () to guarantee its access from Python. * * @sa put_pix () */ void put_pix_rgb (u_int16 x, u_int16 y, u_int8 r, u_int8 g, u_int8 b) { put_pix (x, y, r, g, b); } /** * Gets a pixel from the surface. * * The col parameter is specific to the current screen depth, * and can be used with functions like put_pix (). * * @param x X position of the pixel to change. * @param y Y position of the pixel to change. * @param col returned color. */ void get_pix (u_int16 x, u_int16 y, u_int32& col) const; #ifndef SWIG /** * Gets a pixel from a surface. * * The returned r, g and b values are the hex triplets of the color. * * @param x X position of the pixel to change. * @param y Y position of the pixel to change. * @param r red value of the color. * @param g green value of the color. * @param b blue value of the color. * * @attention Not accessible from Python. Use get_pix_rgb from Python instead. * @sa get_pix_rgb () */ void get_pix (u_int16 x, u_int16 y, u_int8& r, u_int8& g, u_int8& b) const { u_int32 col; get_pix (x, y, col); SDL_GetRGB (col, vis->format, &r, &g, &b); } #endif /** * Synonym of get_pix () to guarantee its access from Python. * * @sa get_pix () */ void get_pix_rgb (u_int16 x, u_int16 y, u_int8 r, u_int8 g, u_int8 b) const { get_pix (x, y, r, g, b); } //@} #ifndef SWIG /** * Surface copy (similar to copy ()). * * @attention Not available from Python. Use copy () from Python instead. * @sa copy () */ surface& operator = (surface& src); #endif /** * Synonym of operator = to guarantee its access from Python. * * @sa operator = */ void copy (surface& src) { *this = src; } /** * The actual surface. * */ SDL_Surface *vis; protected: /** * Resize this surface. All the content will be lost. * * @param l new length. * @param h new height. */ void resize (u_int16 l, u_int16 h); /** * Resets the surface to it's initial state, that is totally * empty. * */ void clear (); /** * Must be set to true when you change the surface * by something else than class surface operations. * */ mutable bool changed; #ifndef SWIG void resize_aux (u_int16 l, u_int16 h); void double_size(const surface & src); void half_size(const surface & src); void get_pix_aux (u_int16 x, u_int16 y, u_int32& col) const; void put_pix_aux (u_int16 x, u_int16 y, u_int32 col); #endif /// double mode bool dbl_mode; private: /** * Forbid value passing. * */ surface (surface & src); /// SDL_Rects used in every blitting function. static SDL_Rect srcrect, dstrect; /// Mask bool mask_on; /// Alpha value u_int8 alpha_; /// Set at true by screen's contructor to prevent screen surface from /// being deleted two times. bool not_screen; /// Used internally for blitting operations with drawing_areas. void setup_rects (u_int16 x, u_int16 y, const drawing_area * draw_to) const { setup_rects (x, y, 0, 0, length (), height (), draw_to); } /// Used internally for blitting operations with drawing_areas. void setup_rects (s_int16 x, s_int16 y, s_int16 sx, s_int16 sy, u_int16 sl, u_int16 sh, const drawing_area * draw_to) const; #ifndef SWIG friend class screen; #endif }; #endif adonthell-0.3.5/src/text_bubble.cc0000644000076500000240000000316507507051531014015 00000000000000/* $Id: text_bubble.cc,v 1.7 2002/06/28 12:15:21 gnurou Exp $ Copyright (C) 2001/2002 Kai Sterker Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file text_bubble.cc * @author Kai Sterker * @author Alexandre Courbot * * @brief Defines the text_bubble class. * * */ #include "nls.h" #include "text_bubble.h" #include "win_manager.h" text_bubble::text_bubble (const string & text, const string & textcolor, const string & themename, u_int16 len) : win_label () { remain = 75 + text.length () * 4; win_font * font = win_manager::get_font (textcolor); win_theme * theme = win_manager::get_theme (themename); set_font (*font); set_background (*theme); set_border (*theme, win_border::MINI); label::resize (len, 0); set_form (label::AUTO_HEIGHT); set_text (nls::translate (text)); set_visible_border (true); set_visible_background (true); set_trans_background (true); set_visible (true); pack (); } text_bubble::~text_bubble () { } bool text_bubble::update () { if (win_label::update ()) { remain--; if (!remain) return false; } return true; } adonthell-0.3.5/src/text_bubble.h0000644000076500000240000000442507343727162013667 00000000000000/* $Id: text_bubble.h,v 1.2 2001/08/31 15:34:10 gnurou Exp $ Copyright (C) 2001 Kai Sterker Copyright (C) 2001 Alexandre Courbot Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file text_bubble.h * @author Kai Sterker * @author Alexandre Courbot * * @brief Declares the text_bubble class. * * */ #ifndef TEXT_BUBBLE_H_ #define TEXT_BUBBLE_H_ #include "win_label.h" #include "win_theme.h" /** * Displays neat little text speech bubbles. * * This class makes text bubbles designed to stay visible * a short amount of time (just enough to be read). * */ class text_bubble : public win_label { public: /** * Constructor. * * @param text Text to display in that bubble. * @param textcolor Font to use with this bubble (directly taken from the * win_manager's font collection). * @param themename Theme to use with this bubble (directly taken from the * win_manager's theme collection). * @param len Basic duration (in %game cycles) of this bubble. Another amount * of time will be added, depending on it's length. * */ text_bubble (const string & text, const string & textcolor, const string & themename, u_int16 len = 110); /** * Destructor. * */ ~text_bubble (); /** * Update function. * * @return \e false if the bubble should be destroyed now, \e true otherwise. */ bool update (); /** * Returns the number of game cycles remaining before the death of this * bubble. * * @return Number of game cycles remaining before the death of this bubble. */ u_int16 remaining () { return remain; } private: /** * Game cycles remaining before the death of this bubble. * */ u_int16 remain; }; #endif adonthell-0.3.5/src/time_event.cc0000644000076500000240000000575610173202211013647 00000000000000/* $Id: time_event.cc,v 1.7 2005/01/18 12:43:53 ksterker Exp $ Copyright (C) 2002/2003/2004 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com Adonthell 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. Adonthell 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 Adonthell; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /** * @file time_event.cc * * @author Kai Sterker * @brief Implements the time_event class. */ #include "time_event.h" #include "gamedate.h" // create a new time event time_event::time_event (const string & time, bool absolute) : event () { Repeat = 1; Type = TIME_EVENT; Absolute = absolute; Time = gamedate::parse_time (time); if (!absolute) Time += gamedate::time (); } // specify the interval between two occurances of the event void time_event::set_repeat (const string & interval, s_int32 count) { Interval = gamedate::parse_time (interval); Repeat = count; } // execute the time event s_int32 time_event::execute (const event * evnt) { // nothing needs be passed to the script; it can get the // current time from the gametime class if it is needed. switch (Action) { case ACTION_SCRIPT: { Script->run (); break; } case ACTION_PYFUNC: { PyFunc->callback_func0 (); break; } case ACTION_CPPFUNC: { Callback (); break; } default: break; } // when the script needs be repeated, do so. if (Repeat != 0) Time += Interval; return do_repeat (); } // disable the event temporarily void time_event::pause () { // save time 'til relative event is raised if (!Absolute) Time -= gamedate::time (); event::pause (); } // enable a previously paused event void time_event::resume () { // restore alarm time for relative event if (!Absolute) Time += gamedate::time (); event::resume (); } // Save time event to file void time_event::put_state (ogzstream& out) const { // save basic event data first event::put_state (out); // save time event data Time >> out; Interval >> out; Absolute >> out; } // load time event from file bool time_event::get_state (igzstream& in) { // get basic event data event::get_state (in); // get time event data Time << in; Interval << in; Absolute << in; return true; } adonthell-0.3.5/src/time_event.h0000644000076500000240000001127107626252732013524 00000000000000/* $Id: time_event.h,v 1.8 2003/02/23 23:14:34 ksterker Exp $ Copyright (C) 2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file time_event.h * * @author Kai Sterker * @brief Declares the time_event class. */ #ifndef TIME_EVENT_H__ #define TIME_EVENT_H__ #include "event.h" /** * The time %event executes the attached script or callback at a certain * point in %game-time. This point can either be relative to the current * time, or absolute in time. In any case, this point should be in the * future. Time %event with an alarm time in the past will be triggered * at once. */ class time_event : public event { public: /** * @name Initialization */ //@{ /** * Create a new time %event. * * @param time The time when the %event should be raised. The string * specifies week, day, hour, minute and 1/10 minute in the format * "wdhmt". If a number is * 0, it can be omitted. * @param absolute Decides whether the given time is relative from now * on, or an absolute time */ time_event (const string & time, bool absolute = false); #ifndef SWIG /** * Standard constructor. */ time_event () : event () { Type = TIME_EVENT; Repeat = 1; } /** * Create a new time %event. This constructor is primarily used for * raising time events. * * @param time The "alarm" time in %gametime minutes. */ time_event (const u_int32 & time) : event () { Type = TIME_EVENT; Time = time; Repeat = 1; } #endif // SWIG /** * Set whether the %event should be raised at fixed intervals. * * @param interval The time between two occurences of the %event. * @param count The number of times the %event shall be repeated. * Specify -1 to repeat it an unlimited number of times. */ void set_repeat (const string & interval, s_int32 count = -1); //@} /** * @name Event Handling */ //@{ /** * Compare two time events for equality. * * @param evnt The time event to compare this to. * @return True if the two events equal, false otherwise. */ bool equals (const event * evnt) { time_event *e = (time_event *) evnt; return Time <= e->time (); } /** * Executes the script associated with this time %event. If the * event repeats it is re-registered with the %event handler. * * @param evnt The %event that triggered this time %event. * * @return The number of times the %event needs to be repeated. */ s_int32 execute (const event * evnt); //@} /** * @name Loading / Saving */ //@{ /** * Saves the basic %event %data (such as the type or script data) * to a file. * * @param out file where to save the %event. */ void put_state (ogzstream& out) const; /** * Loads the basic %event %date from a file. * * @param in file to load the %event from. * @return \e true if the %event could be loaded, \e false otherwise */ bool get_state (igzstream& in); //@} /** * @name Pausing / Resuming execution */ //@{ /** * Disable the %event temporarily. As long as it in this state, the * event will neither be executed, nor will its repeat-count change. * * The alarm time of relative time events will be prolongued be the * time the event was paused. Absolute events will only be deferred * until they are resumed. */ void pause (); /** * Re-enable an %event that has been paused. * * Absolute events that are past their alarm time are executed at once. */ void resume (); //@} /** * Get the event's "alarm" time, i.e. the time when it needs to be * executed. * * @return the "alarm" time in 1/10 %gametime minutes. */ u_int32 time () const { return Time; } private: #ifndef SWIG // the time when the event shall be triggered u_int32 Time; // time that lies between two occurances of the event u_int32 Interval; // whether the alarm time is relative or absolute bool Absolute; #endif // SWIG }; #endif // TIME_EVENT_H__ adonthell-0.3.5/src/time_event_handler.cc0000644000076500000240000000417607612637655015373 00000000000000/* $Id: time_event_handler.cc,v 1.6 2003/01/20 00:15:41 ksterker Exp $ Copyright (C) 2002/2003 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file time_event_handler.cc * * @author Kai Sterker * @brief Implements the time_event_handler class. */ #include #include "gamedate.h" #include "time_event.h" #include "time_event_handler.h" // See whether a matching event is registered and execute the // according script(s) void time_event_handler::raise_event (const event * e) { s_int32 repeat; event *evt; // As long as matching events are in the list while (!Events.empty () && Events.front ()->equals (e)) { evt = Events.front (); // we remove the event in any case, as it needs to be // re-registered at a new position if it repeats Events.erase (Events.begin ()); evt->set_registered (false); // events that don't repeat are destroyed automatically repeat = evt->execute (e); // re-register event if it needs be repeated if (repeat) register_event (evt); else delete evt; } return; } // Unregister an event void time_event_handler::remove_event (event *e) { vector::iterator i; // Search for the event we want to remove i = find (Events.begin (), Events.end (), e); // found? -> get rid of it :) if (i != Events.end ()) Events.erase (i); } // register an event with the handler void time_event_handler::register_event (event *e) { vector::iterator i = Events.begin (); // search for the proper place to insert new event while (i != Events.end ()) { // skip events that are raised earlier than e if (((time_event *) e)->time () <= ((time_event *) (*i))->time ()) break; i++; } Events.insert (i, e); } adonthell-0.3.5/src/time_event_handler.h0000644000076500000240000000404607527775455015237 00000000000000/* $Id: time_event_handler.h,v 1.4 2002/08/18 19:53:17 ksterker Exp $ Copyright (C) 2002 Kai Sterker Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** * @file time_event_handler.h * * @author Kai Sterker * @brief Declares the time_event_handler class. */ #ifndef TIME_EVENT_HANDLER_H__ #define TIME_EVENT_HANDLER_H__ #include #include "event_handler_base.h" using std::vector; /** * This class keeps track of time events, i.e. events that are raised * at a certain point in (%game) time. All registered events are * sorted by the time they need to be raised, so that only one * comparison decides upon whether an %event is to be raised. */ class time_event_handler : public event_handler_base { public: /** * Register a time %event with the %event handler. It is inserted * into the vector of registered events depending on its "alarm" * time. The %event needs to be removed before it can be safely * deleted. * * @param evnt Pointer to the %event to be registered. */ void register_event (event *evnt); /** * Removes the given %event from the %event handler. Once it is * no longer needed, it can be freed. * * @param evnt Pointer to the %event to be removed. */ void remove_event (event *evnt); /** * Raise one or more events in case the given time matches their * "alarm" time. When they need to be repeated, they are * re-inserted into the %event-vector. * * @param evnt An %event structure with the current %game time in * minutes. */ void raise_event (const event *evnt); private: // storage for registered time events. vector Events; }; #endif // TIME_EVENT_HANDLER_H__ adonthell-0.3.5/src/types.h0000644000076500000240000000224607462020763012526 00000000000000// $Id: types.h,v 1.16 2002/04/25 15:34:11 gnurou Exp $ /* Copyright (C) 1999/2000/2001 Alexandre Courbot. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details. */ /** @file types.h * @author Alexandre Courbot * @brief Declares some basic types. */ #ifndef TYPES_H__ #define TYPES_H__ #include "SDL.h" // We should put ifdefs here to put the correct int values accordingly to the system type /// 8 bits long unsigned integer #define u_int8 unsigned char /// 16 bits long unsigned integer #define u_int16 unsigned short /// 32 bits long unsigned integer #define u_int32 unsigned int /// 8 bits long signed integer #define s_int8 signed char /// 16 bits long signed integer #define s_int16 signed short /// 32 bits long signed integer #define s_int32 signed int /* typedef Uint8 u_int8; typedef Uint16 u_int16; typedef Uint32 u_int32; typedef Sint8 s_int8; typedef Sint16 s_int16; typedef Sint32 s_int32; */ #endif adonthell-0.3.5/src/win_background.cc0000644000076500000240000000665407626252732014530 00000000000000/* (C) Copyright 2000 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include #include "win_theme.h" #include "win_background.h" win_background::win_background() { wb_=NULL; init(); set_visible_background(false); set_brightness_background(false); set_trans_background(true); } win_background::win_background(win_base * wb) { wb_=wb; init(); set_visible_background(false); set_brightness_background(false); set_trans_background(true); } win_background::win_background(char *rep) { wb_=NULL; init(); set_visible_background(false); set_brightness_background(false); set_trans_background(true); win_background::load(rep); refresh(); } win_background::win_background(win_background & wb) { wb_=NULL; init(); set_visible_background(false); set_brightness_background(false); set_trans_background(true); *this=wb; refresh(); } win_background::~win_background() { destroy(); } void win_background::destroy() { if(background_template_) delete background_template_; if(background_) delete background_; if(background_brightness_) delete background_brightness_; init(); } void win_background::init() { background_template_=NULL; background_=NULL; background_brightness_=NULL; background_draw_=NULL; } win_background & win_background::operator=(win_background & wb) { destroy(); background_template_=new image(); *background_template_=*(wb.background_template_); background_=new image(); background_->set_mask(false); background_brightness_= new image(); background_brightness_->set_mask(true); update(); return *this; } void win_background::set_background(win_background & wb) { *this=wb; refresh(); } void win_background::set_background(win_theme & wt) { *this=*(wt.background); refresh(); } void win_background::set_brightness_background(bool b) { brightness_=b; refresh(); } void win_background::refresh() { background_draw_=(brightness_)? background_brightness_ : background_ ; } void win_background::load(char *rep) { destroy(); char path[255]; strcpy(path,WIN_DIRECTORY); strcat(path,WIN_BACKGROUND_DIRECTORY); strcat(path,rep); strcat(path,WIN_BACKGROUND_FILE); background_template_=new image(); background_template_->load_pnm(path);//new background_=new image(); background_->set_mask(true); background_brightness_=new image(); background_brightness_->set_mask(true); } void win_background::update() { if(!background_template_) return ; background_->resize(wb_->length(),wb_->height()); background_->tile(*background_template_); background_brightness_->brightness(*background_,WIN_BRIGHTNESS_LEVEL); } void win_background::draw(drawing_area * da) { if(!visible_ || !background_draw_ || !wb_) return; background_draw_->draw(wb_->real_x(),wb_->real_y(),da); } void win_background::set_trans_background(bool b) { if(!background_template_) return; if(b) { background_->set_alpha(130); background_brightness_->set_alpha(130); } else { background_->set_alpha(255); background_brightness_->set_alpha(255); } } adonthell-0.3.5/src/win_background.h0000644000076500000240000000247707626252732014371 00000000000000/* (C) Copyright 2000 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef WIN_BACKGROUND_H_ #define WIN_BACKGROUND_H_ class win_theme; class win_base; #include "image.h" #include "win_types.h" class win_background { public: win_background(); win_background(win_base *); win_background(win_background &); win_background(char * rep); ~win_background(); void load(char *); void update(); void destroy(); void draw(drawing_area * da =NULL); void set_visible_background(bool b){visible_=b;} void set_background(win_background &); void set_background(win_theme & wt); void set_brightness_background(bool b); void set_trans_background(bool b);//{trans_=b;} private: win_background & operator=(win_background & wb); void refresh(); void init(); image * background_template_; image * background_; image * background_brightness_; image * background_draw_; win_base * wb_; bool visible_; bool brightness_; bool trans_; }; #endif adonthell-0.3.5/src/win_base.cc0000644000076500000240000000474610137121505013303 00000000000000/* $Id: win_base.cc,v 1.4 2004/10/25 06:55:01 ksterker Exp $ (C) Copyright 2000, 2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "win_base.h" #include "win_manager.h" #include "win_container.h" win_base::win_base(): win_border(this),win_background(this) { manager_ = NULL; wb_father_= NULL; pad_y_ = pad_x_ = 0; move(0,0); set_visible(false); set_focus(false); set_activate(false); set_brightness(false); set_trans(false); set_can_be_selected(true); set_align(ALIGN_NONE); } win_base::~win_base() { if (manager_) manager_->remove (this); manager_ = NULL; } void win_base::set_container(win_container * wc) { wb_father_=wc; update_position(); update_align(); } void win_base::update_position() { if(wb_father_) { drawing_area::move(wb_father_->real_x() + x() + pad_x(), wb_father_->real_y() + y() + pad_y() ); } else { drawing_area::move( x() + pad_x(), y() + pad_y() ); } } void win_base::move(s_int16 tx, s_int16 ty) { x_= tx; y_= ty; update_position(); } void win_base::resize(u_int16 tl, u_int16 th) { drawing_area::resize(tl, th); win_border::update(); win_background::update(); } bool win_base::update() { if(win_event::update()) { // if(focus_) ADDME: ajouter l'appel a update_input on_update(); return true; } return false; } bool win_base::input_update() { return (focus_ && activate_); } bool win_base::draw() { on_draw(); if(visible_) on_draw_visible(); return visible_; } void win_base::update_align() { switch(align_) { case ALIGN_LEFT: move((wb_father_) ? ((win_container*)wb_father_)->space_with_border() : 0 , y() ); break; case ALIGN_RIGHT: move(((wb_father_) ? wb_father_->length() : screen::length())-((wb_father_)?((win_container*)wb_father_)->space_with_border() : 0 ) - length() , y() ); break; case ALIGN_CENTER: if(((wb_father_)?wb_father_->length():screen::length())>length()) move((((wb_father_)?wb_father_->length():screen::length()) - length()) >>1,y()); break; } } void win_base::set_manager (win_manager *m) { manager_ = m; } adonthell-0.3.5/src/win_base.h0000644000076500000240000001425011003420707013133 00000000000000/* $Id: win_base.h,v 1.26 2008/04/22 17:35:03 ksterker Exp $ (C) Copyright 2000, 2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ /** * @file win_base.h * @author Vennin Joël * * brief Declares the win_bases class. * * */ #ifndef _WIN_BASE_H_ #define _WIN_BASE_H_ #include "win_event.h" #include "win_border.h" #include "win_background.h" #include "win_keys.h" class win_container; class win_scroll; class win_select; class win_manager; /** * Common properties for each win_base's object * * @bug It's currently impossible to render a windowed object * anywhere else than the screen. Windows should be capable * of being assigned a target parameter, which is a pointer * to the surface they should be drawn. */ class win_base: public win_event, public win_border, public drawing_area, public win_background { public: /** * Default constructor: * - not visible * - x,y equals to 0 * - not focus * - not activate * - not brightness * - not transluency * - can be selected * - alignement is ALIGN_NONE */ win_base(); /** * Return the relative horizontal position of the win_*. * @return horizontal position of the win_*. */ s_int16 x() const {return x_;} /** * Return the relative vertical position of the win_*. * @return vertical position of the win_*. */ s_int16 y() const {return y_;} /** * Return the pad horizontal position of the win_*. * @return the pad horizontal position of the win_*. */ s_int16 & pad_x() {return pad_x_;} /** * Return the pad vertical position of the win_*. * @return the pad vertical position of the win_*. */ s_int16 & pad_y() {return pad_y_;} /** * Return the horizontal position of the win_*. * @return the horizontal position of the win_*. */ s_int16 real_x() const {return drawing_area::x();} /** * Return the vertical position of the win_*. * @return the vertical position of the win_*. */ s_int16 real_y() const {return drawing_area::y();} /** Move the win_*. * @param tx new horizontal position. * @param ty new vertical position. */ virtual void move(s_int16 tx,s_int16 ty); /** Rezise the win_*. * @param tl new horizontal position. * @param th new vertical position. */ virtual void resize(u_int16 tl, u_int16 th); /** Test if win_* is visible * @return true if visible else false */ bool is_visible() const {return visible_;} /** Set the visible parameter * @param b true if the win_* should be visible, false otherwise */ void set_visible(const bool b) {visible_=b;} /** Test if win_* is activated * @return true if activate else false */ bool is_activate() const {return activate_;} /** Set the activate parameter * When a win_* is setup on, the keys queue is cleared * * @param b true if the win_* should be visible, false otherwise */ void set_activate(const bool b) {if((activate_=b)) {on_activate();input::clear_keys_queue();}else on_unactivate();} /** Test if win_* has focus on * @return true if focus on else false */ bool is_focus()const {return focus_;} /** Set the focus parameter * @param b true if the win_* should be focus on, false otherwise */ void set_focus(const bool b) {focus_=b;} /** Test if win_* has focus on * @return true if focus on else false */ bool is_trans() const {return trans_;} /** Set the transluency parameter * @param b true if the win_* should be ins transluency, false otherwise */ virtual void set_trans(const bool b) {set_trans_border(trans_ = b);set_trans_background(b);} /** Test if win_* is in brightness * @return true if in brightness else false */ bool is_brightness() const {return brightness_;} /** Set the transluency parameter * @param b true if the win_* should be in transluency, false otherwise */ virtual void set_brightness(const bool b) {set_brightness_border(brightness_ = b);set_brightness_background(b);} /** Set alignement of win_* * @param a can be, ALIGN_NONE, ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT */ void set_align(const u_int8 a) {align_=a;update_align();} /** Return alignment of win_* * @return align_ parameter */ u_int8 align() const {return align_;} /** Test if win_* can be selected * @return true if it can be selected, false otherwise */ bool is_can_be_selected() const {return can_be_selected_;} /** Set the object to be selected * A win_obj can be selectable or not when it is inside a win_select * @param b true if the object can be selected inside a win_select., false otherwise */ void set_can_be_selected(const bool b) {can_be_selected_ = b;} /** Update process * @return true if update is successful, false otherwise */ virtual bool update(); /** Draw process * @return true if draw is successful, false otherwise */ virtual bool draw(); /** Input Update process * @ */ virtual bool input_update(); virtual ~win_base(); void set_manager (win_manager*); static const u_int8 ALIGN_NONE = 0; static const u_int8 ALIGN_LEFT = 1; static const u_int8 ALIGN_CENTER = 2; static const u_int8 ALIGN_RIGHT = 3; protected: friend class win_container; friend class win_scroll; friend class win_select; virtual void update_position(); void update_align(); void set_container(win_container * wc); s_int16 x_; s_int16 y_; s_int16 pad_x_; s_int16 pad_y_; u_int8 align_; bool visible_; bool focus_; bool activate_; bool brightness_; bool trans_; bool can_be_selected_; win_container * wb_father_; win_manager * manager_; }; #endif adonthell-0.3.5/src/win_border.cc0000644000076500000240000001605211003420474013637 00000000000000/* (C) Copyright 2000 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "win_theme.h" #include "win_border.h" win_border::win_border() { wb_=NULL; init(); set_trans_border(false); set_visible_border( false ); set_brightness_border( false ); } win_border::win_border(win_base *wb) { wb_=wb; init(); set_trans_border(false); set_visible_border( false ); set_brightness_border( false ); } win_border::win_border(char * rep,const char * size) { wb_=NULL; init(); set_visible_border( false ); set_trans_border(false); set_brightness_border( false ); win_border::load(rep,size); refresh(); } win_border::win_border(win_border & wb) { wb_=NULL; init(); set_visible_border( false ); set_trans_border(false); set_brightness_border( false ); *this=wb; refresh(); } win_border::~win_border() { destroy(); } void win_border::set_border(win_border & wb) { *this=wb; refresh(); } void win_border::set_border(win_theme & wt, u_int8 size) { switch(size) { case NORMAL: *this=*(wt.normal); break; case MINI: *this=*(wt.mini); break; } refresh(); } void win_border::init() { h_border_template_=NULL; v_border_template_=NULL; for(u_int8 i=0;iset_mask(true); border_brightness_[i]->set_mask(true); } for(u_int8 i=NB_BORDER_IMAGE-2;iset_mask(true); border_brightness_[i]->set_mask(true); } update(); return *this; } void win_border::destroy() { if(h_border_template_) delete h_border_template_; if(v_border_template_) delete v_border_template_; for(u_int8 i = 0; i< NB_BORDER_IMAGE; i++) {delete border_[i];delete border_brightness_[i];} init(); } void win_border::load(char * rep,const char *size) { destroy(); char path[255];char tmp[255]; strcpy(path,WIN_DIRECTORY); strcat(path,WIN_BORDER_DIRECTORY); strcat(path,rep); strcat(path,size); h_border_template_=new image(); strcpy(tmp,path); strcat(tmp,WIN_H_BORDER_TEMPLATE_FILE); h_border_template_->load_pnm(tmp);//new v_border_template_=new image(); strcpy(tmp,path); strcat(tmp,WIN_V_BORDER_TEMPLATE_FILE); v_border_template_->load_pnm(tmp);//new border_[0]=new image(); strcpy(tmp,path); strcat(tmp,WIN_CORNER_TOP_LEFT_FILE); border_[0]->load_pnm(tmp); border_brightness_[0]=new image(); border_brightness_[0]->brightness(*(border_[0]),WIN_BRIGHTNESS_LEVEL); border_[0]->set_mask(true); border_brightness_[0]->set_mask(true); border_[1]=new image(); strcpy(tmp,path); strcat(tmp,WIN_CORNER_TOP_RIGHT_FILE); border_[1]->load_pnm(tmp); border_brightness_[1]=new image(); border_brightness_[1]->brightness(*(border_[1]),WIN_BRIGHTNESS_LEVEL); border_[1]->set_mask(true); border_brightness_[1]->set_mask(true); border_[2]=new image(); strcpy(tmp,path); strcat(tmp,WIN_CORNER_BOTTOM_LEFT_FILE); border_[2]->load_pnm(tmp); border_brightness_[2]=new image(); border_brightness_[2]->brightness(*(border_[2]),WIN_BRIGHTNESS_LEVEL); border_[2]->set_mask(true); border_brightness_[2]->set_mask(true); border_[3]=new image(); strcpy(tmp,path); strcat(tmp,WIN_CORNER_BOTTOM_RIGHT_FILE); border_[3]->load_pnm(tmp); border_brightness_[3]=new image(); border_brightness_[3]->brightness(*(border_[3]),WIN_BRIGHTNESS_LEVEL); border_[3]->set_mask(true); border_brightness_[3]->set_mask(true); for(u_int8 i=NB_BORDER_IMAGE-2;iset_mask(true); border_brightness_[i]->set_mask(true); } } void win_border::update() { if(!h_border_template_ || !v_border_template_ || !wb_) return; border_[4]->resize(v_border_template_->length(),wb_->height()); border_[4]->tile(*v_border_template_); border_brightness_[4]->brightness(*(border_[4]),WIN_BRIGHTNESS_LEVEL); border_[5]->resize(wb_->length(),h_border_template_->height()); border_[5]->tile(*h_border_template_); border_brightness_[5]->brightness(*(border_[5]),WIN_BRIGHTNESS_LEVEL); } u_int16 win_border::height_border() { if(h_border_template_) return h_border_template_->height(); return 0; } u_int16 win_border::length_border() { if(v_border_template_) return v_border_template_->length(); return 0; } void win_border::set_trans_border(bool b) { if(!h_border_template_) return; if(b) for(u_int8 i=0; iset_alpha(130); border_brightness_[i]->set_alpha(130); } else for(u_int8 i=0; iset_alpha(255); border_brightness_[i]->set_alpha(255); } } void win_border::draw(drawing_area * da) { if(!h_border_template_ || !visible_border_ || !wb_) return; u_int8 xodd = (border_draw_[0]->length () % 2); u_int8 yodd = (border_draw_[0]->length () % 2); border_draw_[5]->draw(wb_->real_x(), wb_->real_y() - height_border(),da); border_draw_[5]->draw(wb_->real_x(), wb_->real_y() + wb_->height(),da); border_draw_[4]->draw(wb_->real_x() - length_border() , wb_->real_y(),da); border_draw_[4]->draw(wb_->real_x() + wb_->length(), wb_->real_y(),da); border_draw_[0]->draw(wb_->real_x() - (border_draw_[0]->length()>>1) - (length_border()>>1) - xodd, wb_->real_y() - (border_draw_[0]->height()>>1) - (height_border()>>1) - yodd, da); border_draw_[1]->draw(wb_->real_x() + wb_->length() - (border_draw_[0]->length()>>1) + (length_border()>>1), wb_->real_y() - (border_draw_[0]->height()>>1) - (height_border()>>1) - yodd, da); border_draw_[2]->draw(wb_->real_x() - (border_draw_[0]->length()>>1) - (length_border()>>1) - xodd , wb_->real_y() + wb_->height() - (border_draw_[0]->height()>>1) + (height_border()>>1), da); border_draw_[3]->draw(wb_->real_x() + wb_->length() - (border_draw_[0]->length()>>1) + (length_border()>>1), wb_->real_y() + wb_->height() - (border_draw_[0]->height()>>1) + (height_border()>>1), da); } void win_border::set_brightness_border(bool b) { brightness_=b; refresh(); } void win_border::refresh() { border_draw_ = (brightness_) ? border_brightness_ : border_; } adonthell-0.3.5/src/win_border.h0000644000076500000240000000317711003420510013474 00000000000000/* (C) Copyright 2000 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef WIN_BORDER_H_ #define WIN_BORDER_H_ #include #include "win_types.h" #include "image.h" class win_theme; class win_base; #define NB_BORDER_IMAGE 6 class win_border { public: win_border(); win_border(win_base * wb); win_border(win_border &); win_border(char *rep ,const char *size=WIN_BORDER_NORMAL_SIZE); ~win_border(); void load(char *,const char *); void update(); void destroy(); void draw(drawing_area * da); void set_visible_border(bool b){visible_border_=b;} void set_brightness_border(bool b); void set_border(win_border & ); void set_border(win_theme & wth, u_int8 size = win_border::NORMAL); void set_trans_border(bool b); u_int16 length_border(); u_int16 height_border(); #ifdef SWIG #define win_border_MINI 0 #define win_border_NORMAL 1 #else const static u_int8 MINI = 0; const static u_int8 NORMAL = 1; #endif private: void init(); void refresh(); win_border & operator=(win_border &); image * h_border_template_; image * v_border_template_; image * border_[NB_BORDER_IMAGE]; image * border_brightness_[NB_BORDER_IMAGE]; image ** border_draw_; bool visible_border_; bool brightness_; u_int8 trans_; win_base * wb_; }; #endif adonthell-0.3.5/src/win_container.cc0000644000076500000240000002167607330620751014364 00000000000000/* (C) Copyright 2000 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "win_container.h" win_container::win_container() { move(0,0); set_layout(NO_LAYOUT); set_space_with_border(SPACE_WITH_BORDER); set_space_with_object(SPACE_WITH_OBJECT); focus_object_ = NULL; } win_container::~win_container() { destroy(); } void win_container::move(s_int16 tx, s_int16 ty) { win_base::move(tx,ty); for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) (*i)->update_position(); } void win_container::resize(u_int16 tl, u_int16 th) { win_base::resize(tl,th); update_layout(); } void win_container::update_position() { win_base::update_position(); for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) (*i)->update_position(); } void win_container::add(win_base * w) { list_wb_.push_back(w); w->set_container(this); update_layout(); } void win_container::remove(win_base * w) { list_wb_.remove(w); w->set_container(NULL); update_layout(); } void win_container::remove_all() { for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) { (*i)->set_container(NULL); list_wb_.erase(i); } } void win_container::destroy() { for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) delete *i; list_wb_.clear(); } bool win_container::update() { if(win_base::update()) { for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) { if(!(*i)->update()) { list_wb_.erase(i); delete *i--; } } return true; } return false; } bool win_container::input_update() { if(win_base::input_update()) { if(focus_object_) focus_object_->input_update(); return true; } return false; } void win_container::set_focus_object(win_base * f) { if(focus_object_) focus_object_->set_focus(false); if(f) f->set_focus(true); focus_object_ = f; } void win_container::set_brightness(bool b) { win_base::set_brightness(b); for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) (*i)->set_brightness(b); } void win_container::set_trans(bool b) { win_base::set_trans(b); for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) (*i)->set_trans(b); } void win_container::set_visible_all(bool b) { set_visible(b); for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) (*i)->set_visible(b); } bool win_container::draw() { if(win_base::draw()) { assign_drawing_area(wb_father_); win_background::draw(this); for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) (*i)->draw(); win_border::draw(wb_father_); detach_drawing_area(); return true; } return false; } void win_container::update_layout() { u_int16 indice_h=space_with_border_; switch(layout_) { case LIST_LAYOUT: for(lwb::iterator i=list_wb_.begin();i!=list_wb_.end();i++) { (*i)->move((*i)->x(),indice_h); indice_h+=(*i)->height()+space_with_object_; } break; } } /* #include #include "types.h" #include "image.h" #include "win_types.h" #include "win_base.h" #include "win_border.h" #include "win_theme.h" #include "win_container.h" //constructor win_container::win_container(s_int16 tx,s_int16 ty,u_int16 tl,u_int16 th,win_theme * wth):win_base(tx,ty,tl,th,wth) { //clear the list og object list_obj.clear(); //set the space between border and object space_between_border_=WIN_SPACE_BETWEEN_BORDER; //set space between object and another object space_between_object_=WIN_SPACE_BETWEEN_OBJECT; */ /* //set justify ----> WARNING MAYBE IN WIN_BASE ???? justify_=WIN_JUSTIFY_NO; */ /* //set layout equals no layout_=WIN_LAYOUT_NO; } void win_container::set_space_between_object(u_int16 tmp) { //set the space between object and call update layout to redefine position of each element space_between_object_=tmp; update_layout(); } void win_container::set_space_between_border(u_int16 tmp) { //set the space between border and object and call update layout to redefine position of each element space_between_border_=tmp; update_layout(); } win_container::~win_container() { destroy(); } void win_container::add(win_base * tmp) { //add the object list_obj.push_back(tmp); //set the new object tmp->wb_father_=this; tmp->update_real_position(); tmp->update_align(); //update layout update_layout(); //if the win_container is brightness set the new object in brightness mode if(draw_brightness_) tmp->set_draw_brightness(true); } void win_container::remove(win_base * tmp) { list::iterator i=list_obj.begin(); while(i!=list_obj.end() && tmp!=(*i)) i++; if(i!=list_obj.end()) { //list_obj.remove(tmp); tmp->wb_father_=NULL; list_obj.erase(i); update_layout(); } } void win_container::remove_all() { for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->wb_father_=NULL; list_obj.clear(); } void win_container::destroy() { for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) delete *i; list_obj.clear(); } void win_container::resize(u_int16 tl,u_int16 th) { win_base::resize(tl,th); for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->update_align(); } bool win_container::update() { //call the win update ---> on update() if(win_base::update()) { //update all the element in the list for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) { if(!(*i)->update()) { remove(*i); delete *i--; } } return true; } return false; } bool win_container::draw() { if(win_base::draw()) { assign_drawing_area(); //assign drawing area //draw the background draw_background(); //next draw all the element for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->draw(); //draw the border draw_border(); //detach the drawing area detach_drawing_area(); return true; } return false; } //set visible mode for all element in list void win_container::set_visible_all(bool b) { visible_=b; for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->set_visible(visible_); } //set draw brightness for all element in the list void win_container::set_draw_brightness(bool b) { win_base::set_draw_brightness(b); for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->set_draw_brightness(b); } */ /* //set justify an object in this container void win_container::set_justify(win_base * wb, u_int8 just) { switch(just) { case WIN_JUSTIFY_LEFT: wb->move(space_between_border_,wb->y()); break; case WIN_JUSTIFY_RIGHT: wb->move(length_-space_between_border_-wb->length(),wb->y()); break; case WIN_JUSTIFY_CENTER: if(length_>wb->length()) wb->move((length_-wb->length())>>1,wb->y()); break; } } //justify all the element */ /* void win_container::set_align_all(u_int8 a) { for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->set_align(a); } //sezt the layout and update void win_container::set_layout(u_int8 lay) { layout_=lay; update_layout(); } // void win_container::update_real_position() { win_base::update_real_position(); for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->update_real_position(); } void win_container::move(s_int16 tx,s_int16 ty) { win_base::move(tx,ty); update_real_position(); } //just one layout actually but i whish add another --> grid layout void win_container::update_layout() { u_int16 old_h=0; u_int16 indice_h=space_between_border_; u_int16 indice_l=space_between_border_; switch(layout_) { case WIN_LAYOUT_LIST: //u_int16 indice=space_between_border_; for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) { (*i)->move((*i)->x(),indice_h); indice_h+=(*i)->height()+space_between_object_; } break; case WIN_LAYOUT_AUTO: for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) { if(indice_l+(*i)->length()>length_) { indice_l=space_between_border_; indice_h+=old_h+space_between_object_; (*i)->move(indice_l,indice_h); } (*i)->move(indice_l,indice_h); indice_l+=(*i)->length()+space_between_object_; old_h=(*i)->height(); } break; default: break; } } void win_container::set_focus(bool b) { for(list::iterator i=list_obj.begin();i!=list_obj.end();i++) (*i)->set_focus(b); focus_=b; } */ adonthell-0.3.5/src/win_container.h0000644000076500000240000000751307626252732014230 00000000000000/* $Id: win_container.h,v 1.17 2003/02/23 23:14:34 ksterker Exp $ (C) Copyright 2000/2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef _WIN_CONTAINER_H_ #define _WIN_CONTAINER_H_ #include #include "win_base.h" using namespace std; typedef list lwb; class win_container : public win_base { public: win_container(); void move(s_int16, s_int16); void resize(u_int16, u_int16); virtual void add(win_base *); virtual void remove(win_base *); virtual void remove_all(); virtual void destroy(); virtual ~win_container(); virtual bool update(); virtual bool input_update(); virtual bool draw(); void set_visible_all(bool b); virtual void set_brightness(bool b); virtual void set_trans(bool b); virtual void set_space_with_border(u_int16 b){space_with_border_=b;update_layout();} virtual void set_space_with_object(u_int16 o){space_with_object_=o;update_layout();} u_int16 space_with_border(){return space_with_border_;} u_int16 space_with_object(){return space_with_object_;} void set_layout(u_int8 l){layout_=l;update_layout();} void set_focus_object(win_base * f); win_base * focus_object(){return focus_object_;} const static u_int8 SPACE_WITH_BORDER = 10; const static u_int8 SPACE_WITH_OBJECT = 10; const static u_int8 LIST_LAYOUT = 1; const static u_int8 NO_LAYOUT = 0; protected: void update_position(); void update_layout(); u_int16 space_with_object_; u_int16 space_with_border_; u_int8 layout_; lwb list_wb_; win_base * focus_object_; }; /* class win_base; class win_theme; class win_container : public win_base { protected: list list_obj; u_int16 space_between_border_; u_int16 space_between_object_; // u_int8 justify_; u_int8 layout_; void update_layout(); public: win_container(s_int16 tx,s_int16 ty,u_int16 tl,u_int16 th,win_theme * wth); ~win_container(); //add an object virtual void add(win_base *); //remove an object virtual void remove(win_base *); //remove all, but not in memory virtual void remove_all(); //destroy all object of the list and in memory virtual void destroy(); //update function bool update(); //draw on the screen bool draw(); void move(s_int16 tx,s_int16 ty); void resize(u_int16,u_int16); //set the space between object and the border, work if you use layout or justify virtual void set_space_between_border(u_int16); //set the space between object and the border, work if you use layout virtual void set_space_between_object(u_int16); u_int16 space_between_border(){return space_between_border_;} u_int16 space_between_object(){return space_between_object_;} //if true all of this object is in brightness mode void set_draw_brightness(bool b); //bugs in this functions. void set_visible_all(bool); */ /* //justify all object : WIN_JUSTIFY_LEFT, WIN_JUSTIFY_RIGHT, WIN_JUSTIFY_CENTER void set_justify(u_int8); //justify an win_base object in this object void set_justify(win_base * wb,u_int8); */ /* //align all object void set_align_all(u_int8); //set the layout (like in java i think) Now 2 sort of layout but i can add several if you suggest me. WIN_LAYOUT_NO (no layout: you put your object where you want) //and WIN_LAYOUT_LIST( all object show like a listbox) void set_layout(u_int8 lay); //IMPORTANT: You can use set_justify and layout to do good window void update_real_position(); void set_focus(bool b); bool is_focus(){return focus_;} }; */ #endif adonthell-0.3.5/src/win_event.cc0000644000076500000240000000304207577422402013514 00000000000000/* $Id: win_event.cc,v 1.5 2002/12/16 19:09:54 ksterker Exp $ (C) Copyright 2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "win_event.h" #include "py_callback.h" void win_event::py_signal_connect (PyObject *pyfunc, int signal, PyObject *args) { // create the callback py_callback *callback = new py_callback (pyfunc, args); py_callbacks.push_back (callback); // connect the signal switch (signal) { case CLOSE: { set_callback_quit (makeFunctor (*callback, &py_callback::callback_func1)); break; } case DESTROY: { set_callback_destroy ( makeFunctor (&Functor0wRet(), *callback, &py_callback::callback_func0ret)); break; } default: { set_signal_connect (makeFunctor (*callback, &py_callback::callback_func0), signal); } } } bool win_event::update() { if(callback_destroy_ && !callback_destroy_()) return false; return true; } win_event::~win_event() { //notify that window is closing if (callback_quit_) (callback_quit_) (return_code_); //delete any python callbacks for (vector::iterator i = py_callbacks.begin (); i != py_callbacks.end (); i++) delete *i; } adonthell-0.3.5/src/win_event.h0000644000076500000240000000611607412156050013352 00000000000000/* $Id: win_event.h,v 1.5 2001/12/25 20:06:00 ksterker Exp $ (C) Copyright 2000, 2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef _WIN_EVENT_H_ #define _WIN_EVENT_H_ #include "Python.h" #include class py_callback; #include "types.h" #include "callback.h" using namespace std; class win_event { public: win_event(){return_code_=0;} //Use this function to set a callback function void set_return_code (int rc) { return_code_ = rc; } #ifndef SWIG void set_signal_connect (const Functor0 &func, u_int8 signal) { callback_[signal] = func; } void set_callback_destroy (const Functor0wRet &func) { callback_destroy_ = func; } void set_callback_quit (const Functor1 &func) { callback_quit_ = func;} #endif bool update(); void py_signal_connect (PyObject *pyfunc, int signal, PyObject *args = NULL); const static u_int8 ACTIVATE =1 ; const static u_int8 UNACTIVATE = 2; const static u_int8 UPDATE = 3; const static u_int8 DRAW = 4; const static u_int8 DRAW_ON_VISIBLE = 5; const static u_int8 ACTIVATE_KEY = 6; const static u_int8 SELECT = 7; const static u_int8 UNSELECT = 8; const static u_int8 KEYBOARD = 9; const static u_int8 SCROLL_UP = 10; const static u_int8 SCROLL_DOWN = 11; const static u_int8 NEXT = 12; const static u_int8 PREVIOUS = 13; const static u_int8 CLOSE = 14; const static u_int8 DESTROY = 15; /*****************************************************/ /*****************************************************/ //DESTRUCTOR virtual ~win_event(); protected: // the python callbacks connected to the window vector py_callbacks; Functor0 callback_[20]; Functor0wRet callback_destroy_; Functor1 callback_quit_; int return_code_; //execute the callback function virtual void on_activate(){ if(callback_[ACTIVATE]) (callback_[ACTIVATE])();} virtual void on_unactivate(){ if(callback_[UNACTIVATE]) (callback_[UNACTIVATE])();} virtual void on_update() { if(callback_[UPDATE]) (callback_[UPDATE])();} virtual void on_draw_visible(){ if(callback_[DRAW_ON_VISIBLE]) (callback_[DRAW_ON_VISIBLE])();} virtual void on_draw(){ if(callback_[DRAW]) (callback_[DRAW])();} virtual void on_activate_key(){ if(callback_[ACTIVATE_KEY]) (callback_[ACTIVATE_KEY])();} virtual void on_select(){ if(callback_[SELECT]) (callback_[SELECT])();} virtual void on_unselect(){ if(callback_[UNSELECT]) (callback_[UNSELECT])();} virtual void on_up(){if(callback_[SCROLL_UP]) (callback_[SCROLL_UP])();} virtual void on_down(){if(callback_[SCROLL_DOWN]) (callback_[SCROLL_DOWN])();} virtual void on_next(){if(callback_[NEXT]) (callback_[NEXT])();} virtual void on_previous(){if(callback_[PREVIOUS]) (callback_[PREVIOUS])();} }; #endif adonthell-0.3.5/src/win_font.cc0000644000076500000240000000442710137121505013333 00000000000000/* (C) Copyright 2000 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "win_font.h" win_font::win_font() { cursor=NULL; } win_font::win_font(char * fic) { cursor=NULL; load(fic); } win_font::win_font(win_font & tmpfont) { *this=tmpfont; } win_font::~win_font() { erase(); } void win_font::erase() { if(cursor) delete cursor; glyphs.clear (); } void win_font::load(char * rep) { erase(); //file which contains font information and cursor igzstream f; //path where is the file string path = WIN_DIRECTORY; //add win font directory path path += WIN_FONT_DIRECTORY; //add theme pass path += string (rep) + "/"; //add font filename path += WIN_FONT_FILE; //open gzfile if (!f.open (path)) { cout << path << " not found !\n"; exit(1); } //create image wich contain the main font image image *font=new image(); font->get(f); //get the cursor cursor=new image(); cursor->get(f); char i; u_int16 pos,tl; while(!f.eof()) { i << f; pos << f; tl << f; if(i>0 && iheight()-1); font->draw (0, 0, pos, 0, tl + 1, font->height () -1, NULL, glph); glyphs[i] = glph; } } height_=font->height()-1; length_=glyphs[' ']->length(); if(font)delete font; f.close (); } bool win_font::in_table(u_int16 tmp) { if (glyphs.find (tmp) != glyphs.end ()) return true; else return false; } image & win_font::operator[](u_int16 i) { if (in_table (i)) return *(glyphs[i]); else return *(glyphs[' ']); } /* win_font & win_font::operator=(win_font & tmpfont) { erase(); table=new image[WIN_NB_TABLE_CHAR]; cursor=new image(); *cursor=*(tmpfont.cursor); for(u_int16 i=0;i #include #include #if __GNUG__ > 2 #include using __gnu_cxx::hash_map; #else #include #endif #include "win_types.h" #include "image.h" using namespace std; class win_font{ protected: void erase(); hash_map glyphs; u_int8 height_; u_int8 length_; //just for space bar public: win_font(char *); win_font(win_font &); win_font(); virtual ~win_font(); void load(char *); // void load_font(char *); virtual bool in_table(u_int16 tmp); virtual image & operator[](u_int16); //win_font & operator=(win_font &); u_int16 height(){return height_;} u_int16 length(){return length_;} image * cursor; }; #endif adonthell-0.3.5/src/win_image.h0000644000076500000240000000107707332267513013324 00000000000000/* $Id: win_image.h,v 1.11 2001/08/02 15:18:35 gnurou Exp $ (C) Copyright 2000/2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef WIN_IMAGE_H_ #define WIN_IMAGE_H_ #include "win_object.h" #include "image.h" typedef win_object win_image; #endif adonthell-0.3.5/src/win_keys.cc0000644000076500000240000000123207330620751013337 00000000000000/* (C) Copyright 2000, 2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #include "win_keys.h" SDLKey win_keys::KEY_ACTIVATE_ENTRY = SDLK_RETURN; SDLKey win_keys::KEY_UP = SDLK_PAGEUP; SDLKey win_keys::KEY_DOWN = SDLK_PAGEDOWN; SDLKey win_keys::KEY_PREVIOUS = SDLK_UP; SDLKey win_keys::KEY_NEXT = SDLK_DOWN; SDLKey win_keys::KEY_ACTIVATE = SDLK_SPACE; adonthell-0.3.5/src/win_keys.h0000644000076500000240000000132607332554741013214 00000000000000/* $Id: win_keys.h,v 1.2 2001/08/03 17:05:37 ksterker Exp $ (C) Copyright 2000, 2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef _WIN_KEYS_H_ #define _WIN_KEYS_H_ #include "input.h" class win_keys { public: static SDLKey KEY_ACTIVATE_ENTRY; static SDLKey KEY_UP; static SDLKey KEY_DOWN; static SDLKey KEY_PREVIOUS; static SDLKey KEY_NEXT; static SDLKey KEY_ACTIVATE; }; #endif adonthell-0.3.5/src/win_label.h0000644000076500000240000000107507332267513013317 00000000000000/* $Id: win_label.h,v 1.15 2001/08/02 15:18:35 gnurou Exp $ (C) Copyright 2000/2001 Joel Vennin Part of the Adonthell Project http://adonthell.linuxgames.com This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. See the COPYING file for more details */ #ifndef WIN_LABEL_H_ #define WIN_LABEL_H_ #include "win_object.h" #include "label.h" typedef win_object