pcsc-cyberjack-3.99.5final.SP03/0000755000175000001440000000000011660265211014712 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/ChangeLog0000644000175000001440000046240411657145411016503 0ustar sctusers------------------------------------------------------------------ 2010-02-24 12:30:25 +0100 Martin Preuss Released 3.3.5. ------------------------------------------------------------------ 2010-02-12 22:51:21 +0100 Martin Preuss Fixed a few problems with 0x300er devices and libusb-1.x. ------------------------------------------------------------------ 2010-01-17 16:36:19 +0100 Martin Preuss Added dependencies. ------------------------------------------------------------------ 2010-01-13 22:46:19 +0100 Martin Preuss Added libfox-1.6 to build-depends. ------------------------------------------------------------------ 2010-01-13 22:12:29 +0100 Martin Preuss Releases 3.3.4. ------------------------------------------------------------------ 2010-01-13 22:12:19 +0100 Martin Preuss Correctly handle USB endpoints for 0x401. ------------------------------------------------------------------ 2009-12-20 00:00:19 +0100 Martin Preuss Released version 3.3.3. ------------------------------------------------------------------ 2009-12-20 00:00:07 +0100 Martin Preuss Use HAL on Debian again (needs the package "hal" to be installed). ------------------------------------------------------------------ 2009-12-19 23:59:34 +0100 Martin Preuss Removed error message which caused some support requests. ------------------------------------------------------------------ 2009-12-15 22:05:08 +0100 Martin Preuss Removed ausb_reset() for 0x300er devices. ------------------------------------------------------------------ 2009-12-15 22:04:49 +0100 Martin Preuss Released 3.3.3beta12. ------------------------------------------------------------------ 2009-12-15 22:04:36 +0100 Martin Preuss Fixed detection of recent Mandriva. ------------------------------------------------------------------ 2009-12-15 22:04:24 +0100 Martin Preuss Some build-system fixes. ------------------------------------------------------------------ 2009-12-04 21:02:06 +0100 Martin Preuss Adapted to Mandriva 10.0. ------------------------------------------------------------------ 2009-12-04 21:01:02 +0100 Martin Preuss Fixes for moneyplex. - sleep 5secs after calling libusb_reset_device because some applications (most notably Moneyplex) call CT_close() and CT_init() in fast succession so old cyberJack's (0x100) don't have enough time to perform their reset and thus will disappear from the view of the application. ------------------------------------------------------------------ 2009-11-23 20:07:12 +0100 Martin Preuss Releases 3.3.3beta9. No longer bail out if no kernel module is using the 0x100er cyberJack. ------------------------------------------------------------------ 2009-11-22 16:34:32 +0100 Martin Preuss Released 3.3.3beta8. ------------------------------------------------------------------ 2009-11-22 15:23:30 +0100 Martin Preuss Increased verbosity of aUSB framework. ------------------------------------------------------------------ 2009-11-22 15:23:03 +0100 Martin Preuss Ignore the previous flag for enabling the kernel module. Now the new driver ignores the old flag so it will always use the user space driver for old cyberJacks (0x100). However, the tool "cyberjack" still accepts this flag and sets the *new* flag accordingly. ------------------------------------------------------------------ 2009-11-21 00:10:59 +0100 Martin Preuss Prepared release 3.3.3beta7. ------------------------------------------------------------------ 2009-11-19 23:22:35 +0100 Martin Preuss Fixed a problem with determination of active kernel module. ------------------------------------------------------------------ 2009-11-19 21:41:31 +0100 Martin Preuss Made support for PC/SC optional. ------------------------------------------------------------------ 2009-11-15 17:58:50 +0100 Martin Preuss Removed HAL-includes no longer needed. ------------------------------------------------------------------ 2009-11-15 17:58:29 +0100 Martin Preuss Fixed a bug (was not initializing a variable later used). ------------------------------------------------------------------ 2009-11-15 17:58:03 +0100 Martin Preuss Use libusb1 instead of HAL for device enumeration on Debian systems. Ubuntu 9.10 no longer uses HAL so we have to change to another library. There is no easy way to use the DeviceKit preferred by Ubuntu so we use LibUSB1 instead. ------------------------------------------------------------------ 2009-11-15 00:39:03 +0100 Martin Preuss Major overhaul in USB subsystem. - now works with OpenSuSE 11.2 - simplified check suite (now uses already existing functions to enumerate readers) - removed dependency of libsysfs - now accepts libusb-1.x in addition to libusb-0.x - with libusb-1.x the user space driver now also supports 0x100 devices - check suite now uses user space mode for 0x100 devices - prepared release 3.3.3beta3 - fixed problem of 0x300 reader sometimes halting on 2nd access - use asynchronous API of libusb-1.0 - cjgeldkarte now performs more realistic tests (e.g. multiple CT_init and CT_close in one session) ------------------------------------------------------------------ 2009-10-31 17:32:06 +0100 Martin Preuss Prepared release 3.3.3beta2. ------------------------------------------------------------------ 2009-09-17 17:01:04 +0200 Martin Preuss Applied a patch by Harald Gantioler which makes the package compile under GCC 4.4.1. ------------------------------------------------------------------ 2009-09-17 16:48:26 +0200 Martin Preuss The CTAPI driver is now thread-safe. ------------------------------------------------------------------ 2009-08-10 23:08:01 +0200 Martin Preuss Fixed PC/SC detection for 64 bit archs. ------------------------------------------------------------------ 2009-08-10 23:07:35 +0200 Martin Preuss Stable version. ------------------------------------------------------------------ 2009-07-20 22:40:15 +0200 Martin Preuss Fixed a bug in tool "cyberjack". ------------------------------------------------------------------ 2009-07-01 11:55:17 +0200 Martin Preuss Released 3.3.2beta7. ------------------------------------------------------------------ 2009-07-01 11:54:58 +0200 Martin Preuss Accept values between 1000 and 1999 in addition to 0x9000+ for selection by serialnumber ------------------------------------------------------------------ 2009-06-28 20:10:20 +0200 Martin Preuss Added missing include for gcc-4.4. ------------------------------------------------------------------ 2009-06-13 12:09:28 +0200 Martin Preuss Added commands to the tool cyberjack: beep1 to beep3. ------------------------------------------------------------------ 2009-06-13 12:08:55 +0200 Martin Preuss Fixed a problem in non-serial mode. ------------------------------------------------------------------ 2009-06-04 12:51:36 +0200 Martin Preuss Improved detection of symbol visibility (only gcc4). ------------------------------------------------------------------ 2009-05-30 18:05:43 +0200 Martin Preuss Fixed a bug in output of date (month+1). ------------------------------------------------------------------ 2009-05-30 18:05:38 +0200 Martin Preuss Released 3.3.2beta5. ------------------------------------------------------------------ 2009-05-14 16:07:54 +0200 Martin Preuss Use correct image in reader details for Secoder. ------------------------------------------------------------------ 2009-05-12 22:51:29 +0200 Martin Preuss Details-window now shows the correct icon for "e-com plus RFID". ------------------------------------------------------------------ 2009-05-12 20:30:50 +0200 Martin Preuss Released 3.3.2beta4. ------------------------------------------------------------------ 2009-05-12 19:58:27 +0200 Martin Preuss Added icons for Ecom Plus and Secoder. ------------------------------------------------------------------ 2009-05-09 18:07:25 +0200 Martin Preuss Fixed a few problems related to case-sensitivity of header files. The Linux code now chooses the correct reader class to instantiate based on the product string. ------------------------------------------------------------------ 2009-05-05 20:26:19 +0200 Martin Preuss Released 3.3.2beta2 ------------------------------------------------------------------ 2009-05-03 20:09:19 +0200 Martin Preuss Log result of X11-check for beeping. ------------------------------------------------------------------ 2009-03-30 19:52:18 +0200 Martin Preuss Decreased verbosity. ------------------------------------------------------------------ 2009-03-30 19:38:00 +0200 Martin Preuss Added missing debian files. ------------------------------------------------------------------ 2009-03-30 19:31:05 +0200 Martin Preuss Fixed two bugs. ------------------------------------------------------------------ 2009-03-30 19:30:49 +0200 Martin Preuss Tool cyberjack now uses pcsc if available. ------------------------------------------------------------------ 2009-03-30 19:30:10 +0200 Martin Preuss Added some mor debian files to .gitignore ------------------------------------------------------------------ 2009-03-30 18:02:30 +0200 Martin Preuss Added some files to .gitignore ------------------------------------------------------------------ 2009-03-30 18:01:45 +0200 Martin Preuss Removed unneeded files. ------------------------------------------------------------------ 2009-03-30 13:05:58 +0000 mpreuss Added menu command for checking with readers. git-svn-id: svn://192.168.115.73:/cyberJack@720 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 12:50:03 +0000 mpreuss Checksuite now also lists the modules of each reader. For older cyberJacks "0" is returned as number of modules to simplify applications. git-svn-id: svn://192.168.115.73:/cyberJack@719 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 12:02:49 +0000 mpreuss Disable flashing for now (per request of Mr Bechtold). git-svn-id: svn://192.168.115.73:/cyberJack@718 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 11:39:41 +0000 mpreuss Prepared first beta release. git-svn-id: svn://192.168.115.73:/cyberJack@717 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 10:15:26 +0000 mpreuss Added an executable to .gitignore. git-svn-id: svn://192.168.115.73:/cyberJack@716 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 10:15:23 +0000 mpreuss Fixed a bug which shows when no PC/SC headers are installed. git-svn-id: svn://192.168.115.73:/cyberJack@715 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 10:13:02 +0000 mpreuss Removed files which had previously been moved two folders up. git-svn-id: svn://192.168.115.73:/cyberJack@714 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 10:09:17 +0000 mpreuss Strange... some of my updates didn't make it into svn... git-svn-id: svn://192.168.115.73:/cyberJack@713 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 10:06:43 +0000 mpreuss Added some more missing files. git-svn-id: svn://192.168.115.73:/cyberJack@712 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 10:05:00 +0000 mpreuss Added some missing files. git-svn-id: svn://192.168.115.73:/cyberJack@711 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 09:56:09 +0000 mpreuss Implemented graphical diagnosis tool which is able to use either PC/SC or CTAPI. git-svn-id: svn://192.168.115.73:/cyberJack@710 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 08:51:40 +0000 mpreuss Started working on tool fxcyberjack. - removed call to CtGetReaderInfo() in CT_init(). - added special APDU command GETREADERINFO - added bus type "PCSC" - use German descriptions in driver_ctapi.cpp - added M4-macros for FOX toolkit git-svn-id: svn://192.168.115.73:/cyberJack@709 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 08:51:33 +0000 mpreuss Gather serial number if possible. git-svn-id: svn://192.168.115.73:/cyberJack@708 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 08:51:30 +0000 mpreuss Added abstraction layer to be used by our tools. Added special command layer which allows us to issue flash-commands via APDUs. These two major changes will allow us later to flash via PC/SC. git-svn-id: svn://192.168.115.73:/cyberJack@707 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 08:51:25 +0000 mpreuss Prepared release of 3.3.2beta3 git-svn-id: svn://192.168.115.73:/cyberJack@706 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-30 08:51:16 +0000 mpreuss Fixed two problems in IFD driver: - fixed response to MCTUniversal - clamp maximum length of response to 65535 for IFD->CTAPI git-svn-id: svn://192.168.115.73:/cyberJack@705 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@704 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@703 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@702 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@701 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@700 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@699 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@698 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@697 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@696 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@695 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@694 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@693 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@692 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@691 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@690 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@689 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@688 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@687 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-03-05 07:58:53 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@686 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@685 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-02-26 15:08:10 +0000 Kupfer Noch ein Bug beim RFID ATR git-svn-id: svn://192.168.115.73:/cyberJack@684 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@683 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@682 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-02-26 08:03:49 +0000 Kupfer ATR für Mifare mini implementiert git-svn-id: svn://192.168.115.73:/cyberJack@681 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@680 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@679 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@678 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-02-19 11:08:52 +0000 Kupfer Bugfix: ATR für RFID wurde falsch gebildet. git-svn-id: svn://192.168.115.73:/cyberJack@677 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@676 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-02-16 10:52:13 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@675 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@674 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@673 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@672 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@671 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@670 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@669 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@668 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@667 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@666 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@665 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@664 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@663 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@662 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@661 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@660 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-28 09:26:54 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@659 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@658 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@657 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@656 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@655 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@654 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@653 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@652 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@651 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:34:00 +0000 mpreuss Copied new headers into driver source. git-svn-id: svn://192.168.115.73:/cyberJack@650 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:33:57 +0000 mpreuss Added missing newline GCC coplains about. git-svn-id: svn://192.168.115.73:/cyberJack@649 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:33:54 +0000 mpreuss Prepared release of 3.3.2beta1 git-svn-id: svn://192.168.115.73:/cyberJack@648 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:33:49 +0000 mpreuss Finished implementing FEATURE_MCT_UNIVERSAL. - added a debug message git-svn-id: svn://192.168.115.73:/cyberJack@647 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:33:45 +0000 mpreuss Fixed description of flags in LIESMICH.xml git-svn-id: svn://192.168.115.73:/cyberJack@646 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:33:42 +0000 mpreuss Fixed compiler warning, added missing include. git-svn-id: svn://192.168.115.73:/cyberJack@645 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:33:37 +0000 mpreuss Started working on non-serial setting of the driver. git-svn-id: svn://192.168.115.73:/cyberJack@644 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2009-01-20 13:33:33 +0000 mpreuss - released 3.3.0 - applied patches by Stanislav Brabec (detect SuSE11.x and fix potential buffer overflow). git-svn-id: svn://192.168.115.73:/cyberJack@643 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@642 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@641 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@640 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@639 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@638 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@637 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@636 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@635 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@634 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@633 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-12-12 16:23:32 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@632 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@631 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-12-11 14:20:53 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@630 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@629 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@628 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@627 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@626 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@625 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@624 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@623 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@622 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@621 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@620 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@619 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@618 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@617 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@616 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@615 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@614 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@613 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@612 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@611 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@610 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@609 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@608 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-10-07 08:12:25 +0000 Kupfer HHD Moduledescription changed git-svn-id: svn://192.168.115.73:/cyberJack@607 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-10-07 08:11:22 +0000 Kupfer IIC - Karten werden auch ohne ATR 82 xx xx xx akzeptiert git-svn-id: svn://192.168.115.73:/cyberJack@606 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-10-07 08:10:09 +0000 Kupfer Kernel 3.0.54 git-svn-id: svn://192.168.115.73:/cyberJack@605 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-10-07 08:09:01 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@604 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-10-07 08:05:52 +0000 Kupfer TGZ generiert git-svn-id: svn://192.168.115.73:/cyberJack@603 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-10-07 08:03:59 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@602 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@601 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@600 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-09-17 15:58:34 +0000 Kupfer Added HHD 1.3 git-svn-id: svn://192.168.115.73:/cyberJack@599 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@598 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@597 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@596 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@595 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-08-29 12:21:28 +0000 Kupfer Kernel expanded for unconnected Applications git-svn-id: svn://192.168.115.73:/cyberJack@594 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@593 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@592 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@591 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-08-29 09:14:04 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@590 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@589 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@588 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@587 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@586 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@585 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@584 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@583 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@582 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@581 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@580 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-08-19 08:08:07 +0000 Kupfer Bugfix: Interruptthread greift während Dekonstruktion auf Klasse zu -> Pure virtual function call. git-svn-id: svn://192.168.115.73:/cyberJack@579 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@578 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@577 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@576 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@575 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@574 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@573 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@572 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@571 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@570 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@569 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-15 12:45:06 +0000 Kupfer ecom(a) + Secoder: Kernel 3.0.50 Bugfix: PLL -> Slowclock im RAM Module Store 3.0.65 + 3.0.9 git-svn-id: svn://192.168.115.73:/cyberJack@568 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@567 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-15 12:42:22 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@566 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-15 12:37:48 +0000 Kupfer X-Update setzt update auch bei biometric fort git-svn-id: svn://192.168.115.73:/cyberJack@565 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@564 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@563 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@562 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-04 16:14:22 +0000 mpreuss - incremented version git-svn-id: svn://192.168.115.73:/cyberJack@561 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-04 16:11:50 +0000 mpreuss - copied modified header file back into driver folder git-svn-id: svn://192.168.115.73:/cyberJack@560 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-04 15:30:34 +0000 mpreuss - released version 3.3.0beta4 - add cjeca folder for includes for ifd driver - fixed use of debug flags in ifdhandler.c - adapted creation of MKT verify/modify pin structures to the WIN32 version - accept windows CTL code for GET_FEATURE git-svn-id: svn://192.168.115.73:/cyberJack@559 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-03 13:11:27 +0000 Kupfer AT91 Bugfix: Clockswitch cy_Secoder: Binaries encypted git-svn-id: svn://192.168.115.73:/cyberJack@558 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@557 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-03 13:06:06 +0000 Kupfer Bugfix: Initialisierungsfehler git-svn-id: svn://192.168.115.73:/cyberJack@556 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-07-03 12:59:34 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@555 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@554 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@553 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@552 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-27 08:43:27 +0000 SMellenthin Textänderungen git-svn-id: svn://192.168.115.73:/cyberJack@551 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@550 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-27 08:31:26 +0000 Kupfer Fehler bei MV Tag 50: Texte 1,4,5 sollen weitergegeben werden. git-svn-id: svn://192.168.115.73:/cyberJack@549 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@548 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@547 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@546 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@545 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@544 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@543 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@542 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@541 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@540 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-13 13:10:46 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@539 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@538 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@537 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@536 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-07 07:59:45 +0000 mpreuss - added some more entries to .gitignore git-svn-id: svn://192.168.115.73:/cyberJack@535 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-07 07:59:41 +0000 mpreuss added some entries to .gitignore git-svn-id: svn://192.168.115.73:/cyberJack@534 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-07 07:59:38 +0000 mpreuss - fixed file permissions for debian/rules git-svn-id: svn://192.168.115.73:/cyberJack@533 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-07 07:47:45 +0000 mpreuss - prepared release of 3.3.0beta2 - added build-depends for Debian git-svn-id: svn://192.168.115.73:/cyberJack@532 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-07 07:39:46 +0000 mpreuss - copied new version of memory_placements.h into driver git-svn-id: svn://192.168.115.73:/cyberJack@531 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-07 07:36:50 +0000 mpreuss - changed VERSION_TAG back to svn git-svn-id: svn://192.168.115.73:/cyberJack@530 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-07 07:36:42 +0000 mpreuss - recent releases of pcsclite use libhal to detect readers. Therefore they changed the default namespace for the reader names (from "libusb:" to "libhal:") which also has a new syntax. Therefore we are forced to support libhal as well. - added ECFReader.{h,cpp} and PCSC10.h - instantiate CECFReader() for 0x401 instead of CECAReader() - added check for libhal to configure.ac git-svn-id: svn://192.168.115.73:/cyberJack@529 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@528 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-06 10:05:35 +0000 Kupfer cyberJack ecom(a) + Secoder: Bugfix: WD hat beim booten von Rechnern mit großen Timeouts zugeschlagen. Bugfix: Aufschaltsequenz bei synchronen Karten korrigiert. git-svn-id: svn://192.168.115.73:/cyberJack@527 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@526 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-06 10:04:05 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@525 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-04 10:12:19 +0000 Kupfer X-Update auf Kernel 3.0.47 git-svn-id: svn://192.168.115.73:/cyberJack@524 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@523 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@522 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@521 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-06-03 09:06:34 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@520 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-31 02:37:16 +0000 mpreuss - pulled-in driver includes from ../include git-svn-id: svn://192.168.115.73:/cyberJack@519 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-31 02:33:31 +0000 mpreuss - implemented FEATURE_MCT_READERDIRECT git-svn-id: svn://192.168.115.73:/cyberJack@518 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@517 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-30 14:33:33 +0000 Kupfer cjeca32: Input gestrichen git-svn-id: svn://192.168.115.73:/cyberJack@516 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-30 14:29:22 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@515 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-30 13:35:24 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@514 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-30 13:26:05 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@513 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@512 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-29 13:56:36 +0000 Kupfer Added Link: driver/ecoma/inc --> include git-svn-id: svn://192.168.115.73:/cyberJack@511 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-29 13:40:39 +0000 Kupfer CReader::Connect bringt jetzt Fehlercode CJ_ERR_CONNECT_TIMEOUT zurück git-svn-id: svn://192.168.115.73:/cyberJack@510 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-29 10:40:29 +0000 Kupfer CReader::Connect bringt jetzt Fehlercode CJ_ERR_CONNECT_TIMEOUT zurück git-svn-id: svn://192.168.115.73:/cyberJack@509 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-27 18:29:09 +0000 mpreuss - added some more entries to .gitignore - fixed two typos in ifd/part10.c - added missing newline to ECFReader.h - copied Reader.h from svn/include to drivers include dir (we definately should have the version within the driver be the only one!) - added BingoError.h from the include/firmware folder (sigh) git-svn-id: svn://192.168.115.73:/cyberJack@508 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-27 17:53:05 +0000 mpreuss - added .gitignore git-svn-id: svn://192.168.115.73:/cyberJack@507 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-27 17:41:52 +0000 mpreuss - fixed a bug in ctapi.cpp (was using a false DEBUG_MASK for CTAPI) - improved error logging in ctapi.cpp - ifd/part10.c: Now check the endianess of ulDataLength in verify/modify pin structures - added ID 0x401 to list of recognized USB readers in USBLinux.cpp git-svn-id: svn://192.168.115.73:/cyberJack@506 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@505 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@504 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@503 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@502 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-16 16:19:56 +0000 kseybold BC 6.5.4b git-svn-id: svn://192.168.115.73:/cyberJack@501 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@500 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@499 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-09 07:16:47 +0000 Kupfer cyberJack Secode: tar.gz git-svn-id: svn://192.168.115.73:/cyberJack@498 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-08 14:07:26 +0000 kseybold tippfehler git-svn-id: svn://192.168.115.73:/cyberJack@497 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@496 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-08 12:22:35 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@495 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-07 16:16:26 +0000 Kupfer cjeca32: PV/MV ohne Karte --> 64 A1 PV/MV ohne Strom --> 64 A2 Kern 3.0: StdText aufruf nach Reaktivierung git-svn-id: svn://192.168.115.73:/cyberJack@494 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@493 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-07 15:05:23 +0000 Kupfer cjeca32: PV/MV ohne Karte --> 64 A1 PV/MV ohne Strom --> 64 A2 Kern 3.0: StdText aufruf nach Reaktivierung git-svn-id: svn://192.168.115.73:/cyberJack@492 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-07 14:49:15 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@491 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-07 12:02:03 +0000 kseybold Änderung Secoder Bild git-svn-id: svn://192.168.115.73:/cyberJack@490 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@489 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@488 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@487 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@486 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-07 08:11:31 +0000 kseybold BC 6.5.0c git-svn-id: svn://192.168.115.73:/cyberJack@485 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@484 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@483 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@482 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@481 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-06 16:40:34 +0000 Kupfer Bugfix: Result bleibt undefiniert. git-svn-id: svn://192.168.115.73:/cyberJack@480 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@479 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-06 16:29:40 +0000 Kupfer Fehlende html - Datei zu Modulestore eingefügt git-svn-id: svn://192.168.115.73:/cyberJack@478 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@477 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-06 10:09:10 +0000 Kupfer Korrektur ModulestoreInfo git-svn-id: svn://192.168.115.73:/cyberJack@476 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-05 14:33:51 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@475 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-05-05 09:47:55 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@474 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@473 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-30 14:32:25 +0000 Kupfer cjeca32.dll: Length=0; if(CtGetModulestoreInfo(NULL,&Length)==CJ_ERR_RBUFFER_TO_SMALL) { uint8_t *ptr=new uint8_t(Length); CtGetModulestoreInfo(ptr,&Length); } git-svn-id: svn://192.168.115.73:/cyberJack@472 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@471 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@470 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-30 10:30:47 +0000 Kupfer Unterstützung für e-com(f) git-svn-id: svn://192.168.115.73:/cyberJack@469 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-30 10:25:04 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@468 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-30 10:09:27 +0000 Kupfer Unterstützung für e-com(f) git-svn-id: svn://192.168.115.73:/cyberJack@467 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@466 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-23 14:48:01 +0000 Kupfer Modulestore V 3.0.56. Secoderauswahl eingeschränkt git-svn-id: svn://192.168.115.73:/cyberJack@465 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-23 14:46:22 +0000 Kupfer Modulestore V 3.0.56. Secoderauswahl eingeschränkt git-svn-id: svn://192.168.115.73:/cyberJack@464 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-23 13:47:19 +0000 Kupfer cjeca32.dll: V1.5.1 Bugfix: csusb.sys liefert auf manchen Systemen zu lange Produktstrings git-svn-id: svn://192.168.115.73:/cyberJack@463 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@462 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-03 19:06:19 +0000 mpreuss prepared release git-svn-id: svn://192.168.115.73:/cyberJack@461 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-03 18:57:21 +0000 mpreuss - pulled-in changes from the Windows driver - fixed a bug in usbdev with old versions of sysfs (like on SuSE10.0) - LIESMICH.xml: added section about Moneyplex on 64-bit systems - cjIoOpen_libusb(): - only try to detach kernel driver if claim_interface() doesn't work - don't set configuration (is done by the kernel anyway) - call ausb_reset() like driver 2.0.14 did if the corresponding flag is set in the configuration file - added some more debug messages - LIESMICH.xml: added description of flag RESET_BEFORE - updated LIESMICH.xml: it now contains a section about the tool "cyberjack", some other sections have been updated - ausb{1,3}.c: added timeout control to avoid infinite loops - ctapi.cpp: function _init_common1() now also checks for kernel mode when device name is given (not only for port values). Now works with libchipcard. - make libsysfs mandatory (we now depend on it) - added member "port" to struct rsct_usbdev_t - reenabled access via kernel module for 0x100 devices - enabled logging even when using kernel module for 0x100 devices - serial devices and /dev/ttyUSBx access is now availabe via rsct_init_name() - renamed config_*() functions to rsct_config_*() and export those functions - tool cyberjack: - added commands: - check: this is the default when missing, it performs the checks like before - addflags: adds flags in the configuration file - delflags: clears flags in the configuration file The latter two functions have been introduced to simplify setting/clearing of flags (these commands always find the correct configuration file). - don't bail out if the device file in /proc/bus/usb is not accessible git-svn-id: svn://192.168.115.73:/cyberJack@460 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-04-01 07:43:21 +0000 Kupfer ecoma(a):Secoder 1.2.11 Select Appl: Zu lange Inputs zulassen! git-svn-id: svn://192.168.115.73:/cyberJack@459 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-31 11:56:08 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@458 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@457 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-31 11:35:06 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@456 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@455 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-25 15:34:00 +0000 Kupfer cjeca32: Änderung T=0 case 4 short: GET RESPONSE CLA=0 git-svn-id: svn://192.168.115.73:/cyberJack@454 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@453 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@452 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@451 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-25 12:26:55 +0000 Kupfer PCSC10 <-> ecom(a) direkte Verbindung nicht über ctapi - Subsystem cjeca32.dll: V1.4.2 git-svn-id: svn://192.168.115.73:/cyberJack@450 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-25 12:14:45 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@449 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@448 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@447 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-25 08:47:52 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@446 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@445 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@444 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@443 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-20 14:12:21 +0000 Kupfer cjeca32: Anpassungen für Secoder (bNumberMessage git-svn-id: svn://192.168.115.73:/cyberJack@442 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@441 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@440 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@439 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-20 13:43:44 +0000 Kupfer ecom(a): Kernel 3.0.41 Callback MessageIndexes in PV/MV für Applicationen Callback Postprocessing in PV/MV für Applicationen Secoder 1.2.8 Implementation of Callbacks view above git-svn-id: svn://192.168.115.73:/cyberJack@438 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-20 13:35:36 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@437 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@436 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@435 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@434 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@433 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@432 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@431 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-10 14:41:04 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@430 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@429 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-10 08:52:21 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@428 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@427 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-03-05 09:43:02 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@426 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@425 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-02-28 10:23:52 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@424 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@423 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-02-26 13:59:09 +0000 Kupfer cjeca32: V1.3.8 Für Secoder Antwort 6985 bei geblockten PIN - Eingaben. git-svn-id: svn://192.168.115.73:/cyberJack@422 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@421 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-02-26 13:45:20 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@420 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@419 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@418 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@417 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-02-07 11:01:14 +0000 Kupfer ecom(a): TGZ auf Modulestore Version 3.0.45 gepackt git-svn-id: svn://192.168.115.73:/cyberJack@416 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-02-07 10:56:19 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@415 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@414 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@413 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@412 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@411 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@410 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@409 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@408 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@407 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@406 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-17 13:58:31 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@405 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@404 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@403 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-11 13:13:04 +0000 Kupfer cjeca32: Testfälle für IT-Tests hinzugefügt git-svn-id: svn://192.168.115.73:/cyberJack@402 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@401 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-11 13:06:19 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@400 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-11 11:09:50 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@399 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@398 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@397 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@396 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@395 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@394 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@393 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@392 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@391 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-10 08:16:42 +0000 mpreuss updated configure.ac to include the new tool cjBingo, prepared release git-svn-id: svn://192.168.115.73:/cyberJack@390 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-08 10:31:57 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@389 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@388 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-07 16:42:32 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@387 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@386 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2008-01-07 15:18:21 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@385 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@384 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@383 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@382 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-18 11:20:52 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@381 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@380 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@379 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-18 10:59:10 +0000 Kupfer cjeca32: V 1.3.6 Extensions for Bingo - Votine Bugfix: Access violation in Escape Bugfix: Incompatibility to Firmware Kernel < 3.0.24 cJBingo: V 1.0.0 Testtool for Bingo git-svn-id: svn://192.168.115.73:/cyberJack@378 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-13 15:28:34 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@377 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-13 15:11:31 +0000 Kupfer ecom(a): Modulestore V3.0.40 git-svn-id: svn://192.168.115.73:/cyberJack@376 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@375 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-12 20:15:22 +0000 mpreuss - ausb.c: changed ausb_init() to call usb_init() only once but usb_find_busses() and usb_find_devices() at every call git-svn-id: svn://192.168.115.73:/cyberJack@374 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@373 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@372 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-10 18:55:03 +0000 mpreuss - added support for readers connected via serial ports - added section about this new feature to LIESMICH.xml - fixed "cyberjack" tool module cm_reader (now creates a correct xml file). git-svn-id: svn://192.168.115.73:/cyberJack@371 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@370 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@369 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@368 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@367 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@366 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@365 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@364 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@363 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@362 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@361 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@360 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@359 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@358 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-06 16:20:35 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@357 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-12-06 11:46:56 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@356 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@355 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@354 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-29 12:21:20 +0000 mpreuss - fixed a bug in ecom_a code concerning APDU 20,10 git-svn-id: svn://192.168.115.73:/cyberJack@353 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-23 14:59:44 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@352 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@351 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-22 09:17:18 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@350 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-21 15:00:10 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@349 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-19 07:23:24 +0000 mpreuss released 3.0.6rc1 git-svn-id: svn://192.168.115.73:/cyberJack@348 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-17 17:18:53 +0000 mpreuss fixed a type git-svn-id: svn://192.168.115.73:/cyberJack@347 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-17 16:06:12 +0000 mpreuss - added code which enumerates readers using libsysfs - added special handling for CT_init() with port values of 0x9000: Now a configuration file is used to assign fixed port numbers to readers using their serial numbers. However, this doesn't work with ancient Cyberjacks (e.g. product id 0x100). - added documentation about this new feature to LIESMICH.xml git-svn-id: svn://192.168.115.73:/cyberJack@346 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-16 20:16:14 +0000 mpreuss prepared release git-svn-id: svn://192.168.115.73:/cyberJack@345 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-16 20:11:15 +0000 mpreuss - included a patch from Bernd Kupfer (adds ausb_reset_pipe()) git-svn-id: svn://192.168.115.73:/cyberJack@344 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-16 19:13:48 +0000 mpreuss minor fix git-svn-id: svn://192.168.115.73:/cyberJack@343 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-16 19:10:34 +0000 mpreuss - hopefully fixed communication problems with 0x100 and 0x400 git-svn-id: svn://192.168.115.73:/cyberJack@342 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@341 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-13 16:54:10 +0000 Kupfer test_mail git-svn-id: svn://192.168.115.73:/cyberJack@340 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-13 15:10:08 +0000 mpreuss - removed call to ausb_reset() for 0x400 (this led to problems) git-svn-id: svn://192.168.115.73:/cyberJack@339 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-13 14:50:20 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@338 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@337 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@336 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@335 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@334 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@333 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@332 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@331 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@330 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@329 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-13 12:27:17 +0000 kseybold Changes for WIN CE git-svn-id: svn://192.168.115.73:/cyberJack@328 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@327 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-08 20:05:32 +0000 mpreuss - fixed modifications to tool cjflash - no longer try to set configuration for 0x400 (we just use the only available configuration) - now also detach kernel module "cyberjack" from 0x400 when claiming the interface fails (for some odd reasons at least my kernel loads that module for the reader) git-svn-id: svn://192.168.115.73:/cyberJack@326 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-06 15:15:45 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@325 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-06 14:12:15 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@324 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@323 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@322 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-02 07:23:31 +0000 mpreuss removed autogenerated files git-svn-id: svn://192.168.115.73:/cyberJack@321 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-11-02 07:16:41 +0000 mpreuss - added environment variable "CJ_SLEEP_MS2" which inserts a waiting time (in milliseconds) directly after calling ausb_open() git-svn-id: svn://192.168.115.73:/cyberJack@320 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-30 22:28:02 +0000 mpreuss set BUILD version git-svn-id: svn://192.168.115.73:/cyberJack@319 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-30 22:24:33 +0000 mpreuss - added environment variable "CJ_SLEEP_MS1" which inserts a waiting time (in milliseconds) directly before calling ausb_open() git-svn-id: svn://192.168.115.73:/cyberJack@318 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-29 11:28:22 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@317 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@316 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@315 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@314 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-25 18:33:19 +0000 mpreuss allow keywoard substitution git-svn-id: svn://192.168.115.73:/cyberJack@313 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-25 18:26:08 +0000 mpreuss - tried a new solution in fixing the problem with new kernels and old readers git-svn-id: svn://192.168.115.73:/cyberJack@312 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-25 10:17:27 +0000 mpreuss - applied a patch provided by Daniel Golle which adapts our use of variadic macros so that newer versions of GCC work, too git-svn-id: svn://192.168.115.73:/cyberJack@311 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@310 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@309 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-23 12:14:08 +0000 kseybold Portierung auf Windows CE MIPS II git-svn-id: svn://192.168.115.73:/cyberJack@308 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-23 11:32:01 +0000 kseybold Portierung auf Windows Mobile 5.0 Pocket PC SDK (ARMV4I) git-svn-id: svn://192.168.115.73:/cyberJack@307 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@306 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@305 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@304 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-18 15:44:09 +0000 mpreuss released 3.0.5rc1 git-svn-id: svn://192.168.115.73:/cyberJack@303 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-18 15:34:39 +0000 mpreuss - CCIDReader.cpp: Fixed a bug in _CtData() about command 20/12 (REQUEST_ICC). For this command actually Le may be omitted and still means 0 (as opposed to "no data expected"). Without this fix Moneyplex is unable to request a card. git-svn-id: svn://192.168.115.73:/cyberJack@302 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-18 11:10:23 +0000 mpreuss - fixed some warnings about missing parentheses and deprecated pragmas git-svn-id: svn://192.168.115.73:/cyberJack@301 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@300 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@299 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@298 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@297 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@296 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-09 08:58:01 +0000 mpreuss - changed some char* arguments to "const char*" because automatic conversion from string constant to "const char*" is deprecated in recent versions of gcc - copied eca_defines.h from other SVN folder to the driver where it is also needed (the driver tree should be self-sufficient) git-svn-id: svn://192.168.115.73:/cyberJack@295 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-09 08:11:17 +0000 mpreuss Test commit from Kupfer as Preuss git-svn-id: svn://192.168.115.73:/cyberJack@294 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-10-09 06:46:40 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@293 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@292 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@291 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@290 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@289 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@288 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@287 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@286 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@285 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@284 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-09-27 08:32:24 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@283 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@282 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@281 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-09-25 11:15:08 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@280 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@279 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@278 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@277 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@276 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@275 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@274 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@273 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@272 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@271 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@270 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@269 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@268 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@267 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@266 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@265 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@264 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-09-13 11:05:19 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@263 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-09-13 10:42:09 +0000 Kupfer Noch ne Datei aus altem Repository git-svn-id: svn://192.168.115.73:/cyberJack@262 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-09-13 10:39:25 +0000 Kupfer Änderungen aus altem Repository eingearbeitet git-svn-id: svn://192.168.115.73:/cyberJack@261 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@260 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@259 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-09-11 15:39:48 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@258 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@257 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@256 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@255 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@254 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-09-07 15:37:53 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@253 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@252 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@251 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@250 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@249 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@248 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@247 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@246 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@245 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@244 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@243 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@242 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@241 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@240 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@239 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@238 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@237 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@236 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@235 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@234 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@233 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@232 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@231 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@230 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@229 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@228 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@227 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@226 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@225 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@224 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@223 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@222 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@221 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@220 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@219 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@218 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@217 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-08-31 14:07:40 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@216 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@215 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@214 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@213 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@212 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@211 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@210 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@209 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@208 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@207 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@206 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@205 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@204 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@203 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@202 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@201 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@200 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@199 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@198 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@197 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@196 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@195 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@194 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@193 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@192 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@191 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@190 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@189 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@188 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@187 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@186 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@185 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@184 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@183 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@182 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@181 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@180 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@179 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@178 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-08-15 09:55:35 +0000 SMellenthin Text verbessert git-svn-id: svn://192.168.115.73:/cyberJack@177 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@176 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@175 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@174 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@173 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@172 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@171 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@170 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@169 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-08-10 14:05:45 +0000 Kupfer Kt-Light module git-svn-id: svn://192.168.115.73:/cyberJack@168 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@167 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@166 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@165 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@164 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@163 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@162 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@161 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@160 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-08-09 15:37:13 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@159 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@158 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@157 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@156 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@155 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@154 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@153 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@152 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@151 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@150 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@149 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@148 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@147 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@146 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@145 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@144 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@143 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@142 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@141 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@140 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@139 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@138 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@137 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@136 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@135 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@134 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@133 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@132 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@131 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@130 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@129 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@128 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-07-23 15:30:04 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@127 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@126 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@125 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@124 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@123 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@122 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@121 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@120 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@119 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@118 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@117 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@116 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@115 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@114 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@113 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@112 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@111 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@110 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@109 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@108 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@107 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-07-05 14:51:52 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@106 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@105 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-07-04 11:27:03 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@104 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-26 13:42:32 +0000 Kupfer ECA - Modulestore 3.0.17 git-svn-id: svn://192.168.115.73:/cyberJack@103 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@102 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@101 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@100 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@99 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-26 10:31:42 +0000 Kupfer external test2 git-svn-id: svn://192.168.115.73:/cyberJack@98 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-26 10:22:55 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@97 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-22 07:14:00 +0000 Kupfer ecom(a) - Modulestore - Tippfehler korrigiert git-svn-id: svn://192.168.115.73:/cyberJack@96 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@95 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@94 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@93 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@92 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@91 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-20 13:24:14 +0000 Kupfer Modulestore 3.0.15 git-svn-id: svn://192.168.115.73:/cyberJack@90 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@89 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@88 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@87 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-18 19:52:55 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@86 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 17:15:36 +0000 Kupfer svn test end git-svn-id: svn://192.168.115.73:/cyberJack@85 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 17:08:36 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@84 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 17:02:24 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@83 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 16:59:32 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@82 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 16:44:05 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@81 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 16:40:38 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@80 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 16:35:13 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@79 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 16:21:34 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@78 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 16:05:00 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@77 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 15:50:49 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@76 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 11:31:01 +0000 Kupfer svn test git-svn-id: svn://192.168.115.73:/cyberJack@75 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@74 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 09:21:10 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@73 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@72 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 09:14:48 +0000 Kupfer modulestor 3.0.13 git-svn-id: svn://192.168.115.73:/cyberJack@71 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 08:57:11 +0000 kseybold git-svn-id: svn://192.168.115.73:/cyberJack@70 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 08:56:12 +0000 kseybold git-svn-id: svn://192.168.115.73:/cyberJack@69 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-15 08:48:03 +0000 kseybold Inital / 3.0.12 git-svn-id: svn://192.168.115.73:/cyberJack@68 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@67 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@66 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@65 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-13 19:24:08 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@64 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@63 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@62 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@61 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@60 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-12 11:41:36 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@59 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@58 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@57 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-06-12 09:03:30 +0000 Kupfer .\include für firmware git-svn-id: svn://192.168.115.73:/cyberJack@56 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@55 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@54 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@53 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@52 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@51 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@50 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@49 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@48 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@47 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@46 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@45 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@44 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@43 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@42 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@41 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@40 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@39 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 16:16:12 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@38 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@37 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@36 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@35 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@34 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@33 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@32 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@31 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@30 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 1970-01-01 00:00:00 +0000 (no author) git-svn-id: svn://192.168.115.73:/cyberJack@29 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 15:32:55 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@28 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 15:32:43 +0000 Kupfer Moved remotely git-svn-id: svn://192.168.115.73:/cyberJack@27 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 15:32:22 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@26 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 15:32:10 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@25 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 15:31:54 +0000 Kupfer Moved remotely git-svn-id: svn://192.168.115.73:/cyberJack@24 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 15:31:40 +0000 Kupfer Moved remotely git-svn-id: svn://192.168.115.73:/cyberJack@23 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 15:31:14 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@22 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 14:20:22 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@21 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 14:20:03 +0000 Kupfer Created folder remotely git-svn-id: svn://192.168.115.73:/cyberJack@20 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 13:58:02 +0000 kseybold git-svn-id: svn://192.168.115.73:/cyberJack@19 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 13:51:18 +0000 kseybold Removed file/folder git-svn-id: svn://192.168.115.73:/cyberJack@18 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 13:49:08 +0000 kseybold MyREV 1.0.0 git-svn-id: svn://192.168.115.73:/cyberJack@17 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 13:32:35 +0000 kseybold git-svn-id: svn://192.168.115.73:/cyberJack@16 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 13:04:11 +0000 ORepp acl.cpp wurde an 5 Stellen geändert. statt iterator = &data[i] auf iterator = data.begin() + i git-svn-id: svn://192.168.115.73:/cyberJack@15 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 12:16:31 +0000 kseybold git-svn-id: svn://192.168.115.73:/cyberJack@14 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 11:45:49 +0000 kseybold test1 git-svn-id: svn://192.168.115.73:/cyberJack@13 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 11:05:56 +0000 kseybold First Checkin git-svn-id: svn://192.168.115.73:/cyberJack@12 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 09:37:57 +0000 kseybold First Check in git-svn-id: svn://192.168.115.73:/cyberJack@11 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 08:53:30 +0000 kseybold Removed file/folder git-svn-id: svn://192.168.115.73:/cyberJack@10 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 08:52:30 +0000 kseybold Added a folder remotely git-svn-id: svn://192.168.115.73:/cyberJack@9 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 08:49:49 +0000 kseybold Removed file/folder git-svn-id: svn://192.168.115.73:/cyberJack@8 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 08:49:29 +0000 kseybold Added a folder remotely git-svn-id: svn://192.168.115.73:/cyberJack@7 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 08:49:11 +0000 kseybold Removed file/folder git-svn-id: svn://192.168.115.73:/cyberJack@6 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-30 08:48:37 +0000 kseybold Removed file/folder git-svn-id: svn://192.168.115.73:/cyberJack@5 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-24 12:34:35 +0000 Kupfer BC_6_1_5 git-svn-id: svn://192.168.115.73:/cyberJack@4 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-14 09:08:59 +0000 Kupfer Firmwarepfade angepaßt git-svn-id: svn://192.168.115.73:/cyberJack@3 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-11 16:27:40 +0000 Kupfer eca files added git-svn-id: svn://192.168.115.73:/cyberJack@2 07e09712-72bc-834b-90ef-673f4adad8ed ------------------------------------------------------------------ 2007-05-11 13:42:07 +0000 Kupfer git-svn-id: svn://192.168.115.73:/cyberJack@1 07e09712-72bc-834b-90ef-673f4adad8ed pcsc-cyberjack-3.99.5final.SP03/Makefile.am0000644000175000001440000000136011660154310016743 0ustar sctusersDIST_SUBDIRS=etc m4 include cjeca32 ifd libcyberjack tools doc SUBDIRS=m4 include cjeca32 if IS_LINUX SUBDIRS+=etc endif ACLOCAL_AMFLAGS=-I m4 #SUBDIRS+=ifd libcyberjack checksuite tools debian doc SUBDIRS+=ifd libcyberjack tools doc EXTRA_DIST=\ ifd-cyberjack.spec.in ifd-cyberjack.spec \ COPYRIGHT.GPL COPYRIGHT.LGPL \ ChangeLog ChangeLog.old rpm: ifd-cyberjack.spec dist rpmbuild="rpm" && \ if [ `rpm --version | awk '{ print $$3 }'` > /dev/null ]; then rpmbuild="rpmbuild"; fi && \ $$rpmbuild -ta ifd-cyberjack-$(VERSION).tar.gz ChangeLog: git log --pretty="format:------------------------------------------------------------------%n%ai %an%n%s%n%b" >ChangeLog #dist-hook: # rm -f ChangeLog 2>/dev/null # $(MAKE) ChangeLog pcsc-cyberjack-3.99.5final.SP03/depcomp0000755000175000001440000004426711660201014016273 0ustar sctusers#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2009-04-28.21; # UTC # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 Free # Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2, or (at your option) # any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try \`$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by `PROGRAMS ARGS'. object Object file output by `PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when 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 cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u="sed s,\\\\\\\\,/,g" depmode=msvisualcpp fi 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. 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.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then # 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,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$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 "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for `:' # in the target name. This is to cope with DOS-style filenames: # a dependency such as `c:/foo/bar' could be seen as target `c' otherwise. "$@" $dashmflag | sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$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 "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" 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 "X$1" != 'X--mode=compile'; do shift done shift fi # Remove `-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile" echo " " >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: pcsc-cyberjack-3.99.5final.SP03/ifd-cyberjack.spec.in0000644000175000001440000000544211660265211020675 0ustar sctusers %define PACK_VER 1 %define dist @RPM_DIST_NAME@ %define disttag @RPM_DIST_TAG@ %define distver @RPM_DIST_VER@ %define readers_dir %{_libdir}/readers Name: pcsc-cyberjack Summary: PC/SC driver for REINER SCT cyberjack USB chipcard reader Version: @CYBERJACK_VERSION_RELEASE_STRING@ Release: %{PACK_VER}.%{disttag}%{distver} License: LGPL Packager: Frank Neuber URL: http://www.reiner-sct.de/ Group: System Environment/Libraries Source: pcsc-cyberjack_%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root Requires: udev, pcsc-lite # BuildRequires: Prereq: /sbin/ldconfig %package gui Summary: Graphical Diagnostic Tool Requires: %{name} = %{version} Group: System Environment/Libraries %description gui Graphical diagnostic tool for Reiner SCT cyberJack card readers. This package contains a graphical tool which lists all connected Reiner SCT readers and allows flashing E-Com A and newer readers. It can also be used to diagnose most frequent problems in the reader-/driver setup. %description REINER SCT cyberJack USB chipcard reader user space driver This package includes the IFD driver for the cyberJack contactless (RFID) and contact USB chipcard reader. If you run into problems you should stop current running pcscd by typing "sudo /etc/init.d/pcscd stop" or "sudo killall pcscd" and start the pcscd in debug mode by typing "sudo /usr/sbin/pcscd -d -a -f" in a console and watch its output. For more information regarding installation under Linux see the README.txt in the documentation directory, esp. regarding compatibility with host controllers. For more information about the reader, software updates and a shop see http://www.reiner-sct.com/ %prep %setup -q %build %configure --disable-static --sysconfdir="%{_sysconfdir}" --with-usbdropdir="@RPM_PCSC_DROPDIR@" make %install [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install rm $RPM_BUILD_ROOT/@RPM_PCSC_DROPDIR@/libifd-cyberjack.bundle/Contents/Linux/libifd-cyberjack.la rm -rf $RPM_BUILD_ROOT/usr/bin/fxcyberjack %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT %post /sbin/ldconfig /sbin/insserv pcscd /etc/init.d/pcscd restart %postun /sbin/ldconfig %files %defattr(0644,root,root) %doc COPYRIGHT.GPL COPYRIGHT.LGPL doc/README.txt doc/LIESMICH.txt # PC/SC %attr(0755,root,root) %{_bindir}/cyberjack %attr(0755,root,root) %{_libdir}/cyberjack/getdist.sh %attr(0755,root,root) %{_libdir}/cyberjack/pcscd_init.diff @RPM_PCSC_DROPDIR@/libifd-cyberjack.bundle/* %{_mandir}* /etc/cyberjack.conf.default %changelog -n pcsc-cyberjack * Tue Jun 14 2011 09:53:20 +0200 - Frank Neuber + pcsc-cyberjack-3.99.5final.SP02 - released 3.99.5final.SP02 - see changelog in debian/changelog in the source package pcsc-cyberjack-3.99.5final.SP03/etc/0000755000175000001440000000000011660201014015454 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/etc/Makefile.am0000644000175000001440000000010711657145411017524 0ustar sctusersEXTRA_DIST=cyberjack.conf.default sysconf_DATA=cyberjack.conf.default pcsc-cyberjack-3.99.5final.SP03/etc/Makefile.in0000644000175000001440000003403611660201014017527 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = etc DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_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 = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(sysconfdir)" DATA = $(sysconf_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ EXTRA_DIST = cyberjack.conf.default sysconf_DATA = cyberjack.conf.default all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu etc/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu etc/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-sysconfDATA: $(sysconf_DATA) @$(NORMAL_INSTALL) test -z "$(sysconfdir)" || $(MKDIR_P) "$(DESTDIR)$(sysconfdir)" @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(sysconfdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(sysconfdir)" || exit $$?; \ done uninstall-sysconfDATA: @$(NORMAL_UNINSTALL) @list='$(sysconf_DATA)'; test -n "$(sysconfdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(sysconfdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(sysconfdir)" && rm -f $$files 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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(sysconfdir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-sysconfDATA install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-sysconfDATA .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 \ install-sysconfDATA installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-sysconfDATA # 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: pcsc-cyberjack-3.99.5final.SP03/etc/cyberjack.conf.default0000644000175000001440000000342511657145411021725 0ustar sctusers# # This file modifies the behaviour of the Cyberjack driver. # Please copy this file to the same folder but under the name "cyberjack.conf" # (i.e. without the trailing ".default"). # # # Possible values are: # 0x00001 Generic debug logging # 0x00002 Reader debug logging # 0x00004 CTAPI debug logging # 0x00008 AUSB debug logging # 0x00010 CJPPA debug logging # 0x00020 ECOM debug logging # 0x00040 transfer debug logging # 0x00080 USB debug logging # 0x00100 IFD debug logging # 0x10000 don't beep # 0x20000 use the kernel module for old Cyberjacks/Ecoms # 0x40000 enable the INPUT command (->security risk!) # 0x80000 don't use X11 for beeping (always use console) # # These values can be OR combined to form the resulting value. # # When using Moneyplex with Kernel 2.6.13 or before (e.g. SuSE10.0) on a # 64 bit system you must use the kernel module for the cyberjack/ecom: # # flags=0x20000 # # Debug logging can be enabled on such a system with the following setting: # # flags=0x2ffff # flags=0 # # Path and name of the default logfile (defaults to /tmp/cj.log) # debugFile=/tmp/cj.log # # This file is used to store the serial numbers of the connected devices # It can be used to assign a reader to a particular port number, regardless # of the USB port the reader actually is connected to. # If you call CT_init() with port 0x9000 then the first serial number is read # from this file and the USB bus is scanned for a reader with this particular # serial number. # Port 0x9001 indicates the seconds serial number and so forth. # # Normally this setting is left blank which makes the driver read and write # the file from/to the home directory of the calling user (the filename is # then $HOME/cyberjack_serials). # #serialFile=/etc/cyberjack_serials [vars] ReplaceTA1_96=149 pcsc-cyberjack-3.99.5final.SP03/include/0000755000175000001440000000000011660201015016325 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/include/Makefile.am0000644000175000001440000000043411657145411020377 0ustar sctusersSUBDIRS=macosx EXTRA_DIST=\ driver/Debug.h \ driver/Platform.h \ driver/Platform_unix.h \ driver/Platform_win32.h \ driver/Reader.h \ driver/cjeca32.h \ firmware/BingoError.h \ firmware/eca_defines.h \ firmware/eca_module_errors.h \ firmware/memory_placements.h pcsc-cyberjack-3.99.5final.SP03/include/Makefile.in0000644000175000001440000004655211660201015020406 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = include DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_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 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ SUBDIRS = macosx EXTRA_DIST = \ driver/Debug.h \ driver/Platform.h \ driver/Platform_unix.h \ driver/Platform_win32.h \ driver/Reader.h \ driver/cjeca32.h \ firmware/BingoError.h \ firmware/eca_defines.h \ firmware/eca_module_errors.h \ firmware/memory_placements.h all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # 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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .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: pcsc-cyberjack-3.99.5final.SP03/include/firmware/0000755000175000001440000000000011657145411020156 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/include/firmware/eca_defines.h0000644000175000001440000000152611657145411022560 0ustar sctusers#ifndef ECA_DEFINES #define ECA_DEFINES #define MODULE_READY 0xa55a55aaL #define MODULE_DEAKTIV 0xaaa55a55L #define MODULE_CORRUPT 0xffffffffL #ifndef ECOM_F #define MODULE_UPDATE 0x12448841L #else #define MODULE_UPDATE 0x055000aaL #endif #define MODULE_ID_KERNEL 0x01000001L #define MODULE_ID_TEST_APPL1 0xFE000001L #define MODULE_ID_TEST_APPL2 0xFE000002L #define MODULE_ID_MKT_COMP 0x01000002L #define MODULE_ID_ZKA_SIG 0x02000001L #define MODULE_ID_GK_APPL 0x02000002L #define MODULE_ID_KT_LIGHT 0x02000003L #define MODULE_ID_KT_LIGHT_GC 0x02000103L #define MODULE_ID_RETAILER_ID 0x03000000L #define MODULE_ID_BINGO_VOTING 0x04000001L #define MODULE_ID_HHD 0x05000001L #define MODULE_ID_RF_UPDATE 0x06000001L #define MODULE_ID_PACE 0xFC000001L #define MODULE_ID_SERVICE_TOOL 0xFE000003L #endif pcsc-cyberjack-3.99.5final.SP03/include/firmware/eca_module_errors.h0000644000175000001440000000177411657145411024031 0ustar sctusers#ifndef ECA_MODULE_ERRORS #define ECA_MODULE_ERRORS #define ECA_MODULE_ERR_SUCCESS 0x00000000 #define ECA_MODULE_ERR_INVALID_PARAMS 0x00000001 #define ECA_MODULE_ERR_INVALID_LENGTH 0x00000002 #define ECA_MODULE_ERR_ACCESS_DENIED 0x00000003 #define ECA_MODULE_ERR_CANCELED_BY_USER 0x00000004 #define ECA_MODULE_ERR_TIMEOUT 0x00000005 #define ECA_MODULE_ERR_OUT_OF_RESOURCE 0x00000006 #define ECA_MODULE_ERR_VERIFY_NOT_DSI 0x00000007 #define ECA_MODULE_ERR_VERIFY_INV_SIGN 0x00000008 #define ECA_MODULE_ERR_MODULE_NOT_FOUND 0x00000009 #define ECA_MODULE_ERR_OUT_OF_SEQUENCE 0x0000000A #define ECA_MODULE_ERR_VALIDATION 0x0000000B #define ECA_MODULE_ERR_MEMORY 0x0000000C #define ECA_MODULE_ERR_VERSION 0x0000000D #define ECA_MODULE_ERR_INVALID_KEY 0x0000000E #define ECA_MODULE_NOT_SUPPORTED 0x0000000F #define ECA_MODULE_ERR_NO_FUNCTION 0x00000010 #define ECA_MODULE_ERR_CO_EXISTENCE 0x00000011 #endif pcsc-cyberjack-3.99.5final.SP03/include/firmware/memory_placements.h0000644000175000001440000001511511657145411024055 0ustar sctusers#ifndef memory_placements_H #define memory_placements_H #define FLASH_SIZE 0x00040000L typedef struct { unsigned short KeyNr; unsigned short KeyVersion; unsigned char Key[256]; }tSign; #define MODULE_HEADER_ID 0x1077aa01L typedef enum{FILTER_NEUTRAL,FILTER_ALLOW,FILTER_BLOCK,FILTER_OVERLOADED}FILTER_RESULT; typedef enum{INTEREST_RESULT_NO,INTEREST_RESULT_YES}INTEREST_RESULT; typedef enum{CARD_STATE_UNKNOWN,CARD_STATE_NO,CARD_STATE_INSERTED,CARD_STATE_POWER_PRCCESS,CARD_STATE_POWERED,CARD_STATE_SPECIFIC,USER_BREAK}ISO_POWER; #define APPL_ATTR_ENTRY 1 #define APPL_ATTR_HIGH_SEC 2 #define APPL_ATTR_AUTO_LED 4 #define APPL_ATTR_LIB 8 #define APPL_FLAG_DEFAULT_ON_RESET 1 #define APPL_FLAG_AUTO_SELECT 2 #define APPL_FLAG_NO_KEY_EVENT 4 #define APPL_FLAG_UNCONNECTED 8 #define APPL_FLAG_INSTALLER 16 #define APPL_FLAG_ONE_TIME_ANY_TIME 32 typedef void (*fctPowerUp)(void); typedef void (*fctSwitchTo)(void); typedef INTEREST_RESULT (*fctPostATRParser)(unsigned char *ATR,unsigned int ATRLen); typedef FILTER_RESULT (*fctPreICCCmdFilter)(unsigned long ActiveModule,unsigned char *APDU,unsigned int APDULen); typedef int (*fctPreICCSMCmdFilter)(unsigned char *APDU,unsigned int *APDULen,unsigned int MaxAPDULen); typedef void (*fctPostCmdParser)(const unsigned char *APDU,unsigned int APDULen,const unsigned char *RAPDU,unsigned int RAPDULen); typedef FILTER_RESULT (*fctPreIFDCmdFilter)(unsigned long ActiveModule,unsigned long ModuleID,unsigned short ModuleFkt,unsigned char *Input,unsigned int InputLen,unsigned short *OverloadFctNo); typedef FILTER_RESULT (*fctAllowSwitch)(unsigned long ModuleID); typedef void (*fctApplicationProcedure)(unsigned char *Input,unsigned int InputLen,unsigned char *Output,unsigned short *OutputLen,unsigned char *Error,unsigned short *ErrorLen); typedef FILTER_RESULT (*fctCheckCoExistens)(unsigned int ModuleCount,unsigned long *IDs); typedef int (*fctCheckCmdAndGetTexte)(unsigned char *cmd,unsigned int len,const char **Texte,unsigned int modi,const unsigned char **Symbol); typedef void (*fctRecognizePINResult)(unsigned short SW1SW2); typedef void (*fctRecognizeCardState)(ISO_POWER State); typedef const char *(*fctGetApplicationStdText)(void); typedef int (*fctCheckMessageParams)(const unsigned char *cmd,unsigned int len,unsigned int modi,unsigned short wLangId,unsigned char bMessageNumber,const unsigned char *bMessageIndex,unsigned char bConfirmPIN); typedef unsigned char (*fctGetExtApplicationError)(unsigned char error,unsigned int *ResponseLength,unsigned char *Response); typedef struct { fctApplicationProcedure Procedure; unsigned long Attributes; }tApplicationProcedure; typedef struct { #ifdef AT91_SAM3 unsigned long Status; unsigned long OffsetCrc16; unsigned long ModuleHeaderID; unsigned long ModuleBaseAddr; #else unsigned long OffsetCrc16; unsigned long Status; unsigned long ModuleBaseAddr; unsigned long ModuleHeaderID; #endif unsigned long ModuleID; unsigned long ModuleCodeSize; unsigned char Version; unsigned char Revision; unsigned char Variante; unsigned char RequieredKernelVersion; unsigned char RequieredKernelRevision; unsigned char GlobalHeapSize; unsigned char ExtraPages; unsigned char cReserved2; unsigned char DateOfCompilation[12]; unsigned char TimeOfCompilation[12]; char Description[16]; fctPowerUp PowerUp; fctPostATRParser PostATRParser; fctPreICCCmdFilter PreICCCmdFilter; fctPreIFDCmdFilter PreIFDCmdFilter; fctPostCmdParser PostCmdParser; fctAllowSwitch AllowSwitch; const tApplicationProcedure *ApplicationProcedures; unsigned long ApplicationProcedureCount; unsigned long ApplicationFlags; fctSwitchTo SwitchTo; fctCheckCoExistens CheckCoExistens; fctCheckCmdAndGetTexte CheckCmdAndGetTexte; fctRecognizePINResult RecognizePINResult; fctRecognizeCardState RecognizeCardState; fctGetApplicationStdText GetApplicationStdText; unsigned long PINTimeout; unsigned long MinPINTimeout; fctCheckMessageParams CheckMessageParams; fctGetExtApplicationError GetExtApplicationError; unsigned long EncryptionKey; fctPreICCSMCmdFilter PreBuildSM; fctPreICCSMCmdFilter PostBuildSM; unsigned long Reserved[24]; }tModuleHeader; #ifdef AT91_SAM3 #define APPLICATION_START ((void *)0x00100000) #define APPLICATION_DATA 0x20000000 #define APPLICATION_DATA_SIZE 0x00001734 #define PRNG_DATA 0x0009ED00 #define PRNG_SIZE 0x00000300 #define KEY_DATA 0x0009F000 #define GLOB_DATA 0x0009FA00 #define GLOB_SIZE 0x00000100 #define PRNG_CONST 0x0009FB00 #define PRNG_CONST_SIZE 0x00000100 #define SAM_CONST 0x0009FBD0 #define SAM_CONST_SIZE 0x00000030 #define CONF_DATA 0x0009FC00 #define CONF_SIZE 0x00000100 #define KERNEL_HEADER_ADDR 0x00081000 #define KERNEL_EXPORTS_ADDR 0x00081200 #define KERNEL_UPDATE_ADDR 0x00100000 #define APPLICATION_HEADER_ADDR 0x00100000 #ifndef CJECA_MAX_MODULES #define CJECA_MAX_MODULES 1 #endif #else #ifndef ECOM_F #define APPLICATION_START ((void *)0x00202800) #define APPLICATION_DATA 0x00201C00 #define APPLICATION_DATA_SIZE 0x00000C00 #define KEY_DATA 0x00000600 #define GLOB_DATA 0x00000F00 #define CONF_DATA 0x00001000 #define KERNEL_HEADER_ADDR 0x00001200 #define KERNEL_EXPORTS_ADDR 0x00001400 #define KERNEL_UPDATE_ADDR 0x00020000 #define APPLICATION_HEADER_ADDR 0x00202700 #ifndef CJECA_MAX_MODULES #ifdef ECOM_S #define CJECA_MAX_MODULES 1 #else #define CJECA_MAX_MODULES 16 #endif #endif #else #define APPLICATION_DATA 0x00001C00L #define APPLICATION_DATA_SIZE 0x00000C00L #define KEY_DATA 0xff8000L #define GLOB_DATA 0xffc000L #define CONF_DATA 0xffbc00L #define KERNEL_HEADER_ADDR 0xfc0000L #define KERNEL_EXPORTS_ADDR 0xfcfe00L #define KERNEL_UPDATE_ADDR 0xfd0000L //#define APPLICATION_HEADER_ADDR 0x00202700 #define __root #define CJECA_MAX_MODULES 5 #endif #endif #ifndef AT91_SAM3 #ifndef PRODUKTION_KERNEL #ifdef RFID #define KERNEL_VERSION 0x37 #else #define KERNEL_VERSION 0x30 #endif #define KERNEL_REVISION 75 #else #define KERNEL_VERSION 0x28 #define KERNEL_REVISION 1 #endif #else #ifndef PRODUKTION_KERNEL #define KERNEL_VERSION 0x12 #ifdef RF_STANDARD #define KERNEL_REVISION 7 #else #define KERNEL_REVISION 6 #endif #else #define KERNEL_VERSION 0x01 #define KERNEL_REVISION 0 #endif #endif #include "eca_defines.h" #endif pcsc-cyberjack-3.99.5final.SP03/include/firmware/BingoError.h0000644000175000001440000000251311657145411022400 0ustar sctusers#ifndef BINGO_ERROR_H //Eroor classes #define ERROR_CARD 0x10000000 //Class: Card communication errors #define ERROR_CARD_CMD 0x20000000 //Class: Card state errors #define ERROR_USER 0x30000000 //Class: User errors #define ERROR_INPUT 0x40000000 //Class: Input validation errors #define ERROR_STATE 0x50000000 //Class: State machine errors #define ERROR_OPENING_CARD (ERROR_CARD | 1) #define ERROR_WRONG_CARD (ERROR_CARD | 2) #define ERROR_COM_CARD (ERROR_CARD | 3) #define ERROR_AUTH_CARD (ERROR_CARD | 4) #define ERROR_CARD_CMD_SELECT(SW1,SW2) (ERROR_CARD_CMD | 0x00A40000 | (SW1<<8) | SW2) #define ERROR_CARD_CMD_AUTH(SW1,SW2) (ERROR_CARD_CMD | 0x00880000 | (SW1<<8) | SW2) #define ERROR_CARD_CMD_GETCHALLANGE(SW1,SW2) (ERROR_CARD_CMD | 0x00020000 | (SW1<<8) | SW2) #define ERROR_USER_TIMEOUT (ERROR_USER | 1) #define ERROR_USER_ABORT (ERROR_USER | 2) #define ERROR_INPUT_LENGTH (ERROR_INPUT | 1) #define ERROR_INPUT_VALUE (ERROR_INPUT | 2) #define ERROR_STATE_NO_RND (ERROR_STATE | 1) #endif pcsc-cyberjack-3.99.5final.SP03/include/driver/0000755000175000001440000000000011657145411017635 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/include/driver/Platform.h0000644000175000001440000000475611657145411021606 0ustar sctusers/*************************************************************************** begin : Mon Jun 14 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_PLATFORM_H #define RSCT_PLATFORM_H #ifdef _WINDOWS # include "Platform_win32.h" #else # include "Platform_unix.h" #endif #include "Debug.h" #ifndef CJPCSC_VEN_IOCTRL_ESCAPE # define CJPCSC_VEN_IOCTRL_ESCAPE SCARD_CTL_CODE(3103) #endif #define CJPCSC_VEN_IOCTRL_VERIFY_PIN_DIRECT SCARD_CTL_CODE(3506) #define CJPCSC_VEN_IOCTRL_MODIFY_PIN_DIRECT SCARD_CTL_CODE(3507) #define CJPCSC_VEN_IOCTRL_MCT_READERDIRECT SCARD_CTL_CODE(3508) #define CJPCSC_VEN_IOCTRL_MCT_READERUNIVERSAL SCARD_CTL_CODE(3509) #define CJPCSC_VEN_IOCTRL_EXECUTE_PACE SCARD_CTL_CODE(3532) #define CJPCSC_VEN_IOCTRL_SET_NORM SCARD_CTL_CODE(3154) #ifdef __cplusplus class CBaseCommunication; class CReader; CBaseCommunication *rsct_platform_create_com(const char *deviceName, CReader *reader); const char *rsct_get_package_version(void); uint32_t rsct_get_environment(const char *name, uint32_t defval); #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/driver/Platform_unix.h0000644000175000001440000000613011657145411022635 0ustar sctusers/*************************************************************************** begin : Mon Jun 14 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_PLATFORM_UNIX_H #define RSCT_PLATFORM_UNIX_H #ifdef HAVE_CONFIG_H # include #endif // global headers special to Linux and/or Mac OS X #include #include #include #include #include #include #include #ifndef OS_DARWIN # include #endif #ifdef __cplusplus extern "C" { #endif # include # include #ifdef __cplusplus } #endif #ifndef SCARD_POWER_DOWN # define SCARD_POWER_DOWN 0x0000 #endif #ifndef SCARD_COLD_RESET # define SCARD_COLD_RESET 0x0001 #endif #ifndef SCARD_WARM_RESET # define SCARD_WARM_RESET 0x0002 #endif #ifndef SCARD_PROTOCOL_DEFAULT # define SCARD_PROTOCOL_DEFAULT 0x80000000 #endif #ifndef SCARD_PROTOCOL_OPTIMAL # define SCARD_PROTOCOL_OPTIMAL 0x00000000 #endif #define RSCT_STDCALL #define max(a, b) ((a>b)?a:b) #define Sleep(ms) usleep(ms*1000) #ifdef BUILDING_CYBERJACK # ifdef GCC_WITH_VISIBILITY_ATTRIBUTE # define CJECA32_API __attribute__((visibility("default"))) # define CJECA32_PRIVATE_API __attribute__((visibility("hidden"))) # define CJECA32_PRIVATE_CLASS __attribute__((visibility("hidden"))) # else # define CJECA32_API # define CJECA32_PRIVATE_API # define CJECA32_PRIVATE_CLASS # endif #else # define CJECA32_API # define CJECA32_PRIVATE_API # define CJECA32_PRIVATE_CLASS #endif # #ifdef GCC_WITH_VISIBILITY_ATTRIBUTE # define CJECA32_EXPORT __attribute__((visibility("default"))) #else # define CJECA32_EXPORT #endif #include "ntstatus.h" #endif pcsc-cyberjack-3.99.5final.SP03/include/driver/Reader.h0000644000175000001440000000762211657145411021217 0ustar sctusers#pragma once class CBaseReader; class CRSCTCriticalSection; #include "cjeca32.h" #ifdef _MAC # define CREADER_CLASS_EXPORT #else # define CREADER_CLASS_EXPORT CJECA32_API #endif class CREADER_CLASS_EXPORT CReader { public: CReader(char *cDeviceName); CReader(const char *cDeviceName); virtual ~CReader(void); CJ_RESULT Connect(); CJ_RESULT CreateVirtualReaderObject(const char *cReaderName); CJ_RESULT Disonnect(); private: void CReaderConstructor(const char *cDeviceName); public: char CtData(uint8_t *dad,uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); public: RSCT_IFD_RESULT IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length); RSCT_IFD_RESULT IfdSetProtocol(uint32_t *Protocol); RSCT_IFD_RESULT IfdGetState(uint32_t *State); RSCT_IFD_RESULT IfdSetAttribute(const uint8_t *Input,uint32_t InputLength); RSCT_IFD_RESULT IfdGetAttribute(uint32_t Tag,uint8_t *Attribute,uint32_t *AttributeLength); RSCT_IFD_RESULT IfdSwallow(); RSCT_IFD_RESULT IfdEject(); RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); RSCT_IFD_RESULT IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); RSCT_IFD_RESULT IfdIoControl(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); public: CJ_RESULT CtLoadModule(uint8_t *pData,uint32_t DataLength,uint8_t *pSgn,uint32_t SgnLength,uint32_t *Result); CJ_RESULT CtKeyUpdate(uint8_t *pData,uint32_t DataLength,uint32_t *Result); CJ_RESULT CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime); CJ_RESULT CtDeleteModule(uint32_t ModuleID,uint32_t *Result); CJ_RESULT CtActivateModule(uint32_t ModuleID,uint32_t *Result); CJ_RESULT CtDeactivateModule(uint32_t ModuleID,uint32_t *Result); CJ_RESULT CtDeleteALLModules(uint32_t *Result); CJ_RESULT CtListModules(uint32_t *Count,cj_ModuleInfo *ModuleInfo); CJ_RESULT CtGetModuleInfoFromFile(uint8_t *pData,uint32_t DataLength,cj_ModuleInfo *ModuleInfo,uint32_t *EstimatedUpdateTime); CJ_RESULT CtFreeModuleInfoList(cj_ModuleInfo *pModuleInfo); CJ_RESULT CtIsModuleUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime); CJ_RESULT CtGetActiveModuleID(uint32_t *ID,uint32_t *Result); CJ_RESULT CtGetActivationID(uint32_t *ID,uint32_t *Result); CJ_RESULT CtApplicationData(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen); CJ_RESULT CtApplicationDataEx(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen, uint8_t *ApplicationError,uint32_t *ApplicationErrorLength); CJ_RESULT CtSelfTest(void); CJ_RESULT CtShowAuth(void); CJ_RESULT CtSetAPDUNorm(const EApduNorm Norm); CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); CJ_RESULT CtSetBacklight(EBacklight eBacklight,uint32_t *Result); CJ_RESULT CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result); CJ_RESULT CtGetSilentMode(bool *pboolMode,uint32_t *Result); CJ_RESULT CtSetModulestoreInfo(uint8_t *Info,uint8_t InfoLength); CJ_RESULT CtGetModulestoreInfo(uint8_t *Info,uint8_t *InfoLength); CJ_RESULT InstallAndStartIFDHandler(); CJ_RESULT StopIFDHandler(); CJ_RESULT IntroduceReaderGroups(); CJ_RESULT CtGetReaderInfo(cj_ReaderInfo *pReaderInfo); public: void SetChangeInterruptCallback(fctChangeIntCallback ChangeIntCallback,ctxPtr ChangeOwner); void SetKeyInterruptCallback(fctKeyIntCallback KeyIntCallback,ctxPtr KeyOwner); void DebugResult(const char *format, ...); void DebugErrorSW1SW2(const char *format, ...); void DebugLeveled(uint32_t Mask,const char *format, ...); CRSCTCriticalSection *CritSec; private: CBaseReader *m_Reader; void CheckcJResult(CJ_RESULT Result); char *m_cDeviceName; }; pcsc-cyberjack-3.99.5final.SP03/include/driver/Debug.h0000644000175000001440000000350411657145411021036 0ustar sctusers#ifndef ECA_DEBUG_H #define ECA_DEBUG_H #define DEBUG_MASK_COMMUNICATION_OUT 0x00000001 #define DEBUG_MASK_COMMUNICATION_IN 0x00000002 #define DEBUG_MASK_COMMUNICATION_ERROR 0x00000004 #define DEBUG_MASK_COMMUNICATION_INT 0x00000008 #define DEBUG_MASK_COMMUNICATION_INFO 0x00000010 #define DEBUG_MASK_TRANSLATION 0x00000100 #define DEBUG_MASK_RESULTS 0x00000200 #define DEBUG_MASK_INPUT 0x00010000 #define DEBUG_MASK_OUTPUT 0x00020000 #define DEBUG_MASK_CTAPI 0x00040000 #define DEBUG_MASK_IFD 0x00080000 #define DEBUG_MASK_CJECOM 0x00100000 #define DEBUG_MASK_PPA 0x00200000 #define DEBUG_MASK_GENERIC 0x80000000 #ifdef __cplusplus class CJECA32_PRIVATE_CLASS CDebug { public: CDebug(unsigned int nLevelMask); void Out(const char *cDeviceName, unsigned int nLevelMask, const char *cCaption, void *pData, uint32_t ulDataLen); /** * This method can be used to log arbitrary information. It is used just * like printf. It internally calls @ref CDebug::Out. */ void varLog(const char *devName, unsigned int nLevelMask, const char *format, ...); public: ~CDebug(void); #if defined(OS_LINUX) || defined(OS_DARWIN) void setLevelMask(unsigned int nLevelMask); void setLogFileName(const char *fname); #endif private: unsigned int m_nLevelMask; #if defined(OS_LINUX) || defined(OS_DARWIN) char *m_logFileName; #endif }; extern CDebug CJECA32_PRIVATE_CLASS Debug; #endif /* ifdef __cplusplus */ #ifdef __cplusplus extern "C" { #endif void rsct_debug_out(const char *cDeviceName, unsigned int nLevelMask, const char *cCaption, void *pData, uint32_t ulDataLen); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/driver/cjeca32.h0000644000175000001440000001372511657145411021230 0ustar sctusers #ifndef CJECA32_H #define CJECA32_H #include "Platform.h" #define CJ_SUCCESS 0 #define CJ_ERR_OPENING_DEVICE -1 #define CJ_ERR_WRITE_DEVICE -2 #define CJ_ERR_DEVICE_LOST -3 #define CJ_ERR_WRONG_ANSWER -4 #define CJ_ERR_SEQ -5 #define CJ_ERR_WRONG_LENGTH -6 #define CJ_ERR_NO_ICC -7 #define CJ_ERR_OPEN_ICC -8 #define CJ_ERR_PARITY -9 #define CJ_ERR_TIMEOUT -10 #define CJ_ERR_LEN -11 #define CJ_ERR_RBUFFER_TO_SMALL -12 #define CJ_ERR_PROT -13 #define CJ_ERR_NO_ACTIVE_ICC -14 #define CJ_ERR_SIGN -15 #define CJ_ERR_WRONG_SIZE -16 #define CJ_ERR_PIN_TIMEOUT -17 #define CJ_ERR_PIN_CANCELED -18 #define CJ_ERR_PIN_DIFFERENT -19 #define CJ_ERR_FIRMWARE_OLD -20 #define CJ_NOT_UPDATABLE -21 #define CJ_ERR_NO_SIGN -22 #define CJ_ERR_WRONG_PARAMETER -23 #define CJ_ERR_INTERNAL_BUFFER_OVERFLOW -24 #define CJ_ERR_CHECK_RESULT -25 #define CJ_ERR_DATA_CORRUPT -26 #define CJ_ERR_CONDITION_OF_USE -27 #define CJ_ERR_PIN_EXTENDED -28 #define CJ_ERR_CONNECT_TIMEOUT -29 #define RSCT_MODULE_MASK_STATUS 0x00000001 #define RSCT_MODULE_MASK_ID 0x00000002 #define RSCT_MODULE_MASK_VARIANT 0x00000004 #define RSCT_MODULE_MASK_BASE_ADDR 0x00000008 #define RSCT_MODULE_MASK_CODE_SIZE 0x00000010 #define RSCT_MODULE_MASK_VERSION 0x00000020 #define RSCT_MODULE_MASK_REVISION 0x00000040 #define RSCT_MODULE_MASK_REQUIRED_VERSION 0x00000080 #define RSCT_MODULE_MASK_REQUIRED_REVISION 0x00000100 #define RSCT_MODULE_MASK_HEAP_SIZE 0x00000200 #define RSCT_MODULE_MASK_DESCRIPTION 0x00000400 #define RSCT_MODULE_MASK_DATE 0x00000800 typedef struct _cj_ModuleInfo { uint32_t SizeOfStruct; uint32_t ContentsMask; uint32_t Status; uint32_t ID; uint32_t Variant; uint32_t BaseAddr; uint32_t CodeSize; uint32_t Version; uint32_t Revision; uint32_t RequieredKernelVersion; uint32_t RequieredKernelRevision; uint32_t HeapSize; int8_t Description[17]; int8_t Date[12]; int8_t Time[6]; }cj_ModuleInfo; #define RSCT_READER_MASK_PID 0x00000001 #define RSCT_READER_MASK_HARDWARE 0x00000002 #define RSCT_READER_MASK_VERSION 0x00000004 #define RSCT_READER_MASK_HARDWARE_VERSION 0x00000008 #define RSCT_READER_MASK_FLASH_SIZE 0x00000010 #define RSCT_READER_MASK_HEAP_SIZE 0x00000020 #define RSCT_READER_MASK_SERIALNUMBER 0x00000040 #define RSCT_READER_MASK_VENDOR_STRING 0x00000080 #define RSCT_READER_MASK_PRODUCT_STRING 0x00000100 #define RSCT_READER_MASK_PRODUCTION_DATE 0x00000200 #define RSCT_READER_MASK_TEST_DATE 0x00000400 #define RSCT_READER_MASK_COMMISSIONING_DATE 0x00000800 #define RSCT_READER_MASK_COM_TYPE 0x00001000 #define RSCT_READER_MASK_PORT_ID 0x00002000 #define RSCT_READER_MASK_IFD_BRIDGE 0x00004000 #define RSCT_READER_MASK_HW_STRING 0x00008000 #define RSCT_READER_HARDWARE_MASK_ICC1 0x00000001 #define RSCT_READER_HARDWARE_MASK_ICC2 0x00000002 #define RSCT_READER_HARDWARE_MASK_ICC3 0x00000004 #define RSCT_READER_HARDWARE_MASK_ICC4 0x00000008 #define RSCT_READER_HARDWARE_MASK_ICC5 0x00000010 #define RSCT_READER_HARDWARE_MASK_ICC6 0x00000020 #define RSCT_READER_HARDWARE_MASK_ICC7 0x00000040 #define RSCT_READER_HARDWARE_MASK_ICC8 0x00000080 #define RSCT_READER_HARDWARE_MASK_KEYPAD 0x00000100 #define RSCT_READER_HARDWARE_MASK_DISPLAY 0x00000200 #define RSCT_READER_HARDWARE_MASK_BIOMETRIC 0x00000400 #define RSCT_READER_HARDWARE_MASK_BUZZER 0x00000800 #define RSCT_READER_HARDWARE_MASK_DISPLAY_ONOFF 0x00001000 #define RSCT_READER_HARDWARE_MASK_RFID 0x00002000 #define RSCT_READER_HARDWARE_MASK_PACE 0x00004000 #define RSCT_READER_HARDWARE_MASK_UPDATEABLE 0x00010000 #define RSCT_READER_HARDWARE_MASK_MODULES 0x00020000 #define RSCT_READER_HARDWARE_BACKLIGHT 0x00040000 typedef struct _tKeyInfo { uint8_t KNr; uint8_t Version; }tKeyInfo; typedef struct _tSecoderInfo { uint32_t FixedModuleID; uint8_t FixedModuleVersion; uint8_t FixedModuleRevision; }tSecoderInfo; typedef struct _ReaderInfo { uint32_t SizeOfStruct; uint32_t ContentsMask; uint32_t PID; uint32_t HardwareMask; uint32_t Version; uint32_t HardwareVersion; uint32_t FlashSize; uint32_t HeapSize; tKeyInfo Keys[2]; int8_t SeriaNumber[11]; int8_t VendorString[128]; int8_t ProductString[128]; int8_t ProductionDate[11]; int8_t ProductionTime[6]; int8_t TestDate[11]; int8_t TestTime[6]; int8_t CommissioningDate[11]; int8_t CommissioningTime[6]; int8_t CommunicationString[4]; uint32_t PortID; int8_t IFDNameOfIfdBridgeDevice[256]; int8_t HardwareString[128]; tSecoderInfo Info[1]; }cj_ReaderInfo; typedef void* ctxPtr; typedef void (RSCT_STDCALL *fctKeyIntCallback)(ctxPtr Context, uint8_t Key); typedef void (RSCT_STDCALL *fctChangeIntCallback)(ctxPtr Context, uint8_t State); typedef enum _EContrast{ContrastVeryLow,ContrastLow,ContrastMedium,ContrastHigh,ContrastVeryHigh}EContrast; typedef enum _EBacklight{BacklightOff,BacklightVeryLow,BacklightLow,BacklightMedium,BacklightHigh,BacklightVeryHigh}EBacklight; typedef int CJ_RESULT; typedef uint32_t RSCT_IFD_RESULT; typedef enum _EApduNorm{NORM_PCSC,NORM_ISO,NORM_EMV}EApduNorm; #ifndef CJPCSC_VEN_IOCTRL_ESCAPE # define CJPCSC_VEN_IOCTRL_ESCAPE SCARD_CTL_CODE(3103) #endif extern CJECA32_API int ncjeca32; CJECA32_API int fncjeca32(void); #ifdef __cplusplus // Diese Klasse wird aus cjeca32.dll exportiert. class CJECA32_API Ccjeca32 { public: Ccjeca32(void); // TODO: Hier die Methoden hinzufgen. }; #endif #ifdef CJECA32_EXPORTS #ifdef _EXP_CTAPI #define CTAPI_RETURN CJECA32_API char _stdcall #ifdef __cplusplus extern "C" { #endif CTAPI_RETURN CT_init(WORD,WORD); CTAPI_RETURN CT_data(WORD,uint8_t *dad,uint8_t *sad, WORD cmd_len, const uint8_t *cmd, WORD *response_len, uint8_t *response); CTAPI_RETURN CT_close(WORD); #ifdef __cplusplus } #endif #endif #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/driver/Platform_win32.h0000644000175000001440000000467011657145411022623 0ustar sctusers/*************************************************************************** begin : Mon Jun 14 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_PLATFORM_WIN32_H #define RSCT_PLATFORM_WIN32_H #include #include #include #include #define uint32_t ULONG #define uint16_t USHORT #define uint8_t BYTE #define int32_t LONG #define int16_t SHORT #define int8_t char /*typedef ULONG uint32_t; typedef USHORT uint16_t; typedef BYTE uint8_t; typedef LONG int32_t; typedef SHORT int16_t; typedef char int8_t;*/ #pragma warning (disable:4996) #ifdef UNDER_CE # define RSCT_NO_VARGS #endif #ifdef CJECA32_EXPORTS # define CJECA32_API __declspec(dllexport) #else # define CJECA32_API __declspec(dllimport) #endif #define CJECA32_PRIVATE_API #define CJECA32_PRIVATE_CLASS #define RSCT_STDCALL _stdcall #define strdup(m) _strdup(m) #include "stdafx.h" #ifndef strcasecmp # define strcasecmp stricmp #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/macosx/0000755000175000001440000000000011660201015017617 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/include/macosx/Makefile.am0000644000175000001440000000001611657145411021665 0ustar sctusersSUBDIRS=PCSC pcsc-cyberjack-3.99.5final.SP03/include/macosx/Makefile.in0000644000175000001440000004615711660201015021701 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = include/macosx DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_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 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ SUBDIRS = PCSC all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/macosx/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu include/macosx/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # 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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .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: pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/0000755000175000001440000000000011660201015020347 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/Makefile.am0000644000175000001440000000015311657145411022417 0ustar sctusers noinst_HEADERS=\ debuglog.h \ ifdhandler.h \ pcsclite.h \ reader.h \ winscard.h \ wintypes.h pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/pcsclite.h0000644000175000001440000002665611657145411022362 0ustar sctusers/* * MUSCLE SmartCard Development ( http://www.linuxnet.com ) * * Copyright (C) 1999-2004 * David Corcoran * Ludovic Rousseau * * $Id: pcsclite.h.in 3352 2009-03-20 08:56:19Z rousseau $ */ /** * @file * @brief This keeps a list of defines for pcsc-lite. * * Error codes from http://msdn.microsoft.com/en-us/library/aa924526.aspx */ #ifndef __pcsclite_h__ #define __pcsclite_h__ #include #ifdef __cplusplus extern "C" { #endif typedef long SCARDCONTEXT; /**< \p hContext returned by SCardEstablishContext() */ typedef SCARDCONTEXT *PSCARDCONTEXT; typedef SCARDCONTEXT *LPSCARDCONTEXT; typedef long SCARDHANDLE; /**< \p hCard returned by SCardConnect() */ typedef SCARDHANDLE *PSCARDHANDLE; typedef SCARDHANDLE *LPSCARDHANDLE; #define MAX_ATR_SIZE 33 /**< Maximum ATR size */ typedef struct { const char *szReader; void *pvUserData; unsigned long dwCurrentState; unsigned long dwEventState; unsigned long cbAtr; unsigned char rgbAtr[MAX_ATR_SIZE]; } SCARD_READERSTATE_A; typedef SCARD_READERSTATE_A SCARD_READERSTATE, *PSCARD_READERSTATE_A, *LPSCARD_READERSTATE_A; /** Protocol Control Information (PCI) */ typedef struct { unsigned long dwProtocol; /**< Protocol identifier */ unsigned long cbPciLength; /**< Protocol Control Inf Length */ } SCARD_IO_REQUEST, *PSCARD_IO_REQUEST, *LPSCARD_IO_REQUEST; typedef const SCARD_IO_REQUEST *LPCSCARD_IO_REQUEST; extern SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, g_rgSCardRawPci; #define SCARD_PCI_T0 (&g_rgSCardT0Pci) /**< protocol control information (PCI) for T=0 */ #define SCARD_PCI_T1 (&g_rgSCardT1Pci) /**< protocol control information (PCI) for T=1 */ #define SCARD_PCI_RAW (&g_rgSCardRawPci) /**< protocol control information (PCI) for RAW protocol */ /** error codes from http://msdn.microsoft.com/en-us/library/aa924526.aspx */ #define SCARD_S_SUCCESS 0x00000000 /**< No error was encountered. */ #define SCARD_F_INTERNAL_ERROR 0x80100001 /**< An internal consistency check failed. */ #define SCARD_E_CANCELLED 0x80100002 /**< The action was cancelled by an SCardCancel request. */ #define SCARD_E_INVALID_HANDLE 0x80100003 /**< The supplied handle was invalid. */ #define SCARD_E_INVALID_PARAMETER 0x80100004 /**< One or more of the supplied parameters could not be properly interpreted. */ #define SCARD_E_INVALID_TARGET 0x80100005 /**< Registry startup information is missing or invalid. */ #define SCARD_E_NO_MEMORY 0x80100006 /**< Not enough memory available to complete this command. */ #define SCARD_F_WAITED_TOO_LONG 0x80100007 /**< An internal consistency timer has expired. */ #define SCARD_E_INSUFFICIENT_BUFFER 0x80100008 /**< The data buffer to receive returned data is too small for the returned data. */ #define SCARD_E_UNKNOWN_READER 0x80100009 /**< The specified reader name is not recognized. */ #define SCARD_E_TIMEOUT 0x8010000A /**< The user-specified timeout value has expired. */ #define SCARD_E_SHARING_VIOLATION 0x8010000B /**< The smart card cannot be accessed because of other connections outstanding. */ #define SCARD_E_NO_SMARTCARD 0x8010000C /**< The operation requires a Smart Card, but no Smart Card is currently in the device. */ #define SCARD_E_UNKNOWN_CARD 0x8010000D /**< The specified smart card name is not recognized. */ #define SCARD_E_CANT_DISPOSE 0x8010000E /**< The system could not dispose of the media in the requested manner. */ #define SCARD_E_PROTO_MISMATCH 0x8010000F /**< The requested protocols are incompatible with the protocol currently in use with the smart card. */ #define SCARD_E_NOT_READY 0x80100010 /**< The reader or smart card is not ready to accept commands. */ #define SCARD_E_INVALID_VALUE 0x80100011 /**< One or more of the supplied parameters values could not be properly interpreted. */ #define SCARD_E_SYSTEM_CANCELLED 0x80100012 /**< The action was cancelled by the system, presumably to log off or shut down. */ #define SCARD_F_COMM_ERROR 0x80100013 /**< An internal communications error has been detected. */ #define SCARD_F_UNKNOWN_ERROR 0x80100014 /**< An internal error has been detected, but the source is unknown. */ #define SCARD_E_INVALID_ATR 0x80100015 /**< An ATR obtained from the registry is not a valid ATR string. */ #define SCARD_E_NOT_TRANSACTED 0x80100016 /**< An attempt was made to end a non-existent transaction. */ #define SCARD_E_READER_UNAVAILABLE 0x80100017 /**< The specified reader is not currently available for use. */ #define SCARD_E_PCI_TOO_SMALL 0x80100019 /**< The PCI Receive buffer was too small. */ #define SCARD_E_READER_UNSUPPORTED 0x8010001A /**< The reader driver does not meet minimal requirements for support. */ #define SCARD_E_DUPLICATE_READER 0x8010001B /**< The reader driver did not produce a unique reader name. */ #define SCARD_E_CARD_UNSUPPORTED 0x8010001C /**< The smart card does not meet minimal requirements for support. */ #define SCARD_E_NO_SERVICE 0x8010001D /**< The Smart card resource manager is not running. */ #define SCARD_E_SERVICE_STOPPED 0x8010001E /**< The Smart card resource manager has shut down. */ #define SCARD_E_UNEXPECTED 0x8010001F /**< An unexpected card error has occurred. */ #define SCARD_E_ICC_INSTALLATION 0x80100020 /**< No primary provider can be found for the smart card. */ #define SCARD_E_ICC_CREATEORDER 0x80100021 /**< The requested order of object creation is not supported. */ /* #define SCARD_E_UNSUPPORTED_FEATURE 0x80100022 / **< This smart card does not support the requested feature. */ #define SCARD_E_DIR_NOT_FOUND 0x80100023 /**< The identified directory does not exist in the smart card. */ #define SCARD_E_FILE_NOT_FOUND 0x80100024 /**< The identified file does not exist in the smart card. */ #define SCARD_E_NO_DIR 0x80100025 /**< The supplied path does not represent a smart card directory. */ #define SCARD_E_NO_FILE 0x80100026 /**< The supplied path does not represent a smart card file. */ #define SCARD_E_NO_ACCESS 0x80100027 /**< Access is denied to this file. */ #define SCARD_E_WRITE_TOO_MANY 0x80100028 /**< The smart card does not have enough memory to store the information. */ #define SCARD_E_BAD_SEEK 0x80100029 /**< There was an error trying to set the smart card file object pointer. */ #define SCARD_E_INVALID_CHV 0x8010002A /**< The supplied PIN is incorrect. */ #define SCARD_E_UNKNOWN_RES_MNG 0x8010002B /**< An unrecognized error code was returned from a layered component. */ #define SCARD_E_NO_SUCH_CERTIFICATE 0x8010002C /**< The requested certificate does not exist. */ #define SCARD_E_CERTIFICATE_UNAVAILABLE 0x8010002D /**< The requested certificate could not be obtained. */ #define SCARD_E_NO_READERS_AVAILABLE 0x8010002E /**< Cannot find a smart card reader. */ #define SCARD_E_COMM_DATA_LOST 0x8010002F /**< A communications error with the smart card has been detected. Retry the operation. */ #define SCARD_E_NO_KEY_CONTAINER 0x80100030 /**< The requested key container does not exist on the smart card. */ #define SCARD_E_SERVER_TOO_BUSY 0x80100031 /**< The Smart Card Resource Manager is too busy to complete this operation. */ #define SCARD_W_UNSUPPORTED_CARD 0x80100065 /**< The reader cannot communicate with the card, due to ATR string configuration conflicts. */ #define SCARD_W_UNRESPONSIVE_CARD 0x80100066 /**< The smart card is not responding to a reset. */ #define SCARD_W_UNPOWERED_CARD 0x80100067 /**< Power has been removed from the smart card, so that further communication is not possible. */ #define SCARD_W_RESET_CARD 0x80100068 /**< The smart card has been reset, so any shared state information is invalid. */ #define SCARD_W_REMOVED_CARD 0x80100069 /**< The smart card has been removed, so further communication is not possible. */ #define SCARD_W_SECURITY_VIOLATION 0x8010006A /**< Access was denied because of a security violation. */ #define SCARD_W_WRONG_CHV 0x8010006B /**< The card cannot be accessed because the wrong PIN was presented. */ #define SCARD_W_CHV_BLOCKED 0x8010006C /**< The card cannot be accessed because the maximum number of PIN entry attempts has been reached. */ #define SCARD_W_EOF 0x8010006D /**< The end of the smart card file has been reached. */ #define SCARD_W_CANCELLED_BY_USER 0x8010006E /**< The user pressed "Cancel" on a Smart Card Selection Dialog. */ #define SCARD_W_CARD_NOT_AUTHENTICATED 0x8010006F /**< No PIN was presented to the smart card. */ #define SCARD_AUTOALLOCATE (DWORD)(-1) /**< see SCardFreeMemory() */ #define SCARD_SCOPE_USER 0x0000 /**< Scope in user space */ #define SCARD_SCOPE_TERMINAL 0x0001 /**< Scope in terminal */ #define SCARD_SCOPE_SYSTEM 0x0002 /**< Scope in system */ #define SCARD_PROTOCOL_UNDEFINED 0x0000 /**< protocol not set */ #define SCARD_PROTOCOL_UNSET SCARD_PROTOCOL_UNDEFINED /* backward compat */ #define SCARD_PROTOCOL_T0 0x0001 /**< T=0 active protocol. */ #define SCARD_PROTOCOL_T1 0x0002 /**< T=1 active protocol. */ #define SCARD_PROTOCOL_RAW 0x0004 /**< Raw active protocol. */ #define SCARD_PROTOCOL_T15 0x0008 /**< T=15 protocol. */ #define SCARD_PROTOCOL_ANY (SCARD_PROTOCOL_T0|SCARD_PROTOCOL_T1) /**< IFD determines prot. */ #define SCARD_SHARE_EXCLUSIVE 0x0001 /**< Exclusive mode only */ #define SCARD_SHARE_SHARED 0x0002 /**< Shared mode only */ #define SCARD_SHARE_DIRECT 0x0003 /**< Raw mode only */ #define SCARD_LEAVE_CARD 0x0000 /**< Do nothing on close */ #define SCARD_RESET_CARD 0x0001 /**< Reset on close */ #define SCARD_UNPOWER_CARD 0x0002 /**< Power down on close */ #define SCARD_EJECT_CARD 0x0003 /**< Eject on close */ #define SCARD_UNKNOWN 0x0001 /**< Unknown state */ #define SCARD_ABSENT 0x0002 /**< Card is absent */ #define SCARD_PRESENT 0x0004 /**< Card is present */ #define SCARD_SWALLOWED 0x0008 /**< Card not powered */ #define SCARD_POWERED 0x0010 /**< Card is powered */ #define SCARD_NEGOTIABLE 0x0020 /**< Ready for PTS */ #define SCARD_SPECIFIC 0x0040 /**< PTS has been set */ #define SCARD_STATE_UNAWARE 0x0000 /**< App wants status */ #define SCARD_STATE_IGNORE 0x0001 /**< Ignore this reader */ #define SCARD_STATE_CHANGED 0x0002 /**< State has changed */ #define SCARD_STATE_UNKNOWN 0x0004 /**< Reader unknown */ #define SCARD_STATE_UNAVAILABLE 0x0008 /**< Status unavailable */ #define SCARD_STATE_EMPTY 0x0010 /**< Card removed */ #define SCARD_STATE_PRESENT 0x0020 /**< Card inserted */ #define SCARD_STATE_ATRMATCH 0x0040 /**< ATR matches card */ #define SCARD_STATE_EXCLUSIVE 0x0080 /**< Exclusive Mode */ #define SCARD_STATE_INUSE 0x0100 /**< Shared Mode */ #define SCARD_STATE_MUTE 0x0200 /**< Unresponsive card */ #define SCARD_STATE_UNPOWERED 0x0400 /**< Unpowered card */ /** PC/SC Lite specific extensions */ #define SCARD_W_INSERTED_CARD 0x8010006A #define SCARD_E_UNSUPPORTED_FEATURE 0x8010001F /**< feature not supported. */ #ifndef INFINITE #define INFINITE 0xFFFFFFFF /**< Infinite timeout */ #endif #define PCSCLITE_VERSION_NUMBER "1.5.3" /**< Current version */ /** Maximum readers context (a slot is count as a reader) */ #define PCSCLITE_MAX_READERS_CONTEXTS 16 #define MAX_READERNAME 100 #ifndef SCARD_ATR_LENGTH #define SCARD_ATR_LENGTH MAX_ATR_SIZE /**< Maximum ATR size */ #endif /* * The message and buffer sizes must be multiples of 16. * The max message size must be at least large enough * to accomodate the transmit_struct */ #define MAX_BUFFER_SIZE 264 /**< Maximum Tx/Rx Buffer for short APDU */ #define MAX_BUFFER_SIZE_EXTENDED (4 + 3 + (1<<16) + 3) /**< enhanced (64K + APDU + Lc + Le) Tx/Rx Buffer */ /* * Gets a stringified error response */ char *pcsc_stringify_error(const long); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/Makefile.in0000644000175000001440000003372111660201015022422 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = include/macosx/PCSC DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ noinst_HEADERS = \ debuglog.h \ ifdhandler.h \ pcsclite.h \ reader.h \ winscard.h \ wintypes.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/macosx/PCSC/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu include/macosx/PCSC/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool ctags 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 maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags 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: pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/reader.h0000644000175000001440000003125511657145411022005 0ustar sctusers/* * MUSCLE SmartCard Development ( http://www.linuxnet.com ) * * Copyright (C) 1999-2005 * David Corcoran * Copyright (C) 1999-2009 * Ludovic Rousseau * * $Id: reader.h.in 3355 2009-03-21 13:47:15Z rousseau $ */ /** * @file * @brief This keeps a list of defines shared between the driver and the application */ #ifndef __reader_h__ #define __reader_h__ /* * Tags for requesting card and reader attributes */ #define SCARD_ATTR_VALUE(Class, Tag) ((((ULONG)(Class)) << 16) | ((ULONG)(Tag))) #define SCARD_CLASS_VENDOR_INFO 1 /**< Vendor information definitions */ #define SCARD_CLASS_COMMUNICATIONS 2 /**< Communication definitions */ #define SCARD_CLASS_PROTOCOL 3 /**< Protocol definitions */ #define SCARD_CLASS_POWER_MGMT 4 /**< Power Management definitions */ #define SCARD_CLASS_SECURITY 5 /**< Security Assurance definitions */ #define SCARD_CLASS_MECHANICAL 6 /**< Mechanical characteristic definitions */ #define SCARD_CLASS_VENDOR_DEFINED 7 /**< Vendor specific definitions */ #define SCARD_CLASS_IFD_PROTOCOL 8 /**< Interface Device Protocol options */ #define SCARD_CLASS_ICC_STATE 9 /**< ICC State specific definitions */ #define SCARD_CLASS_SYSTEM 0x7fff /**< System-specific definitions */ #define SCARD_ATTR_VENDOR_NAME SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0100) /**< Vendor name. */ #define SCARD_ATTR_VENDOR_IFD_TYPE SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0101) /**< Vendor-supplied interface device type (model designation of reader). */ #define SCARD_ATTR_VENDOR_IFD_VERSION SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0102) /**< Vendor-supplied interface device version (DWORD in the form 0xMMmmbbbb where MM = major version, mm = minor version, and bbbb = build number). */ #define SCARD_ATTR_VENDOR_IFD_SERIAL_NO SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_INFO, 0x0103) /**< Vendor-supplied interface device serial number. */ #define SCARD_ATTR_CHANNEL_ID SCARD_ATTR_VALUE(SCARD_CLASS_COMMUNICATIONS, 0x0110) /**< DWORD encoded as 0xDDDDCCCC, where DDDD = data channel type and CCCC = channel number */ #define SCARD_ATTR_ASYNC_PROTOCOL_TYPES SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0120) /**< FIXME */ #define SCARD_ATTR_DEFAULT_CLK SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0121) /**< Default clock rate, in kHz. */ #define SCARD_ATTR_MAX_CLK SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0122) /**< Maximum clock rate, in kHz. */ #define SCARD_ATTR_DEFAULT_DATA_RATE SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0123) /**< Default data rate, in bps. */ #define SCARD_ATTR_MAX_DATA_RATE SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0124) /**< Maximum data rate, in bps. */ #define SCARD_ATTR_MAX_IFSD SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0125) /**< Maximum bytes for information file size device. */ #define SCARD_ATTR_SYNC_PROTOCOL_TYPES SCARD_ATTR_VALUE(SCARD_CLASS_PROTOCOL, 0x0126) /**< FIXME */ #define SCARD_ATTR_POWER_MGMT_SUPPORT SCARD_ATTR_VALUE(SCARD_CLASS_POWER_MGMT, 0x0131) /**< Zero if device does not support power down while smart card is inserted. Nonzero otherwise. */ #define SCARD_ATTR_USER_TO_CARD_AUTH_DEVICE SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0140) /**< FIXME */ #define SCARD_ATTR_USER_AUTH_INPUT_DEVICE SCARD_ATTR_VALUE(SCARD_CLASS_SECURITY, 0x0142) /**< FIXME */ #define SCARD_ATTR_CHARACTERISTICS SCARD_ATTR_VALUE(SCARD_CLASS_MECHANICAL, 0x0150) /**< DWORD indicating which mechanical characteristics are supported. If zero, no special characteristics are supported. Note that multiple bits can be set */ #define SCARD_ATTR_CURRENT_PROTOCOL_TYPE SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0201) /**< FIXME */ #define SCARD_ATTR_CURRENT_CLK SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0202) /**< Current clock rate, in kHz. */ #define SCARD_ATTR_CURRENT_F SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0203) /**< Clock conversion factor. */ #define SCARD_ATTR_CURRENT_D SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0204) /**< Bit rate conversion factor. */ #define SCARD_ATTR_CURRENT_N SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0205) /**< Current guard time. */ #define SCARD_ATTR_CURRENT_W SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0206) /**< Current work waiting time. */ #define SCARD_ATTR_CURRENT_IFSC SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0207) /**< Current byte size for information field size card. */ #define SCARD_ATTR_CURRENT_IFSD SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0208) /**< Current byte size for information field size device. */ #define SCARD_ATTR_CURRENT_BWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x0209) /**< Current block waiting time. */ #define SCARD_ATTR_CURRENT_CWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020a) /**< Current character waiting time. */ #define SCARD_ATTR_CURRENT_EBC_ENCODING SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020b) /**< Current error block control encoding. */ #define SCARD_ATTR_EXTENDED_BWT SCARD_ATTR_VALUE(SCARD_CLASS_IFD_PROTOCOL, 0x020c) /**< FIXME */ #define SCARD_ATTR_ICC_PRESENCE SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0300) /**< Single byte indicating smart card presence */ #define SCARD_ATTR_ICC_INTERFACE_STATUS SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0301) /**< Single byte. Zero if smart card electrical contact is not active; nonzero if contact is active. */ #define SCARD_ATTR_CURRENT_IO_STATE SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0302) /**< FIXME */ #define SCARD_ATTR_ATR_STRING SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0303) /**< Answer to reset (ATR) string. */ #define SCARD_ATTR_ICC_TYPE_PER_ATR SCARD_ATTR_VALUE(SCARD_CLASS_ICC_STATE, 0x0304) /**< Single byte indicating smart card type */ #define SCARD_ATTR_ESC_RESET SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA000) /**< FIXME */ #define SCARD_ATTR_ESC_CANCEL SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA003) /**< FIXME */ #define SCARD_ATTR_ESC_AUTHREQUEST SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA005) /**< FIXME */ #define SCARD_ATTR_MAXINPUT SCARD_ATTR_VALUE(SCARD_CLASS_VENDOR_DEFINED, 0xA007) /**< FIXME */ #define SCARD_ATTR_DEVICE_UNIT SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0001) /**< Instance of this vendor's reader attached to the computer. The first instance will be device unit 0, the next will be unit 1 (if it is the same brand of reader) and so on. Two different brands of readers will both have zero for this value. */ #define SCARD_ATTR_DEVICE_IN_USE SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0002) /**< Reserved for future use. */ #define SCARD_ATTR_DEVICE_FRIENDLY_NAME_A SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0003) #define SCARD_ATTR_DEVICE_SYSTEM_NAME_A SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0004) #define SCARD_ATTR_DEVICE_FRIENDLY_NAME_W SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0005) #define SCARD_ATTR_DEVICE_SYSTEM_NAME_W SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0006) #define SCARD_ATTR_SUPRESS_T1_IFS_REQUEST SCARD_ATTR_VALUE(SCARD_CLASS_SYSTEM, 0x0007) /**< FIXME */ #ifdef UNICODE #define SCARD_ATTR_DEVICE_FRIENDLY_NAME SCARD_ATTR_DEVICE_FRIENDLY_NAME_W /**< Reader's display name. */ #define SCARD_ATTR_DEVICE_SYSTEM_NAME SCARD_ATTR_DEVICE_SYSTEM_NAME_W /**< Reader's system name. */ #else #define SCARD_ATTR_DEVICE_FRIENDLY_NAME SCARD_ATTR_DEVICE_FRIENDLY_NAME_A /**< Reader's display name. */ #define SCARD_ATTR_DEVICE_SYSTEM_NAME SCARD_ATTR_DEVICE_SYSTEM_NAME_A /**< Reader's system name. */ #endif /** * Provide source compatibility on different platforms */ #define SCARD_CTL_CODE(code) (0x42000000 + (code)) /** * PC/SC v2.02.05 part 10 reader tags */ #define CM_IOCTL_GET_FEATURE_REQUEST SCARD_CTL_CODE(3400) #define FEATURE_VERIFY_PIN_START 0x01 #define FEATURE_VERIFY_PIN_FINISH 0x02 #define FEATURE_MODIFY_PIN_START 0x03 #define FEATURE_MODIFY_PIN_FINISH 0x04 #define FEATURE_GET_KEY_PRESSED 0x05 #define FEATURE_VERIFY_PIN_DIRECT 0x06 #define FEATURE_MODIFY_PIN_DIRECT 0x07 #define FEATURE_MCT_READERDIRECT 0x08 #define FEATURE_MCT_UNIVERSAL 0x09 #define FEATURE_IFD_PIN_PROPERTIES 0x0A #define FEATURE_ABORT 0x0B #define FEATURE_SET_SPE_MESSAGE 0x0C #define FEATURE_VERIFY_PIN_DIRECT_APP_ID 0x0D #define FEATURE_MODIFY_PIN_DIRECT_APP_ID 0x0E #define FEATURE_WRITE_DISPLAY 0x0F #define FEATURE_GET_KEY 0x10 #define FEATURE_IFD_DISPLAY_PROPERTIES 0x11 #define FEATURE_EXECUTE_PACE 0x20 /* structures used (but not defined) in PC/SC Part 10 revision 2.02.05: * "IFDs with Secure Pin Entry Capabilities" */ #include /* Set structure elements aligment on bytes * http://gcc.gnu.org/onlinedocs/gcc/Structure_002dPacking-Pragmas.html */ #if defined(__APPLE__) | defined(sun) #pragma pack(1) #else #pragma pack(push, 1) #endif /** the structure must be 6-bytes long */ typedef struct { uint8_t tag; uint8_t length; uint32_t value; /**< This value is always in BIG ENDIAN format as documented in PCSC v2 part 10 ch 2.2 page 2. You can use ntohl() for example */ } PCSC_TLV_STRUCTURE; /** the wLangId and wPINMaxExtraDigit are 16-bits long so are subject to byte * ordering */ #define HOST_TO_CCID_16(x) (x) #define HOST_TO_CCID_32(x) (x) /** structure used with \ref FEATURE_VERIFY_PIN_DIRECT */ typedef struct { uint8_t bTimerOut; /**< timeout is seconds (00 means use default timeout) */ uint8_t bTimerOut2; /**< timeout in seconds after first key stroke */ uint8_t bmFormatString; /**< formatting options */ uint8_t bmPINBlockString; /**< bits 7-4 bit size of PIN length in APDU, * bits 3-0 PIN block size in bytes after * justification and formatting */ uint8_t bmPINLengthFormat; /**< bits 7-5 RFU, * bit 4 set if system units are bytes, clear if * system units are bits, * bits 3-0 PIN length position in system units */ uint16_t wPINMaxExtraDigit; /**< 0xXXYY where XX is minimum PIN size in digits, and YY is maximum PIN size in digits */ uint8_t bEntryValidationCondition; /**< Conditions under which PIN entry should * be considered complete */ uint8_t bNumberMessage; /**< Number of messages to display for PIN verification */ uint16_t wLangId; /**< Language for messages */ uint8_t bMsgIndex; /**< Message index (should be 00) */ uint8_t bTeoPrologue[3]; /**< T=1 block prologue field to use (fill with 00) */ uint32_t ulDataLength; /**< length of Data to be sent to the ICC */ uint8_t abData[1]; /**< Data to send to the ICC */ } PIN_VERIFY_STRUCTURE; /** structure used with \ref FEATURE_MODIFY_PIN_DIRECT */ typedef struct { uint8_t bTimerOut; /**< timeout is seconds (00 means use default timeout) */ uint8_t bTimerOut2; /**< timeout in seconds after first key stroke */ uint8_t bmFormatString; /**< formatting options */ uint8_t bmPINBlockString; /**< bits 7-4 bit size of PIN length in APDU, * bits 3-0 PIN block size in bytes after * justification and formatting */ uint8_t bmPINLengthFormat; /**< bits 7-5 RFU, * bit 4 set if system units are bytes, clear if * system units are bits, * bits 3-0 PIN length position in system units */ uint8_t bInsertionOffsetOld; /**< Insertion position offset in bytes for the current PIN */ uint8_t bInsertionOffsetNew; /**< Insertion position offset in bytes for the new PIN */ uint16_t wPINMaxExtraDigit; /**< 0xXXYY where XX is minimum PIN size in digits, and YY is maximum PIN size in digits */ uint8_t bConfirmPIN; /**< Flags governing need for confirmation of new PIN */ uint8_t bEntryValidationCondition; /**< Conditions under which PIN entry should * be considered complete */ uint8_t bNumberMessage; /**< Number of messages to display for PIN verification*/ uint16_t wLangId; /**< Language for messages */ uint8_t bMsgIndex1; /**< index of 1st prompting message */ uint8_t bMsgIndex2; /**< index of 2d prompting message */ uint8_t bMsgIndex3; /**< index of 3d prompting message */ uint8_t bTeoPrologue[3]; /**< T=1 block prologue field to use (fill with 00) */ uint32_t ulDataLength; /**< length of Data to be sent to the ICC */ uint8_t abData[1]; /**< Data to send to the ICC */ } PIN_MODIFY_STRUCTURE; /** structure used with \ref FEATURE_IFD_PIN_PROPERTIES */ typedef struct { uint16_t wLcdLayout; /**< display characteristics */ uint16_t wLcdMaxCharacters; uint16_t wLcdMaxLines; uint8_t bEntryValidationCondition; uint8_t bTimeOut2; } PIN_PROPERTIES_STRUCTURE; /* restore default structure elements alignment */ #if defined(__APPLE__) | defined(sun) #pragma pack() #else #pragma pack(pop) #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/winscard.h0000644000175000001440000000563211657145411022355 0ustar sctusers/* * MUSCLE SmartCard Development ( http://www.linuxnet.com ) * * Copyright (C) 1999-2003 * David Corcoran * Ludovic Rousseau * * $Id: winscard.h 3260 2009-01-02 15:19:59Z rousseau $ */ /** * @file * @brief This handles smartcard reader communications. */ #ifndef __winscard_h__ #define __winscard_h__ #include #ifdef __cplusplus extern "C" { #endif #ifndef PCSC_API #define PCSC_API #endif PCSC_API LONG SCardEstablishContext(DWORD dwScope, /*@null@*/ LPCVOID pvReserved1, /*@null@*/ LPCVOID pvReserved2, /*@out@*/ LPSCARDCONTEXT phContext); PCSC_API LONG SCardReleaseContext(SCARDCONTEXT hContext); PCSC_API LONG SCardIsValidContext(SCARDCONTEXT hContext); PCSC_API LONG SCardSetTimeout(SCARDCONTEXT hContext, DWORD dwTimeout); PCSC_API LONG SCardConnect(SCARDCONTEXT hContext, LPCSTR szReader, DWORD dwShareMode, DWORD dwPreferredProtocols, /*@out@*/ LPSCARDHANDLE phCard, /*@out@*/ LPDWORD pdwActiveProtocol); PCSC_API LONG SCardReconnect(SCARDHANDLE hCard, DWORD dwShareMode, DWORD dwPreferredProtocols, DWORD dwInitialization, /*@out@*/ LPDWORD pdwActiveProtocol); PCSC_API LONG SCardDisconnect(SCARDHANDLE hCard, DWORD dwDisposition); PCSC_API LONG SCardBeginTransaction(SCARDHANDLE hCard); PCSC_API LONG SCardEndTransaction(SCARDHANDLE hCard, DWORD dwDisposition); PCSC_API LONG SCardCancelTransaction(SCARDHANDLE hCard); PCSC_API LONG SCardStatus(SCARDHANDLE hCard, /*@null@*/ /*@out@*/ LPSTR mszReaderName, /*@null@*/ /*@out@*/ LPDWORD pcchReaderLen, /*@null@*/ /*@out@*/ LPDWORD pdwState, /*@null@*/ /*@out@*/ LPDWORD pdwProtocol, /*@null@*/ /*@out@*/ LPBYTE pbAtr, /*@null@*/ /*@out@*/ LPDWORD pcbAtrLen); PCSC_API LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout, LPSCARD_READERSTATE_A rgReaderStates, DWORD cReaders); PCSC_API LONG SCardControl(SCARDHANDLE hCard, DWORD dwControlCode, LPCVOID pbSendBuffer, DWORD cbSendLength, /*@out@*/ LPVOID pbRecvBuffer, DWORD cbRecvLength, LPDWORD lpBytesReturned); PCSC_API LONG SCardTransmit(SCARDHANDLE hCard, LPCSCARD_IO_REQUEST pioSendPci, LPCBYTE pbSendBuffer, DWORD cbSendLength, /*@out@*/ LPSCARD_IO_REQUEST pioRecvPci, /*@out@*/ LPBYTE pbRecvBuffer, LPDWORD pcbRecvLength); PCSC_API LONG SCardListReaderGroups(SCARDCONTEXT hContext, /*@out@*/ LPSTR mszGroups, LPDWORD pcchGroups); PCSC_API LONG SCardListReaders(SCARDCONTEXT hContext, /*@null@*/ /*@out@*/ LPCSTR mszGroups, /*@null@*/ /*@out@*/ LPSTR mszReaders, /*@out@*/ LPDWORD pcchReaders); PCSC_API LONG SCardFreeMemory(SCARDCONTEXT hContext, LPCVOID pvMem); PCSC_API LONG SCardCancel(SCARDCONTEXT hContext); PCSC_API LONG SCardGetAttrib(SCARDHANDLE hCard, DWORD dwAttrId, /*@out@*/ LPBYTE pbAttr, LPDWORD pcbAttrLen); PCSC_API LONG SCardSetAttrib(SCARDHANDLE hCard, DWORD dwAttrId, LPCBYTE pbAttr, DWORD cbAttrLen); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/wintypes.h0000644000175000001440000000220411657145411022415 0ustar sctusers/* * MUSCLE SmartCard Development ( http://www.linuxnet.com ) * * Copyright (C) 1999 * David Corcoran * * $Id: wintypes.h 3334 2009-03-02 14:56:38Z rousseau $ */ /** * @file * @brief This keeps a list of Windows(R) types. */ #ifndef __wintypes_h__ #define __wintypes_h__ #ifdef __cplusplus extern "C" { #endif #ifndef BYTE typedef unsigned char BYTE; #endif typedef unsigned char UCHAR; typedef unsigned char *PUCHAR; typedef unsigned short USHORT; #ifndef __COREFOUNDATION_CFPLUGINCOM__ typedef unsigned long ULONG; typedef void *LPVOID; #endif typedef const void *LPCVOID; typedef unsigned long DWORD; typedef unsigned long *PDWORD; typedef long LONG; typedef const char *LPCSTR; typedef const BYTE *LPCBYTE; typedef BYTE *LPBYTE; typedef DWORD *LPDWORD; typedef char *LPSTR; /* these types were deprecated but still used by old drivers and * applications. So just declare and use them. */ typedef LPSTR LPTSTR; typedef LPCSTR LPCTSTR; /* types unused by pcsc-lite */ // typedef short BOOL; typedef unsigned short WORD; typedef unsigned long *PULONG; #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/debuglog.h0000644000175000001440000000555411657145411022336 0ustar sctusers/* * MUSCLE SmartCard Development ( http://www.linuxnet.com ) * * Copyright (C) 1999-2004 * David Corcoran * Copyright (C) 1999-2005 * Ludovic Rousseau * * $Id: debuglog.h 3075 2008-07-30 14:25:27Z rousseau $ */ /** * @file * @brief This handles debugging. * * @note log message is sent to syslog or stderr depending on --foreground * command line argument * * @code * Log1(priority, "text"); * log "text" with priority level priority * Log2(priority, "text: %d", 1234); * log "text: 1234" * the format string can be anything printf() can understand * Log3(priority, "text: %d %d", 1234, 5678); * log "text: 1234 5678" * the format string can be anything printf() can understand * LogXxd(priority, msg, buffer, size); * log "msg" + a hex dump of size bytes of buffer[] * @endcode */ #ifndef __debuglog_h__ #define __debuglog_h__ #ifdef __cplusplus extern "C" { #endif #ifndef PCSC_API #define PCSC_API #endif #define DEBUGLOG_LOG_ENTRIES 1 #define DEBUGLOG_IGNORE_ENTRIES 2 enum { DEBUGLOG_NO_DEBUG = 0, DEBUGLOG_SYSLOG_DEBUG, DEBUGLOG_STDERR_DEBUG }; #define DEBUG_CATEGORY_NOTHING 0 #define DEBUG_CATEGORY_APDU 1 #define DEBUG_CATEGORY_SW 2 enum { PCSC_LOG_DEBUG = 0, PCSC_LOG_INFO, PCSC_LOG_ERROR, PCSC_LOG_CRITICAL }; /* You can't do #ifndef __FUNCTION__ */ #if !defined(__GNUC__) && !defined(__IBMC__) #define __FUNCTION__ "" #endif #define Log0(priority) log_msg(priority, "%s:%d:%s()", __FILE__, __LINE__, __FUNCTION__) #define Log1(priority, fmt) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__) #define Log2(priority, fmt, data) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data) #define Log3(priority, fmt, data1, data2) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data1, data2) #define Log4(priority, fmt, data1, data2, data3) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data1, data2, data3) #define Log9(priority, fmt, data1, data2, data3, data4, data5, data6, data7, data8) log_msg(priority, "%s:%d:%s() " fmt, __FILE__, __LINE__, __FUNCTION__, data1, data2, data3, data4, data5, data6, data7, data8) #define LogXxd(priority, msg, buffer, size) log_xxd(priority, msg, buffer, size) #define DebugLogA(a) Log1(PCSC_LOG_INFO, a) #define DebugLogB(a, b) Log2(PCSC_LOG_INFO, a, b) #define DebugLogC(a, b,c) Log3(PCSC_LOG_INFO, a, b, c) PCSC_API void log_msg(const int priority, const char *fmt, ...); PCSC_API void log_xxd(const int priority, const char *msg, const unsigned char *buffer, const int size); void DebugLogSuppress(const int); void DebugLogSetLogType(const int); int DebugLogSetCategory(const int); void DebugLogCategory(const int, const unsigned char *, const int); PCSC_API void DebugLogSetLevel(const int level); #ifdef __cplusplus } #endif #endif /* __debuglog_h__ */ pcsc-cyberjack-3.99.5final.SP03/include/macosx/PCSC/ifdhandler.h0000644000175000001440000001330311657145411022635 0ustar sctusers/* * MUSCLE SmartCard Development ( http://www.linuxnet.com ) * * Copyright (C) 1999-2004 * David Corcoran * Damien Sauveron * * $Id: ifdhandler.h 3029 2008-06-26 13:58:52Z rousseau $ */ /** * @file * @brief This provides reader specific low-level calls. */ #ifndef _ifd_handler_h_ #define _ifd_handler_h_ #include #ifdef __cplusplus extern "C" { #endif /* * List of data structures available to ifdhandler */ typedef struct _DEVICE_CAPABILITIES { LPSTR Vendor_Name; /**< Tag 0x0100 */ LPSTR IFD_Type; /**< Tag 0x0101 */ DWORD IFD_Version; /**< Tag 0x0102 */ LPSTR IFD_Serial; /**< Tag 0x0103 */ DWORD IFD_Channel_ID; /**< Tag 0x0110 */ DWORD Asynch_Supported; /**< Tag 0x0120 */ DWORD Default_Clock; /**< Tag 0x0121 */ DWORD Max_Clock; /**< Tag 0x0122 */ DWORD Default_Data_Rate; /**< Tag 0x0123 */ DWORD Max_Data_Rate; /**< Tag 0x0124 */ DWORD Max_IFSD; /**< Tag 0x0125 */ DWORD Synch_Supported; /**< Tag 0x0126 */ DWORD Power_Mgmt; /**< Tag 0x0131 */ DWORD Card_Auth_Devices; /**< Tag 0x0140 */ DWORD User_Auth_Device; /**< Tag 0x0142 */ DWORD Mechanics_Supported; /**< Tag 0x0150 */ DWORD Vendor_Features; /**< Tag 0x0180 - 0x01F0 User Defined. */ } DEVICE_CAPABILITIES, *PDEVICE_CAPABILITIES; typedef struct _ICC_STATE { UCHAR ICC_Presence; /**< Tag 0x0300 */ UCHAR ICC_Interface_Status; /**< Tag 0x0301 */ UCHAR ATR[MAX_ATR_SIZE]; /**< Tag 0x0303 */ UCHAR ICC_Type; /**< Tag 0x0304 */ } ICC_STATE, *PICC_STATE; typedef struct _PROTOCOL_OPTIONS { DWORD Protocol_Type; /**< Tag 0x0201 */ DWORD Current_Clock; /**< Tag 0x0202 */ DWORD Current_F; /**< Tag 0x0203 */ DWORD Current_D; /**< Tag 0x0204 */ DWORD Current_N; /**< Tag 0x0205 */ DWORD Current_W; /**< Tag 0x0206 */ DWORD Current_IFSC; /**< Tag 0x0207 */ DWORD Current_IFSD; /**< Tag 0x0208 */ DWORD Current_BWT; /**< Tag 0x0209 */ DWORD Current_CWT; /**< Tag 0x020A */ DWORD Current_EBC; /**< Tag 0x020B */ } PROTOCOL_OPTIONS, *PPROTOCOL_OPTIONS; typedef struct _SCARD_IO_HEADER { DWORD Protocol; DWORD Length; } SCARD_IO_HEADER, *PSCARD_IO_HEADER; /* * End of structure list */ /* * The list of tags should be alot more but this is all I use in the * meantime */ #define TAG_IFD_ATR 0x0303 #define TAG_IFD_SLOTNUM 0x0180 #define TAG_IFD_SLOT_THREAD_SAFE 0x0FAC #define TAG_IFD_THREAD_SAFE 0x0FAD #define TAG_IFD_SLOTS_NUMBER 0x0FAE #define TAG_IFD_SIMULTANEOUS_ACCESS 0x0FAF #define TAG_IFD_POLLING_THREAD 0x0FB0 #define TAG_IFD_POLLING_THREAD_KILLABLE 0x0FB1 /* * End of tag list */ /* * IFD Handler version number enummerations */ #define IFD_HVERSION_1_0 0x00010000 #define IFD_HVERSION_2_0 0x00020000 #define IFD_HVERSION_3_0 0x00030000 /* * End of version number enummerations */ /* * List of defines available to ifdhandler */ #define IFD_POWER_UP 500 #define IFD_POWER_DOWN 501 #define IFD_RESET 502 #define IFD_NEGOTIATE_PTS1 1 #define IFD_NEGOTIATE_PTS2 2 #define IFD_NEGOTIATE_PTS3 4 #define IFD_SUCCESS 0 #define IFD_ERROR_TAG 600 #define IFD_ERROR_SET_FAILURE 601 #define IFD_ERROR_VALUE_READ_ONLY 602 #define IFD_ERROR_PTS_FAILURE 605 #define IFD_ERROR_NOT_SUPPORTED 606 #define IFD_PROTOCOL_NOT_SUPPORTED 607 #define IFD_ERROR_POWER_ACTION 608 #define IFD_ERROR_SWALLOW 609 #define IFD_ERROR_EJECT 610 #define IFD_ERROR_CONFISCATE 611 #define IFD_COMMUNICATION_ERROR 612 #define IFD_RESPONSE_TIMEOUT 613 #define IFD_NOT_SUPPORTED 614 #define IFD_ICC_PRESENT 615 #define IFD_ICC_NOT_PRESENT 616 #define IFD_NO_SUCH_DEVICE 617 #ifndef RESPONSECODE_DEFINED_IN_WINTYPES_H typedef long RESPONSECODE; #endif /* * If you want to compile a V2.0 IFDHandler, define IFDHANDLERv2 before you * include this file. * * By default it is setup for for most recent version of the API (V3.0) */ #ifndef IFDHANDLERv2 /* * List of Defined Functions Available to IFD_Handler 3.0 * * All the functions of IFD_Handler 2.0 are available * IFDHCreateChannelByName() is new * IFDHControl() API changed */ RESPONSECODE IFDHCreateChannelByName(DWORD, LPSTR); RESPONSECODE IFDHControl(DWORD, DWORD, PUCHAR, DWORD, PUCHAR, DWORD, LPDWORD); #else /* * List of Defined Functions Available to IFD_Handler 2.0 */ RESPONSECODE IFDHControl(DWORD, PUCHAR, DWORD, PUCHAR, PDWORD); #endif /* * common functions in IFD_Handler 2.0 and 3.0 */ RESPONSECODE IFDHCreateChannel(DWORD, DWORD); RESPONSECODE IFDHCloseChannel(DWORD); RESPONSECODE IFDHGetCapabilities(DWORD, DWORD, PDWORD, PUCHAR); RESPONSECODE IFDHSetCapabilities(DWORD, DWORD, DWORD, PUCHAR); RESPONSECODE IFDHSetProtocolParameters(DWORD, DWORD, UCHAR, UCHAR, UCHAR, UCHAR); RESPONSECODE IFDHPowerICC(DWORD, DWORD, PUCHAR, PDWORD); RESPONSECODE IFDHTransmitToICC(DWORD, SCARD_IO_HEADER, PUCHAR, DWORD, PUCHAR, PDWORD, PSCARD_IO_HEADER); RESPONSECODE IFDHICCPresence(DWORD); /* * List of Defined Functions Available to IFD_Handler 1.0 */ RESPONSECODE IO_Create_Channel(DWORD); RESPONSECODE IO_Close_Channel(void); RESPONSECODE IFD_Get_Capabilities(DWORD, PUCHAR); RESPONSECODE IFD_Set_Capabilities(DWORD, PUCHAR); RESPONSECODE IFD_Set_Protocol_Parameters(DWORD, UCHAR, UCHAR, UCHAR, UCHAR); RESPONSECODE IFD_Power_ICC(DWORD); RESPONSECODE IFD_Swallow_ICC(void); RESPONSECODE IFD_Eject_ICC(void); RESPONSECODE IFD_Confiscate_ICC(void); RESPONSECODE IFD_Transmit_to_ICC(SCARD_IO_HEADER, PUCHAR, DWORD, PUCHAR, PDWORD, PSCARD_IO_HEADER); RESPONSECODE IFD_Is_ICC_Present(void); RESPONSECODE IFD_Is_ICC_Absent(void); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/m4/0000755000175000001440000000000011660201015015222 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/m4/lt~obsolete.m40000644000175000001440000001311311660201010020030 0ustar sctusers# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 4 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) pcsc-cyberjack-3.99.5final.SP03/m4/Makefile.am0000644000175000001440000000020111656535656017301 0ustar sctusers EXTRA_DIST= \ acx_compile_warn.m4 \ as-scrub-include.m4 \ libusb.m4 \ libsysfs.m4 \ os.m4 \ searchfiles.m4 \ windoze.m4 pcsc-cyberjack-3.99.5final.SP03/m4/as-scrub-include.m40000644000175000001440000000201411656535656020653 0ustar sctusersdnl as-scrub-include.m4 0.0.1 dnl autostars m4 macro for scrubbing CFLAGS of system include dirs dnl because gcc 3.x complains about including system including dirs dnl dnl thomas@apestaart.org dnl dnl This macro uses output of cpp -v and expects it to contain text that dnl looks a little bit like this: dnl #include <...> search starts here: dnl /usr/local/include dnl /usr/lib/gcc-lib/i386-redhat-linux/3.2/include dnl /usr/include dnl End of search list. dnl AS_SCRUB_INCLUDE(VAR) dnl example dnl AS_SCRUB_INCLUDE(CFLAGS) dnl will remove all system include dirs from the given CFLAGS AC_DEFUN([AS_SCRUB_INCLUDE], [ GIVEN_CFLAGS=$[$1] INCLUDE_DIRS=`echo | cpp -v 2>&1` dnl remove everything from this output between the "starts here" and "End of" dnl line INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done [$1]=$GIVEN_CFLAGS ]) pcsc-cyberjack-3.99.5final.SP03/m4/ltsugar.m40000644000175000001440000001042411660201010017141 0ustar sctusers# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) pcsc-cyberjack-3.99.5final.SP03/m4/windoze.m40000644000175000001440000002310211656535656017173 0ustar sctusers# $Id: windoze.m4 321 2004-04-28 14:49:36Z cstim $ # (c) 2004 Martin Preuss # These functions retrieve some important paths AC_DEFUN([AQ_WINDOZE_GETPATH], [ dnl IN: dnl - $1: type of path to get: dnl - windows: windows path dnl - system: windows/system directory dnl - home: users home directory dnl - $2: default value dnl OUT: dnl - aq_windoze_path: path retrieved dnl rm -f conf.winpath save_LIBS="${LIBS}" LIBS="${LIBS} -lshfolder" AC_TRY_RUN([ #include #include #include #include #include int main (){ char buffer[260]; const char *choice = "$1"; FILE *f; buffer[0]=0; if (strlen("$2")) { if (strlen("$2")>=sizeof(buffer)) { printf("path is too long ($2)\n"); exit(1); } strcpy(buffer, "$2"); } else { if (strcasecmp(choice, "windows")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "system")==0) { GetSystemDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "home")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "program_files") == 0) { SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, 0, buffer); } else if (strcasecmp(choice, "common_appdata") == 0) { SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, buffer); } else { printf("Unknown type \"$1\"\n"); exit(1); } } f=fopen("conf.winpath", "w+"); if (!f) { printf("Could not create file conf.winpath\n"); exit(1); } fprintf(f, "%s", buffer); if (fclose(f)) { printf("Could not close file.\n"); exit(1); } exit(0); } ], [aq_windoze_path="`cat conf.winpath`"], [AC_MSG_ERROR(Could not determine path for $1)], [aq_windoze_path="$2"; AC_MSG_RESULT([Crosscompiling, assuming $2])] ) LIBS="${save_LIBS}" rm -f conf.winpath ]) AC_DEFUN([AQ_WINDOZE_GETPATH_MINGW], [ dnl IN: dnl - $1: type of path to get: dnl - windows: windows path dnl - system: windows/system directory dnl - home: users home directory dnl - $2: default value dnl OUT: dnl - aq_windoze_path: path retrieved dnl rm -f conf.winpath LIBS="${LIBS} -lshfolder" AC_TRY_RUN([ #include #include #include #include #include int main (){ char buffer[260]; char buffer2[260+2]; const char *choice = "$1"; char *p; char *tp; FILE *f; int lastWasSlash; buffer[0]=0; if (strlen("$2")) { if (strlen("$2")>=sizeof(buffer)) { printf("path is too long ($2)\n"); exit(1); } strcpy(buffer, "$2"); } else { if (strcasecmp(choice, "windows")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "system")==0) { GetSystemDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "home")==0) { GetWindowsDirectory(buffer, sizeof(buffer)); } else if (strcasecmp(choice, "program_files") == 0) { SHGetFolderPath(NULL, CSIDL_PROGRAM_FILES, NULL, 0, buffer); } else if (strcasecmp(choice, "common_appdata") == 0) { SHGetFolderPath(NULL, CSIDL_COMMON_APPDATA, NULL, 0, buffer); } else { printf("Unknown type \"$1\"\n"); exit(1); } } /* create mingw path */ tp=buffer2; p=buffer; if (strlen(buffer)>1) { if (buffer[1]==':') { *tp='/'; tp++; *tp=buffer[0]; tp++; p+=2; } } lastWasSlash=0; while(*p) { if (*p=='\\\\' || *p=='/') { if (!lastWasSlash) { *tp='/'; tp++; lastWasSlash=1; } } else { lastWasSlash=0; *tp=*p; tp++; } p++; } /* while */ *tp=0; f=fopen("conf.winpath", "w+"); if (!f) { printf("Could not create file conf.winpath\n"); exit(1); } fprintf(f, "%s", buffer2); if (fclose(f)) { printf("Could not close file.\n"); exit(1); } exit(0); } ], [aq_windoze_path=`cat conf.winpath`], [AC_MSG_ERROR(Could not determine path for $1)], [aq_windoze_path="$2"; AC_MSG_RESULT([Crosscompiling, assuming $2])] ) LIBS="${save_LIBS}" rm -f conf.winpath ]) AC_DEFUN([ACX_WINDOWS_PATHS],[ dnl IN: dnl - AC_CANONICAL_SYSTEM muste be called before dnl OUT: dnl Variables (subst): dnl WIN_PATH_HOME : path and name of the Windoze home folder dnl WIN_PATH_HOME_MINGW : path and name of the Windoze home folder dnl WIN_PATH_WINDOWS : path and name of the Windoze system folder dnl WIN_PATH_WINDOWS_MINGW : path and name of the Windoze system folder dnl WIN_PATH_SYSTEM : path and name of the Windoze folder dnl WIN_PATH_SYSTEM_MINGW : path and name of the Windoze folder dnl WIN_PATH_PROGRAM_FILES dnl WIN_PATH_PROGRAM_FILES_MINGW dnl WIN_PATH_COMMON_APPDATA dnl WIN_PATH_COMMON_APPDATA_MINGW dnl Defines: dnl WIN_PATH_HOME : path and name of the Windoze home folder dnl WIN_PATH_WINDOWS : path and name of the Windoze system folder dnl WIN_PATH_SYSTEM : path and name of the Windoze folder dnl WIN_PATH_PROGRAM_FILES : path of the program files folder dnl WIN_PATH_COMMON_APPDATA : The directory containing application data for all users # presets AC_ARG_WITH(home-path, [ --with-home-path=DIR specify the home directory for a user], [aq_windoze_path_home="$withval"]) AC_ARG_WITH(system-path, [ --with-system-path=DIR specify the system directory], [aq_windoze_path_system="$withval"]) AC_ARG_WITH(windows-path, [ --with-windows-path=DIR specify the windows directory], [aq_windoze_path_windows="$withval"]) # home directory AC_MSG_CHECKING([for windoze home path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_home, [ AQ_WINDOZE_GETPATH(home, [$aq_windoze_path_home]) gwenhywfar_cv_path_home="$aq_windoze_path" ]) WIN_PATH_HOME="$gwenhywfar_cv_path_home" AC_MSG_RESULT([$WIN_PATH_HOME]) AC_MSG_CHECKING([for windoze home path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_home_mingw, [ AQ_WINDOZE_GETPATH_MINGW(home, [$aq_windoze_path_home]) gwenhywfar_cv_path_home_mingw="$aq_windoze_path" ]) WIN_PATH_HOME_MINGW="$gwenhywfar_cv_path_home_mingw" AC_MSG_RESULT([$WIN_PATH_HOME_MINGW]) # windows directory AC_MSG_CHECKING([for windoze windows path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_windows, [ AQ_WINDOZE_GETPATH(windows, [$aq_windoze_path_windows]) gwenhywfar_cv_path_windows="$aq_windoze_path" ]) WIN_PATH_WINDOWS="$gwenhywfar_cv_path_windows" AC_MSG_RESULT([$WIN_PATH_WINDOWS]) AC_MSG_CHECKING([for windoze windows path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_windows_mingw, [ AQ_WINDOZE_GETPATH_MINGW(windows, [$aq_windoze_path_windows]) gwenhywfar_cv_path_windows_mingw="$aq_windoze_path" ]) WIN_PATH_WINDOWS_MINGW="$gwenhywfar_cv_path_windows_mingw" AC_MSG_RESULT([$WIN_PATH_WINDOWS_MINGW]) # windows system directory AC_MSG_CHECKING([for windoze system path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_system, [ AQ_WINDOZE_GETPATH(system, [$aq_windoze_path_system]) gwenhywfar_cv_path_system="$aq_windoze_path" ]) WIN_PATH_SYSTEM="$gwenhywfar_cv_path_system" AC_MSG_RESULT([$WIN_PATH_SYSTEM]) AC_MSG_CHECKING([for windoze system path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_system_mingw, [ AQ_WINDOZE_GETPATH_MINGW(system, [$aq_windoze_path_system]) gwenhywfar_cv_path_system_mingw="$aq_windoze_path" ]) WIN_PATH_SYSTEM_MINGW="$gwenhywfar_cv_path_system_mingw" AC_MSG_RESULT([$WIN_PATH_SYSTEM_MINGW]) # program files directory AC_MSG_CHECKING([for program files path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_programfiles, [ AQ_WINDOZE_GETPATH(program_files, [$aq_windoze_path_system]) gwenhywfar_cv_path_programfiles="$aq_windoze_path" ]) WIN_PATH_PROGRAM_FILES="$gwenhywfar_cv_path_programfiles" AC_MSG_RESULT([$WIN_PATH_PROGRAM_FILES]) AC_MSG_CHECKING([for program files path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_programfiles_mingw, [ AQ_WINDOZE_GETPATH_MINGW(program_files, [$aq_windoze_path_system]) gwenhywfar_cv_path_programfiles_mingw="$aq_windoze_path" ]) WIN_PATH_PROGRAM_FILES_MINGW="$gwenhywfar_cv_path_programfiles_mingw" AC_MSG_RESULT([$WIN_PATH_PROGRAM_FILES_MINGW]) # common application data directory AC_MSG_CHECKING([for common app data path (program)]) AC_CACHE_VAL(gwenhywfar_cv_path_commonappdata, [ AQ_WINDOZE_GETPATH(common_appdata, [$aq_windoze_path_system]) gwenhywfar_cv_path_commonappdata="$aq_windoze_path" ]) WIN_PATH_COMMON_APPDATA="$gwenhywfar_cv_path_commonappdata" AC_MSG_RESULT([$WIN_PATH_COMMON_APPDATA]) AC_MSG_CHECKING([for common app data path (mingw)]) AC_CACHE_VAL(gwenhywfar_cv_path_commonappdata_mingw, [ AQ_WINDOZE_GETPATH_MINGW(common_appdata, [$aq_windoze_path_system]) gwenhywfar_cv_path_commonappdata_mingw="$aq_windoze_path" ]) WIN_PATH_COMMON_APPDATA_MINGW="$gwenhywfar_cv_path_commonappdata_mingw" AC_MSG_RESULT([$WIN_PATH_COMMON_APPDATA_MINGW]) # finish variables AC_SUBST(WIN_PATH_HOME) AC_DEFINE_UNQUOTED(WIN_PATH_HOME, "$WIN_PATH_HOME", [home path]) AC_SUBST(WIN_PATH_HOME_MINGW) AC_SUBST(WIN_PATH_WINDOWS) AC_DEFINE_UNQUOTED(WIN_PATH_WINDOWS, "$WIN_PATH_WINDOWS", [windows path]) AC_SUBST(WIN_PATH_WINDOWS_MINGW) AC_SUBST(WIN_PATH_SYSTEM) AC_DEFINE_UNQUOTED(WIN_PATH_SYSTEM, "$WIN_PATH_SYSTEM", [system path]) AC_SUBST(WIN_PATH_SYSTEM_MINGW) AC_SUBST(WIN_PATH_PROGRAM_FILES) AC_DEFINE_UNQUOTED(WIN_PATH_PROGRAM_FILES, "$WIN_PATH_PROGRAM_FILES", [program files path]) AC_SUBST(WIN_PATH_PROGRAM_FILES_MINGW) AC_SUBST(WIN_PATH_COMMON_APPDATA) AC_DEFINE_UNQUOTED(WIN_PATH_COMMON_APPDATA, "$WIN_PATH_COMMON_APPDATA", [common app data path]) AC_SUBST(WIN_PATH_COMMON_APPDATA_MINGW) ]) pcsc-cyberjack-3.99.5final.SP03/m4/pcsc.m40000644000175000001440000000614311656535656016452 0ustar sctusers# pcsc.m4 # (c) 2010 Martin Preuss # This function checks if PC/SC is wanted AC_DEFUN([AQ_CHECK_PCSC],[ dnl PREREQUISITES: dnl - AQ_CHECK_OS must becalled before dnl IN: dnl nothing dnl OUT: dnl Variables: dnl pcsc_libraries: Path to the PC/SC libraries dnl pcsc_lib: PC/SC libraries to link against dnl pcsc_includes: Path to the PC/SC includes dnl have_pcsc: "yes" if pc/sc is available dnl Defines: if test "$OSYSTEM" = "windows" ; then pcsc_libraries="" pcsc_lib="-lwinscard" have_pcsc="yes" elif test "$OSYSTEM" = "osx" ; then AC_MSG_CHECKING(for pcsc includes) pcsc_includes="-I/System/Library/Frameworks/PCSC.framework/Headers" AC_MSG_RESULT($pcsc_includes) AC_MSG_CHECKING(for pcsc libs) pcsc_libraries="" pcsc_lib="-framework PCSC" AC_MSG_RESULT($pcsc_libraries ${pcsc_lib}) have_pcsc="yes" else AC_MSG_CHECKING(if PC/SC should be used) AC_ARG_ENABLE(pcsc, [ --enable-pcsc enable PC/SC driver (default=yes)], enable_pcsc="$enableval", enable_pcsc="yes") AC_MSG_RESULT($enable_pcsc) if test "$enable_pcsc" != "no"; then dnl ******* pcsc includes *********** AC_MSG_CHECKING(for pcsc includes) AC_ARG_WITH(pcsc-includes, [ --with-pcsc-includes=DIR adds pcsc include path], [pcsc_search_inc_dirs="$withval"], [pcsc_search_inc_dirs="/usr/include\ /usr/local/include\ /usr/local/pcsc/include\ /usr/pcsc/include\ "]) dnl search for pcsc AQ_SEARCH_FOR_PATH([PCSC/winscard.h],[$pcsc_search_inc_dirs]) if test -n "$found_dir" ; then pcsc_includes="-I$found_dir -I$found_dir/PCSC" fi AC_MSG_RESULT($pcsc_includes) dnl ******* pcsc lib *********** AC_MSG_CHECKING(for pcsc libs) AC_ARG_WITH(pcsc-libname, [ --with-pcsc-libname=NAME specify the name of the pcsc library], [pcsc_search_lib_names="$withval"], [pcsc_search_lib_names="libpcsclite.so \ libpcsclite.so.* \ libpcsc.a"]) AC_ARG_WITH(pcsc-libs, [ --with-pcsc-libs=DIR adds pcsc library path], [pcsc_search_lib_dirs="$withval"], [pcsc_search_lib_dirs="/usr/lib64 \ /usr/lib \ /usr/local/lib \ /usr/lib/pcsc/lib \ /usr/local/pcsc/lib \ /lib"]) dnl search for pcsc libs for d in $pcsc_search_lib_dirs; do AQ_SEARCH_FILES("$d",$pcsc_search_lib_names) if test -n "$found_file" ; then pcsc_libraries="-L$d" pcsc_lib="-l`echo $found_file | sed 's/lib//;s/\.so*//;s/\.a//'`" break fi done if test -z "$pcsc_libraries" -o -z "$pcsc_lib" -o -z "$pcsc_includes"; then AC_MSG_WARN([No pcsc libraries found, SCard driver will not be available.]) have_pcsc="no" else AC_MSG_RESULT($pcsc_libraries ${pcsc_lib}) have_pcsc="yes" fi # end of "if enable-pcsc" fi # end of "if linux" fi AC_SUBST(pcsc_includes) AC_SUBST(pcsc_libraries) AC_SUBST(pcsc_lib) ]) pcsc-cyberjack-3.99.5final.SP03/m4/Makefile.in0000644000175000001440000003020211660201015017264 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = m4 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ EXTRA_DIST = \ acx_compile_warn.m4 \ as-scrub-include.m4 \ libusb.m4 \ libsysfs.m4 \ os.m4 \ searchfiles.m4 \ windoze.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 ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu m4/Makefile'; \ $(am__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 $(am__aclocal_m4_deps): 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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .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: pcsc-cyberjack-3.99.5final.SP03/m4/README0000644000175000001440000000034611656535656016137 0ustar sctusers# $Id: README 284 2004-03-29 14:56:51Z aquamaniac $ # (c) 2002 Martin Preuss This folder includes some usefull macros for the automake/autoconf tools. This dramatically simplifies the "configure.in" file. pcsc-cyberjack-3.99.5final.SP03/m4/libusb.m40000644000175000001440000000346311656535656017004 0ustar sctusers# $Id: libusb.m4 31 2005-01-26 00:54:58Z aquamaniac $ # (c) 2002 Martin Preuss # This function checks for libusb AC_DEFUN([AC_LIBUSB], [ dnl searches for libusb dnl Arguments: none dnl Returns: libusb_dir dnl libusb_libs dnl libusb_includes dnl have_libusb AC_MSG_CHECKING(if libusb support desired) AC_ARG_ENABLE(libusb, [ --enable-libusb enable libusb support (default=yes)], enable_libusb="$enableval", enable_libusb="yes") AC_MSG_RESULT($enable_libusb) have_libusb="no" libusb_dir="" libusb_libs="" libusb_includes="" if test "$enable_libusb" != "no"; then AC_MSG_CHECKING(for libusb) AC_ARG_WITH(libusb-dir, [ --with-libusb-dir=DIR uses libusb from given dir], [lcc_dir="$withval"], [lcc_dir="${prefix} \ /usr/local \ /usr \ /"]) for li in $lcc_dir; do if test -x "$li/bin/libusb-config"; then libusb_dir="$li"; break fi done if test -z "$libusb_dir"; then AC_MSG_RESULT([not found ]) else AC_MSG_RESULT($libusb_dir) AC_MSG_CHECKING(for USB libs) if test -n "${LIBUSB_LIBS}"; then libusb_libs="${LIBUSB_LIBS}" else libusb_libs="`$libusb_dir/bin/libusb-config --libs`" fi AC_MSG_RESULT($libusb_libs) AC_MSG_CHECKING(for USB includes) if test -n "${LIBUSB_INCLUDES}"; then libusb_includes="${LIBUSB_INCLUDES}" else libusb_includes="`$libusb_dir/bin/libusb-config --cflags`" fi if test -z "$libusb_includes"; then AC_MSG_RESULT([]) else AC_MSG_RESULT($libusb_includes) fi have_libusb="yes" fi dnl end of "if enable-libusb" fi AC_SUBST(libusb_dir) AC_SUBST(libusb_libs) AC_SUBST(libusb_includes) ]) pcsc-cyberjack-3.99.5final.SP03/m4/libtool.m40000644000175000001440000077317611660201010017150 0ustar sctusers# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 56 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl _LT_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. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "X$" | $Xsed -e "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\[$]0 --fallback-echo"')dnl " lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` ;; esac _LT_OUTPUT_LIBTOOL_INIT ]) # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) cat >"$CONFIG_LT" <<_LTEOF #! $SHELL # Generated by $as_me. # Run this file to recreate a libtool stub with the current configuration. lt_cl_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2008 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. if test "$no_create" != yes; then lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) fi ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_XSI_SHELLFNS sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES # -------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(whole_archive_flag_spec, $1)='' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX # ----------------------- # 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. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_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_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [ifdef([AC_DIVERSION_NOTICE], [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], [AC_DIVERT_PUSH(NOTICE)]) $1 AC_DIVERT_POP ])# _LT_SHELL_INIT # _LT_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. m4_defun([_LT_PROG_ECHO_BACKSLASH], [_LT_SHELL_INIT([ # Check that we are running under the correct shell. SHELL=${CONFIG_SHELL-/bin/sh} case X$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` ;; esac ECHO=${lt_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 <<_LT_EOF [$]* _LT_EOF exit 0 fi # 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 if test -z "$lt_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 && { 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. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" fi AC_SUBST(lt_ECHO) ]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that does not interpret backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line __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*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) 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*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; 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" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [AC_CHECK_TOOL(AR, ar, false) test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1]) AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__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 m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "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 -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; 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 # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif 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 ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__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_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac 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]) 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' ;; aix[[4-9]]*) 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*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' ;; esac ;; 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* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # 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}${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 # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir # 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' ;; 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=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux 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 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 shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; 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*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method == "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [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_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_save_LIBS="$LIBS" lt_save_CFLAGS="$CFLAGS" LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS="$lt_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 -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= AC_MSG_CHECKING([for $compiler option to produce PIC]) m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.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. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $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' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; freebsd1*) _LT_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_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -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_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_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_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE(int foo(void) {}, _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' ) LDFLAGS="$save_LDFLAGS" else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_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_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then _LT_TAGVAR(archive_cmds_need_lc, $1)=no else _LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [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]]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [fix_srcfile_path], [1], [Fix the shell variable $srcfile for the compiler]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_PROG_CXX # ------------ # Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ # compiler, we have our own version here. m4_defun([_LT_PROG_CXX], [ pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) 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 else _lt_caught_CXX_error=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_CXX dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_CXX], []) # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [AC_REQUIRE([_LT_PROG_CXX])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_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_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_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_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd[[12]]*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then _LT_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_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_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_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_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" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='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_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared -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_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ]) dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case $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 "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi ;; *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_PROG_F77 # ------------ # Since AC_PROG_F77 is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_F77], [ pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) AC_PROG_F77 if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_F77 dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_F77], []) # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_REQUIRE([_LT_PROG_F77])dnl AC_LANG_PUSH(Fortran 77) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${F77-"f77"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_PROG_FC # ----------- # Since AC_PROG_FC is broken, in that it returns the empty string # if there is no fortran compiler, we have our own version here. m4_defun([_LT_PROG_FC], [ pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) AC_PROG_FC if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi popdef([AC_MSG_ERROR]) ])# _LT_PROG_FC dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([_LT_PROG_FC], []) # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_REQUIRE([_LT_PROG_FC])dnl AC_LANG_PUSH(Fortran) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC CC=${FC-"f95"} compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC="$lt_save_CC" ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC GCC= CC=${RC-"windres"} compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC="$lt_save_CC" ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_XSI_SHELLFNS # --------------------- # Bourne and XSI compatible variants of some useful shell functions. m4_defun([_LT_PROG_XSI_SHELLFNS], [case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $[*] )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } dnl func_dirname_and_basename dnl A portable version of this function is already defined in general.m4sh dnl so there is no need for it here. # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[[^=]]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$[@]"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]+=\$[2]" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$[1]=\$$[1]\$[2]" } _LT_EOF ;; esac ]) pcsc-cyberjack-3.99.5final.SP03/m4/ltoptions.m40000644000175000001440000002724211660201010017521 0ustar sctusers# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [0], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [pic_mode="$withval"], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) pcsc-cyberjack-3.99.5final.SP03/m4/searchfiles.m40000644000175000001440000000166111656535656020012 0ustar sctusers# $Id: searchfiles.m4 945 2005-12-01 19:57:10Z aquamaniac $ # (c) 2002 Martin Preuss # These functions search for files AC_DEFUN([AQ_SEARCH_FOR_PATH],[ dnl searches for a file in a path dnl $1 = file to search dnl $2 = paths to search in dnl returns the directory where the file is found (found_dir) found_dir="" ls=$1 ld="$2" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done ]) AC_DEFUN([AQ_SEARCH_FILES],[ dnl searches a dir for some files dnl $1 = path where to search dnl $2 = files to find dnl returns the name of the file found (found_file) found_file="" ls="$1" ld="$2" lf="" for li in $ld; do lf2="`ls -d ${ls}/${li} 2>/dev/null`" lf="$lf $lf2" done for li in $lf; do if test -r "$li"; then found_file=`basename "$li"` break fi done ]) pcsc-cyberjack-3.99.5final.SP03/m4/ltversion.m40000644000175000001440000000127511660201010017511 0ustar sctusers# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # Generated from ltversion.in. # serial 3012 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.2.6]) m4_define([LT_PACKAGE_REVISION], [1.3012]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.6' macro_revision='1.3012' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) pcsc-cyberjack-3.99.5final.SP03/m4/os.m40000644000175000001440000000576411656535656016153 0ustar sctusers# $Id: os.m4 601 2004-11-19 22:27:24Z aquamaniac $ # (c) 2002 Martin Preuss # These functions guess your operation system AC_DEFUN([AQ_CHECK_OS],[ dnl IN: dnl - AC_CANONICAL_SYSTEM muste be called before dnl OUT: dnl Variables: dnl OSYSTEM: Short name of your system (subst) dnl OS_TYPE: either "posix" or "windows" (subst) dnl MAKE_DLL_TARGET: under windows this is set to "dll" (subst) dnl INSTALL_DLL_TARGET: under Windows this is set to "dll-install" (subst) dnl Defines: dnl OS_NAME: full name of your system dnl OS_SHORTNAME: short name of your system dnl Depending on your system one of the following is defined in addition: dnl OS_LINUX, OS_OPENBSD, OS_FREEBSD, OS_BEOS, OS_WIN32 # check for OS AC_MSG_CHECKING([target system type]) OSYSTEM="" OS_TYPE="" MAKE_DLL_TARGET="" INSTALL_DLL_TARGET="" AC_DEFINE_UNQUOTED(OS_NAME,"$target", [target system]) case "$target" in *-linux*) OSYSTEM="linux" AC_DEFINE(OS_LINUX,1,[if linux is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-solaris*) OSYSTEM="solaris" AC_DEFINE(OS_SOLARIS,1,[if Solaris is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-darwin*) OSYSTEM="osx" AC_DEFINE(OS_DARWIN,1,[if Apple Darwin is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-openbsd*) OSYSTEM="openbsd" AC_DEFINE(OS_OPENBSD,1,[if OpenBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-freebsd*) OSYSTEM="freebsd" AC_DEFINE(OS_FREEBSD,1,[if FreeBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-netbsd*) OSYSTEM="netbsd" AC_DEFINE(OS_NETBSD,1,[if NetBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-beos*) OSYSTEM="beos" AC_DEFINE(OS_BEOS,1,[if BeOS is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-win32*) OSYSTEM="windows" AC_DEFINE(OS_WIN32,1,[if WIN32 is used]) OS_TYPE="windows" AC_DEFINE_UNQUOTED(BUILDING_DLL,1,[if DLL is to be built]) MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-mingw32*) OSYSTEM="windows" AC_DEFINE(OS_WIN32,1,[if WIN32 is used]) OS_TYPE="windows" AC_DEFINE_UNQUOTED(BUILDING_DLL,1,[if DLL is to be built]) MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-palmos*) OSYSTEM="palmos" AC_DEFINE(OS_PALMOS,1,[if PalmOS is used]) OS_TYPE="palmos" ;; *) AC_MSG_WARN([Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue.]) OSYSTEM="unknown" OS_TYPE="posix" AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) ;; esac AC_SUBST(OSYSTEM) AC_DEFINE_UNQUOTED(OS_SHORTNAME,"$OSYSTEM",[target system]) AC_SUBST(OS_TYPE) AC_DEFINE_UNQUOTED(OS_TYPE,"$OS_TYPE",[system type]) AC_SUBST(MAKE_DLL_TARGET) AC_SUBST(INSTALL_DLL_TARGET) AC_MSG_RESULT($OS_TYPE) ]) pcsc-cyberjack-3.99.5final.SP03/m4/acx_compile_warn.m40000644000175000001440000000445011656535656021033 0ustar sctusers# Compile warning arguments to ./configure # by Christian Stimming 2003-11-19 dnl ACX_COMPILE_WARN() dnl Add arguments for compile warnings and debug options to ./configure. dnl AC_DEFUN([ACX_COMPILE_WARN], [ dnl For enabling of debugging flags/code AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging code enabled, default=no], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -g" CFLAGS="${CFLAGS} -g" LDFLAGS="${LDFLAGS} -g" AC_DEFINE(DEBUG,1,[Define if you want debugging code enabled.]) ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ]) dnl If this is gcc, then ... if test ${GCC}x = yesx; then dnl Enable all warnings AC_ARG_ENABLE(warnings, [ --enable-warnings enable compilation warnings, default=yes], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ;; all) CXXFLAGS="${CXXFLAGS} -Wall -pedantic -ansi" CFLAGS="${CFLAGS} -Wall -pedantic -ansi" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-warnings) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ]) dnl For gcc >= 3.4.x, specifically enable the new warning switch dnl -Wdeclaration-after-statement in order to preserve source code dnl compatibility to gcc 2.95 and other compilers. GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x CFLAGS="${CFLAGS} -Wdeclaration-after-statement" fi fi dnl For enabling error on warnings AC_ARG_ENABLE(error-on-warning, [ --enable-error-on-warning treat all compile warnings as errors, default=no], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Werror" CFLAGS="${CFLAGS} -Werror" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-error-on-warning) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" ]) fi ]) pcsc-cyberjack-3.99.5final.SP03/m4/libsysfs.m40000644000175000001440000000171711656535656017362 0ustar sctusersAC_DEFUN([AC_LIBSYSFS], [ dnl searches for libusysfs dnl IN: dnl nothing dnl OUT: dnl Variables: dnl libsysfs_libs : stuff for LDFLAGS (or LIBADD) dnl libsysfs_includes : includes (for CFLAGS) dnl have_libsysfs : "yes" if libsysfs is supported have_libsysfs="no" libsysfs_libs="" libsysfs_includes="" AC_CHECK_HEADER([sysfs/libsysfs.h], [ AC_CHECK_LIB(sysfs,sysfs_get_mnt_path,[ have_libsysfs="yes" libsysfs_libs="-lsysfs" AC_SUBST(libsysfs_libs) AC_SUBST(libsysfs_includes) ],AC_MSG_RESULT([libsysfs not found.])) ], [AC_MSG_RESULT([sysfs/libsysfs.h not found.])]) if test "x$have_libsysfs" = "xyes"; then AC_CHECK_MEMBERS([struct sysfs_driver.attrlist], [HAVE_SYSFS2="yes"], [], [#include ]) if test "x$HAVE_SYSFS2" = "xyes"; then AC_DEFINE_UNQUOTED(HAVE_SYSFS2, 1, [whether sysfs2 is available]) fi fi ]) pcsc-cyberjack-3.99.5final.SP03/m4/fox.m40000644000175000001440000000537311656535656016322 0ustar sctusers# $Id: fox.m4,v 1.4 2006/01/18 09:44:19 cstim Exp $ # (c) 2009 Martin Preuss # These functions search for FOX AC_DEFUN([AQ_CHECK_FOX],[ dnl PREREQUISITES: dnl AQ_CHECK_OS must be called before this dnl IN: dnl All variables which already have a value will not be altered dnl OUT: dnl Variables: dnl have_fox - set to "yes" if FOX exists dnl fox_includes - path to includes dnl fox_libs - path to libraries dnl Defines: dnl HAVE_FOX AC_MSG_CHECKING(if FOX is allowed) AC_ARG_ENABLE(fox, [ --enable-fox enable fox (default=yes)], enable_fox="$enableval", enable_fox="yes") AC_MSG_RESULT($enable_fox) if test "$enable_fox" = "no"; then fox_libs="" fox_includes="" have_fox="no" else dnl paths for fox includes AC_MSG_CHECKING(for fox includes) AC_ARG_WITH(fox-includes, [ --with-fox-includes=DIR uses fox includes from given dir], [local_fox_includes="$withval"], [local_fox_includes="\ /usr/include/fox-1.6 \ /usr/local/include/fox-1.6 \ /opt/fox-1.6/include \ " ] ) if test -z "$fox_includes"; then for i in $local_fox_includes; do if test -z "$fox_includes"; then if test -f "$i/fxver.h"; then fox_includes="-I$i" break; fi fi done fi if test -n "$fox_includes"; then AC_MSG_RESULT($fox_includes) else AC_MSG_RESULT(not found) fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi dnl paths for fox libs AC_MSG_CHECKING(for fox libraries) AC_ARG_WITH(fox-libs, [ --with-fox-libs=SPEC uses given fox libs ], [fox_libs="$withval"], [ AC_LANG(C++) SAVED_LDFLAGS=$LDFLAGS SAVED_CXXFLAGS=$CXXFLAGS LDFLAGS="$LDFLAGS -lFOX-1.6" CXXFLAGS="$CXXFLAGS $fox_includes" AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include ], [FX::FXDate dummy])], [fox_libs="-lFOX-1.6"]) LDFLAGS=$SAVED_LDFLAGS CXXFLAGS=$SAVED_CXXFLAGS ] ) if test -z "$fox_libs"; then AQ_SEARCH_FOR_PATH([$qt_searchname],[$local_fox_libs]) if test -n "$found_dir" ; then fox_libs="-L$found_dir -lFOX-1.6" test "$OSYSTEM" = "freebsd" && \ fox_libs="$fox_libs" fi fi if test -n "$fox_libs"; then AC_MSG_RESULT($fox_libs) else AC_MSG_RESULT(not found) fi # check if all necessary fox components where found if test -z "$fox_includes" || \ test -z "$fox_libs"; then fox_libs="" fox_includes="" have_fox="no" else have_fox="yes" AC_DEFINE(HAVE_FOX, 1, [whether FOX is available]) fi dnl end of if "$enable_fox" fi AS_SCRUB_INCLUDE(fox_includes) AC_SUBST(fox_libs) AC_SUBST(fox_includes) ]) pcsc-cyberjack-3.99.5final.SP03/m4/libxml2.m40000644000175000001440000000457411656535656017101 0ustar sctusers# $Id: xml2.m4,v 1.4 2006/01/18 09:44:19 cstim Exp $ # (c) 2009 Martin Preuss # These functions search for FOX AC_DEFUN([AQ_CHECK_XML2],[ dnl PREREQUISITES: dnl AQ_CHECK_OS must be called before this dnl IN: dnl All variables which already have a value will not be altered dnl OUT: dnl Variables: dnl have_xml2 - set to "yes" if XML2 exists dnl libxml2_includes - path to includes dnl libxml2_libs - path to libraries dnl Defines: dnl HAVE_XML2 AC_MSG_CHECKING(if XML2 is allowed) AC_ARG_ENABLE(xml2, [ --enable-xml2 enable xml2 (default=yes)], enable_xml2="$enableval", enable_xml2="yes") AC_MSG_RESULT($enable_xml2) if test "$enable_xml2" = "no"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else dnl paths for xml2 includes AC_MSG_CHECKING(for xml2 includes) AC_ARG_WITH(xml2-includes, [ --with-xml2-includes=DIR uses xml2 includes from given dir], [local_libxml2_includes="$withval"], [local_libxml2_includes="\ /usr/include/libxml2 \ /usr/local/include/libxml2 \ /opt/libxml2/include \ " ] ) if test -z "$libxml2_includes"; then for i in $local_libxml2_includes; do if test -z "$libxml2_includes"; then if test -f "$i/libxml/tree.h"; then libxml2_includes="-I$i" break; fi fi done fi if test -n "$libxml2_includes"; then AC_MSG_RESULT($libxml2_includes) else AC_MSG_RESULT(not found) fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi dnl paths for xml2 libs AC_MSG_CHECKING(for xml2 libraries) AC_ARG_WITH(xml2-libs, [ --with-xml2-libs=SPEC uses given xml2 libs ], [libxml2_libs="$withval"], [libxml2_libs=""] ) if test -z "$libxml2_libs"; then libxml2_libs="-lxml2" fi if test -n "$libxml2_libs"; then AC_MSG_RESULT($libxml2_libs) else AC_MSG_RESULT(not found) fi # check if all necessary xml2 components where found if test -z "$libxml2_includes" || \ test -z "$libxml2_libs"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else have_xml2="yes" AC_DEFINE(HAVE_LIBXML2, 1, [whether XML2 is available]) fi dnl end of if "$enable_xml2" fi AS_SCRUB_INCLUDE(libxml2_includes) AC_SUBST(libxml2_libs) AC_SUBST(libxml2_includes) ]) pcsc-cyberjack-3.99.5final.SP03/configure.ac0000644000175000001440000004507711660177742017230 0ustar sctusers# -*- Autoconf -*- # Process this file with autoconf to produce a configure script. # y ###------------------------------------------------------------------------- # # The following line makes sure that this file is always touched when a new # revision is checked out. # # # $Revision$ # # info CYBERJACK_BUGREPORT_ADDR="" AC_PREREQ(2.61) AC_INIT AC_CANONICAL_TARGET([]) AC_CONFIG_SRCDIR([cjeca32/BaseCommunication.cpp]) AC_CONFIG_HEADERS([config.h]) ###------------------------------------------------------------------------- # # versions # CYBERJACK_VERSION_MAJOR=3 CYBERJACK_VERSION_MINOR=99 CYBERJACK_VERSION_PATCHLEVEL=5 CYBERJACK_VERSION_BUILD=0 dnl "stable", "rcX", "betaX", "cvs" CYBERJACK_VERSION_TAG="final.SP03" CYBERJACK_VERSION_FULL_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL-${CYBERJACK_VERSION_TAG}-r${CYBERJACK_VERSION_BUILD}" CYBERJACK_VERSION_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ###------------------------------------------------------------------------- # # SO version for cyberjack library # CYBERJACK_SO_CURRENT="6" CYBERJACK_SO_AGE="0" CYBERJACK_SO_REVISION="0" CYBERJACK_SO_EFFECTIVE="`echo \$(($CYBERJACK_SO_CURRENT-$CYBERJACK_SO_AGE))`" ###------------------------------------------------------------------------- # # Create release strings # case "$CYBERJACK_VERSION_TAG" in cvs|svn|git) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL.r${CYBERJACK_VERSION_BUILD}" ;; stable) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ;; *) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL${CYBERJACK_VERSION_TAG}" ;; esac AC_SUBST(CYBERJACK_VERSION_MAJOR) AC_SUBST(CYBERJACK_VERSION_MINOR) AC_SUBST(CYBERJACK_VERSION_PATCHLEVEL) AC_SUBST(CYBERJACK_VERSION_BUILD) AC_SUBST(CYBERJACK_VERSION_TAG) AC_SUBST(CYBERJACK_VERSION_FULL_STRING) AC_SUBST(CYBERJACK_VERSION_STRING) AC_SUBST(CYBERJACK_VERSION_RELEASE_STRING) AC_DEFINE_UNQUOTED(CYBERJACK_VERSION_MAJOR,$CYBERJACK_VERSION_MAJOR, [major version]) AC_DEFINE_UNQUOTED(CYBERJACK_VERSION_MINOR,$CYBERJACK_VERSION_MINOR, [minor version]) AC_DEFINE_UNQUOTED(CYBERJACK_VERSION_PATCHLEVEL,$CYBERJACK_VERSION_PATCHLEVEL, [patchlevel]) AC_DEFINE_UNQUOTED(CYBERJACK_VERSION_BUILD,$CYBERJACK_VERSION_BUILD, [build]) AC_DEFINE_UNQUOTED(CYBERJACK_VERSION_STRING,"$CYBERJACK_VERSION_STRING", [version string]) AC_DEFINE_UNQUOTED(CYBERJACK_VERSION_FULL_STRING,"$CYBERJACK_VERSION_FULL_STRING", [full version string]) AC_DEFINE_UNQUOTED(CYBERJACK_VERSION_TAG, "$CYBERJACK_VERSION_TAG", [tag]) AC_SUBST(CYBERJACK_SO_CURRENT) AC_SUBST(CYBERJACK_SO_REVISION) AC_SUBST(CYBERJACK_SO_AGE) AC_SUBST(CYBERJACK_SO_EFFECTIVE) AM_INIT_AUTOMAKE(ifd-cyberjack, $CYBERJACK_VERSION_RELEASE_STRING) ###------------------------------------------------------------------------- # check for OS AQ_CHECK_OS ###------------------------------------------------------------------------- # prefix handling AC_PREFIX_DEFAULT(/usr) if test "x$prefix" = "xNONE"; then prefix=$ac_default_prefix ac_configure_args="$ac_configure_args --prefix $prefix" fi AC_SUBST(prefix) ###------------------------------------------------------------------------- # # static/shared handling # AC_ENABLE_STATIC(no) AC_ENABLE_SHARED(yes) ###------------------------------------------------------------------------- # # Checks for programs. # AC_PROG_CC AC_PROG_CXX AC_PROG_OBJC AC_PROG_INSTALL AC_LIBTOOL_WIN32_DLL AC_LIBTOOL_RC AC_PROG_LIBTOOL AC_PROG_AWK AC_CHECK_PROG(SED,sed,sed) ACX_PTHREAD ###------------------------------------------------------------------------- # # Search for dlopen # LIBS="" AC_SEARCH_LIBS(dlopen, [c dl], [have_dlopen="yes"], [have_dlopen="no"]) if test "x${have_dlopen}" != "xyes"; then AC_MSG_ERROR([ *** You are missing support for dynamic loading of modules. *** Therefore cjgeldkarte will not work.]) else AC_DEFINE(WITH_DLLIB, 1, [whether DL library is available]) AC_DEFINE(HAS_DLOPEN, 1, [whether function dlopen is available]) if test "$LIBS" = "-lc"; then LIBS="" fi dl_libs="$LIBS" LIBS="" fi AC_SUBST(dl_libs) ###------------------------------------------------------------------------- # # Checks for header files. # AC_HEADER_STDC #AC_CHECK_HEADERS([regex.h]) AC_CHECK_HEADERS([pthread.h]) ###------------------------------------------------------------------------- # # Checks for typedefs, structures, and compiler characteristics. # AC_C_CONST ###------------------------------------------------------------------------- # # Checks for library functions. # ###------------------------------------------------------------------------- # # OS dependant settings # cyberjack_ldflags="-L\${libdir}" cyberjack_libs="-lcyberjack" cyberjack_internal_libname="libctapi-cyberjack.la" cyberjack_headerdir_am="\$(includedir)" cyberjack_headerdir="\${includedir}" cyberjack_config_file="\${sysconfdir}/cyberjack.conf" case "$OS_TYPE" in windows) cyberjack_sys_is_windows=1 ;; *) cyberjack_sys_is_windows=0 ;; esac if test "$OSYSTEM" = "osx"; then COCOA_FRAMEWORK="-framework Cocoa" FOUNDATION_FRAMEWORK="-framework CoreFoundation" SYSCONF_FRAMEWORK="-framework SystemConfiguration" IOKIT_FRAMEWORK="-framework IOKit" cyberjack_config_file="/etc/cyberjack.conf" fi AM_CONDITIONAL(IS_WINDOWS, [test "$OS_TYPE" = "windows"]) AM_CONDITIONAL(IS_OSX, [test "$OSYSTEM" = "osx"]) AM_CONDITIONAL(IS_LINUX, [test "$OSYSTEM" = "linux"]) AC_SUBST(cyberjack_sys_is_windows) AC_SUBST(cyberjack_config_file) AC_SUBST(cyberjack_platform_def) AC_SUBST(COCOA_FRAMEWORK) AC_SUBST(FOUNDATION_FRAMEWORK) AC_SUBST(SYSCONF_FRAMEWORK) AC_SUBST(IOKIT_FRAMEWORK) ###------------------------------------------------------------------------- AC_MSG_CHECKING(whether non-serial access is wanted) AC_ARG_ENABLE(mac-universal, AS_HELP_STRING([--enable-mac-universal], [Build Mac universal binaries]), enable_mac_universal=$enableval, enable_mac_universal="no") # # check for disable-nonserial # AC_MSG_CHECKING(whether non-serial access is wanted) AC_ARG_ENABLE(nonserial, [ --enable-nonserial enable non-serial (default=yes)], [ case "${enableval}" in yes) enable_nonserial="yes";; no) enable_nonserial="no";; *) AC_MSG_ERROR(bad value ${enableval} for --enable-nonserial);; esac ], enable_nonserial="yes") if test "$enable_nonserial" = "yes"; then AC_DEFINE(ENABLE_NONSERIAL, 1, [whether non-serial interfaces should be enabled]) fi AM_CONDITIONAL(ENABLE_NONSERIAL, [test "$enable_nonserial" = "yes"]) AC_MSG_RESULT($enable_nonserial) AC_SUBST(enable_nonserial) if test "$enable_nonserial" = "yes"; then ###------------------------------------------------------------------------- # # libUSB-1.0 # pkg_modules="libusb-1.0 >= 1.0.0" PKG_CHECK_MODULES(libusb, [$pkg_modules], [have_libusb="yes"], [have_libusb="no"]) if test "$have_libusb" = "yes"; then AC_DEFINE(USE_USB1, 1, [if libUSB-1.0 is available]) libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else ###------------------------------------------------------------------------- # # libusb-0.x # pkg_modules="libusb < 1.0.0" PKG_CHECK_MODULES(libusb, [$pkg_modules], [have_libusb="yes"], [have_libusb="no"]) if test "$have_libusb" = "yes"; then libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else AC_MSG_ERROR([ *** LibUSB not found, please install the packages libusb and *** libusb-devel (or libusb-dev on Debian).]) fi fi AC_SUBST(libusb_includes) AC_SUBST(libusb_libs) ###------------------------------------------------------------------------- # # HAL # AC_MSG_CHECKING(if HAL support desired) AC_ARG_ENABLE(hal, [ --enable-hal enable HAL support (default=yes)], enable_hal="$enableval", enable_hal="no") AC_MSG_RESULT($enable_hal) if test "$enable_hal" = "yes"; then pkg_modules="hal >= 0.5.0" PKG_CHECK_MODULES(hal, [$pkg_modules], [have_hal="yes"], [have_hal="no"]) if test "$have_hal" = "yes"; then AC_DEFINE(HAVE_HAL, 1, [if HAL is available]) hal_includes="$hal_CFLAGS" hal_libs="$hal_LIBS" fi fi fi AC_SUBST(hal_libs) AC_SUBST(hal_includes) # --------------------------------------------------------------------------- # check for PC/SC # AQ_CHECK_PCSC AM_CONDITIONAL(USE_PCSC, [test "$have_pcsc" = "yes"]) if test "$have_pcsc" != "yes"; then pcsc_includes="-I\$(top_srcdir)/include -I\$(top_srcdir)/include/PCSC" else AC_DEFINE(HAVE_PCSC, 1, [if PC/SC is available]) fi case "$OSYSTEM" in osx) cyberjack_ifd_filename="libifd-cyberjack.dylib" cyberjack_ifd_dropdir="/usr/libexec/SmartCardServices/drivers" # use our own PC/SC headers for MacOSX pcsc_includes="-I\$(top_srcdir)/include/macosx -I\$(top_srcdir)/include/macosx/PCSC" if test "x$enable_mac_universal" = "xyes" ; then #mac_version_min="-mmacosx-version-min=10.5" mac_arches="-arch i386" #mac_arches="-arch i386 -arch x86_64" #mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.6.sdk" #LDFLAGS="$LDFLAGS $mac_arches $mac_sysroot $mac_version_min" #CFLAGS="$CFLAGS $CFLAGS $mac_arches $mac_sysroot $mac_version_min" LDFLAGS="$LDFLAGS $mac_arches" CFLAGS="$CFLAGS $CFLAGS $mac_arches" CXXFLAGS="$CXXFLAGS $mac_arches" fi ;; linux) cyberjack_ifd_filename="libifd-cyberjack.so" cyberjack_ifd_dropdir="\$(libdir)/pcsc/drivers" ;; esac AC_ARG_WITH(usbdropdir, [ --with-usbdropdir pcsc bundle location], [ usbdropdir="${withval}" ], [ usbdropdir="${cyberjack_ifd_dropdir}" ] ) AC_SUBST(cyberjack_ifd_filename) AC_SUBST(usbdropdir) # --------------------------------------------------------------------------- # check for LibXML2 # AQ_CHECK_XML2 AM_CONDITIONAL(USE_XML2, [test "$have_libxml2" = "yes"]) ###------------------------------------------------------------------------- # Check for fox toolkit # AQ_CHECK_FOX AM_CONDITIONAL(WITH_FOX, [test "$have_fox" = "yes"]) ###------------------------------------------------------------------------- # # check for release # AC_MSG_CHECKING(whether this is an official release) AC_ARG_ENABLE(release, [ --enable-release make this an official release (default=no)], [ case "${enableval}" in yes) enable_release="yes";; no) enable_release="no";; *) AC_MSG_ERROR(bad value ${enableval} for --enable-release);; esac ], enable_release="no") if test "$enable_release" = "yes"; then STRIPALL="-s" else STRIPALL="" fi AC_SUBST(STRIPALL) AC_MSG_RESULT($enable_release) ###------------------------------------------------------------------------- # # check for pthread-based approach # AC_MSG_CHECKING(whether the threaded approach is wanted) AC_ARG_ENABLE(threads, [ --enable-threads enable threads (default=no)], [ case "${enableval}" in yes) enable_threads="yes";; no) enable_threads="no";; *) AC_MSG_ERROR(bad value ${enableval} for --enable-threads);; esac ], enable_threads="no") if test "$enable_threads" = "yes"; then AC_DEFINE_UNQUOTED(USE_THREADS, 1, [whether pthreads are to be used]) THREAD_LIBS="-lpthread" else THREAD_LIBS="" fi AC_SUBST(USE_THREADS) AC_SUBST(THREAD_LIBS) AC_MSG_RESULT($enable_threads) ###------------------------------------------------------------------------- # # check whether udev support is wanted # AC_ARG_ENABLE(udev, [ --enable-udev create udev files], [ ENABLE_UDEV="${enableval}" ], [ ENABLE_UDEV="yes" ] ) ###------------------------------------------------------------------------- # # GCC version (check for usability) # AC_MSG_CHECKING(if symbol visibility is supported) AC_ARG_ENABLE(visibility, [ --enable-visibility enable visibility (default=no)], enable_visibility="$enableval", enable_visibility="yes") AC_MSG_RESULT($enable_visibility) if test "$enable_visibility" = "yes"; then AC_MSG_CHECKING(if symbol visibility is supported) visibility_cflags="" case `$CC --version|head -n1|cut -f1 -d " "` in gcc | gcc-* | *-gcc | *-gcc-*) dnl Determine version number (watch out: the outside square dnl parenteses are vitally important here!) gccversion=["` ${CC} -dumpversion `"] case $gccversion in 4.*) # Activate -fvisibility=hidden only for explicit 4.x gcc # versions. We never now what future gcc's might do with # that argument, and we also can't be sure that other # gcc's happen to show very weird version # numbers. Therefore leave the default at non-activated. visibility_supported="yes, gcc-${gccversion}" AC_DEFINE(GCC_WITH_VISIBILITY_ATTRIBUTE, 1, [visibility]) visibility_cflags="-fvisibility=hidden" ;; *) # Default: -fvisibility=hidden not activated. visibility_supported="no (needs gcc >=4.0, you have gcc-${gccversion})" ;; esac ;; *) visibility_supported="no (needs gcc >=4.0, you use $CC)" ;; esac # -fvisibility is at least not available on MinGW/gcc-3.4.4 (will # give an "unrecognized cmdline option"). Also, unfortunately I # don't know an easy way to ask the compiler here. Maybe # http://autoconf-archive.cryp.to/ax_cflags_gcc_option.html case "$OS_TYPE" in windows) visibility_supported="no (not yet on MinGW/Windows)" visibility_cflags="" ;; *) ;; esac else visibility_supported="no (not wanted)" visibility_cflags="" fi AC_MSG_RESULT(${visibility_supported}) AC_SUBST(visibility_cflags) ###------------------------------------------------------------------------- # # RPM distribution specific stuff AC_MSG_CHECKING(whether this is an RPM distribution) RPM_COMMAND="`which rpm`" RPM_DIST_NAME="" RPM_DIST_TAG="" RPM_DIST_VER="" if test "$ENABLE_UDEV" = "yes"; then ETC_SUBDIRS="udev" else ETC_SUBDIRS="" fi USE_HOTPLUG=0 USE_UDEV=0 UDEV_RULES_FILE="rules.new" RPM_PCSC_DROPDIR="%{_libdir}/readers" if test -n "${RPM_COMMAND}"; then if test -x "${RPM_COMMAND}"; then if test -e "/etc/mandriva-release"; then RPM_DIST_NAME="mandriva" RPM_DIST_TAG="mdk" # RPM_DIST_VER="`rpm -q --queryformat='%{VERSION}' mandriva-release 2>/dev/null`" read v1 v2 v3 v4 v5 /dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # 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.) 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 $as_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. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # 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 || $as_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=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _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=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_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 bug-autoconf@gnu.org about your system, echo including any error possibly output before this message. echo This can help us improve future autoconf versions. echo Configuration will now proceed without shell functions. } 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" || { $as_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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -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 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$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac ECHO=${lt_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 <<_LT_EOF $* _LT_EOF exit 0 fi # 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 if test -z "$lt_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 && { 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. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi 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= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="cjeca32/BaseCommunication.cpp" ac_default_prefix=/usr # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS cyberjack_headerdir cyberjack_headerdir_am cyberjack_plugindir cyberjack_pkgincludedir cyberjack_internal_libname cyberjack_libs cyberjack_ldflags UDEV_RULES_FILE USE_UDEV USE_HOTPLUG ETC_SUBDIRS RPM_PCSC_DROPDIR RPM_DIST_VER RPM_DIST_TAG RPM_DIST_NAME visibility_cflags THREAD_LIBS USE_THREADS STRIPALL WITH_FOX_FALSE WITH_FOX_TRUE fox_includes fox_libs USE_XML2_FALSE USE_XML2_TRUE libxml2_includes libxml2_libs usbdropdir cyberjack_ifd_filename USE_PCSC_FALSE USE_PCSC_TRUE pcsc_lib pcsc_libraries pcsc_includes hal_includes hal_libs hal_LIBS hal_CFLAGS libusb_libs libusb_includes libusb_LIBS libusb_CFLAGS PKG_CONFIG enable_nonserial ENABLE_NONSERIAL_FALSE ENABLE_NONSERIAL_TRUE IOKIT_FRAMEWORK SYSCONF_FRAMEWORK FOUNDATION_FRAMEWORK COCOA_FRAMEWORK cyberjack_platform_def cyberjack_config_file cyberjack_sys_is_windows IS_LINUX_FALSE IS_LINUX_TRUE IS_OSX_FALSE IS_OSX_TRUE IS_WINDOWS_FALSE IS_WINDOWS_TRUE dl_libs CXXCPP CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB AR LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL OBJDUMP DLLTOOL AS am__fastdepOBJC_FALSE am__fastdepOBJC_TRUE OBJCDEPMODE ac_ct_OBJC OBJCFLAGS OBJC am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC INSTALL_DLL_TARGET MAKE_DLL_TARGET OS_TYPE OSYSTEM am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM CYBERJACK_SO_EFFECTIVE CYBERJACK_SO_AGE CYBERJACK_SO_REVISION CYBERJACK_SO_CURRENT CYBERJACK_VERSION_RELEASE_STRING CYBERJACK_VERSION_STRING CYBERJACK_VERSION_FULL_STRING CYBERJACK_VERSION_TAG CYBERJACK_VERSION_BUILD CYBERJACK_VERSION_PATCHLEVEL CYBERJACK_VERSION_MINOR CYBERJACK_VERSION_MAJOR target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_static enable_shared enable_dependency_tracking with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_mac_universal enable_nonserial enable_hal enable_pcsc with_pcsc_includes with_pcsc_libname with_pcsc_libs with_usbdropdir enable_xml2 with_xml2_includes with_xml2_libs enable_fox with_fox_includes with_fox_libs enable_release enable_threads enable_udev enable_visibility enable_debug enable_warnings enable_error_on_warning ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC OBJC OBJCFLAGS CPP CXXCPP PKG_CONFIG libusb_CFLAGS libusb_LIBS hal_CFLAGS hal_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' 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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { $as_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 && { $as_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. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { $as_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 $as_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 .` || { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_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 -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { $as_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" || { $as_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 this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] 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/PACKAGE] --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 cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-mac-universal Build Mac universal binaries --enable-nonserial enable non-serial (default=yes) --enable-hal enable HAL support (default=yes) --enable-pcsc enable PC/SC driver (default=yes) --enable-xml2 enable xml2 (default=yes) --enable-fox enable fox (default=yes) --enable-release make this an official release (default=no) --enable-threads enable threads (default=no) --enable-udev create udev files --enable-visibility enable visibility (default=no) --enable-debug compile with debugging code enabled, default=no --enable-warnings enable compilation warnings, default=yes --enable-error-on-warning treat all compile warnings as errors, default=no Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pcsc-includes=DIR adds pcsc include path --with-pcsc-libname=NAME specify the name of the pcsc library --with-pcsc-libs=DIR adds pcsc library path --with-usbdropdir pcsc bundle location --with-xml2-includes=DIR uses xml2 includes from given dir --with-xml2-libs=SPEC uses given xml2 libs --with-fox-includes=DIR uses fox includes from given dir --with-fox-libs=SPEC uses given fox libs 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 OBJC Objective C compiler command OBJCFLAGS Objective C compiler flags CPP C preprocessor CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility libusb_CFLAGS C compiler flags for libusb, overriding pkg-config libusb_LIBS linker flags for libusb, overriding pkg-config hal_CFLAGS C compiler flags for hal, overriding pkg-config hal_LIBS linker flags for hal, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 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 $as_me, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) 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_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (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 an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test -r "$ac_site_file"; then { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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 { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 $as_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 || { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 $as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 $as_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` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 $as_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 { $as_echo "$as_me:$LINENO: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 $as_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 { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if test "${ac_cv_target+set}" = set; then $as_echo_n "(cached) " >&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` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 $as_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}- ac_config_headers="$ac_config_headers config.h" ###------------------------------------------------------------------------- # # versions # CYBERJACK_VERSION_MAJOR=3 CYBERJACK_VERSION_MINOR=99 CYBERJACK_VERSION_PATCHLEVEL=5 CYBERJACK_VERSION_BUILD=0 CYBERJACK_VERSION_TAG="final.SP03" CYBERJACK_VERSION_FULL_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL-${CYBERJACK_VERSION_TAG}-r${CYBERJACK_VERSION_BUILD}" CYBERJACK_VERSION_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ###------------------------------------------------------------------------- # # SO version for cyberjack library # CYBERJACK_SO_CURRENT="6" CYBERJACK_SO_AGE="0" CYBERJACK_SO_REVISION="0" CYBERJACK_SO_EFFECTIVE="`echo \$(($CYBERJACK_SO_CURRENT-$CYBERJACK_SO_AGE))`" ###------------------------------------------------------------------------- # # Create release strings # case "$CYBERJACK_VERSION_TAG" in cvs|svn|git) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL.r${CYBERJACK_VERSION_BUILD}" ;; stable) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ;; *) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL${CYBERJACK_VERSION_TAG}" ;; esac cat >>confdefs.h <<_ACEOF #define CYBERJACK_VERSION_MAJOR $CYBERJACK_VERSION_MAJOR _ACEOF cat >>confdefs.h <<_ACEOF #define CYBERJACK_VERSION_MINOR $CYBERJACK_VERSION_MINOR _ACEOF cat >>confdefs.h <<_ACEOF #define CYBERJACK_VERSION_PATCHLEVEL $CYBERJACK_VERSION_PATCHLEVEL _ACEOF cat >>confdefs.h <<_ACEOF #define CYBERJACK_VERSION_BUILD $CYBERJACK_VERSION_BUILD _ACEOF cat >>confdefs.h <<_ACEOF #define CYBERJACK_VERSION_STRING "$CYBERJACK_VERSION_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define CYBERJACK_VERSION_FULL_STRING "$CYBERJACK_VERSION_FULL_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define CYBERJACK_VERSION_TAG "$CYBERJACK_VERSION_TAG" _ACEOF am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { 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 rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 $as_echo "$as_me: error: unsafe absolute working directory name" >&2;} { (exit 1); exit 1; }; };; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 $as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} { (exit 1); exit 1; }; };; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( 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". { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 $as_echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "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 $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { 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 { $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 $as_echo "$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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 $as_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=ifd-cyberjack VERSION=$CYBERJACK_VERSION_RELEASE_STRING 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"} # 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 -' ###------------------------------------------------------------------------- # check for OS # check for OS { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } OSYSTEM="" OS_TYPE="" MAKE_DLL_TARGET="" INSTALL_DLL_TARGET="" cat >>confdefs.h <<_ACEOF #define OS_NAME "$target" _ACEOF case "$target" in *-linux*) OSYSTEM="linux" cat >>confdefs.h <<\_ACEOF #define OS_LINUX 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-solaris*) OSYSTEM="solaris" cat >>confdefs.h <<\_ACEOF #define OS_SOLARIS 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-darwin*) OSYSTEM="osx" cat >>confdefs.h <<\_ACEOF #define OS_DARWIN 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-openbsd*) OSYSTEM="openbsd" cat >>confdefs.h <<\_ACEOF #define OS_OPENBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-freebsd*) OSYSTEM="freebsd" cat >>confdefs.h <<\_ACEOF #define OS_FREEBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-netbsd*) OSYSTEM="netbsd" cat >>confdefs.h <<\_ACEOF #define OS_NETBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-beos*) OSYSTEM="beos" cat >>confdefs.h <<\_ACEOF #define OS_BEOS 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-win32*) OSYSTEM="windows" cat >>confdefs.h <<\_ACEOF #define OS_WIN32 1 _ACEOF OS_TYPE="windows" cat >>confdefs.h <<_ACEOF #define BUILDING_DLL 1 _ACEOF MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-mingw32*) OSYSTEM="windows" cat >>confdefs.h <<\_ACEOF #define OS_WIN32 1 _ACEOF OS_TYPE="windows" cat >>confdefs.h <<_ACEOF #define BUILDING_DLL 1 _ACEOF MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-palmos*) OSYSTEM="palmos" cat >>confdefs.h <<\_ACEOF #define OS_PALMOS 1 _ACEOF OS_TYPE="palmos" ;; *) { $as_echo "$as_me:$LINENO: WARNING: Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue." >&5 $as_echo "$as_me: WARNING: Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue." >&2;} OSYSTEM="unknown" OS_TYPE="posix" cat >>confdefs.h <<\_ACEOF #define OS_POSIX 1 _ACEOF ;; esac cat >>confdefs.h <<_ACEOF #define OS_SHORTNAME "$OSYSTEM" _ACEOF cat >>confdefs.h <<_ACEOF #define OS_TYPE "$OS_TYPE" _ACEOF { $as_echo "$as_me:$LINENO: result: $OS_TYPE" >&5 $as_echo "$OS_TYPE" >&6; } ###------------------------------------------------------------------------- # prefix handling if test "x$prefix" = "xNONE"; then prefix=$ac_default_prefix ac_configure_args="$ac_configure_args --prefix $prefix" fi ###------------------------------------------------------------------------- # # static/shared handling # # 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=no fi # 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 ###------------------------------------------------------------------------- # # Checks for programs. # ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_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. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_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.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_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 | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { $as_echo "$as_me:$LINENO: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_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. { $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } rm -f -r a.out a.out.dSYM 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. { $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } { $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } { $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_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 | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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) { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$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 this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:$LINENO: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=m ac_cpp='$OBJCPP $CPPFLAGS' ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_objc_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in gcc objcc objc cc CC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJC"; then ac_cv_prog_OBJC="$OBJC" # 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_OBJC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJC=$ac_cv_prog_OBJC if test -n "$OBJC"; then { $as_echo "$as_me:$LINENO: result: $OBJC" >&5 $as_echo "$OBJC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$OBJC" && break done fi if test -z "$OBJC"; then ac_ct_OBJC=$OBJC for ac_prog in gcc objcc objc cc CC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJC"; then ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # 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_OBJC="$ac_prog" $as_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_OBJC=$ac_cv_prog_ac_ct_OBJC if test -n "$ac_ct_OBJC"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJC" >&5 $as_echo "$ac_ct_OBJC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_OBJC" && break done if test "x$ac_ct_OBJC" = x; then OBJC="gcc" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJC=$ac_ct_OBJC fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for Objective C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU Objective C compiler" >&5 $as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; } if test "${ac_cv_objc_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else $as_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_objc_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:$LINENO: result: $ac_cv_objc_compiler_gnu" >&5 $as_echo "$ac_cv_objc_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GOBJC=yes else GOBJC= fi ac_test_OBJCFLAGS=${OBJCFLAGS+set} ac_save_OBJCFLAGS=$OBJCFLAGS { $as_echo "$as_me:$LINENO: checking whether $OBJC accepts -g" >&5 $as_echo_n "checking whether $OBJC accepts -g... " >&6; } if test "${ac_cv_prog_objc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_objc_werror_flag=$ac_objc_werror_flag ac_objc_werror_flag=yes ac_cv_prog_objc_g=no OBJCFLAGS="-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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_objc_g=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 OBJCFLAGS="" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_objc_werror_flag=$ac_save_objc_werror_flag OBJCFLAGS="-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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_objc_g=yes else $as_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_objc_werror_flag=$ac_save_objc_werror_flag fi { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_objc_g" >&5 $as_echo "$ac_cv_prog_objc_g" >&6; } if test "$ac_test_OBJCFLAGS" = set; then OBJCFLAGS=$ac_save_OBJCFLAGS elif test $ac_cv_prog_objc_g = yes; then if test "$GOBJC" = yes; then OBJCFLAGS="-g -O2" else OBJCFLAGS="-g" fi else if test "$GOBJC" = yes; then OBJCFLAGS="-O2" else OBJCFLAGS= 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="$OBJC" am_compiler_list='gcc3 gcc' { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. 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_OBJC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false 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 # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_OBJC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_OBJC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_OBJC_dependencies_compiler_type" >&5 $as_echo "$am_cv_OBJC_dependencies_compiler_type" >&6; } OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then am__fastdepOBJC_TRUE= am__fastdepOBJC_FALSE='#' else am__fastdepOBJC_TRUE='#' am__fastdepOBJC_FALSE= fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { 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 rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AS+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # 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_AS="${ac_tool_prefix}as" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then { $as_echo "$as_me:$LINENO: result: $AS" >&5 $as_echo "$AS" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AS+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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_AS="as" $as_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_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 $as_echo "$ac_ct_AS" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AS" = x; then AS="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS fi else AS="$ac_cv_prog_AS" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DLLTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DLLTOOL="dlltool" $as_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_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OBJDUMP="objdump" $as_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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi ;; esac test -z "$AS" && AS=as test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$OBJDUMP" && OBJDUMP=objdump case `pwd` in *\ * | *\ *) { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.6' macro_revision='1.3012' ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if test "${ac_cv_path_SED+set}" = set; then $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed $as_unset ac_script || ac_script= if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 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 if test -z "$ac_cv_path_GREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:$LINENO: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 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 if test -z "$ac_cv_path_EGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable egrep 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:$LINENO: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if test "${ac_cv_path_FGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test "${lt_cv_path_NM+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$ac_tool_prefix"; then for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DUMPBIN="$ac_prog" $as_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_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if test "${lt_cv_nm_interface+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:6322: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:6325: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:6328: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; 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 # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:$LINENO: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OBJDUMP="objdump" $as_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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. 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 ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; 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*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$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 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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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=$? $as_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 <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_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=$? $as_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 -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:$LINENO: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:$LINENO: result: ok" >&5 $as_echo "ok" >&6; } fi # 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=$? $as_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 7531 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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*|s390*-*tpf*|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=$? $as_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*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_cc_needs_belf=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; 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=$? $as_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" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DSYMUTIL="dsymutil" $as_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_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_NMEDIT="nmedit" $as_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_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_LIPO="lipo" $as_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_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OTOOL="otool" $as_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_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OTOOL64="otool64" $as_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_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if test "${lt_cv_apple_cc_single_mod+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if test "${lt_cv_ld_exported_symbols_list+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_ld_exported_symbols_list=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_ld_exported_symbols_list=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; 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 { $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} _lt_caught_CXX_error=yes; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi # Set options enable_dlopen=no # 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 # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:$LINENO: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if test "${lt_cv_objdir+set}" = set; then $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:$LINENO: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:10064: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:10068: \$? = $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 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; 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' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) 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 ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test "${lt_cv_prog_compiler_pic_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:10403: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:10407: \$? = $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_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "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_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:10508: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:10512: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:10563: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:10567: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; 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>&1` 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 aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.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. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $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' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; 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' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $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 ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $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 ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm 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].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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 "X${wl}${allow_undefined_flag}" | $Xsed; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. 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 "X$deplibs" | $Xsed -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*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; 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_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -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 -fPIC ${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_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat >conftest.$ac_ext <<_ACEOF int foo(void) {} _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&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=$? $as_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=$? $as_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* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac 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 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' ;; aix[4-9]*) 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*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' ;; esac ;; 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* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # 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}${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 # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then shlibpath_overrides_runpath=yes fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # 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' ;; 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=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux 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 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 shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""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 ;; *) { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 $as_echo_n "checking for shl_load... " >&6; } if test "${ac_cv_func_shl_load+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 $as_echo "$ac_cv_func_shl_load" >&6; } if test "x$ac_cv_func_shl_load" = x""yes; then lt_cv_dlopen="shl_load" else { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = x""yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 $as_echo_n "checking for dlopen... " >&6; } if test "${ac_cv_func_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 $as_echo "$ac_cv_func_dlopen" >&6; } if test "x$ac_cv_func_dlopen" = x""yes; then lt_cv_dlopen="dlopen" else { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_svld_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_dld_link=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = x""yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 13363 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif 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 ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_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 { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line 13459 "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif 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 ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_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 { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_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-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -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 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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 "X${wl}${allow_undefined_flag}" | $Xsed; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' 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*) 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 allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; 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) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) 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_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) 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 "X-set_version $verstring" | $Xsed` -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 "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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 "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu) 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 "X$list" | $Xsed' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5]* | *pgcpp\ [1-5]*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $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 "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='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*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) 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" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-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. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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 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 compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; 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' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 $as_echo "$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:15479: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:15483: \$? = $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_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "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_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:15578: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:15582: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:15630: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:15634: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm 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* | cegcc*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&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=$? $as_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=$? $as_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* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 $as_echo "$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' ;; esac ;; 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* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # 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}${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 # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then shlibpath_overrides_runpath=yes fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # 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' ;; 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=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux 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 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 shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_SED+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$SED"; then ac_cv_prog_SED="$SED" # 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_SED="sed" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi SED=$ac_cv_prog_SED if test -n "$SED"; then { $as_echo "$as_me:$LINENO: result: $SED" >&5 $as_echo "$SED" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi ACX_PTHREAD ###------------------------------------------------------------------------- # # Search for dlopen # LIBS="" { $as_echo "$as_me:$LINENO: checking for library containing dlopen" >&5 $as_echo_n "checking for library containing dlopen... " >&6; } if test "${ac_cv_search_dlopen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$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 for ac_lib in '' c dl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_search_dlopen=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_dlopen+set}" = set; then break fi done if test "${ac_cv_search_dlopen+set}" = set; then : else ac_cv_search_dlopen=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_search_dlopen" >&5 $as_echo "$ac_cv_search_dlopen" >&6; } ac_res=$ac_cv_search_dlopen if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" have_dlopen="yes" else have_dlopen="no" fi if test "x${have_dlopen}" != "xyes"; then { { $as_echo "$as_me:$LINENO: error: *** You are missing support for dynamic loading of modules. *** Therefore cjgeldkarte will not work." >&5 $as_echo "$as_me: error: *** You are missing support for dynamic loading of modules. *** Therefore cjgeldkarte will not work." >&2;} { (exit 1); exit 1; }; } else cat >>confdefs.h <<\_ACEOF #define WITH_DLLIB 1 _ACEOF cat >>confdefs.h <<\_ACEOF #define HAS_DLOPEN 1 _ACEOF if test "$LIBS" = "-lc"; then LIBS="" fi dl_libs="$LIBS" LIBS="" fi ###------------------------------------------------------------------------- # # Checks for header files. # { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi #AC_CHECK_HEADERS([regex.h]) for ac_header in pthread.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 $as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 $as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ###------------------------------------------------------------------------- # # Checks for typedefs, structures, and compiler characteristics. # { $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if test "${ac_cv_c_const+set}" = set; then $as_echo_n "(cached) " >&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 () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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_c_const=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const /**/ _ACEOF fi ###------------------------------------------------------------------------- # # Checks for library functions. # ###------------------------------------------------------------------------- # # OS dependant settings # cyberjack_ldflags="-L\${libdir}" cyberjack_libs="-lcyberjack" cyberjack_internal_libname="libctapi-cyberjack.la" cyberjack_headerdir_am="\$(includedir)" cyberjack_headerdir="\${includedir}" cyberjack_config_file="\${sysconfdir}/cyberjack.conf" case "$OS_TYPE" in windows) cyberjack_sys_is_windows=1 ;; *) cyberjack_sys_is_windows=0 ;; esac if test "$OSYSTEM" = "osx"; then COCOA_FRAMEWORK="-framework Cocoa" FOUNDATION_FRAMEWORK="-framework CoreFoundation" SYSCONF_FRAMEWORK="-framework SystemConfiguration" IOKIT_FRAMEWORK="-framework IOKit" cyberjack_config_file="/etc/cyberjack.conf" fi if test "$OS_TYPE" = "windows"; then IS_WINDOWS_TRUE= IS_WINDOWS_FALSE='#' else IS_WINDOWS_TRUE='#' IS_WINDOWS_FALSE= fi if test "$OSYSTEM" = "osx"; then IS_OSX_TRUE= IS_OSX_FALSE='#' else IS_OSX_TRUE='#' IS_OSX_FALSE= fi if test "$OSYSTEM" = "linux"; then IS_LINUX_TRUE= IS_LINUX_FALSE='#' else IS_LINUX_TRUE='#' IS_LINUX_FALSE= fi ###------------------------------------------------------------------------- { $as_echo "$as_me:$LINENO: checking whether non-serial access is wanted" >&5 $as_echo_n "checking whether non-serial access is wanted... " >&6; } # Check whether --enable-mac-universal was given. if test "${enable_mac_universal+set}" = set; then enableval=$enable_mac_universal; enable_mac_universal=$enableval else enable_mac_universal="no" fi # # check for disable-nonserial # { $as_echo "$as_me:$LINENO: checking whether non-serial access is wanted" >&5 $as_echo_n "checking whether non-serial access is wanted... " >&6; } # Check whether --enable-nonserial was given. if test "${enable_nonserial+set}" = set; then enableval=$enable_nonserial; case "${enableval}" in yes) enable_nonserial="yes";; no) enable_nonserial="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-nonserial" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-nonserial" >&2;} { (exit 1); exit 1; }; };; esac else enable_nonserial="yes" fi if test "$enable_nonserial" = "yes"; then cat >>confdefs.h <<\_ACEOF #define ENABLE_NONSERIAL 1 _ACEOF fi if test "$enable_nonserial" = "yes"; then ENABLE_NONSERIAL_TRUE= ENABLE_NONSERIAL_FALSE='#' else ENABLE_NONSERIAL_TRUE='#' ENABLE_NONSERIAL_FALSE= fi { $as_echo "$as_me:$LINENO: result: $enable_nonserial" >&5 $as_echo "$enable_nonserial" >&6; } if test "$enable_nonserial" = "yes"; then ###------------------------------------------------------------------------- # # libUSB-1.0 # pkg_modules="libusb-1.0 >= 1.0.0" if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:$LINENO: checking for libusb" >&5 $as_echo_n "checking for libusb... " >&6; } if test -n "$libusb_CFLAGS"; then pkg_cv_libusb_CFLAGS="$libusb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$libusb_LIBS"; then pkg_cv_libusb_LIBS="$libusb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then libusb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else libusb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$libusb_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_libusb="no" elif test $pkg_failed = untried; then have_libusb="no" else libusb_CFLAGS=$pkg_cv_libusb_CFLAGS libusb_LIBS=$pkg_cv_libusb_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_libusb="yes" fi if test "$have_libusb" = "yes"; then cat >>confdefs.h <<\_ACEOF #define USE_USB1 1 _ACEOF libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else ###------------------------------------------------------------------------- # # libusb-0.x # pkg_modules="libusb < 1.0.0" pkg_failed=no { $as_echo "$as_me:$LINENO: checking for libusb" >&5 $as_echo_n "checking for libusb... " >&6; } if test -n "$libusb_CFLAGS"; then pkg_cv_libusb_CFLAGS="$libusb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$libusb_LIBS"; then pkg_cv_libusb_LIBS="$libusb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then libusb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else libusb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$libusb_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_libusb="no" elif test $pkg_failed = untried; then have_libusb="no" else libusb_CFLAGS=$pkg_cv_libusb_CFLAGS libusb_LIBS=$pkg_cv_libusb_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_libusb="yes" fi if test "$have_libusb" = "yes"; then libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else { { $as_echo "$as_me:$LINENO: error: *** LibUSB not found, please install the packages libusb and *** libusb-devel (or libusb-dev on Debian)." >&5 $as_echo "$as_me: error: *** LibUSB not found, please install the packages libusb and *** libusb-devel (or libusb-dev on Debian)." >&2;} { (exit 1); exit 1; }; } fi fi ###------------------------------------------------------------------------- # # HAL # { $as_echo "$as_me:$LINENO: checking if HAL support desired" >&5 $as_echo_n "checking if HAL support desired... " >&6; } # Check whether --enable-hal was given. if test "${enable_hal+set}" = set; then enableval=$enable_hal; enable_hal="$enableval" else enable_hal="no" fi { $as_echo "$as_me:$LINENO: result: $enable_hal" >&5 $as_echo "$enable_hal" >&6; } if test "$enable_hal" = "yes"; then pkg_modules="hal >= 0.5.0" pkg_failed=no { $as_echo "$as_me:$LINENO: checking for hal" >&5 $as_echo_n "checking for hal... " >&6; } if test -n "$hal_CFLAGS"; then pkg_cv_hal_CFLAGS="$hal_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_hal_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$hal_LIBS"; then pkg_cv_hal_LIBS="$hal_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_hal_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then hal_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else hal_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$hal_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_hal="no" elif test $pkg_failed = untried; then have_hal="no" else hal_CFLAGS=$pkg_cv_hal_CFLAGS hal_LIBS=$pkg_cv_hal_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_hal="yes" fi if test "$have_hal" = "yes"; then cat >>confdefs.h <<\_ACEOF #define HAVE_HAL 1 _ACEOF hal_includes="$hal_CFLAGS" hal_libs="$hal_LIBS" fi fi fi # --------------------------------------------------------------------------- # check for PC/SC # if test "$OSYSTEM" = "windows" ; then pcsc_libraries="" pcsc_lib="-lwinscard" have_pcsc="yes" elif test "$OSYSTEM" = "osx" ; then { $as_echo "$as_me:$LINENO: checking for pcsc includes" >&5 $as_echo_n "checking for pcsc includes... " >&6; } pcsc_includes="-I/System/Library/Frameworks/PCSC.framework/Headers" { $as_echo "$as_me:$LINENO: result: $pcsc_includes" >&5 $as_echo "$pcsc_includes" >&6; } { $as_echo "$as_me:$LINENO: checking for pcsc libs" >&5 $as_echo_n "checking for pcsc libs... " >&6; } pcsc_libraries="" pcsc_lib="-framework PCSC" { $as_echo "$as_me:$LINENO: result: $pcsc_libraries ${pcsc_lib}" >&5 $as_echo "$pcsc_libraries ${pcsc_lib}" >&6; } have_pcsc="yes" else { $as_echo "$as_me:$LINENO: checking if PC/SC should be used" >&5 $as_echo_n "checking if PC/SC should be used... " >&6; } # Check whether --enable-pcsc was given. if test "${enable_pcsc+set}" = set; then enableval=$enable_pcsc; enable_pcsc="$enableval" else enable_pcsc="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_pcsc" >&5 $as_echo "$enable_pcsc" >&6; } if test "$enable_pcsc" != "no"; then { $as_echo "$as_me:$LINENO: checking for pcsc includes" >&5 $as_echo_n "checking for pcsc includes... " >&6; } # Check whether --with-pcsc-includes was given. if test "${with_pcsc_includes+set}" = set; then withval=$with_pcsc_includes; pcsc_search_inc_dirs="$withval" else pcsc_search_inc_dirs="/usr/include\ /usr/local/include\ /usr/local/pcsc/include\ /usr/pcsc/include\ " fi found_dir="" ls=PCSC/winscard.h ld="$pcsc_search_inc_dirs" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done if test -n "$found_dir" ; then pcsc_includes="-I$found_dir -I$found_dir/PCSC" fi { $as_echo "$as_me:$LINENO: result: $pcsc_includes" >&5 $as_echo "$pcsc_includes" >&6; } { $as_echo "$as_me:$LINENO: checking for pcsc libs" >&5 $as_echo_n "checking for pcsc libs... " >&6; } # Check whether --with-pcsc-libname was given. if test "${with_pcsc_libname+set}" = set; then withval=$with_pcsc_libname; pcsc_search_lib_names="$withval" else pcsc_search_lib_names="libpcsclite.so \ libpcsclite.so.* \ libpcsc.a" fi # Check whether --with-pcsc-libs was given. if test "${with_pcsc_libs+set}" = set; then withval=$with_pcsc_libs; pcsc_search_lib_dirs="$withval" else pcsc_search_lib_dirs="/usr/lib64 \ /usr/lib \ /usr/local/lib \ /usr/lib/pcsc/lib \ /usr/local/pcsc/lib \ /lib" fi for d in $pcsc_search_lib_dirs; do found_file="" ls=""$d"" ld="$pcsc_search_lib_names" lf="" for li in $ld; do lf2="`ls -d ${ls}/${li} 2>/dev/null`" lf="$lf $lf2" done for li in $lf; do if test -r "$li"; then found_file=`basename "$li"` break fi done if test -n "$found_file" ; then pcsc_libraries="-L$d" pcsc_lib="-l`echo $found_file | sed 's/lib//;s/\.so*//;s/\.a//'`" break fi done if test -z "$pcsc_libraries" -o -z "$pcsc_lib" -o -z "$pcsc_includes"; then { $as_echo "$as_me:$LINENO: WARNING: No pcsc libraries found, SCard driver will not be available." >&5 $as_echo "$as_me: WARNING: No pcsc libraries found, SCard driver will not be available." >&2;} have_pcsc="no" else { $as_echo "$as_me:$LINENO: result: $pcsc_libraries ${pcsc_lib}" >&5 $as_echo "$pcsc_libraries ${pcsc_lib}" >&6; } have_pcsc="yes" fi # end of "if enable-pcsc" fi # end of "if linux" fi if test "$have_pcsc" = "yes"; then USE_PCSC_TRUE= USE_PCSC_FALSE='#' else USE_PCSC_TRUE='#' USE_PCSC_FALSE= fi if test "$have_pcsc" != "yes"; then pcsc_includes="-I\$(top_srcdir)/include -I\$(top_srcdir)/include/PCSC" else cat >>confdefs.h <<\_ACEOF #define HAVE_PCSC 1 _ACEOF fi case "$OSYSTEM" in osx) cyberjack_ifd_filename="libifd-cyberjack.dylib" cyberjack_ifd_dropdir="/usr/libexec/SmartCardServices/drivers" # use our own PC/SC headers for MacOSX pcsc_includes="-I\$(top_srcdir)/include/macosx -I\$(top_srcdir)/include/macosx/PCSC" if test "x$enable_mac_universal" = "xyes" ; then #mac_version_min="-mmacosx-version-min=10.5" mac_arches="-arch i386" #mac_arches="-arch i386 -arch x86_64" #mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.6.sdk" #LDFLAGS="$LDFLAGS $mac_arches $mac_sysroot $mac_version_min" #CFLAGS="$CFLAGS $CFLAGS $mac_arches $mac_sysroot $mac_version_min" LDFLAGS="$LDFLAGS $mac_arches" CFLAGS="$CFLAGS $CFLAGS $mac_arches" CXXFLAGS="$CXXFLAGS $mac_arches" fi ;; linux) cyberjack_ifd_filename="libifd-cyberjack.so" cyberjack_ifd_dropdir="\$(libdir)/pcsc/drivers" ;; esac # Check whether --with-usbdropdir was given. if test "${with_usbdropdir+set}" = set; then withval=$with_usbdropdir; usbdropdir="${withval}" else usbdropdir="${cyberjack_ifd_dropdir}" fi # --------------------------------------------------------------------------- # check for LibXML2 # { $as_echo "$as_me:$LINENO: checking if XML2 is allowed" >&5 $as_echo_n "checking if XML2 is allowed... " >&6; } # Check whether --enable-xml2 was given. if test "${enable_xml2+set}" = set; then enableval=$enable_xml2; enable_xml2="$enableval" else enable_xml2="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_xml2" >&5 $as_echo "$enable_xml2" >&6; } if test "$enable_xml2" = "no"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else { $as_echo "$as_me:$LINENO: checking for xml2 includes" >&5 $as_echo_n "checking for xml2 includes... " >&6; } # Check whether --with-xml2-includes was given. if test "${with_xml2_includes+set}" = set; then withval=$with_xml2_includes; local_libxml2_includes="$withval" else local_libxml2_includes="\ /usr/include/libxml2 \ /usr/local/include/libxml2 \ /opt/libxml2/include \ " fi if test -z "$libxml2_includes"; then for i in $local_libxml2_includes; do if test -z "$libxml2_includes"; then if test -f "$i/libxml/tree.h"; then libxml2_includes="-I$i" break; fi fi done fi if test -n "$libxml2_includes"; then { $as_echo "$as_me:$LINENO: result: $libxml2_includes" >&5 $as_echo "$libxml2_includes" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi { $as_echo "$as_me:$LINENO: checking for xml2 libraries" >&5 $as_echo_n "checking for xml2 libraries... " >&6; } # Check whether --with-xml2-libs was given. if test "${with_xml2_libs+set}" = set; then withval=$with_xml2_libs; libxml2_libs="$withval" else libxml2_libs="" fi if test -z "$libxml2_libs"; then libxml2_libs="-lxml2" fi if test -n "$libxml2_libs"; then { $as_echo "$as_me:$LINENO: result: $libxml2_libs" >&5 $as_echo "$libxml2_libs" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # check if all necessary xml2 components where found if test -z "$libxml2_includes" || \ test -z "$libxml2_libs"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else have_xml2="yes" cat >>confdefs.h <<\_ACEOF #define HAVE_LIBXML2 1 _ACEOF fi fi GIVEN_CFLAGS=$libxml2_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done libxml2_includes=$GIVEN_CFLAGS if test "$have_libxml2" = "yes"; then USE_XML2_TRUE= USE_XML2_FALSE='#' else USE_XML2_TRUE='#' USE_XML2_FALSE= fi ###------------------------------------------------------------------------- # Check for fox toolkit # { $as_echo "$as_me:$LINENO: checking if FOX is allowed" >&5 $as_echo_n "checking if FOX is allowed... " >&6; } # Check whether --enable-fox was given. if test "${enable_fox+set}" = set; then enableval=$enable_fox; enable_fox="$enableval" else enable_fox="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_fox" >&5 $as_echo "$enable_fox" >&6; } if test "$enable_fox" = "no"; then fox_libs="" fox_includes="" have_fox="no" else { $as_echo "$as_me:$LINENO: checking for fox includes" >&5 $as_echo_n "checking for fox includes... " >&6; } # Check whether --with-fox-includes was given. if test "${with_fox_includes+set}" = set; then withval=$with_fox_includes; local_fox_includes="$withval" else local_fox_includes="\ /usr/include/fox-1.6 \ /usr/local/include/fox-1.6 \ /opt/fox-1.6/include \ " fi if test -z "$fox_includes"; then for i in $local_fox_includes; do if test -z "$fox_includes"; then if test -f "$i/fxver.h"; then fox_includes="-I$i" break; fi fi done fi if test -n "$fox_includes"; then { $as_echo "$as_me:$LINENO: result: $fox_includes" >&5 $as_echo "$fox_includes" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi { $as_echo "$as_me:$LINENO: checking for fox libraries" >&5 $as_echo_n "checking for fox libraries... " >&6; } # Check whether --with-fox-libs was given. if test "${with_fox_libs+set}" = set; then withval=$with_fox_libs; fox_libs="$withval" else 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 SAVED_LDFLAGS=$LDFLAGS SAVED_CXXFLAGS=$CXXFLAGS LDFLAGS="$LDFLAGS -lFOX-1.6" CXXFLAGS="$CXXFLAGS $fox_includes" 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 () { FX::FXDate dummy ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then fox_libs="-lFOX-1.6" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$SAVED_LDFLAGS CXXFLAGS=$SAVED_CXXFLAGS fi if test -z "$fox_libs"; then found_dir="" ls=$qt_searchname ld="$local_fox_libs" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done if test -n "$found_dir" ; then fox_libs="-L$found_dir -lFOX-1.6" test "$OSYSTEM" = "freebsd" && \ fox_libs="$fox_libs" fi fi if test -n "$fox_libs"; then { $as_echo "$as_me:$LINENO: result: $fox_libs" >&5 $as_echo "$fox_libs" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # check if all necessary fox components where found if test -z "$fox_includes" || \ test -z "$fox_libs"; then fox_libs="" fox_includes="" have_fox="no" else have_fox="yes" cat >>confdefs.h <<\_ACEOF #define HAVE_FOX 1 _ACEOF fi fi GIVEN_CFLAGS=$fox_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done fox_includes=$GIVEN_CFLAGS if test "$have_fox" = "yes"; then WITH_FOX_TRUE= WITH_FOX_FALSE='#' else WITH_FOX_TRUE='#' WITH_FOX_FALSE= fi ###------------------------------------------------------------------------- # # check for release # { $as_echo "$as_me:$LINENO: checking whether this is an official release" >&5 $as_echo_n "checking whether this is an official release... " >&6; } # Check whether --enable-release was given. if test "${enable_release+set}" = set; then enableval=$enable_release; case "${enableval}" in yes) enable_release="yes";; no) enable_release="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-release" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-release" >&2;} { (exit 1); exit 1; }; };; esac else enable_release="no" fi if test "$enable_release" = "yes"; then STRIPALL="-s" else STRIPALL="" fi { $as_echo "$as_me:$LINENO: result: $enable_release" >&5 $as_echo "$enable_release" >&6; } ###------------------------------------------------------------------------- # # check for pthread-based approach # { $as_echo "$as_me:$LINENO: checking whether the threaded approach is wanted" >&5 $as_echo_n "checking whether the threaded approach is wanted... " >&6; } # Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then enableval=$enable_threads; case "${enableval}" in yes) enable_threads="yes";; no) enable_threads="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-threads" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-threads" >&2;} { (exit 1); exit 1; }; };; esac else enable_threads="no" fi if test "$enable_threads" = "yes"; then cat >>confdefs.h <<_ACEOF #define USE_THREADS 1 _ACEOF THREAD_LIBS="-lpthread" else THREAD_LIBS="" fi { $as_echo "$as_me:$LINENO: result: $enable_threads" >&5 $as_echo "$enable_threads" >&6; } ###------------------------------------------------------------------------- # # check whether udev support is wanted # # Check whether --enable-udev was given. if test "${enable_udev+set}" = set; then enableval=$enable_udev; ENABLE_UDEV="${enableval}" else ENABLE_UDEV="yes" fi ###------------------------------------------------------------------------- # # GCC version (check for usability) # { $as_echo "$as_me:$LINENO: checking if symbol visibility is supported" >&5 $as_echo_n "checking if symbol visibility is supported... " >&6; } # Check whether --enable-visibility was given. if test "${enable_visibility+set}" = set; then enableval=$enable_visibility; enable_visibility="$enableval" else enable_visibility="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_visibility" >&5 $as_echo "$enable_visibility" >&6; } if test "$enable_visibility" = "yes"; then { $as_echo "$as_me:$LINENO: checking if symbol visibility is supported" >&5 $as_echo_n "checking if symbol visibility is supported... " >&6; } visibility_cflags="" case `$CC --version|head -n1|cut -f1 -d " "` in gcc | gcc-* | *-gcc | *-gcc-*) gccversion="` ${CC} -dumpversion `" case $gccversion in 4.*) # Activate -fvisibility=hidden only for explicit 4.x gcc # versions. We never now what future gcc's might do with # that argument, and we also can't be sure that other # gcc's happen to show very weird version # numbers. Therefore leave the default at non-activated. visibility_supported="yes, gcc-${gccversion}" cat >>confdefs.h <<\_ACEOF #define GCC_WITH_VISIBILITY_ATTRIBUTE 1 _ACEOF visibility_cflags="-fvisibility=hidden" ;; *) # Default: -fvisibility=hidden not activated. visibility_supported="no (needs gcc >=4.0, you have gcc-${gccversion})" ;; esac ;; *) visibility_supported="no (needs gcc >=4.0, you use $CC)" ;; esac # -fvisibility is at least not available on MinGW/gcc-3.4.4 (will # give an "unrecognized cmdline option"). Also, unfortunately I # don't know an easy way to ask the compiler here. Maybe # http://autoconf-archive.cryp.to/ax_cflags_gcc_option.html case "$OS_TYPE" in windows) visibility_supported="no (not yet on MinGW/Windows)" visibility_cflags="" ;; *) ;; esac else visibility_supported="no (not wanted)" visibility_cflags="" fi { $as_echo "$as_me:$LINENO: result: ${visibility_supported}" >&5 $as_echo "${visibility_supported}" >&6; } ###------------------------------------------------------------------------- # # RPM distribution specific stuff { $as_echo "$as_me:$LINENO: checking whether this is an RPM distribution" >&5 $as_echo_n "checking whether this is an RPM distribution... " >&6; } RPM_COMMAND="`which rpm`" RPM_DIST_NAME="" RPM_DIST_TAG="" RPM_DIST_VER="" if test "$ENABLE_UDEV" = "yes"; then ETC_SUBDIRS="udev" else ETC_SUBDIRS="" fi USE_HOTPLUG=0 USE_UDEV=0 UDEV_RULES_FILE="rules.new" RPM_PCSC_DROPDIR="%{_libdir}/readers" if test -n "${RPM_COMMAND}"; then if test -x "${RPM_COMMAND}"; then if test -e "/etc/mandriva-release"; then RPM_DIST_NAME="mandriva" RPM_DIST_TAG="mdk" # RPM_DIST_VER="`rpm -q --queryformat='%{VERSION}' mandriva-release 2>/dev/null`" read v1 v2 v3 v4 v5 &5 $as_echo "Yes, ${RPM_DIST_NAME} ${RPM_DIST_VER}" >&6; } else { $as_echo "$as_me:$LINENO: result: no (RPM found, but unknown distribution)" >&5 $as_echo "no (RPM found, but unknown distribution)" >&6; } fi else { $as_echo "$as_me:$LINENO: result: no (RPM not found)" >&5 $as_echo "no (RPM not found)" >&6; } fi else { $as_echo "$as_me:$LINENO: result: no (no RPM installed)" >&5 $as_echo "no (no RPM installed)" >&6; } fi case "${RPM_DIST_TAG}${RPM_DIST_VER}" in suse10.*) cat >>confdefs.h <<_ACEOF #define USE_SUSE_HACK "1" _ACEOF ;; esac ###------------------------------------------------------------------------- # # Debug arguments for compilation # # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then enableval=$enable_debug; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -g" CFLAGS="${CFLAGS} -g" LDFLAGS="${LDFLAGS} -g" cat >>confdefs.h <<\_ACEOF #define DEBUG 1 _ACEOF ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" fi if test ${GCC}x = yesx; then # Check whether --enable-warnings was given. if test "${enable_warnings+set}" = set; then enableval=$enable_warnings; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ;; all) CXXFLAGS="${CXXFLAGS} -Wall -pedantic -ansi" CFLAGS="${CFLAGS} -Wall -pedantic -ansi" ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-warnings" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-warnings" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" fi GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x CFLAGS="${CFLAGS} -Wdeclaration-after-statement" fi fi # Check whether --enable-error-on-warning was given. if test "${enable_error_on_warning+set}" = set; then enableval=$enable_error_on_warning; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Werror" CFLAGS="${CFLAGS} -Werror" ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-error-on-warning" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-error-on-warning" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" fi fi ###------------------------------------------------------------------------- # # compile program flagss # # Clean up include variables GIVEN_CFLAGS=$cyberjack_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done cyberjack_includes=$GIVEN_CFLAGS GIVEN_CFLAGS=$all_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done all_includes=$GIVEN_CFLAGS ###------------------------------------------------------------------------- # # substitute vars # ###------------------------------------------------------------------------- # # list of files to create # ac_config_files="$ac_config_files Makefile cjeca32/Makefile cjeca32/ausb/Makefile ifd/Makefile ifd/Info.plist libcyberjack/Makefile libcyberjack/libdialog/Makefile libcyberjack/libdialog/base/Makefile libcyberjack/checksuite/Makefile tools/Makefile tools/cjflash/Makefile tools/cjgeldkarte/Makefile tools/cyberjack/Makefile tools/cyberjack/scripts/Makefile tools/cjBingo/Makefile tools/fxcyberjack/Makefile tools/fxcyberjack/icons/Makefile tools/fxcyberjack/diag/Makefile tools/fox-dialog/Makefile tools/mac-ui-helper/Makefile include/Makefile include/macosx/Makefile include/macosx/PCSC/Makefile m4/Makefile etc/Makefile ifd-cyberjack.spec doc/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $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" && { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. 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 -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"am__fastdepOBJC\" 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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 "${IS_WINDOWS_TRUE}" && test -z "${IS_WINDOWS_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_WINDOWS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_WINDOWS\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${IS_OSX_TRUE}" && test -z "${IS_OSX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_OSX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_OSX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${IS_LINUX_TRUE}" && test -z "${IS_LINUX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${ENABLE_NONSERIAL_TRUE}" && test -z "${ENABLE_NONSERIAL_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_NONSERIAL\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"ENABLE_NONSERIAL\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${USE_PCSC_TRUE}" && test -z "${USE_PCSC_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"USE_PCSC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"USE_PCSC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${USE_XML2_TRUE}" && test -z "${USE_XML2_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"USE_XML2\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"USE_XML2\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${WITH_FOX_TRUE}" && test -z "${WITH_FOX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"WITH_FOX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"WITH_FOX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # 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.) 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 $as_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. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # 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 || $as_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" || { $as_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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -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 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 $as_me, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { $as_echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { $as_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 || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ SHELL \ ECHO \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` ;; esac ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "cjeca32/Makefile") CONFIG_FILES="$CONFIG_FILES cjeca32/Makefile" ;; "cjeca32/ausb/Makefile") CONFIG_FILES="$CONFIG_FILES cjeca32/ausb/Makefile" ;; "ifd/Makefile") CONFIG_FILES="$CONFIG_FILES ifd/Makefile" ;; "ifd/Info.plist") CONFIG_FILES="$CONFIG_FILES ifd/Info.plist" ;; "libcyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/Makefile" ;; "libcyberjack/libdialog/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/libdialog/Makefile" ;; "libcyberjack/libdialog/base/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/libdialog/base/Makefile" ;; "libcyberjack/checksuite/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/checksuite/Makefile" ;; "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; "tools/cjflash/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjflash/Makefile" ;; "tools/cjgeldkarte/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjgeldkarte/Makefile" ;; "tools/cyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cyberjack/Makefile" ;; "tools/cyberjack/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cyberjack/scripts/Makefile" ;; "tools/cjBingo/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjBingo/Makefile" ;; "tools/fxcyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/Makefile" ;; "tools/fxcyberjack/icons/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/icons/Makefile" ;; "tools/fxcyberjack/diag/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/diag/Makefile" ;; "tools/fox-dialog/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fox-dialog/Makefile" ;; "tools/mac-ui-helper/Makefile") CONFIG_FILES="$CONFIG_FILES tools/mac-ui-helper/Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "include/macosx/Makefile") CONFIG_FILES="$CONFIG_FILES include/macosx/Makefile" ;; "include/macosx/PCSC/Makefile") CONFIG_FILES="$CONFIG_FILES include/macosx/PCSC/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; "ifd-cyberjack.spec") CONFIG_FILES="$CONFIG_FILES ifd-cyberjack.spec" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 $as_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") } || { $as_echo "$as_me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=' ' ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_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 rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\).*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\).*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 $as_echo "$as_me: error: could not setup config files machinery" >&2;} { (exit 1); exit 1; }; } _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 || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 $as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 $as_echo "$as_me: error: could not setup config headers machinery" >&2;} { (exit 1); exit 1; }; } fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 $as_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 || { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; 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 '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" 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=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_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=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } 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"; } && { $as_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 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 $as_echo "$as_me: error: could not create -" >&2;} { (exit 1); exit 1; }; } fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # 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 || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir 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=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Assembler program. AS=$AS # DLL creation program. DLLTOOL=$DLLTOOL # Object dumper program. OBJDUMP=$OBJDUMP # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # What type of objects to build. pic_mode=$pic_mode # 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 # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # 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 # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # 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 DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # 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 # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # 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 DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 $as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } # 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 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi pcsc-cyberjack-3.99.5final.SP03/NEWS0000644000175000001440000002212711657145411015422 0ustar sctusers =========================================================================== ctapi-cyberjack-3.3.0 (2008/07/23) =========================================================================== This release improves support for rdesktop, fixes some PC/SC-related bugs, implemente FEATURE_MCT_READER_DIRECT and adds support for latest versions of pcsclite which rely on libHAL. =========================================================================== ctapi-cyberjack-3.3.0beta4 (2008/07/03) =========================================================================== This release fixes problems with PC/SC part10 verify/modify pin and improves support for rdesktop. =========================================================================== ctapi-cyberjack-3.3.0beta3 (2008/06/11) =========================================================================== This release fixes a problem in implementation of FEATURE_MCT_READER_DIRECT. =========================================================================== ctapi-cyberjack-3.3.0beta2 (2008/06/07) =========================================================================== This release adds support for the latest version of pcsclite. For this to work this driver now depends on libhal. However, if libHAL isn't present then support for it will not be compiled. =========================================================================== ctapi-cyberjack-3.3.0beta1 (2008/06/02) =========================================================================== This release adds support for the PC/SC part10 feature MCT_READERDIRECT. It also fixes a problem with PC/SC part10 VERIFY_DIRECT. This driver now recognizes older Ecom's with new firmware (product id 0x401). =========================================================================== ctapi-cyberjack-3.2.0 (2008/04/03) =========================================================================== This release fixes some bugs and adds workarounds for ancient cyberJack readers (0x100). The documentation in LIESMICH.xml has been updated. =========================================================================== ctapi-cyberjack-3.2.0beta2 (2008/02/12) =========================================================================== This release tries to fix the problems reported by some users regarding the old cyberJack pinpad/ecom (0x100). =========================================================================== ctapi-cyberjack-3.2.0beta1 (2008/02/08) =========================================================================== This release needs libsysfs to scan for devices. It also allows for the kernel module to be used to drive older Cyberjack Ecom/Pinpad. The tool "cyberjack" now has two commands to easily set and clear flags in the configuration file. =========================================================================== ctapi-cyberjack-3.1.0 (2008/01/10) =========================================================================== This is the next stable release of this driver. It introduces a new method of selecting devices by serial number and supports Cyberjacks connected via serial ports (COMx). It is because of these features that the minor version has been incremented (->3.0.x to 3.1.0). =========================================================================== ctapi-cyberjack-3.0.6rc4 (2007/12/12) =========================================================================== This release fixes some bugs. =========================================================================== ctapi-cyberjack-3.0.6rc3 (2007/12/12) =========================================================================== This release adds support for Cyberjack Ecom A connected via serial cable. =========================================================================== ctapi-cyberjack-3.0.6rc2 (2007/12/03) =========================================================================== This release fixes a problem with the APDU 20,10 and Ecom(a). =========================================================================== ctapi-cyberjack-3.0.6rc1 (2007/11/19) =========================================================================== This release adds special handling for port values 0x9000 and above. Those values are used to assign fixed port values to particular readers by using the serial number available with Cyberjack readers with productId >=0x300. =========================================================================== ctapi-cyberjack-3.0.6beta1 (2007/11/16) =========================================================================== This release in combination with the latest firmware should fix the problems reported with Ubuntu 7.xx and the Cyberjack Ecom (a). =========================================================================== ctapi-cyberjack-3.0.5 (2007/10/20) =========================================================================== Stable release. =========================================================================== ctapi-cyberjack-3.0.5rc1 (2007/10/18) =========================================================================== This release fixes a bug which makes Moneyplex unable to read cards with new ecoms (introduced by 3.0.5beta5). This version is considered a release candidate. =========================================================================== ctapi-cyberjack-3.0.5beta5 (2007/10/08) =========================================================================== This release enables reading of German medical cards with 0x400 devices. Logfiles are now truncated to 10MB. =========================================================================== ctapi-cyberjack-3.0.5beta1 (2007/09/19) =========================================================================== This release introduces a workaround for hanging USB hardware. =========================================================================== ctapi-cyberjack-3.0.4 (2007/09/16) =========================================================================== This release fixes a bug in the USB logging code. The diagnosis tool cyberjack now shows some firmware information. =========================================================================== ctapi-cyberjack-3.0.4beta1 (2007/08/16) =========================================================================== This release fixes bug which can cause the driver to crash. =========================================================================== ctapi-cyberjack-3.0.3 (2007/07/20) =========================================================================== This release fixes problems of old Ecom readers with APDUs and their response when exceeding 262 bytes. It also enables logging at USB level. =========================================================================== ctapi-cyberjack-3.0.2 (2007/07/16) =========================================================================== This release removes some memory leaks found by valgrind. It also fixes the problem of the reader sometimes being unresponsive (i.e. sometimes it just hung up when trying to open it for the second time with CT_open()). =========================================================================== ctapi-cyberjack-3.0.1 (2007/07/10) =========================================================================== This is a hotfix for the USB suspend problem with Kernel 2.6.20: It seems like libusb does not detect the cyberjack 0x400 correctly when the reader is suspended (e.g. libusb only detects the reader when it currently is not suspended, but the reader needs some time to become active after resuming and Libusb does not wait for this time... Now we just try for about 5 secs to enumerate the USB devices via libusb which keeps the reader active until it has completed its initialization). This fix is only needed as long as Libusb has these problems, maybe they will fix this... =========================================================================== ctapi-cyberjack-3.0.0 (2007/06/21) =========================================================================== This is the first non-beta release of the next generation Cyberjack driver. It contains a small diagnosis tool (called cyberjack) which tries to detect the most common configuration problems and gives some hints on how to overcome them. =========================================================================== ctapi-cyberjack-3.0.0beta1 (2007/05/08) =========================================================================== This is the first beta release of 3.0.0. It supports all curently known Cyberjack USB readers (including the latest Ecom A). Beeping now works using XBell on X11 systems and the USB lowlevel interface has been partially rewritten. This version contains a flash tool for the latest Cyberjack Ecom A. pcsc-cyberjack-3.99.5final.SP03/Makefile.in0000644000175000001440000006302511660201016016756 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ @IS_LINUX_TRUE@am__append_1 = etc subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/ifd-cyberjack.spec.in $(top_srcdir)/configure \ AUTHORS COPYING ChangeLog INSTALL NEWS config.guess config.sub \ depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = ifd-cyberjack.spec CONFIG_CLEAN_VPATH_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 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir dist dist-all distcheck ETAGS = etags CTAGS = ctags 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)"; }; } am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ DIST_SUBDIRS = etc m4 include cjeca32 ifd libcyberjack tools doc #SUBDIRS+=ifd libcyberjack checksuite tools debian doc SUBDIRS = m4 include cjeca32 $(am__append_1) ifd libcyberjack tools \ doc ACLOCAL_AMFLAGS = -I m4 EXTRA_DIST = \ ifd-cyberjack.spec.in ifd-cyberjack.spec \ COPYRIGHT.GPL COPYRIGHT.LGPL \ ChangeLog ChangeLog.old 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'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 ifd-cyberjack.spec: $(top_builddir)/config.status $(srcdir)/ifd-cyberjack.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" 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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -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-lzma: distdir tardir=$(distdir) && $(am__tar) | lzma -9 -c >$(distdir).tar.lzma $(am__remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | xz -c >$(distdir).tar.xz $(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.lzma*) \ unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) 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) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__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: @$(am__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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) all \ ctags-recursive install-am install-strip tags-recursive .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-lzma dist-shar dist-tarZ dist-xz dist-zip \ distcheck distclean distclean-generic distclean-hdr \ distclean-libtool distclean-tags distcleancheck distdir \ distuninstallcheck dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-recursive uninstall uninstall-am rpm: ifd-cyberjack.spec dist rpmbuild="rpm" && \ if [ `rpm --version | awk '{ print $$3 }'` > /dev/null ]; then rpmbuild="rpmbuild"; fi && \ $$rpmbuild -ta ifd-cyberjack-$(VERSION).tar.gz ChangeLog: git log --pretty="format:------------------------------------------------------------------%n%ai %an%n%s%n%b" >ChangeLog #dist-hook: # rm -f ChangeLog 2>/dev/null # $(MAKE) ChangeLog # 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: pcsc-cyberjack-3.99.5final.SP03/COPYRIGHT.GPL0000644000175000001440000004307611657145411016645 0ustar sctusers 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. pcsc-cyberjack-3.99.5final.SP03/gource.sh0000755000175000001440000000056211657145411016545 0ustar sctusers#!/bin/sh `gource --git-log-command` > /tmp/my-git-project.log gource -1280x720 --highlight-all-users -s .05 --hide-filenames --user-scale 2 --crop horizontal --date-format "%d %B %Y" --stop-at-end --output-ppm-stream - --output-framerate 30 . /tmp/my-git-project.log | ffmpeg -y -b 3000K -r 30 -f image2pipe -vcodec ppm -i - -vcodec mpeg4 /tmp/cyberjack-gource.mp4 pcsc-cyberjack-3.99.5final.SP03/aclocal.m40000644000175000001440000011630311660201012016543 0ustar sctusers# generated automatically by aclocal 1.11 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, [m4_warning([this file was generated for autoconf 2.63. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically `autoreconf'.])]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 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.11' 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.11], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 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, 2008 # 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 # 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 m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2009 # 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 10 # 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 am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --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, 2008 # 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_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # 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, 2008, 2009 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 16 # 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.62])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) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl 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 ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into `_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) # Copyright (C) 2003, 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, 2009 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_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005, 2008 # 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 6 # 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 if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --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, 2008 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_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005, 2008 # 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_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( 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, 2008 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_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 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/acx_compile_warn.m4]) m4_include([m4/as-scrub-include.m4]) m4_include([m4/fox.m4]) m4_include([m4/libtool.m4]) m4_include([m4/libxml2.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/os.m4]) m4_include([m4/pcsc.m4]) m4_include([m4/searchfiles.m4]) pcsc-cyberjack-3.99.5final.SP03/debian/0000755000175000001440000000000011660165742016144 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/debian/changelog0000644000175000001440000001005511656533255020022 0ustar sctuserspcsc-cyberjack (3.99.5final.SP03) unstable; urgency=low * released 3.99.5final.SP03 * fix FEATURE_MCT_READERDIRECT reader disconnect on pinpad * add support for cyberJack compact * fix speed problem pinpad <--> seccos6 card -- Frank Neuber Mon, 07 Nov 2011 12:52:14 +0100 pcsc-cyberjack (3.99.5final.SP02-1) unstable; urgency=low * Upload to unstable (Closes: #637742) * Add myself to Uploaders -- Reinhard Tartler Sun, 07 Aug 2011 21:03:23 +0200 pcsc-cyberjack (3.99.5final.SP02) stable; urgency=low * released 3.99.5final.SP02 * PinVerify/Modify-Problem Responsecode 0x6b80 fixed -- Frank Neuber Tue, 14 Jun 2011 09:53:20 +0200 pcsc-cyberjack (3.99.5final.SP01) stable; urgency=low * released 3.99.5final.SP01 * new version numbering 3.99.5final.SPXX * return the PackageVersion 3.99.5 over APDU: FF 9A 01 07 00 * fix pin change/modify problem on pinpad * remove the cyberjack group dependency -- Frank Neuber Wed, 01 Jun 2011 17:36:03 +0200 pcsc-cyberjack (3.99.5final) stable; urgency=low * released 3.99.5final * make sure that tue pcscd is restarted after installation on suse and on ubuntu -- Frank Neuber Thu, 12 May 2011 13:27:28 +0200 pcsc-cyberjack (3.99.5stable) stable; urgency=low * released 3.99.5stable * code merge with main driver sources at Reiner SCT from Mon, 9 May 2011 15:02:38 +0200 -- Frank Neuber Wed, 11 May 2011 15:21:34 +0200 pcsc-cyberjack (3.99.6rc5) stable; urgency=low * released 3.99.6rc5 * fix usb init context problem on osx 10.6 64 bit * add support building universal binarys on osx -- Frank Neuber Wed, 13 Apr 2011 11:48:25 +0200 pcsc-cyberjack (3.99.6rc4) stable; urgency=low * released 3.99.6rc4 * add support for newer pcscd which pass the interface number in the usb descriptor * add support for libudev which is used in pcscd 1.7.0 -- Frank Neuber Tue, 05 Apr 2011 14:28:42 +0200 pcsc-cyberjack (3.99.6rc3) stable; urgency=low * released 3.99.6rc3 * chance driver version to 3.99 APDU ff9a010700 * add reader name APDU ff9a010300 * fix buffer length (tested with GET CHALLENGE command APDU 00840000ff) -- Frank Neuber Mon, 04 Apr 2011 12:16:17 +0200 pcsc-cyberjack (3.99.6rc2) stable; urgency=low * released 3.99.6rc2 * merge 3.99.6beta into 3.99.5rc2 * add support for FEATURE_EXECUTE_PACE only for readers with RSCT_READER_HARDWARE_MASK_PACE flag -- Frank Neuber Thu, 24 Mar 2011 11:43:53 +0100 pcsc-cyberjack (3.99.5rc1) stable; urgency=low * released 3.99.5rc1 * add support for FEATURE_EXECUTE_PACE -- Frank Neuber Fri, 18 Mar 2011 10:35:44 +0100 libifd-cyberjack6 (3.99.6beta-1) stable; urgency=low * released 3.99.6beta * compiles on OpenSuSE 11.4 -- Martin Preuss Sat, 18 Mar 2011 23:58:00 +0200 libifd-cyberjack6 (3.99.5beta-1) stable; urgency=low * released 3.99.5beta * merged with main driver sources at Reiner SCT -- Martin Preuss Mon, 14 Feb 2011 19:46:00 +0200 libifd-cyberjack6 (3.99.4beta-1) stable; urgency=low * released 3.99.4beta * merged with main driver sources at Reiner SCT * added support for new 0x501er readers -- Martin Preuss Thu, 10 Feb 2011 18:15:00 +0200 libifd-cyberjack6 (3.99.3beta-1) stable; urgency=low * released 3.99.3beta * merged with main driver sources at Reiner SCT * added support for 0x300er readers -- Martin Preuss Wed, 02 Feb 2011 22:16:00 +0200 libifd-cyberjack6 (3.99.1beta-1) stable; urgency=low * released 3.99.1beta * reorganized driver to only support the IFD API * merged with main driver sources at Reiner SCT * removed support for old 0x100er readers * temporarily removed support for 0x300er readers (support for those readers in the new driver is not yet finished) -- Martin Preuss Sat, 04 Dec 2010 13:35:00 +0200 pcsc-cyberjack-3.99.5final.SP03/debian/control0000644000175000001440000000223611656534644017560 0ustar sctusersSource: pcsc-cyberjack Section: misc Priority: optional Maintainer: Frank Neuber Uploaders: Reinhard Tartler Build-Depends: autotools-dev, debhelper (>= 7), dh-autoreconf, libfox-1.6-dev, libhal-dev, libpcsclite-dev, libusb-1.0-0-dev, libxml2-dev Standards-Version: 3.9.2 Homepage: http://www.reiner-sct.com/ Vcs-Git: git://git.debian.org/git/collab-maint/pcsc-cyberjack.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/pcsc-cyberjack.git Package: libifd-cyberjack6 Architecture: any Depends: pcscd, ${misc:Depends}, ${shlibs:Depends} Suggests: pcsc-tools Recommends: Description: REINER SCT cyberJack USB chipcard reader user space driver This package includes the IFD driver for the cyberJack contactless (RFID) and contact USB chipcard reader. Package: fxcyberjack Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Recommends: libifd-cyberjack6 Description: Graphical diagnostics and maintenance tool for Reiner SCT Cyberjacks This package contains the graphical tool which allows diagnosing typical driver setup problems. It is also able to flash new software to current cyberJack readers. pcsc-cyberjack-3.99.5final.SP03/debian/libifd-cyberjack6.postinst0000644000175000001440000000177711660152713023231 0ustar sctusers#!/bin/sh # postinst script for pcsc-cyberjack # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package # case "$1" in configure) ldconfig >/dev/null 2>&1 killall pcscd || true /etc/init.d/pcscd restart ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 pcsc-cyberjack-3.99.5final.SP03/debian/libifd-cyberjack6.dirs0000644000175000001440000000037611657145411022304 0ustar sctusersusr/bin usr/lib usr/lib/pcsc usr/lib/pcsc/drivers usr/lib/pcsc/drivers/libifd-cyberjack.bundle usr/lib/pcsc/drivers/libifd-cyberjack.bundle usr/lib/pcsc/drivers/libifd-cyberjack.bundle/Contents usr/lib/pcsc/drivers/libifd-cyberjack.bundle/Contents/Linux pcsc-cyberjack-3.99.5final.SP03/debian/fxcyberjack.install0000644000175000001440000000002411657145411022020 0ustar sctusersusr/bin/fxcyberjack pcsc-cyberjack-3.99.5final.SP03/debian/docs0000644000175000001440000000004011657145411017006 0ustar sctusersdoc/README.txt doc/LIESMICH.txt pcsc-cyberjack-3.99.5final.SP03/debian/compat0000644000175000001440000000000211656534564017351 0ustar sctusers7 pcsc-cyberjack-3.99.5final.SP03/debian/rules0000755000175000001440000000073511657175142017232 0ustar sctusers#!/usr/bin/make -f # -*- makefile -*- %: dh $@ --parallel --with autoreconf override_dh_auto_configure: dh_auto_configure -- --sysconfdir=/etc/cyberjack override_dh_install: mkdir -p debian/libifd-cyberjack6/etc/cyberjack cp -v etc/cyberjack.conf.default \ debian/libifd-cyberjack6/etc/cyberjack/cyberjack.conf find debian/tmp -name '*.la' -exec sed -i "/dependency_libs/ s/'.*'/''/" {} + dh_install override_dh_installchangelogs: dh_installchangelogs ChangeLog pcsc-cyberjack-3.99.5final.SP03/debian/libifd-cyberjack6.examples0000644000175000001440000000003311657145411023147 0ustar sctusersetc/cyberjack.conf.default pcsc-cyberjack-3.99.5final.SP03/debian/copyright0000644000175000001440000000434111657145411020076 0ustar sctusersThis package was debianized by Martin Preuss on Thu, 10 Aug 2006 21:43:31 +0200. It was downloaded from http://www.reiner-sct.de/ Package maintenance was taken over by Frank Neuber and Reinhard Tartler . Both hold copyrights on changes files matching debian/* Upstream Author: Copyright: 2001, 2004-2007 REINER SCT Matthias Bruestle, Harald Welte Martin Preuss (support@reiner-sct.com) License: This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA The Debian packaging is (C) 2006, Martin Preuss and is licensed under the GPL, see `/usr/share/common-licenses/GPL'. The files matching ./doc/verifypin_*.c are not used during package build. Both carry the following copyright notice: scardcontrol.c: sample code to use/test SCardControl() API Copyright (C) 2004-2005 Ludovic Rousseau 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 St, Fifth Floor, Boston, MA 02110-1301, USA pcsc-cyberjack-3.99.5final.SP03/debian/libifd-cyberjack6.udev0000644000175000001440000000112211657145411022274 0ustar sctusers# If not adding the device, go away ACTION!="add", GOTO="cyberjack_rules_end" SUBSYSTEM!="usb", GOTO="cyberjack_rules_end" ENV{DEVTYPE}!="usb_device", GOTO="cyberjack_rules_end" ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0100", MODE="660", GROUP="pcscd" ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0300", MODE="660", GROUP="pcscd" ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0400", MODE="660", GROUP="pcscd" ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0500", MODE="660", GROUP="pcscd" ATTR{idVendor}=="0c4b", ATTR{idProduct}=="0501", MODE="660", GROUP="pcscd" # All done LABEL="cyberjack_rules_end" pcsc-cyberjack-3.99.5final.SP03/debian/libifd-cyberjack6.manpages0000644000175000001440000000002011657145411023120 0ustar sctusersdoc/cyberjack.8 pcsc-cyberjack-3.99.5final.SP03/debian/clean0000644000175000001440000000012311657145411017142 0ustar sctusers# maybe upstream should remove these files ltmain.sh m4/libtool.m4 m4/ltversion.m4 pcsc-cyberjack-3.99.5final.SP03/debian/source/0000755000175000001440000000000011660165736017447 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/debian/source/options0000644000175000001440000000005211657145411021054 0ustar sctusersunapply-patches abort-on-upstream-changes pcsc-cyberjack-3.99.5final.SP03/debian/source/format0000644000175000001440000000001511660165736020656 0ustar sctusers3.0 (native) pcsc-cyberjack-3.99.5final.SP03/debian/libifd-cyberjack6.install0000644000175000001440000000010411660152512022770 0ustar sctusersusr/lib/pcsc/drivers usr/bin/cyberjack usr/lib/cyberjack/getdist.sh pcsc-cyberjack-3.99.5final.SP03/config.sub0000755000175000001440000010224011660201014016663 0ustar sctusers#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 # Free Software Foundation, Inc. timestamp='2009-04-17' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 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. # Please send patches to . Submit a context # diff and a properly formatted ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 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* | \ kopensolaris*-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 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | 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[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) 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-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | 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[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'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 ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) 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 ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -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* \ | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -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 ;; -dicos*) os=-dicos ;; -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: pcsc-cyberjack-3.99.5final.SP03/doc/0000755000175000001440000000000011660201014015446 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/doc/LIESMICH.html0000644000175000001440000013035011657145411017551 0ustar sctusers Treiber für REINER SCT cyberJack pinpad/e-com USB Kartenleser

Treiber für REINER SCT cyberJack pinpad/e-com USB Kartenleser

2008/02/12

Dies ist das Handbuch zum Linux-Treiber für die Reiner SCT cyberJack Kartenleser.


1. Übersicht

Dieser Treiber für die Cyberjack Pinpad/ecom-Familie von USB Kartenlesegeräten implementiert den CTAPI Standard in der Version 1.1 sowie das PC/SC-Interface von pcsc-lite.

Er ist vollständig im Userspace implementiert. Dadurch entfallen Schwierigkeiten mit unterschiedlichen Kernel-Versionen, dem Kompilieren und Patchen von Kerneln etc.

Sämtliche Zugriffe werden über das usb devfs in /proc/bus/usb (oder /dev/bus/usb für udev-basierte systeme) abgewickelt.

Behandlung von Dateirechten geschieht ausschließlich über udev. Das Skript cyberjack.rules - falls es nach /etc/udev/rules.d installiert wurde - wird automatisch von udev aufgerufen, sobald der Leser angeschlossen wird. Es setzt die Dateirechte für das entsprechende Gerät, so daß anschliessend die Benutzer der Gruppe cyberjack darauf zugreifen können.

Für mehr Informationen über den Kartenleser selbst besuchen Sie bitte http://www.reiner-sct.com/. Dort finden Sie auch einen Onlineshop, in dem Sie diesen Leser bestellen können.


2. Von diesem Treiber unterstützte Geräte

Die folgenden Reiner-SCT Kartenleser werden unterstützt:

Product ProductID
REINER SCT cyberJack pinpad USB 0x100
REINER SCT cyberJack e-com USB 0x100
REINER SCT cyberJack pinpad_a USB 0x300
REINER SCT cyberJack e-com_a USB 0x400
Mit dem Kommando lsusb können Sie sich alle USB-Geräte anzeigen lassen. Es zeigt die Hersteller- und Gerätekennung aller angeschlossenen Geräte an, beispielsweise:

Bus Nr Device Nr   VeID:PrID
Bus 002 Device 002 ID 0451:1446
Bus 002 Device 006 ID 0c4b:0400

Die REINER SCT Herstellerkennung ist 0c4b. Die Produktkennungen finden Sie in der vorigen Tabelle.


3. Distributions-spezifische Hinweise

Sie finden alle Pakete unter http://www.reiner-sct.com/content/view/32/43/#linux.

Die meisten Pakete erzeugen eine Gruppe cyberjack. Dieser Gruppe müssen alle Benutzer zugeordnet werden, die Zugriff auf das Gerät haben sollen. Das erreichen Sie am einfachsten über das KDE-Programm kuser oder das Administrations-Programm Ihres Systems (bei SuSE z.B. yast). Eine Ausnahme stellt hier SuSE 10.1 dar, hier müssen Sie keine Benutzer- Zuordnung vornehmen (ab SuSE 10.2 hingegen schon).

Nach der Installation des Paketes und der Benutzerzuordnung sollten Sie Ihren Rechner neu starten, damit die Änderungen gültig werden.


3.1. RPM-basiert

Reiner-SCT bietet RPM-Pakete für die folgenden Distributionen an:

  • SuSE 10.3

  • SuSE 10.2

  • SuSE 10.1

  • SuSE 10.0

  • Fedora Core 7

  • Fedora Core 6

  • Fedora Core 5

Installieren Sie das entsprechende Paket einfach durch das folgende Kommando: rpm -i <Paketdatei>

Sollten Sie bereits ein älteres Treiberpaket installiert haben, verwenden Sie stattdessen das folgende Kommando: rpm -U <Paketdatei>

Es gibt allerdings eine Besonderheit bei Verwendung von SuSE10.0 auf einem 64-Bit-System mit der Anwendung "Moneyplex": Da diese Anwendung leider eine 32-Bit-Anwendung ist, kann sie nur mit der 32-Bit-Version unseres Treibers arbeiten. Leider war der Kernel von SuSE10.0 noch nicht in der Lage, alle 32-Bit-Aufrufe des Treibers nach 64-Bit umzuwandeln. Hier muss daher eine Aenderung an der Datei /etc/cyberjack.conf vorgenommen werden. Fuegen Sie bitte die folgende Zeile ein: "flags=0x20000".


3.1.1. Einrichtung unter SuSE Linux

Nach der Installation des Treibers muessen Sie die Benutzer, die auf den Leser zugreifen koennen sollen, in die Gruppe "cyberjack" einfuegen.

Am einfachsten geschieht dies mit Yast: Starten Sie Yast, rufen Sie das Menu "Sicherheit und Benutzer" auf und dort "Gruppen bearbeiten und anlegen".

Es erscheint ein Fenster, das standardmaessig die Systemgruppen nicht anzeigt, daher muessen Sie den Filter aendern. Klicken Sie dazu unten rechts auf "Filter festlegen" und waehlen Sie dort "Systemgruppen". Daraufhin sollten Sie in der Liste auch die Gruppe "cyberjack" finden, die Sie dann markieren muessen. Anschliessend klicken Sie unten auf "Bearbeiten".

In dem Fenster, welches dann erscheint, setzen Sie bei den aufgefuehrten Benutzern, die auf den Leser zugreifen koennen sollen, die Markierung.

Klicken Sie nun auf "Uebernehmen" und starten Sie das System neu, Der Leser sollte nun fuer die markierten Benutzer verwendbar sein.


3.2. DEB-basiert

Reiner-SCT bietet DEB-Pakete für die folgenden Distributionen:

  • Debian stable

  • Debian unstable

  • Ubuntu 6.10

  • Ubuntu 7.04

  • Ubuntu 7.10

Installieren Sie das entsprechende Paket mit: dpkg -i <Paketdatei>


3.3. Alle anderen Distributionen

Es gibt momentan wenig Erfahrungen mit anderen Linux-Distributionen. Haben Sie ein RPM-basiertes System, so können Sie probieren eigene RPM-Paket zu erstellen: rpm --rebuild <Quellpaketdatei> oder rpmbuild --rebuild <Quellpaketdatei>

Falls Sie den Treiber selber kompilieren wollen, wechseln Sie in das Hauptverzeichnis des entpackten Treiber-Paketes und geben Sie die folgenden Befehle ein: ./configure make

Anschließend können Sie den Treiber auf Ihr System installieren. Dazu benötigen Sie sehr wahrscheinlich Administrator-Rechte. make install


4. Firmware-Update

Die aktuelle Version dieses Treibers enthaelt das Tool "cjflash" welches das Aktualisieren der Firmware des Lesers erlaubt.

Derzeit koennen damit allerdings nur die neuesten Cyberjack-Leser aktualisiert werden (mit der Produkt-Kennung 0x400)

Der Linux-Treiber funktioniert mit diesen Geraeten nur mit einer Firmware in der Version groesser oder gleich 3.0.6. Sollte Ihr Leser eine aeltere Version enthalten, ist ein Update zwingend noetig. Auch nach diesem Update funktioniert der Leser weiterhin auch unter Windows.

Um die Firmware zu aktualiseren geben Sie bitte das folgenden Kommando in einer Konsole ein: cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn ecoma2.bky

Das erste Argument ist die Nummer des Lesers (beginnend mit "1", der 2. Leser hat die Nummer "2" etc). Das naechste Argument ist der Name der Datei mit der neuen Firmware gefolgt vom Namen der Datei mit der Signatur der neuen Firmware.

Nachdem Sie das Kommando eingegeben haben fragt der Leser nach einer Bestaetigung. Druecken Sie die "OK"-Taste auf der Tastatur des Lesers zur Bestaetigung oder brechen Sie den Vorgang mit "CANCEL" ab.

Sollte der Leser "haengen" nachdem Sie "OK" oder "CANCEL" gedrueckt haben, muessen Sie den Leser abziehen und neu anschliessen. Anschliessend muessen Sie eine leicht modifizierte Version des obrigen Kommandos verwenden: CJ_USB_MODE=1 cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn

Hiermit wird die Umgebungsvariable "CJ_USB_MODE" gesetzt bevor das Update durchgefuehrt wird. Dadurch weiss der Treiber, dass es sich um einen Leser mit einer fuer Linux problematischen Firmware handelt und spricht ihn etwas anders an.

Bitte setzen Sie die Umgebungsvariable nur, wenn "cjflash" sonst nicht funktioniert!


5. Support

Support für diesen Treiber bietet REINER SCT. E-mail: support@reiner-sct.com Postadresse: Schwabacher Str. 34, 90762 Fürth, Deutschland

Bitte fügen Sie ihrer Problembeschreibung die folgenden Informationen bei:

  • Name und Version des verwendeten Programmes, mit dem der Fehler auftrat

  • die vollständige Fehlermeldung

  • den Namen und die Version der von Ihnen verwendeten Linux-Distribution (z.B. SuSE 10.1, Debian 3.0r1 testing)

  • CPU-Typ (z.B. der Inhalt der Datei /proc/cpuinfo)

  • Kernelversion (z.B. die Ausgabe des Befehls uname -r)

  • Liste der angeschlossenen USB-Geräte (z.B. die Ausgabe des Befehls lsusb)


6. Troubleshooting

6.1. Erste Schritte

Mit dem Treiber wird das Tool "cyberjack" installiert. Es erzeugt Dateien mit Daten, die fuer den Support von Reiner SCT wichtig sind. Fuehren Sie daher in einer Konsole den folgenden Befehl aus; cyberjack

Dabei entstehen im aktuellen Verzeichnis 3 Dateien. Schauen Sie sich zuerst die Datei cyberjack-hints.log an. Sie enthaelt eventuell bereits Hinweise, was Sie auf Ihrem System tun koennen, um das Problem selbst zu beheben (oft sind es nur Kleinigkeiten).

Sollte das nicht zum Erfolg fuehren, senden Sie bitte die ebenfalls entstandene Datei "cyberjack.xml" mit Ihrer Support-Anfrage mit, damit wir alle noetigen Informationen haben, um Ihnen helfen zu koennen.


6.2. Aeltere cyberJacks

cyberJacks mit der USB-Kennung 0x100 (alte Ecom/Pinpad) machen mitunter Probleme mit aktuellen Treibern.

Falls das bei Ihnen der Fall sein sollte, gibt es die Moeglichkeit, das Verhalten des Treibers zu beeinflussen:

cyberjack addflags 0x100000

Dieses Kommando muessen Sie als root ausfuehren. Es setzt ein Flag welches den Treiber bei jedem Initialisieren des Lesers ein Reset-Kommando schicken laesst.


6.3. Große Anzahl von Lesern

Der cyberJack wurde mit bis zu 52 gleichzeitig angeschlossenen Geräten (über 7-Port Hubs) getestet. Dabei gibt es allerdings etwas zu beachten:

  • Linux bis Version 2.4.19 hängt sich vollständig auf, wenn zu viele Geräte angeschlossen sind. Versionen ab 2.4.20 weisen dieses Problem nicht mehr auf.

  • Es treten manchmal timeout-Fehler auf. Das Problem scheint hier im Linux-Kernel selbst zu liegen (usb-uhci). Mit schnelleren Rechnern tritt dieses Problem nicht mehr auf (ab 2GHz).

  • Sollte es immer noch nicht wie gewünscht funktionieren, sollten Sie die beteiligten USB-Controller-Karten und/oder Hubs austauschen. Es gibt hier offensichtlich eine besonders große Streubreite in der Qualität dieser Geräte.

Der Daten-Durchsatz nimmt nicht ab, wenn Sie statt einem 50 Kartenleser anschließen und konstant auslesen (getestet mit den Kommandos SELECT und READ_BINARY).


6.4. Hotplugging

Linux unterstützt hotplugging (das Einstecken und Entfernen von USB-Geräten bei laufendem Betrieb). Dies wird durch das udev-System implementiert.

Sie finden udev-Skriptdateien für die REINER SCT Kartenleser im Verzeichnis etc/udev des Quellpaketes.

Da udev-Skripte Distributions-spezifisch sind (nicht alle verwenden udev, und SuSE verwendet ausserdem resmgr, zudem sind auch die Namen der Skripte nicht einheitlich), können wir nicht für alle am Markt existierenden Distributionen die passenden Skripte bereitstellen. Die von uns gelieferten RPM- und DEB-Pakete installieren die für das jeweilige System passenden Dateien an die vorgesehene Stelle, so daß mit diesen Paketen hotplugging problemlos möglich ist.


6.5. Logging

Dieser Treiber erlaubt die Aufzeichnung der Kommunikation mit dem Kartenleser. Sie schalten es ein, indem Sie als root das Kommando cyberjack addflags 0xffff ausfuehren. Dann schreibt der Treiber die Logmeldungen in die Datei /tmp/cj.log.


7. Bekannte Probleme

Leider enthalten alle Kernel bi einschliesslich Version 2.6.12-rc5 einen schweren Fehler in der Behandlung von asynchronen URB's (USB Request Block) im Userspace. Dieser Fehler hat nichts mit dem Reiner SCT Treiber zu tun, dennoch betrifft er auch unseren Treiber für PC/SC. Der Fehler tritt auf, wenn der PC/SC Dienst beendet wird und kann im schlimmsten Fall zum vollständigen Absturz des Kernels führen.

Es wurde eine Lösung erarbeitet, die aber bisher nicht offizieller Bestandteil des Linux-Kernels ist. Wir bieten unsere Lösung aber als patch an (in Form der Datei patches/usb-async_urb-devio-oops-fix.patch).

Falls Sie PC/SC in Verbindung mit einem betroffenen Kernel verwenden wollen, raten wir daher dringend dazu den mitgelieferten Patch anzuwenden.


8. Anwendungen

8.1. Moneyplex

Moneyplex bringt seine eigenen Treiber fuer die bekanntesten Geraete mit. Leider sind die Treiber fuer den Cyberjack, die sich auf der Moneyplex-CD befinden, meist veraltet und funktionieren auf aktuellen Systemen nicht.

Sie sollten daher unbedingt den jeweils aktuellsten Treiber von unserer Homepage herunterladen und installieren.

Anschliessend muessen Sie dann im entsprechenden Konfigurationsmenue von Moneyplex direkt unseren Treiber angeben (je nach System entweder in /usr/lib oder in /usr/lib/readers, Dateiname ist "libctapi-cyberjack.so".

Damit sollte Moneyplex auch mit dem Cyberjack zusammenarbeiten koennen.


8.1.1. Moneyplex auf 64-Bit-Systemen

Moneyplex ist eine 32-Bit-Anwendung. Als solche kann sie zwar auch auf 64-Bit-Systemen ausgefuehrt werden, findet aber auf solchen Systemen keine Kartenleser-Treiber (weil es nach 32-Bit-Treibern sucht, die aber auf einem solchen System normalerweise nicht vorhanden sind).

Es wurde allerdings auch fuer diesen Fall eine Loesung mit Matrica erarbeitet. Moneyplex liefert - spaetestens nach einem Update - einen Proxy-Treiber mit (libproxy-cyberjack.so), welcher einer 32-Bit-Anwendung erlaubt, auf die installierten 64-Bit-Treiber zuzugreifen.

Diesen Treiber finden Sie normalerweise im Moneyplex-Verzeichnis ($HOME/moneyplex), und dort ueblicherweise im Unterverzeichnis "ctapi". Waehlen Sie diesen Treiber in Moneyplex aus.


9. Zusätzliche Information

9.1. CT-API

Die CT-API Spezifikation erhalten Sie auf der Seite http://www.darmstadt.gmd.de/~eckstein/CT/mkt.html

Bitte beachten Sie, daß die Port-Nummern bei 1 beginnen (wie in den Spezifikationen vorgesehen).


9.2. PC/SC

Dieser Treiber bietet inzwischen auch einen PC/SC-Treiber für pcsc-lite an. Er wurde mit pcsc-lite-1.2.0 getestet.


9.2.1. Installation

Für RPM-basierte Systeme ist der sogenannte IFD-Treiber im Paket ctapi-cyberjack-ifd enthalten.

Falls Sie den Treiber aus dem Quellpaket selber kompilieren, wird durch make install der IFD-Treiber an die passende Stelle in Ihrem System (normalerweise /usr/lib/pcsc/drivers/) installiert.


9.3. Multithreading

Dieser Treiber ist nicht thread-safe, d.h. es können nicht mehrere Threads des gleichen Programmes auf den gleichen Leser zugreifen (dies würde aber ohnehin meist zu Problemen auf der Karte führen).

Allerdings können unterschiedliche Threads des gleichen Programmes auf unterschiedliche Geräte zugreifen. So können also beispielsweise 3 Threads gleichzeitig auf 3 Karten in 3 unterschiedlichen Geräten zugreifen.


9.4. Kommandolaänge

Die Kommandolänge ist derzeit auf ISO7816 short commands reduziert. Dies bedeutet allerdings im normalen Betrieb keine Einschränkung.


9.5. Tastendruck Callback

IS8 rsct_setkeycb(IU16ctn, void (*cb) (void *user_data));

Die Funktion rsct_setkeycb wurde hinzugefügt, um laufenden Programmen eine Rückmeldung über gedrückte Tasten des Lesers zu geben. Die Funktion, die als 2. Argument dieses Aufrufes geliefert wird, wird jeweils aufgerufen, wenn ein C4- oder F4 S-Block vom Leser empfangen wurde. Die Anwendung kann dann beispielsweise einen Piepton erzeugen, oder die Anzahl der gedrückten Tasten anzeigen.


9.6. Informationen zur Treiberversion

void rsct_version(IU8*vmajor, IU8*vminor, IU8*vpatchlevel, IU16*vbuild);

Die Funktion rsct_version gibt die vollstaendige Version des Treibers in den uebergebenen Variablen zurueck.


9.7. Zusaetzliche CT_init Ersatz-Funktion

IS8 rsct_init_name(IU16ctn, const char*device_name);

Die Funktion rsct_init_name erlaubt die direkte Angabe des Geraetes wie bei PC/SC. Damit kann eindeutig festgelegt werden, welches Geraet verwendet werden soll. Der Geraetename ist wie folgt aufgebaut: "usb:VENDOR_ID/PRODUCT_ID:libusb:BUS_ID:DEVICE_ID". Fuer einen neuen Cyberjack an /proc/bus/usb/003/002 lautet der Name demnach: "usb:0c4b/0300:libusb:003:002".


9.8. Feste Zurodnung der Portnummer zu Lesern

Die Funktion CT_init erlaubt eine feste Zurdnung von Portnummern zu bestimmten Lesern. Das bedeutet beispielsweise, dass immer der gleiche Leser unter der gleichen Portnummer angesprochen wird, egal an welchem USB-Port das Geraet angeschlossen ist.

Dies erreichen Sie, indem Sie als Portnummer die folgenden Nummern verwenden:

  • 0x9000 (dezimal 36864) fuer das erste Geraet

  • 0x9001 (dezimal 36865) fuer das zweite Geraet

und so weiter.

Die Zuordnung geschieht ueber eine Text-Datei, in der pro Zeile eine Seriennummer gespeichert ist (normalerweise ist dies $HOME/cyberjack_serials).

Der Treiber aktualisiert diese Datei selbststaendig, es ist hierzu kein Benutzereingriff noetig. Falls die Datei beim Aufruf von CT_init() noch nicht existiert, wird sie erzeugt. Wenn sie bereits existiert, und der angeschlossene Leser bereits in dieser Datei aufgefuehrt wird, bleibt die Datei unveraendert. Der Treiber fuegt lediglich neue Leser an das Ende der Datei an.

Die erste Seriennummer dieser Datei wird ueber den Portwert 0x9000 angesprochen, die zweite ueber 0x9001 etc.


9.9. Serielle Leser

Der aktuelle Treiber unterstuetzt den Lesertyp Ecom A via seriellem Anschluss.

Dazu muessen Sie die folgenden Portnummern verwenden:

  • 0xa000 (dezimal 40960) fuer Anschluß an COM1 (/dev/ttyS0)

  • 0xa001 (dezimal 40961) fuer Anschluß an COM2 (/dev/ttyS1)

und so weiter.

9.10. Zurodnung alter Cyberjack zu ttyUSB-Devices

Die Funktion CT_init erlaubt fuer aeltere Cyberjack Ecoms und PinPads (mit der USB-Id 0x100) eine direkte Zurodnung von Port-Werten zu /dev/ttyUSBx-Geraeten.

Dies erreichen Sie, indem Sie als Portnummer die folgenden Nummern verwenden:

  • 0x8000 (dezimal 32768) fuer /dev/ttyUSB0

  • 0x8001 (dezimal 32769) fuer /dev/ttyUSB1

und so weiter.

9.11. Pin-Ueberpruefung mit der PC/SC Funktion SCardControl

Die folgende Tabelle zeigt Werte fuer die einzelnden Felder der Struktur PSCS_VERIFY_STRUCTURE die mit ASCII und FPIN2-kodierten Pins getestet wurden.

Feld ASCII FPIN2
bTimerOut 00 00
bTimerOut2 00 00
bmFormatString 82 81
bmPINBlockString 04 48
bmPINLengthFormat 00 04
wPINMaxExtraDigit 0408 0408
bEntryValidationCondition 02 02
bNumberMessage 01 01
wLangId 0904 0904
bMsgIndex 00 00
bTeoPrologue 0-2 00 00

10. Mitgelieferte Anwendungen

10.1. cyberjack

Diese Anwendung dient zum einen dem Testen des Treibers und Lesers zum anderen der Aenderung von Einstellungen des Treibers.

Die Einstellungen des Treibers finden sich in der Konfigurationsdatei cyberjack.conf. Es wird je nach Distribution in dem Verzeichnis /etc, /etc/cyberjack oder /usr/etc erwartet.

Standardmaessig wird von den binaeren Paketen eine Beispieldatei mit dem Namen cyberjack.conf.default angelegt die als Ausgangsdatei fuer eigene Konfigurationen verwendet werden kann.

Gespeicherte Einstellungen beinhalten derzeit eine Reihe von Flags sowie einige Dateinamen (wie z.B. der Name der Logdatei etc).


10.1.1. Kommandos addflags/delflags

Da die Konfiguration je nach Distribution an unterschiedlichen Stellen im System abgelegt wird wurde das Tool "cyberjack" um zwei neue Kommandos erweitert:

  • cyberjack addflags 0xffff

  • cyberjack delflags 0xffff

Damit koennen bestimmte Flags gesetzt oder geloescht werden. Derzeit stehen die folgenden Flags zur Verfuegung:

Wert Name Beschreibung
0x00000001 DEBUG_GENERIC Schaltet generelle Debug-Meldungen ein. Diese Meldungen werden in die Logdatei geschrieben (normalerweise /tmp/cj.log).
0x00000002 DEBUG_READER Schaltet Leser-bezogene Debug-Meldungen ein.
0x00000004 DEBUG_CTAPI Schaltet CTAPI-bezogene Debug-Meldungen ein.
0x00000008 DEBUG_AUSB Schaltet USB-bezogene Debug-Meldungen ein.
0x00000010 DEBUG_CJPPA Schaltet bestimmte Debug-Meldungen des Cyberjack PinPad A ein.
0x00000020 DEBUG_ECOM Schaltet bestimmte Debug-Meldungen des Cyberjack Ecom ein.
0x00000040 DEBUG_TRANSFER Schaltet IO-bezogene Debug-Meldungen ein.
0x00000080 DEBUG_USB Schaltet weitere USB-bezogene Debug-Meldungen ein.
0x00000100 DEBUG_IFD Schaltet IFD-bezogene Debug-Meldungen ein (PC/SC)
0x00000200 DEBUG_ECA Schaltet bestimmte Debug-Meldungen des Cyberjack Ecom A ein.
0x00001000 NO_BEEP Schaltet die Signaltoene bei Tastendruecken aus.
0x00002000 ECOM_KERNEL Verwendet den Kernel-Treiber fuer den Cyberjack Ecom/Pinpad mit der USB ID 0x100. Dies kann verwendet werden, wenn der normale Userspace-Treiber auf Ihrem System nicht funktioniert.
0x00004000 ALLOW_INPUT Erlaubt das Kommando INPUT. Dies ist normalerweise aus Sicherheitsgruenden deaktiviert. Nur ganz spezielle Anwendungen benoetigen dieses Kommando, insbesondere Banking-Programme benoetigen es jedoch nicht. Sie sollten sich daher gut ueberlegen, ob Sie das Kommando aktivieren wollen, denn es kann dazu verwendet werden, Ihnen eine unsichere Pin-Eingabe als sicher vorzutaeuschen.
0x00008000 BEEP_NO_X11 Normalerweise versucht der Treiber fuer die Signaltoene auf einen laufenden X11-Server zuzugreifen (Ihre grafische Oberflaeche). Wenn dies nicht gelingt, wird versucht die Signaltoene ueber andere Methoden zu erzeugen. Mit diesem Flag koennen Sie verhindern, dass der X11-Server kontaktiert wird.
0x00010000 RESET_BEFORE Dieses Flag betrifft nur aeltere cyberJacks (pinpad und ecom mit der USB-Kennung 0x100). Wenn dieses Flag gesetzt ist, fuehrt der Treiber ein Reset durch. Dies sollte normalerweise nicht noetig sein, kann aber mit manchen Lesern den Betrieb ueberhaupt erst ermoeglichen.

Wenn Sie also ein ausfuehrliches Logging einschalten wollen, fuehren Sie das folgende Kommando aus: cyberjack addflags 0xffff Sie sehen hier, dass der angegebene Wert 0xffff alle Flags enthaelt, deren Name mit DEBUG_ anfaengt.

Wenn Sie nun zusaetzlich den Cyberjack Ecom/Pinpad ueber den Kernel-Treiber verwenden wollen, koennen Sie dazu entweder anschliessend ein zusaetzliches Kommando eingeben; cyberjack addflags 0x20000 oder Sie fuegen das Flag dem ersten Aufruf gleich hinzu, wie in cyberjack addflags 0x2ffff


10.1.2. Kommando check

Dieses Kommando wird standardmaessig angenommen, wenn Sie keines angeben.

Es ueberprueft Ihr System und erzeugt 3 Dateien im aktuellen Verzeichnis:

  • cyberjack-hints.log: Diese Datei enthaelt bei gefundenen Problemen Hinweise, wie Sie diese beheben koennen.

  • cyberjack-report.log: Diese Datei enthaelt einen Bericht ueber die Ergebnisse des Systemtests.

  • cyberjack.xml: Diese Datei enthaelt die Ergebnisse der Tests in einer Form, die dem Support von Reiner SCT hilft Sie bei Problemen zu unterstuetzen. Sie sollten diese Datei daher immer mitsenden.

pcsc-cyberjack-3.99.5final.SP03/doc/verifypin_ascii.c0000644000175000001440000003775111657145411021030 0ustar sctusers/* scardcontrol.c: sample code to use/test SCardControl() API Copyright (C) 2004-2005 Ludovic Rousseau This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * $Id: scardcontrol.c 2116 2006-07-31 15:10:48Z rousseau $ */ /* adapted by Martin Preuss, 2007/03/13 * This file is an example on how to verify an ASCII pin using Part 10 * of the PC/SC specs. * This example uses a STARCOS HBCI card. */ #include #include #include #include #include #include #include #include #define VERIFY_PIN #undef MODIFY_PIN #ifndef TRUE #define TRUE 1 #define FALSE 0 #endif #define IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE SCARD_CTL_CODE(1) /* PCSC error message pretty print */ #define PCSC_ERROR_EXIT(rv, text) \ if (rv != SCARD_S_SUCCESS) \ { \ printf(text ": %s (0x%lX)\n", pcsc_stringify_error(rv), rv); \ goto end; \ } \ else \ printf(text ": OK\n\n"); #define PCSC_ERROR_CONT(rv, text) \ if (rv != SCARD_S_SUCCESS) \ printf(text ": %s (0x%lX)\n", pcsc_stringify_error(rv), rv); \ else \ printf(text ": OK\n\n"); int main(int argc, char *argv[]) { LONG rv; SCARDCONTEXT hContext; DWORD dwReaders; LPSTR mszReaders; char *ptr, **readers = NULL; int nbReaders; SCARDHANDLE hCard; DWORD dwActiveProtocol, dwReaderLen, dwState, dwProt, dwAtrLen; BYTE pbAtr[MAX_ATR_SIZE] = ""; char pbReader[MAX_READERNAME] = ""; int reader_nb; int i; unsigned char bSendBuffer[MAX_BUFFER_SIZE]; unsigned char bRecvBuffer[MAX_BUFFER_SIZE]; DWORD send_length, length; DWORD verify_ioctl = 0; DWORD modify_ioctl = 0; SCARD_IO_REQUEST pioRecvPci; SCARD_IO_REQUEST pioSendPci; PCSC_TLV_STRUCTURE *pcsc_tlv; #if defined(VERIFY_PIN) | defined(MODIFY_PIN) int offset; #endif #ifdef VERIFY_PIN PIN_VERIFY_STRUCTURE *pin_verify; #endif #ifdef MODIFY_PIN PIN_MODIFY_STRUCTURE *pin_modify; #endif printf("SCardControl sample code\n"); printf("V 1.1 2004-2005, Ludovic Rousseau \n"); printf("\nTHIS PROGRAM IS NOT DESIGNED AS A TESTING TOOL!\n"); printf("Do NOT use it unless you really know what you do.\n\n"); rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext); if (rv != SCARD_S_SUCCESS) { printf("SCardEstablishContext: Cannot Connect to Resource Manager %lX\n", rv); return 1; } /* Retrieve the available readers list */ rv = SCardListReaders(hContext, NULL, NULL, &dwReaders); if (rv != SCARD_S_SUCCESS) { printf("SCardListReader: %lX\n", rv); } mszReaders = malloc(sizeof(char)*dwReaders); if (mszReaders == NULL) { printf("malloc: not enough memory\n"); goto end; } rv = SCardListReaders(hContext, NULL, mszReaders, &dwReaders); if (rv != SCARD_S_SUCCESS) printf("SCardListReader: %lX\n", rv); /* Extract readers from the null separated string and get the total * number of readers */ nbReaders = 0; ptr = mszReaders; while (*ptr != '\0') { ptr += strlen(ptr)+1; nbReaders++; } if (nbReaders == 0) { printf("No reader found\n"); goto end; } /* allocate the readers table */ readers = calloc(nbReaders, sizeof(char *)); if (NULL == readers) { printf("Not enough memory for readers[]\n"); goto end; } /* fill the readers table */ nbReaders = 0; ptr = mszReaders; while (*ptr != '\0') { printf("%d: %s\n", nbReaders, ptr); readers[nbReaders] = ptr; ptr += strlen(ptr)+1; nbReaders++; } if (argc > 1) { reader_nb = atoi(argv[1]); if (reader_nb < 0 || reader_nb >= nbReaders) { printf("Wrong reader index: %d\n", reader_nb); goto end; } } else reader_nb = 0; /* connect to a reader (even without a card) */ dwActiveProtocol = -1; rv = SCardConnect(hContext, readers[reader_nb], SCARD_SHARE_DIRECT, SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, &hCard, &dwActiveProtocol); printf(" Protocol: %ld\n", dwActiveProtocol); PCSC_ERROR_EXIT(rv, "SCardConnect") /* get GemPC firmware */ printf(" Get GemPC Firmware\n"); /* this is specific to Gemplus readers */ bSendBuffer[0] = 0x02; rv = SCardControl(hCard, IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE, bSendBuffer, 1, bRecvBuffer, sizeof(bRecvBuffer), &length); printf(" Firmware: "); for (i=0; i bTimerOut = 33; pin_verify -> bTimerOut2 = 0x00; pin_verify -> bmFormatString = 0x82; pin_verify -> bmPINBlockString = 0x04; pin_verify -> bmPINLengthFormat = 0x00; pin_verify -> wPINMaxExtraDigit = htons(0x0408); /* Min Max */ pin_verify -> bEntryValidationCondition = 0x02; /* validation key pressed */ pin_verify -> bNumberMessage = 0x01; pin_verify -> wLangId = htons(0x0904); pin_verify -> bMsgIndex = 0x00; pin_verify -> bTeoPrologue[0] = 0x00; pin_verify -> bTeoPrologue[1] = 0x00; pin_verify -> bTeoPrologue[2] = 0x00; /* pin_verify -> ulDataLength = 0x00; we don't know the size yet */ /* APDU: 00 20 00 00 08 30 30 30 30 00 00 00 00 */ offset = 0; pin_verify -> abData[offset++] = 0x00; /* CLA */ pin_verify -> abData[offset++] = 0x20; /* INS: VERIFY */ pin_verify -> abData[offset++] = 0x00; /* P1 */ pin_verify -> abData[offset++] = 0x90; /* P2 */ pin_verify -> abData[offset++] = 0x08; /* Lc: 8 data bytes */ pin_verify -> abData[offset++] = 0x20; /* '0' */ pin_verify -> abData[offset++] = 0x20; /* '0' */ pin_verify -> abData[offset++] = 0x20; /* '0' */ pin_verify -> abData[offset++] = 0x20; /* '0' */ pin_verify -> abData[offset++] = 0x20; /* '\0' */ pin_verify -> abData[offset++] = 0x20; /* '\0' */ pin_verify -> abData[offset++] = 0x20; /* '\0' */ pin_verify -> abData[offset++] = 0x20; /* '\0' */ pin_verify -> ulDataLength = htonl(offset); /* APDU size */ length = sizeof(PIN_VERIFY_STRUCTURE) + offset -1; /* -1 because PIN_VERIFY_STRUCTURE contains the first byte of abData[] */ printf(" command:"); for (i=0; i 0) { /* read the fake digits */ char in[40]; /* 4 digits + \n + \0 */ (void)fgets(in, sizeof(in), stdin); printf("keyboard sent: %s", in); } else /* if it is not a keyboard */ printf("\n"); } printf(" card response:"); for (i=0; i bTimerOut = 0x00; pin_modify -> bTimerOut2 = 0x00; pin_modify -> bmFormatString = 0x82; pin_modify -> bmPINBlockString = 0x04; pin_modify -> bmPINLengthFormat = 0x00; pin_modify -> bInsertionOffsetOld = 0x00; /* offset from APDU start */ pin_modify -> bInsertionOffsetNew = 0x04; /* offset from APDU start */ pin_modify -> wPINMaxExtraDigit = HOST_TO_CCID_16(0x0404); /* Min Max */ pin_modify -> bConfirmPIN = 0x03; /* b0 set = confirmation requested */ /* b1 set = current PIN entry requested */ pin_modify -> bEntryValidationCondition = 0x02; /* validation key pressed */ pin_modify -> bNumberMessage = 0x03; /* 3 for GemPC Pinpad, 0 for SPR532 */ pin_modify -> wLangId = HOST_TO_CCID_16(0x0904); pin_modify -> bMsgIndex1 = 0x00; pin_modify -> bMsgIndex2 = 0x00; pin_modify -> bMsgIndex3 = 0x00; pin_modify -> bTeoPrologue[0] = 0x00; pin_modify -> bTeoPrologue[1] = 0x00; pin_modify -> bTeoPrologue[2] = 0x00; /* pin_modify -> ulDataLength = 0x00; we don't know the size yet */ /* APDU: 00 20 00 00 08 30 30 30 30 00 00 00 00 */ offset = 0; pin_modify -> abData[offset++] = 0x00; /* CLA */ pin_modify -> abData[offset++] = 0x24; /* INS: CHANGE/UNBLOCK */ pin_modify -> abData[offset++] = 0x00; /* P1 */ pin_modify -> abData[offset++] = 0x00; /* P2 */ pin_modify -> abData[offset++] = 0x08; /* Lc: 2x8 data bytes */ pin_modify -> abData[offset++] = 0x30; /* '0' old PIN */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' new PIN */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> ulDataLength = HOST_TO_CCID_32(offset); /* APDU size */ length = sizeof(PIN_MODIFY_STRUCTURE) + offset -1; /* -1 because PIN_MODIFY_STRUCTURE contains the first byte of abData[] */ printf(" command:"); for (i=0; i 0) { /* read the fake digits */ char in[40]; /* 4 digits + \n + \0 */ (void)fgets(in, sizeof(in), stdin); printf("keyboard sent: %s", in); } } } /* modify PIN dump */ printf("\nmodify PIN dump: "); send_length = 5; memcpy(bSendBuffer, "\x00\x40\x00\x00\xFF", send_length); for (i=0; i> stream x[KsN帿b)pȖmJ#[S;/٤H"()U7Cn`dJ,G_?y9b9ߣWo".:_!^>: ~)u?A,N" F.G`WﻃSt7+я ;YގZग >ΕoVk +8F ڨ]|>~v5h=Ciww ̂ ~s 8vG+hvo#Jj3ݡ7{{5;d#Vüs/J@0y=Xv9״;@ㄾG{5y{9GӃw=F[ڋ3rbEE`En&6R44p;xjzm>[UT-U&gF.l䄷[K K;=f/*Wzʋ="ٹLH]k;Z*"zQ0]:g<+&iHs;/8ݽxKPl?4954Z.j0#ZI&J+0}`Z *y4jQd-'{%Uj{/UxW $ Iid%o4ByX8GgY}674A9re&I~Ia?x)X#H5a+cQjɀ1M ZQF]N+e[6AbpnrlVxGFYfk gp%tfRe&i'$T ^2|;)Nj٤Mi>^a;i+kNPF5+f XMH`5m=D]_2~-C{<41bC\LN?>,˘x 64è58]|];y"CУݟE'`$΄Iy+L~1yǝo@cH<" piMSgiDbU}`/L{jf\9ệ#3d> m0%+tN:.3"'B59M掼_$bd_4Umy\'JO8Zz$ g'C]c]O"I_6VG$}"\:61%VL+16hm>6*]&6"bxxF?֑dnGR.\ 8+Lʧ+@We. \^DpJq^-fSac@(nK(TL3!u(B4!|JMN6Ƚ'|C <Ds+Uk iTӴ=7Լ5f{@sBP@D 쯝Xh8fjڜ)q b#X2p<Bv@lTaY`8c8^$j 8xXMx6-OܧWHlU2^9:Yԛ2 vzPe?A?}=Wv5ʴ*Ŀkې"Li,J`l9ri<Y )1wE2 K:aUD"$goӢ#T dFPJ&'Q[ã멒z[0 oM7uN;Cn}SBAy %_ %b*Q` G f(%% ⣟2VyK#jwԜf6M~ RL[%Udߖhqm}K1gեiVUǫuaB6Q1KI W_hVrS[2vT-sT Y,U!R/Üc֬1W/hͶ13'Lշ_RZ*_&@̼lQ+auDœ&t/MͬA3֪wFr(;gh]Vd+ uVkv^ ouR{IJ*G )lWZׇ߮J8aucbC>JWU箲 (j彌LQ,m뭦 ͉mApV35=^562Y@z,p~m?|8wHӤn| =M|k9aT 5N7,S.t>]U2WePzuWO ̓)LW6ui]yQeэ z+Vk C\SѨMW1zQ[SsGTe"TvI僠>ʑB1ۜ}1!v51U͘iplClV0~2E*)HpmTJ+tvm{WųL>Hf$er]F)݊A"i-\p!]/R;子3ݩ=}UAԎgkPkL! կ [9Ou-FJAeO #Q!{{zQAd.6g˦w @YC__az1 G#} }\ D.nԣ:<Җ*hݤ5lxw !SMUT:[wbRM/?)Te=y~.6]s"az?h` <@8q@boboK'?,/Z!DBXhe,4`lR㛕{}pldtzdfdJzOltNw ''1p2Fm:Qn \~7+Ň{-VbQƂ5>1to)endstream endobj 7 0 obj 3508 endobj 16 0 obj <> stream x\ێ 8_1@^f ռ4/~,%^+6di@%m?GC*6*vwvw,0mlYu{[wB;/}~v[r}\\}]꽾} H"XeJz^8*!67[oN;)AoN ;'7^x]ovm.dL>ZwsN*6SV#5#ƞL%S3^@# {QhWq#:/z`jK#VˢLeQ:/cI%`dF:æ3}]akd|U|5K̡⏬O)drHcE>cdmN*_/p~q Xxj`d}×^48jP<H@HTmVD?k3vz|Elh85`N*xSɘjS 1{&5N'/VHgz73Xp eTG:;ME#˫-?^\(=EWxF;w-cC2aFc-Pś>SkB@GUNHt7$mYN[}L>,3XuW^Oyw wcBT\L"JAHfHo3Rcp: (UKqRȓ-ItIPs|Q]^Uz 2^l{ w V P|-?$ruDZ5m$$&79VӊdZhv[l9=dD$%IVvRb(3g Cf~T`7c-}`q֕ ;*qYF`d+i貧*Vrż4/m\D%>8w}cڷ~!UACK9 r"ǡE^ 9=KD>Kh4 v丂nnpo BR<Z%H@R Z[]D[2F*wy%pԁ41u0j|YfIKT\{h)]C֢@4t\6yCIdH99H/VuN祑Iq%!W^&!\%acٍx֕:8; `R6gLRP5:(܅ =d[kb6shۤ3ZMd^%чR#;{Z9WX_&+6Yց W.bq$urg%*&X5 -Yka@ ֘6/PߖLۇϋfeviIА nX娆-8 {Am5"H):ޙVLjTLV`IQM?\? $GX'BKjWCJQ1MF6,z"O;Ԁbu`G A-/i9 v2qBie#S̼sK/UqTr)Ӧ~I#G% , nYZ?lQI'^# /jPR֎9I źbtT O%Cn|U=LvFEO=) us4sta>l"Jg|#!s2s/L*eLBvkqU pe0,Ecug٣TR@4UUN˙X/)vCلlV`C5Fb%8e6Q $$ Jc2 zBH?&|श|\7iZnS?le(zCL%SH)4 D0 צFR:6d#"EDF rK%zKbg$Ɖ iY3=j\Kev>jd|49B1\3<| JmL!l@6Z(̑'^USYe;xa}kG-FvT FFR+;gh kGYovL,;7! &/hKᆰ QF'V9 T8|2a}!,`:jHO8q,#wUv&gLQ:L,{j۩VxV>"@gm TvQS)1 #WHA{\gQr$ޞ>0Pm"Y)vK>Z2 u)T;VlǠLIi8W؏ p{'gmFRKHwu,4JQk!D7+PGlb۾k;Mg'>^*PL2 f$7Jn^vo]D5.ͩT&~:WKZj]{ȯ>"X<͞ X1BzgSNSZ/VZendstream endobj 17 0 obj 3640 endobj 22 0 obj <> stream x\n;=Ы=EfeMih^(-eǖ7cóR/Lr;7s4?~~W#X[WG)>~pylGk'OD/:*yG';#Ga^jn/FcUnaԴ~u]{Vh/S5ד(l~Q1ዝghZ+7b=OZG1'\`gjd᳝ң6R㝔Vvrg9s<x(k|J: g;i 9aG=ӸLjD< A8!)?>lV 9ܰ+>sIq<#9/\AvN@V^瑚?t1pדV8.a'd?!ꚓ0i·;1Z%&朅Z|DiRn޴{>&gwֵ.bDL2,5owZS99>çyȔ[,-=v4ts-agiBO,5bM9jtU&ōX  t Q0 Z _1MZjgFVc@7 _taOw˸JdMos~u_.NE׃G&VpJi1t{&S _H2oFj0nHriq'! 3VB:e NJ}̓<6`g8)ہ|v&CJGG'(^o $7uxU}%NpP.tŀB#yM2S9ٹcs!%gD$> )>A)LjBVzR@b.qdnT3[d\({x*-s˾7BR@j92-r] <*{+Q),ZߗwQ--ZU/DO5xp"~Yo^a 6oi݁|4}gO&cn@s<2Z)hz@.h<ES`}C+"F$hը I.JR!2Iw7F8hiR冽7壱d uS T׊<΄Nv.GW UM2SwG(5%.Te& HpKO'Eaf-HT `3a{m >rB`,q#5&yo`EvW,BBM<)?YTݤ>&~ n (Y>"cfU*?] Y!k_Yr;x"CّpF^#u*?〨v戼Awgn ucuZؙA &+* /bXҟܗ. φA&@ABb"A*55f>$ߊjR}F$*:e;tfuj'`um !FJU\Y^8N9X3#3 57ҳ*<Fh |a-=SB$ddїoI ϕöǐc}! wQjmW2GM}8<]PE#{V`pe3k( Iwd; ]jO/ XY[ʴ1!Mx?Fx"|⟈^NCCg^pr2u+a ؜R٧A$+ :?h`%>{OߧO ϶e:v_e\Y kF 2ץ[[&0*R 翙nIP":00(9BE_ӴQ݂f*P[ \{ (z1FG.pk+eW"VS*.%'TZ;:.Q ;'BUE 4uN/JP7me-lgg,eYSRXb\8>fV6d= gKr){ϓpo1l͛pm̞A S8T7nrJ$W"wбP*rB|ypߒxo^op8-DnJw/]dd)3Y[5s$J ή  OޒzRʦǨ]<=6 J- n),Koؒ-0ZY/*ai2^<=_p~"H@Z6}ijSdz>佚qB(RݯWe"gcs:Va\@R.DbED +:˵,m@t#{)\^ST*ݺ6jMqU|eqABlxhKoeI췴[Gpby$` @LU+ ,=cBb|_R`)WY> X!ʧ-ݺ!6r by;_WN*xu;Hawr9P *-sn=ۄWLS~}GkIPj7d4V@KmzWE_Ud\TVir@o9;yKݷdຫly mӫ k`jsQ_3֡j*0 HEwU8dsHYnٚU'/-}р1%dkM=}uq!$Tsפո~ r&cѮ:0]k ӪZj'-\zrVO//i"JۺRɌj7-I#pr-L+g*S< bA>VDӯNfZýϬ v| a9f sY_Q8 hϰ>c5,ukm|EveD5qwH D ~ 5>Jgendstream endobj 23 0 obj 3667 endobj 28 0 obj <> stream x[Is>_ʧy)?JJĖB';D󉔹DG~_O913=|XA ngbO}fszu7ήq'<^=ڇ\z'zi=Sran_[ɄUz\~8^oV59Q܉zcޕVyxi#u`ʆ-O]k.b2(c/F3iQ_ךy$paxQ܇ʳpظ~\Z1cu7kRuZJUYd8a,ZHpf+Q~/ًzÙ[b\(jx?'y*d(&Vɔg6cC %Jߴƕh <97K9"(NŪ.h_bT1!,hz9"^ҥzOJp9#vfŌآmnafN /]?&"Xc!ʟڧP^q5m5jt". b Wbg4G KP<ȊUJ Nwq;)YSKm 1!Y(^l|\)xtP&ܒyDw̳μx"ȅ0_ӈC1KfOIjQ!b92<,m6Kíƌ_}Cڹ#4oDL*om35nKpƸT++a>V0#t"=~~q $(!LGY봦a*wBO]om ̰ȎB^@;+-6a^yPc*""Ģ}{v}t5YK^a ,d~ެ&ۼQ z%T/-[J]ě~V#Vg3kI{:KF+lJ2)1NL:zT3xR.O/Wnpp9I{g88>2`v2m=$Y! wA7RTNsӵ}:v1Rxђ'+12Ero#sb2#BHQ,x9 hGAt4c3˸Ti'ǒ.-)!νKmPG孫kCq6_4[2^E)o)4̴B+k&R!GǸFGܳGzT}1zu)Ŀl|XS;n J’*QF(!5dGURzg>qp6Sgt훿ɉB-|~NW+!v Pe"unc>Dӏ?L5."@ _ \Js)Ibu .Xh:iho AS!Z3>[l Jڇ>əَ4QmV$YX7Z;r  Bew[jWNiC4Fng>I6fξ[&tP{YAL"<5ڳJ!#y&2^Gzd(YU|p,MM@:jV=LٌB̟^x-~gt5LBϬ$ԆMn^'_wrFH~pJ]*+ܐL5,NݻzPR!/Hy޷VdS&^˥[1XHk%Ednx%ruh.tr{"B䠝ueܙ0czZ.Hԗ 2-nP}1NB>wAr{ڷh_ϵُGwRޥm-ᐙ-|Vo3),[F3&J:Ϥ'E `.]^$q?W)ٙWlV]m*|&~„,3[̌&2˼w6b,}VJGo &YҼ&r,x]CW҄9-.E¨-26|:=Wu0H׶ʞ Z̮6^l+:ݩ{翁Iendstream endobj 29 0 obj 3198 endobj 33 0 obj <> stream x\rJrGT%ErlGb\(R(R&Eo?g!ػܹ 4z9p:q^|uS}x=C;Z5+qxtvYχQ>6jbp;*leRfrId1Fvvg024l|-rx?7[1ΊI>|t ȴ>.WF܌֨);Xª(դh(<e<[3/G)um'".*j)\lLހzrk(f;zbaȡq "/ߏlސ+^z69zt0K=ѩ2SKwяw7aۊI9t+:6=x╱EJ;mF$}1[% Tb[͆K¯T2<ɧQ|oRhOyYz DN;@;lfb]ܣ~abԳ)%9?Ca)R7-Y.Ũ:i~Uxm%m5sR'6ߟHʹpTAX^ǝÛy = 5j[#[bi@/j{ٜ -WB@P>qj#;ř [e#| y e;@I ?9cUIoXFz =p,Uj,1Lʞy+ nUuVRz)y95ݠAH03ǡR.xhZ KxcpJN|hH9BhVߣ*F@-s< 6RT6j\"z!?+/~<0kU` B6Zݒ&O9U;; E;xA,IMHk>Qq!W!F_UFodAj ]Vkx]"t3D]jٱ~UH2S:90A5i^P&c06e̛s FugV4ՇUkd"}$!J*9Ow4.%RbA}'΢v%"Mx:BK$;=$ELuoƬhLLY߃# y/ ?3>sI\}3 Q bP$o\-"aAӑ2ɶ)\@Nr_Ʒ?\5ىAER~2!A{N߼j [ŀ(Q{ܘ5R-dBN(<)G r7,"3Ң`L89<\E|;_xڛl&qr.7SFӄ#CΌ2OI}L汲Rhz^û+4NNisfV ]N `#I<{R8@A:Z?*Z&Qn5n>T,$q!d9cJjYP&-:T]kyn4쎹"*C`h-hݾ[-6X{#{ ;T#y p|KX2jC绖"Tc=8A1.ۮhE[Cb=};*j(u(ޣ_6Re)ɀJs~:M"o/k}›~ޢ$[<̊ tܚ쌹S`===:dCG!s%dJy/^%mmtbaQ =L3=}u|"-6b^T:~ol<'I HWB;UlZӴV! $+َrgXY􎈤Jb30T%&!Pqd?7mu) 'T& W\2&G2[xBAN]X7p 06۱NË.{W5| v $AjMw IDǺ@w%B;=AHx:c7 x'm֧ S у-9taN])TBWL0#s$f߿~!-jx t8D GeV`wMo%KoH֋؋YbMu@'rT%~ݙpHF7M]Q噢#)y{UE(>SOJ)NON/Q|=5VO:<'%՞_XB$@+xNHϙn>N-VS!$r.WiT*]D )2g$߬HV1x.ҐMo?t) T3w/ %Swu"Jd -K /$3?LGD ɂe׻jVWw}D2vvS=NysF ]a_ /v%FQQ›P ;~dt$M8Cd>)`ۧ9օ>(r2#^@&}#GhFPZ5ѱR> stream x\Kw^d_jnw<~$+L!9Q,$ےd]l?gH{j9^gW_=F?O8¿/=r7G8.~< F_7*yl_"} %+!uY$)^o*|ŸOq+|z*B(cs(; # NЍj~/^my ԋkMM"~'5 AU4B<2vb ȊpQQK ۦtq?mC 8͊^/7K(I{Pbق qUdψT ]/ZgM!rAuSf.pyaa/8?ћN \(D(,L8~'%J(ge+R:ƚ,#Go YTj)tSօpΫx%(O WfD_ ++&UL\ R2R #,s9bQ6b%6)6`ə PbZ>'u Ii&["-tH"ӒoL+'o:9 06*o yViQTy 1îbPo9,סlցP9~2x 41Q K6H4'U'^6b%6BKln ϱyWؼS\as͋(wMDB /J.4LO]K@u -ؓf6ʯ<&k&xGE#FpҌꝝqpWy!p:GkɕYh _$av Tc=BQL4+Rm嶗UBvkFEq4dж85iY01eY%Lj/4d*O^$[g1'cM4+,9]hwsufeoAmhoozpƋ vE*9@_vQf9|w UnCH^Z^UKo,K걨h$#~p#H+,cEHkNXpo3q$"Yd t:Ւ oBC]Sg=y'dfF(sUhd Ih-59p]O>b_d laa>Jj Ӥ{l)5I,6ZЏH(&"8W}FJLHNF=^1 QLLQS<+Z=Hɇ l܄\N޺aE)avU»t WSk-*51Ǖ%2\K{ڗ<|547pIffjClŻѶt{KI.mLѢ5wNx9焴N$M֞gHZRJӒ< R@L,,]|RΡX_r(Z1&Aa428!/Kl|ƭuʼfC _[Tů6RzZ[8*>LS}p‡SyˆlX BI09AŎ^ts[dĻ1QtӚyvRW 3+"ۼCLup89Se04_ gG#w3~{6EAF  ;ռ7S=; GgQ|.^A܊*Si:Jɿ=2~_,4m p#-# q DjԞB,.2eG;VSDžv~q[]deGwh&R+"@z'c~S 6ؘ۟jK%g/F!K->}6ϱyŎQp A@o)9ݩƬ>O)HvwA$gAKL58/A]3$=()CvB%"t5 +2\GE%p'MO } 6Ѫ9|X@ΌEq pAzvR 8zK,0m(;N iԇ/:x-~1 6C49Fr@y,]GVbN2;Dy{TJbRQ Et'> stream x\KsboMyG`:Fv\$S.Q(ZeItHzvA# G_?fmm&]9{q[7lUz|L1<ƎVq5o؟+3 Fn<9a8*>2%VQeV fv'GcN0ЎvKk?Ol݉[!yv7\1)o(wȴϣ~{maFkpM¬(դV8fx^G)߶ɸ'ȆҊ:pZZoTv~N&-^Ǟ&9rv7zbq/|a8W~_Xe렧_qGn@vOAV^䑺Fo‚'5Nf3gmu[ ,2$ "AJ~2ܮK0G vI[l[D-/)G%GSH\rS[b4~AuV6Nrhf<IujuST8q2.)9bV 2ߟ!N2%y9eA/ I1ӻ4Lq])9'ak[jb+]mn5Wd2ŗa5j5E^f։W{ p@ċtA18d QʙJ ZAJn2u;ۤ]O؝e+|4$RםmT`1k3笠6dIXѿ q], f|j5a@:-#0ΠXy6 i0<&RpVXit{ÌvN# N\I IPIέyx5 7pBvVn 4I {fH9kS/Nɪ(A֫,Y+OIY~W"m (7{XG4J%䨍 @SB Mԥ@ú ؁xm\{jW[fF>Mib$k.4J1B THfAUVd85a:gqB"#4w il^/u<-hW">* yN-Dk?UG0swQpzb+?x9K{fNI4$O \dӵ( V̌|ԱBaXt<:{% S9I/IwZ8fZwE^Ipw, +U"5<҆ Zq|*|LH0/0*P94qHsƀIbq6fQ2PQ,n'1 %g.&7`zbn"H4 bj.[kდ6=CE$0N3R!{ ŧ] F>("-J &nPXfxړΔ& 4F!g}udH'[B/=)D"N p&Wi66iL7N5CH;j$2~lޝP` Ѷks<Af* B `)H#%2 )21/9*0kQrgfX5Ae{3Q)+`DWo*m>k'\2gp&B]&.LU -m]T`xǃ38Pϝ4AZYΉ5Ԋ&Ѡ> 7d0Mf%{h P[rrt欳md;JxhF大NT]$@CTCtx9#>bOWE`ԡI?qY}A oL=#_BY`.r~]y( 3{$XFS^r|T|NF !x|)'tVsiBS.\SD1b o?$Y׎T0ަxn'߄Vx%@xN*}: AoH4D[S[cZ:R!9b@tvbGI!j֘yAb?.Fm<壘D)APC EٿPWR18/XP%)A/MҌ2o &x^..􃃛e$pJ^>,gKj YXk-`pUvl2~&ѮlsL**VQ B%I雥.E sM31%jP 8룝 h,aZp$vi{HN 2`6;CI')Oz$QyEB%J0C=z+髇'|/J4dsʞpEaåaNqWw ,6U Rd.s4!_)(hK P' ]S ]FۑtF(@`Zq@ R-I!`taEESA:痋Itn?iYJ$!x,m]6Auhhӈـh_*rQ@ ۹Rn_e W:Hݽ!TtQ LzY1y\o"Gԡ+i1GUxI.t?ZY('\Sw^>VrK%j "(qg͋a`W55a26 ĺ#@gs#|0IVbRA=밇a2K4d1+5t%Cj>yn x^K`U5tJg+"})*dkfNѯ13!s{+k亶f>SՠyHG(endstream endobj 44 0 obj 4160 endobj 48 0 obj <> stream x[r_p47QmmLK> RHg=+kfJlTWג/{9x}/G,glƏdWx\IcmI/SBFa'e6)%^3t#f͆'f1:6\I(;<+M̆GFL܊eƍb4iK:vx{$L֨ᬌ2ΨŴYQI*·l|šҽO‡[elk7p]+e8/wOch(?&Mݽ)1$f<Z q&/-a 92+@G|7`;s׹f-k3x-6r&X1aag1L0v'1\NVʯ*l(߹KeN' jp.m\O-"zZaI!aKFβg-`|7 e`ކy2`_9땰&$Հ˧#a ;Mߖr! }xˣoqLfl:l#wiPݖ+l$ ޿  ȝE E|`d:bL60Aӄ>a !t ˻z%OQρ'´/wT.<&(-MS)5r3>,B;0F0Kww3I3=-wQ5Y tYu@/p2*k o+Dۓ Z 7qꞠq=˛ f{xkm}0L8aJ$DiucV,$ж܄d. z`w䟟a[ߋYU)r]w]\gOw"|uKw3疛bEt|]2 _9lFZ544-%zqKaTN1WOAo9+H9^ceD |)ZhT:802̘]yv= tGN0`RqV9,vq]tMaxO^wI)x({Q9tXzCʆ+ S)5К<4 Ƶ]; &`

&ahN{ xLi☰`E9I2y4[uDY>v,X [@KV+nGRfՄbMI^1n3ȘOzB-~~mڹ)^T*IT/F"Hڎ*2p,2g(c 4/ b?]BoL-f]i.M5Vd\~$3Bd>v N8BkGDlHwC,ǐt&$Z+OTn p@P 61 ! G̬e/Z& pJe 1ZFT /77,I9mtC-xW}RwR9-5H6)%d3%zf%oremakjk"fa:9Hsa~6rK,F`-q,G*ˢ D)gHk#wϟc IcS"+zjTU'}2)Y)I4^DΦp@A&AjtJbxf,Qb"2QnDdt[_kwIաD)|W;,հ7 ႁqč^KXgvUxAnK˫ؒ5oZ|:k+U] VPb`k#-"X(ؒ{i[ u OxUny%81w1U+wlet헄R*#ӝjB/HN[A)b&QG9 #~ MӤ XtQR˨ޟФٽCN9F]TV .cꕲGS:"/W-7y#'~gB,/s-@w& +OLhd'8+8DT"J] +IܿKI"!4"L(h&0Ѐwݒ(] D넀_,9‡& nHEGGWcШϐgh4jtv21,0 %9E_kHX֡M>F0r y!9/uKǮs;>Q Lw7ޱ~]^{UUe,l{7e9~x0]7>%#S6YO!ѐ9-S[Gwi6}gJrrݵȤ*K6Rl%- =TU@G8@ITIo)vCKM(Qk]8:4dߗT#Y|f'Ұ#SƠ 4BxB9dҼ+;%*!MYg!ENOڸ\>H2fĤXK֬d';C՚r~k]Heh?'vibײSVtoQ :io"ȇ5we+xdw"D16{~%Sy"e\!ZtÎYnnX{(ܷ;s9NӪU'.;@Z@3~ZAɆ}+O"Mx gl;`CF$4HҏMɸ s=mq?k$>E$!? $䚤_cLǎPB}A EvYHWA.ΰ2}+s0v'+) ^qS_,ˮQ}4Lx:ʣ5MzGƂ\;?/'[2iXrx7ø|fQCۑH녗5nLI`Kkzپt:vh%,`;$DfQ1 }Nwv1UhRyLJsNQtMƗYg֟A2Βp7A.=W>MCv< eMendstream endobj 49 0 obj 3521 endobj 53 0 obj <> stream x[Kr_1CC5ldȲX^؇vK:l. >*6U쮞YEB@q|U_8:W+\<~VwWOѕѫa6^:<;e IYɫ~ZnQ:Xmc{RH盭V!ޮ_n:XvQ7[RJ~6q_wuzl|:ev)͞ 8ca\/ClSXկ q:1qlQޛ@^_S/0,ՇίO1Mcl}ߥz콡iW@C7NŮKA^ 2ڮf* }8f}'RpM^9`>0>*@vOAVnǕfNqۺ..Bbu>d>pVމMxz=o~B/h8Ʃh#Rj˜ گS/+ja8(,=l.H!WB54okNh-Z`3t=f_NO~Zzx ȨSz&Ra Xu%5֔WVicf^Y'+"{yhN$Bw^0bВԅc[𛀌lcp/.6@cYt3ZjxpBj5e/(٪)*Z,6Tiv۞c~CH?]LOdlj@β@`1EVwǁ׸0 tfsQ%t<,+ p >er4_PxsCbԩyI4k[_#-&E`8$mQ_/9}ih5~VO_Z]%觑sT:I"C&]xU}"yM¶JX7m=*ٕE6,G 4~j5$z>g1D#YRЫZ]1 }m_l6Ƃ.rkN#&B3AO]M`t\b|Bc[6{Iw %]p0gvcp7"pqx_N5VfǴ $H*diȺx5Rv^Nθ%T1qhbz*&iLGʦ8@ -.UlhP\a˨>!]Hh7F $=Z!L_1ԦXrGVbF$AD뾯dήql5zB' &i*¾eZД\# |4W>rnf`3+=PYgT٠Nj3+=ֈWm)#Bl ;%4 0^L<=AF"4@^%3$twYek󖚿QKjc_QDDv*vűҺ^kL}>԰G;4#cNiS.VJ|Cߠ55rV4-4%SACaFK;摩BHuyҍqX3!sJYb~5gpeX1`f2rl虸V>2h.":iu&jCPqR-9tʐ7qwk<'ɶ"KBxwu/+<7pXRąy*T~R'Ihܐs.a@=8^ci;krKmfo8sLw^!l= Wb #U7^sɎyGa<-9:qaĕDNxaJ#698aB*`^H=(f̲\hZH Wcd:@a⠣ڣNiWĶ@S?XՍ&P@@;Bƀz%p:ݟ[q hjRӤxz!A1>63 iQև>ԖYP` ͉&4ի\*iޚ `T >쓭dz^+DEoh q[\ZKcei F }/`T-Y2#5ilt}b/ .W9(Ԡط - Ֆ &7"+0z;NRzdOvx?}Ӛ/ 1VW?`R <)|b8e%-r8NU"y9I֡ʰi 0Fy|Ksvx840e8N 58UO؋|=_ؗO@{ة1U7{B&U&.y=4D@D=A?)*݈U'^+ X΂;Rb Ÿ<faǻתfd%ôȈ 3媡\EzxR;z% nVyFUY)7Y9wJD9יS3&^^Ss.q 7#ށ=ݙz.16{L~sd[TNPbp#V_cšBgf?]`d?"3'/5:<0Z9̳c>}z.C5uۼA z^NE*]v}BlmH~W|]f2ߐ׸086"9#cy@9B@ϔK͓!i[ mbٽ/ᲠWi!KrHt㠽SuDO/Y 4 mNCDt"A{o8mendstream endobj 54 0 obj 3442 endobj 59 0 obj <> stream x\IϯpϡԾA #,0f13Ḫά Zrry/z/Orz7ޏ{2C`TN9bOʅ^}lwʩ^:m7+{\螯ֲwNGݝ,jm/ߝ0iL쵋 qhnֺWQ[}A镓VwVЌc\ɸq|֡ut_ ֽu6qJuR1t縹Usf@쮨 HKE'lwBwh;z" `+v g7f"8i1 (袽)GZy+:9}՞Wxxz\iFKx3׋'썏>^E`o+TSA~f|U@>uA̢> UŸYp$k>ٖI83|5ea/t\2Xߌ)Vqq[M/WZ +r?;t{㞌ERoW2JPi edquf;S]^Q.Rb )}- Jsn8;'1УJ@}Ζ8OY;_vLD}[qzD3IR)J='fA\UmzTiL9ᬋ,Y(&0[`Q"$㸛tpZ3a"]益v\`yIV9ah}/>";:!-r~ )MQ1ev'Y܌U T7?yK0^(@ AB Uvx-(D /U?6[UF>Ѹ/M 64RgBLjp#H@ Bc}kH#'zF|H}+(-1uo\۠cyy`$d2 i $**q(r@\r8RI_Nƥ|iS/`Qk'͊N"\][ntOa <;w< &4Ϩy26jK\-wMcjP5!M_Xlv`W֝G}G;<7 Z x}Fߟ&Y7_ KK_R?PKWҠ [x)[q3j^}{yĠn{y'{P/yAMoaN`ڴtժ@T?!Yy|yFyW4ӉW-\ɂJ?od#RU]`n5dvl"3tRS!ɋMdm+:pt>i OQϨ#Ze(@\m-{C349q6W(Liv߮$R-WڟT_M1A >H;FfJ*5Ӥ怣}CXxG Fk 3qg'1Njz.(쬸御И+CX15>hۀj&Lµkrfwsa(1E,fiw3}VC2TL6HN D60ڄkvm;sP3lF ?N3({5]Qp`9zK1/(_e!]eRM- e쥲 !R,>fc5ǎ|ٚ 2R?égrjq0նMCYC<$ƥ ÚR/JUH,JZx(;xe?m_5Y*EO %q;ez6%*~ SXX|FI} pAl&R`Xb Pf5 %:i"%o|hbWVǛ(g2C/!l}f{rʖnaLSO-S/|ߛ1VDyO,:"JƀuQjd8 L*&)m, O4!A]CruyMD:A^ lwQGC702Pa]η &C??X}6nǧ!NḋUiܠ*(iƃNLfg:4 `ZPu5D3bj>Ob$K6ғo,V}31{d( v(Mm_[(pF{R'0]B<=ԅ?0^ J.3,gL;04̖e6ށT4ݏ ;;T)a+q%Kb;h&5cC T},d6pxgjIe講Ix1+?Lr`e2\1hZ1x,I?Rȃի~14+`E]rʱ.g ^o-ow~lvr˳c'%W[*Scfe-&EeEJR?@ofh&w-plnJtK~\ou\.Yd? A6df'ȈW'?tXb{.OOE ߇jzFӀB?T~-9O<A`!['fnW[p'цT_&F VCb Ja.#m!w`Z x&G)lߜ`'y-lzDBiYvf[#Ak ʅ/^iendstream endobj 60 0 obj 3589 endobj 64 0 obj <> stream x[Ys}MeAMԑЖY㔊E&E mI#/$i`tc*\e>>}L,y/b[]ޥX~]Z irw&[irh!xiSr;zrne%VJyfuZ0kWɊ2{ZwLZK홲;¡.CwEpVLzeLw{f oWhzaX@3QYvcR Z1cVJ3mg+)VuasɌݫ aOStK KyMw;87|{^ 0mǫ5g=Ίċ8`w:E:UBvM Αڳ0|L:НCЕe /3T֚[(dΝpAYL^;e*ɜ :+:?I{^;Oq(U:z߇6>(IoP@OC"4.{- H=I8I0 1NPj@v%zRqflX{#0~6&C"cJ mGqU:.bBH}} R߄7!yݠ)7Mp 4€nQS:{i$BlNb; cƔSjʀ l'QJj\$@;K\$P<8K s2郬8.#rI#ykvh)ȜOِ& e%P0D8qy@jGsPs3`^e3Hr{Br|i3z91.jduY/k͂7=$HWh0k>($K\5i1*|3cNY.@B+3Rhv+bh@[KAci,T4 )AO+TțOtWׇO:ok86 +Қ졬h®tEOgէ(Ŕb%QvC prqIjk)bK8Tz_w#A\Hd\G;@t+4a-/q+%kB g &~h f@ϰpDp `N.pMgTR=h5(rI:[/G6>e]ܒ Bmu>FQb3XY%I!+}{nub"|m'UTq @x؄$sDIoʙq|?tlM0xvP1JTM[uDǝf] h5Ӯ-M[gY88q81qDRq,kbN"0w!&׹ᵉ|x-J=(10 oVBCl \4)8 *yt :fMyK@M4{_>?mEw?qg+%#x`ti QH\H"n\;p7uz/@*yiŌD 5|\js!^Sd*FeZ&l8$ *>H'EU}CH$)?^H`/odD0a3x `{,y'0PzgJh2͐ynydhE7AI+6)o~00aWp 9ao4@ۮcpM `NÅcVMW[GiUYc{˕NGyi7I@bH#>2x[Ic(.|E>`rm/)Ox}b.OG WHq$2oHyd ~ - $ K/JTPx~9+.E+e:d䖘SL' ~'2q4;88@2gS^Rߥb4]r@^NY sAmWH!$$j^hȤ QVmߣe۱2r$sP*+ڥY. lyNZqxeSәs:륖\0븥59#ݽ77W;/bn?{w[[~bӅ⯼XhgE![ ۳6_-ޣOz'G(SRAtig]ZjoU&{x|sP`L>94"[2`-?4!1 Wyy4,i3CĤ ryendstream endobj 65 0 obj 3272 endobj 69 0 obj <> stream x\IsNY+^4/b_rd9E`E%RdŲ?osH1[̡\h%%lI׋'v"<]巹uy4^?/qk 4mB5'BPikɘ֔\_/ #n֘y-F7ۗ ǙIOp܎8A4 5\Mjaw )򖏌b6`cy@f0oJQeӥ-߃^:=qh:w(3oO=ڝ#ʹLߓ ɜ,>s5,tq89 ۃ|NԷDCGD-C^xU3) HFT&TIfFdN#Aukv< gXo F(̼"bWn]HnO9VX\M0c"BK5.!kd38A8:CQ"|]T 6hGʄ=؝iΰ Y9(nsL$1OyfX/į53]{R;P|ʹ&*F ,}ꣻ˂ G|&5h 쬲'i=UV} X `$6 C3hr8} C%/"q6oj\_ؙޟMafzzUk0™ T`$Bj* 1ZWC([`Y [&'^hgK_a|.CMs/0IMĄ{fsZ:9;HQ6]P8A5h5+u:TP0X&i"AKB~ Xu 2?4ggm;\>G%%@]qBù߮"R:#s!tDutTCe#N`KԼl),R>{4<)g4_qi.J4;\Ui>͖`щp?GV+0_aM N(w)(0!`@ fI< pf]2u\9-MW=8vbXʮ4]KZY/~Uǜ{|]^.nf;:r?f|\,-|X1FF ޷U$z-w(Pg|\F4Ûq~ ]<1Hů&u|+74Gz-<(MRui^氳)˖j'fGjRp5ުK,B).QI+%|{nj%n.!!n'/cF2͠RI$j{k>&#kT JľC}~.9ݼ5BEaPlodF"(q-4Iqmdi"*+lKhZP)([CE;BNz$ٚvްB4tmA [b2F#;&C 6E5Ѧ}ȞA=V( W1C@AO :Lo'ŴLϨh8m{ω &kZ(rԵUJcyס/![79R\)$VfHyKDP<[\96QpӪ:N[@$!"Os$pY|EPidb S L^,kgT'KM-M ΩH%3y=-Aendstream endobj 70 0 obj 3563 endobj 74 0 obj <> stream x\[wܶ}${j*ߢ؛!-QK%I~{2 ` 4!ǭNΉ 8 0 nI [R_S|}h[l0zx`?h{y_Zb5r~`} |Ev]5'L Y%hSWh-k bmX^)biu- ܴm*vo_UO ^I5SzRKן:Vς{. CՋQւ(MuS=$Rs^/jΉTo9QW?-c 4"(bA jWok"RU+JJf/8/^w3V0^]'5:4T;^\?Xpn vg+WAҖ/8VjB4$M'3D[WNbY* S F v ]; c2 CxahBT GuHn~u .)Q࠿ՠ`Tv>}窟B[75VP!BMvb*pM?ˤ( ov|?۠hsqL3.v-"6ʹJ4(Mi5Tc$xx'9r&r-Z$vh5]OӨF0^]7n( 8_.G׋wK)#Mjd*3.yx88~~%[9x9,b:ALQ,G $u 7Gu)Zr%{rI$ŊK@<z?A4h*&\@Y\sIaqL Fִ`⨍%8N?0bBxEdFCkJX6il?,o.+(LYzL#Hbt13ەsdEa4Qq@WD2-vntVyP(" ,ˁ(H~[i E<Ӆ.w_Y{u,f` 5&HQy!:r3SHER|9·$82)e#<Բ9b#D?כ &""7ҬmE:QƲ<EAg8a/&%<jqB;ʀ3 =0lg3*."\&驜0"!afIxA""; `o{RMqYsIeEowh`T;yGgx64UhuM<#2/lKO6c Gq''1K Sg4eL{ Ì4d(6P@E іGW h+Y@X)r Zd @iI({]@kaOxhE(vM٘mW5;]qlCN@ږ1,*\uI )Ъ L_~KjF@ki;h_%z06PP\>0*dlv%a' ;ݨ&&JjA&5NNS(vTw,lYiPV\]q'GQB(^ u,i'[o$$9st=8uk7Mʵh(_ľo>hpnz"QgbKhs@7-B?-ݢ'xPPn&P> g89B]Nn=sϕ ( Acfqdi ^ > YR7aqcg5~>\Y}U(0ʢRJOYz zT_^Y?OyHT'+[RJ"rg3^ +2xsi=P" W"e߉h}W0c&7?IV˔'/KEq[3/f6R\lL5鋻%cfvx;ѭ>q$^6/ׇo#3g3$+]/I8>O\ab3LGՋKa.6Txai{vSn3P :Z/0,`0?4ʨ[ RPwOK߃;2rJba{]ɮʇĹyđ}@|RoRf)"];J#eb@uTT F{.[bg)d|Ϗ'`s$&&Z`6j11(ZB#^@0ͪ[C~Q@޼/[ Ƨm{X^jGnm4x "?uu-`908q$%v4$-KRi|߱KϛK  niɞMgA^`wI4qU;{b<"r?Y ]tYl|%u|X"#NSrҟIf;AHx_|Zjg9$C&%oޚ`zcX6@g!y?}^zZǙ0h|=p fnJ)&u7~e4E@v.MV:>Mg$د3F@O抹}g=bԭ_/~/endstream endobj 75 0 obj 2767 endobj 79 0 obj <> stream x\YsN%o+q& <Kd)Nx&Hіf4f{P\)* 4>nmؼu =7ۙ:grvƆ6㝜0w|j4zcuPwaM-lәT5]'.ȈV^0҂KۈVgiwٲj^[T, )Q}[F0m"Yƚ:N\,p-յ^B6:k).QWoϖ15j =)۵:IO+ e[6^^jU/F ?agEhXpWH+7AqZŌ+pspr)Md ggo璷^`wfΘUMkZ3{>{ٓWs6{O={>tZ 1"BiV Fg)cLVQ1]osj6W+X+zh(Ec1-C (eN=fFC#uuH1(J> Pn<<^v,Kh]- pI9+EstQQq9TW"e!!q E)%}M0EȎRoʹvv !~:J;p/‰ɉHU+l`x+ R|X@Z}DA~Nꌳ8e( P=ڵ,'/hcz ":e-l1ky_=RΟ? *4j݅U<>uU]僄$eɋ3]Ov\7SphspvrZ2U" wR^$M&:M@!;qdPb$$#q,KxMq8!F[Nؠ'Q`6=}?!rg cjA@Mҵ;JQ z.i/7D'ިdeNݏzB'օ-l'bm[^p+|C7Agd+TkEmuZRC;NpԕWEÉ5]%=ʺB\iY_C`5ŽBk YF %J!:LunT= l1я >v) U.(+OCfvRדDwb#p5rRI߰H%}qS(%1Lrag+n Ϝұ*}Ӆ;6zfM&8R!Kw$)lIKS![U7,t*9iqL{) K%B|B; MVA62-ye|-![0Cnza3jh䪕0uJ}JзTK(?# :5 %#au6`M%tp>Dce$d)5Am<q!uEQIl( ބ%)'.΂)&KO?EԆbp,n3o.,N}/2dMr޾c%E! fR$DRWl+}6G9$4lV˔ϡ:Cʅ-Y(އ<[5VFTU/  Т$%:5t96mxYƹ> stream xYKs5ﯘb9A@Q,\Rb @F#hr!P.;R\v߳I.oi7EZ_'+X UytʙnuY_|vztڰ}#wv/%wNGh%;헖8tEKe".WQFHv/5WQ[˞WE4\9i57܂ 0\^O u18vVP< ^nRMQI)Rk jk)֥z;I5 %@JW/ 9e ve Ě8yӁ]U0tҜEhΕv;e86Zd^PB*!p+GcGGept8#l4&$`N3Eumh`EL,)c8rMbFWic0YE2:J\m4ŭ(v*3g$޾m¸I\՝q?Խ4&S/SŊ&锛@iN.hIzĭqpOX/;IGҍ: QVD=FUW*IScWU\VqSŷUU"uoxYVCBǠ*!p-SmaNʇ3 [f{cIn&< .hnE.j}V]LHA&E]lG[WA:gud-D6H+MYO.1l2wđ{41RFȀ@}akyf! @e|qMpCڒ']Sl{xc=2H5 EJrpr Hfr MnvSh 0Lj9b[0=c\ #3Y^땷ymo#49f·QAPfT <'p?B:'4ՎaARC ,4JF|˰%Xhs Jx#k-d--T wYk'5|~itendstream endobj 85 0 obj 1653 endobj 4 0 obj <> /Contents 6 0 R >> endobj 15 0 obj <> /Contents 16 0 R >> endobj 21 0 obj <> /Contents 22 0 R >> endobj 27 0 obj <> /Contents 28 0 R >> endobj 32 0 obj <> /Contents 33 0 R >> endobj 37 0 obj <> /Contents 38 0 R >> endobj 42 0 obj <> /Contents 43 0 R >> endobj 47 0 obj <> /Contents 48 0 R >> endobj 52 0 obj <> /Contents 53 0 R >> endobj 58 0 obj <> /Contents 59 0 R >> endobj 63 0 obj <> /Contents 64 0 R >> endobj 68 0 obj <> /Contents 69 0 R >> endobj 73 0 obj <> /Contents 74 0 R >> endobj 78 0 obj <> /Contents 79 0 R >> endobj 83 0 obj <> /Contents 84 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 15 0 R 21 0 R 27 0 R 32 0 R 37 0 R 42 0 R 47 0 R 52 0 R 58 0 R 63 0 R 68 0 R 73 0 R 78 0 R 83 0 R ] /Count 15 >> endobj 1 0 obj <> endobj 8 0 obj <>endobj 13 0 obj <> endobj 14 0 obj <> endobj 19 0 obj <> endobj 20 0 obj <> endobj 25 0 obj <> endobj 26 0 obj <> endobj 30 0 obj <> endobj 31 0 obj <> endobj 35 0 obj <> endobj 36 0 obj <> endobj 40 0 obj <> endobj 41 0 obj <> endobj 45 0 obj <> endobj 46 0 obj <> endobj 50 0 obj <> endobj 51 0 obj <> endobj 56 0 obj <> endobj 57 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <> endobj 66 0 obj <> endobj 67 0 obj <> endobj 71 0 obj <> endobj 72 0 obj <> endobj 76 0 obj <> endobj 77 0 obj <> endobj 81 0 obj <> endobj 82 0 obj <> endobj 86 0 obj <> endobj 87 0 obj <> endobj 18 0 obj <> endobj 55 0 obj <> endobj 24 0 obj <> endobj 12 0 obj <> endobj 88 0 obj <> endobj 10 0 obj <> endobj 89 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 90 0 obj <> endobj 5 0 obj <> /Doc-Start<> /0:0<> /0:13<> /0.1.1<> /0:15<> /0:16<> /0:17<> /0:18<> /0:19<> /0:20<> /0:21<> /0:22<> /0:23<> /0:24<> /0:25<> /0:26<> /0:27<> /0:28<> /0.2.1<> /0:30<> /0:31<> /0:32<> /table.1<> /page.2<> /0:50<> /0:51<> /0:52<> /0:53<> /table.2<> /0:71<> /0:72<> /0:73<> /0.3.1<> /0:75<> /0:76<> /0:77<> /0:78<> /0:79<> /0:80<> /0:81<> /0:82<> /0.3.1.2<> /0:84<> /0:85<> /0:86<> /0:87<> /0:88<> /0:89<> /0:90<> /0:91<> /0:92<> /0:93<> /0:94<> /0:95<> /0:96<> /page.3<> /0:97<> /0:98<> /0:99<> /0:100<> /0:101<> /0:102<> /0:103<> /0:104<> /0:105<> /0.3.1.1.3<> /0:107<> /0:108<> /0:109<> /0:110<> /0:111<> /0:112<> /page.4<> /0:144<> /0.3.2.2<> /0:114<> /0:115<> /0:116<> /0:117<> /0:118<> /0:119<> /0:120<> /0:121<> /0:122<> /0:123<> /0:124<> /0:125<> /0:126<> /0:127<> /0:128<> /0.3.3.2<> /0:130<> /0:131<> /0:132<> /0:133<> /0:134<> /0:135<> /0:136<> /0:137<> /0.4.1<> /0:139<> /0:140<> /0:141<> /page.5<> /0:142<> /0:143<> /0:145<> /0:146<> /0:147<> /0:148<> /0:149<> /0:150<> /0.5.1<> /0:152<> /0:153<> /0:154<> /0:155<> /0:156<> /0:157<> /0:158<> /0:159<> /0:160<> /0:161<> /0:162<> /0:163<> /0:164<> /0:165<> /0:166<> /0:167<> /0:168<> /0:169<> /0:170<> /page.6<> /0.6.1<> /0:172<> /0.6.4.2<> /0:174<> /0:175<> /0:176<> /0:177<> /0:178<> /0:179<> /0.6.5.2<> /0:181<> /0:182<> /0:183<> /0:184<> /0:185<> /0:186<> /0.6.6.2<> /0:188<> /0:189<> /0:190<> /0:191<> /0:192<> /0:193<> /0:194<> /0:195<> /page.7<> /0:196<> /0:197<> /0.6.7.2<> /0:199<> /0:200<> /0:201<> /0:202<> /0:203<> /0.6.8.2<> /0:205<> /0:206<> /0:207<> /0:208<> /0.7.1<> /0:210<> /0:211<> /0:212<> /0:213<> /page.8<> /0:233<> /0.8.1<> /0:215<> /0.8.9.2<> /0:217<> /0:218<> /0:219<> /0:220<> /0:221<> /0.8.9.2.3<> /0:223<> /0:224<> /0:225<> /0:226<> /0.9.1<> /0:228<> /0.9.10.2<> /0:230<> /0:231<> /page.9<> /0:263<> /0:232<> /0.9.11.2<> /0:235<> /0:236<> /0.9.11.3.3<> /0:238<> /0:239<> /0:240<> /0:241<> /0:242<> /0.9.12.2<> /0:244<> /0:245<> /0:246<> /0.9.13.2<> /0:248<> /0:249<> /0.9.14.2<> /0:251<> /0:252<> /0:253<> /0:255<> /0:256<> /0:257<> /0:258<> /0:259<> /0:260<> /0:261<> /0:262<> /page.10<> /0.9.15.2<> /0:265<> /0:266<> /0:267<> /0:269<> /0:270<> /0:271<> /0:272<> /0:273<> /0:274<> /0:275<> /0:276<> /0:277<> /0:278<> /0:279<> /0:280<> /0.9.16.2<> /0:282<> /0:283<> /0:284<> /0:286<> /0:287<> /0:288<> /0:289<> /0:290<> /0:291<> /0:292<> /0:293<> /0.9.17.2<> /0:295<> /0:296<> /0:297<> /0:298<> /0:299<> /0:300<> /0:301<> /0:302<> /0:303<> /0:304<> /page.11<> /0:305<> /0:306<> /0:307<> /0.9.18.2<> /0:309<> /0:310<> /0:311<> /0:312<> /0:313<> /0:314<> /0:315<> /0:316<> /0:317<> /0.9.19.2<> /0:319<> /0:320<> /0:321<> /0:322<> /0:323<> /0:324<> /0:325<> /0:326<> /0:327<> /0:328<> /0.9.20.2<> /0:330<> /0:331<> /0:332<> /table.3<> /page.12<> /0:383<> /0.10.1<> /0:385<> /0.10.21.2<> /0:387<> /0:388<> /0:389<> /0:390<> /0:391<> /0:392<> /0:393<> /0:394<> /0:395<> /0:396<> /0.10.21.4.3<> /0:398<> /0:399<> /0:400<> /0:401<> /0:402<> /0:403<> /page.13<> /0:404<> /0:405<> /0:406<> /table.4<> /page.14<> /0:473<> /0:474<> /0:475<> /0:476<> /0:477<> /0:478<> /page.15<> /0.10.21.5.3<> /0:480<> /0:481<> /0:482<> /0:483<> /0:484<> /0:485<> /0:486<> /0:487<> /0:488<> /0:489<> /0:490<> /0:491<>>>endobj 91 0 obj <>stream LaTeX with hyperref package ()() endstream endobj 2 0 obj <>endobj xref 0 92 0000000000 65535 f 0000055703 00000 n 0000093716 00000 n 0000055545 00000 n 0000053069 00000 n 0000058217 00000 n 0000000015 00000 n 0000003593 00000 n 0000055828 00000 n 0000058004 00000 n 0000057719 00000 n 0000057941 00000 n 0000057557 00000 n 0000055869 00000 n 0000055899 00000 n 0000053237 00000 n 0000003613 00000 n 0000007325 00000 n 0000057352 00000 n 0000055962 00000 n 0000055992 00000 n 0000053407 00000 n 0000007346 00000 n 0000011085 00000 n 0000057489 00000 n 0000056066 00000 n 0000056096 00000 n 0000053569 00000 n 0000011106 00000 n 0000014376 00000 n 0000056159 00000 n 0000056189 00000 n 0000053731 00000 n 0000014397 00000 n 0000018455 00000 n 0000056252 00000 n 0000056282 00000 n 0000053893 00000 n 0000018476 00000 n 0000022745 00000 n 0000056367 00000 n 0000056397 00000 n 0000054055 00000 n 0000022766 00000 n 0000026998 00000 n 0000056471 00000 n 0000056501 00000 n 0000054217 00000 n 0000027019 00000 n 0000030612 00000 n 0000056575 00000 n 0000056605 00000 n 0000054379 00000 n 0000030633 00000 n 0000034147 00000 n 0000057418 00000 n 0000056657 00000 n 0000056687 00000 n 0000054541 00000 n 0000034168 00000 n 0000037829 00000 n 0000056783 00000 n 0000056813 00000 n 0000054703 00000 n 0000037850 00000 n 0000041194 00000 n 0000056898 00000 n 0000056928 00000 n 0000054873 00000 n 0000041215 00000 n 0000044850 00000 n 0000056991 00000 n 0000057021 00000 n 0000055043 00000 n 0000044871 00000 n 0000047710 00000 n 0000057084 00000 n 0000057114 00000 n 0000055213 00000 n 0000047731 00000 n 0000051302 00000 n 0000057166 00000 n 0000057196 00000 n 0000055383 00000 n 0000051323 00000 n 0000053048 00000 n 0000057259 00000 n 0000057289 00000 n 0000057641 00000 n 0000057802 00000 n 0000058089 00000 n 0000092278 00000 n trailer << /Size 92 /Root 1 0 R /Info 2 0 R /ID [<357C6A18161CBC470CAAA7A4D7F2C905><357C6A18161CBC470CAAA7A4D7F2C905>] >> startxref 93927 %%EOF pcsc-cyberjack-3.99.5final.SP03/doc/README.xml0000644000175000001440000005234211657145411017151 0ustar sctusers

REINER SCT cyberJack pinpad/e-com USB chipcard reader driver Matthias Brüstle Harald Welte Martin Preuss $Date$ 2004 REINER SCT GmbH This is the user manual to the linux driver for REINER SCT cyberjack chipcard readers.
Overview This driver for the REINER SCT cyberJack pinpad/e-com USB family of chipcard readers implements the CT-API 1.1 interface, as well as the PC/SC interface of pcsc-lite. It is implemented 100% in userspace. This means no trouble with different kernel versions, compiling/patching the kernel etc. All accesses are done via the usb devfs in /proc/bus/usb (or /dev/bus/usb for udev-based systems). Permission handling is done only via udev. The cyberjack.rules if installed to /etc/udev/rules.d is automatically called by udev when a reader is plugged in. This scripts dynamically updates the permissions of the respective device, so users in the group cyberjack are able to access it. For more information about the smart card reader itself please visit . There is also a shop where the the readers can be ordered online.
Readers supported by this driver The following Reiner-SCT readers are supported: Product ProductID REINER SCT cyberJack pinpad USB 0x100 REINER SCT cyberJack e-com USB 0x100 REINER SCT cyberJack pinpad_a USB 0x300 You can use the lsusb command to list all devices connected to the USB bus of your machine. It will print out the vendor and device ID of all your devices, like : Bus Nr Device Nr VeID:PrID Bus 002 Device 002: ID 0451:1446 Texas Instruments, Inc. TUSB2040/2070 Hub Bus 002 Device 006: ID 0c4b:0300 The REINER SCT VendorID is 0c4b. ProductID's can be looked up in the table above.
distribution-specific notes You find all packages at . Most packages need you to add the user which is to access the card reader to be added to the group cyberjack. This can be done by using the tool kuser or the system's administration tool (e.g. yast on SuSE). You should reboot your machine after installing the driver package and adding the user to the group cyberjack in order for the changes to take effect.
RPM-based Reiner-SCT provides RPM packages for the following distributions: SuSE 10.2 SuSE 10.1 SuSE 10.0 SuSE 9.3 Fedora Core 5 Fedora Core 4 Just install the package corresponding to your system like this: rpm -i <package file> If you already have one of Reiner-SCT's previous RPM packages installed you must update that existing package instead, like in: rpm -U <package file>
DEB-based Reiner-SCT provides RPM packages for the following distributions: Debian unstable Ubuntu 6.06 Ubuntu 6.10 Just install the package corresponding to your system like this: dpkg -i <package file>
All other Distributions There is currently no experience with other Linux distributions. It should work in most cases as described above. If you get any problems with the RPM package, you can try to rebuild it on your system with rpm --rebuild <source package file> or rpmbuild --rebuild <source package file> If you want to compile the source yourself just go into the main directory of the extracted archive and type ./configure make The include file ctapi.h and the resulting library libctapi-cyberjack.so from the directory ctapi/ can then be copied to convenient places. For ctapi.h this would normally be /usr/include and for the library /usr/lib. The command make install can do that for you. The name scheme libctapi-cyberjack.* has been choosen to make it possible to install more than one CT-API library on your system.
Updating the Firmware The latest driver contains the tool "cjflash" which can be used to update the firmware of the reader. The current version of this tool only supports flashing newer Cyberjack devices (USB product id 0x400). To update the firmware just use the following command: cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn The first argument is the number of the device (starting with "1", the second reader would be "2"). The next argument is the name of the file containing the new firmware, followed by the name of the file containing the signature of the new firmware. After this command has been issued the reader asks you to confirm the operation (press "OK" on the reader's keypad to confirm or "CANCEL" to abort). If the reader hangs after you pressed "OK" then it has an old firmware. In that case you'll have to use a slightly modified version of the command above: CJ_USB_MODE=1 cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn This sets the environment variable "CJ_USB_MODE" to the value "1" prior to executing the command. This tells the driver (which is used by cjflash) that another approach to the reader is needed. Please only set that variable if the tool doesn't work otherwise!
Support Support of this driver is provided by REINER SCT. E-mail: support@reiner-sct.com Postal address: Schwabacher Str. 34, 90762 Fürth, GERMANY In your problem description, please include as far as possible: Any error messages you get. Which Linux distribution you use including version, e.g. SuSE 10.1, Debian 3.0r1 testing, ... CPU type, e.g. on Linux the content of the file /proc/cpuinfo. Kernel version, e.g. on Linux the output from the command uname -r. List of attached USB devices, e.g. on Linux the output of the lsusb command.
Troubleshooting
How to check the kernel version You can determine the version of the currently running kernel by executing uname -r The version of the installed kernel sources, which are normally located below /usr/src, can be determined by looking at the source directory name or by looking into the main Makefile, where it is in the first three lines.
Large number of readers The cyberJack has been tested with up to 52 devices attached simultaneously to a single PC via 7-port hubs. Some notes regarding this configuration: Linux at least up to 2.4.19 does result in a kernel panic, when too many devices are attached. Known to work is 2.4.20. Sometimes timeouts occur resulting in a shift of the T=1 blocks resulting in bad performance and sooner or later a failure of communcation. The problem seems to lie somewhere in the usb-uhci part and vanishes with a faster PC. (Try >2GHz) If there are still some problems try other hubs and other USB host controller cards. There seems to be a great difference in quality in these parts. The performance does not degrade, when going from 1 up to 50 readers, even when doing constant I/O with cards. (Select and Read Binary)
Hotplugging Linux supports hotplugging with USB devices. This is implemented via the udev-system. You can find some udev scripts for the REINER SCT cyberjack reader family in the etc/udev directory of this archive. Since udev-related scripts are highly distribution specific, REINER SCT can only provide limited support in this area. The provided RPM and Debian packages install those scripts to their respective places.
Logging The cyberjack CT-API library supports logging of the communication with the reader. This is done, if at the moment CT_init is called the environment variable CJDEBUG exists. The default output file is /tmp/cj.log. The logging is done on T=1 level and each entry begins with a time stamp.
Known Issues Unfortunately, all Linux kernel versions, at least up to (including) 2.6.12-rc5 have a severe bug in the handling of asynchronous URB's (USB Request Blocks) in userspace. This bug is totally unrelated to the REINER-SCT cyberjack driver, but it will show as soon as the PC/SC daemon terminates (and you're using a pinpad_a (0x300) reader. The bug can crash your kernel :(. A bugfix has been developed (but not yet included into the mainline kernel). It is available as kernel patch in 'patches/usb-async_urb-devio-oops-fix.patch'. It is strongly recommended to apply this kernel patch if you intend to use the PC/SC driver.
Additional Information
Beeping at Keypress Starting with Version 2.0.5 of ctapi-cyberjack, the host PC will emit a beep sound at every key press. The driver tries to detect the best mechanism for beeping by itself, i.e. xBell when you run under X11, or sending a BEL ASCII character to STDOUT when running as a console application. If you want to disable the beep, you can set the CJCTAPI_NO_KEYBEEP environment variable before starting your application. Depending on your shell, this can be achieved with a command like export CJCTAPI_NO_KEYPRESS.
Mandatory locking Normal locking is only advisory, i.e. the programs must be cooperative to do the locking properly. A non-cooperative program can ignore a lock and access the reader. Mandatory locking, which stops even a malicious program from access the reader when it is locked, requires setting special permissions of the device node. From linux/Documentation/mandatory.txt: A file is marked as a candidate for mandatory locking by setting the group-id bit in its file mode but removing the group-execute bit. This is an otherwise meaningless combination, and was chosen by the System V implementors so as not to break existing user programs.
Permissions If a normal user should be able to access and use the cyberJack chipcard reader, the permissions should be '2666'. The '2' enables the mandatory locking described in the section before. The '666' enables read/write for all users.
CT-API The CT-API specification can be downloaded at Please note, that the port numbers start with one. This behaviour is specified in the CT-API documentation.
PC/SC This driver package now contains a working PC/SC driver for pcsc-lite. The driver was tested with pcsc-lite-1.2.0 up to 1.3.1.
Installation If you're installing the driver via a pre-built RPM package, make sure you install the "ctapi-cyberjack-ifd-handler" package. If you're building the driver from source code, make sure you install the pcsc/ifd-cyberjack.bundle directory to the "usb plugdir" directory of your pcsc-lite installation. The default make install procedure puts it into /usr/lib/pcsc/drivers/.
Multithreading The library is NOT save against multiple threads accessing at the same time the same reader. This gives you also most probably problems with your card anyway. The library is save against multiple threads accessing multiple readers. So you could start 3 threads, each accessing their own card in their own reader.
command size The command size is currently limited to ISO7816 short commands.
Keypressed callback IS8 rsct_setkeycb IU16ctn void (*cb) void *user_data The function rsct_setkeycb has been added to specify a callback to signal keypresses. The function specified in the second parameter is called whenever a C4 or F4 S-block is received from the reader. This information can be used to help the user, when entering a PIN on the cyberJack pinpad reader, which does not show how many keys have been pressed.
Obtaining Version Info void rsct_version IU8*vmajor IU8*vminor IU8*vpatchlevel IU16*vbuild The function rsct_version returns the complete version of the driver.
Additional CT_init Replacement Function IS8 rsct_init_name IU16ctn const char*device_name The function rsct_init_name can be used to directly specify the device to be used. The device name is specified like for PC/SC drivers: "usb:VENDOR_ID/PRODUCT_ID:libusb:BUS_ID:DEVICE_ID", so for a new cyberjack at /proc/bus/usb/003/002 the correct name would be: "usb:0c4b/0300:libusb:003:002"
Verifying Pins Using PC/SC Function SCardControl The following table shows values for the PSCS_VERIFY_STRUCTURE object which have been tested with ASCII and FPIN2 formatted pins. Field ASCII FPIN2 bTimerOut 00 00 bTimerOut2 00 00 bmFormatString 82 81 bmPINBlockString 04 48 bmPINLengthFormat 00 04 wPINMaxExtraDigit 0408 0408 bEntryValidationCondition 02 02 bNumberMessage 01 01 wLangId 0904 0904 bMsgIndex 00 00 bTeoPrologue 0-2 00 00
pcsc-cyberjack-3.99.5final.SP03/doc/cyberjack.80000644000175000001440000000211311657145411017507 0ustar sctusers.TH cyberjack 8 "20 April 2010" .IX cyberjack .SH NAME cyberjack -- configuration and testing utility .SH SYNOPSIS cyberjack [COMMAND] [ARGUMENTS] .SH DESCRIPTION cyberjack helps you in case of troubleshooting as well as for configuration of your CyberJack card reader. Using the "check" command, it will create 3 files: .IP "cyberjack-report.log" with the test results .IP "cyberjack-hints.log" with possible hints for you to solve the issue you may have .IP "cyberjack.xml" with detailed results for the support team .SH OPTIONS .IP "\fBcheck\fR" perform system checks .IP "\fBaddflags \fR" adds flags in the CTAPI configuration file. This command needs an argument (the flags to add) .IP "\fBdelflags \fR" clears flags in the CTAPI configuration file. This command needs an argument (the flags to add) .IP "\fBbeep1\fR" Beeps using /dev/console .IP "\fBbeep2\fR" Beeps by outputting sending a control character to stdout .IP "\fBbeep3\fR" Beeps using a running X11 server .SH EXAMPLES cyberjack check cyberjack addflags 0xffff cyberjack delflags 0xff00 cyberjack --help pcsc-cyberjack-3.99.5final.SP03/doc/verifypin_fpin2.c0000644000175000001440000003776011657145411020756 0ustar sctusers/* scardcontrol.c: sample code to use/test SCardControl() API Copyright (C) 2004-2005 Ludovic Rousseau This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* * $Id: scardcontrol.c 2116 2006-07-31 15:10:48Z rousseau $ */ /* adapted by Martin Preuss, 2007/03/13 * This file is an example on how to verify a FPIN2 pin using Part 10 * of the PC/SC specs. * This example uses a DDV1 HBCI card. */ #include #include #include #include #include #include #include #include #define VERIFY_PIN #undef MODIFY_PIN #ifndef TRUE #define TRUE 1 #define FALSE 0 #endif #define IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE SCARD_CTL_CODE(1) /* PCSC error message pretty print */ #define PCSC_ERROR_EXIT(rv, text) \ if (rv != SCARD_S_SUCCESS) \ { \ printf(text ": %s (0x%lX)\n", pcsc_stringify_error(rv), rv); \ goto end; \ } \ else \ printf(text ": OK\n\n"); #define PCSC_ERROR_CONT(rv, text) \ if (rv != SCARD_S_SUCCESS) \ printf(text ": %s (0x%lX)\n", pcsc_stringify_error(rv), rv); \ else \ printf(text ": OK\n\n"); int main(int argc, char *argv[]) { LONG rv; SCARDCONTEXT hContext; DWORD dwReaders; LPSTR mszReaders; char *ptr, **readers = NULL; int nbReaders; SCARDHANDLE hCard; DWORD dwActiveProtocol, dwReaderLen, dwState, dwProt, dwAtrLen; BYTE pbAtr[MAX_ATR_SIZE] = ""; char pbReader[MAX_READERNAME] = ""; int reader_nb; int i; unsigned char bSendBuffer[MAX_BUFFER_SIZE]; unsigned char bRecvBuffer[MAX_BUFFER_SIZE]; DWORD send_length, length; DWORD verify_ioctl = 0; DWORD modify_ioctl = 0; SCARD_IO_REQUEST pioRecvPci; SCARD_IO_REQUEST pioSendPci; PCSC_TLV_STRUCTURE *pcsc_tlv; #if defined(VERIFY_PIN) | defined(MODIFY_PIN) int offset; #endif #ifdef VERIFY_PIN PIN_VERIFY_STRUCTURE *pin_verify; #endif #ifdef MODIFY_PIN PIN_MODIFY_STRUCTURE *pin_modify; #endif printf("SCardControl sample code\n"); printf("V 1.1 2004-2005, Ludovic Rousseau \n"); printf("\nTHIS PROGRAM IS NOT DESIGNED AS A TESTING TOOL!\n"); printf("Do NOT use it unless you really know what you do.\n\n"); rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext); if (rv != SCARD_S_SUCCESS) { printf("SCardEstablishContext: Cannot Connect to Resource Manager %lX\n", rv); return 1; } /* Retrieve the available readers list */ rv = SCardListReaders(hContext, NULL, NULL, &dwReaders); if (rv != SCARD_S_SUCCESS) { printf("SCardListReader: %lX\n", rv); } mszReaders = malloc(sizeof(char)*dwReaders); if (mszReaders == NULL) { printf("malloc: not enough memory\n"); goto end; } rv = SCardListReaders(hContext, NULL, mszReaders, &dwReaders); if (rv != SCARD_S_SUCCESS) printf("SCardListReader: %lX\n", rv); /* Extract readers from the null separated string and get the total * number of readers */ nbReaders = 0; ptr = mszReaders; while (*ptr != '\0') { ptr += strlen(ptr)+1; nbReaders++; } if (nbReaders == 0) { printf("No reader found\n"); goto end; } /* allocate the readers table */ readers = calloc(nbReaders, sizeof(char *)); if (NULL == readers) { printf("Not enough memory for readers[]\n"); goto end; } /* fill the readers table */ nbReaders = 0; ptr = mszReaders; while (*ptr != '\0') { printf("%d: %s\n", nbReaders, ptr); readers[nbReaders] = ptr; ptr += strlen(ptr)+1; nbReaders++; } if (argc > 1) { reader_nb = atoi(argv[1]); if (reader_nb < 0 || reader_nb >= nbReaders) { printf("Wrong reader index: %d\n", reader_nb); goto end; } } else reader_nb = 0; /* connect to a reader (even without a card) */ dwActiveProtocol = -1; rv = SCardConnect(hContext, readers[reader_nb], SCARD_SHARE_DIRECT, SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, &hCard, &dwActiveProtocol); printf(" Protocol: %ld\n", dwActiveProtocol); PCSC_ERROR_EXIT(rv, "SCardConnect") /* get GemPC firmware */ printf(" Get GemPC Firmware\n"); /* this is specific to Gemplus readers */ bSendBuffer[0] = 0x02; rv = SCardControl(hCard, IOCTL_SMARTCARD_VENDOR_IFD_EXCHANGE, bSendBuffer, 1, bRecvBuffer, sizeof(bRecvBuffer), &length); printf(" Firmware: "); for (i=0; i bTimerOut = 33; pin_verify -> bTimerOut2 = 0x00; pin_verify -> bmFormatString = 0x81; /* 89? */ pin_verify -> bmPINBlockString = 0x48; pin_verify -> bmPINLengthFormat = 0x04; pin_verify -> wPINMaxExtraDigit = htons(0x0408); /* Min Max */ pin_verify -> bEntryValidationCondition = 0x02; /* validation key pressed */ pin_verify -> bNumberMessage = 0x01; pin_verify -> wLangId = htons(0x0904); pin_verify -> bMsgIndex = 0x00; pin_verify -> bTeoPrologue[0] = 0x00; pin_verify -> bTeoPrologue[1] = 0x00; pin_verify -> bTeoPrologue[2] = 0x00; /* pin_verify -> ulDataLength = 0x00; we don't know the size yet */ /* APDU: 00 20 00 00 08 30 30 30 30 00 00 00 00 */ offset = 0; pin_verify -> abData[offset++] = 0x00; /* CLA */ pin_verify -> abData[offset++] = 0x20; /* INS: VERIFY */ pin_verify -> abData[offset++] = 0x00; /* P1 */ pin_verify -> abData[offset++] = 0x81; /* P2 */ pin_verify -> abData[offset++] = 0x08; /* Lc: 8 data bytes */ pin_verify -> abData[offset++] = 0x2f; /* '0' */ pin_verify -> abData[offset++] = 0xff; /* '0' */ pin_verify -> abData[offset++] = 0xff; /* '0' */ pin_verify -> abData[offset++] = 0xff; /* '0' */ pin_verify -> abData[offset++] = 0xff; /* '\0' */ pin_verify -> abData[offset++] = 0xff; /* '\0' */ pin_verify -> abData[offset++] = 0xff; /* '\0' */ pin_verify -> abData[offset++] = 0xff; /* '\0' */ pin_verify -> ulDataLength = htonl(offset); /* APDU size */ length = sizeof(PIN_VERIFY_STRUCTURE) + offset -1; /* -1 because PIN_VERIFY_STRUCTURE contains the first byte of abData[] */ printf(" command:"); for (i=0; i 0) { /* read the fake digits */ char in[40]; /* 4 digits + \n + \0 */ (void)fgets(in, sizeof(in), stdin); printf("keyboard sent: %s", in); } else /* if it is not a keyboard */ printf("\n"); } printf(" card response:"); for (i=0; i bTimerOut = 0x00; pin_modify -> bTimerOut2 = 0x00; pin_modify -> bmFormatString = 0x82; pin_modify -> bmPINBlockString = 0x04; pin_modify -> bmPINLengthFormat = 0x00; pin_modify -> bInsertionOffsetOld = 0x00; /* offset from APDU start */ pin_modify -> bInsertionOffsetNew = 0x04; /* offset from APDU start */ pin_modify -> wPINMaxExtraDigit = HOST_TO_CCID_16(0x0404); /* Min Max */ pin_modify -> bConfirmPIN = 0x03; /* b0 set = confirmation requested */ /* b1 set = current PIN entry requested */ pin_modify -> bEntryValidationCondition = 0x02; /* validation key pressed */ pin_modify -> bNumberMessage = 0x03; /* 3 for GemPC Pinpad, 0 for SPR532 */ pin_modify -> wLangId = HOST_TO_CCID_16(0x0904); pin_modify -> bMsgIndex1 = 0x00; pin_modify -> bMsgIndex2 = 0x00; pin_modify -> bMsgIndex3 = 0x00; pin_modify -> bTeoPrologue[0] = 0x00; pin_modify -> bTeoPrologue[1] = 0x00; pin_modify -> bTeoPrologue[2] = 0x00; /* pin_modify -> ulDataLength = 0x00; we don't know the size yet */ /* APDU: 00 20 00 00 08 30 30 30 30 00 00 00 00 */ offset = 0; pin_modify -> abData[offset++] = 0x00; /* CLA */ pin_modify -> abData[offset++] = 0x24; /* INS: CHANGE/UNBLOCK */ pin_modify -> abData[offset++] = 0x00; /* P1 */ pin_modify -> abData[offset++] = 0x00; /* P2 */ pin_modify -> abData[offset++] = 0x08; /* Lc: 2x8 data bytes */ pin_modify -> abData[offset++] = 0x30; /* '0' old PIN */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' new PIN */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> abData[offset++] = 0x30; /* '0' */ pin_modify -> ulDataLength = HOST_TO_CCID_32(offset); /* APDU size */ length = sizeof(PIN_MODIFY_STRUCTURE) + offset -1; /* -1 because PIN_MODIFY_STRUCTURE contains the first byte of abData[] */ printf(" command:"); for (i=0; i 0) { /* read the fake digits */ char in[40]; /* 4 digits + \n + \0 */ (void)fgets(in, sizeof(in), stdin); printf("keyboard sent: %s", in); } } } /* modify PIN dump */ printf("\nmodify PIN dump: "); send_length = 5; memcpy(bSendBuffer, "\x00\x40\x00\x00\xFF", send_length); for (i=0; i> setpagedevice } { /a4 where { pop a4 } if } ifelse %%EndPaperSize end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a -600 -600 a SDict begin [ /Producer (dvips + Distiller) /Title () /Subject () /Creator (LaTeX with hyperref package) /Author () /Keywords () /DOCINFO pdfmark end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end -2 -102 a Black Black -2 -11 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end -2 -11 a -2 -11 a SDict begin [ {Catalog} << >> /PUT pdfmark end -2 -11 a -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 12 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end -2 -11 a -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 12 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:0) cvn H.B /DEST pdfmark end -2 -11 a 446 140 a Fl(T)-17 b(reiber)59 b(f\374r)f(REINER)g(SCT)g(c)n (yberJac)l(k)622 409 y(pinpad/e-com)h(USB)e(Kar)t(tenleser)1664 685 y Fk(Mar)s(tin)38 b(Preuss)1251 882 y Fj(Cop)o(yright)27 b(\251)h(2008)h(REINER)f(SCT)g(GmbH)1890 990 y(2008/02/12)542 1347 y Fi(Dies)20 b(ist)i(das)e(Handb)n(uch)e(zum)i(Linux-T)m(reiber)d (f\374r)j(die)g(Reiner)g(SCT)h(c)o(yberJack)e(Kartenleser)-5 b(.)39 1657 y SDict begin H.S end 39 1657 a 39 1657 a SDict begin 13 H.A end 39 1657 a 39 1657 a SDict begin [ /View [/XYZ H.V] /Dest (0:13) cvn H.B /DEST pdfmark end 39 1657 a -2 2034 a Fk(1.)39 b(\334ber)n(sic)o(ht)818 2034 y SDict begin H.S end 818 2034 a 818 2034 a SDict begin 22.464 H.A end 818 2034 a 818 2034 a SDict begin [ /View [/XYZ H.V] /Dest (0.1.1) cvn H.B /DEST pdfmark end 818 2034 a -2 2202 a SDict begin H.S end -2 2202 a -2 2202 a SDict begin 13 H.A end -2 2202 a -2 2202 a SDict begin [ /View [/XYZ H.V] /Dest (0:15) cvn H.B /DEST pdfmark end -2 2202 a 396 2308 a Fi(Dieser)21 b(T)m(reiber)e(f\374r)g(die)i (Cyberjack)e(Pinpad/ecom-F)o(amilie)e(v)n(on)j(USB)h(Kartenlese)o (ger\344ten)d(implementiert)g(den)396 2416 y(CT)-8 b(API)21 b(Standard)e(in)h(der)g(V)-9 b(ersion)20 b(1.1)f(so)n(wie)h(das)h (PC/SC-Interf)o(ace)f(v)n(on)f(pcsc-lite.)-2 2600 y SDict begin H.S end -2 2600 a -2 2600 a SDict begin 13 H.A end -2 2600 a -2 2600 a SDict begin [ /View [/XYZ H.V] /Dest (0:16) cvn H.B /DEST pdfmark end -2 2600 a 396 2690 a Fi(Er)h(ist)i(v)n(ollst\344ndig)d(im)h(Userspace)g(implementiert.)e (Dadurch)h(entf)o(allen)g(Schwierigk)o(eiten)g(mit)h(unterschiedlichen) 396 2798 y(K)n(ernel-V)-9 b(ersionen,)17 b(dem)j(K)m(ompilieren)e(und)i (P)o(atchen)f(v)n(on)h(K)n(erneln)f(etc.)-2 2982 y SDict begin H.S end -2 2982 a -2 2982 a SDict begin 13 H.A end -2 2982 a -2 2982 a SDict begin [ /View [/XYZ H.V] /Dest (0:17) cvn H.B /DEST pdfmark end -2 2982 a 396 3072 a Fi(S\344mtliche)h(Zugrif)n(fe)e(werden)h(\374ber)h(das)1609 3072 y SDict begin H.S end 1609 3072 a 1609 3072 a SDict begin 13 H.A end 1609 3072 a 1609 3072 a SDict begin [ /View [/XYZ H.V] /Dest (0:18) cvn H.B /DEST pdfmark end 1609 3072 a Fh(usb)45 b(devfs)19 b Fi(in)2119 3072 y SDict begin H.S end 2119 3072 a 2119 3072 a SDict begin 13 H.A end 2119 3072 a 2119 3072 a SDict begin [ /View [/XYZ H.V] /Dest (0:19) cvn H.B /DEST pdfmark end 2119 3072 a Fh(/proc/bus/usb)f Fi(\(oder)2918 3072 y SDict begin H.S end 2918 3072 a 2918 3072 a SDict begin 13 H.A end 2918 3072 a 2918 3072 a SDict begin [ /View [/XYZ H.V] /Dest (0:20) cvn H.B /DEST pdfmark end 2918 3072 a Fh(/dev/bus/usb)h Fi(f\374r)396 3179 y(ude)n(v-basierte)f(systeme\))i (abge)n(wick)o(elt.)-2 3363 y SDict begin H.S end -2 3363 a -2 3363 a SDict begin 13 H.A end -2 3363 a -2 3363 a SDict begin [ /View [/XYZ H.V] /Dest (0:21) cvn H.B /DEST pdfmark end -2 3363 a 396 3453 a Fi(Behandlung)e(v)n(on)i (Dateirechten)f(geschieht)1741 3453 y SDict begin H.S end 1741 3453 a 1741 3453 a SDict begin 13 H.A end 1741 3453 a 1741 3453 a SDict begin [ /View [/XYZ H.V] /Dest (0:22) cvn H.B /DEST pdfmark end 1741 3453 a Fg(aussc)o(hlie\337lic)o(h)f Fi(\374ber)i(ude)n(v)-5 b(.)18 b(Das)j(Skript)2972 3453 y SDict begin H.S end 2972 3453 a 2972 3453 a SDict begin 13 H.A end 2972 3453 a 2972 3453 a SDict begin [ /View [/XYZ H.V] /Dest (0:23) cvn H.B /DEST pdfmark end 2972 3453 a Fh(cyberjack.rules)d Fi(-)i(f)o(alls)396 3561 y(es)h(nach)664 3561 y SDict begin H.S end 664 3561 a 664 3561 a SDict begin 13 H.A end 664 3561 a 664 3561 a SDict begin [ /View [/XYZ H.V] /Dest (0:24) cvn H.B /DEST pdfmark end 664 3561 a Fh(/etc/udev/rules.d)d Fi(installiert)i(wurde)f (-)i(wird)f(automatisch)f(v)n(on)g(ude)n(v)g(aufgerufen,)e(sobald)j (der)396 3669 y(Leser)g(angeschlossen)f(wird.)h(Es)h(setzt)g(die)f (Dateirechte)f(f\374r)h(das)g(entsprechende)e(Ger\344t,)i(so)g(da\337)g (anschliessend)f(die)396 3777 y(Benutzer)h(der)f(Gruppe)1113 3777 y SDict begin H.S end 1113 3777 a 1113 3777 a SDict begin 13 H.A end 1113 3777 a 1113 3777 a SDict begin [ /View [/XYZ H.V] /Dest (0:25) cvn H.B /DEST pdfmark end 1113 3777 a Fh(cyberjack)g Fi(darauf)g(zugreifen)g(k\366nnen.)-2 3961 y SDict begin H.S end -2 3961 a -2 3961 a SDict begin 13 H.A end -2 3961 a -2 3961 a SDict begin [ /View [/XYZ H.V] /Dest (0:26) cvn H.B /DEST pdfmark end -2 3961 a 396 4051 a Fi(F\374r)h(mehr)g(Informationen)c(\374ber)k(den)f (Kartenleser)h(selbst)h(besuchen)d(Sie)j(bitte)2767 4051 y SDict begin H.S end 2767 4051 a 2767 4051 a SDict begin 13 H.A end 2767 4051 a 2767 4051 a SDict begin [ /View [/XYZ H.V] /Dest (0:27) cvn H.B /DEST pdfmark end 2767 4051 a Fi(http://www)-5 b(.reiner)n(-sct.com/.)16 b(Dort)396 4159 y(\002nden)k(Sie)g(auch)g(einen)g(Onlineshop,)e(in)i(dem)g(Sie)h (diesen)f(Leser)g(bestellen)g(k\366nnen.)-2 4187 y SDict begin H.S end -2 4187 a -2 4187 a SDict begin 13 H.A end -2 4187 a -2 4187 a SDict begin [ /View [/XYZ H.V] /Dest (0:28) cvn H.B /DEST pdfmark end -2 4187 a 360 x Fk(2.)39 b(V)-13 b(on)39 b(diesem)f(T)-11 b(reiber)38 b(unter)n(st\374tzte)f(Ger\344te)2819 4547 y SDict begin H.S end 2819 4547 a 2819 4547 a SDict begin 22.464 H.A end 2819 4547 a 2819 4547 a SDict begin [ /View [/XYZ H.V] /Dest (0.2.1) cvn H.B /DEST pdfmark end 2819 4547 a -2 4714 a SDict begin H.S end -2 4714 a -2 4714 a SDict begin 13 H.A end -2 4714 a -2 4714 a SDict begin [ /View [/XYZ H.V] /Dest (0:30) cvn H.B /DEST pdfmark end -2 4714 a 396 4821 a Fi(Die)21 b(folgenden)d(Reiner)n(-SCT)i(Kartenleser)f (werden)g(unterst\374tzt:)2394 4821 y SDict begin H.S end 2394 4821 a 2394 4821 a SDict begin 13 H.A end 2394 4821 a 2394 4821 a SDict begin [ /View [/XYZ H.V] /Dest (0:31) cvn H.B /DEST pdfmark end 2394 4821 a -2 4950 a SDict begin H.S end -2 4950 a -2 4950 a SDict begin 13 H.A end -2 4950 a -2 4950 a SDict begin [ /View [/XYZ H.V] /Dest (0:32) cvn H.B /DEST pdfmark end -2 4950 a -2 4950 a SDict begin H.S end -2 4950 a -2 4950 a SDict begin 0 H.A end -2 4950 a -2 4950 a SDict begin [ /View [/XYZ H.V] /Dest (table.1) cvn H.B /DEST pdfmark end -2 4950 a 396 4954 3497 4 v 396 4954 V 396 5078 4 125 v 424 5053 a Ff(Pr)n(oduct)p 2143 5078 V 1435 w(Pr)n(oductID)p 3890 5078 V 396 5081 3497 4 v Black 3842 5569 a Fg(1)p Black eop end %%Page: 2 2 TeXDict begin 2 1 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black 396 -7 3497 4 v 396 -7 V 396 117 4 125 v 424 92 a Ff(Pr)n(oduct)p 2143 117 V 1435 w(Pr)n(oductID)p 3890 117 V 396 117 3497 4 v 396 242 4 125 v 424 217 a Fi(REINER)h(SCT)g(c)o(yberJack)d(pinpad)h (USB)p 2143 242 V 494 w(0x100)p 3890 242 V 396 245 3497 4 v 396 245 V 396 370 4 125 v 424 345 a(REINER)i(SCT)g(c)o(yberJack)d (e-com)i(USB)p 2143 370 V 512 w(0x100)p 3890 370 V 396 373 3497 4 v 396 373 V 396 498 4 125 v 424 473 a(REINER)h(SCT)g(c)o (yberJack)d(pinpad_a)h(USB)p 2143 498 V 415 w(0x300)p 3890 498 V 396 501 3497 4 v 396 501 V 396 625 4 125 v 424 600 a(REINER)i(SCT)g(c)o(yberJack)d(e-com_a)h(USB)p 2143 625 V 434 w(0x400)p 3890 625 V 396 629 3497 4 v 396 629 V 396 795 a(Mit)i(dem)f(K)m(ommando)1111 795 y SDict begin H.S end 1111 795 a 1111 795 a SDict begin 13 H.A end 1111 795 a 1111 795 a SDict begin [ /View [/XYZ H.V] /Dest (0:50) cvn H.B /DEST pdfmark end 1111 795 a Fe(lsusb)h Fi(k\366nnen)d(Sie)j(sich)g(alle)f(USB-Ger\344te)h (anzeigen)d(lassen.)j(Es)g(zeigt)f(die)g(Hersteller)n(-)396 903 y(und)g(Ger\344tek)o(ennung)d(aller)j(angeschlossenen)e(Ger\344te)i (an,)g(beispielsweise:)-2 1087 y SDict begin H.S end -2 1087 a -2 1087 a SDict begin 13 H.A end -2 1087 a -2 1087 a SDict begin [ /View [/XYZ H.V] /Dest (0:51) cvn H.B /DEST pdfmark end -2 1087 a -2 1087 a SDict begin H.S end -2 1087 a -2 1087 a SDict begin 13 H.A end -2 1087 a -2 1087 a SDict begin [ /View [/XYZ H.V] /Dest (0:52) cvn H.B /DEST pdfmark end -2 1087 a -2 1180 a SDict begin H.S end -2 1180 a -2 1180 a SDict begin 13 H.A end -2 1180 a -2 1180 a SDict begin [ /View [/XYZ H.V] /Dest (0:53) cvn H.B /DEST pdfmark end -2 1180 a -2 1180 a SDict begin H.S end -2 1180 a -2 1180 a SDict begin 0 H.A end -2 1180 a -2 1180 a SDict begin [ /View [/XYZ H.V] /Dest (table.2) cvn H.B /DEST pdfmark end -2 1180 a 396 1183 3504 4 v 396 1183 V 396 1308 4 125 v 424 1283 a Ff(Bus)j(Nr)p 1271 1308 V 604 w(De)o(vice)g(Nr)p 2146 1308 V 3021 1308 V 1369 w(V)l(eID:PrID)p 3896 1308 V 396 1311 3504 4 v 396 1311 V 396 1436 4 125 v 424 1411 a Fi(Bus)e(002)p 1271 1436 V 600 w(De)n(vice)e(002)p 2146 1436 V 496 w(ID)p 3021 1436 V 787 w(0451:1446)p 3896 1436 V 396 1439 3504 4 v 396 1439 V 396 1564 4 125 v 424 1539 a(Bus)i(002)p 1271 1564 V 600 w(De)n(vice)e(006)p 2146 1564 V 496 w(ID)p 3021 1564 V 787 w(0c4b:0400)p 3896 1564 V 396 1567 3504 4 v 396 1567 V -2 1899 a SDict begin H.S end -2 1899 a -2 1899 a SDict begin 13 H.A end -2 1899 a -2 1899 a SDict begin [ /View [/XYZ H.V] /Dest (0:71) cvn H.B /DEST pdfmark end -2 1899 a 396 2007 a Fi(Die)i(REINER)f(SCT)h(Herstellerk)o (ennung)d(ist)1763 2007 y SDict begin H.S end 1763 2007 a 1763 2007 a SDict begin 13 H.A end 1763 2007 a 1763 2007 a SDict begin [ /View [/XYZ H.V] /Dest (0:72) cvn H.B /DEST pdfmark end 1763 2007 a Fh(0c4b)p Fi(.)i(Die)g(Produktk)o (ennungen)c(\002nden)j(Sie)i(in)f(der)g(v)n(origen)f(T)-7 b(abelle.)-2 2035 y SDict begin H.S end -2 2035 a -2 2035 a SDict begin 13 H.A end -2 2035 a -2 2035 a SDict begin [ /View [/XYZ H.V] /Dest (0:73) cvn H.B /DEST pdfmark end -2 2035 a 360 x Fk(3.)39 b(Distrib)m(utions-spezi\002sc)o(he)34 b(Hinweise)2523 2395 y SDict begin H.S end 2523 2395 a 2523 2395 a SDict begin 22.464 H.A end 2523 2395 a 2523 2395 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.1) cvn H.B /DEST pdfmark end 2523 2395 a -2 2590 a SDict begin H.S end -2 2590 a -2 2590 a SDict begin 13 H.A end -2 2590 a -2 2590 a SDict begin [ /View [/XYZ H.V] /Dest (0:75) cvn H.B /DEST pdfmark end -2 2590 a 396 2668 a Fi(Sie)21 b(\002nden)e(alle)i(P)o(ak)o(ete)f(unter)1323 2668 y SDict begin H.S end 1323 2668 a 1323 2668 a SDict begin 13 H.A end 1323 2668 a 1323 2668 a SDict begin [ /View [/XYZ H.V] /Dest (0:76) cvn H.B /DEST pdfmark end 1323 2668 a Fi(http://www)-5 b(.reiner)n(-sct.com/content/vie)n(w/32/4)o (3/#)o(linu)o(x.)-2 2852 y SDict begin H.S end -2 2852 a -2 2852 a SDict begin 13 H.A end -2 2852 a -2 2852 a SDict begin [ /View [/XYZ H.V] /Dest (0:77) cvn H.B /DEST pdfmark end -2 2852 a 396 2942 a Fi(Die)21 b(meisten)f(P)o(ak)o(ete)g (erzeugen)e(eine)i(Gruppe)1805 2942 y SDict begin H.S end 1805 2942 a 1805 2942 a SDict begin 13 H.A end 1805 2942 a 1805 2942 a SDict begin [ /View [/XYZ H.V] /Dest (0:78) cvn H.B /DEST pdfmark end 1805 2942 a Fg(cyberjac)n(k)q Fi(.)g(Dieser)h(Gruppe)d(m\374ssen)i(alle)h(Benutzer)e(zugeordnet)396 3050 y(werden,)g(die)h(Zugrif)n(f)f(auf)h(das)g(Ger\344t)g(haben)f (sollen.)h(Das)h(erreichen)d(Sie)j(am)f(einf)o(achsten)f(\374ber)h(das) 396 3158 y(KDE-Programm)966 3158 y SDict begin H.S end 966 3158 a 966 3158 a SDict begin 13 H.A end 966 3158 a 966 3158 a SDict begin [ /View [/XYZ H.V] /Dest (0:79) cvn H.B /DEST pdfmark end 966 3158 a Fg(kuser)i Fi(oder)e(das)g (Administrations-Programm)c(Ihres)k(Systems)g(\(bei)g(SuSE)g(z.B.)3396 3158 y SDict begin H.S end 3396 3158 a 3396 3158 a SDict begin 13 H.A end 3396 3158 a 3396 3158 a SDict begin [ /View [/XYZ H.V] /Dest (0:80) cvn H.B /DEST pdfmark end 3396 3158 a Fg(yast)q Fi(\).)g(Eine)396 3266 y(Ausnahme)f(stellt)i (hier)f(SuSE)g(10.1)g(dar)m(,)f(hier)h(m\374ssen)f(Sie)i(k)o(eine)f (Benutzer)n(-)f(Zuordnung)e(v)n(ornehmen)h(\(ab)i(SuSE)396 3374 y(10.2)f(hinge)o(gen)f(schon\).)-2 3558 y SDict begin H.S end -2 3558 a -2 3558 a SDict begin 13 H.A end -2 3558 a -2 3558 a SDict begin [ /View [/XYZ H.V] /Dest (0:81) cvn H.B /DEST pdfmark end -2 3558 a 396 3648 a Fi(Nach)i(der)g(Installation)f(des)i(P)o(ak)o(etes)f(und)f(der)h (Benutzerzuordnung)c(sollten)k(Sie)h(Ihren)e(Rechner)g(neu)h(starten,) 396 3756 y(damit)g(die)g(\304nderungen)d(g\374ltig)j(werden.)-2 3774 y SDict begin H.S end -2 3774 a -2 3774 a SDict begin 13 H.A end -2 3774 a -2 3774 a SDict begin [ /View [/XYZ H.V] /Dest (0:82) cvn H.B /DEST pdfmark end -2 3774 a 396 4084 a Fd(3.1.)35 b(RPM-basier)r(t)1328 4084 y SDict begin H.S end 1328 4084 a 1328 4084 a SDict begin 18.72 H.A end 1328 4084 a 1328 4084 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.1.2) cvn H.B /DEST pdfmark end 1328 4084 a -2 4252 a SDict begin H.S end -2 4252 a -2 4252 a SDict begin 13 H.A end -2 4252 a -2 4252 a SDict begin [ /View [/XYZ H.V] /Dest (0:84) cvn H.B /DEST pdfmark end -2 4252 a 396 4358 a Fi(Reiner)n(-SCT)21 b(bietet)f(RPM-P)o(ak)o(ete) g(f\374r)f(die)i(folgenden)c(Distrib)n(utionen)i(an:)2699 4358 y SDict begin H.S end 2699 4358 a 2699 4358 a SDict begin 13 H.A end 2699 4358 a 2699 4358 a SDict begin [ /View [/XYZ H.V] /Dest (0:85) cvn H.B /DEST pdfmark end 2699 4358 a -2 4400 a SDict begin H.S end -2 4400 a -2 4400 a SDict begin 13 H.A end -2 4400 a -2 4400 a SDict begin [ /View [/XYZ H.V] /Dest (0:86) cvn H.B /DEST pdfmark end -2 4400 a Black 396 4555 a Fc(\225)p Black 479 4555 a SDict begin H.S end 479 4555 a 479 4555 a SDict begin 13 H.A end 479 4555 a 479 4555 a SDict begin [ /View [/XYZ H.V] /Dest (0:87) cvn H.B /DEST pdfmark end 479 4555 a Fi(SuSE)i(10.3)-2 4556 y SDict begin H.S end -2 4556 a -2 4556 a SDict begin 13 H.A end -2 4556 a -2 4556 a SDict begin [ /View [/XYZ H.V] /Dest (0:88) cvn H.B /DEST pdfmark end -2 4556 a Black 396 4705 a Fc(\225)p Black 479 4705 a SDict begin H.S end 479 4705 a 479 4705 a SDict begin 13 H.A end 479 4705 a 479 4705 a SDict begin [ /View [/XYZ H.V] /Dest (0:89) cvn H.B /DEST pdfmark end 479 4705 a Fi(SuSE)g(10.2)-2 4706 y SDict begin H.S end -2 4706 a -2 4706 a SDict begin 13 H.A end -2 4706 a -2 4706 a SDict begin [ /View [/XYZ H.V] /Dest (0:90) cvn H.B /DEST pdfmark end -2 4706 a Black 396 4854 a Fc(\225)p Black 479 4854 a SDict begin H.S end 479 4854 a 479 4854 a SDict begin 13 H.A end 479 4854 a 479 4854 a SDict begin [ /View [/XYZ H.V] /Dest (0:91) cvn H.B /DEST pdfmark end 479 4854 a Fi(SuSE)g(10.1)-2 4855 y SDict begin H.S end -2 4855 a -2 4855 a SDict begin 13 H.A end -2 4855 a -2 4855 a SDict begin [ /View [/XYZ H.V] /Dest (0:92) cvn H.B /DEST pdfmark end -2 4855 a Black 396 5004 a Fc(\225)p Black 479 5004 a SDict begin H.S end 479 5004 a 479 5004 a SDict begin 13 H.A end 479 5004 a 479 5004 a SDict begin [ /View [/XYZ H.V] /Dest (0:93) cvn H.B /DEST pdfmark end 479 5004 a Fi(SuSE)g(10.0)-2 5005 y SDict begin H.S end -2 5005 a -2 5005 a SDict begin 13 H.A end -2 5005 a -2 5005 a SDict begin [ /View [/XYZ H.V] /Dest (0:94) cvn H.B /DEST pdfmark end -2 5005 a Black 396 5153 a Fc(\225)p Black 479 5153 a SDict begin H.S end 479 5153 a 479 5153 a SDict begin 13 H.A end 479 5153 a 479 5153 a SDict begin [ /View [/XYZ H.V] /Dest (0:95) cvn H.B /DEST pdfmark end 479 5153 a Fi(Fedora)f(Core)g(7)-2 5154 y SDict begin H.S end -2 5154 a -2 5154 a SDict begin 13 H.A end -2 5154 a -2 5154 a SDict begin [ /View [/XYZ H.V] /Dest (0:96) cvn H.B /DEST pdfmark end -2 5154 a Black 3842 5569 a Fg(2)p Black eop end %%Page: 3 3 TeXDict begin 3 2 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black Black 396 72 a Fc(\225)p Black 479 72 a SDict begin H.S end 479 72 a 479 72 a SDict begin 13 H.A end 479 72 a 479 72 a SDict begin [ /View [/XYZ H.V] /Dest (0:97) cvn H.B /DEST pdfmark end 479 72 a Fi(Fedora)g(Core)g(6)-2 73 y SDict begin H.S end -2 73 a -2 73 a SDict begin 13 H.A end -2 73 a -2 73 a SDict begin [ /View [/XYZ H.V] /Dest (0:98) cvn H.B /DEST pdfmark end -2 73 a Black 396 222 a Fc(\225)p Black 479 222 a SDict begin H.S end 479 222 a 479 222 a SDict begin 13 H.A end 479 222 a 479 222 a SDict begin [ /View [/XYZ H.V] /Dest (0:99) cvn H.B /DEST pdfmark end 479 222 a Fi(Fedora)g(Core)g(5)-2 537 y SDict begin H.S end -2 537 a -2 537 a SDict begin 13 H.A end -2 537 a -2 537 a SDict begin [ /View [/XYZ H.V] /Dest (0:100) cvn H.B /DEST pdfmark end -2 537 a 396 645 a Fi(Installieren)g(Sie)g(das) h(entsprechende)c(P)o(ak)o(et)k(einf)o(ach)e(durch)g(das)h(folgende)e (K)m(ommando:)3097 645 y SDict begin H.S end 3097 645 a 3097 645 a SDict begin 13 H.A end 3097 645 a 3097 645 a SDict begin [ /View [/XYZ H.V] /Dest (0:101) cvn H.B /DEST pdfmark end 3097 645 a 45 w Fb(rpm)44 b(-i)396 753 y()-2 921 y SDict begin H.S end -2 921 a -2 921 a SDict begin 13 H.A end -2 921 a -2 921 a SDict begin [ /View [/XYZ H.V] /Dest (0:102) cvn H.B /DEST pdfmark end -2 921 a 396 1027 a Fi(Sollten)20 b(Sie)h(bereits)f(ein)g(\344lteres)h(T)m (reiberpak)o(et)d(installiert)i(haben,)f(v)o(erwenden)f(Sie)j (stattdessen)f(das)h(folgende)396 1135 y(K)m(ommando:)829 1135 y SDict begin H.S end 829 1135 a 829 1135 a SDict begin 13 H.A end 829 1135 a 829 1135 a SDict begin [ /View [/XYZ H.V] /Dest (0:103) cvn H.B /DEST pdfmark end 829 1135 a 45 w Fb(rpm)44 b(-U)h()-2 1311 y SDict begin H.S end -2 1311 a -2 1311 a SDict begin 13 H.A end -2 1311 a -2 1311 a SDict begin [ /View [/XYZ H.V] /Dest (0:104) cvn H.B /DEST pdfmark end -2 1311 a 396 1409 a Fi(Es)21 b(gibt)f(allerdings)f(eine)h(Besonderheit)f(bei)h(V)-9 b(erwendung)18 b(v)n(on)h(SuSE10.0)g(auf)h(einem)f(64-Bit-System)g(mit) i(der)396 1517 y(Anwendung)d("Mone)o(yple)o(x":)f(Da)k(diese)f (Anwendung)e(leider)h(eine)h(32-Bit-Anwendung)d(ist,)k(kann)e(sie)i (nur)e(mit)i(der)396 1625 y(32-Bit-V)-9 b(ersion)18 b(unseres)i(T)m (reibers)g(arbeiten.)f(Leider)g(w)o(ar)h(der)g(K)n(ernel)g(v)n(on)f (SuSE10.0)g(noch)g(nicht)h(in)g(der)g(Lage,)396 1733 y(alle)h(32-Bit-Aufrufe)c(des)k(T)m(reibers)e(nach)h(64-Bit)g(umzuw)o (andeln.)d(Hier)j(muss)h(daher)e(eine)h(Aenderung)e(an)i(der)396 1841 y(Datei)h(/etc/c)o(yberjack.conf)16 b(v)n(or)o(genommen)h(werden.) h(Fue)o(gen)h(Sie)i(bitte)g(die)f(folgende)e(Zeile)i(ein:)396 1949 y("\003ags=0x20000".)-2 1967 y SDict begin H.S end -2 1967 a -2 1967 a SDict begin 13 H.A end -2 1967 a -2 1967 a SDict begin [ /View [/XYZ H.V] /Dest (0:105) cvn H.B /DEST pdfmark end -2 1967 a 396 2236 a Fj(3.1.1.)28 b(Einric)o(htung)f(unter)h(SuSE)h(Lin)o(ux)2083 2236 y SDict begin H.S end 2083 2236 a 2083 2236 a SDict begin 15.6 H.A end 2083 2236 a 2083 2236 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.1.1.3) cvn H.B /DEST pdfmark end 2083 2236 a -2 2424 a SDict begin H.S end -2 2424 a -2 2424 a SDict begin 13 H.A end -2 2424 a -2 2424 a SDict begin [ /View [/XYZ H.V] /Dest (0:107) cvn H.B /DEST pdfmark end -2 2424 a 396 2510 a Fi(Nach)20 b(der)g(Installation)f(des)i(T)m (reibers)e(muessen)h(Sie)h(die)f(Benutzer)m(,)f(die)h(auf)g(den)f (Leser)i(zugreifen)d(k)o(oennen)g(sollen,)396 2618 y(in)j(die)f(Gruppe) f("c)o(yberjack")f(einfue)o(gen.)-2 2802 y SDict begin H.S end -2 2802 a -2 2802 a SDict begin 13 H.A end -2 2802 a -2 2802 a SDict begin [ /View [/XYZ H.V] /Dest (0:108) cvn H.B /DEST pdfmark end -2 2802 a 396 2892 a Fi(Am)j(einf)o (achsten)e(geschieht)g(dies)h(mit)h(Y)-8 b(ast:)21 b(Starten)f(Sie)g(Y) -8 b(ast,)21 b(rufen)e(Sie)i(das)f(Menu)f("Sicherheit)h(und)f (Benutzer")396 3000 y(auf)h(und)f(dort)h("Gruppen)e(bearbeiten)g(und)i (anle)o(gen".)-2 3184 y SDict begin H.S end -2 3184 a -2 3184 a SDict begin 13 H.A end -2 3184 a -2 3184 a SDict begin [ /View [/XYZ H.V] /Dest (0:109) cvn H.B /DEST pdfmark end -2 3184 a 396 3274 a Fi(Es)h(erscheint)f(ein)g(Fenster)m(,)f (das)i(standardmaessig)d(die)i(Systemgruppen)e(nicht)i(anzeigt,)f (daher)g(muessen)h(Sie)h(den)396 3382 y(Filter)g(aendern.)d(Klick)o(en) i(Sie)h(dazu)e(unten)h(rechts)g(auf)f("Filter)i(festle)o(gen")e(und)g (w)o(aehlen)h(Sie)h(dort)396 3490 y("Systemgruppen".)c(Daraufhin)h (sollten)j(Sie)f(in)h(der)f(Liste)g(auch)g(die)g(Gruppe)f("c)o (yberjack")f(\002nden,)h(die)h(Sie)h(dann)396 3598 y(markieren)e (muessen.)g(Anschliessend)g(klick)o(en)h(Sie)h(unten)e(auf)h ("Bearbeiten".)-2 3764 y SDict begin H.S end -2 3764 a -2 3764 a SDict begin 13 H.A end -2 3764 a -2 3764 a SDict begin [ /View [/XYZ H.V] /Dest (0:110) cvn H.B /DEST pdfmark end -2 3764 a 396 3872 a Fi(In)g(dem)g(Fenster)m(,)f(welches)i (dann)e(erscheint,)g(setzen)h(Sie)h(bei)f(den)g(aufgefuehrten)d (Benutzern,)h(die)j(auf)e(den)h(Leser)396 3979 y(zugreifen)f(k)o (oennen)f(sollen,)i(die)g(Markierung.)-2 4164 y SDict begin H.S end -2 4164 a -2 4164 a SDict begin 13 H.A end -2 4164 a -2 4164 a SDict begin [ /View [/XYZ H.V] /Dest (0:111) cvn H.B /DEST pdfmark end -2 4164 a 396 4253 a Fi(Klick)o(en)g(Sie)h(nun)e(auf)h("Uebernehmen")d(und)i(starten)h(Sie)h (das)g(System)f(neu,)f(Der)i(Leser)f(sollte)g(nun)g(fuer)f(die)396 4361 y(markierten)g(Benutzer)g(v)o(erwendbar)e(sein.)-2 4456 y SDict begin H.S end -2 4456 a -2 4456 a SDict begin 13 H.A end -2 4456 a -2 4456 a SDict begin [ /View [/XYZ H.V] /Dest (0:112) cvn H.B /DEST pdfmark end -2 4456 a Black 3842 5569 a Fg(3)p Black eop end %%Page: 4 4 TeXDict begin 4 3 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark end -2 -102 a Black -2 -201 a SDict begin H.S end -2 -201 a -2 -201 a SDict begin 13 H.A end -2 -201 a -2 -201 a SDict begin [ /View [/XYZ H.V] /Dest (0:144) cvn H.B /DEST pdfmark end -2 -201 a 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n (k)g(pinpad/e-com)d(USB)j(Kartenleser)p Black 396 77 a Fd(3.2.)35 b(DEB-basier)r(t)1314 77 y SDict begin H.S end 1314 77 a 1314 77 a SDict begin 18.72 H.A end 1314 77 a 1314 77 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.2.2) cvn H.B /DEST pdfmark end 1314 77 a -2 244 a SDict begin H.S end -2 244 a -2 244 a SDict begin 13 H.A end -2 244 a -2 244 a SDict begin [ /View [/XYZ H.V] /Dest (0:114) cvn H.B /DEST pdfmark end -2 244 a 396 351 a Fi(Reiner)n(-SCT)21 b(bietet)f(DEB-P)o(ak)o(ete)g(f\374r)f(die)h(folgenden)e(Distrib)n (utionen:)2591 351 y SDict begin H.S end 2591 351 a 2591 351 a SDict begin 13 H.A end 2591 351 a 2591 351 a SDict begin [ /View [/XYZ H.V] /Dest (0:115) cvn H.B /DEST pdfmark end 2591 351 a -2 393 a SDict begin H.S end -2 393 a -2 393 a SDict begin 13 H.A end -2 393 a -2 393 a SDict begin [ /View [/XYZ H.V] /Dest (0:116) cvn H.B /DEST pdfmark end -2 393 a Black 396 548 a Fc(\225)p Black 479 548 a SDict begin H.S end 479 548 a 479 548 a SDict begin 13 H.A end 479 548 a 479 548 a SDict begin [ /View [/XYZ H.V] /Dest (0:117) cvn H.B /DEST pdfmark end 479 548 a Fi(Debian)i(stable)-2 549 y SDict begin H.S end -2 549 a -2 549 a SDict begin 13 H.A end -2 549 a -2 549 a SDict begin [ /View [/XYZ H.V] /Dest (0:118) cvn H.B /DEST pdfmark end -2 549 a Black 396 697 a Fc(\225)p Black 479 697 a SDict begin H.S end 479 697 a 479 697 a SDict begin 13 H.A end 479 697 a 479 697 a SDict begin [ /View [/XYZ H.V] /Dest (0:119) cvn H.B /DEST pdfmark end 479 697 a Fi(Debian)g(unstable)-2 698 y SDict begin H.S end -2 698 a -2 698 a SDict begin 13 H.A end -2 698 a -2 698 a SDict begin [ /View [/XYZ H.V] /Dest (0:120) cvn H.B /DEST pdfmark end -2 698 a Black 396 847 a Fc(\225)p Black 479 847 a SDict begin H.S end 479 847 a 479 847 a SDict begin 13 H.A end 479 847 a 479 847 a SDict begin [ /View [/XYZ H.V] /Dest (0:121) cvn H.B /DEST pdfmark end 479 847 a Fi(Ub)n(untu)f(6.10)-2 848 y SDict begin H.S end -2 848 a -2 848 a SDict begin 13 H.A end -2 848 a -2 848 a SDict begin [ /View [/XYZ H.V] /Dest (0:122) cvn H.B /DEST pdfmark end -2 848 a Black 396 996 a Fc(\225)p Black 479 996 a SDict begin H.S end 479 996 a 479 996 a SDict begin 13 H.A end 479 996 a 479 996 a SDict begin [ /View [/XYZ H.V] /Dest (0:123) cvn H.B /DEST pdfmark end 479 996 a Fi(Ub)n(untu)g(7.04)-2 997 y SDict begin H.S end -2 997 a -2 997 a SDict begin 13 H.A end -2 997 a -2 997 a SDict begin [ /View [/XYZ H.V] /Dest (0:124) cvn H.B /DEST pdfmark end -2 997 a Black 396 1146 a Fc(\225)p Black 479 1146 a SDict begin H.S end 479 1146 a 479 1146 a SDict begin 13 H.A end 479 1146 a 479 1146 a SDict begin [ /View [/XYZ H.V] /Dest (0:125) cvn H.B /DEST pdfmark end 479 1146 a Fi(Ub)n(untu)g(7.10)-2 1461 y SDict begin H.S end -2 1461 a -2 1461 a SDict begin 13 H.A end -2 1461 a -2 1461 a SDict begin [ /View [/XYZ H.V] /Dest (0:126) cvn H.B /DEST pdfmark end -2 1461 a 396 1569 a Fi(Installieren)h(Sie)g(das)h(entsprechende)c(P)o(ak)o(et)k(mit:)1902 1569 y SDict begin H.S end 1902 1569 a 1902 1569 a SDict begin 13 H.A end 1902 1569 a 1902 1569 a SDict begin [ /View [/XYZ H.V] /Dest (0:127) cvn H.B /DEST pdfmark end 1902 1569 a 45 w Fb(dpkg)44 b(-i)h()-2 1597 y SDict begin H.S end -2 1597 a -2 1597 a SDict begin 13 H.A end -2 1597 a -2 1597 a SDict begin [ /View [/XYZ H.V] /Dest (0:128) cvn H.B /DEST pdfmark end -2 1597 a 396 1908 a Fd(3.3.)35 b(Alle)f(anderen)h(Distrib)n(utionen)2187 1908 y SDict begin H.S end 2187 1908 a 2187 1908 a SDict begin 18.72 H.A end 2187 1908 a 2187 1908 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.3.2) cvn H.B /DEST pdfmark end 2187 1908 a -2 2075 a SDict begin H.S end -2 2075 a -2 2075 a SDict begin 13 H.A end -2 2075 a -2 2075 a SDict begin [ /View [/XYZ H.V] /Dest (0:130) cvn H.B /DEST pdfmark end -2 2075 a 396 2182 a Fi(Es)21 b(gibt)f(momentan)e(wenig)i (Erf)o(ahrungen)d(mit)j(anderen)f(Linux-Distrib)n(utionen.)d(Haben)k (Sie)h(ein)f(RPM-basiertes)396 2289 y(System,)g(so)h(k\366nnen)d(Sie)j (probieren)d(eigene)h(RPM-P)o(ak)o(et)h(zu)g(erstellen:)2576 2289 y SDict begin H.S end 2576 2289 a 2576 2289 a SDict begin 13 H.A end 2576 2289 a 2576 2289 a SDict begin [ /View [/XYZ H.V] /Dest (0:131) cvn H.B /DEST pdfmark end 2576 2289 a 44 w Fb(rpm)45 b(--rebuild)396 2397 y() 63 b Fi(oder)1392 2397 y SDict begin H.S end 1392 2397 a 1392 2397 a SDict begin 13 H.A end 1392 2397 a 1392 2397 a SDict begin [ /View [/XYZ H.V] /Dest (0:132) cvn H.B /DEST pdfmark end 1392 2397 a 45 w Fb(rpmbuild)44 b(--rebuild)f ()-2 2574 y SDict begin H.S end -2 2574 a -2 2574 a SDict begin 13 H.A end -2 2574 a -2 2574 a SDict begin [ /View [/XYZ H.V] /Dest (0:133) cvn H.B /DEST pdfmark end -2 2574 a 396 2671 a Fi(F)o(alls)21 b(Sie)g(den)f(T)m (reiber)f(selber)h(k)o(ompilieren)e(w)o(ollen,)i(wechseln)f(Sie)i(in)g (das)f(Hauptv)o(erzeichnis)e(des)i(entpackten)396 2779 y(T)m(reiber)n(-P)o(ak)o(etes)f(und)g(geben)g(Sie)i(die)f(folgenden)e (Befehle)i(ein:)2326 2779 y SDict begin H.S end 2326 2779 a 2326 2779 a SDict begin 13 H.A end 2326 2779 a 2326 2779 a SDict begin [ /View [/XYZ H.V] /Dest (0:134) cvn H.B /DEST pdfmark end 2326 2779 a 45 w Fb(./configure)43 b(make)-2 2963 y SDict begin H.S end -2 2963 a -2 2963 a SDict begin 13 H.A end -2 2963 a -2 2963 a SDict begin [ /View [/XYZ H.V] /Dest (0:135) cvn H.B /DEST pdfmark end -2 2963 a 396 3053 a Fi(Anschlie\337end)19 b(k\366nnen)f(Sie)j(den)e (T)m(reiber)g(auf)h(Ihr)g(System)g(installieren.)f(Dazu)h(ben\366tigen) f(Sie)h(sehr)396 3161 y(w)o(ahrscheinlich)f(Administrator)n(-Rechte.) 1683 3161 y SDict begin H.S end 1683 3161 a 1683 3161 a SDict begin 13 H.A end 1683 3161 a 1683 3161 a SDict begin [ /View [/XYZ H.V] /Dest (0:136) cvn H.B /DEST pdfmark end 1683 3161 a 45 w Fb(make)44 b(install)-2 3256 y SDict begin H.S end -2 3256 a -2 3256 a SDict begin 13 H.A end -2 3256 a -2 3256 a SDict begin [ /View [/XYZ H.V] /Dest (0:137) cvn H.B /DEST pdfmark end -2 3256 a 376 x Fk(4.)39 b(Firmware-Update)1333 3632 y SDict begin H.S end 1333 3632 a 1333 3632 a SDict begin 22.464 H.A end 1333 3632 a 1333 3632 a SDict begin [ /View [/XYZ H.V] /Dest (0.4.1) cvn H.B /DEST pdfmark end 1333 3632 a -2 3827 a SDict begin H.S end -2 3827 a -2 3827 a SDict begin 13 H.A end -2 3827 a -2 3827 a SDict begin [ /View [/XYZ H.V] /Dest (0:139) cvn H.B /DEST pdfmark end -2 3827 a 396 3906 a Fi(Die)21 b(aktuelle)f(V)-9 b(ersion)19 b(dieses)i(T)m(reibers)e (enthaelt)h(das)g(T)-7 b(ool)20 b("cj\003ash")g(welches)g(das)h (Aktualisieren)e(der)h(Firmw)o(are)396 4014 y(des)h(Lesers)f(erlaubt.) -2 4180 y SDict begin H.S end -2 4180 a -2 4180 a SDict begin 13 H.A end -2 4180 a -2 4180 a SDict begin [ /View [/XYZ H.V] /Dest (0:140) cvn H.B /DEST pdfmark end -2 4180 a 396 4288 a Fi(Derzeit)g(k)o(oennen)f(damit)g(allerdings)h(nur)f (die)h(neuesten)f(Cyberjack-Leser)g(aktualisiert)g(werden)g(\(mit)h (der)396 4396 y(Produkt-K)n(ennung)c(0x400\))-2 4580 y SDict begin H.S end -2 4580 a -2 4580 a SDict begin 13 H.A end -2 4580 a -2 4580 a SDict begin [ /View [/XYZ H.V] /Dest (0:141) cvn H.B /DEST pdfmark end -2 4580 a 396 4669 a Fi(Der)k(Linux-T)m(reiber)e(funktioniert)f(mit)k(diesen)f (Geraeten)f(nur)h(mit)g(einer)g(Firmw)o(are)g(in)g(der)g(V)-9 b(ersion)19 b(groesser)g(oder)396 4777 y(gleich)h(3.0.6.)e(Sollte)j (Ihr)f(Leser)g(eine)g(aeltere)g(V)-9 b(ersion)19 b(enthalten,)g(ist)i (ein)f(Update)g(zwingend)f(noetig.)g(Auch)g(nach)396 4885 y(diesem)h(Update)g(funktioniert)e(der)h(Leser)h(weiterhin)g(auch) f(unter)h(W)m(indo)n(ws.)p Black 3842 5569 a Fg(4)p Black eop end %%Page: 5 5 TeXDict begin 5 4 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 13 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:142) cvn H.B /DEST pdfmark end -2 -11 a 396 72 a Fi(Um)h(die)f(Firmw) o(are)f(zu)i(aktualiseren)e(geben)g(Sie)h(bitte)h(das)f(folgenden)e(K)m (ommando)g(in)i(einer)g(K)m(onsole)f(ein:)396 180 y SDict begin H.S end 396 180 a 396 180 a SDict begin 13 H.A end 396 180 a 396 180 a SDict begin [ /View [/XYZ H.V] /Dest (0:143) cvn H.B /DEST pdfmark end 396 180 a 45 w Fb(cjflash)44 b(1)g(Kernel_V30_07.bin)e(Kernel_V30_07.bin.ecoma.sgn)f(ecoma2.bky)396 454 y Fi(Das)21 b(erste)g(Ar)o(gument)d(ist)j(die)f(Nummer)f(des)h (Lesers)h(\(be)o(ginnend)c(mit)j("1",)g(der)g(2.)g(Leser)g(hat)g(die)g (Nummer)f("2")396 562 y(etc\).)h(Das)h(naechste)f(Ar)o(gument)e(ist)j (der)f(Name)g(der)f(Datei)i(mit)f(der)g(neuen)f(Firmw)o(are)h(gefolgt)f (v)n(om)h(Namen)f(der)396 670 y(Datei)i(mit)f(der)g(Signatur)f(der)h (neuen)f(Firmw)o(are.)-2 854 y SDict begin H.S end -2 854 a -2 854 a SDict begin 13 H.A end -2 854 a -2 854 a SDict begin [ /View [/XYZ H.V] /Dest (0:145) cvn H.B /DEST pdfmark end -2 854 a 396 944 a Fi(Nachdem)g(Sie)i(das)f(K)m(ommando)e (einge)o(geben)g(haben)h(fragt)g(der)h(Leser)g(nach)g(einer)g (Bestaetigung.)f(Drueck)o(en)f(Sie)396 1052 y(die)i("OK"-T)-7 b(aste)21 b(auf)e(der)h(T)-7 b(astatur)20 b(des)h(Lesers)f(zur)g (Bestaetigung)f(oder)h(brechen)e(Sie)j(den)f(V)-11 b(or)o(gang)17 b(mit)396 1160 y("CANCEL")k(ab)m(.)-2 1327 y SDict begin H.S end -2 1327 a -2 1327 a SDict begin 13 H.A end -2 1327 a -2 1327 a SDict begin [ /View [/XYZ H.V] /Dest (0:146) cvn H.B /DEST pdfmark end -2 1327 a 396 1434 a Fi(Sollte)g(der)f(Leser)g("haengen")e(nachdem)g(Sie)j("OK")g(oder)e ("CANCEL")h(gedrueckt)f(haben,)f(muessen)i(Sie)h(den)396 1542 y(Leser)f(abziehen)f(und)h(neu)f(anschliessen.)h(Anschliessend)f (muessen)h(Sie)h(eine)f(leicht)g(modi\002zierte)f(V)-9 b(ersion)19 b(des)396 1650 y(obrigen)g(K)m(ommandos)f(v)o(erwenden:) 1520 1650 y SDict begin H.S end 1520 1650 a 1520 1650 a SDict begin 13 H.A end 1520 1650 a 1520 1650 a SDict begin [ /View [/XYZ H.V] /Dest (0:147) cvn H.B /DEST pdfmark end 1520 1650 a 44 w Fb(CJ_USB_MODE=1)43 b(cjflash)h(1)g (Kernel_V30_07.bin)396 1758 y(Kernel_V30_07.bin.ecoma.sgn)-2 1934 y SDict begin H.S end -2 1934 a -2 1934 a SDict begin 13 H.A end -2 1934 a -2 1934 a SDict begin [ /View [/XYZ H.V] /Dest (0:148) cvn H.B /DEST pdfmark end -2 1934 a 396 2032 a Fi(Hiermit)20 b(wird)g(die)g(Umgeb)n(ungsv)n(ariable)d ("CJ_USB_MODE")j(gesetzt)g(be)n(v)n(or)g(das)g(Update)g(durchgefuehrt)c (wird.)396 2140 y(Dadurch)j(weiss)i(der)f(T)m(reiber)m(,)e(dass)j(es)g (sich)g(um)e(einen)h(Leser)g(mit)h(einer)e(fuer)h(Linux)f (problematischen)e(Firmw)o(are)396 2248 y(handelt)i(und)h(spricht)f (ihn)h(etw)o(as)h(anders)f(an.)-2 2432 y SDict begin H.S end -2 2432 a -2 2432 a SDict begin 13 H.A end -2 2432 a -2 2432 a SDict begin [ /View [/XYZ H.V] /Dest (0:149) cvn H.B /DEST pdfmark end -2 2432 a 396 2522 a Fi(Bitte)h(setzen)g (Sie)g(die)f(Umgeb)n(ungsv)n(ariable)c(nur)m(,)j(wenn)h("cj\003ash")g (sonst)h(nicht)e(funktioniert!)-2 2550 y SDict begin H.S end -2 2550 a -2 2550 a SDict begin 13 H.A end -2 2550 a -2 2550 a SDict begin [ /View [/XYZ H.V] /Dest (0:150) cvn H.B /DEST pdfmark end -2 2550 a 359 x Fk(5.)39 b(Suppor)s(t)712 2909 y SDict begin H.S end 712 2909 a 712 2909 a SDict begin 22.464 H.A end 712 2909 a 712 2909 a SDict begin [ /View [/XYZ H.V] /Dest (0.5.1) cvn H.B /DEST pdfmark end 712 2909 a -2 3105 a SDict begin H.S end -2 3105 a -2 3105 a SDict begin 13 H.A end -2 3105 a -2 3105 a SDict begin [ /View [/XYZ H.V] /Dest (0:152) cvn H.B /DEST pdfmark end -2 3105 a 396 3183 a Fi(Support)19 b(f\374r)h(diesen)f(T)m(reiber)h (bietet)g(REINER)g(SCT)-6 b(.)21 b(E-mail:)f(support@reiner)n(-sct.com) d(Postadresse:)396 3291 y(Schw)o(abacher)i(Str)-5 b(.)21 b(34,)e(90762)f(F\374rth,)i(Deutschland)-2 3469 y SDict begin H.S end -2 3469 a -2 3469 a SDict begin 13 H.A end -2 3469 a -2 3469 a SDict begin [ /View [/XYZ H.V] /Dest (0:153) cvn H.B /DEST pdfmark end -2 3469 a 396 3565 a Fi(Bitte)h(f\374gen)e(Sie)i(ihrer)f(Problembeschreib)n(ung)c(die)k (folgenden)e(Informationen)e(bei:)-2 3583 y SDict begin H.S end -2 3583 a -2 3583 a SDict begin 13 H.A end -2 3583 a -2 3583 a SDict begin [ /View [/XYZ H.V] /Dest (0:154) cvn H.B /DEST pdfmark end -2 3583 a -2 3593 a SDict begin H.S end -2 3593 a -2 3593 a SDict begin 13 H.A end -2 3593 a -2 3593 a SDict begin [ /View [/XYZ H.V] /Dest (0:155) cvn H.B /DEST pdfmark end -2 3593 a Black 396 3735 a Fc(\225)p Black 479 3735 a SDict begin H.S end 479 3735 a 479 3735 a SDict begin 13 H.A end 479 3735 a 479 3735 a SDict begin [ /View [/XYZ H.V] /Dest (0:156) cvn H.B /DEST pdfmark end 479 3735 a Fi(Name)k(und)g(V)-9 b(ersion)19 b(des)h(v)o(erwendeten)e(Programmes,)g(mit)j(dem)e(der)h (Fehler)g(auftrat)-2 3753 y SDict begin H.S end -2 3753 a -2 3753 a SDict begin 13 H.A end -2 3753 a -2 3753 a SDict begin [ /View [/XYZ H.V] /Dest (0:157) cvn H.B /DEST pdfmark end -2 3753 a Black 396 3885 a Fc(\225)p Black 479 3885 a SDict begin H.S end 479 3885 a 479 3885 a SDict begin 13 H.A end 479 3885 a 479 3885 a SDict begin [ /View [/XYZ H.V] /Dest (0:158) cvn H.B /DEST pdfmark end 479 3885 a Fi(die)g(v)n(ollst\344ndige)f(Fehlermeldung)-2 3903 y SDict begin H.S end -2 3903 a -2 3903 a SDict begin 13 H.A end -2 3903 a -2 3903 a SDict begin [ /View [/XYZ H.V] /Dest (0:159) cvn H.B /DEST pdfmark end -2 3903 a Black 396 4034 a Fc(\225)p Black 479 4034 a SDict begin H.S end 479 4034 a 479 4034 a SDict begin 13 H.A end 479 4034 a 479 4034 a SDict begin [ /View [/XYZ H.V] /Dest (0:160) cvn H.B /DEST pdfmark end 479 4034 a Fi(den)h(Namen)f(und)h (die)g(V)-9 b(ersion)19 b(der)h(v)n(on)g(Ihnen)f(v)o(erwendeten)e (Linux-Distrib)n(ution)h(\(z.B.)i(SuSE)g(10.1,)f(Debian)479 4142 y(3.0r1)g(testing\))-2 4160 y SDict begin H.S end -2 4160 a -2 4160 a SDict begin 13 H.A end -2 4160 a -2 4160 a SDict begin [ /View [/XYZ H.V] /Dest (0:161) cvn H.B /DEST pdfmark end -2 4160 a Black 396 4291 a Fc(\225)p Black 479 4291 a SDict begin H.S end 479 4291 a 479 4291 a SDict begin 13 H.A end 479 4291 a 479 4291 a SDict begin [ /View [/XYZ H.V] /Dest (0:162) cvn H.B /DEST pdfmark end 479 4291 a Fi(CPU-T)-7 b(yp)20 b(\(z.B.)g(der)g(Inhalt)g(der)f (Datei)1667 4291 y SDict begin H.S end 1667 4291 a 1667 4291 a SDict begin 13 H.A end 1667 4291 a 1667 4291 a SDict begin [ /View [/XYZ H.V] /Dest (0:163) cvn H.B /DEST pdfmark end 1667 4291 a Fh(/proc/cpuinfo)p Fi(\))-2 4309 y SDict begin H.S end -2 4309 a -2 4309 a SDict begin 13 H.A end -2 4309 a -2 4309 a SDict begin [ /View [/XYZ H.V] /Dest (0:164) cvn H.B /DEST pdfmark end -2 4309 a Black 396 4441 a Fc(\225)p Black 479 4441 a SDict begin H.S end 479 4441 a 479 4441 a SDict begin 13 H.A end 479 4441 a 479 4441 a SDict begin [ /View [/XYZ H.V] /Dest (0:165) cvn H.B /DEST pdfmark end 479 4441 a Fi(K)n(ernelv)o(ersion)f (\(z.B.)i(die)g(Ausgabe)f(des)i(Befehls)1988 4441 y SDict begin H.S end 1988 4441 a 1988 4441 a SDict begin 13 H.A end 1988 4441 a 1988 4441 a SDict begin [ /View [/XYZ H.V] /Dest (0:166) cvn H.B /DEST pdfmark end 1988 4441 a Fe(uname)g(-r)p Fi(\))-2 4459 y SDict begin H.S end -2 4459 a -2 4459 a SDict begin 13 H.A end -2 4459 a -2 4459 a SDict begin [ /View [/XYZ H.V] /Dest (0:167) cvn H.B /DEST pdfmark end -2 4459 a Black 396 4590 a Fc(\225)p Black 479 4590 a SDict begin H.S end 479 4590 a 479 4590 a SDict begin 13 H.A end 479 4590 a 479 4590 a SDict begin [ /View [/XYZ H.V] /Dest (0:168) cvn H.B /DEST pdfmark end 479 4590 a Fi(Liste)g(der)f(angeschlossenen)e(USB-Ger\344te)i (\(z.B.)g(die)g(Ausgabe)f(des)i(Befehls)2819 4590 y SDict begin H.S end 2819 4590 a 2819 4590 a SDict begin 13 H.A end 2819 4590 a 2819 4590 a SDict begin [ /View [/XYZ H.V] /Dest (0:169) cvn H.B /DEST pdfmark end 2819 4590 a Fe(lsusb)p Fi(\))-2 4650 y SDict begin H.S end -2 4650 a -2 4650 a SDict begin 13 H.A end -2 4650 a -2 4650 a SDict begin [ /View [/XYZ H.V] /Dest (0:170) cvn H.B /DEST pdfmark end -2 4650 a Black 3842 5569 a Fg(5)p Black eop end %%Page: 6 6 TeXDict begin 6 5 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black -2 94 a Fk(6.)39 b(T)-11 b(r)m(oub)o(leshooting)1278 94 y SDict begin H.S end 1278 94 a 1278 94 a SDict begin 22.464 H.A end 1278 94 a 1278 94 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.1) cvn H.B /DEST pdfmark end 1278 94 a -2 126 a SDict begin H.S end -2 126 a -2 126 a SDict begin 13 H.A end -2 126 a -2 126 a SDict begin [ /View [/XYZ H.V] /Dest (0:172) cvn H.B /DEST pdfmark end -2 126 a 396 422 a Fd(6.1.)35 b(Er)n(ste)e(Sc)o(hritte)1403 422 y SDict begin H.S end 1403 422 a 1403 422 a SDict begin 18.72 H.A end 1403 422 a 1403 422 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.4.2) cvn H.B /DEST pdfmark end 1403 422 a -2 590 a SDict begin H.S end -2 590 a -2 590 a SDict begin 13 H.A end -2 590 a -2 590 a SDict begin [ /View [/XYZ H.V] /Dest (0:174) cvn H.B /DEST pdfmark end -2 590 a 396 696 a Fi(Mit)20 b(dem)e(T)m(reiber)g(wird)h(das)g(T)-7 b(ool)19 b("c)o(yberjack")e (installiert.)i(Es)g(erzeugt)f(Dateien)h(mit)g(Daten,)g(die)g(fuer)f (den)g(Support)396 804 y(v)n(on)h(Reiner)h(SCT)h(wichtig)e(sind.)h (Fuehren)e(Sie)i(daher)f(in)h(einer)f(K)m(onsole)g(den)h(folgenden)d (Befehl)j(aus;)3480 804 y SDict begin H.S end 3480 804 a 3480 804 a SDict begin 13 H.A end 3480 804 a 3480 804 a SDict begin [ /View [/XYZ H.V] /Dest (0:175) cvn H.B /DEST pdfmark end 3480 804 a Fb(cyberjack)-2 988 y SDict begin H.S end -2 988 a -2 988 a SDict begin 13 H.A end -2 988 a -2 988 a SDict begin [ /View [/XYZ H.V] /Dest (0:176) cvn H.B /DEST pdfmark end -2 988 a 396 1078 a Fi(Dabei)g(entstehen)g(im)g(aktuellen)f(V)-9 b(erzeichnis)19 b(3)h(Dateien.)g(Schauen)f(Sie)i(sich)g(zuerst)f(die)g(Datei)396 1186 y SDict begin H.S end 396 1186 a 396 1186 a SDict begin 13 H.A end 396 1186 a 396 1186 a SDict begin [ /View [/XYZ H.V] /Dest (0:177) cvn H.B /DEST pdfmark end 396 1186 a Fh(cyberjack-hints.log)e Fi(an.)i(Sie)h(enthaelt)e(e)n(v)o (entuell)g(bereits)h(Hinweise,)g(w)o(as)h(Sie)g(auf)f(Ihrem)f(System)h (tun)396 1294 y(k)o(oennen,)e(um)i(das)h(Problem)e(selbst)h(zu)h (beheben)d(\(oft)i(sind)g(es)h(nur)e(Kleinigk)o(eiten\).)-2 1478 y SDict begin H.S end -2 1478 a -2 1478 a SDict begin 13 H.A end -2 1478 a -2 1478 a SDict begin [ /View [/XYZ H.V] /Dest (0:178) cvn H.B /DEST pdfmark end -2 1478 a 396 1568 a Fi(Sollte)h(das)g(nicht)f(zum)g(Erfolg)f(fuehren,)f (senden)i(Sie)h(bitte)g(die)f(ebenf)o(alls)g(entstandene)f(Datei)i("c)o (yberjack.xml")c(mit)396 1676 y(Ihrer)j(Support-Anfrage)e(mit,)j(damit) g(wir)g(alle)h(noetigen)e(Informationen)d(haben,)j(um)h(Ihnen)f(helfen) g(zu)h(k)o(oennen.)-2 1704 y SDict begin H.S end -2 1704 a -2 1704 a SDict begin 13 H.A end -2 1704 a -2 1704 a SDict begin [ /View [/XYZ H.V] /Dest (0:179) cvn H.B /DEST pdfmark end -2 1704 a 396 2014 a Fd(6.2.)35 b(Aeltere)f(c)o(yberJac)n (ks)1712 2014 y SDict begin H.S end 1712 2014 a 1712 2014 a SDict begin 18.72 H.A end 1712 2014 a 1712 2014 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.5.2) cvn H.B /DEST pdfmark end 1712 2014 a -2 2205 a SDict begin H.S end -2 2205 a -2 2205 a SDict begin 13 H.A end -2 2205 a -2 2205 a SDict begin [ /View [/XYZ H.V] /Dest (0:181) cvn H.B /DEST pdfmark end -2 2205 a 396 2288 a Fi(c)o(yberJacks)19 b(mit)h(der)g(USB-K)n(ennung)e(0x100)h(\(alte)h(Ecom/Pinpad\))e(machen) h(mitunter)g(Probleme)g(mit)h(aktuellen)396 2396 y(T)m(reibern.)-2 2563 y SDict begin H.S end -2 2563 a -2 2563 a SDict begin 13 H.A end -2 2563 a -2 2563 a SDict begin [ /View [/XYZ H.V] /Dest (0:182) cvn H.B /DEST pdfmark end -2 2563 a 396 2670 a Fi(F)o(alls)h(das)g(bei)f(Ihnen)f(der)g(F)o(all)i(sein)g (sollte,)f(gibt)g(es)h(die)f(Moe)o(glichk)o(eit,)e(das)j(V)-9 b(erhalten)19 b(des)h(T)m(reibers)g(zu)396 2778 y(beein\003ussen:)-2 2945 y SDict begin H.S end -2 2945 a -2 2945 a SDict begin 13 H.A end -2 2945 a -2 2945 a SDict begin [ /View [/XYZ H.V] /Dest (0:183) cvn H.B /DEST pdfmark end -2 2945 a -2 2945 a SDict begin H.S end -2 2945 a -2 2945 a SDict begin 13 H.A end -2 2945 a -2 2945 a SDict begin [ /View [/XYZ H.V] /Dest (0:184) cvn H.B /DEST pdfmark end -2 2945 a 396 3052 a Fb(cyberjack)44 b(addflags)f(0x100000)-2 3228 y SDict begin H.S end -2 3228 a -2 3228 a SDict begin 13 H.A end -2 3228 a -2 3228 a SDict begin [ /View [/XYZ H.V] /Dest (0:185) cvn H.B /DEST pdfmark end -2 3228 a 396 3326 a Fi(Dieses)21 b(K)m(ommando)d(muessen)i(Sie)h(als)g(root)e (ausfuehren.)f(Es)j(setzt)g(ein)f(Flag)g(welches)g(den)g(T)m(reiber)f (bei)h(jedem)396 3434 y(Initialisieren)g(des)g(Lesers)h(ein)f(Reset-K)m (ommando)e(schick)o(en)h(laesst.)-2 3445 y SDict begin H.S end -2 3445 a -2 3445 a SDict begin 13 H.A end -2 3445 a -2 3445 a SDict begin [ /View [/XYZ H.V] /Dest (0:186) cvn H.B /DEST pdfmark end -2 3445 a 396 3772 a Fd(6.3.)35 b(Gr)n(o\337e)e(Anzahl)h(v)l(on)g(Lesern)2070 3772 y SDict begin H.S end 2070 3772 a 2070 3772 a SDict begin 18.72 H.A end 2070 3772 a 2070 3772 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.6.2) cvn H.B /DEST pdfmark end 2070 3772 a -2 3940 a SDict begin H.S end -2 3940 a -2 3940 a SDict begin 13 H.A end -2 3940 a -2 3940 a SDict begin [ /View [/XYZ H.V] /Dest (0:188) cvn H.B /DEST pdfmark end -2 3940 a 396 4046 a Fi(Der)20 b(c)o(yberJack)f(wurde)g(mit)i(bis)f (zu)g(52)g(gleichzeitig)f(angeschlossenen)f(Ger\344ten)i(\(\374ber)f (7-Port)g(Hubs\))h(getestet.)396 4154 y(Dabei)g(gibt)g(es)h(allerdings) e(etw)o(as)i(zu)f(beachten:)-2 4172 y SDict begin H.S end -2 4172 a -2 4172 a SDict begin 13 H.A end -2 4172 a -2 4172 a SDict begin [ /View [/XYZ H.V] /Dest (0:189) cvn H.B /DEST pdfmark end -2 4172 a -2 4182 a SDict begin H.S end -2 4182 a -2 4182 a SDict begin 13 H.A end -2 4182 a -2 4182 a SDict begin [ /View [/XYZ H.V] /Dest (0:190) cvn H.B /DEST pdfmark end -2 4182 a Black 396 4325 a Fc(\225)p Black 479 4325 a SDict begin H.S end 479 4325 a 479 4325 a SDict begin 13 H.A end 479 4325 a 479 4325 a SDict begin [ /View [/XYZ H.V] /Dest (0:191) cvn H.B /DEST pdfmark end 479 4325 a Fi(Linux)f(bis)i(V)-9 b(ersion)19 b(2.4.19)g(h\344ngt)g(sich)h(v)n(ollst\344ndig)g(auf,)f(wenn)h(zu)g (viele)g(Ger\344te)g(angeschlossen)f(sind.)479 4433 y(V)-9 b(ersionen)19 b(ab)h(2.4.20)e(weisen)j(dieses)f(Problem)g(nicht)f(mehr) h(auf.)-2 4434 y SDict begin H.S end -2 4434 a -2 4434 a SDict begin 13 H.A end -2 4434 a -2 4434 a SDict begin [ /View [/XYZ H.V] /Dest (0:192) cvn H.B /DEST pdfmark end -2 4434 a Black 396 4582 a Fc(\225)p Black 479 4582 a SDict begin H.S end 479 4582 a 479 4582 a SDict begin 13 H.A end 479 4582 a 479 4582 a SDict begin [ /View [/XYZ H.V] /Dest (0:193) cvn H.B /DEST pdfmark end 479 4582 a Fi(Es)h(treten)f(manchmal)e(timeout-Fehler)h(auf.)g(Das)i(Problem)e (scheint)h(hier)g(im)g(Linux-K)n(ernel)e(selbst)j(zu)f(lie)o(gen)479 4690 y(\(usb-uhci\).)e(Mit)j(schnelleren)e(Rechnern)f(tritt)j(dieses)g (Problem)e(nicht)h(mehr)f(auf)h(\(ab)g(2GHz\).)-2 4705 y SDict begin H.S end -2 4705 a -2 4705 a SDict begin 13 H.A end -2 4705 a -2 4705 a SDict begin [ /View [/XYZ H.V] /Dest (0:194) cvn H.B /DEST pdfmark end -2 4705 a Black 396 4839 a Fc(\225)p Black 479 4839 a SDict begin H.S end 479 4839 a 479 4839 a SDict begin 13 H.A end 479 4839 a 479 4839 a SDict begin [ /View [/XYZ H.V] /Dest (0:195) cvn H.B /DEST pdfmark end 479 4839 a Fi(Sollte)h(es)g(immer)e(noch)g (nicht)h(wie)h(ge)n(w\374nscht)e(funktionieren,)d(sollten)21 b(Sie)f(die)h(beteiligten)479 4947 y(USB-Controller)n(-Karten)d (und/oder)g(Hubs)i(austauschen.)f(Es)i(gibt)f(hier)f(of)n(fensichtlich) g(eine)h(besonders)f(gro\337e)479 5055 y(Streubreite)g(in)i(der)e (Qualit\344t)i(dieser)f(Ger\344te.)p Black 3840 5569 a Fg(6)p Black eop end %%Page: 7 7 TeXDict begin 7 6 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 13 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:196) cvn H.B /DEST pdfmark end -2 -11 a 396 72 a Fi(Der)g (Daten-Durchsatz)f(nimmt)g(nicht)h(ab,)g(wenn)g(Sie)g(statt)i(einem)d (50)h(Kartenleser)f(anschlie\337en)g(und)g(k)o(onstant)396 180 y(auslesen)h(\(getestet)g(mit)h(den)e(K)m(ommandos)g(SELECT)h(und)f (READ_BIN)m(AR)-5 b(Y\).)-2 209 y SDict begin H.S end -2 209 a -2 209 a SDict begin 13 H.A end -2 209 a -2 209 a SDict begin [ /View [/XYZ H.V] /Dest (0:197) cvn H.B /DEST pdfmark end -2 209 a 396 519 a Fd(6.4.)35 b(Hotplug)o(ging)1331 519 y SDict begin H.S end 1331 519 a 1331 519 a SDict begin 18.72 H.A end 1331 519 a 1331 519 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.7.2) cvn H.B /DEST pdfmark end 1331 519 a -2 712 a SDict begin H.S end -2 712 a -2 712 a SDict begin 13 H.A end -2 712 a -2 712 a SDict begin [ /View [/XYZ H.V] /Dest (0:199) cvn H.B /DEST pdfmark end -2 712 a 396 793 a Fi(Linux)19 b(unterst\374tzt)h(hotplugging)d(\(das)j (Einsteck)o(en)f(und)g(Entfernen)f(v)n(on)i(USB-Ger\344ten)g(bei)g (laufendem)e(Betrieb\).)396 901 y(Dies)j(wird)f(durch)f(das)h(ude)n (v-System)f(implementiert.)-2 1085 y SDict begin H.S end -2 1085 a -2 1085 a SDict begin 13 H.A end -2 1085 a -2 1085 a SDict begin [ /View [/XYZ H.V] /Dest (0:200) cvn H.B /DEST pdfmark end -2 1085 a 396 1175 a Fi(Sie)i(\002nden)e(ude)n (v-Skriptdateien)e(f\374r)i(die)i(REINER)f(SCT)h(Kartenleser)f(im)g(V) -9 b(erzeichnis)3055 1175 y SDict begin H.S end 3055 1175 a 3055 1175 a SDict begin 13 H.A end 3055 1175 a 3055 1175 a SDict begin [ /View [/XYZ H.V] /Dest (0:201) cvn H.B /DEST pdfmark end 3055 1175 a Fh(etc/udev)20 b Fi(des)396 1283 y(Quellpak)o(etes.)-2 1467 y SDict begin H.S end -2 1467 a -2 1467 a SDict begin 13 H.A end -2 1467 a -2 1467 a SDict begin [ /View [/XYZ H.V] /Dest (0:202) cvn H.B /DEST pdfmark end -2 1467 a 396 1557 a Fi(Da)h(ude)n(v-Skripte)c (Distrib)n(utions-spezi\002sch)i(sind)h(\(nicht)g(alle)g(v)o(erwenden)e (ude)n(v)-5 b(,)19 b(und)g(SuSE)h(v)o(erwendet)396 1665 y(ausserdem)f(resmgr)m(,)g(zudem)g(sind)h(auch)g(die)g(Namen)g(der)f (Skripte)h(nicht)g(einheitlich\),)f(k\366nnen)f(wir)i(nicht)g(f\374r)f (alle)396 1773 y(am)h(Markt)g(e)o(xistierenden)e(Distrib)n(utionen)h (die)h(passenden)f(Skripte)h(bereitstellen.)f(Die)i(v)n(on)e(uns)i (gelieferten)396 1880 y(RPM-)g(und)e(DEB-P)o(ak)o(ete)h(installieren)g (die)g(f\374r)f(das)i(je)n(weilige)f(System)g(passenden)f(Dateien)h(an) g(die)g(v)n(or)o(gesehene)396 1988 y(Stelle,)h(so)f(da\337)g(mit)h (diesen)e(P)o(ak)o(eten)h(hotplugging)d(problemlos)h(m\366glich)h(ist.) -2 2017 y SDict begin H.S end -2 2017 a -2 2017 a SDict begin 13 H.A end -2 2017 a -2 2017 a SDict begin [ /View [/XYZ H.V] /Dest (0:203) cvn H.B /DEST pdfmark end -2 2017 a 396 2327 a Fd(6.5.)35 b(Log)o(ging)1099 2327 y SDict begin H.S end 1099 2327 a 1099 2327 a SDict begin 18.72 H.A end 1099 2327 a 1099 2327 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.8.2) cvn H.B /DEST pdfmark end 1099 2327 a -2 2520 a SDict begin H.S end -2 2520 a -2 2520 a SDict begin 13 H.A end -2 2520 a -2 2520 a SDict begin [ /View [/XYZ H.V] /Dest (0:205) cvn H.B /DEST pdfmark end -2 2520 a 396 2601 a Fi(Dieser)21 b(T)m(reiber)e(erlaubt)g(die)h (Aufzeichnung)d(der)j(K)m(ommunikation)d(mit)k(dem)f(Kartenleser)-5 b(.)19 b(Sie)i(schalten)f(es)h(ein,)396 2709 y(indem)f(Sie)g(als)h (root)f(das)g(K)m(ommando)1560 2709 y SDict begin H.S end 1560 2709 a 1560 2709 a SDict begin 13 H.A end 1560 2709 a 1560 2709 a SDict begin [ /View [/XYZ H.V] /Dest (0:206) cvn H.B /DEST pdfmark end 1560 2709 a Fb(cyberjack)44 b(addflags)f(0xffff)20 b Fi(ausfuehren.)d(Dann)j(schreibt)g(der)396 2817 y(T)m(reiber)f(die)i(Logmeldungen)16 b(in)k(die)h(Datei)1712 2817 y SDict begin H.S end 1712 2817 a 1712 2817 a SDict begin 13 H.A end 1712 2817 a 1712 2817 a SDict begin [ /View [/XYZ H.V] /Dest (0:207) cvn H.B /DEST pdfmark end 1712 2817 a Fh(/tmp/cj.log)p Fi(.)-2 2928 y SDict begin H.S end -2 2928 a -2 2928 a SDict begin 13 H.A end -2 2928 a -2 2928 a SDict begin [ /View [/XYZ H.V] /Dest (0:208) cvn H.B /DEST pdfmark end -2 2928 a 359 x Fk(7.)39 b(Bekannte)f(Pr)m(ob)o(leme)1495 3287 y SDict begin H.S end 1495 3287 a 1495 3287 a SDict begin 22.464 H.A end 1495 3287 a 1495 3287 a SDict begin [ /View [/XYZ H.V] /Dest (0.7.1) cvn H.B /DEST pdfmark end 1495 3287 a -2 3455 a SDict begin H.S end -2 3455 a -2 3455 a SDict begin 13 H.A end -2 3455 a -2 3455 a SDict begin [ /View [/XYZ H.V] /Dest (0:210) cvn H.B /DEST pdfmark end -2 3455 a 396 3561 a Fi(Leider)20 b(enthalten)f(alle)h(K)n(ernel)g(bi)g (einschliesslich)g(V)-9 b(ersion)20 b(2.6.12-rc5)d(einen)i(schweren)h (Fehler)f(in)i(der)396 3669 y(Behandlung)d(v)n(on)i(asynchronen)d(URB') -5 b(s)22 b(\(USB)f(Request)f(Block\))g(im)g(Userspace.)g(Dieser)g (Fehler)g(hat)h(nichts)f(mit)396 3777 y(dem)g(Reiner)g(SCT)h(T)m (reiber)e(zu)h(tun,)g(dennoch)e(betrif)n(ft)h(er)i(auch)e(unseren)g(T)m (reiber)g(f\374r)h(PC/SC.)h(Der)g(Fehler)e(tritt)i(auf,)396 3885 y(wenn)f(der)g(PC/SC)i(Dienst)e(beendet)f(wird)h(und)f(kann)g(im)i (schlimmsten)e(F)o(all)i(zum)f(v)n(ollst\344ndigen)e(Absturz)i(des)396 3993 y(K)n(ernels)g(f\374hren.)-2 4160 y SDict begin H.S end -2 4160 a -2 4160 a SDict begin 13 H.A end -2 4160 a -2 4160 a SDict begin [ /View [/XYZ H.V] /Dest (0:211) cvn H.B /DEST pdfmark end -2 4160 a 396 4267 a Fi(Es)h(wurde)e(eine)h (L\366sung)f(erarbeitet,)g(die)h(aber)g(bisher)g(nicht)f(of)n (\002zieller)h(Bestandteil)g(des)h(Linux-K)n(ernels)d(ist.)j(W)m(ir)396 4375 y(bieten)f(unsere)f(L\366sung)g(aber)h(als)h(patch)e(an)i(\(in)f (F)o(orm)f(der)h(Datei)g(patches/usb-async_urb-de)n(vio-)o(oo)o (ps-\002x)o(.pa)o(tch\).)-2 4559 y SDict begin H.S end -2 4559 a -2 4559 a SDict begin 13 H.A end -2 4559 a -2 4559 a SDict begin [ /View [/XYZ H.V] /Dest (0:212) cvn H.B /DEST pdfmark end -2 4559 a 396 4649 a Fi(F)o(alls)h(Sie)g(PC/SC)h (in)e(V)-9 b(erbindung)17 b(mit)k(einem)f(betrof)n(fenen)d(K)n(ernel)j (v)o(erwenden)d(w)o(ollen,)j(raten)g(wir)g(daher)396 4757 y(dringend)e(dazu)i(den)f(mitgelieferten)g(P)o(atch)h(anzuwenden.) -2 4785 y SDict begin H.S end -2 4785 a -2 4785 a SDict begin 13 H.A end -2 4785 a -2 4785 a SDict begin [ /View [/XYZ H.V] /Dest (0:213) cvn H.B /DEST pdfmark end -2 4785 a Black 3839 5569 a Fg(7)p Black eop end %%Page: 8 8 TeXDict begin 8 7 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark end -2 -102 a Black -2 -201 a SDict begin H.S end -2 -201 a -2 -201 a SDict begin 13 H.A end -2 -201 a -2 -201 a SDict begin [ /View [/XYZ H.V] /Dest (0:233) cvn H.B /DEST pdfmark end -2 -201 a 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n (k)g(pinpad/e-com)d(USB)j(Kartenleser)p Black -2 91 a Fk(8.)39 b(Anwendung)q(en)1150 91 y SDict begin H.S end 1150 91 a 1150 91 a SDict begin 22.464 H.A end 1150 91 a 1150 91 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.1) cvn H.B /DEST pdfmark end 1150 91 a -2 123 a SDict begin H.S end -2 123 a -2 123 a SDict begin 13 H.A end -2 123 a -2 123 a SDict begin [ /View [/XYZ H.V] /Dest (0:215) cvn H.B /DEST pdfmark end -2 123 a 396 419 a Fd(8.1.)c(Mone)n(yple)n(x) 1241 419 y SDict begin H.S end 1241 419 a 1241 419 a SDict begin 18.72 H.A end 1241 419 a 1241 419 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.9.2) cvn H.B /DEST pdfmark end 1241 419 a -2 610 a SDict begin H.S end -2 610 a -2 610 a SDict begin 13 H.A end -2 610 a -2 610 a SDict begin [ /View [/XYZ H.V] /Dest (0:217) cvn H.B /DEST pdfmark end -2 610 a 396 693 a Fi(Mone)o(yple)o(x)18 b(bringt)h(seine)h(eigenen)f (T)m(reiber)g(fuer)h(die)g(bekanntesten)e(Geraete)i(mit.)g(Leider)g (sind)g(die)g(T)m(reiber)f(fuer)396 801 y(den)h(Cyberjack,)f(die)h (sich)g(auf)g(der)g(Mone)o(yple)o(x-CD)d(be\002nden,)i(meist)h(v)o (eraltet)g(und)f(funktionieren)e(auf)j(aktuellen)396 909 y(Systemen)g(nicht.)-2 1093 y SDict begin H.S end -2 1093 a -2 1093 a SDict begin 13 H.A end -2 1093 a -2 1093 a SDict begin [ /View [/XYZ H.V] /Dest (0:218) cvn H.B /DEST pdfmark end -2 1093 a 396 1183 a Fi(Sie)h(sollten)f(daher)f (unbedingt)f(den)i(je)n(weils)h(aktuellsten)e(T)m(reiber)g(v)n(on)h (unserer)f(Homepage)g(herunterladen)e(und)396 1291 y(installieren.)-2 1458 y SDict begin H.S end -2 1458 a -2 1458 a SDict begin 13 H.A end -2 1458 a -2 1458 a SDict begin [ /View [/XYZ H.V] /Dest (0:219) cvn H.B /DEST pdfmark end -2 1458 a 396 1565 a Fi(Anschliessend)j(muessen)f(Sie)i(dann)e(im)i (entsprechenden)c(K)m(on\002gurationsmenue)f(v)n(on)k(Mone)o(yple)o(x)d (direkt)396 1673 y(unseren)i(T)m(reiber)g(angeben)g(\(je)h(nach)g (System)g(entweder)f(in)h(/usr/lib)g(oder)g(in)g(/usr/lib/readers,)e (Dateiname)i(ist)396 1781 y("libctapi-c)o(yberjack.so".)-2 1965 y SDict begin H.S end -2 1965 a -2 1965 a SDict begin 13 H.A end -2 1965 a -2 1965 a SDict begin [ /View [/XYZ H.V] /Dest (0:220) cvn H.B /DEST pdfmark end -2 1965 a 396 2055 a Fi(Damit)h(sollte)f(Mone)o(yple)o(x)e(auch)h(mit)i(dem)e (Cyberjack)g(zusammenarbeiten)f(k)o(oennen.)-2 2073 y SDict begin H.S end -2 2073 a -2 2073 a SDict begin 13 H.A end -2 2073 a -2 2073 a SDict begin [ /View [/XYZ H.V] /Dest (0:221) cvn H.B /DEST pdfmark end -2 2073 a 396 2342 a Fj(8.1.1.)28 b(Mone)o(yple)o(x)g(auf)g(64-Bit-Systemen)2168 2342 y SDict begin H.S end 2168 2342 a 2168 2342 a SDict begin 15.6 H.A end 2168 2342 a 2168 2342 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.9.2.3) cvn H.B /DEST pdfmark end 2168 2342 a -2 2529 a SDict begin H.S end -2 2529 a -2 2529 a SDict begin 13 H.A end -2 2529 a -2 2529 a SDict begin [ /View [/XYZ H.V] /Dest (0:223) cvn H.B /DEST pdfmark end -2 2529 a 396 2616 a Fi(Mone)o(yple)o(x)18 b(ist)j(eine)f(32-Bit-Anwendung.)c(Als)21 b(solche)f(kann)f(sie)i(zw)o (ar)f(auch)g(auf)g(64-Bit-Systemen)e(ausgefuehrt)396 2724 y(werden,)h(\002ndet)h(aber)g(auf)f(solchen)h(Systemen)f(k)o(eine) h(Kartenleser)n(-T)m(reiber)e(\(weil)i(es)h(nach)f(32-Bit-T)m(reibern)d (sucht,)396 2832 y(die)j(aber)g(auf)g(einem)g(solchen)f(System)h (normalerweise)f(nicht)g(v)n(orhanden)f(sind\).)-2 3016 y SDict begin H.S end -2 3016 a -2 3016 a SDict begin 13 H.A end -2 3016 a -2 3016 a SDict begin [ /View [/XYZ H.V] /Dest (0:224) cvn H.B /DEST pdfmark end -2 3016 a 396 3106 a Fi(Es)j(wurde)e(allerdings)g(auch)h(fuer)f(diesen)h(F)o(all)h (eine)f(Loesung)f(mit)h(Matrica)g(erarbeitet.)f(Mone)o(yple)o(x)f (liefert)i(-)396 3214 y(spaetestens)h(nach)e(einem)h(Update)f(-)i (einen)e(Proxy-T)m(reiber)e(mit)k(\(libproxy-c)o(yberjack.so\))o(,)15 b(welcher)k(einer)396 3322 y(32-Bit-Anwendung)e(erlaubt,)i(auf)h(die)g (installierten)f(64-Bit-T)m(reiber)g(zuzugreifen.)-2 3506 y SDict begin H.S end -2 3506 a -2 3506 a SDict begin 13 H.A end -2 3506 a -2 3506 a SDict begin [ /View [/XYZ H.V] /Dest (0:225) cvn H.B /DEST pdfmark end -2 3506 a 396 3596 a Fi(Diesen)i(T)m(reiber)e(\002nden)g(Sie)i(normalerweise)d (im)j(Mone)o(yple)o(x-V)-9 b(erzeichnis)15 b(\($HOME/mone)o(yple)o (x\),)g(und)20 b(dort)396 3703 y(ueblicherweise)f(im)h(Unterv)o (erzeichnis)e("ctapi".)i(W)-7 b(aehlen)20 b(Sie)h(diesen)f(T)m(reiber)f (in)h(Mone)o(yple)o(x)e(aus.)-2 3898 y SDict begin H.S end -2 3898 a -2 3898 a SDict begin 13 H.A end -2 3898 a -2 3898 a SDict begin [ /View [/XYZ H.V] /Dest (0:226) cvn H.B /DEST pdfmark end -2 3898 a 359 x Fk(9.)39 b(Zus\344tzlic)o(he)e (Inf)m(ormation)1766 4257 y SDict begin H.S end 1766 4257 a 1766 4257 a SDict begin 22.464 H.A end 1766 4257 a 1766 4257 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.1) cvn H.B /DEST pdfmark end 1766 4257 a -2 4259 a SDict begin H.S end -2 4259 a -2 4259 a SDict begin 13 H.A end -2 4259 a -2 4259 a SDict begin [ /View [/XYZ H.V] /Dest (0:228) cvn H.B /DEST pdfmark end -2 4259 a 396 4585 a Fd(9.1.)e(CT)-14 b(-API)1013 4585 y SDict begin H.S end 1013 4585 a 1013 4585 a SDict begin 18.72 H.A end 1013 4585 a 1013 4585 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.10.2) cvn H.B /DEST pdfmark end 1013 4585 a -2 4753 a SDict begin H.S end -2 4753 a -2 4753 a SDict begin 13 H.A end -2 4753 a -2 4753 a SDict begin [ /View [/XYZ H.V] /Dest (0:230) cvn H.B /DEST pdfmark end -2 4753 a 396 4859 a Fi(Die)21 b(CT)-8 b(-API)21 b(Spezi\002kation)d(erhalten)i(Sie)g(auf)g(der)g (Seite)396 4967 y SDict begin H.S end 396 4967 a 396 4967 a SDict begin 13 H.A end 396 4967 a 396 4967 a SDict begin [ /View [/XYZ H.V] /Dest (0:231) cvn H.B /DEST pdfmark end 396 4967 a Fi(http://www)-5 b(.darmstadt.gmd.de/~eckstein/CT/mk) o(t.htm)o(l)p Black 3842 5569 a Fg(8)p Black eop end %%Page: 9 9 TeXDict begin 9 8 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark end -2 -102 a Black -2 -201 a SDict begin H.S end -2 -201 a -2 -201 a SDict begin 13 H.A end -2 -201 a -2 -201 a SDict begin [ /View [/XYZ H.V] /Dest (0:263) cvn H.B /DEST pdfmark end -2 -201 a 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n (k)g(pinpad/e-com)d(USB)j(Kartenleser)p Black -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 13 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:232) cvn H.B /DEST pdfmark end -2 -11 a 396 72 a Fi(Bitte)h(beachten)e(Sie,)i(da\337)f(die)g(Port-Nummern)d(bei)j(1)h (be)o(ginnen)d(\(wie)i(in)g(den)g(Spezi\002kationen)e(v)n(or)o (gesehen\).)-2 101 y SDict begin H.S end -2 101 a -2 101 a SDict begin 13 H.A end -2 101 a -2 101 a SDict begin [ /View [/XYZ H.V] /Dest (0:233) cvn H.B /DEST pdfmark end -2 101 a 396 411 a Fd(9.2.)35 b(PC/SC)994 411 y SDict begin H.S end 994 411 a 994 411 a SDict begin 18.72 H.A end 994 411 a 994 411 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.11.2) cvn H.B /DEST pdfmark end 994 411 a -2 578 a SDict begin H.S end -2 578 a -2 578 a SDict begin 13 H.A end -2 578 a -2 578 a SDict begin [ /View [/XYZ H.V] /Dest (0:235) cvn H.B /DEST pdfmark end -2 578 a 396 685 a Fi(Dieser)21 b(T)m(reiber)e(bietet)h(inzwischen)f(auch)h(einen)f (PC/SC-T)m(reiber)h(f\374r)g(pcsc-lite)g(an.)g(Er)g(wurde)f(mit)i (pcsc-lite-1.2.0)396 793 y(getestet.)-2 811 y SDict begin H.S end -2 811 a -2 811 a SDict begin 13 H.A end -2 811 a -2 811 a SDict begin [ /View [/XYZ H.V] /Dest (0:236) cvn H.B /DEST pdfmark end -2 811 a 396 1080 a Fj(9.2.1.)28 b(Installation)1199 1080 y SDict begin H.S end 1199 1080 a 1199 1080 a SDict begin 15.6 H.A end 1199 1080 a 1199 1080 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.11.3.3) cvn H.B /DEST pdfmark end 1199 1080 a -2 1247 a SDict begin H.S end -2 1247 a -2 1247 a SDict begin 13 H.A end -2 1247 a -2 1247 a SDict begin [ /View [/XYZ H.V] /Dest (0:238) cvn H.B /DEST pdfmark end -2 1247 a 396 1354 a Fi(F\374r)20 b(RPM-basierte)g(Systeme)g(ist)i(der)d(sogenannte)g(IFD-T)m(reiber)f (im)j(P)o(ak)o(et)f(ctapi-c)o(yberjack-ifd)c(enthalten.)-2 1538 y SDict begin H.S end -2 1538 a -2 1538 a SDict begin 13 H.A end -2 1538 a -2 1538 a SDict begin [ /View [/XYZ H.V] /Dest (0:239) cvn H.B /DEST pdfmark end -2 1538 a 396 1628 a Fi(F)o(alls)21 b(Sie)g(den)f(T)m(reiber)f(aus)h(dem)g (Quellpak)o(et)f(selber)h(k)o(ompilieren,)e(wird)i(durch)2830 1628 y SDict begin H.S end 2830 1628 a 2830 1628 a SDict begin 13 H.A end 2830 1628 a 2830 1628 a SDict begin [ /View [/XYZ H.V] /Dest (0:240) cvn H.B /DEST pdfmark end 2830 1628 a Fe(mak)o(e)h(install)f Fi(der)g(IFD-T)m(reiber)396 1736 y(an)g(die)h(passende)e(Stelle)i(in)f(Ihrem)f(System)i (\(normalerweise)2255 1736 y SDict begin H.S end 2255 1736 a 2255 1736 a SDict begin 13 H.A end 2255 1736 a 2255 1736 a SDict begin [ /View [/XYZ H.V] /Dest (0:241) cvn H.B /DEST pdfmark end 2255 1736 a Fh(/usr/lib/pcsc/drivers/)p Fi(\))16 b(installiert.)-2 1847 y SDict begin H.S end -2 1847 a -2 1847 a SDict begin 13 H.A end -2 1847 a -2 1847 a SDict begin [ /View [/XYZ H.V] /Dest (0:242) cvn H.B /DEST pdfmark end -2 1847 a 396 2157 a Fd(9.3.)35 b(Multithreading) 1452 2157 y SDict begin H.S end 1452 2157 a 1452 2157 a SDict begin 18.72 H.A end 1452 2157 a 1452 2157 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.12.2) cvn H.B /DEST pdfmark end 1452 2157 a -2 2350 a SDict begin H.S end -2 2350 a -2 2350 a SDict begin 13 H.A end -2 2350 a -2 2350 a SDict begin [ /View [/XYZ H.V] /Dest (0:244) cvn H.B /DEST pdfmark end -2 2350 a 396 2431 a Fi(Dieser)21 b(T)m(reiber)e(ist)i (nicht)f(thread-safe,)e(d.h.)h(es)i(k\366nnen)e(nicht)g(mehrere)g (Threads)g(des)i(gleichen)e(Programmes)f(auf)396 2539 y(den)i(gleichen)f(Leser)h(zugreifen)e(\(dies)i(w\374rde)g(aber)f (ohnehin)g(meist)h(zu)g(Problemen)f(auf)h(der)f(Karte)i(f\374hren\).)-2 2723 y SDict begin H.S end -2 2723 a -2 2723 a SDict begin 13 H.A end -2 2723 a -2 2723 a SDict begin [ /View [/XYZ H.V] /Dest (0:245) cvn H.B /DEST pdfmark end -2 2723 a 396 2813 a Fi(Allerdings)f(k\366nnen)e(unterschiedliche)g(Threads)h (des)h(gleichen)f(Programmes)g(auf)g(unterschiedliche)f(Ger\344te)396 2921 y(zugreifen.)g(So)j(k\366nnen)d(also)i(beispielsweise)h(3)f (Threads)f(gleichzeitig)g(auf)h(3)g(Karten)g(in)g(3)h (unterschiedlichen)396 3029 y(Ger\344ten)f(zugreifen.)-2 3058 y SDict begin H.S end -2 3058 a -2 3058 a SDict begin 13 H.A end -2 3058 a -2 3058 a SDict begin [ /View [/XYZ H.V] /Dest (0:246) cvn H.B /DEST pdfmark end -2 3058 a 396 3368 a Fd(9.4.)35 b(K)l(ommandola\344ng)q(e)1659 3368 y SDict begin H.S end 1659 3368 a 1659 3368 a SDict begin 18.72 H.A end 1659 3368 a 1659 3368 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.13.2) cvn H.B /DEST pdfmark end 1659 3368 a -2 3560 a SDict begin H.S end -2 3560 a -2 3560 a SDict begin 13 H.A end -2 3560 a -2 3560 a SDict begin [ /View [/XYZ H.V] /Dest (0:248) cvn H.B /DEST pdfmark end -2 3560 a 396 3642 a Fi(Die)21 b(K)m(ommandol\344nge)c(ist)k (derzeit)e(auf)h(ISO7816)f(short)h(commands)e(reduziert.)h(Dies)i (bedeutet)e(allerdings)g(im)396 3750 y(normalen)g(Betrieb)h(k)o(eine)g (Einschr\344nkung.)-2 3778 y SDict begin H.S end -2 3778 a -2 3778 a SDict begin 13 H.A end -2 3778 a -2 3778 a SDict begin [ /View [/XYZ H.V] /Dest (0:249) cvn H.B /DEST pdfmark end -2 3778 a 396 4088 a Fd(9.5.)35 b(T)-10 b(astendruc)n(k)35 b(Callbac)n(k)1848 4088 y SDict begin H.S end 1848 4088 a 1848 4088 a SDict begin 18.72 H.A end 1848 4088 a 1848 4088 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.14.2) cvn H.B /DEST pdfmark end 1848 4088 a -2 4256 a SDict begin H.S end -2 4256 a -2 4256 a SDict begin 13 H.A end -2 4256 a -2 4256 a SDict begin [ /View [/XYZ H.V] /Dest (0:251) cvn H.B /DEST pdfmark end -2 4256 a -2 4280 a SDict begin H.S end -2 4280 a -2 4280 a SDict begin 11.7 H.A end -2 4280 a -2 4280 a SDict begin [ /View [/XYZ H.V] /Dest (0:252) cvn H.B /DEST pdfmark end -2 4280 a -2 4363 a SDict begin H.S end -2 4363 a -2 4363 a SDict begin 11.7 H.A end -2 4363 a -2 4363 a SDict begin [ /View [/XYZ H.V] /Dest (0:253) cvn H.B /DEST pdfmark end -2 4363 a 396 4482 a Fh(IS8)576 4482 y SDict begin H.S end 576 4482 a 576 4482 a SDict begin 11.7 H.A end 576 4482 a 576 4482 a SDict begin [ /View [/XYZ H.V] /Dest (0:255) cvn H.B /DEST pdfmark end 576 4482 a Fb(rsct_setkeycb)1161 4482 y SDict begin H.S end 1161 4482 a 1161 4482 a SDict begin 11.7 H.A end 1161 4482 a 1161 4482 a SDict begin [ /View [/XYZ H.V] /Dest (0:256) cvn H.B /DEST pdfmark end 1161 4482 a Fh(\(IU16)1386 4482 y SDict begin H.S end 1386 4482 a 1386 4482 a SDict begin 11.7 H.A end 1386 4482 a 1386 4482 a SDict begin [ /View [/XYZ H.V] /Dest (0:257) cvn H.B /DEST pdfmark end 1386 4482 a Fa(ctn)p Fh(,)1607 4482 y SDict begin H.S end 1607 4482 a 1607 4482 a SDict begin 11.7 H.A end 1607 4482 a 1607 4482 a SDict begin [ /View [/XYZ H.V] /Dest (0:258) cvn H.B /DEST pdfmark end 1607 4482 a Fh(void)44 b(\()1876 4495 y(*)1921 4482 y SDict begin H.S end 1921 4482 a 1921 4482 a SDict begin 11.7 H.A end 1921 4482 a 1921 4482 a SDict begin [ /View [/XYZ H.V] /Dest (0:259) cvn H.B /DEST pdfmark end 1921 4482 a Fa(cb)r Fh(\))2102 4482 y SDict begin H.S end 2102 4482 a 2102 4482 a SDict begin 11.7 H.A end 2102 4482 a 2102 4482 a SDict begin [ /View [/XYZ H.V] /Dest (0:260) cvn H.B /DEST pdfmark end 2102 4482 a Fh(\(void)2371 4495 y(*)2416 4482 y(user_data\)\);)-2 4839 y SDict begin H.S end -2 4839 a -2 4839 a SDict begin 13 H.A end -2 4839 a -2 4839 a SDict begin [ /View [/XYZ H.V] /Dest (0:261) cvn H.B /DEST pdfmark end -2 4839 a 396 4947 a Fi(Die)21 b(Funktion)858 4947 y SDict begin H.S end 858 4947 a 858 4947 a SDict begin 13 H.A end 858 4947 a 858 4947 a SDict begin [ /View [/XYZ H.V] /Dest (0:262) cvn H.B /DEST pdfmark end 858 4947 a Fh(rsct_setkeycb)d Fi(wurde)h(hinzugef\374gt,)e(um)j(laufenden)e (Programmen)g(eine)i(R\374ckmeldung)e(\374ber)396 5055 y(gedr\374ckte)g(T)-7 b(asten)21 b(des)f(Lesers)h(zu)f(geben.)f(Die)h (Funktion,)f(die)h(als)h(2.)f(Ar)o(gument)e(dieses)i(Aufrufes)f (geliefert)h(wird,)p Black 3842 5569 a Fg(9)p Black eop end %%Page: 10 10 TeXDict begin 10 9 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.10) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black 396 72 a Fi(wird)g(je)n (weils)h(aufgerufen,)c(wenn)j(ein)g(C4-)g(oder)g(F4)g(S-Block)g(v)n(om) g(Leser)g(empf)o(angen)d(wurde.)i(Die)i(Anwendung)396 180 y(kann)e(dann)h(beispielsweise)g(einen)g(Piepton)f(erzeugen,)f (oder)h(die)i(Anzahl)e(der)h(gedr\374ckten)e(T)-7 b(asten)20 b(anzeigen.)-2 209 y SDict begin H.S end -2 209 a -2 209 a SDict begin 13 H.A end -2 209 a -2 209 a SDict begin [ /View [/XYZ H.V] /Dest (0:263) cvn H.B /DEST pdfmark end -2 209 a 396 519 a Fd(9.6.)35 b(Inf)n(ormationen)f(zur)e(T)-10 b(reiber)q(ver)n(sion)2487 519 y SDict begin H.S end 2487 519 a 2487 519 a SDict begin 18.72 H.A end 2487 519 a 2487 519 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.15.2) cvn H.B /DEST pdfmark end 2487 519 a -2 686 a SDict begin H.S end -2 686 a -2 686 a SDict begin 13 H.A end -2 686 a -2 686 a SDict begin [ /View [/XYZ H.V] /Dest (0:265) cvn H.B /DEST pdfmark end -2 686 a -2 710 a SDict begin H.S end -2 710 a -2 710 a SDict begin 11.7 H.A end -2 710 a -2 710 a SDict begin [ /View [/XYZ H.V] /Dest (0:266) cvn H.B /DEST pdfmark end -2 710 a -2 793 a SDict begin H.S end -2 793 a -2 793 a SDict begin 11.7 H.A end -2 793 a -2 793 a SDict begin [ /View [/XYZ H.V] /Dest (0:267) cvn H.B /DEST pdfmark end -2 793 a 396 913 a Fh(void)620 913 y SDict begin H.S end 620 913 a 620 913 a SDict begin 11.7 H.A end 620 913 a 620 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:269) cvn H.B /DEST pdfmark end 620 913 a Fb(rsct_version)1160 913 y SDict begin H.S end 1160 913 a 1160 913 a SDict begin 11.7 H.A end 1160 913 a 1160 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:270) cvn H.B /DEST pdfmark end 1160 913 a Fh(\(IU8)1340 926 y(*)1385 913 y SDict begin H.S end 1385 913 a 1385 913 a SDict begin 11.7 H.A end 1385 913 a 1385 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:271) cvn H.B /DEST pdfmark end 1385 913 a Fa(vmajor)s Fh(,)1744 913 y SDict begin H.S end 1744 913 a 1744 913 a SDict begin 11.7 H.A end 1744 913 a 1744 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:272) cvn H.B /DEST pdfmark end 1744 913 a Fh(IU8)1879 926 y(*)1924 913 y SDict begin H.S end 1924 913 a 1924 913 a SDict begin 11.7 H.A end 1924 913 a 1924 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:273) cvn H.B /DEST pdfmark end 1924 913 a Fa(vminor)s Fh(,)2285 913 y SDict begin H.S end 2285 913 a 2285 913 a SDict begin 11.7 H.A end 2285 913 a 2285 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:274) cvn H.B /DEST pdfmark end 2285 913 a Fh(IU8)2420 926 y(*)2465 913 y SDict begin H.S end 2465 913 a 2465 913 a SDict begin 11.7 H.A end 2465 913 a 2465 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:275) cvn H.B /DEST pdfmark end 2465 913 a Fa(vpatchlevel)p Fh(,)3047 913 y SDict begin H.S end 3047 913 a 3047 913 a SDict begin 11.7 H.A end 3047 913 a 3047 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:276) cvn H.B /DEST pdfmark end 3047 913 a Fh(IU16)3227 926 y(*)3272 913 y SDict begin H.S end 3272 913 a 3272 913 a SDict begin 11.7 H.A end 3272 913 a 3272 913 a SDict begin [ /View [/XYZ H.V] /Dest (0:277) cvn H.B /DEST pdfmark end 3272 913 a Fa(vbuild)s Fh(\);)-2 1270 y SDict begin H.S end -2 1270 a -2 1270 a SDict begin 13 H.A end -2 1270 a -2 1270 a SDict begin [ /View [/XYZ H.V] /Dest (0:278) cvn H.B /DEST pdfmark end -2 1270 a 396 1378 a Fi(Die)21 b(Funktion)858 1378 y SDict begin H.S end 858 1378 a 858 1378 a SDict begin 13 H.A end 858 1378 a 858 1378 a SDict begin [ /View [/XYZ H.V] /Dest (0:279) cvn H.B /DEST pdfmark end 858 1378 a Fh(rsct_version)d Fi(gibt)i(die)g(v)n (ollstaendige)f(V)-9 b(ersion)20 b(des)g(T)m(reibers)g(in)g(den)g (ueber)o(gebenen)c(V)-9 b(ariablen)396 1486 y(zurueck.)-2 1497 y SDict begin H.S end -2 1497 a -2 1497 a SDict begin 13 H.A end -2 1497 a -2 1497 a SDict begin [ /View [/XYZ H.V] /Dest (0:280) cvn H.B /DEST pdfmark end -2 1497 a 396 1824 a Fd(9.7.)35 b(Zusaetzlic)o(he)g(CT_init)g(Er)n (satz-Funktion)2718 1824 y SDict begin H.S end 2718 1824 a 2718 1824 a SDict begin 18.72 H.A end 2718 1824 a 2718 1824 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.16.2) cvn H.B /DEST pdfmark end 2718 1824 a -2 2005 a SDict begin H.S end -2 2005 a -2 2005 a SDict begin 13 H.A end -2 2005 a -2 2005 a SDict begin [ /View [/XYZ H.V] /Dest (0:282) cvn H.B /DEST pdfmark end -2 2005 a -2 2029 a SDict begin H.S end -2 2029 a -2 2029 a SDict begin 11.7 H.A end -2 2029 a -2 2029 a SDict begin [ /View [/XYZ H.V] /Dest (0:283) cvn H.B /DEST pdfmark end -2 2029 a -2 2112 a SDict begin H.S end -2 2112 a -2 2112 a SDict begin 11.7 H.A end -2 2112 a -2 2112 a SDict begin [ /View [/XYZ H.V] /Dest (0:284) cvn H.B /DEST pdfmark end -2 2112 a 396 2218 a Fh(IS8)576 2218 y SDict begin H.S end 576 2218 a 576 2218 a SDict begin 11.7 H.A end 576 2218 a 576 2218 a SDict begin [ /View [/XYZ H.V] /Dest (0:286) cvn H.B /DEST pdfmark end 576 2218 a Fb(rsct_init_name)1206 2218 y SDict begin H.S end 1206 2218 a 1206 2218 a SDict begin 11.7 H.A end 1206 2218 a 1206 2218 a SDict begin [ /View [/XYZ H.V] /Dest (0:287) cvn H.B /DEST pdfmark end 1206 2218 a Fh(\(IU16)1431 2218 y SDict begin H.S end 1431 2218 a 1431 2218 a SDict begin 11.7 H.A end 1431 2218 a 1431 2218 a SDict begin [ /View [/XYZ H.V] /Dest (0:288) cvn H.B /DEST pdfmark end 1431 2218 a Fa(ctn)p Fh(,)1652 2218 y SDict begin H.S end 1652 2218 a 1652 2218 a SDict begin 11.7 H.A end 1652 2218 a 1652 2218 a SDict begin [ /View [/XYZ H.V] /Dest (0:289) cvn H.B /DEST pdfmark end 1652 2218 a Fh(const)44 b(char)2101 2231 y(*)2146 2218 y SDict begin H.S end 2146 2218 a 2146 2218 a SDict begin 11.7 H.A end 2146 2218 a 2146 2218 a SDict begin [ /View [/XYZ H.V] /Dest (0:290) cvn H.B /DEST pdfmark end 2146 2218 a Fa(device_name)p Fh(\);)-2 2575 y SDict begin H.S end -2 2575 a -2 2575 a SDict begin 13 H.A end -2 2575 a -2 2575 a SDict begin [ /View [/XYZ H.V] /Dest (0:291) cvn H.B /DEST pdfmark end -2 2575 a 396 2683 a Fi(Die)21 b(Funktion)858 2683 y SDict begin H.S end 858 2683 a 858 2683 a SDict begin 13 H.A end 858 2683 a 858 2683 a SDict begin [ /View [/XYZ H.V] /Dest (0:292) cvn H.B /DEST pdfmark end 858 2683 a Fh(rsct_init_name)d Fi(erlaubt)h(die)h(direkte) g(Angabe)e(des)j(Geraetes)f(wie)h(bei)f(PC/SC.)h(Damit)g(kann)396 2791 y(eindeutig)e(festgele)o(gt)g(werden,)g(welches)h(Geraet)g(v)o (erwendet)f(werden)g(soll.)h(Der)g(Geraetename)f(ist)i(wie)g(folgt)396 2899 y(aufgebaut:)d("usb:VENDOR_ID/PR)m(ODUCT_ID:lib)n(usb:B)o (US_ID:DEVICE_ID".)e(Fuer)k(einen)g(neuen)396 3007 y(Cyberjack)f(an)h (/proc/b)n(us/usb/003/002)c(lautet)k(der)g(Name)g(demnach:)f ("usb:0c4b/0300:lib)n(usb:003)o(:002)o(".)-2 3035 y SDict begin H.S end -2 3035 a -2 3035 a SDict begin 13 H.A end -2 3035 a -2 3035 a SDict begin [ /View [/XYZ H.V] /Dest (0:293) cvn H.B /DEST pdfmark end -2 3035 a 396 3345 a Fd(9.8.)35 b(Feste)f(Zur)n(odn)o(ung)f(der)g(P)-5 b(or)r(tn)o(ummer) 34 b(zu)f(Lesern)3152 3345 y SDict begin H.S end 3152 3345 a 3152 3345 a SDict begin 18.72 H.A end 3152 3345 a 3152 3345 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.17.2) cvn H.B /DEST pdfmark end 3152 3345 a -2 3538 a SDict begin H.S end -2 3538 a -2 3538 a SDict begin 13 H.A end -2 3538 a -2 3538 a SDict begin [ /View [/XYZ H.V] /Dest (0:295) cvn H.B /DEST pdfmark end -2 3538 a 396 3619 a Fi(Die)21 b(Funktion)858 3619 y SDict begin H.S end 858 3619 a 858 3619 a SDict begin 13 H.A end 858 3619 a 858 3619 a SDict begin [ /View [/XYZ H.V] /Dest (0:296) cvn H.B /DEST pdfmark end 858 3619 a Fh(CT_init)e Fi(erlaubt)g(eine)h (feste)h(Zurdnung)c(v)n(on)j(Portnummern)d(zu)j(bestimmten)g(Lesern.)f (Das)396 3727 y(bedeutet)g(beispielsweise,)h(dass)h(immer)f(der)f (gleiche)h(Leser)g(unter)f(der)h(gleichen)f(Portnummer)f(angesprochen) 396 3835 y(wird,)i(e)o(gal)f(an)h(welchem)g(USB-Port)g(das)h(Geraet)f (angeschlossen)e(ist.)-2 4019 y SDict begin H.S end -2 4019 a -2 4019 a SDict begin 13 H.A end -2 4019 a -2 4019 a SDict begin [ /View [/XYZ H.V] /Dest (0:297) cvn H.B /DEST pdfmark end -2 4019 a 396 4109 a Fi(Dies)j(erreichen)e(Sie,)h (indem)g(Sie)h(als)g(Portnummer)c(die)k(folgenden)c(Nummern)i(v)o (erwenden:)-2 4293 y SDict begin H.S end -2 4293 a -2 4293 a SDict begin 13 H.A end -2 4293 a -2 4293 a SDict begin [ /View [/XYZ H.V] /Dest (0:298) cvn H.B /DEST pdfmark end -2 4293 a -2 4293 a SDict begin H.S end -2 4293 a -2 4293 a SDict begin 13 H.A end -2 4293 a -2 4293 a SDict begin [ /View [/XYZ H.V] /Dest (0:299) cvn H.B /DEST pdfmark end -2 4293 a -2 4303 a SDict begin H.S end -2 4303 a -2 4303 a SDict begin 13 H.A end -2 4303 a -2 4303 a SDict begin [ /View [/XYZ H.V] /Dest (0:300) cvn H.B /DEST pdfmark end -2 4303 a Black 396 4445 a Fc(\225)p Black 479 4445 a SDict begin H.S end 479 4445 a 479 4445 a SDict begin 13 H.A end 479 4445 a 479 4445 a SDict begin [ /View [/XYZ H.V] /Dest (0:301) cvn H.B /DEST pdfmark end 479 4445 a Fi(0x9000)f(\(dezimal)h(36864\))f(fuer)i(das)g(erste) h(Geraet)-2 4460 y SDict begin H.S end -2 4460 a -2 4460 a SDict begin 13 H.A end -2 4460 a -2 4460 a SDict begin [ /View [/XYZ H.V] /Dest (0:302) cvn H.B /DEST pdfmark end -2 4460 a Black 396 4595 a Fc(\225)p Black 479 4595 a SDict begin H.S end 479 4595 a 479 4595 a SDict begin 13 H.A end 479 4595 a 479 4595 a SDict begin [ /View [/XYZ H.V] /Dest (0:303) cvn H.B /DEST pdfmark end 479 4595 a Fi(0x9001)d(\(dezimal)h(36865\))f(fuer)i(das)g(zweite)h(Geraet)396 4744 y(und)f(so)g(weiter)-5 b(.)-2 4911 y SDict begin H.S end -2 4911 a -2 4911 a SDict begin 13 H.A end -2 4911 a -2 4911 a SDict begin [ /View [/XYZ H.V] /Dest (0:304) cvn H.B /DEST pdfmark end -2 4911 a 396 5018 a Fi(Die)21 b(Zuordnung)c(geschieht)i(ueber)g(eine)h(T)-6 b(e)o(xt-Datei,)19 b(in)i(der)e(pro)h(Zeile)g(eine)g(Seriennummer)e(gespeichert)h(ist)396 5126 y(\(normalerweise)f(ist)k(dies)e($HOME/c)o(yberjack_serials\).)p Black 3800 5569 a Fg(10)p Black eop end %%Page: 11 11 TeXDict begin 11 10 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.11) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 13 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:305) cvn H.B /DEST pdfmark end -2 -11 a 396 72 a Fi(Der)g(T)m(reiber) g(aktualisiert)f(diese)i(Datei)f(selbststaendig,)g(es)h(ist)g(hierzu)e (k)o(ein)h(Benutzereingrif)n(f)d(noetig.)i(F)o(alls)i(die)396 180 y(Datei)g(beim)f(Aufruf)e(v)n(on)i(CT_init\(\))f(noch)g(nicht)h(e)o (xistiert,)g(wird)g(sie)h(erzeugt.)e(W)-7 b(enn)20 b(sie)h(bereits)f(e) o(xistiert,)g(und)f(der)396 288 y(angeschlossene)g(Leser)h(bereits)g (in)g(dieser)g(Datei)h(aufgefuehrt)c(wird,)j(bleibt)g(die)g(Datei)h(un) m(v)o(eraendert.)16 b(Der)k(T)m(reiber)396 396 y(fue)o(gt)f(lediglich)h (neue)f(Leser)h(an)g(das)h(Ende)e(der)h(Datei)h(an.)-2 580 y SDict begin H.S end -2 580 a -2 580 a SDict begin 13 H.A end -2 580 a -2 580 a SDict begin [ /View [/XYZ H.V] /Dest (0:306) cvn H.B /DEST pdfmark end -2 580 a 396 670 a Fi(Die)g(erste)f(Seriennummer)e(dieser)i(Datei)h(wird)f(ueber)f (den)g(Portwert)h(0x9000)e(angesprochen,)f(die)j(zweite)g(ueber)396 778 y(0x9001)e(etc.)-2 790 y SDict begin H.S end -2 790 a -2 790 a SDict begin 13 H.A end -2 790 a -2 790 a SDict begin [ /View [/XYZ H.V] /Dest (0:307) cvn H.B /DEST pdfmark end -2 790 a 396 1117 a Fd(9.9.)35 b(Serielle)f(Leser)1405 1117 y SDict begin H.S end 1405 1117 a 1405 1117 a SDict begin 18.72 H.A end 1405 1117 a 1405 1117 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.18.2) cvn H.B /DEST pdfmark end 1405 1117 a -2 1284 a SDict begin H.S end -2 1284 a -2 1284 a SDict begin 13 H.A end -2 1284 a -2 1284 a SDict begin [ /View [/XYZ H.V] /Dest (0:309) cvn H.B /DEST pdfmark end -2 1284 a 396 1391 a Fi(Der)20 b(aktuelle)g(T)m(reiber)f (unterstuetzt)g(den)h(Lesertyp)f(Ecom)h(A)g(via)h(seriellem)f (Anschluss.)-2 1575 y SDict begin H.S end -2 1575 a -2 1575 a SDict begin 13 H.A end -2 1575 a -2 1575 a SDict begin [ /View [/XYZ H.V] /Dest (0:310) cvn H.B /DEST pdfmark end -2 1575 a 396 1665 a Fi(Dazu)g(muessen)g(Sie)h(die)f(folgenden)e (Portnummern)f(v)o(erwenden:)-2 1849 y SDict begin H.S end -2 1849 a -2 1849 a SDict begin 13 H.A end -2 1849 a -2 1849 a SDict begin [ /View [/XYZ H.V] /Dest (0:311) cvn H.B /DEST pdfmark end -2 1849 a -2 1849 a SDict begin H.S end -2 1849 a -2 1849 a SDict begin 13 H.A end -2 1849 a -2 1849 a SDict begin [ /View [/XYZ H.V] /Dest (0:312) cvn H.B /DEST pdfmark end -2 1849 a -2 1859 a SDict begin H.S end -2 1859 a -2 1859 a SDict begin 13 H.A end -2 1859 a -2 1859 a SDict begin [ /View [/XYZ H.V] /Dest (0:313) cvn H.B /DEST pdfmark end -2 1859 a Black 396 2001 a Fc(\225)p Black 479 2001 a SDict begin H.S end 479 2001 a 479 2001 a SDict begin 13 H.A end 479 2001 a 479 2001 a SDict begin [ /View [/XYZ H.V] /Dest (0:314) cvn H.B /DEST pdfmark end 479 2001 a Fi(0xa000)h(\(dezimal)i(40960\))e(fuer)h (Anschlu\337)g(an)h(COM1)h(\(/de)n(v/ttyS0\))-2 2019 y SDict begin H.S end -2 2019 a -2 2019 a SDict begin 13 H.A end -2 2019 a -2 2019 a SDict begin [ /View [/XYZ H.V] /Dest (0:315) cvn H.B /DEST pdfmark end -2 2019 a Black 396 2150 a Fc(\225)p Black 479 2150 a SDict begin H.S end 479 2150 a 479 2150 a SDict begin 13 H.A end 479 2150 a 479 2150 a SDict begin [ /View [/XYZ H.V] /Dest (0:316) cvn H.B /DEST pdfmark end 479 2150 a Fi(0xa001)d(\(dezimal)i (40961\))e(fuer)h(Anschlu\337)g(an)h(COM2)h(\(/de)n(v/ttyS1\))396 2300 y(und)f(so)g(weiter)-5 b(.)-2 2311 y SDict begin H.S end -2 2311 a -2 2311 a SDict begin 13 H.A end -2 2311 a -2 2311 a SDict begin [ /View [/XYZ H.V] /Dest (0:317) cvn H.B /DEST pdfmark end -2 2311 a 396 2638 a Fd(9.10.)35 b(Zur)n(odn)o(ung)e(alter)h(Cyberjac)n(k)h(zu)e(ttyUSB-De)n(vices)3295 2638 y SDict begin H.S end 3295 2638 a 3295 2638 a SDict begin 18.72 H.A end 3295 2638 a 3295 2638 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.19.2) cvn H.B /DEST pdfmark end 3295 2638 a -2 2831 a SDict begin H.S end -2 2831 a -2 2831 a SDict begin 13 H.A end -2 2831 a -2 2831 a SDict begin [ /View [/XYZ H.V] /Dest (0:319) cvn H.B /DEST pdfmark end -2 2831 a 396 2912 a Fi(Die)21 b(Funktion)858 2912 y SDict begin H.S end 858 2912 a 858 2912 a SDict begin 13 H.A end 858 2912 a 858 2912 a SDict begin [ /View [/XYZ H.V] /Dest (0:320) cvn H.B /DEST pdfmark end 858 2912 a Fh(CT_init)e Fi(erlaubt)g(fuer)h(aeltere)g(Cyberjack)f(Ecoms)h (und)f(PinP)o(ads)h(\(mit)g(der)g(USB-Id)g(0x100\))e(eine)396 3020 y(direkte)i(Zurodnung)c(v)n(on)k(Port-W)-7 b(erten)19 b(zu)i(/de)n(v/ttyUSBx-Geraeten.)-2 3204 y SDict begin H.S end -2 3204 a -2 3204 a SDict begin 13 H.A end -2 3204 a -2 3204 a SDict begin [ /View [/XYZ H.V] /Dest (0:321) cvn H.B /DEST pdfmark end -2 3204 a 396 3294 a Fi(Dies)g(erreichen) e(Sie,)h(indem)g(Sie)h(als)g(Portnummer)c(die)k(folgenden)c(Nummern)i (v)o(erwenden:)-2 3478 y SDict begin H.S end -2 3478 a -2 3478 a SDict begin 13 H.A end -2 3478 a -2 3478 a SDict begin [ /View [/XYZ H.V] /Dest (0:322) cvn H.B /DEST pdfmark end -2 3478 a -2 3478 a SDict begin H.S end -2 3478 a -2 3478 a SDict begin 13 H.A end -2 3478 a -2 3478 a SDict begin [ /View [/XYZ H.V] /Dest (0:323) cvn H.B /DEST pdfmark end -2 3478 a -2 3488 a SDict begin H.S end -2 3488 a -2 3488 a SDict begin 13 H.A end -2 3488 a -2 3488 a SDict begin [ /View [/XYZ H.V] /Dest (0:324) cvn H.B /DEST pdfmark end -2 3488 a Black 396 3630 a Fc(\225)p Black 479 3630 a SDict begin H.S end 479 3630 a 479 3630 a SDict begin 13 H.A end 479 3630 a 479 3630 a SDict begin [ /View [/XYZ H.V] /Dest (0:325) cvn H.B /DEST pdfmark end 479 3630 a Fi(0x8000)f(\(dezimal)h(32768\))f(fuer)i(/de)n (v/ttyUSB0)-2 3648 y SDict begin H.S end -2 3648 a -2 3648 a SDict begin 13 H.A end -2 3648 a -2 3648 a SDict begin [ /View [/XYZ H.V] /Dest (0:326) cvn H.B /DEST pdfmark end -2 3648 a Black 396 3780 a Fc(\225)p Black 479 3780 a SDict begin H.S end 479 3780 a 479 3780 a SDict begin 13 H.A end 479 3780 a 479 3780 a SDict begin [ /View [/XYZ H.V] /Dest (0:327) cvn H.B /DEST pdfmark end 479 3780 a Fi(0x8001)e(\(dezimal)h(32769\))f(fuer)i(/de)n(v/ttyUSB1)396 3929 y(und)g(so)g(weiter)-5 b(.)-2 3940 y SDict begin H.S end -2 3940 a -2 3940 a SDict begin 13 H.A end -2 3940 a -2 3940 a SDict begin [ /View [/XYZ H.V] /Dest (0:328) cvn H.B /DEST pdfmark end -2 3940 a 396 4268 a Fd(9.11.)35 b(Pin-Ueberpruefung)f(mit)g(der)f(PC/SC)h(Funktion)396 4423 y(SCar)n(dContr)n(ol)1169 4423 y SDict begin H.S end 1169 4423 a 1169 4423 a SDict begin 18.72 H.A end 1169 4423 a 1169 4423 a SDict begin [ /View [/XYZ H.V] /Dest (0.9.20.2) cvn H.B /DEST pdfmark end 1169 4423 a -2 4591 a SDict begin H.S end -2 4591 a -2 4591 a SDict begin 13 H.A end -2 4591 a -2 4591 a SDict begin [ /View [/XYZ H.V] /Dest (0:330) cvn H.B /DEST pdfmark end -2 4591 a 396 4697 a Fi(Die)21 b(folgende)d(T)-7 b(abelle)20 b(zeigt)g(W)-7 b(erte)21 b(fuer)f(die)g(einzelnden)e(Felder)i(der)g(Struktur)f (PSCS_VERIFY_STR)m(UCTURE)396 4805 y(die)h(mit)h(ASCII)f(und)g(FPIN2-k) o(odierten)d(Pins)k(getestet)g(wurden.)-2 4823 y SDict begin H.S end -2 4823 a -2 4823 a SDict begin 13 H.A end -2 4823 a -2 4823 a SDict begin [ /View [/XYZ H.V] /Dest (0:331) cvn H.B /DEST pdfmark end -2 4823 a -2 4916 a SDict begin H.S end -2 4916 a -2 4916 a SDict begin 13 H.A end -2 4916 a -2 4916 a SDict begin [ /View [/XYZ H.V] /Dest (0:332) cvn H.B /DEST pdfmark end -2 4916 a -2 4916 a SDict begin H.S end -2 4916 a -2 4916 a SDict begin 0 H.A end -2 4916 a -2 4916 a SDict begin [ /View [/XYZ H.V] /Dest (table.3) cvn H.B /DEST pdfmark end -2 4916 a 396 4920 3501 4 v 396 4920 V 396 5044 4 125 v 424 5019 a Ff(Feld)p 1562 5044 V 995 w(ASCII)p 2728 5044 V 945 w(FPIN2)p 3893 5044 V 396 5048 3501 4 v Black 3800 5569 a Fg(11)p Black eop end %%Page: 12 12 TeXDict begin 12 11 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.12) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black 396 -7 3501 4 v 396 -7 V 396 117 4 125 v 424 92 a Ff(Feld)p 1562 117 V 995 w(ASCII)p 2728 117 V 945 w(FPIN2)p 3893 117 V 396 117 3501 4 v 396 242 4 125 v 424 217 a Fi(bT)m(imerOut)p 1562 242 V 798 w(00)p 2728 242 V 1082 w(00)p 3893 242 V 396 245 3501 4 v 396 245 V 396 370 4 125 v 424 345 a(bT)m(imerOut2)p 1562 370 V 756 w(00)p 2728 370 V 1082 w(00)p 3893 370 V 396 373 3501 4 v 396 373 V 396 498 4 125 v 424 473 a(bmF)o(ormatString)p 1562 498 V 615 w(82)p 2728 498 V 1082 w(81)p 3893 498 V 396 501 3501 4 v 396 501 V 396 625 4 125 v 424 600 a(bmPINBlockString)p 1562 625 V 522 w(04)p 2728 625 V 1082 w(48)p 3893 625 V 396 629 3501 4 v 396 629 V 396 753 4 125 v 424 728 a(bmPINLengthF)o(ormat)p 1562 753 V 448 w(00)p 2728 753 V 1082 w(04)p 3893 753 V 396 757 3501 4 v 396 757 V 396 881 4 125 v 424 856 a(wPINMaxExtraDigit)p 1562 881 V 467 w(0408)p 2728 881 V 998 w(0408)p 3893 881 V 396 884 3501 4 v 396 884 V 396 1009 4 125 v 424 984 a(bEntryV)-9 b(alidationCondition)p 1562 1009 V 261 w(02)p 2728 1009 V 1082 w(02)p 3893 1009 V 396 1012 3501 4 v 396 1012 V 396 1137 4 125 v 424 1112 a(bNumberMessage)p 1562 1137 V 559 w(01)p 2728 1137 V 1082 w(01)p 3893 1137 V 396 1140 3501 4 v 396 1140 V 396 1265 4 125 v 424 1240 a(wLangId)p 1562 1265 V 864 w(0904)p 2728 1265 V 998 w(0904)p 3893 1265 V 396 1268 3501 4 v 396 1268 V 396 1393 4 125 v 424 1368 a(bMsgInde)o(x)p 1562 1393 V 786 w(00)p 2728 1393 V 1082 w(00)p 3893 1393 V 396 1396 3501 4 v 396 1396 V 396 1520 4 125 v 424 1495 a(bT)j(eoPrologue)18 b(0-2)p 1562 1520 V 568 w(00)p 2728 1520 V 1082 w(00)p 3893 1520 V 396 1524 3501 4 v 396 1524 V -2 1690 a SDict begin H.S end -2 1690 a -2 1690 a SDict begin 13 H.A end -2 1690 a -2 1690 a SDict begin [ /View [/XYZ H.V] /Dest (0:383) cvn H.B /DEST pdfmark end -2 1690 a 352 x Fk(10.)39 b(Mitg)q(elief)o(er)s(te)e(Anwendung)q(en)2118 2042 y SDict begin H.S end 2118 2042 a 2118 2042 a SDict begin 22.464 H.A end 2118 2042 a 2118 2042 a SDict begin [ /View [/XYZ H.V] /Dest (0.10.1) cvn H.B /DEST pdfmark end 2118 2042 a -2 2074 a SDict begin H.S end -2 2074 a -2 2074 a SDict begin 13 H.A end -2 2074 a -2 2074 a SDict begin [ /View [/XYZ H.V] /Dest (0:385) cvn H.B /DEST pdfmark end -2 2074 a 396 2370 a Fd(10.1.)e(c)o(yberjac)n(k)1241 2370 y SDict begin H.S end 1241 2370 a 1241 2370 a SDict begin 18.72 H.A end 1241 2370 a 1241 2370 a SDict begin [ /View [/XYZ H.V] /Dest (0.10.21.2) cvn H.B /DEST pdfmark end 1241 2370 a -2 2561 a SDict begin H.S end -2 2561 a -2 2561 a SDict begin 13 H.A end -2 2561 a -2 2561 a SDict begin [ /View [/XYZ H.V] /Dest (0:387) cvn H.B /DEST pdfmark end -2 2561 a 396 2644 a Fi(Diese)21 b(Anwendung)d(dient)h(zum)h (einen)g(dem)f(T)-6 b(esten)21 b(des)f(T)m(reibers)g(und)f(Lesers)h (zum)g(anderen)f(der)g(Aenderung)f(v)n(on)396 2752 y(Einstellungen)h (des)h(T)m(reibers.)-2 2936 y SDict begin H.S end -2 2936 a -2 2936 a SDict begin 13 H.A end -2 2936 a -2 2936 a SDict begin [ /View [/XYZ H.V] /Dest (0:388) cvn H.B /DEST pdfmark end -2 2936 a 396 3026 a Fi(Die)h(Einstellungen)d(des)j(T) m(reibers)e(\002nden)g(sich)i(in)f(der)g(K)m(on\002gurationsdatei)2712 3026 y SDict begin H.S end 2712 3026 a 2712 3026 a SDict begin 13 H.A end 2712 3026 a 2712 3026 a SDict begin [ /View [/XYZ H.V] /Dest (0:389) cvn H.B /DEST pdfmark end 2712 3026 a Fh(cyberjack.conf)p Fi(.)f(Es)h(wird)g(je)396 3134 y(nach)g(Distrib)n(ution)f(in)i(dem)e(V)-9 b(erzeichnis)1651 3134 y SDict begin H.S end 1651 3134 a 1651 3134 a SDict begin 13 H.A end 1651 3134 a 1651 3134 a SDict begin [ /View [/XYZ H.V] /Dest (0:390) cvn H.B /DEST pdfmark end 1651 3134 a Fh(/etc)p Fi(,)1872 3134 y SDict begin H.S end 1872 3134 a 1872 3134 a SDict begin 13 H.A end 1872 3134 a 1872 3134 a SDict begin [ /View [/XYZ H.V] /Dest (0:391) cvn H.B /DEST pdfmark end 1872 3134 a Fh(/etc/cyberjack)19 b Fi(oder)2689 3134 y SDict begin H.S end 2689 3134 a 2689 3134 a SDict begin 13 H.A end 2689 3134 a 2689 3134 a SDict begin [ /View [/XYZ H.V] /Dest (0:392) cvn H.B /DEST pdfmark end 2689 3134 a Fh(/usr/etc)g Fi(erw)o(artet.)-2 3312 y SDict begin H.S end -2 3312 a -2 3312 a SDict begin 13 H.A end -2 3312 a -2 3312 a SDict begin [ /View [/XYZ H.V] /Dest (0:393) cvn H.B /DEST pdfmark end -2 3312 a 396 3408 a Fi(Standardmaessig)g(wird)h(v)n(on)f(den)h(binaeren)e(P)o (ak)o(eten)i(eine)g(Beispieldatei)g(mit)h(dem)f(Namen)396 3516 y SDict begin H.S end 396 3516 a 396 3516 a SDict begin 13 H.A end 396 3516 a 396 3516 a SDict begin [ /View [/XYZ H.V] /Dest (0:394) cvn H.B /DEST pdfmark end 396 3516 a Fh(cyberjack.conf.default)d Fi(angele)o(gt)i(die)h(als)h (Ausgangsdatei)d(fuer)i(eigene)f(K)m(on\002gurationen)e(v)o(erwendet) 396 3624 y(werden)i(kann.)-2 3791 y SDict begin H.S end -2 3791 a -2 3791 a SDict begin 13 H.A end -2 3791 a -2 3791 a SDict begin [ /View [/XYZ H.V] /Dest (0:395) cvn H.B /DEST pdfmark end -2 3791 a 396 3898 a Fi(Gespeicherte)g (Einstellungen)g(beinhalten)f(derzeit)i(eine)g(Reihe)h(v)n(on)e(Flags)i (so)n(wie)f(einige)g(Dateinamen)f(\(wie)h(z.B.)396 4006 y(der)g(Name)g(der)g(Logdatei)f(etc\).)-2 4024 y SDict begin H.S end -2 4024 a -2 4024 a SDict begin 13 H.A end -2 4024 a -2 4024 a SDict begin [ /View [/XYZ H.V] /Dest (0:396) cvn H.B /DEST pdfmark end -2 4024 a 396 4293 a Fj(10.1.1.)29 b(K)m(ommandos)d(ad)o(d\003a)o(gs/del\003a)o(gs)2166 4293 y SDict begin H.S end 2166 4293 a 2166 4293 a SDict begin 15.6 H.A end 2166 4293 a 2166 4293 a SDict begin [ /View [/XYZ H.V] /Dest (0.10.21.4.3) cvn H.B /DEST pdfmark end 2166 4293 a -2 4481 a SDict begin H.S end -2 4481 a -2 4481 a SDict begin 13 H.A end -2 4481 a -2 4481 a SDict begin [ /View [/XYZ H.V] /Dest (0:398) cvn H.B /DEST pdfmark end -2 4481 a 396 4567 a Fi(Da)21 b(die)f(K)m(on\002guration)e (je)i(nach)g(Distrib)n(ution)f(an)h(unterschiedlichen)e(Stellen)i(im)h (System)f(abgele)o(gt)f(wird)h(wurde)396 4675 y(das)h(T)-7 b(ool)20 b("c)o(yberjack")e(um)h(zwei)i(neue)e(K)m(ommandos)g (erweitert:)2392 4675 y SDict begin H.S end 2392 4675 a 2392 4675 a SDict begin 13 H.A end 2392 4675 a 2392 4675 a SDict begin [ /View [/XYZ H.V] /Dest (0:399) cvn H.B /DEST pdfmark end 2392 4675 a -2 4713 a SDict begin H.S end -2 4713 a -2 4713 a SDict begin 13 H.A end -2 4713 a -2 4713 a SDict begin [ /View [/XYZ H.V] /Dest (0:400) cvn H.B /DEST pdfmark end -2 4713 a Black 396 4864 a Fc(\225)p Black 479 4864 a SDict begin H.S end 479 4864 a 479 4864 a SDict begin 13 H.A end 479 4864 a 479 4864 a SDict begin [ /View [/XYZ H.V] /Dest (0:401) cvn H.B /DEST pdfmark end 479 4864 a Fi(c)o(yberjack)g(add\003ags)g(0xf)n(f)n (f)n(f)-2 4882 y SDict begin H.S end -2 4882 a -2 4882 a SDict begin 13 H.A end -2 4882 a -2 4882 a SDict begin [ /View [/XYZ H.V] /Dest (0:402) cvn H.B /DEST pdfmark end -2 4882 a Black 396 5013 a Fc(\225)p Black 479 5013 a SDict begin H.S end 479 5013 a 479 5013 a SDict begin 13 H.A end 479 5013 a 479 5013 a SDict begin [ /View [/XYZ H.V] /Dest (0:403) cvn H.B /DEST pdfmark end 479 5013 a Fi(c)o(yberjack)g(del\003ags)h(0xf)n(f)n(f)n(f)p Black 3800 5569 a Fg(12)p Black eop end %%Page: 13 13 TeXDict begin 13 12 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.13) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 13 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:404) cvn H.B /DEST pdfmark end -2 -11 a 396 72 a Fi(Damit)h(k)o (oennen)d(bestimmte)h(Flags)i(gesetzt)f(oder)g(geloescht)f(werden.)g (Derzeit)h(stehen)g(die)g(folgenden)e(Flags)i(zur)396 180 y(V)-9 b(erfue)o(gung:)847 180 y SDict begin H.S end 847 180 a 847 180 a SDict begin 13 H.A end 847 180 a 847 180 a SDict begin [ /View [/XYZ H.V] /Dest (0:405) cvn H.B /DEST pdfmark end 847 180 a -2 292 a SDict begin H.S end -2 292 a -2 292 a SDict begin 13 H.A end -2 292 a -2 292 a SDict begin [ /View [/XYZ H.V] /Dest (0:406) cvn H.B /DEST pdfmark end -2 292 a -2 292 a SDict begin H.S end -2 292 a -2 292 a SDict begin 0 H.A end -2 292 a -2 292 a SDict begin [ /View [/XYZ H.V] /Dest (table.4) cvn H.B /DEST pdfmark end -2 292 a 396 295 3501 4 v 396 295 V 396 420 4 125 v 424 395 a Ff(W)m(er)r(t)p 1562 420 V 983 w(Name)p 2728 420 V 940 w(Besc)o(hreib)n(ung)p 3893 420 V 396 423 3501 4 v 396 423 V 396 979 4 557 v 424 523 a Fi(0x00000001)p 1562 979 V 746 w(DEB)o(UG_GENERIC)p 2728 979 V 500 w(Schaltet)20 b(generelle)2756 631 y(Deb)n(ug-Meldungen) c(ein.)k(Diese)2756 738 y(Meldungen)e(werden)h(in)h(die)2756 846 y(Logdatei)f(geschrieben)2756 954 y(\(normalerweise)f (/tmp/cj.log\).)p 3893 979 V 396 983 3501 4 v 396 983 V 396 1215 4 233 v 424 1082 a(0x00000002)p 1562 1215 V 746 w(DEB)o(UG_READER)p 2728 1215 V 528 w(Schaltet)i(Leser)n (-bezogene)2756 1190 y(Deb)n(ug-Meldungen)c(ein.)p 3893 1215 V 396 1218 3501 4 v 396 1218 V 396 1451 4 233 v 424 1318 a(0x00000004)p 1562 1451 V 746 w(DEB)o(UG_CT)-8 b(API)p 2728 1451 V 628 w(Schaltet)20 b(CT)-8 b(API-bezogene)2756 1426 y(Deb)n(ug-Meldungen)16 b(ein.)p 3893 1451 V 396 1454 3501 4 v 396 1454 V 396 1687 4 233 v 424 1554 a(0x00000008)p 1562 1687 V 746 w(DEB)o(UG_A)-5 b(USB)p 2728 1687 V 644 w(Schaltet)20 b(USB-bezogene)2756 1662 y(Deb)n(ug-Meldungen)c(ein.)p 3893 1687 V 396 1690 3501 4 v 396 1690 V 396 2030 4 341 v 424 1789 a(0x00000010)p 1562 2030 V 746 w(DEB)o(UG_CJPP)-8 b(A)p 2728 2030 V 629 w(Schaltet)20 b(bestimmte)2756 1897 y(Deb)n(ug-Meldungen)c(des)2756 2005 y(Cyberjack)j(PinP)o(ad)h(A)g (ein.)p 3893 2030 V 396 2034 3501 4 v 396 2034 V 396 2374 4 341 v 424 2133 a(0x00000020)p 1562 2374 V 746 w(DEB)o(UG_ECOM)p 2728 2374 V 620 w(Schaltet)g(bestimmte)2756 2241 y(Deb)n(ug-Meldungen)c(des)2756 2349 y(Cyberjack)j(Ecom)g(ein.)p 3893 2374 V 396 2377 3501 4 v 396 2377 V 396 2610 4 233 v 424 2477 a(0x00000040)p 1562 2610 V 746 w(DEB)o(UG_TRANSFER)p 2728 2610 V 436 w(Schaltet)h(IO-bezogene)2756 2585 y(Deb)n (ug-Meldungen)c(ein.)p 3893 2610 V 396 2613 3501 4 v 396 2613 V 396 2846 4 233 v 424 2713 a(0x00000080)p 1562 2846 V 746 w(DEB)o(UG_USB)p 2728 2846 V 699 w(Schaltet)k(weitere)g (USB-bezogene)2756 2821 y(Deb)n(ug-Meldungen)c(ein.)p 3893 2846 V 396 2849 3501 4 v 396 2849 V 396 3081 4 233 v 424 2948 a(0x00000100)p 1562 3081 V 746 w(DEB)o(UG_IFD)p 2728 3081 V 726 w(Schaltet)k(IFD-bezogene)2756 3056 y(Deb)n (ug-Meldungen)c(ein)k(\(PC/SC\))p 3893 3081 V 396 3085 3501 4 v 396 3085 V 396 3425 4 341 v 424 3184 a(0x00000200)p 1562 3425 V 746 w(DEB)o(UG_ECA)p 2728 3425 V 694 w(Schaltet)g (bestimmte)2756 3292 y(Deb)n(ug-Meldungen)c(des)2756 3400 y(Cyberjack)j(Ecom)g(A)i(ein.)p 3893 3425 V 396 3428 3501 4 v 396 3428 V 396 3661 4 233 v 424 3528 a(0x00001000)p 1562 3661 V 746 w(NO_BEEP)p 2728 3661 V 822 w(Schaltet)f(die)g (Signaltoene)f(bei)2756 3636 y(T)-7 b(astendrueck)o(en)18 b(aus.)p 3893 3661 V 396 3664 3501 4 v 396 3664 V 396 4436 4 773 v 424 3764 a(0x00002000)p 1562 4436 V 746 w(ECOM_KERNEL)p 2728 4436 V 577 w(V)-9 b(erwendet)18 b(den)i(K)n(ernel-T)m(reiber)2756 3872 y(fuer)f(den)h(Cyberjack)f (Ecom/Pinpad)2756 3980 y(mit)h(der)g(USB)h(ID)g(0x100.)d(Dies)2756 4088 y(kann)h(v)o(erwendet)f(werden,)h(wenn)2756 4195 y(der)h(normale)e(Userspace-T)m(reiber)2756 4303 y(auf)i(Ihrem)f (System)h(nicht)2756 4411 y(funktioniert.)p 3893 4436 V 396 4440 3501 4 v Black 3800 5569 a Fg(13)p Black eop end %%Page: 14 14 TeXDict begin 14 13 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.14) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black 396 -7 3501 4 v 396 -7 V 396 117 4 125 v 424 92 a Ff(W)m(er)r(t)p 1562 117 V 983 w(Name)p 2728 117 V 940 w(Besc)o(hreib)n(ung)p 3893 117 V 396 117 3501 4 v 396 1645 4 1528 v 424 217 a Fi(0x00004000)p 1562 1645 V 746 w(ALLO)m(W_INPUT)p 2728 1645 V 603 w(Erlaubt)f(das)h(K)m(ommando)e(INPUT)-6 b(.)2756 325 y(Dies)21 b(ist)g(normalerweise)d(aus)2756 433 y(Sicherheitsgruenden)e(deakti)n(viert.)2756 541 y(Nur)k(ganz)f(spezielle)2756 649 y(Anwendungen)e(benoetigen)h(dieses) 2756 757 y(K)m(ommando,)f(insbesondere)2756 865 y(Banking-Programme)f (benoetigen)2756 972 y(es)21 b(jedoch)e(nicht.)g(Sie)i(sollten)f(sich) 2756 1080 y(daher)f(gut)h(ueberle)o(gen,)d(ob)j(Sie)h(das)2756 1188 y(K)m(ommando)d(akti)n(vieren)g(w)o(ollen,)2756 1296 y(denn)h(es)i(kann)e(dazu)g(v)o(erwendet)2756 1404 y(werden,)g(Ihnen)f(eine)i(unsichere)2756 1512 y(Pin-Eingabe)e(als)j (sicher)2756 1620 y(v)n(orzutaeuschen.)p 3893 1645 V 396 1648 3501 4 v 396 1648 V 396 2852 4 1204 v 424 1748 a(0x00008000)p 1562 2852 V 746 w(BEEP_NO_X11)p 2728 2852 V 636 w(Normalerweise)d(v)o(ersucht)h(der)2756 1856 y(T)m(reiber)g (fuer)g(die)i(Signaltoene)d(auf)2756 1964 y(einen)h(laufenden)f (X11-Serv)o(er)2756 2072 y(zuzugreifen)f(\(Ihre)i(gra\002sche)2756 2180 y(Ober\003aeche\).)f(W)-7 b(enn)20 b(dies)h(nicht)2756 2288 y(gelingt,)e(wird)h(v)o(ersucht)f(die)2756 2395 y(Signaltoene)g(ueber)g(andere)2756 2503 y(Methoden)f(zu)i(erzeugen.)e (Mit)2756 2611 y(diesem)i(Flag)g(k)o(oennen)e(Sie)2756 2719 y(v)o(erhindern,)f(dass)j(der)g(X11-Serv)o(er)2756 2827 y(k)o(ontaktiert)e(wird.)p 3893 2852 V 396 2855 3501 4 v 396 2855 V 396 3843 4 988 v 424 2955 a(0x00010000)p 1562 3843 V 746 w(RESET_BEFORE)p 2728 3843 V 573 w(Dieses)j(Flag)f (betrif)n(ft)f(nur)h(aeltere)2756 3063 y(c)o(yberJacks)e(\(pinpad)g (und)g(ecom)h(mit)2756 3171 y(der)h(USB-K)n(ennung)e(0x100\).)f(W)-7 b(enn)2756 3279 y(dieses)20 b(Flag)h(gesetzt)f(ist,)h(fuehrt)e(der)2756 3387 y(T)m(reiber)g(ein)h(Reset)h(durch.)e(Dies)2756 3495 y(sollte)h(normalerweise)f(nicht)h(noetig)2756 3603 y(sein,)g(kann)f(aber)h(mit)g(manchen)2756 3711 y(Lesern)f(den)h (Betrieb)g(ueberhaupt)2756 3818 y(erst)g(ermoe)o(glichen.)p 3893 3843 V 396 3847 3501 4 v 396 3847 V -2 4179 a SDict begin H.S end -2 4179 a -2 4179 a SDict begin 13 H.A end -2 4179 a -2 4179 a SDict begin [ /View [/XYZ H.V] /Dest (0:473) cvn H.B /DEST pdfmark end -2 4179 a 396 4287 a Fi(W)-7 b(enn)21 b(Sie)f(also)h(ein)f(ausfuehrliches)e(Logging)h (einschalten)g(w)o(ollen,)h(fuehren)e(Sie)j(das)f(folgende)e(K)m (ommando)g(aus:)396 4395 y SDict begin H.S end 396 4395 a 396 4395 a SDict begin 13 H.A end 396 4395 a 396 4395 a SDict begin [ /View [/XYZ H.V] /Dest (0:474) cvn H.B /DEST pdfmark end 396 4395 a 45 w Fb(cyberjack)43 b(addflags)h(0xffff) 64 b Fi(Sie)21 b(sehen)f(hier)m(,)f(dass)i(der)f(ange)o(gebene)d(W)-7 b(ert)21 b(0xf)n(f)n(f)n(f)d(alle)j(Flags)g(enthaelt,)396 4503 y(deren)e(Name)h(mit)h(DEB)o(UG_)f(anf)o(aengt.)-2 4687 y SDict begin H.S end -2 4687 a -2 4687 a SDict begin 13 H.A end -2 4687 a -2 4687 a SDict begin [ /View [/XYZ H.V] /Dest (0:475) cvn H.B /DEST pdfmark end -2 4687 a 396 4777 a Fi(W)-7 b(enn)21 b(Sie)f(nun)g(zusaetzlich)f(den)h (Cyberjack)f(Ecom/Pinpad)f(ueber)h(den)h(K)n(ernel-T)m(reiber)e(v)o (erwenden)f(w)o(ollen,)396 4884 y(k)o(oennen)h(Sie)j(dazu)f(entweder)f (anschliessend)g(ein)h(zusaetzliches)g(K)m(ommando)e(eingeben;)3139 4884 y SDict begin H.S end 3139 4884 a 3139 4884 a SDict begin 13 H.A end 3139 4884 a 3139 4884 a SDict begin [ /View [/XYZ H.V] /Dest (0:476) cvn H.B /DEST pdfmark end 3139 4884 a 44 w Fb(cyberjack)396 4992 y(addflags)44 b(0x20000)64 b Fi(oder)19 b(Sie)i(fue)o(gen)e(das)h(Flag)h(dem)e (ersten)h(Aufruf)f(gleich)h(hinzu,)f(wie)h(in)3325 4992 y SDict begin H.S end 3325 4992 a 3325 4992 a SDict begin 13 H.A end 3325 4992 a 3325 4992 a SDict begin [ /View [/XYZ H.V] /Dest (0:477) cvn H.B /DEST pdfmark end 3325 4992 a 44 w Fb(cyberjack)396 5100 y(addflags)44 b(0x2ffff)-2 5121 y SDict begin H.S end -2 5121 a -2 5121 a SDict begin 13 H.A end -2 5121 a -2 5121 a SDict begin [ /View [/XYZ H.V] /Dest (0:478) cvn H.B /DEST pdfmark end -2 5121 a Black 3800 5569 a Fg(14)p Black eop end %%Page: 15 15 TeXDict begin 15 14 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.15) cvn H.B /DEST pdfmark end -2 -102 a Black 1636 -132 a Fg(T)-5 b(r)m(eiber)21 b(f\374r)g(REINER)f(SCT)g(cyberJ)m(ac)n(k)g (pinpad/e-com)d(USB)j(Kartenleser)p Black 396 72 a Fj(10.1.2.)29 b(K)m(ommando)d(c)o(hec)n(k)1579 72 y SDict begin H.S end 1579 72 a 1579 72 a SDict begin 15.6 H.A end 1579 72 a 1579 72 a SDict begin [ /View [/XYZ H.V] /Dest (0.10.21.5.3) cvn H.B /DEST pdfmark end 1579 72 a -2 240 a SDict begin H.S end -2 240 a -2 240 a SDict begin 13 H.A end -2 240 a -2 240 a SDict begin [ /View [/XYZ H.V] /Dest (0:480) cvn H.B /DEST pdfmark end -2 240 a 396 346 a Fi(Dieses)21 b(K)m(ommando)d(wird)i(standardmaessig)f(angenommen,)e(wenn)i(Sie)i(k)o (eines)f(angeben.)-2 530 y SDict begin H.S end -2 530 a -2 530 a SDict begin 13 H.A end -2 530 a -2 530 a SDict begin [ /View [/XYZ H.V] /Dest (0:481) cvn H.B /DEST pdfmark end -2 530 a 396 620 a Fi(Es)h(ueberprueft)c(Ihr)j(System)g(und)g (erzeugt)f(3)h(Dateien)g(im)g(aktuellen)f(V)-9 b(erzeichnis:)2923 620 y SDict begin H.S end 2923 620 a 2923 620 a SDict begin 13 H.A end 2923 620 a 2923 620 a SDict begin [ /View [/XYZ H.V] /Dest (0:482) cvn H.B /DEST pdfmark end 2923 620 a -2 649 a SDict begin H.S end -2 649 a -2 649 a SDict begin 13 H.A end -2 649 a -2 649 a SDict begin [ /View [/XYZ H.V] /Dest (0:483) cvn H.B /DEST pdfmark end -2 649 a Black 396 791 a Fc(\225)p Black 479 791 a SDict begin H.S end 479 791 a 479 791 a SDict begin 13 H.A end 479 791 a 479 791 a SDict begin [ /View [/XYZ H.V] /Dest (0:484) cvn H.B /DEST pdfmark end 479 791 a 479 791 a SDict begin H.S end 479 791 a 479 791 a SDict begin 13 H.A end 479 791 a 479 791 a SDict begin [ /View [/XYZ H.V] /Dest (0:485) cvn H.B /DEST pdfmark end 479 791 a Fh(cyberjack-hints.log)p Fi(:)18 b(Diese)j(Datei)f(enthaelt)g(bei)g(gefundenen)d(Problemen)i (Hinweise,)h(wie)g(Sie)h(diese)479 899 y(beheben)e(k)o(oennen.)-2 900 y SDict begin H.S end -2 900 a -2 900 a SDict begin 13 H.A end -2 900 a -2 900 a SDict begin [ /View [/XYZ H.V] /Dest (0:486) cvn H.B /DEST pdfmark end -2 900 a Black 396 1048 a Fc(\225)p Black 479 1048 a SDict begin H.S end 479 1048 a 479 1048 a SDict begin 13 H.A end 479 1048 a 479 1048 a SDict begin [ /View [/XYZ H.V] /Dest (0:487) cvn H.B /DEST pdfmark end 479 1048 a 479 1048 a SDict begin H.S end 479 1048 a 479 1048 a SDict begin 13 H.A end 479 1048 a 479 1048 a SDict begin [ /View [/XYZ H.V] /Dest (0:488) cvn H.B /DEST pdfmark end 479 1048 a Fh (cyberjack-report.log)p Fi(:)f(Diese)j(Datei)f(enthaelt)g(einen)f (Bericht)h(ueber)g(die)g(Er)o(gebnisse)e(des)j(Systemtests.)-2 1066 y SDict begin H.S end -2 1066 a -2 1066 a SDict begin 13 H.A end -2 1066 a -2 1066 a SDict begin [ /View [/XYZ H.V] /Dest (0:489) cvn H.B /DEST pdfmark end -2 1066 a Black 396 1197 a Fc(\225)p Black 479 1197 a SDict begin H.S end 479 1197 a 479 1197 a SDict begin 13 H.A end 479 1197 a 479 1197 a SDict begin [ /View [/XYZ H.V] /Dest (0:490) cvn H.B /DEST pdfmark end 479 1197 a 479 1197 a SDict begin H.S end 479 1197 a 479 1197 a SDict begin 13 H.A end 479 1197 a 479 1197 a SDict begin [ /View [/XYZ H.V] /Dest (0:491) cvn H.B /DEST pdfmark end 479 1197 a Fh(cyberjack.xml)p Fi(:)e(Diese)i(Datei)f(enthaelt)g(die)g(Er)o (gebnisse)f(der)g(T)-6 b(ests)22 b(in)e(einer)g(F)o(orm,)f(die)h(dem)g (Support)e(v)n(on)479 1305 y(Reiner)i(SCT)h(hilft)g(Sie)f(bei)h (Problemen)d(zu)i(unterstuetzen.)e(Sie)j(sollten)f(diese)h(Datei)f (daher)g(immer)f(mitsenden.)p Black 3800 5569 a Fg(15)p Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF pcsc-cyberjack-3.99.5final.SP03/doc/README.pdf0000644000175000001440000016716711657145411017136 0ustar sctusers%PDF-1.4 %쏢 6 0 obj <> stream xZvI+zTsܥ|?1ƀ c7 Y/k$KIOYY{Qa%F}MX]ٕ\~8^} q裐,ect+o5pf-Fo5axQ`pV*UXߣksZ}:덀'wkXM7^e8SNatf}yq~4FFdg³>kB.SnZ0Rᴊv2nCy L{>JhA:}K:Lf;/۲X tCz:WZQJPipPE{QIŶzo݇z^$-JC"i$ "I SB<PQIk p[pnzGcC(: 8? Xh@4"v lIcRT@|vnsꂤ"F镞t'.dhsP> "d}'H!N[~ SM(5I:5=._Zo*Iub0%خB0z Р].T( Qy}co/ōz Ӄ{Ik>ӎW'ÝoӤ*HH*"0Vzzcƨf܈@jr2FU`J{N> \ݒmCr#W&l*Pv !G\E%wuY0:N8@O4{ZhHpbVT1-ID)tVu5= ? OlRz~go^oT]iC5(Dt&-pNnII7F6*n+EpQ% t:u 5oŨO|F/R.qX$oaULNhxU4g4z?7_lU\T|ֲm9ܲ@F8ߏjxaIB,\(t X< 42yApq`pf .yH"kzVŐziOB4b7ɅcL4.҅- Sbys4^j>nr7aq֗<̳}q[<N2fm&&Ȇ9[: P,C` xZBb Sؖ@Qy .|KLSlaf]vYLxBR({Ba^@u93 Am@^a--}X\!y3d$W\G_waSE }>t"+ IBAD'`%&\WaGnt/t$fGS[В3;\j &t%({Kfb1=:;nfY G1o\R?iØ->+Wpؙ蓅OgeO /ܳc֘2B5vZ_E! `#*"̻gf҂4$3$M. zd'dPg%C%.Ζ1*w/h<ަc O&/Pe,zlAm$*6uISO:,g)2V+I?`'ϨB8a&}mD]/_z},'bsM-ܬT=,#oYa6cn̔LcE0>YnA#RvZMaES }Қ  )[M6'endstream endobj 7 0 obj 2831 endobj 16 0 obj <> stream x[YobHK)dž,;xDJbTLwUhu0K=}Wwﻹ\߃7a~r=Ks9Pw39C ۻ0@ySwgr诼L`;~Y\tvȝtI?,Mg;Rtūv!܅VvBr%;tԋt:,ˠ#jZ:R8{R縸ꬉRyrqQQJ&:,9mK /lgJt^pv;J Rt:~*w7x)s1Jܷ+B 6{6:RֵT|[w>){HgR^ƹpZ2+;)c4XGl+I'uQ }tx$K ]Z\\wuH( o$/Eu t`D%!8`YUI:IAF0᪲ƫ-v@}Igm|*+B׽ۋa]=X88A츤 s+߸U/h<@e9@J71 6vARJ0#(&l="ګ0dpaUt.,k[mK\~&EtrEggљa0M.BFb{ghm}~ y:D HĤ>b +[FL*D">FEԎ3g8I'$,Tda7OUp>4ȰU!Nv["TS)[<'x`.s>\-D _^5lre>#4Ӳ C=և8Ure|{ұ65Kr>xr1삊#)d;|>4 2~rp4 j,=7'bZ||ܹb]_DS_8A`(?[MYB>Ք& }hi=_?J‰>WY?O>acq"q)ޮ /;@ mrRnZ$Z#ȃo5]ZMי!)O|A԰6yM2RQMyFAwlo} d3DZ"eds#,1ܲsđp;2ʿWUUU?txQA.78|3fx_=0vuv?&4Cu7V"[*/R `QcΟ~4e;׭OWQz6X:RMM49ay*t&6Wd[Ʒ2 ZZ {dYS}e/GT2:87* x]>RWcا̣d}/qVD9xxNm w9xf`(},dG\JZS9 2(^0gXWV0XuYUd~,%ޝC% ׅ"E;|i nˤᤙjצs= I0rn/i jF@(7m#T7vko+#ړ`ͮLTBMj+ůZ/7͋k% dwL7U@ٔԑ}cà,WkpZ<>Z 2E,0@w!V6퀚-iTگCÚ9`VYqppڂ So[9l> 5V;-KF9IEOOySީy%&Qrc[ ǭqFf)ǚ)ֳ7c!'uaQUٜb{"NbUUL$-c;"wQ8^Fޔcn֊ccvm"]{ڦNG0ꄌ&mpo(l gkU|BwC^9'CݪKkK'~MMf wͅ.wr!tHLxT޷?lYh^/8=XtB=E=z&>Y䎸ptt7%~qX5͒H4~t8T]\*0"CT;1 j!zb X3]' ਴w ZpjUБ,A:J{YtnDHHb;l ,()X Uc9q+ˌ&62߀T%IoȰ2|w)khW9g*y4rQ*TeL]* K)Srendstream endobj 17 0 obj 3159 endobj 22 0 obj <> stream x[KsʑboueGx?\)WٱSeI%6ur@rIQ&ŵ%2HoݘᒲA F_7? W"+>zmX|{kWrV:H?Di:HCtʙő, +nzPQ[ _ofPNZ ~^ʘAnCZg+ls:Xt:O[s|уu6qJOZóR1j&l_mW /7rd]+=>- ǡ^Ʈ_lbB'r/F(FbDvǵZ$]!l\lt&(Ӻ U*,|) |JA*v.Ϳ)4x2 'eTٶF_j0a >d~yлVCR+r,ؒg6* 4Fn@Nj0ͽ5( M9hFqO[}ʬ' QB:VՠL j Lk+7A*3gXb9{V]ZY+S`^Pj :ǑuxŻKvuIS:\fv$0pZlJWӴVS] <:ܓqjtt0PI%ĉ46xH?D/y8h}@o/ 8%NE![e DTN[ƧA;L>KfDh&4`w[׾;}Avz:XZ=Y]sn{B! DX G.ق5{{^w,8~06rHs}s"BȒ$nMvר%֎4(L$ eKH֫692'2Pu%Ƀ!#rK@?[Vbāc`%H5>LPwgp%7rcjŦhoQԂ`5k`c &yڎ7r,\ Ai"jZW#yDο kPZ)WyhHZaf\ɠ)o7l=ءlmP|U:*Yk y&it$u-̚4G-=4a8kN뿫*hc`ZmQ-'腻-&j*.~؛ ơ$a7X%EHˎU_7R-P Cz١)hK]+]YS}mf.\igإ ؟%pXI߰y͎K.l0 ,JO2>t١^4_IYOxNd)XԎ7i'y»'Cq%%}ǐsgh(  e9n}2fQv*GPSKU6ׅbp8 搄oL:"lBG$ G ˽=l3AM쉨6-d 䶞MccjgxS3i 4t)L'it>?yd}iuR?[PFz2Po^wVkI[]̞CyJ8E/=S|1=߸ڐ^-9%\Lׄ7neH{BgO;۶GY&je#yi9K7u8kVퟮ(H 2)& ̀ɉX WG(endstream endobj 23 0 obj 3002 endobj 28 0 obj <> stream x\[o\7_[dd)bI-tYˎeI%!}:CVv~Ȅ{CgߣW{0`GzK3npk܌ c`W{Z>YPjɯWk9p͔X~ar`-[`5/ʓbhf‰Hjae/WbPzfp% 5˃ъA g/[^_F8 [cL ulpk<nz j=ff#w8+qX{U3CYG34ha$1ί Bdg#t[oVǕca'n VY[Ke`o57c2Lna8$<Ĩ#zAbd8h"4 2qIeаQ`eN; 5ps|`_,@8*Lإ&1:ߟ)w"/2HTO(ndQI.[)E|VLùG_PNJnwXp^FXq5pqpz`@hP10T[?z+f]M%ܪ ~N k3ԩ^`}/?߭ YOP~sc\yWȫTD]Nxz0Xj'jN.xV㸎ukE~l.A>QPy/?8IdƫQ`MZwGhRCQ50^]&iRJ,Rw8sK$ qS-BQ}%0@YKQ :EhF}#BQ#- 2Ի$~^D%{U3D㋺DƟΈ"f_*=.*z0̪ͻa+yiv ~$:8lxi WP$ϗ/;H{r-2[< 5G[`[m8-G\-"n'i1\yp7YuQRQm@rS:4\|BHPWuV"1AԯGe[-3(U2BteV׼J $1иOV{{ u޽ JqQXYgH"yk$=wٖl#x Hu /ɿ#)ϒQ!/zۉyf?zULj"m9Hu8Err0*gQ!3n?GU O8sC j^h_ \vg“>Y mll3T*&7ov5o!>K^D(FC| ̊t Y;NNpwwShh=zӉxJ1 ҉(Gg`rV&fHH.B`|=Q -MI+xHcv<F7as&MJUYK~푩㹄䎑1ԕ^Ov6XNRxZ56&J>/ ߘG3fjq{?J(Pt"47(P7>#rugEen/Ɏߘ[>BlOeŲc#f8݇ ZN8sқi¿*ߥ]@pRCA.~* 8 |YT}4IF8au[zmZNZ\ΞE*B$ n@sTF#Ci-AGO$ˉ.AuD.I7uH:aqsQ$c@j2!TzeӎӔdيspeJeD?3lC/zH[|FimmT0\g=~]6bη 31m)*:h"s $G>nr°Ua"~VZ 5))Z禂wJUkADQZ zf|9Tԕ i"Q3n(I8DF%o*`RۣS0c-F&NA ׵#c $ZuE3-vЋ$`j_ զR,1) yQ*U\!I3 ԝ vS$aJ!$_/|)-@|c!\mùkW7$xvH*&M N|Œ}Z[6Wpo;@:$v8u{obe3V`}#]M|XpĮ1J2OU$'%SMP˖pe̼T9H=]Xek“k)=pooמ$~E?$\ld|{ ko… Πgm'I̮zg\NGZ_]߳,Sb έQbdtI[6|5PFLjhO&nAQa!*JX꼷="ϓ2D hۯuP/')&I4ּնȶM"[+IB9fΞFAasyԣX62#n v0Qјю# ΨI DӲetpuӾd^_37 .ְ-UbK!`Z*an@N=bTIOfykWqib~!g2^v*Q"ɝ2w5> ci#kM 6楺ƐߍBJPU<%f4/7]LE@p=`<}n0t 6ٹE3z:D.W@ϜrU$ū$aFWXm~aUt2)`R>Ik(Ch)J`.͵+mt%L }G+=Eag1U=] E!i#,|Ԋ[ElY)DUv57bJǬlgC*&r;JVF_y6y˞tq(ymRM46%EnLYWBsp?ׂ5m/֨x7p7I$dn%=]}6زoKʆ}X*"TLK]m;Yl|+܄zYmؚܺvlFm?oO#޺Cy(4v]\ߎjdDjal^? 1 h*_y'\?3khާ7*XK.? Ħ8endstream endobj 29 0 obj 3791 endobj 33 0 obj <> stream x[ɒ$ 𱿢UWNr'aFVX-C/2^ 2Id"FRa8YL. 0\X/{vs_]+x${^r`ի#K7گ7n[l 2f)6?l 0j 4ޒZ…nIy ?1R6[1XZ?OM~بѺm\Ԏg)_~_a3~>~B2ymw23\uffv8z+Rדt#qPDvOk5F B2ٴ`G 7b^C|RA"w.i/44e ՛vkmqVAmzYQX0=q &/,(`⑂AuQz}eE!HyИ{l^[wl!5^) [NڷO 1O#P 4Zg[`Q?ֵ VRV |Y&ؙErP#6Q@gї477Լ4uqQ2*ZQ|ɏIu"ΨuUw8m]$`/VJybu[ Ld4٠Q5\pn h 6os/44 Z-E.9 N=m `\թf/yU<=Gjq~FOBx}q IGcyzÝZ=RZ $q1EW"b$837 `3N,*&0N.0aaN57OyMX vgS*O?&g<[5ՊǓs 1SP@9I}iT҇UAb r'x\Dg<U} BȇgP1I"}@%@ƺB%>a7@{c I!XhD;(d6D@-aèZ8o {Ίh_N֝7RKJ%'*diؑX<[10S5kSb-a>M?d+SnّD@mQpbe; dU$#NEvYeEY6^j7:)j.ln]vu4%MDg7%~#X/{5=o_YtS FMF8*y&k͂OZぽ/NQ4//5t1N ɴx$|Ⱦ ,%꤃}*kKpb"hx@kr26DdhFؖ9H/E "]nTY\dMi2`Le/:D?jzP$!;!2 =\NZ ggMzn A $Ƴ]Nk{ \g] b|xI_UlQ>⅓Y԰;vΊ'g'XҤQПgoUk_pn(W&J ˍV|=6GQ +jSIW;0.-5*3U"YG*Ƹ@1|`pĎqWicЮ@b?>(+g-kBjHhzN'w [Jb1ZVrjfN8+i@}·3!ͼYbd_qac9N2nC"1].DbqTo!-6=%}GFۂ0[HPzkad|bZ p3BDgԀpٟmUbQR%[مd2RwK Hc!OQP D"XȵMGI;̽PXJzbX=MmP@I_`9I95U=@}*ziƢI-GD8O~awP3Sze$RQh fEC!Òj^yG+|PMs;mN/^pb#|tL9#.pbKzSx>`r$ QNyJ^3w`j5%ӢbJ|z[cN Nͩ~>vܒ[Gеa ʪM'`+&3mC|Ť@7}h$ VUxR:x.Y h`OD>#r~#ys)-ywu5հ-,wA'q,!ր'4B 1g9a0څyB-І:buM}$ho{(kL]etd9,D91 } ھe ҉U,>B=GKItJjVTfw)LcԪ\NGԾ@q/Uַ;%Q&E7X:uj&#vm"6* [$tm0H-]1Rr=+d1/rs5cB8aZKոf?{͒m9dZߖ-Y\W#Y9l2i9, Q ]N n :]ٻ kUV26Z^בec;Ēt L^Ϳ Y@}hK bu^/8YRccwlP WVPK*qŘXHVt ʺ[JS7O7Wojm+ݼ\dE@!YY#RRR ]g)Yݨ\`yz/?N9;Cj22rJ ePKZY .-aloφ5! aǴ2O=Qm |:b='J3:]>˾7)G6Ovև su^A/ͧ[fڰ4(GS ^4;BAZ@젳h~~/{QOtJ;G"Y8Z \%dMGtH%+uo vǜ˗s4A˖mБ/gAv&oa(1;JttmHUFchk&Vevpػ`O(E"j&'8/Ds*}O!dY%1rD0hH՜ߵ_57:_>QEfH:'hD]}YG&\64}%oUrN|:POnEendstream endobj 34 0 obj 3645 endobj 38 0 obj <> stream x\[o\_o-LJC@(l(E0dI˒bN;ΐgήT~0u88O><~V>ޕX1^!W~V֙~^l 2f6[=InMOYRAXa5sή#g#Qf+iR^RsRnN:Ώ5iFAORVޭ߇`_ԟ/6#WVjg aB1x<5.͠v8Id::R8($;Yla^sK etpس٤)o軕JıJHz/=?Ap)pJZ pN_ =(xk[=p0Zo fxNFΛ&}[b& ncG%U;/JWt`h›t4 "JÏbu_lZ[_D^)\~ifT_#Sx{~]#ȿ𐓗Yd4 =x5ۺГ]2DS;HxK_voۆ]9J{XBV*}qNk'Y) '8]E {iM c1I9E|Z@L``\Sua~/dQB[wkfwdp az &jh@N D5HAnR Τay9)YlJ^Z©Zy^"9܈i0 U&غ?8R R)z7V$*i.̑jo7%a]1+8pR*Kz3d9 KNi;j Rꂹ6'M[Ƀd;0yM2Vνؼd nA~h(hGvT]v^>Bf{$oe(b 9V`X,e4q "(v {.%pD= ҄א Ǩo<8E4 dB2dh$QQvZm >5H -V_ą84o9y#N v(@,m~ƥfr<3 jSHaVu4 )?hgKn2)Dh4m4SsTxM?2y FQGLvNIRZWpb,j*۷V/dl\8),`, k\#~&f7 VBR] :  fײM}'b2'mX'v;qM?N[ޔ2)Q`䌟ød7ϭ':MՃ*gv GVWs>Je 92g`%_UH5lHIV\\emիHi7߲rdJ %&uqVy,@I1t6nprZ $|iЗ5<ڏ19yF/T#f1anx`"Y]`&Y؀ [Y[ D{qlث-1~(mR$zoUq$<<+u10/14vb*0rD !Unz@ =ggK+ W!F뜀x+}aE$&d]_}FlS Y!!}Y lT|;_C"udRB؝ )m,dqRa}+[AsEYM^6XaG%.Ո9AOrbaejb ĚÕ%@]3;ʔ@>CNIYhVNڒ|j7" lqYFh§\M*wME/@'Ty^,Py)'$aRZ"=i eI׀5N C{bܶu")>A 5@QhmZEsb :\-/[v,_V1p7{>vE*W*ML=(e 4Ie> H(}._ũ@HExo^-KΫr0$G|͗|߳^`ij {g&s|$7kpibO4\$"Y}q-_ &4n-[;| [^֋}=.cAgQ)I">DFv\:tеd [~C4Pm\^=~HO5TZIUofiY5[pZT.)f>;J19eA;sUёs4v:ΪT`g5_VBhlR+kϑh90w n?#E7H*| |Zџl>$_Iʷj 9.J># :|+B(?Yu3bFsH38!uU@ee{2$ ]`Exw@[$Sp^|)yxn13H );@/u;cuŃ%WCT)(=RqGc]uXׯ&Kb+syLf75XP̥xm׃wCݻ ELE0LyV=Km |,޶ |IT`}br_|Q Nyj"œ*XlRXv4`8/̥R\Hsc Ep[%S2Lyzt/?:endstream endobj 39 0 obj 4142 endobj 43 0 obj <> stream x[Is\ʑbͤ<|JRA\$\E1/N7np(N Kq5j57a ꏵuqy#*koWGTqa57L7t4έO7WάfavPS\ٺ!0#SèdU&&3ۘO7k~Wla}ٸߌp^3Nj}];Q):CsFdn'D -unnvq ^e>_ WP`윾ϴ:m6)q1*[ QĞ-&R4Vi0 nd}t+MJ@F.l[;_z<yr5j"IN%mv?wԏ H|>IwtZ&}߯TagDŽ7Rm`G~ YO5ezK*`51ju~ըr $^fR+D78`R1K;-_|O'iN10y꽏uņg iN],b n?/ԈF(dƆ4$t\X$',:#&*Wke``@Yh[t&ۊO9k+H~hЃI"0c?ӻⴥtj)Bf*P(c;|3sC,p7˾y팼k9L42f͜yj @D ][H YbCt/3#~Rkt,K{ڰcѷup5QLhr"ɲ}H-zKEf2gJPM] ~GCQ Bͧ\)}?_ZbtlSs37i]*]>4Y(Ug6.e,N>gS*ȯ+.2+)+cI.(`7Sp\OͫـsI kGQ8ẖyUuTwhNT.}v R᝼իؓÓhfq3bɈwP8LXG-^=4e'k+jADO,%e E,3Ľ'"vBA%$b; ,e EL,iO櫜rrH ö56` 9zR~G5F^h x:eΠ]thv8O'+9O_{8dlT+8z]?ݕ oҒ1ڋrsЦFr q֌y*G)bsJ=F^aDx*&/Pl)„ PAՁq fB QYRV_P!J9mضi֜ln yc(rI! a<L.s {G@# 7 f'&"Vm6kw,R'妭R S>عLjMj[U/mCL๬@L=,Yk}scHPj9[uQdL@By]=g!'^jCp]%Y>B)FSMW mAf ߱>. 2Ll[]TC{ӳ"f4֕<&ՌtJ=ےfة< ;-c֢ȩ̨0OAN^wsყ^-p)8`89;S5d% ٭rsd!Sp܊LZqk F#{_pb"BdvnIV!7^'}kf[kkVbKjfw`g-|>mTSŚ`>Jzltykٷ{R:|igF $~+ԒvgHMz5[wYԻ FU-Hr/*9P(>UNTS 4Y)߯A:`f}훼2>̶^9n.7 WmF7ŲwfDCG9WpPm??l.t^y(ZpBY(SS^'yre(*l}pT&D3;9'\ q>x0bLQTZSG KD2#D'mvb1=8xBĹR1E˕M_wLAj'y1ʀJ#E o&㗎2.ȫ^bD+B)K\%::>1WX+el^vxb<Vp̑-r #q w y0u;Ӳpb/{ʞt=SV\ቚ<5&{;zB jW|&g)>#5x6I؅VV.h1%,Kc*12ɢ9$eZ3ig yv4&xhNoG áicCwsNzb^د}~4@~#׹) EGH-4u 0Y~ Bg \lh_G( &2%qQ?/ZeOT}/zы*3)ˤ%l}6TxjlOUa C>dOE^a6VDE/E̾w#N9"Uo!G|$ Ze:Ϙ hendstream endobj 44 0 obj 3410 endobj 48 0 obj <> stream x[[o_3AI Iҗ$0]ݪJņ{Hyg+VѠ(`˹}޼w8>cW/< \,k!UeFl:^2mco{2BtGe)]w.L+ݔn[&gϹ& 9A2 ƣA308G9_&NDvZ N)$%btg{ ;q'M52) $u%cB;9\,UoWL-'`lަvxANp3dn)#SpxYU{@ Bϝ۠E.2@xǂʍ C>(`;+/')8?sP֍Zv>&)еA!dspQҗL>)fI``%F]/qR0핂3>qPjŀ|}Y<]A}0R DCH+73@LfQjyYz%@&T{Rbx,dGMYZ E3)2kVY9A!D@;d9Y[I0. >)/b7xFẺ,_I rضPxF?L9mTQK.A$<" q0q %'C:kR)jx'{0B[xLq5"10rT2'.v$ @RcgGUH*kAUz՜{2D`d+m0߇Þ:dp%5Dw㲿~(^5Y@!+f%$.$Aţj%evF ^ZbNmxH^kvDĉ tq;v0e'%O 8$]0fCb_a#b [tgggO%'O4PO$fʠC xgp# cvL ɇ}P fj۪!Ve ^@07 .>}"7`c`ϯQ#$i貔΋1\VK 7ܕ =4A$LRr6hClg' M !ۂWFy0H-:Ļp]J6$` z"vBg9x w-}` ή-tS/{qqh0J62(n(Z`{θДpM3pb/Eqx+"ԾIԳE>f4?iw8$&uChhZ?MeT4Fgd;-~'U u=2A &2l.x•0-`؎hµnzs5N֭rNŎ覙(ccc%o;4YdR0^"O@H$6Ii،m:V?)nӴ^U!-Ze{ҩO3MH5d[NizTŤCKK''W*j[U5CjYZFHFCnZEAZ;邑4$/@CbW۬ md|nAQb!2JOaZeı4ު$Je[̜5xxZ5KuL^*^X`tZ wvkc?^Ó&"Knr`&~g8P2rJB]qi]ѱaD@Ccnb'Us4>[OZ;;x-(yvfhLy$X 9u)ei2CBVihbB#3'cv=y!vGV1|C'O|~uK>56fd"="427L3 fFA-3 :i wrWCNpW?Ĭ'Xޗ0e=rQy§,܂8G exZpghUfW墙36y#BjISgGy?ԯa {|jg$ssI{k_q9yMj'$.k?4#$_=)X8-><_ooendstream endobj 49 0 obj 2817 endobj 54 0 obj <> stream x[[o9^Gg6se j5Z@` $nU}͹L:qܮr\_ݺqΙ/<9=Y;;L_xZ=?!+^:δ;oߛb2(c.I+j~^hf`sZ3Bl4{e<6qR0kUPnho^W8yPXn]BiqYxi|.n.ѡP]p8N4e{0i!+sg?A.9 ӦmqHzhwڑ"r)*{;YJH6 l"-A4AW{]JRYNJH*Ia,,HWqjlK790먏:'MЉ/N\5!ݴj,r@]OA@Q>V4\'8 m:pwC2{յ8Qǂm-1="_i/ .ԛ}FT&WJF#b/șË.-]lzP/`’[VkPBXЮ+;޶:ie5ŒN di¤SrRK&a0Ѱ915it(ARǘS]PFv%> }_q*ʖ`>c1`ejj$ib>($,yH6^)Mzqmvp8u^w(`+F#mP B&/|~-5| /-ǀT dcH ^A^1VqXh ssh.Ԯ#:'f<IJTè v<Ƹsн†[{gI+ewQ$19Zl"Sb] ߤd@a=p]LÛiDtojFz>\` >r 2TwRf(fbDNPqpwJ,HX@.Xm1K۶ ì:2o昚XK S$_Cjb!3jR(~yUe࣡4컬)ͪ5)m U^mb%aTЛ#mb)3҈Cm{1BMeAԔb Gl:6Ϊ9iMwixv+2S8u5).SqA_iO7ix~MQ4S$*UQ[Mp[aĺL#4\\ '=q3o_ ?,aE]xUA*NA/Bƻ5#<_BGWeɫc];hZz '{r;- ʉQVމW HAF{78$"!V?I0?BzPEՄ溾Q5 UQHV݉WU^;h'<ԄHnnKk0B-ܼ2 f;?n6{xUac]{27E](AZ5@SBI*MJ@ Hx]Z#S !K9nF/*6Z{gYeG0R`j׭({z翩N \7Y=vRfx(fbcB{ǎ-װ>ea_g endstream endobj 55 0 obj 2765 endobj 4 0 obj <> /Contents 6 0 R >> endobj 15 0 obj <> /Contents 16 0 R >> endobj 21 0 obj <> /Contents 22 0 R >> endobj 27 0 obj <> /Contents 28 0 R >> endobj 32 0 obj <> /Contents 33 0 R >> endobj 37 0 obj <> /Contents 38 0 R >> endobj 42 0 obj <> /Contents 43 0 R >> endobj 47 0 obj <> /Contents 48 0 R >> endobj 53 0 obj <> /Contents 54 0 R >> endobj 3 0 obj << /Type /Pages /Kids [ 4 0 R 15 0 R 21 0 R 27 0 R 32 0 R 37 0 R 42 0 R 47 0 R 53 0 R ] /Count 9 >> endobj 1 0 obj <> endobj 8 0 obj <>endobj 13 0 obj <> endobj 14 0 obj <> endobj 19 0 obj <> endobj 20 0 obj <> endobj 25 0 obj <> endobj 26 0 obj <> endobj 30 0 obj <> endobj 31 0 obj <> endobj 35 0 obj <> endobj 36 0 obj <> endobj 40 0 obj <> endobj 41 0 obj <> endobj 45 0 obj <> endobj 46 0 obj <> endobj 51 0 obj <> endobj 52 0 obj <> endobj 56 0 obj <> endobj 57 0 obj <> endobj 18 0 obj <> endobj 50 0 obj <> endobj 24 0 obj <> endobj 12 0 obj <> endobj 10 0 obj <> endobj 58 0 obj <> endobj 11 0 obj <> endobj 9 0 obj <> endobj 59 0 obj <> endobj 5 0 obj <> /Doc-Start<
> /0:0<> /0:19<> /0.1.1<> /0:21<> /0:22<> /0:23<> /0:24<> /0:25<> /0:26<> /0:27<> /0:28<> /0:29<> /0:30<> /0:31<> /0:32<> /0:33<> /0:34<> /page.2<> /0:84<> /0.2.1<> /0:36<> /0:37<> /0:38<> /table.1<> /0:53<> /0:54<> /0:55<> /0:56<> /0:57<> /0:58<> /0.3.1<> /0:60<> /0:61<> /0:62<> /0:63<> /0:64<> /0:65<> /0:66<> /0:67<> /0:68<> /0.3.1.2<> /0:70<> /0:71<> /0:72<> /0:73<> /0:74<> /0:75<> /0:76<> /0:77<> /0:78<> /0:79<> /0:80<> /0:81<> /0:82<> /0:83<> /page.3<> /0:120<> /0:86<> /0:87<> /0:88<> /0.3.2.2<> /0:90<> /0:91<> /0:92<> /0:93<> /0:94<> /0:95<> /0:96<> /0:97<> /0:98<> /0:99<> /0:100<> /0.3.3.2<> /0:102<> /0:103<> /0:104<> /0:105<> /0:106<> /0:107<> /0:108<> /0:109<> /0:110<> /0:111<> /0:112<> /0:113<> /0:114<> /0:115<> /0:116<> /0:117<> /page.4<> /0:153<> /0.4.1<> /0:119<> /0:121<> /0:122<> /0:123<> /0:124<> /0:125<> /0:126<> /0:127<> /0:128<> /0:129<> /0.5.1<> /0:131<> /0:132<> /0:133<> /0:134<> /0:135<> /0:136<> /0:137<> /0:138<> /0:139<> /0:140<> /0:141<> /0:142<> /0:143<> /0:144<> /0:145<> /0:146<> /0:147<> /page.5<> /0.6.1<> /0:149<> /0.6.4.2<> /0:151<> /0:152<> /0:155<> /0.6.5.2<> /0:157<> /0:158<> /0:159<> /0:160<> /0:161<> /0:162<> /0:163<> /0:164<> /0:165<> /0:166<> /0.6.6.2<> /0:168<> /0:169<> /0:170<> /0:171<> /0:172<> /page.6<> /0:195<> /0.6.7.2<> /0:174<> /0:175<> /0:176<> /0:177<> /0:178<> /0.7.1<> /0:180<> /0:181<> /0:182<> /0:183<> /0.8.1<> /0:185<> /0.8.8.2<> /0:187<> /0:188<> /0:189<> /0:190<> /0:191<> /0:192<> /0.8.9.2<> /0:194<> /page.7<> /0:197<> /0:198<> /0.8.10.2<> /0:200<> /0:201<> /0.8.11.2<> /0:203<> /0:204<> /0:205<> /0:206<> /0.8.12.2<> /0:208<> /0:209<> /0.8.12.1.3<> /0:211<> /0:212<> /0:213<> /0:214<> /0:215<> /0:216<> /page.8<> /0.8.13.2<> /0:218<> /0:219<> /0:220<> /0.8.14.2<> /0:222<> /0:223<> /0.8.15.2<> /0:225<> /0:226<> /0:227<> /0:229<> /0:230<> /0:231<> /0:232<> /0:233<> /0:234<> /0:235<> /0:236<> /0:237<> /0.8.16.2<> /0:239<> /0:240<> /0:241<> /0:243<> /0:244<> /0:245<> /0:246<> /0:247<> /0:248<> /0:249<> /0:250<> /0:251<> /0:252<> /0:253<> /0:254<> /0.8.17.2<> /0:256<> /0:257<> /0:258<> /0:260<> /0:261<> /0:262<> /0:263<> /0:264<> /page.9<> /0:265<> /0:266<> /0:267<> /0.8.18.2<> /0:269<> /0:270<> /0:271<> /table.2<>>>endobj 60 0 obj <>stream LaTeX with hyperref package ()() endstream endobj 2 0 obj <>endobj xref 0 61 0000000000 65535 f 0000031998 00000 n 0000059462 00000 n 0000031883 00000 n 0000030411 00000 n 0000033806 00000 n 0000000015 00000 n 0000002916 00000 n 0000032123 00000 n 0000033639 00000 n 0000033384 00000 n 0000033576 00000 n 0000033316 00000 n 0000032164 00000 n 0000032194 00000 n 0000030571 00000 n 0000002936 00000 n 0000006167 00000 n 0000033111 00000 n 0000032257 00000 n 0000032287 00000 n 0000030741 00000 n 0000006188 00000 n 0000009262 00000 n 0000033248 00000 n 0000032361 00000 n 0000032391 00000 n 0000030903 00000 n 0000009283 00000 n 0000013146 00000 n 0000032476 00000 n 0000032506 00000 n 0000031065 00000 n 0000013167 00000 n 0000016884 00000 n 0000032591 00000 n 0000032621 00000 n 0000031227 00000 n 0000016905 00000 n 0000021119 00000 n 0000032695 00000 n 0000032725 00000 n 0000031389 00000 n 0000021140 00000 n 0000024622 00000 n 0000032799 00000 n 0000032829 00000 n 0000031551 00000 n 0000024643 00000 n 0000027532 00000 n 0000033177 00000 n 0000032903 00000 n 0000032933 00000 n 0000031713 00000 n 0000027553 00000 n 0000030390 00000 n 0000033018 00000 n 0000033048 00000 n 0000033467 00000 n 0000033724 00000 n 0000058024 00000 n trailer << /Size 61 /Root 1 0 R /Info 2 0 R /ID [<4AA556E6B55D9E3E47E4F232690F7504><4AA556E6B55D9E3E47E4F232690F7504>] >> startxref 59673 %%EOF pcsc-cyberjack-3.99.5final.SP03/doc/README.txt0000644000175000001440000003626711657145411017200 0ustar sctusersREINER SCT cyberJack pinpad/e-com USB chipcard reader driver Matthias Brstle Harald Welte Martin Preuss Copyright 2004 REINER SCT GmbH $Date$ This is the user manual to the linux driver for REINER SCT cyberjack chipcard readers. __________________________________________________________ Table of Contents 1. Overview 2. Readers supported by this driver 3. distribution-specific notes 3.1. RPM-based 3.2. DEB-based 3.3. All other Distributions 4. Updating the Firmware 5. Support 6. Troubleshooting 6.1. How to check the kernel version 6.2. Large number of readers 6.3. Hotplugging 6.4. Logging 7. Known Issues 8. Additional Information 8.1. Beeping at Keypress 8.2. Mandatory locking 8.3. Permissions 8.4. CT-API 8.5. PC/SC 8.5.1. Installation 8.6. Multithreading 8.7. command size 8.8. Keypressed callback 8.9. Obtaining Version Info 8.10. Additional CT_init Replacement Function 8.11. Verifying Pins Using PC/SC Function SCardControl 1. Overview This driver for the REINER SCT cyberJack pinpad/e-com USB family of chipcard readers implements the CT-API 1.1 interface, as well as the PC/SC interface of pcsc-lite. It is implemented 100% in userspace. This means no trouble with different kernel versions, compiling/patching the kernel etc. All accesses are done via the usb devfs in /proc/bus/usb (or /dev/bus/usb for udev-based systems). Permission handling is done only via udev. The cyberjack.rules if installed to /etc/udev/rules.d is automatically called by udev when a reader is plugged in. This scripts dynamically updates the permissions of the respective device, so users in the group cyberjack are able to access it. For more information about the smart card reader itself please visit http://www.reiner-sct.com/. There is also a shop where the the readers can be ordered online. __________________________________________________________ 2. Readers supported by this driver The following Reiner-SCT readers are supported: Product ProductID REINER SCT cyberJack pinpad USB 0x100 REINER SCT cyberJack e-com USB 0x100 REINER SCT cyberJack pinpad_a USB 0x300 You can use the lsusb command to list all devices connected to the USB bus of your machine. It will print out the vendor and device ID of all your devices, like : Bus Nr Device Nr VeID:PrID Bus 002 Device 002: ID 0451:1446 Texas Instruments, Inc. TUSB2040/2070 Hub Bus 002 Device 006: ID 0c4b:0300 The REINER SCT VendorID is 0c4b. ProductID's can be looked up in the table above. __________________________________________________________ 3. distribution-specific notes You find all packages at http://www.reiner-sct.com/content/view/32/43/#linux. Most packages need you to add the user which is to access the card reader to be added to the group cyberjack. This can be done by using the tool kuser or the system's administration tool (e.g. yast on SuSE). You should reboot your machine after installing the driver package and adding the user to the group cyberjack in order for the changes to take effect. __________________________________________________________ 3.1. RPM-based Reiner-SCT provides RPM packages for the following distributions: * SuSE 10.2 * SuSE 10.1 * SuSE 10.0 * SuSE 9.3 * Fedora Core 5 * Fedora Core 4 Just install the package corresponding to your system like this: rpm -i If you already have one of Reiner-SCT's previous RPM packages installed you must update that existing package instead, like in: rpm -U __________________________________________________________ 3.2. DEB-based Reiner-SCT provides RPM packages for the following distributions: * Debian unstable * Ubuntu 6.06 * Ubuntu 6.10 Just install the package corresponding to your system like this: dpkg -i __________________________________________________________ 3.3. All other Distributions There is currently no experience with other Linux distributions. It should work in most cases as described above. If you get any problems with the RPM package, you can try to rebuild it on your system with rpm --rebuild or rpmbuild --rebuild If you want to compile the source yourself just go into the main directory of the extracted archive and type ./configure make The include file ctapi.h and the resulting library libctapi-cyberjack.so from the directory ctapi/ can then be copied to convenient places. For ctapi.h this would normally be /usr/include and for the library /usr/lib. The command make install can do that for you. The name scheme libctapi-cyberjack.* has been choosen to make it possible to install more than one CT-API library on your system. __________________________________________________________ 4. Updating the Firmware The latest driver contains the tool "cjflash" which can be used to update the firmware of the reader. The current version of this tool only supports flashing newer Cyberjack devices (USB product id 0x400). To update the firmware just use the following command: cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn The first argument is the number of the device (starting with "1", the second reader would be "2"). The next argument is the name of the file containing the new firmware, followed by the name of the file containing the signature of the new firmware. After this command has been issued the reader asks you to confirm the operation (press "OK" on the reader's keypad to confirm or "CANCEL" to abort). If the reader hangs after you pressed "OK" then it has an old firmware. In that case you'll have to use a slightly modified version of the command above: CJ_USB_MODE=1 cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn This sets the environment variable "CJ_USB_MODE" to the value "1" prior to executing the command. This tells the driver (which is used by cjflash) that another approach to the reader is needed. Please only set that variable if the tool doesn't work otherwise! __________________________________________________________ 5. Support Support of this driver is provided by REINER SCT. E-mail: support@reiner-sct.com Postal address: Schwabacher Str. 34, 90762 Frth, GERMANY In your problem description, please include as far as possible: * Any error messages you get. * Which Linux distribution you use including version, e.g. SuSE 10.1, Debian 3.0r1 testing, ... * CPU type, e.g. on Linux the content of the file /proc/cpuinfo. * Kernel version, e.g. on Linux the output from the command uname -r. * List of attached USB devices, e.g. on Linux the output of the lsusb command. __________________________________________________________ 6. Troubleshooting 6.1. How to check the kernel version You can determine the version of the currently running kernel by executing uname -r The version of the installed kernel sources, which are normally located below /usr/src, can be determined by looking at the source directory name or by looking into the main Makefile, where it is in the first three lines. __________________________________________________________ 6.2. Large number of readers The cyberJack has been tested with up to 52 devices attached simultaneously to a single PC via 7-port hubs. Some notes regarding this configuration: * Linux at least up to 2.4.19 does result in a kernel panic, when too many devices are attached. Known to work is 2.4.20. * Sometimes timeouts occur resulting in a shift of the T=1 blocks resulting in bad performance and sooner or later a failure of communcation. The problem seems to lie somewhere in the usb-uhci part and vanishes with a faster PC. (Try >2GHz) * If there are still some problems try other hubs and other USB host controller cards. There seems to be a great difference in quality in these parts. The performance does not degrade, when going from 1 up to 50 readers, even when doing constant I/O with cards. (Select and Read Binary) __________________________________________________________ 6.3. Hotplugging Linux supports hotplugging with USB devices. This is implemented via the udev-system. You can find some udev scripts for the REINER SCT cyberjack reader family in the etc/udev directory of this archive. Since udev-related scripts are highly distribution specific, REINER SCT can only provide limited support in this area. The provided RPM and Debian packages install those scripts to their respective places. __________________________________________________________ 6.4. Logging The cyberjack CT-API library supports logging of the communication with the reader. This is done, if at the moment CT_init is called the environment variable CJDEBUG exists. The default output file is /tmp/cj.log. The logging is done on T=1 level and each entry begins with a time stamp. __________________________________________________________ 7. Known Issues Unfortunately, all Linux kernel versions, at least up to (including) 2.6.12-rc5 have a severe bug in the handling of asynchronous URB's (USB Request Blocks) in userspace. This bug is totally unrelated to the REINER-SCT cyberjack driver, but it will show as soon as the PC/SC daemon terminates (and you're using a pinpad_a (0x300) reader. The bug can crash your kernel :(. A bugfix has been developed (but not yet included into the mainline kernel). It is available as kernel patch in 'patches/usb-async_urb-devio-oops-fix.patch'. It is strongly recommended to apply this kernel patch if you intend to use the PC/SC driver. __________________________________________________________ 8. Additional Information 8.1. Beeping at Keypress Starting with Version 2.0.5 of ctapi-cyberjack, the host PC will emit a beep sound at every key press. The driver tries to detect the best mechanism for beeping by itself, i.e. xBell when you run under X11, or sending a BEL ASCII character to STDOUT when running as a console application. If you want to disable the beep, you can set the CJCTAPI_NO_KEYBEEP environment variable before starting your application. Depending on your shell, this can be achieved with a command like export CJCTAPI_NO_KEYPRESS. __________________________________________________________ 8.2. Mandatory locking Normal locking is only advisory, i.e. the programs must be cooperative to do the locking properly. A non-cooperative program can ignore a lock and access the reader. Mandatory locking, which stops even a malicious program from access the reader when it is locked, requires setting special permissions of the device node. From linux/Documentation/mandatory.txt: " A file is marked as a candidate for mandatory locking by setting the group-id bit in its file mode but removing the group-execute bit. This is an otherwise meaningless combination, and was chosen by the System V implementors so as not to break existing user programs. " __________________________________________________________ 8.3. Permissions If a normal user should be able to access and use the cyberJack chipcard reader, the permissions should be '2666'. The '2' enables the mandatory locking described in the section before. The '666' enables read/write for all users. __________________________________________________________ 8.4. CT-API The CT-API specification can be downloaded at http://www.darmstadt.gmd.de/~eckstein/CT/mkt.html Please note, that the port numbers start with one. This behaviour is specified in the CT-API documentation. __________________________________________________________ 8.5. PC/SC This driver package now contains a working PC/SC driver for pcsc-lite. The driver was tested with pcsc-lite-1.2.0 up to 1.3.1. __________________________________________________________ 8.5.1. Installation If you're installing the driver via a pre-built RPM package, make sure you install the "ctapi-cyberjack-ifd-handler" package. If you're building the driver from source code, make sure you install the pcsc/ifd-cyberjack.bundle directory to the "usb plugdir" directory of your pcsc-lite installation. The default make install procedure puts it into /usr/lib/pcsc/drivers/. __________________________________________________________ 8.6. Multithreading The library is NOT save against multiple threads accessing at the same time the same reader. This gives you also most probably problems with your card anyway. The library is save against multiple threads accessing multiple readers. So you could start 3 threads, each accessing their own card in their own reader. __________________________________________________________ 8.7. command size The command size is currently limited to ISO7816 short commands. __________________________________________________________ 8.8. Keypressed callback IS8 rsct_setkeycb(IU16ctn, void (*cb) (void *user_data)); The function rsct_setkeycb has been added to specify a callback to signal keypresses. The function specified in the second parameter is called whenever a C4 or F4 S-block is received from the reader. This information can be used to help the user, when entering a PIN on the cyberJack pinpad reader, which does not show how many keys have been pressed. __________________________________________________________ 8.9. Obtaining Version Info void rsct_version(IU8*vmajor, IU8*vminor, IU8*vpatchlevel, IU16*vbuild); The function rsct_version returns the complete version of the driver. __________________________________________________________ 8.10. Additional CT_init Replacement Function IS8 rsct_init_name(IU16ctn, const char*device_name); The function rsct_init_name can be used to directly specify the device to be used. The device name is specified like for PC/SC drivers: "usb:VENDOR_ID/PRODUCT_ID:libusb:BUS_ID:DEVICE_ID", so for a new cyberjack at /proc/bus/usb/003/002 the correct name would be: "usb:0c4b/0300:libusb:003:002" __________________________________________________________ 8.11. Verifying Pins Using PC/SC Function SCardControl The following table shows values for the PSCS_VERIFY_STRUCTURE object which have been tested with ASCII and FPIN2 formatted pins. Field ASCII FPIN2 bTimerOut 00 00 bTimerOut2 00 00 bmFormatString 82 81 bmPINBlockString 04 48 bmPINLengthFormat 00 04 wPINMaxExtraDigit 0408 0408 bEntryValidationCondition 02 02 bNumberMessage 01 01 wLangId 0904 0904 bMsgIndex 00 00 bTeoPrologue 0-2 00 00 pcsc-cyberjack-3.99.5final.SP03/doc/README.ps0000644000175000001440000026324511657145411017001 0ustar sctusers%!PS-Adobe-2.0 %%Creator: dvips(k) 5.96.1 Copyright 2007 Radical Eye Software %%Title: README.dvi %%CreationDate: Mon Jun 2 07:21:07 2008 %%Pages: 9 %%PageOrder: Ascend %%BoundingBox: 0 0 596 842 %%DocumentFonts: Helvetica-Bold Times-Roman Courier Times-Italic %%+ Times-Bold Courier-Bold Courier-Oblique %%DocumentPaperSizes: a4 %%EndComments %DVIPSWebPage: (www.radicaleye.com) %DVIPSCommandLine: dvips -R -q -t a4 README.dvi -o README.ps %DVIPSParameters: dpi=600 %DVIPSSource: TeX output 2008.06.02:0721 %%BeginProcSet: tex.pro 0 0 %! /TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72 mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{ landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[ matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{ statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0] N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin /FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array /BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2 array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get }B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub} B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr 1 add N}if}B/CharBuilder{save 3 1 roll S A/base get 2 index get S /BitMaps get S get/Cd X pop/ctr 0 N Cdx 0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx sub Cy .1 sub]{Ci}imagemask restore}B/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn /BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put }if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{ bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{ SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{ userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X 1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4 index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N /p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{ /Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT) (LaserWriter 16/600)]{A length product length le{A length product exch 0 exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot} imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M} B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{ p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end %%EndProcSet %%BeginProcSet: 8r.enc 0 0 % File 8r.enc TeX Base 1 Encoding Revision 2.0 2002-10-30 % % @@psencodingfile@{ % author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry, % W. Schmidt, P. Lehman", % version = "2.0", % date = "27nov06", % filename = "8r.enc", % email = "tex-fonts@@tug.org", % docstring = "This is the encoding vector for Type1 and TrueType % fonts to be used with TeX. This file is part of the % PSNFSS bundle, version 9" % @} % % The idea is to have all the characters normally included in Type 1 fonts % available for typesetting. This is effectively the characters in Adobe % Standard encoding, ISO Latin 1, Windows ANSI including the euro symbol, % MacRoman, and some extra characters from Lucida. % % Character code assignments were made as follows: % % (1) the Windows ANSI characters are almost all in their Windows ANSI % positions, because some Windows users cannot easily reencode the % fonts, and it makes no difference on other systems. The only Windows % ANSI characters not available are those that make no sense for % typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen % (173). quotesingle and grave are moved just because it's such an % irritation not having them in TeX positions. % % (2) Remaining characters are assigned arbitrarily to the lower part % of the range, avoiding 0, 10 and 13 in case we meet dumb software. % % (3) Y&Y Lucida Bright includes some extra text characters; in the % hopes that other PostScript fonts, perhaps created for public % consumption, will include them, they are included starting at 0x12. % These are /dotlessj /ff /ffi /ffl. % % (4) hyphen appears twice for compatibility with both ASCII and Windows. % % (5) /Euro was assigned to 128, as in Windows ANSI % % (6) Missing characters from MacRoman encoding incorporated as follows: % % PostScript MacRoman TeXBase1 % -------------- -------------- -------------- % /notequal 173 0x16 % /infinity 176 0x17 % /lessequal 178 0x18 % /greaterequal 179 0x19 % /partialdiff 182 0x1A % /summation 183 0x1B % /product 184 0x1C % /pi 185 0x1D % /integral 186 0x81 % /Omega 189 0x8D % /radical 195 0x8E % /approxequal 197 0x8F % /Delta 198 0x9D % /lozenge 215 0x9E % /TeXBase1Encoding [ % 0x00 /.notdef /dotaccent /fi /fl /fraction /hungarumlaut /Lslash /lslash /ogonek /ring /.notdef /breve /minus /.notdef /Zcaron /zcaron % 0x10 /caron /dotlessi /dotlessj /ff /ffi /ffl /notequal /infinity /lessequal /greaterequal /partialdiff /summation /product /pi /grave /quotesingle % 0x20 /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash % 0x30 /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question % 0x40 /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O % 0x50 /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore % 0x60 /quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o % 0x70 /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright /asciitilde /.notdef % 0x80 /Euro /integral /quotesinglbase /florin /quotedblbase /ellipsis /dagger /daggerdbl /circumflex /perthousand /Scaron /guilsinglleft /OE /Omega /radical /approxequal % 0x90 /.notdef /.notdef /.notdef /quotedblleft /quotedblright /bullet /endash /emdash /tilde /trademark /scaron /guilsinglright /oe /Delta /lozenge /Ydieresis % 0xA0 /.notdef /exclamdown /cent /sterling /currency /yen /brokenbar /section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen /registered /macron % 0xB0 /degree /plusminus /twosuperior /threesuperior /acute /mu /paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright /onequarter /onehalf /threequarters /questiondown % 0xC0 /Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis /Igrave /Iacute /Icircumflex /Idieresis % 0xD0 /Eth /Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute /Thorn /germandbls % 0xE0 /agrave /aacute /acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis % 0xF0 /eth /ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis ] def %%EndProcSet %%BeginProcSet: texps.pro 0 0 %! TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2 index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]FontType 0 ne{/Metrics exch def dict begin Encoding{exch dup type/integertype ne{ pop pop 1 sub dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}ifelse}forall Metrics/Metrics currentdict end def}{{1 index type /nametype eq{exit}if exch pop}loop}ifelse[2 index currentdict end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1 roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def dup[ exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}if} forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}def end %%EndProcSet %%BeginProcSet: special.pro 0 0 %! TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N /vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N /rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N /@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{ /hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B /@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{ /urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known {userdict/md get type/dicttype eq{userdict begin md length 10 add md maxlength ge{/md md dup length 20 add dict copy def}if end md begin /letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{ itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack} if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1 -1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{ noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop 90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr 1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr 2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4 -1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{ Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale }if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState save N userdict maxlength dict begin/magscale true def normalscale currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts /psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub TR/showpage{}N/erasepage{}N/setpagedevice{pop}N/copypage{}N/p 3 def @MacSetUp}N/doclip{psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2 roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath moveto}N/endTexFig{end psf$SavedState restore}N /@beginspecial{SDict begin/SpecialSave save N gsave normalscale currentpoint TR @SpecialDefaults count/ocount X/dcount countdictstack N} N/@setspecial{CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury lineto closepath clip}if/showpage{}N/erasepage{}N /setpagedevice{pop}N/copypage{}N newpath}N/@endspecial{count ocount sub{ pop}repeat countdictstack dcount sub{end}repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N/@fedspecial{end}B/li{lineto}B /rl{rlineto}B/rc{rcurveto}B/np{/SaveX currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0 1 startangle endangle arc savematrix setmatrix}N end %%EndProcSet %%BeginProcSet: color.pro 0 0 %! TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll }repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def /TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{ setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{ /currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC /Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC /Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0 setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0 setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61 0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC /Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0 setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87 0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{ 0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{ 0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC /Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0 setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0 setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90 0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC /Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0 setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0 0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{ 0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{ 0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC /BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0 setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC /CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0 0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1 0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11 0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0 setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0 0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC /Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0 setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0 0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0 1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC /PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0 setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{ 0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor} DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70 setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0 setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1 setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end %%EndProcSet TeXDict begin @defspecial /DvipsToPDF { 72.27 mul Resolution div } def /PDFToDvips { 72.27 div Resolution mul } def /HyperBorder { 1 PDFToDvips } def /H.V {pdf@hoff pdf@voff null} def /H.B {/Rect[pdf@llx pdf@lly pdf@urx pdf@ury]} def /H.S { currentpoint HyperBorder add /pdf@lly exch def dup DvipsToPDF /pdf@hoff exch def HyperBorder sub /pdf@llx exch def } def /H.L { 2 sub dup /HyperBasePt exch def PDFToDvips /HyperBaseDvips exch def currentpoint HyperBaseDvips sub /pdf@ury exch def /pdf@urx exch def } def /H.A { H.L currentpoint exch pop vsize 72 sub exch DvipsToPDF HyperBasePt sub sub /pdf@voff exch def } def /H.R { currentpoint HyperBorder sub /pdf@ury exch def HyperBorder add /pdf@urx exch def currentpoint exch pop vsize 72 sub exch DvipsToPDF sub /pdf@voff exch def } def systemdict /pdfmark known { userdict /?pdfmark systemdict /exec get put }{ userdict /?pdfmark systemdict /pop get put userdict /pdfmark systemdict /cleartomark get put } ifelse @fedspecial end TeXDict begin 39158280 55380996 1000 600 600 (README.dvi) @start /Fa 137[45 45 45 1[45 1[45 45 45 45 45 1[45 45 45 2[45 45 45 45 45 1[45 95[{TeXBase1Encoding ReEncodeFont}18 74.7198 /Courier-Oblique rf /Fb 134[45 2[45 45 45 45 45 1[45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 1[45 8[45 45 1[45 3[45 1[45 1[45 45 4[45 45 45 45 3[45 45 45 4[45 3[45 1[45 45 45 45 45 45[{TeXBase1Encoding ReEncodeFont}44 74.7198 /Courier-Bold rf /Fc 106[23 149[{TeXBase1Encoding ReEncodeFont} 1 66.4176 /Times-Roman rf /Fd 133[60 66 1[93 66 73 40 66 47 1[73 73 73 106 33 66 1[33 73 73 40 66 73 66 73 66 1[66 8[80 86 73 80 86 1[80 93 1[100 73 86 1[33 86 1[73 80 86 86 86 86 7[66 66 66 66 66 66 66 66 66 66 33 33 40 45[{TeXBase1Encoding ReEncodeFont}55 119.552 /Helvetica-Bold rf /Fe 135[42 2[46 28 32 37 1[46 42 46 69 23 46 1[23 3[37 2[46 42 1[42 5[60 4[55 46 60 1[51 65 60 2[65 42 32 3[55 1[60 1[60 19[28 45[{TeXBase1Encoding ReEncodeFont}30 83.022 /Times-Bold rf /Ff 138[51 28 1[32 2[51 2[23 2[23 3[46 51 46 15[55 2[55 1[60 4[23 2[51 1[60 60 1[60 14[46 50[{TeXBase1Encoding ReEncodeFont}18 83.022 /Helvetica-Bold rf /Fg 134[37 2[37 42 23 32 32 1[42 42 42 60 23 37 23 23 42 2[37 42 37 42 42 11[60 46 42 51 3[55 3[37 28 3[51 1[55 51 8[42 42 42 42 42 42 42 42 42 1[23 1[28 45[{ TeXBase1Encoding ReEncodeFont}41 83.022 /Times-Italic rf /Fh 134[45 45 1[45 45 45 45 45 1[45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 45 1[45 5[45 2[45 45 45 45 2[45 45 45 2[45 45 45 45 2[45 45 45 45 45 5[45 45 1[45 45 45 45 45 45 45 45 45 45 45 45 45 1[45 45 45 40[{ TeXBase1Encoding ReEncodeFont}59 74.7198 /Courier rf /Fi 3[42 103[37 37 20[45 3[37 42 42 60 42 42 23 32 28 42 42 42 42 65 23 42 23 23 42 42 28 37 42 37 42 37 1[42 5[60 60 78 60 60 51 46 55 1[46 60 60 74 51 60 32 28 60 60 46 51 60 55 55 60 76 1[47 47 2[23 42 42 42 42 42 42 42 42 42 42 23 21 28 21 2[28 28 28 1[69 1[42 34 28 29[46 46 2[{TeXBase1Encoding ReEncodeFont}82 83.022 /Times-Roman rf /Fj 86[73 47[55 4[33 55 39 1[61 61 61 89 28 2[28 61 61 1[55 2[61 55 12[61 66 72 3[72 4[28 72 78 1[66 72 72 10[55 2[55 55 1[55 55 55 1[28 9[55 36[{TeXBase1Encoding ReEncodeFont}34 99.6264 /Helvetica-Bold rf /Fk 3[88 130[80 1[112 80 88 48 80 56 1[88 88 88 128 40 2[40 88 88 48 80 88 80 88 80 9[135 1[104 88 96 104 1[96 112 1[120 1[104 1[40 104 1[88 3[104 104 8[80 80 80 80 80 80 80 80 2[40 48 42[88 2[{TeXBase1Encoding ReEncodeFont}47 143.462 /Helvetica-Bold rf /Fl 134[115 2[115 3[80 1[126 126 126 184 1[115 1[57 126 2[115 126 115 126 115 11[149 126 138 149 3[149 3[115 57 3[138 1[149 149 18[57 1[69 45[{TeXBase1Encoding ReEncodeFont}27 206.584 /Helvetica-Bold rf end %%EndProlog %%BeginSetup %%Feature: *Resolution 600dpi TeXDict begin %%BeginPaperSize: a4 /setpagedevice where { pop << /PageSize [595 842] >> setpagedevice } { /a4 where { pop a4 } if } ifelse %%EndPaperSize end %%EndSetup %%Page: 1 1 TeXDict begin 1 0 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a -600 -600 a SDict begin [ /Producer (dvips + Distiller) /Title () /Subject () /Creator (LaTeX with hyperref package) /Author () /Keywords () /DOCINFO pdfmark end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.1) cvn H.B /DEST pdfmark end -2 -102 a Black Black -2 -11 a SDict begin [ /Page 1 /View [ /Fit ] /PageMode /UseOutlines /DOCVIEW pdfmark end -2 -11 a -2 -11 a SDict begin [ {Catalog} << >> /PUT pdfmark end -2 -11 a -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 12 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (Doc-Start) cvn H.B /DEST pdfmark end -2 -11 a -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 12 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:0) cvn H.B /DEST pdfmark end -2 -11 a 983 140 a Fl(REINER)58 b(SCT)g(c)n(yberJac)l(k)421 409 y(pinpad/e-com)g(USB)g(c)n(hipcar)l(d)g(reader)1853 677 y(driver)1582 953 y Fk(Matthias)37 b(Br\374stle)1708 1230 y(Harald)h(W)-5 b(elte)1664 1506 y(Mar)s(tin)38 b(Preuss)1251 1703 y Fj(Cop)o(yright)27 b(\251)h(2004)h(REINER)f(SCT)g (GmbH)1976 1811 y($Date$)542 2168 y Fi(This)20 b(is)h(the)f(user)g (manual)f(to)i(the)f(linux)f(dri)n(v)o(er)g(for)h(REINER)g(SCT)h(c)o (yberjack)e(chipcard)f(readers.)39 2478 y SDict begin H.S end 39 2478 a 39 2478 a SDict begin 13 H.A end 39 2478 a 39 2478 a SDict begin [ /View [/XYZ H.V] /Dest (0:19) cvn H.B /DEST pdfmark end 39 2478 a -2 2855 a Fk(1.)39 b(Over)q(vie)n(w)796 2855 y SDict begin H.S end 796 2855 a 796 2855 a SDict begin 22.464 H.A end 796 2855 a 796 2855 a SDict begin [ /View [/XYZ H.V] /Dest (0.1.1) cvn H.B /DEST pdfmark end 796 2855 a -2 3022 a SDict begin H.S end -2 3022 a -2 3022 a SDict begin 13 H.A end -2 3022 a -2 3022 a SDict begin [ /View [/XYZ H.V] /Dest (0:21) cvn H.B /DEST pdfmark end -2 3022 a 396 3129 a Fi(This)21 b(dri)n(v)o(er)d(for)i(the)g(REINER)h(SCT)g(c)o(yberJack)d (pinpad/e-com)f(USB)22 b(f)o(amily)d(of)h(chipcard)f(readers)g (implements)396 3237 y(the)h(CT)-8 b(-API)21 b(1.1)f(interf)o(ace,)f (as)i(well)f(as)h(the)f(PC/SC)i(interf)o(ace)e(of)g(pcsc-lite.)-2 3421 y SDict begin H.S end -2 3421 a -2 3421 a SDict begin 13 H.A end -2 3421 a -2 3421 a SDict begin [ /View [/XYZ H.V] /Dest (0:22) cvn H.B /DEST pdfmark end -2 3421 a 396 3511 a Fi(It)h(is)g(implemented)d(100\045)i(in)g(userspace.)f (This)i(means)e(no)h(trouble)f(with)i(dif)n(ferent)d(k)o(ernel)h(v)o (ersions,)396 3618 y(compiling/patching)e(the)j(k)o(ernel)f(etc.)-2 3802 y SDict begin H.S end -2 3802 a -2 3802 a SDict begin 13 H.A end -2 3802 a -2 3802 a SDict begin [ /View [/XYZ H.V] /Dest (0:23) cvn H.B /DEST pdfmark end -2 3802 a 396 3892 a Fi(All)i(accesses)g(are)f(done)f(via)i(the)1374 3892 y SDict begin H.S end 1374 3892 a 1374 3892 a SDict begin 13 H.A end 1374 3892 a 1374 3892 a SDict begin [ /View [/XYZ H.V] /Dest (0:24) cvn H.B /DEST pdfmark end 1374 3892 a Fh(usb)44 b(devfs)20 b Fi(in)1883 3892 y SDict begin H.S end 1883 3892 a 1883 3892 a SDict begin 13 H.A end 1883 3892 a 1883 3892 a SDict begin [ /View [/XYZ H.V] /Dest (0:25) cvn H.B /DEST pdfmark end 1883 3892 a Fh(/proc/bus/usb)f Fi(\(or)2604 3892 y SDict begin H.S end 2604 3892 a 2604 3892 a SDict begin 13 H.A end 2604 3892 a 2604 3892 a SDict begin [ /View [/XYZ H.V] /Dest (0:26) cvn H.B /DEST pdfmark end 2604 3892 a Fh(/dev/bus/usb)g Fi(for)h(ude)n(v-based)396 4000 y(systems\).)-2 4184 y SDict begin H.S end -2 4184 a -2 4184 a SDict begin 13 H.A end -2 4184 a -2 4184 a SDict begin [ /View [/XYZ H.V] /Dest (0:27) cvn H.B /DEST pdfmark end -2 4184 a 396 4274 a Fi(Permission)f(handling)d(is)k(done)1350 4274 y SDict begin H.S end 1350 4274 a 1350 4274 a SDict begin 13 H.A end 1350 4274 a 1350 4274 a SDict begin [ /View [/XYZ H.V] /Dest (0:28) cvn H.B /DEST pdfmark end 1350 4274 a Fg(only)e Fi(via)h(ude)n(v)-5 b(.)17 b(The)1975 4274 y SDict begin H.S end 1975 4274 a 1975 4274 a SDict begin 13 H.A end 1975 4274 a 1975 4274 a SDict begin [ /View [/XYZ H.V] /Dest (0:29) cvn H.B /DEST pdfmark end 1975 4274 a Fh(cyberjack.rules)g Fi(if)i(installed)f(to)3121 4274 y SDict begin H.S end 3121 4274 a 3121 4274 a SDict begin 13 H.A end 3121 4274 a 3121 4274 a SDict begin [ /View [/XYZ H.V] /Dest (0:30) cvn H.B /DEST pdfmark end 3121 4274 a Fh(/etc/udev/rules.d)396 4382 y Fi(is)j(automatically)e (called)h(by)g(ude)n(v)f(when)h(a)g(reader)f(is)i(plugged)e(in.)h(This) g(scripts)h(dynamically)d(updates)h(the)396 4490 y(permissions)h(of)g (the)g(respecti)n(v)o(e)f(de)n(vice,)g(so)h(users)h(in)f(the)g(group) 2344 4490 y SDict begin H.S end 2344 4490 a 2344 4490 a SDict begin 13 H.A end 2344 4490 a 2344 4490 a SDict begin [ /View [/XYZ H.V] /Dest (0:31) cvn H.B /DEST pdfmark end 2344 4490 a Fh(cyberjack)f Fi(are)h(able)g(to)h(access)f(it.)-2 4674 y SDict begin H.S end -2 4674 a -2 4674 a SDict begin 13 H.A end -2 4674 a -2 4674 a SDict begin [ /View [/XYZ H.V] /Dest (0:32) cvn H.B /DEST pdfmark end -2 4674 a 396 4764 a Fi(F)o(or)g(more)f(information)f(about)h(the)i(smart)f (card)g(reader)f(itself)h(please)h(visit)2638 4764 y SDict begin H.S end 2638 4764 a 2638 4764 a SDict begin 13 H.A end 2638 4764 a 2638 4764 a SDict begin [ /View [/XYZ H.V] /Dest (0:33) cvn H.B /DEST pdfmark end 2638 4764 a Fi(http://www)-5 b(.reiner)n(-sct.com/.)17 b(There)j(is)396 4872 y(also)h(a)f(shop)g(where)g(the)g(the)g(readers)f(can)h(be)h (ordered)d(online.)-2 4900 y SDict begin H.S end -2 4900 a -2 4900 a SDict begin 13 H.A end -2 4900 a -2 4900 a SDict begin [ /View [/XYZ H.V] /Dest (0:34) cvn H.B /DEST pdfmark end -2 4900 a Black 3842 5569 a Fg(1)p Black eop end %%Page: 2 2 TeXDict begin 2 1 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.2) cvn H.B /DEST pdfmark end -2 -102 a Black -2 -201 a SDict begin H.S end -2 -201 a -2 -201 a SDict begin 13 H.A end -2 -201 a -2 -201 a SDict begin [ /View [/XYZ H.V] /Dest (0:84) cvn H.B /DEST pdfmark end -2 -201 a 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black -2 94 a Fk(2.)39 b(Reader)n(s)f(suppor)s(ted)f(b)m(y)j(this)f(driver)2405 94 y SDict begin H.S end 2405 94 a 2405 94 a SDict begin 22.464 H.A end 2405 94 a 2405 94 a SDict begin [ /View [/XYZ H.V] /Dest (0.2.1) cvn H.B /DEST pdfmark end 2405 94 a -2 290 a SDict begin H.S end -2 290 a -2 290 a SDict begin 13 H.A end -2 290 a -2 290 a SDict begin [ /View [/XYZ H.V] /Dest (0:36) cvn H.B /DEST pdfmark end -2 290 a 396 368 a Fi(The)20 b(follo)n(wing)f(Reiner)n(-SCT)h(readers)f(are)i (supported:)2083 368 y SDict begin H.S end 2083 368 a 2083 368 a SDict begin 13 H.A end 2083 368 a 2083 368 a SDict begin [ /View [/XYZ H.V] /Dest (0:37) cvn H.B /DEST pdfmark end 2083 368 a -2 498 a SDict begin H.S end -2 498 a -2 498 a SDict begin 13 H.A end -2 498 a -2 498 a SDict begin [ /View [/XYZ H.V] /Dest (0:38) cvn H.B /DEST pdfmark end -2 498 a -2 498 a SDict begin H.S end -2 498 a -2 498 a SDict begin 0 H.A end -2 498 a -2 498 a SDict begin [ /View [/XYZ H.V] /Dest (table.1) cvn H.B /DEST pdfmark end -2 498 a 396 501 3497 4 v 396 501 V 396 626 4 125 v 424 601 a Ff(Pr)n(oduct)p 2143 626 V 1435 w(Pr)n(oductID)p 3890 626 V 396 629 3497 4 v 396 629 V 396 753 4 125 v 424 729 a Fi(REINER)g(SCT)g(c)o(yberJack)d(pinpad)h (USB)p 2143 753 V 494 w(0x100)p 3890 753 V 396 757 3497 4 v 396 757 V 396 881 4 125 v 424 856 a(REINER)i(SCT)g(c)o(yberJack)d (e-com)i(USB)p 2143 881 V 512 w(0x100)p 3890 881 V 396 885 3497 4 v 396 885 V 396 1009 4 125 v 424 984 a(REINER)h(SCT)g(c)o (yberJack)d(pinpad_a)h(USB)p 2143 1009 V 415 w(0x300)p 3890 1009 V 396 1013 3497 4 v 396 1013 V 396 1179 a(Y)-9 b(ou)20 b(can)g(use)g(the)940 1179 y SDict begin H.S end 940 1179 a 940 1179 a SDict begin 13 H.A end 940 1179 a 940 1179 a SDict begin [ /View [/XYZ H.V] /Dest (0:53) cvn H.B /DEST pdfmark end 940 1179 a Fe(lsusb)i Fi(command)c(to)j(list)g (all)g(de)n(vices)e(connected)g(to)h(the)g(USB)i(b)n(us)e(of)g(your)f (machine.)g(It)h(will)396 1286 y(print)g(out)g(the)g(v)o(endor)e(and)i (de)n(vice)f(ID)h(of)g(all)h(your)e(de)n(vices,)g(lik)o(e)i(:)-2 1470 y SDict begin H.S end -2 1470 a -2 1470 a SDict begin 13 H.A end -2 1470 a -2 1470 a SDict begin [ /View [/XYZ H.V] /Dest (0:54) cvn H.B /DEST pdfmark end -2 1470 a -2 1470 a SDict begin H.S end -2 1470 a -2 1470 a SDict begin 13 H.A end -2 1470 a -2 1470 a SDict begin [ /View [/XYZ H.V] /Dest (0:55) cvn H.B /DEST pdfmark end -2 1470 a 396 1560 a Fh(Bus)45 b(Nr)f(Device)g(Nr)g(VeID:PrID)g(Bus)g(002) g(Device)g(002:)g(ID)h(0451:1446)e(Texas)396 1668 y(Instruments,)g (Inc.)h(TUSB2040/2070)f(Hub)h(Bus)h(002)f(Device)g(006:)g(ID)g (0c4b:0300)-2 1843 y SDict begin H.S end -2 1843 a -2 1843 a SDict begin 13 H.A end -2 1843 a -2 1843 a SDict begin [ /View [/XYZ H.V] /Dest (0:56) cvn H.B /DEST pdfmark end -2 1843 a 396 1942 a Fi(The)20 b(REINER)h(SCT)g(V)-9 b(endorID)18 b(is)1464 1942 y SDict begin H.S end 1464 1942 a 1464 1942 a SDict begin 13 H.A end 1464 1942 a 1464 1942 a SDict begin [ /View [/XYZ H.V] /Dest (0:57) cvn H.B /DEST pdfmark end 1464 1942 a Fh(0c4b)p Fi(.)i(ProductID')-5 b(s)19 b(can)h(be)g(look)o(ed)f(up)h(in)g(the)g(table)g(abo)o(v)o(e.)-2 1971 y SDict begin H.S end -2 1971 a -2 1971 a SDict begin 13 H.A end -2 1971 a -2 1971 a SDict begin [ /View [/XYZ H.V] /Dest (0:58) cvn H.B /DEST pdfmark end -2 1971 a 359 x Fk(3.)39 b(distrib)m(ution-speci\002c)c(notes)1949 2330 y SDict begin H.S end 1949 2330 a 1949 2330 a SDict begin 22.464 H.A end 1949 2330 a 1949 2330 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.1) cvn H.B /DEST pdfmark end 1949 2330 a -2 2526 a SDict begin H.S end -2 2526 a -2 2526 a SDict begin 13 H.A end -2 2526 a -2 2526 a SDict begin [ /View [/XYZ H.V] /Dest (0:60) cvn H.B /DEST pdfmark end -2 2526 a 396 2604 a Fi(Y)-9 b(ou)20 b(\002nd)g(all)h (packages)e(at)1210 2604 y SDict begin H.S end 1210 2604 a 1210 2604 a SDict begin 13 H.A end 1210 2604 a 1210 2604 a SDict begin [ /View [/XYZ H.V] /Dest (0:61) cvn H.B /DEST pdfmark end 1210 2604 a Fi(http://www)-5 b(.reiner)n (-sct.com/content/vie)n(w/32)o(/43/#)o(linu)o(x.)-2 2788 y SDict begin H.S end -2 2788 a -2 2788 a SDict begin 13 H.A end -2 2788 a -2 2788 a SDict begin [ /View [/XYZ H.V] /Dest (0:62) cvn H.B /DEST pdfmark end -2 2788 a 396 2878 a Fi(Most)21 b(packages)e(need)g(you)h(to)g(add)g(the)g(user)g (which)f(is)j(to)e(access)h(the)f(card)g(reader)f(to)h(be)g(added)f(to) i(the)f(group)396 2986 y SDict begin H.S end 396 2986 a 396 2986 a SDict begin 13 H.A end 396 2986 a 396 2986 a SDict begin [ /View [/XYZ H.V] /Dest (0:63) cvn H.B /DEST pdfmark end 396 2986 a Fg(cyberjac)n(k)q Fi(.)g(This)h(can)f(be)g (done)f(by)h(using)f(the)i(tool)1922 2986 y SDict begin H.S end 1922 2986 a 1922 2986 a SDict begin 13 H.A end 1922 2986 a 1922 2986 a SDict begin [ /View [/XYZ H.V] /Dest (0:64) cvn H.B /DEST pdfmark end 1922 2986 a Fg(kuser)i Fi(or)d(the)g(system')-5 b(s)21 b(administration)d(tool)i(\(e.g.)3462 2986 y SDict begin H.S end 3462 2986 a 3462 2986 a SDict begin 13 H.A end 3462 2986 a 3462 2986 a SDict begin [ /View [/XYZ H.V] /Dest (0:65) cvn H.B /DEST pdfmark end 3462 2986 a Fg(yast)i Fi(on)396 3094 y(SuSE\).)-2 3275 y SDict begin H.S end -2 3275 a -2 3275 a SDict begin 13 H.A end -2 3275 a -2 3275 a SDict begin [ /View [/XYZ H.V] /Dest (0:66) cvn H.B /DEST pdfmark end -2 3275 a 396 3368 a Fi(Y)-9 b(ou)20 b(should)f(reboot)g(your)g(machine)g(after)h (installing)g(the)g(dri)n(v)o(er)e(package)h(and)h(adding)f(the)h(user) g(to)g(the)g(group)396 3476 y SDict begin H.S end 396 3476 a 396 3476 a SDict begin 13 H.A end 396 3476 a 396 3476 a SDict begin [ /View [/XYZ H.V] /Dest (0:67) cvn H.B /DEST pdfmark end 396 3476 a Fg(cyberjac)n(k)h Fi(in)g(order)e(for)g (the)i(changes)e(to)h(tak)o(e)g(ef)n(fect.)-2 3494 y SDict begin H.S end -2 3494 a -2 3494 a SDict begin 13 H.A end -2 3494 a -2 3494 a SDict begin [ /View [/XYZ H.V] /Dest (0:68) cvn H.B /DEST pdfmark end -2 3494 a 396 3804 a Fd(3.1.)35 b(RPM-based)1279 3804 y SDict begin H.S end 1279 3804 a 1279 3804 a SDict begin 18.72 H.A end 1279 3804 a 1279 3804 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.1.2) cvn H.B /DEST pdfmark end 1279 3804 a -2 3971 a SDict begin H.S end -2 3971 a -2 3971 a SDict begin 13 H.A end -2 3971 a -2 3971 a SDict begin [ /View [/XYZ H.V] /Dest (0:70) cvn H.B /DEST pdfmark end -2 3971 a 396 4078 a Fi(Reiner)n(-SCT)21 b(pro)o(vides)d(RPM)j(packages)e(for)h(the)g (follo)n(wing)e(distrib)n(utions:)2703 4078 y SDict begin H.S end 2703 4078 a 2703 4078 a SDict begin 13 H.A end 2703 4078 a 2703 4078 a SDict begin [ /View [/XYZ H.V] /Dest (0:71) cvn H.B /DEST pdfmark end 2703 4078 a -2 4120 a SDict begin H.S end -2 4120 a -2 4120 a SDict begin 13 H.A end -2 4120 a -2 4120 a SDict begin [ /View [/XYZ H.V] /Dest (0:72) cvn H.B /DEST pdfmark end -2 4120 a Black 396 4275 a Fc(\225)p Black 479 4275 a SDict begin H.S end 479 4275 a 479 4275 a SDict begin 13 H.A end 479 4275 a 479 4275 a SDict begin [ /View [/XYZ H.V] /Dest (0:73) cvn H.B /DEST pdfmark end 479 4275 a Fi(SuSE)j(10.2)-2 4276 y SDict begin H.S end -2 4276 a -2 4276 a SDict begin 13 H.A end -2 4276 a -2 4276 a SDict begin [ /View [/XYZ H.V] /Dest (0:74) cvn H.B /DEST pdfmark end -2 4276 a Black 396 4424 a Fc(\225)p Black 479 4424 a SDict begin H.S end 479 4424 a 479 4424 a SDict begin 13 H.A end 479 4424 a 479 4424 a SDict begin [ /View [/XYZ H.V] /Dest (0:75) cvn H.B /DEST pdfmark end 479 4424 a Fi(SuSE)g(10.1)-2 4425 y SDict begin H.S end -2 4425 a -2 4425 a SDict begin 13 H.A end -2 4425 a -2 4425 a SDict begin [ /View [/XYZ H.V] /Dest (0:76) cvn H.B /DEST pdfmark end -2 4425 a Black 396 4574 a Fc(\225)p Black 479 4574 a SDict begin H.S end 479 4574 a 479 4574 a SDict begin 13 H.A end 479 4574 a 479 4574 a SDict begin [ /View [/XYZ H.V] /Dest (0:77) cvn H.B /DEST pdfmark end 479 4574 a Fi(SuSE)g(10.0)-2 4575 y SDict begin H.S end -2 4575 a -2 4575 a SDict begin 13 H.A end -2 4575 a -2 4575 a SDict begin [ /View [/XYZ H.V] /Dest (0:78) cvn H.B /DEST pdfmark end -2 4575 a Black 396 4723 a Fc(\225)p Black 479 4723 a SDict begin H.S end 479 4723 a 479 4723 a SDict begin 13 H.A end 479 4723 a 479 4723 a SDict begin [ /View [/XYZ H.V] /Dest (0:79) cvn H.B /DEST pdfmark end 479 4723 a Fi(SuSE)g(9.3)-2 4725 y SDict begin H.S end -2 4725 a -2 4725 a SDict begin 13 H.A end -2 4725 a -2 4725 a SDict begin [ /View [/XYZ H.V] /Dest (0:80) cvn H.B /DEST pdfmark end -2 4725 a Black 396 4873 a Fc(\225)p Black 479 4873 a SDict begin H.S end 479 4873 a 479 4873 a SDict begin 13 H.A end 479 4873 a 479 4873 a SDict begin [ /View [/XYZ H.V] /Dest (0:81) cvn H.B /DEST pdfmark end 479 4873 a Fi(Fedora)f(Core)g(5)-2 4874 y SDict begin H.S end -2 4874 a -2 4874 a SDict begin 13 H.A end -2 4874 a -2 4874 a SDict begin [ /View [/XYZ H.V] /Dest (0:82) cvn H.B /DEST pdfmark end -2 4874 a Black 396 5022 a Fc(\225)p Black 479 5022 a SDict begin H.S end 479 5022 a 479 5022 a SDict begin 13 H.A end 479 5022 a 479 5022 a SDict begin [ /View [/XYZ H.V] /Dest (0:83) cvn H.B /DEST pdfmark end 479 5022 a Fi(Fedora)g(Core)g(4)p Black 3842 5569 a Fg(2)p Black eop end %%Page: 3 3 TeXDict begin 3 2 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.3) cvn H.B /DEST pdfmark end -2 -102 a Black -2 -201 a SDict begin H.S end -2 -201 a -2 -201 a SDict begin 13 H.A end -2 -201 a -2 -201 a SDict begin [ /View [/XYZ H.V] /Dest (0:120) cvn H.B /DEST pdfmark end -2 -201 a 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black 396 346 a Fi(Just)h(install)g (the)f(package)f(corresponding)e(to)j(your)f(system)h(lik)o(e)h(this:) 65 b Fb(rpm)45 b(-i)f()-2 530 y SDict begin H.S end -2 530 a -2 530 a SDict begin 13 H.A end -2 530 a -2 530 a SDict begin [ /View [/XYZ H.V] /Dest (0:86) cvn H.B /DEST pdfmark end -2 530 a 396 620 a Fi(If)20 b(you)g(already)f(ha)n(v)o(e)g(one)h(of)g(Reiner)n(-SCT')-5 b(s)21 b(pre)n(vious)d(RPM)j(packages)e(installed)h(you)g(must)g (update)f(that)h(e)o(xisting)396 728 y(package)f(instead,)h(lik)o(e)g (in:)1219 728 y SDict begin H.S end 1219 728 a 1219 728 a SDict begin 13 H.A end 1219 728 a 1219 728 a SDict begin [ /View [/XYZ H.V] /Dest (0:87) cvn H.B /DEST pdfmark end 1219 728 a 44 w Fb(rpm)45 b(-U)f()-2 757 y SDict begin H.S end -2 757 a -2 757 a SDict begin 13 H.A end -2 757 a -2 757 a SDict begin [ /View [/XYZ H.V] /Dest (0:88) cvn H.B /DEST pdfmark end -2 757 a 396 1067 a Fd(3.2.)35 b(DEB-based)1265 1067 y SDict begin H.S end 1265 1067 a 1265 1067 a SDict begin 18.72 H.A end 1265 1067 a 1265 1067 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.2.2) cvn H.B /DEST pdfmark end 1265 1067 a -2 1234 a SDict begin H.S end -2 1234 a -2 1234 a SDict begin 13 H.A end -2 1234 a -2 1234 a SDict begin [ /View [/XYZ H.V] /Dest (0:90) cvn H.B /DEST pdfmark end -2 1234 a 396 1341 a Fi(Reiner)n(-SCT)21 b(pro)o(vides)d(RPM)j(packages)e(for)h(the)g (follo)n(wing)e(distrib)n(utions:)2703 1341 y SDict begin H.S end 2703 1341 a 2703 1341 a SDict begin 13 H.A end 2703 1341 a 2703 1341 a SDict begin [ /View [/XYZ H.V] /Dest (0:91) cvn H.B /DEST pdfmark end 2703 1341 a -2 1383 a SDict begin H.S end -2 1383 a -2 1383 a SDict begin 13 H.A end -2 1383 a -2 1383 a SDict begin [ /View [/XYZ H.V] /Dest (0:92) cvn H.B /DEST pdfmark end -2 1383 a Black 396 1538 a Fc(\225)p Black 479 1538 a SDict begin H.S end 479 1538 a 479 1538 a SDict begin 13 H.A end 479 1538 a 479 1538 a SDict begin [ /View [/XYZ H.V] /Dest (0:93) cvn H.B /DEST pdfmark end 479 1538 a Fi(Debian)i(unstable)-2 1539 y SDict begin H.S end -2 1539 a -2 1539 a SDict begin 13 H.A end -2 1539 a -2 1539 a SDict begin [ /View [/XYZ H.V] /Dest (0:94) cvn H.B /DEST pdfmark end -2 1539 a Black 396 1688 a Fc(\225)p Black 479 1688 a SDict begin H.S end 479 1688 a 479 1688 a SDict begin 13 H.A end 479 1688 a 479 1688 a SDict begin [ /View [/XYZ H.V] /Dest (0:95) cvn H.B /DEST pdfmark end 479 1688 a Fi(Ub)n(untu)f(6.06)-2 1689 y SDict begin H.S end -2 1689 a -2 1689 a SDict begin 13 H.A end -2 1689 a -2 1689 a SDict begin [ /View [/XYZ H.V] /Dest (0:96) cvn H.B /DEST pdfmark end -2 1689 a Black 396 1837 a Fc(\225)p Black 479 1837 a SDict begin H.S end 479 1837 a 479 1837 a SDict begin 13 H.A end 479 1837 a 479 1837 a SDict begin [ /View [/XYZ H.V] /Dest (0:97) cvn H.B /DEST pdfmark end 479 1837 a Fi(Ub)n(untu)g(6.10)-2 2152 y SDict begin H.S end -2 2152 a -2 2152 a SDict begin 13 H.A end -2 2152 a -2 2152 a SDict begin [ /View [/XYZ H.V] /Dest (0:98) cvn H.B /DEST pdfmark end -2 2152 a 396 2260 a Fi(Just)i(install)g(the)f(package)f(corresponding)e(to)j (your)f(system)h(lik)o(e)h(this:)2499 2260 y SDict begin H.S end 2499 2260 a 2499 2260 a SDict begin 13 H.A end 2499 2260 a 2499 2260 a SDict begin [ /View [/XYZ H.V] /Dest (0:99) cvn H.B /DEST pdfmark end 2499 2260 a 44 w Fb(dpkg)45 b(-i)f()-2 2289 y SDict begin H.S end -2 2289 a -2 2289 a SDict begin 13 H.A end -2 2289 a -2 2289 a SDict begin [ /View [/XYZ H.V] /Dest (0:100) cvn H.B /DEST pdfmark end -2 2289 a 396 2599 a Fd(3.3.)35 b(All)f(other)f(Distrib)n(utions)1881 2599 y SDict begin H.S end 1881 2599 a 1881 2599 a SDict begin 18.72 H.A end 1881 2599 a 1881 2599 a SDict begin [ /View [/XYZ H.V] /Dest (0.3.3.2) cvn H.B /DEST pdfmark end 1881 2599 a -2 2766 a SDict begin H.S end -2 2766 a -2 2766 a SDict begin 13 H.A end -2 2766 a -2 2766 a SDict begin [ /View [/XYZ H.V] /Dest (0:102) cvn H.B /DEST pdfmark end -2 2766 a 396 2873 a Fi(There)20 b(is)h(currently)d(no)i(e)o (xperience)e(with)i(other)g(Linux)f(distrib)n(utions.)g(It)h(should)g (w)o(ork)f(in)h(most)h(cases)g(as)396 2981 y(described)e(abo)o(v)o(e.)e (If)j(you)f(get)g(an)o(y)g(problems)f(with)i(the)g(RPM)g(package,)e (you)h(can)h(try)f(to)h(reb)n(uild)f(it)h(on)f(your)g(system)396 3089 y(with)565 3089 y SDict begin H.S end 565 3089 a 565 3089 a SDict begin 13 H.A end 565 3089 a 565 3089 a SDict begin [ /View [/XYZ H.V] /Dest (0:103) cvn H.B /DEST pdfmark end 565 3089 a 44 w Fb(rpm)45 b(--rebuild)e()65 b Fi(or)2334 3089 y SDict begin H.S end 2334 3089 a 2334 3089 a SDict begin 13 H.A end 2334 3089 a 2334 3089 a SDict begin [ /View [/XYZ H.V] /Dest (0:104) cvn H.B /DEST pdfmark end 2334 3089 a 45 w Fb(rpmbuild)43 b(--rebuild)h()-2 3373 y SDict begin H.S end -2 3373 a -2 3373 a SDict begin 13 H.A end -2 3373 a -2 3373 a SDict begin [ /View [/XYZ H.V] /Dest (0:105) cvn H.B /DEST pdfmark end -2 3373 a 396 3471 a Fi(If)20 b(you)g(w)o(ant)g(to)g(compile)g(the)g(source)f (yourself)g(just)i(go)e(into)h(the)h(main)e(directory)g(of)h(the)g(e)o (xtracted)f(archi)n(v)o(e)g(and)396 3578 y(type)560 3578 y SDict begin H.S end 560 3578 a 560 3578 a SDict begin 13 H.A end 560 3578 a 560 3578 a SDict begin [ /View [/XYZ H.V] /Dest (0:106) cvn H.B /DEST pdfmark end 560 3578 a 45 w Fb(./configure)43 b(make)-2 3763 y SDict begin H.S end -2 3763 a -2 3763 a SDict begin 13 H.A end -2 3763 a -2 3763 a SDict begin [ /View [/XYZ H.V] /Dest (0:107) cvn H.B /DEST pdfmark end -2 3763 a 396 3852 a Fi(The)20 b(include)f(\002le)938 3852 y SDict begin H.S end 938 3852 a 938 3852 a SDict begin 13 H.A end 938 3852 a 938 3852 a SDict begin [ /View [/XYZ H.V] /Dest (0:108) cvn H.B /DEST pdfmark end 938 3852 a Fh(ctapi.h)h Fi(and)f(the)i(resulting)e (library)2089 3852 y SDict begin H.S end 2089 3852 a 2089 3852 a SDict begin 13 H.A end 2089 3852 a 2089 3852 a SDict begin [ /View [/XYZ H.V] /Dest (0:109) cvn H.B /DEST pdfmark end 2089 3852 a Fh(libctapi-cyberjack.so)e Fi(from)i(the)i(directory)396 3960 y SDict begin H.S end 396 3960 a 396 3960 a SDict begin 13 H.A end 396 3960 a 396 3960 a SDict begin [ /View [/XYZ H.V] /Dest (0:110) cvn H.B /DEST pdfmark end 396 3960 a Fh(ctapi/)f Fi(can)g(then)g(be)g (copied)f(to)h(con)m(v)o(enient)e(places.)i(F)o(or)2177 3960 y SDict begin H.S end 2177 3960 a 2177 3960 a SDict begin 13 H.A end 2177 3960 a 2177 3960 a SDict begin [ /View [/XYZ H.V] /Dest (0:111) cvn H.B /DEST pdfmark end 2177 3960 a Fh(ctapi.h)f Fi(this)i(w)o(ould)e(normally)g(be)3299 3960 y SDict begin H.S end 3299 3960 a 3299 3960 a SDict begin 13 H.A end 3299 3960 a 3299 3960 a SDict begin [ /View [/XYZ H.V] /Dest (0:112) cvn H.B /DEST pdfmark end 3299 3960 a Fh(/usr/include)396 4068 y Fi(and)h(for)f(the)i(library) 1019 4068 y SDict begin H.S end 1019 4068 a 1019 4068 a SDict begin 13 H.A end 1019 4068 a 1019 4068 a SDict begin [ /View [/XYZ H.V] /Dest (0:113) cvn H.B /DEST pdfmark end 1019 4068 a Fh(/usr/lib)p Fi(.)e(The)h(command)1917 4068 y SDict begin H.S end 1917 4068 a 1917 4068 a SDict begin 13 H.A end 1917 4068 a 1917 4068 a SDict begin [ /View [/XYZ H.V] /Dest (0:114) cvn H.B /DEST pdfmark end 1917 4068 a Fe(mak)o(e)h(install)f Fi(can)g(do)g(that)g(for)g(you.)-2 4252 y SDict begin H.S end -2 4252 a -2 4252 a SDict begin 13 H.A end -2 4252 a -2 4252 a SDict begin [ /View [/XYZ H.V] /Dest (0:115) cvn H.B /DEST pdfmark end -2 4252 a 396 4342 a Fi(The)g(name)g(scheme)1016 4342 y SDict begin H.S end 1016 4342 a 1016 4342 a SDict begin 13 H.A end 1016 4342 a 1016 4342 a SDict begin [ /View [/XYZ H.V] /Dest (0:116) cvn H.B /DEST pdfmark end 1016 4342 a Fh(libctapi-cyberjack.)1871 4355 y(*)1934 4342 y Fi(has)g(been)g (choosen)f(to)h(mak)o(e)g(it)h(possible)e(to)i(install)g(more)e(than) 396 4450 y(one)h(CT)-8 b(-API)21 b(library)e(on)g(your)g(system.)-2 4562 y SDict begin H.S end -2 4562 a -2 4562 a SDict begin 13 H.A end -2 4562 a -2 4562 a SDict begin [ /View [/XYZ H.V] /Dest (0:117) cvn H.B /DEST pdfmark end -2 4562 a Black 3842 5569 a Fg(3)p Black eop end %%Page: 4 4 TeXDict begin 4 3 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.4) cvn H.B /DEST pdfmark end -2 -102 a Black -2 -201 a SDict begin H.S end -2 -201 a -2 -201 a SDict begin 13 H.A end -2 -201 a -2 -201 a SDict begin [ /View [/XYZ H.V] /Dest (0:153) cvn H.B /DEST pdfmark end -2 -201 a 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black -2 94 a Fk(4.)39 b(Updating)f(the)h(Firmware)1714 94 y SDict begin H.S end 1714 94 a 1714 94 a SDict begin 22.464 H.A end 1714 94 a 1714 94 a SDict begin [ /View [/XYZ H.V] /Dest (0.4.1) cvn H.B /DEST pdfmark end 1714 94 a -2 292 a SDict begin H.S end -2 292 a -2 292 a SDict begin 13 H.A end -2 292 a -2 292 a SDict begin [ /View [/XYZ H.V] /Dest (0:119) cvn H.B /DEST pdfmark end -2 292 a 396 368 a Fi(The)20 b(latest)h(dri)n(v)o(er)e(contains)g(the)h(tool)g("cj\003ash")h(which)e (can)h(be)g(used)g(to)h(update)e(the)h(\002rmw)o(are)g(of)g(the)g (reader)-5 b(.)396 642 y(The)20 b(current)f(v)o(ersion)g(of)h(this)h (tool)e(only)h(supports)f(\003ashing)h(ne)n(wer)f(Cyberjack)g(de)n (vices)h(\(USB)h(product)d(id)i(0x400\).)-2 826 y SDict begin H.S end -2 826 a -2 826 a SDict begin 13 H.A end -2 826 a -2 826 a SDict begin [ /View [/XYZ H.V] /Dest (0:121) cvn H.B /DEST pdfmark end -2 826 a 396 916 a Fi(T)-7 b(o)21 b(update)e(the)h(\002rmw)o(are)g(just)g(use)h(the)f(follo)n (wing)e(command:)2294 916 y SDict begin H.S end 2294 916 a 2294 916 a SDict begin 13 H.A end 2294 916 a 2294 916 a SDict begin [ /View [/XYZ H.V] /Dest (0:122) cvn H.B /DEST pdfmark end 2294 916 a 45 w Fb(cjflash)43 b(1)i(Kernel_V30_07.bin) 396 1024 y(Kernel_V30_07.bin.ecoma.sgn)-2 1200 y SDict begin H.S end -2 1200 a -2 1200 a SDict begin 13 H.A end -2 1200 a -2 1200 a SDict begin [ /View [/XYZ H.V] /Dest (0:123) cvn H.B /DEST pdfmark end -2 1200 a 396 1298 a Fi(The)20 b(\002rst)h(ar)o(gument)d(is)j(the)f(number)f(of)h(the)g(de)n (vice)f(\(starting)h(with)g("1",)g(the)g(second)f(reader)g(w)o(ould)h (be)g("2"\).)f(The)396 1406 y(ne)o(xt)h(ar)o(gument)e(is)j(the)f(name)f (of)h(the)h(\002le)f(containing)f(the)h(ne)n(w)g(\002rmw)o(are,)f (follo)n(wed)g(by)h(the)g(name)g(of)g(the)g(\002le)396 1514 y(containing)f(the)h(signature)f(of)h(the)g(ne)n(w)g(\002rmw)o (are.)-2 1698 y SDict begin H.S end -2 1698 a -2 1698 a SDict begin 13 H.A end -2 1698 a -2 1698 a SDict begin [ /View [/XYZ H.V] /Dest (0:124) cvn H.B /DEST pdfmark end -2 1698 a 396 1788 a Fi(After)g(this)h(command)d(has)j(been)e(issued) h(the)h(reader)e(asks)h(you)g(to)g(con\002rm)f(the)h(operation)f (\(press)h("OK")g(on)g(the)396 1896 y(reader')-5 b(s)20 b(k)o(e)o(ypad)e(to)j(con\002rm)e(or)h("CANCEL")g(to)g(abort\).)-2 2080 y SDict begin H.S end -2 2080 a -2 2080 a SDict begin 13 H.A end -2 2080 a -2 2080 a SDict begin [ /View [/XYZ H.V] /Dest (0:125) cvn H.B /DEST pdfmark end -2 2080 a 396 2170 a Fi(If)g(the)h(reader)e(hangs)g(after)h(you)f(pressed)h ("OK")g(then)g(it)h(has)f(an)h(old)e(\002rmw)o(are.)h(In)g(that)g(case) h(you')o(ll)e(ha)n(v)o(e)g(to)i(use)f(a)396 2278 y(slightly)g (modi\002ed)f(v)o(ersion)g(of)h(the)g(command)e(abo)o(v)o(e:)2046 2278 y SDict begin H.S end 2046 2278 a 2046 2278 a SDict begin 13 H.A end 2046 2278 a 2046 2278 a SDict begin [ /View [/XYZ H.V] /Dest (0:126) cvn H.B /DEST pdfmark end 2046 2278 a 45 w Fb(CJ_USB_MODE=1)42 b(cjflash)i(1)396 2386 y(Kernel_V30_07.bin)e(Kernel_V30_07.bin.ecoma.sgn)-2 2562 y SDict begin H.S end -2 2562 a -2 2562 a SDict begin 13 H.A end -2 2562 a -2 2562 a SDict begin [ /View [/XYZ H.V] /Dest (0:127) cvn H.B /DEST pdfmark end -2 2562 a 396 2659 a Fi(This)21 b(sets)g(the)f(en)m(vironment)d(v)n(ariable)i ("CJ_USB_MODE")h(to)h(the)f(v)n(alue)f("1")h(prior)g(to)g(e)o(x)o (ecuting)e(the)i(command.)396 2767 y(This)h(tells)g(the)f(dri)n(v)o(er) f(\(which)g(is)i(used)f(by)g(cj\003ash\))g(that)g(another)f(approach)f (to)i(the)h(reader)e(is)i(needed.)-2 2951 y SDict begin H.S end -2 2951 a -2 2951 a SDict begin 13 H.A end -2 2951 a -2 2951 a SDict begin [ /View [/XYZ H.V] /Dest (0:128) cvn H.B /DEST pdfmark end -2 2951 a 396 3041 a Fi(Please)g(only)f (set)g(that)h(v)n(ariable)e(if)h(the)h(tool)e(doesn')o(t)g(w)o(ork)h (otherwise!)-2 3070 y SDict begin H.S end -2 3070 a -2 3070 a SDict begin 13 H.A end -2 3070 a -2 3070 a SDict begin [ /View [/XYZ H.V] /Dest (0:129) cvn H.B /DEST pdfmark end -2 3070 a 359 x Fk(5.)39 b(Suppor)s(t)712 3429 y SDict begin H.S end 712 3429 a 712 3429 a SDict begin 22.464 H.A end 712 3429 a 712 3429 a SDict begin [ /View [/XYZ H.V] /Dest (0.5.1) cvn H.B /DEST pdfmark end 712 3429 a -2 3625 a SDict begin H.S end -2 3625 a -2 3625 a SDict begin 13 H.A end -2 3625 a -2 3625 a SDict begin [ /View [/XYZ H.V] /Dest (0:131) cvn H.B /DEST pdfmark end -2 3625 a 396 3703 a Fi(Support)19 b(of)h(this)h(dri)n(v)o(er)d(is)j(pro)o (vided)d(by)i(REINER)g(SCT)-6 b(.)21 b(E-mail:)f(support@reiner)n (-sct.com)d(Postal)j(address:)396 3811 y(Schw)o(abacher)f(Str)-5 b(.)21 b(34,)e(90762)f(F\374rth,)i(GERMANY)-2 3989 y SDict begin H.S end -2 3989 a -2 3989 a SDict begin 13 H.A end -2 3989 a -2 3989 a SDict begin [ /View [/XYZ H.V] /Dest (0:132) cvn H.B /DEST pdfmark end -2 3989 a 396 4085 a Fi(In)g(your)f(problem)g(description,)f(please)i(include)f(as)i (f)o(ar)f(as)h(possible:)-2 4103 y SDict begin H.S end -2 4103 a -2 4103 a SDict begin 13 H.A end -2 4103 a -2 4103 a SDict begin [ /View [/XYZ H.V] /Dest (0:133) cvn H.B /DEST pdfmark end -2 4103 a -2 4113 a SDict begin H.S end -2 4113 a -2 4113 a SDict begin 13 H.A end -2 4113 a -2 4113 a SDict begin [ /View [/XYZ H.V] /Dest (0:134) cvn H.B /DEST pdfmark end -2 4113 a Black 396 4255 a Fc(\225)p Black 479 4255 a SDict begin H.S end 479 4255 a 479 4255 a SDict begin 13 H.A end 479 4255 a 479 4255 a SDict begin [ /View [/XYZ H.V] /Dest (0:135) cvn H.B /DEST pdfmark end 479 4255 a Fi(An)o(y)f(error)f(messages)h(you)f(get.) -2 4273 y SDict begin H.S end -2 4273 a -2 4273 a SDict begin 13 H.A end -2 4273 a -2 4273 a SDict begin [ /View [/XYZ H.V] /Dest (0:136) cvn H.B /DEST pdfmark end -2 4273 a Black 396 4404 a Fc(\225)p Black 479 4404 a SDict begin H.S end 479 4404 a 479 4404 a SDict begin 13 H.A end 479 4404 a 479 4404 a SDict begin [ /View [/XYZ H.V] /Dest (0:137) cvn H.B /DEST pdfmark end 479 4404 a Fi(Which)h(Linux)f (distrib)n(ution)g(you)h(use)g(including)f(v)o(ersion,)f(e.g.)i(SuSE)g (10.1,)f(Debian)h(3.0r1)e(testing,)i(...)-2 4422 y SDict begin H.S end -2 4422 a -2 4422 a SDict begin 13 H.A end -2 4422 a -2 4422 a SDict begin [ /View [/XYZ H.V] /Dest (0:138) cvn H.B /DEST pdfmark end -2 4422 a Black 396 4554 a Fc(\225)p Black 479 4554 a SDict begin H.S end 479 4554 a 479 4554 a SDict begin 13 H.A end 479 4554 a 479 4554 a SDict begin [ /View [/XYZ H.V] /Dest (0:139) cvn H.B /DEST pdfmark end 479 4554 a Fi(CPU)i(type,)d(e.g.)h(on)f (Linux)h(the)g(content)f(of)h(the)g(\002le)2036 4554 y SDict begin H.S end 2036 4554 a 2036 4554 a SDict begin 13 H.A end 2036 4554 a 2036 4554 a SDict begin [ /View [/XYZ H.V] /Dest (0:140) cvn H.B /DEST pdfmark end 2036 4554 a Fh(/proc/cpuinfo)p Fi(.)-2 4572 y SDict begin H.S end -2 4572 a -2 4572 a SDict begin 13 H.A end -2 4572 a -2 4572 a SDict begin [ /View [/XYZ H.V] /Dest (0:141) cvn H.B /DEST pdfmark end -2 4572 a Black 396 4703 a Fc(\225)p Black 479 4703 a SDict begin H.S end 479 4703 a 479 4703 a SDict begin 13 H.A end 479 4703 a 479 4703 a SDict begin [ /View [/XYZ H.V] /Dest (0:142) cvn H.B /DEST pdfmark end 479 4703 a Fi(K)n(ernel)g(v)o(ersion,)f(e.g.)g(on)h (Linux)f(the)h(output)f(from)g(the)i(command)2480 4703 y SDict begin H.S end 2480 4703 a 2480 4703 a SDict begin 13 H.A end 2480 4703 a 2480 4703 a SDict begin [ /View [/XYZ H.V] /Dest (0:143) cvn H.B /DEST pdfmark end 2480 4703 a Fe(uname)f(-r)p Fi(.)-2 4721 y SDict begin H.S end -2 4721 a -2 4721 a SDict begin 13 H.A end -2 4721 a -2 4721 a SDict begin [ /View [/XYZ H.V] /Dest (0:144) cvn H.B /DEST pdfmark end -2 4721 a Black 396 4853 a Fc(\225)p Black 479 4853 a SDict begin H.S end 479 4853 a 479 4853 a SDict begin 13 H.A end 479 4853 a 479 4853 a SDict begin [ /View [/XYZ H.V] /Dest (0:145) cvn H.B /DEST pdfmark end 479 4853 a Fi(List)h(of)f(attached)g(USB)h(de)n(vices,)e(e.g.)h (on)g(Linux)f(the)h(output)f(of)h(the)2518 4853 y SDict begin H.S end 2518 4853 a 2518 4853 a SDict begin 13 H.A end 2518 4853 a 2518 4853 a SDict begin [ /View [/XYZ H.V] /Dest (0:146) cvn H.B /DEST pdfmark end 2518 4853 a Fe(lsusb)i Fi(command.)-2 4912 y SDict begin H.S end -2 4912 a -2 4912 a SDict begin 13 H.A end -2 4912 a -2 4912 a SDict begin [ /View [/XYZ H.V] /Dest (0:147) cvn H.B /DEST pdfmark end -2 4912 a Black 3842 5569 a Fg(4)p Black eop end %%Page: 5 5 TeXDict begin 5 4 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.5) cvn H.B /DEST pdfmark end -2 -102 a Black 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black -2 94 a Fk(6.)39 b(T)-11 b(r)m(oub)o(leshooting)1278 94 y SDict begin H.S end 1278 94 a 1278 94 a SDict begin 22.464 H.A end 1278 94 a 1278 94 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.1) cvn H.B /DEST pdfmark end 1278 94 a -2 126 a SDict begin H.S end -2 126 a -2 126 a SDict begin 13 H.A end -2 126 a -2 126 a SDict begin [ /View [/XYZ H.V] /Dest (0:149) cvn H.B /DEST pdfmark end -2 126 a 396 422 a Fd(6.1.)35 b(Ho)n(w)f(to)f(c)o(hec)n(k)h(the)g(kernel)g(ver)n(sion)2447 422 y SDict begin H.S end 2447 422 a 2447 422 a SDict begin 18.72 H.A end 2447 422 a 2447 422 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.4.2) cvn H.B /DEST pdfmark end 2447 422 a -2 590 a SDict begin H.S end -2 590 a -2 590 a SDict begin 13 H.A end -2 590 a -2 590 a SDict begin [ /View [/XYZ H.V] /Dest (0:151) cvn H.B /DEST pdfmark end -2 590 a 396 696 a Fi(Y)-9 b(ou)20 b(can)g(determine)f(the)h(v)o(ersion)f (of)h(the)g(currently)e(running)g(k)o(ernel)i(by)g(e)o(x)o(ecuting)2910 696 y SDict begin H.S end 2910 696 a 2910 696 a SDict begin 13 H.A end 2910 696 a 2910 696 a SDict begin [ /View [/XYZ H.V] /Dest (0:152) cvn H.B /DEST pdfmark end 2910 696 a Fb(uname)44 b(-r)396 970 y Fi(The)20 b(v)o(ersion)f(of)h(the)g (installed)g(k)o(ernel)g(sources,)f(which)h(are)g(normally)e(located)i (belo)n(w)g Fh(/usr/src)p Fi(,)f(can)h(be)396 1078 y(determined)f(by)g (looking)g(at)h(the)h(source)e(directory)g(name)g(or)h(by)g(looking)e (into)i(the)g(main)g(Mak)o(e\002le,)g(where)g(it)h(is)g(in)396 1186 y(the)f(\002rst)h(three)f(lines.)-2 1197 y SDict begin H.S end -2 1197 a -2 1197 a SDict begin 13 H.A end -2 1197 a -2 1197 a SDict begin [ /View [/XYZ H.V] /Dest (0:155) cvn H.B /DEST pdfmark end -2 1197 a 396 1524 a Fd(6.2.)35 b(Lar)n(g)q(e)f(n)o(umber)g(of)f(reader)n(s)2033 1524 y SDict begin H.S end 2033 1524 a 2033 1524 a SDict begin 18.72 H.A end 2033 1524 a 2033 1524 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.5.2) cvn H.B /DEST pdfmark end 2033 1524 a -2 1717 a SDict begin H.S end -2 1717 a -2 1717 a SDict begin 13 H.A end -2 1717 a -2 1717 a SDict begin [ /View [/XYZ H.V] /Dest (0:157) cvn H.B /DEST pdfmark end -2 1717 a 396 1798 a Fi(The)20 b(c)o(yberJack)f(has)h(been)f (tested)i(with)f(up)g(to)g(52)g(de)n(vices)g(attached)f(simultaneously) g(to)h(a)h(single)f(PC)h(via)f(7-port)396 1906 y(hubs.)g(Some)f(notes)h (re)o(garding)e(this)i(con\002guration:)-2 1924 y SDict begin H.S end -2 1924 a -2 1924 a SDict begin 13 H.A end -2 1924 a -2 1924 a SDict begin [ /View [/XYZ H.V] /Dest (0:158) cvn H.B /DEST pdfmark end -2 1924 a -2 1934 a SDict begin H.S end -2 1934 a -2 1934 a SDict begin 13 H.A end -2 1934 a -2 1934 a SDict begin [ /View [/XYZ H.V] /Dest (0:159) cvn H.B /DEST pdfmark end -2 1934 a Black 396 2077 a Fc(\225)p Black 479 2077 a SDict begin H.S end 479 2077 a 479 2077 a SDict begin 13 H.A end 479 2077 a 479 2077 a SDict begin [ /View [/XYZ H.V] /Dest (0:160) cvn H.B /DEST pdfmark end 479 2077 a Fi(Linux)f(at)i(least)g(up)f (to)g(2.4.19)e(does)i(result)h(in)f(a)h(k)o(ernel)e(panic,)g(when)h (too)g(man)o(y)f(de)n(vices)g(are)h(attached.)g(Kno)n(wn)479 2185 y(to)h(w)o(ork)e(is)i(2.4.20.)-2 2186 y SDict begin H.S end -2 2186 a -2 2186 a SDict begin 13 H.A end -2 2186 a -2 2186 a SDict begin [ /View [/XYZ H.V] /Dest (0:161) cvn H.B /DEST pdfmark end -2 2186 a Black 396 2334 a Fc(\225)p Black 479 2334 a SDict begin H.S end 479 2334 a 479 2334 a SDict begin 13 H.A end 479 2334 a 479 2334 a SDict begin [ /View [/XYZ H.V] /Dest (0:162) cvn H.B /DEST pdfmark end 479 2334 a Fi(Sometimes)f(timeouts)g(occur)f (resulting)g(in)i(a)f(shift)h(of)f(the)g(T=1)g(blocks)f(resulting)g(in) i(bad)e(performance)f(and)479 2442 y(sooner)h(or)h(later)h(a)f(f)o (ailure)g(of)g(communcation.)d(The)j(problem)e(seems)j(to)f(lie)h(some) n(where)e(in)h(the)g(usb-uhci)f(part)479 2550 y(and)h(v)n(anishes)g (with)g(a)h(f)o(aster)f(PC.)h(\(T)m(ry)e(>2GHz\))-2 2568 y SDict begin H.S end -2 2568 a -2 2568 a SDict begin 13 H.A end -2 2568 a -2 2568 a SDict begin [ /View [/XYZ H.V] /Dest (0:163) cvn H.B /DEST pdfmark end -2 2568 a Black 396 2699 a Fc(\225)p Black 479 2699 a SDict begin H.S end 479 2699 a 479 2699 a SDict begin 13 H.A end 479 2699 a 479 2699 a SDict begin [ /View [/XYZ H.V] /Dest (0:164) cvn H.B /DEST pdfmark end 479 2699 a Fi(If)h(there)g(are)g(still)i (some)e(problems)e(try)i(other)g(hubs)f(and)h(other)f(USB)i(host)g (controller)d(cards.)i(There)f(seems)i(to)f(be)479 2807 y(a)h(great)f(dif)n(ference)e(in)i(quality)g(in)g(these)g(parts.)-2 2991 y SDict begin H.S end -2 2991 a -2 2991 a SDict begin 13 H.A end -2 2991 a -2 2991 a SDict begin [ /View [/XYZ H.V] /Dest (0:165) cvn H.B /DEST pdfmark end -2 2991 a 396 3081 a Fi(The)g(performance)d(does)j(not)g(de)o(grade,)e(when)i (going)f(from)g(1)h(up)g(to)g(50)g(readers,)f(e)n(v)o(en)g(when)h (doing)f(constant)g(I/O)396 3189 y(with)i(cards.)e(\(Select)i(and)e (Read)i(Binary\))-2 3217 y SDict begin H.S end -2 3217 a -2 3217 a SDict begin 13 H.A end -2 3217 a -2 3217 a SDict begin [ /View [/XYZ H.V] /Dest (0:166) cvn H.B /DEST pdfmark end -2 3217 a 396 3528 a Fd(6.3.)35 b(Hotplug)o(ging)1331 3528 y SDict begin H.S end 1331 3528 a 1331 3528 a SDict begin 18.72 H.A end 1331 3528 a 1331 3528 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.6.2) cvn H.B /DEST pdfmark end 1331 3528 a -2 3720 a SDict begin H.S end -2 3720 a -2 3720 a SDict begin 13 H.A end -2 3720 a -2 3720 a SDict begin [ /View [/XYZ H.V] /Dest (0:168) cvn H.B /DEST pdfmark end -2 3720 a 396 3802 a Fi(Linux)19 b(supports)g(hotplugging)f (with)i(USB)h(de)n(vices.)f(This)g(is)h(implemented)d(via)j(the)f(ude)n (v-system.)-2 3986 y SDict begin H.S end -2 3986 a -2 3986 a SDict begin 13 H.A end -2 3986 a -2 3986 a SDict begin [ /View [/XYZ H.V] /Dest (0:169) cvn H.B /DEST pdfmark end -2 3986 a 396 4076 a Fi(Y)-9 b(ou)20 b(can)g(\002nd)g(some)g (ude)n(v)f(scripts)h(for)g(the)g(REINER)h(SCT)g(c)o(yberjack)d(reader)h (f)o(amily)h(in)g(the)3198 4076 y SDict begin H.S end 3198 4076 a 3198 4076 a SDict begin 13 H.A end 3198 4076 a 3198 4076 a SDict begin [ /View [/XYZ H.V] /Dest (0:170) cvn H.B /DEST pdfmark end 3198 4076 a Fh(etc/udev)g Fi(directory)396 4183 y(of)g(this)h(archi)n(v)o(e.)-2 4350 y SDict begin H.S end -2 4350 a -2 4350 a SDict begin 13 H.A end -2 4350 a -2 4350 a SDict begin [ /View [/XYZ H.V] /Dest (0:171) cvn H.B /DEST pdfmark end -2 4350 a 396 4457 a Fi(Since)e(ude)n (v-related)d(scripts)k(are)e(highly)g(distrib)n(ution)f(speci\002c,)i (REINER)g(SCT)h(can)f(only)f(pro)o(vide)e(limited)j(support)396 4565 y(in)i(this)f(area.)g(The)g(pro)o(vided)e(RPM)j(and)e(Debian)h (packages)f(install)i(those)f(scripts)g(to)g(their)g(respecti)n(v)o(e)f (places.)-2 4594 y SDict begin H.S end -2 4594 a -2 4594 a SDict begin 13 H.A end -2 4594 a -2 4594 a SDict begin [ /View [/XYZ H.V] /Dest (0:172) cvn H.B /DEST pdfmark end -2 4594 a Black 3842 5569 a Fg(5)p Black eop end %%Page: 6 6 TeXDict begin 6 5 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.6) cvn H.B /DEST pdfmark end -2 -102 a Black -2 -201 a SDict begin H.S end -2 -201 a -2 -201 a SDict begin 13 H.A end -2 -201 a -2 -201 a SDict begin [ /View [/XYZ H.V] /Dest (0:195) cvn H.B /DEST pdfmark end -2 -201 a 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black 396 77 a Fd(6.4.)35 b(Log)o(ging)1099 77 y SDict begin H.S end 1099 77 a 1099 77 a SDict begin 18.72 H.A end 1099 77 a 1099 77 a SDict begin [ /View [/XYZ H.V] /Dest (0.6.7.2) cvn H.B /DEST pdfmark end 1099 77 a -2 269 a SDict begin H.S end -2 269 a -2 269 a SDict begin 13 H.A end -2 269 a -2 269 a SDict begin [ /View [/XYZ H.V] /Dest (0:174) cvn H.B /DEST pdfmark end -2 269 a 396 351 a Fi(The)20 b(c)o(yberjack)e(CT)-8 b(-API)21 b(library)e(supports)g(logging)g(of)h(the)g(communication)d (with)j(the)h(reader)-5 b(.)19 b(This)h(is)h(done,)e(if)i(at)396 459 y(the)f(moment)811 459 y SDict begin H.S end 811 459 a 811 459 a SDict begin 13 H.A end 811 459 a 811 459 a SDict begin [ /View [/XYZ H.V] /Dest (0:175) cvn H.B /DEST pdfmark end 811 459 a Fh(CT_init)g Fi(is)h(called)f(the)g(en)m (vironment)d(v)n(ariable)2286 459 y SDict begin H.S end 2286 459 a 2286 459 a SDict begin 13 H.A end 2286 459 a 2286 459 a SDict begin [ /View [/XYZ H.V] /Dest (0:176) cvn H.B /DEST pdfmark end 2286 459 a Fi(CJDEB)o(UG)22 b(e)o(xists.)e(The) g(def)o(ault)g(output)f(\002le)i(is)396 566 y SDict begin H.S end 396 566 a 396 566 a SDict begin 13 H.A end 396 566 a 396 566 a SDict begin [ /View [/XYZ H.V] /Dest (0:177) cvn H.B /DEST pdfmark end 396 566 a Fh(/tmp/cj.log)p Fi(.)e(The)h(logging)e(is)j(done)f(on)f(T=1)h(le)n(v)o(el)g(and)g(each) f(entry)h(be)o(gins)f(with)h(a)h(time)f(stamp.)-2 678 y SDict begin H.S end -2 678 a -2 678 a SDict begin 13 H.A end -2 678 a -2 678 a SDict begin [ /View [/XYZ H.V] /Dest (0:178) cvn H.B /DEST pdfmark end -2 678 a 359 x Fk(7.)39 b(Kno)n(wn)f(Issues)1121 1037 y SDict begin H.S end 1121 1037 a 1121 1037 a SDict begin 22.464 H.A end 1121 1037 a 1121 1037 a SDict begin [ /View [/XYZ H.V] /Dest (0.7.1) cvn H.B /DEST pdfmark end 1121 1037 a -2 1205 a SDict begin H.S end -2 1205 a -2 1205 a SDict begin 13 H.A end -2 1205 a -2 1205 a SDict begin [ /View [/XYZ H.V] /Dest (0:180) cvn H.B /DEST pdfmark end -2 1205 a 396 1311 a Fi(Unfortunately)-5 b(,)17 b(all)k(Linux)e(k)o(ernel)g(v)o (ersions,)g(at)i(least)g(up)f(to)g(\(including\))e(2.6.12-rc5)f(ha)n(v) o(e)i(a)i(se)n(v)o(ere)e(b)n(ug)h(in)g(the)396 1419 y(handling)e(of)i (asynchronous)d(URB')-5 b(s)22 b(\(USB)f(Request)f(Blocks\))g(in)g (userspace.)f(This)h(b)n(ug)f(is)i(totally)f(unrelated)f(to)h(the)396 1527 y(REINER-SCT)h(c)o(yberjack)d(dri)n(v)o(er)m(,)g(b)n(ut)i(it)h (will)g(sho)n(w)f(as)h(soon)f(as)g(the)h(PC/SC)h(daemon)c(terminates)i (\(and)f(you')l(re)396 1635 y(using)h(a)h(pinpad_a)d(\(0x300\))f (reader)-5 b(.)20 b(The)f(b)n(ug)h(can)g(crash)g(your)f(k)o(ernel)g (:\(.)-2 1819 y SDict begin H.S end -2 1819 a -2 1819 a SDict begin 13 H.A end -2 1819 a -2 1819 a SDict begin [ /View [/XYZ H.V] /Dest (0:181) cvn H.B /DEST pdfmark end -2 1819 a 396 1909 a Fi(A)i(b)n(ug\002x)e(has)i(been)e(de)n(v)o (eloped)f(\(b)n(ut)i(not)g(yet)g(included)e(into)i(the)h(mainline)e(k)o (ernel\).)g(It)h(is)h(a)n(v)n(ailable)f(as)h(k)o(ernel)396 2017 y(patch)f(in)g('patches/usb-async_urb-de)n(vio)o(-o)o(op)o (s-\002x.p)o(atch)o('.)-2 2201 y SDict begin H.S end -2 2201 a -2 2201 a SDict begin 13 H.A end -2 2201 a -2 2201 a SDict begin [ /View [/XYZ H.V] /Dest (0:182) cvn H.B /DEST pdfmark end -2 2201 a 396 2291 a Fi(It)h(is)g(strongly)e (recommended)e(to)j(apply)f(this)i(k)o(ernel)f(patch)f(if)i(you)e (intend)g(to)i(use)f(the)g(PC/SC)i(dri)n(v)o(er)-5 b(.)-2 2319 y SDict begin H.S end -2 2319 a -2 2319 a SDict begin 13 H.A end -2 2319 a -2 2319 a SDict begin [ /View [/XYZ H.V] /Dest (0:183) cvn H.B /DEST pdfmark end -2 2319 a 359 x Fk(8.)39 b(Ad)o(ditional)e(Inf)m(ormation)1686 2678 y SDict begin H.S end 1686 2678 a 1686 2678 a SDict begin 22.464 H.A end 1686 2678 a 1686 2678 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.1) cvn H.B /DEST pdfmark end 1686 2678 a -2 2680 a SDict begin H.S end -2 2680 a -2 2680 a SDict begin 13 H.A end -2 2680 a -2 2680 a SDict begin [ /View [/XYZ H.V] /Dest (0:185) cvn H.B /DEST pdfmark end -2 2680 a 396 3006 a Fd(8.1.)e(Beeping)g(at)e(K)n(e)n(ypress) 1805 3006 y SDict begin H.S end 1805 3006 a 1805 3006 a SDict begin 18.72 H.A end 1805 3006 a 1805 3006 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.8.2) cvn H.B /DEST pdfmark end 1805 3006 a -2 3199 a SDict begin H.S end -2 3199 a -2 3199 a SDict begin 13 H.A end -2 3199 a -2 3199 a SDict begin [ /View [/XYZ H.V] /Dest (0:187) cvn H.B /DEST pdfmark end -2 3199 a 396 3280 a Fi(Starting)20 b(with)g(V)-9 b(ersion)19 b(2.0.5)f(of)i(ctapi-c)o(yberjack,)c(the)k(host)g(PC)h (will)f(emit)g(a)h(beep)e(sound)f(at)j(e)n(v)o(ery)d(k)o(e)o(y)h (press.)h(The)396 3388 y(dri)n(v)o(er)f(tries)i(to)f(detect)g(the)g (best)h(mechanism)e(for)g(beeping)g(by)h(itself,)g(i.e.)g(xBell)h(when) f(you)f(run)g(under)g(X11,)h(or)396 3496 y(sending)f(a)i(BEL)f(ASCII)h (character)e(to)h(STDOUT)h(when)e(running)f(as)j(a)g(console)e (application.)-2 3680 y SDict begin H.S end -2 3680 a -2 3680 a SDict begin 13 H.A end -2 3680 a -2 3680 a SDict begin [ /View [/XYZ H.V] /Dest (0:188) cvn H.B /DEST pdfmark end -2 3680 a 396 3770 a Fi(If)h(you)g(w)o(ant)g(to)g(disable)g (the)g(beep,)g(you)f(can)h(set)h(the)1977 3770 y SDict begin H.S end 1977 3770 a 1977 3770 a SDict begin 13 H.A end 1977 3770 a 1977 3770 a SDict begin [ /View [/XYZ H.V] /Dest (0:189) cvn H.B /DEST pdfmark end 1977 3770 a Fh(CJCTAPI_NO_KEYBEEP)d Fi(en)m(vironment)f(v)n(ariable)i(before)396 3878 y(starting)h(your)f(application.)-2 4062 y SDict begin H.S end -2 4062 a -2 4062 a SDict begin 13 H.A end -2 4062 a -2 4062 a SDict begin [ /View [/XYZ H.V] /Dest (0:190) cvn H.B /DEST pdfmark end -2 4062 a 396 4152 a Fi(Depending)f(on)i(your)f(shell,)h(this)h(can)f(be)g(achie)n(v)o(ed)f (with)h(a)h(command)d(lik)o(e)2663 4152 y SDict begin H.S end 2663 4152 a 2663 4152 a SDict begin 13 H.A end 2663 4152 a 2663 4152 a SDict begin [ /View [/XYZ H.V] /Dest (0:191) cvn H.B /DEST pdfmark end 2663 4152 a Fe(export)396 4260 y(CJCT)-7 b(API_NO_KEYPRESS)p Fi(.)-2 4281 y SDict begin H.S end -2 4281 a -2 4281 a SDict begin 13 H.A end -2 4281 a -2 4281 a SDict begin [ /View [/XYZ H.V] /Dest (0:192) cvn H.B /DEST pdfmark end -2 4281 a 396 4598 a Fd(8.2.)35 b(Mandator)q(y)f(loc)n(king)1683 4598 y SDict begin H.S end 1683 4598 a 1683 4598 a SDict begin 18.72 H.A end 1683 4598 a 1683 4598 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.9.2) cvn H.B /DEST pdfmark end 1683 4598 a -2 4791 a SDict begin H.S end -2 4791 a -2 4791 a SDict begin 13 H.A end -2 4791 a -2 4791 a SDict begin [ /View [/XYZ H.V] /Dest (0:194) cvn H.B /DEST pdfmark end -2 4791 a 396 4872 a Fi(Normal)20 b(locking)e(is)k(only)d(advisory)-5 b(,)18 b(i.e.)i(the)g(programs)f(must)h(be)g(cooperati)n(v)o(e)e(to)i (do)g(the)g(locking)f(properly)-5 b(.)17 b(A)396 4980 y(non-cooperati)n(v)o(e)f(program)i(can)h(ignore)g(a)h(lock)g(and)f (access)i(the)f(reader)-5 b(.)19 b(Mandatory)f(locking,)g(which)h (stops)h(e)n(v)o(en)f(a)p Black 3840 5569 a Fg(6)p Black eop end %%Page: 7 7 TeXDict begin 7 6 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.7) cvn H.B /DEST pdfmark end -2 -102 a Black 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black 396 72 a Fi(malicious)g (program)e(from)h(access)i(the)f(reader)f(when)h(it)h(is)g(lock)o(ed,)e (requires)g(setting)h(special)g(permissions)g(of)g(the)396 180 y(de)n(vice)g(node.)396 454 y(From)g Fh (linux/Documentation/mandatory.txt)p Fi(:)2120 454 y SDict begin H.S end 2120 454 a 2120 454 a SDict begin 13 H.A end 2120 454 a 2120 454 a SDict begin [ /View [/XYZ H.V] /Dest (0:197) cvn H.B /DEST pdfmark end 2120 454 a Fi(\223)h(A)g(\002le)f(is)i(mark)o(ed)c(as)j(a)g(candidate)e(for)g (mandatory)396 562 y(locking)g(by)h(setting)g(the)g(group-id)e(bit)i (in)h(its)g(\002le)g(mode)e(b)n(ut)h(remo)o(ving)e(the)i(group-e)o(x)o (ecute)c(bit.)k(This)h(is)g(an)396 670 y(otherwise)f(meaningless)f (combination,)f(and)h(w)o(as)i(chosen)f(by)f(the)i(System)f(V)h (implementors)d(so)i(as)h(not)f(to)h(break)396 778 y(e)o(xisting)f (user)g(programs.)e(\224)-2 807 y SDict begin H.S end -2 807 a -2 807 a SDict begin 13 H.A end -2 807 a -2 807 a SDict begin [ /View [/XYZ H.V] /Dest (0:198) cvn H.B /DEST pdfmark end -2 807 a 396 1117 a Fd(8.3.)35 b(P)l(ermissions)1334 1117 y SDict begin H.S end 1334 1117 a 1334 1117 a SDict begin 18.72 H.A end 1334 1117 a 1334 1117 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.10.2) cvn H.B /DEST pdfmark end 1334 1117 a -2 1284 a SDict begin H.S end -2 1284 a -2 1284 a SDict begin 13 H.A end -2 1284 a -2 1284 a SDict begin [ /View [/XYZ H.V] /Dest (0:200) cvn H.B /DEST pdfmark end -2 1284 a 396 1391 a Fi(If)20 b(a)h(normal)e(user)h(should)f (be)h(able)g(to)h(access)f(and)g(use)h(the)f(c)o(yberJack)e(chipcard)h (reader)m(,)f(the)j(permissions)e(should)396 1499 y(be)h('2666'.)e(The) i('2')g(enables)f(the)i(mandatory)c(locking)i(described)g(in)h(the)h (section)f(before.)e(The)i('666')f(enables)396 1606 y(read/write)h(for) f(all)i(users.)-2 1617 y SDict begin H.S end -2 1617 a -2 1617 a SDict begin 13 H.A end -2 1617 a -2 1617 a SDict begin [ /View [/XYZ H.V] /Dest (0:201) cvn H.B /DEST pdfmark end -2 1617 a 396 1945 a Fd(8.4.)35 b(CT)-14 b(-API)1013 1945 y SDict begin H.S end 1013 1945 a 1013 1945 a SDict begin 18.72 H.A end 1013 1945 a 1013 1945 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.11.2) cvn H.B /DEST pdfmark end 1013 1945 a -2 2112 a SDict begin H.S end -2 2112 a -2 2112 a SDict begin 13 H.A end -2 2112 a -2 2112 a SDict begin [ /View [/XYZ H.V] /Dest (0:203) cvn H.B /DEST pdfmark end -2 2112 a 396 2219 a Fi(The)20 b(CT)-8 b(-API)21 b(speci\002cation)e(can)h(be)g(do)n(wnloaded)e(at) 2007 2219 y SDict begin H.S end 2007 2219 a 2007 2219 a SDict begin 13 H.A end 2007 2219 a 2007 2219 a SDict begin [ /View [/XYZ H.V] /Dest (0:204) cvn H.B /DEST pdfmark end 2007 2219 a Fi(http://www)-5 b (.darmstadt.gmd.de/~eckstein/CT/mk)o(t.htm)o(l)-2 2403 y SDict begin H.S end -2 2403 a -2 2403 a SDict begin 13 H.A end -2 2403 a -2 2403 a SDict begin [ /View [/XYZ H.V] /Dest (0:205) cvn H.B /DEST pdfmark end -2 2403 a 396 2493 a Fi(Please)21 b(note,)f(that)g(the)g(port)g(numbers)e(start)j (with)f(one.)g(This)g(beha)n(viour)e(is)j(speci\002ed)f(in)h(the)f(CT) -8 b(-API)396 2601 y(documentation.)-2 2612 y SDict begin H.S end -2 2612 a -2 2612 a SDict begin 13 H.A end -2 2612 a -2 2612 a SDict begin [ /View [/XYZ H.V] /Dest (0:206) cvn H.B /DEST pdfmark end -2 2612 a 396 2939 a Fd(8.5.)35 b(PC/SC)994 2939 y SDict begin H.S end 994 2939 a 994 2939 a SDict begin 18.72 H.A end 994 2939 a 994 2939 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.12.2) cvn H.B /DEST pdfmark end 994 2939 a -2 3107 a SDict begin H.S end -2 3107 a -2 3107 a SDict begin 13 H.A end -2 3107 a -2 3107 a SDict begin [ /View [/XYZ H.V] /Dest (0:208) cvn H.B /DEST pdfmark end -2 3107 a 396 3213 a Fi(This)21 b(dri)n(v)o(er)d(package)h(no)n(w)h(contains)f(a)i(w)o(orking)d(PC/SC)k (dri)n(v)o(er)d(for)h(pcsc-lite.)f(The)h(dri)n(v)o(er)f(w)o(as)i (tested)f(with)396 3321 y(pcsc-lite-1.2.0)e(up)i(to)g(1.3.1.)-2 3339 y SDict begin H.S end -2 3339 a -2 3339 a SDict begin 13 H.A end -2 3339 a -2 3339 a SDict begin [ /View [/XYZ H.V] /Dest (0:209) cvn H.B /DEST pdfmark end -2 3339 a 396 3608 a Fj(8.5.1.)28 b(Installation)1199 3608 y SDict begin H.S end 1199 3608 a 1199 3608 a SDict begin 15.6 H.A end 1199 3608 a 1199 3608 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.12.1.3) cvn H.B /DEST pdfmark end 1199 3608 a -2 3776 a SDict begin H.S end -2 3776 a -2 3776 a SDict begin 13 H.A end -2 3776 a -2 3776 a SDict begin [ /View [/XYZ H.V] /Dest (0:211) cvn H.B /DEST pdfmark end -2 3776 a 396 3882 a Fi(If)20 b(you')l(re)f(installing)g(the)i(dri)n (v)o(er)d(via)j(a)f(pre-b)n(uilt)f(RPM)i(package,)e(mak)o(e)h(sure)g (you)f(install)i(the)396 3990 y("ctapi-c)o(yberjack-ifd-handle)o(r")15 b(package.)-2 4174 y SDict begin H.S end -2 4174 a -2 4174 a SDict begin 13 H.A end -2 4174 a -2 4174 a SDict begin [ /View [/XYZ H.V] /Dest (0:212) cvn H.B /DEST pdfmark end -2 4174 a 396 4264 a Fi(If)20 b(you')l(re)f(b)n(uilding)f(the)j (dri)n(v)o(er)d(from)i(source)f(code,)g(mak)o(e)h(sure)g(you)f(install) i(the)396 4372 y SDict begin H.S end 396 4372 a 396 4372 a SDict begin 13 H.A end 396 4372 a 396 4372 a SDict begin [ /View [/XYZ H.V] /Dest (0:213) cvn H.B /DEST pdfmark end 396 4372 a Fh(pcsc/ifd-cyberjack.bundle)c Fi(directory)h(to)j (the)f("usb)g(plugdir")e(directory)h(of)h(your)f(pcsc-lite)h (installation.)396 4480 y(The)g(def)o(ault)797 4480 y SDict begin H.S end 797 4480 a 797 4480 a SDict begin 13 H.A end 797 4480 a 797 4480 a SDict begin [ /View [/XYZ H.V] /Dest (0:214) cvn H.B /DEST pdfmark end 797 4480 a Fe(mak)o(e)g(install)h Fi(procedure)c(puts)k(it)g(into)1976 4480 y SDict begin H.S end 1976 4480 a 1976 4480 a SDict begin 13 H.A end 1976 4480 a 1976 4480 a SDict begin [ /View [/XYZ H.V] /Dest (0:215) cvn H.B /DEST pdfmark end 1976 4480 a Fh(/usr/lib/pcsc/drivers/)p Fi(.)-2 4592 y SDict begin H.S end -2 4592 a -2 4592 a SDict begin 13 H.A end -2 4592 a -2 4592 a SDict begin [ /View [/XYZ H.V] /Dest (0:216) cvn H.B /DEST pdfmark end -2 4592 a Black 3839 5569 a Fg(7)p Black eop end %%Page: 8 8 TeXDict begin 8 7 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.8) cvn H.B /DEST pdfmark end -2 -102 a Black 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black 396 77 a Fd(8.6.)35 b(Multithreading)1452 77 y SDict begin H.S end 1452 77 a 1452 77 a SDict begin 18.72 H.A end 1452 77 a 1452 77 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.13.2) cvn H.B /DEST pdfmark end 1452 77 a -2 269 a SDict begin H.S end -2 269 a -2 269 a SDict begin 13 H.A end -2 269 a -2 269 a SDict begin [ /View [/XYZ H.V] /Dest (0:218) cvn H.B /DEST pdfmark end -2 269 a 396 351 a Fi(The)20 b(library)f(is)i(NO)m(T)f(sa)n (v)o(e)h(against)e(multiple)h(threads)f(accessing)h(at)h(the)f(same)h (time)f(the)g(same)g(reader)-5 b(.)20 b(This)g(gi)n(v)o(es)396 459 y(you)g(also)g(most)g(probably)e(problems)h(with)h(your)f(card)h (an)o(yw)o(ay)-5 b(.)-2 643 y SDict begin H.S end -2 643 a -2 643 a SDict begin 13 H.A end -2 643 a -2 643 a SDict begin [ /View [/XYZ H.V] /Dest (0:219) cvn H.B /DEST pdfmark end -2 643 a 396 733 a Fi(The)20 b(library)f(is)i(sa)n(v)o(e)g (against)e(multiple)h(threads)f(accessing)h(multiple)g(readers.)f(So)h (you)g(could)f(start)i(3)f(threads,)f(each)396 840 y(accessing)h(their) g(o)n(wn)g(card)f(in)i(their)f(o)n(wn)f(reader)-5 b(.)-2 869 y SDict begin H.S end -2 869 a -2 869 a SDict begin 13 H.A end -2 869 a -2 869 a SDict begin [ /View [/XYZ H.V] /Dest (0:220) cvn H.B /DEST pdfmark end -2 869 a 396 1179 a Fd(8.7.)35 b(command)g(siz)q(e)1453 1179 y SDict begin H.S end 1453 1179 a 1453 1179 a SDict begin 18.72 H.A end 1453 1179 a 1453 1179 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.14.2) cvn H.B /DEST pdfmark end 1453 1179 a -2 1346 a SDict begin H.S end -2 1346 a -2 1346 a SDict begin 13 H.A end -2 1346 a -2 1346 a SDict begin [ /View [/XYZ H.V] /Dest (0:222) cvn H.B /DEST pdfmark end -2 1346 a 396 1453 a Fi(The)20 b(command)e(size)j(is)g(currently)e (limited)h(to)g(ISO7816)f(short)g(commands.)-2 1481 y SDict begin H.S end -2 1481 a -2 1481 a SDict begin 13 H.A end -2 1481 a -2 1481 a SDict begin [ /View [/XYZ H.V] /Dest (0:223) cvn H.B /DEST pdfmark end -2 1481 a 396 1791 a Fd(8.8.)35 b(K)n(e)n(ypressed)h(callbac)n(k)1803 1791 y SDict begin H.S end 1803 1791 a 1803 1791 a SDict begin 18.72 H.A end 1803 1791 a 1803 1791 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.15.2) cvn H.B /DEST pdfmark end 1803 1791 a -2 1982 a SDict begin H.S end -2 1982 a -2 1982 a SDict begin 13 H.A end -2 1982 a -2 1982 a SDict begin [ /View [/XYZ H.V] /Dest (0:225) cvn H.B /DEST pdfmark end -2 1982 a -2 2006 a SDict begin H.S end -2 2006 a -2 2006 a SDict begin 11.7 H.A end -2 2006 a -2 2006 a SDict begin [ /View [/XYZ H.V] /Dest (0:226) cvn H.B /DEST pdfmark end -2 2006 a -2 2089 a SDict begin H.S end -2 2089 a -2 2089 a SDict begin 11.7 H.A end -2 2089 a -2 2089 a SDict begin [ /View [/XYZ H.V] /Dest (0:227) cvn H.B /DEST pdfmark end -2 2089 a 396 2185 a Fh(IS8)576 2185 y SDict begin H.S end 576 2185 a 576 2185 a SDict begin 11.7 H.A end 576 2185 a 576 2185 a SDict begin [ /View [/XYZ H.V] /Dest (0:229) cvn H.B /DEST pdfmark end 576 2185 a Fb(rsct_setkeycb)1161 2185 y SDict begin H.S end 1161 2185 a 1161 2185 a SDict begin 11.7 H.A end 1161 2185 a 1161 2185 a SDict begin [ /View [/XYZ H.V] /Dest (0:230) cvn H.B /DEST pdfmark end 1161 2185 a Fh(\(IU16)1386 2185 y SDict begin H.S end 1386 2185 a 1386 2185 a SDict begin 11.7 H.A end 1386 2185 a 1386 2185 a SDict begin [ /View [/XYZ H.V] /Dest (0:231) cvn H.B /DEST pdfmark end 1386 2185 a Fa(ctn)p Fh(,)1607 2185 y SDict begin H.S end 1607 2185 a 1607 2185 a SDict begin 11.7 H.A end 1607 2185 a 1607 2185 a SDict begin [ /View [/XYZ H.V] /Dest (0:232) cvn H.B /DEST pdfmark end 1607 2185 a Fh(void)44 b(\()1876 2198 y(*)1921 2185 y SDict begin H.S end 1921 2185 a 1921 2185 a SDict begin 11.7 H.A end 1921 2185 a 1921 2185 a SDict begin [ /View [/XYZ H.V] /Dest (0:233) cvn H.B /DEST pdfmark end 1921 2185 a Fa(cb)r Fh(\))2102 2185 y SDict begin H.S end 2102 2185 a 2102 2185 a SDict begin 11.7 H.A end 2102 2185 a 2102 2185 a SDict begin [ /View [/XYZ H.V] /Dest (0:234) cvn H.B /DEST pdfmark end 2102 2185 a Fh(\(void)2371 2198 y(*)2416 2185 y(user_data\)\);)-2 2542 y SDict begin H.S end -2 2542 a -2 2542 a SDict begin 13 H.A end -2 2542 a -2 2542 a SDict begin [ /View [/XYZ H.V] /Dest (0:235) cvn H.B /DEST pdfmark end -2 2542 a 396 2650 a Fi(The)20 b(function)844 2650 y SDict begin H.S end 844 2650 a 844 2650 a SDict begin 13 H.A end 844 2650 a 844 2650 a SDict begin [ /View [/XYZ H.V] /Dest (0:236) cvn H.B /DEST pdfmark end 844 2650 a Fh(rsct_setkeycb)e Fi(has)j(been)e(added)g(to)h(specify)g(a)h(callback)e(to)h(signal)g(k)o (e)o(ypresses.)f(The)h(function)396 2758 y(speci\002ed)g(in)h(the)f (second)f(parameter)g(is)i(called)f(whene)n(v)o(er)e(a)j(C4)f(or)g(F4)h (S-block)e(is)i(recei)n(v)o(ed)d(from)i(the)g(reader)-5 b(.)19 b(This)396 2866 y(information)f(can)i(be)g(used)g(to)g(help)g (the)g(user)m(,)g(when)f(entering)g(a)i(PIN)f(on)g(the)g(c)o(yberJack)f (pinpad)g(reader)m(,)f(which)396 2974 y(does)i(not)g(sho)n(w)g(ho)n(w)g (man)o(y)f(k)o(e)o(ys)g(ha)n(v)o(e)h(been)g(pressed.)-2 3002 y SDict begin H.S end -2 3002 a -2 3002 a SDict begin 13 H.A end -2 3002 a -2 3002 a SDict begin [ /View [/XYZ H.V] /Dest (0:237) cvn H.B /DEST pdfmark end -2 3002 a 396 3313 a Fd(8.9.)35 b(Obtaining)f(V)-6 b(er)n(sion)34 b(Inf)n(o)1901 3313 y SDict begin H.S end 1901 3313 a 1901 3313 a SDict begin 18.72 H.A end 1901 3313 a 1901 3313 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.16.2) cvn H.B /DEST pdfmark end 1901 3313 a -2 3505 a SDict begin H.S end -2 3505 a -2 3505 a SDict begin 13 H.A end -2 3505 a -2 3505 a SDict begin [ /View [/XYZ H.V] /Dest (0:239) cvn H.B /DEST pdfmark end -2 3505 a -2 3529 a SDict begin H.S end -2 3529 a -2 3529 a SDict begin 11.7 H.A end -2 3529 a -2 3529 a SDict begin [ /View [/XYZ H.V] /Dest (0:240) cvn H.B /DEST pdfmark end -2 3529 a -2 3612 a SDict begin H.S end -2 3612 a -2 3612 a SDict begin 11.7 H.A end -2 3612 a -2 3612 a SDict begin [ /View [/XYZ H.V] /Dest (0:241) cvn H.B /DEST pdfmark end -2 3612 a 396 3707 a Fh(void)620 3707 y SDict begin H.S end 620 3707 a 620 3707 a SDict begin 11.7 H.A end 620 3707 a 620 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:243) cvn H.B /DEST pdfmark end 620 3707 a Fb(rsct_version)1160 3707 y SDict begin H.S end 1160 3707 a 1160 3707 a SDict begin 11.7 H.A end 1160 3707 a 1160 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:244) cvn H.B /DEST pdfmark end 1160 3707 a Fh(\(IU8)1340 3720 y(*)1385 3707 y SDict begin H.S end 1385 3707 a 1385 3707 a SDict begin 11.7 H.A end 1385 3707 a 1385 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:245) cvn H.B /DEST pdfmark end 1385 3707 a Fa(vmajor)s Fh(,)1744 3707 y SDict begin H.S end 1744 3707 a 1744 3707 a SDict begin 11.7 H.A end 1744 3707 a 1744 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:246) cvn H.B /DEST pdfmark end 1744 3707 a Fh(IU8)1879 3720 y(*)1924 3707 y SDict begin H.S end 1924 3707 a 1924 3707 a SDict begin 11.7 H.A end 1924 3707 a 1924 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:247) cvn H.B /DEST pdfmark end 1924 3707 a Fa(vminor)s Fh(,)2285 3707 y SDict begin H.S end 2285 3707 a 2285 3707 a SDict begin 11.7 H.A end 2285 3707 a 2285 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:248) cvn H.B /DEST pdfmark end 2285 3707 a Fh(IU8)2420 3720 y(*)2465 3707 y SDict begin H.S end 2465 3707 a 2465 3707 a SDict begin 11.7 H.A end 2465 3707 a 2465 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:249) cvn H.B /DEST pdfmark end 2465 3707 a Fa(vpatchlevel)p Fh(,)3047 3707 y SDict begin H.S end 3047 3707 a 3047 3707 a SDict begin 11.7 H.A end 3047 3707 a 3047 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:250) cvn H.B /DEST pdfmark end 3047 3707 a Fh(IU16)3227 3720 y(*)3272 3707 y SDict begin H.S end 3272 3707 a 3272 3707 a SDict begin 11.7 H.A end 3272 3707 a 3272 3707 a SDict begin [ /View [/XYZ H.V] /Dest (0:251) cvn H.B /DEST pdfmark end 3272 3707 a Fa(vbuild)s Fh(\);)-2 4064 y SDict begin H.S end -2 4064 a -2 4064 a SDict begin 13 H.A end -2 4064 a -2 4064 a SDict begin [ /View [/XYZ H.V] /Dest (0:252) cvn H.B /DEST pdfmark end -2 4064 a 396 4172 a Fi(The)20 b(function)844 4172 y SDict begin H.S end 844 4172 a 844 4172 a SDict begin 13 H.A end 844 4172 a 844 4172 a SDict begin [ /View [/XYZ H.V] /Dest (0:253) cvn H.B /DEST pdfmark end 844 4172 a Fh(rsct_version)e Fi(returns)i(the)g(complete)f(v)o(ersion)g(of)h(the)g(dri)n(v)o(er)-5 b(.)-2 4200 y SDict begin H.S end -2 4200 a -2 4200 a SDict begin 13 H.A end -2 4200 a -2 4200 a SDict begin [ /View [/XYZ H.V] /Dest (0:254) cvn H.B /DEST pdfmark end -2 4200 a 396 4510 a Fd(8.10.)35 b(Ad)o(ditional)g(CT_init)f (Replacement)j(Function)3032 4510 y SDict begin H.S end 3032 4510 a 3032 4510 a SDict begin 18.72 H.A end 3032 4510 a 3032 4510 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.17.2) cvn H.B /DEST pdfmark end 3032 4510 a -2 4701 a SDict begin H.S end -2 4701 a -2 4701 a SDict begin 13 H.A end -2 4701 a -2 4701 a SDict begin [ /View [/XYZ H.V] /Dest (0:256) cvn H.B /DEST pdfmark end -2 4701 a -2 4725 a SDict begin H.S end -2 4725 a -2 4725 a SDict begin 11.7 H.A end -2 4725 a -2 4725 a SDict begin [ /View [/XYZ H.V] /Dest (0:257) cvn H.B /DEST pdfmark end -2 4725 a -2 4808 a SDict begin H.S end -2 4808 a -2 4808 a SDict begin 11.7 H.A end -2 4808 a -2 4808 a SDict begin [ /View [/XYZ H.V] /Dest (0:258) cvn H.B /DEST pdfmark end -2 4808 a 396 4904 a Fh(IS8)576 4904 y SDict begin H.S end 576 4904 a 576 4904 a SDict begin 11.7 H.A end 576 4904 a 576 4904 a SDict begin [ /View [/XYZ H.V] /Dest (0:260) cvn H.B /DEST pdfmark end 576 4904 a Fb(rsct_init_name)1206 4904 y SDict begin H.S end 1206 4904 a 1206 4904 a SDict begin 11.7 H.A end 1206 4904 a 1206 4904 a SDict begin [ /View [/XYZ H.V] /Dest (0:261) cvn H.B /DEST pdfmark end 1206 4904 a Fh(\(IU16)1431 4904 y SDict begin H.S end 1431 4904 a 1431 4904 a SDict begin 11.7 H.A end 1431 4904 a 1431 4904 a SDict begin [ /View [/XYZ H.V] /Dest (0:262) cvn H.B /DEST pdfmark end 1431 4904 a Fa(ctn)p Fh(,)1652 4904 y SDict begin H.S end 1652 4904 a 1652 4904 a SDict begin 11.7 H.A end 1652 4904 a 1652 4904 a SDict begin [ /View [/XYZ H.V] /Dest (0:263) cvn H.B /DEST pdfmark end 1652 4904 a Fh(const)44 b(char)2101 4917 y(*)2146 4904 y SDict begin H.S end 2146 4904 a 2146 4904 a SDict begin 11.7 H.A end 2146 4904 a 2146 4904 a SDict begin [ /View [/XYZ H.V] /Dest (0:264) cvn H.B /DEST pdfmark end 2146 4904 a Fa(device_name)p Fh(\);)p Black 3842 5569 a Fg(8)p Black eop end %%Page: 9 9 TeXDict begin 9 8 bop -600 -600 a SDict begin /product where{pop product(Distiller)search{pop pop pop version(.)search{exch pop exch pop(3011)eq{gsave newpath 0 0 moveto closepath clip/Courier findfont 10 scalefont setfont 72 72 moveto(.)show grestore}if}{pop}ifelse}{pop}ifelse}if end -600 -600 a Black 0 TeXcolorgray -2 -102 a SDict begin H.S end -2 -102 a 0 TeXcolorgray 0 TeXcolorgray -2 -102 a SDict begin H.R end -2 -102 a -2 -102 a SDict begin [ /View [/XYZ H.V] /Dest (page.9) cvn H.B /DEST pdfmark end -2 -102 a Black 1654 -132 a Fg(REINER)20 b(SCT)h(cyberJ)m(ac)n(k)f(pinpad/e-com)d(USB)j(c)o (hipcar)m(d)e(r)m(eader)i(driver)p Black -2 -11 a SDict begin H.S end -2 -11 a -2 -11 a SDict begin 13 H.A end -2 -11 a -2 -11 a SDict begin [ /View [/XYZ H.V] /Dest (0:265) cvn H.B /DEST pdfmark end -2 -11 a 396 72 a Fi(The)f(function) 842 72 y SDict begin H.S end 842 72 a 842 72 a SDict begin 13 H.A end 842 72 a 842 72 a SDict begin [ /View [/XYZ H.V] /Dest (0:266) cvn H.B /DEST pdfmark end 842 72 a Fh(rsct_init_name)f Fi(can)h(be)g(used)g(to)h(directly)e(specify)h(the) g(de)n(vice)g(to)g(be)h(used.)e(The)i(de)n(vice)e(name)h(is)396 180 y(speci\002ed)h(lik)o(e)h(for)e(PC/SC)j(dri)n(v)o(ers:)d ("usb:VENDOR_ID/PR)m(ODUCT_ID:lib)n(usb:B)o(US_ID:DEVICE_ID",)d(so)396 288 y(for)k(a)g(ne)n(w)g(c)o(yberjack)f(at)h(/proc/b)n(us/usb/003/002)c (the)k(correct)f(name)h(w)o(ould)g(be:)396 396 y("usb:0c4b/0300:lib)n (usb:003:00)o(2")-2 407 y SDict begin H.S end -2 407 a -2 407 a SDict begin 13 H.A end -2 407 a -2 407 a SDict begin [ /View [/XYZ H.V] /Dest (0:267) cvn H.B /DEST pdfmark end -2 407 a 396 735 a Fd(8.11.)35 b(V)-6 b(erifying)34 b(Pins)g(Using)g(PC/SC)g(Function)g(SCar)n(dContr)n(ol)3595 735 y SDict begin H.S end 3595 735 a 3595 735 a SDict begin 18.72 H.A end 3595 735 a 3595 735 a SDict begin [ /View [/XYZ H.V] /Dest (0.8.18.2) cvn H.B /DEST pdfmark end 3595 735 a -2 927 a SDict begin H.S end -2 927 a -2 927 a SDict begin 13 H.A end -2 927 a -2 927 a SDict begin [ /View [/XYZ H.V] /Dest (0:269) cvn H.B /DEST pdfmark end -2 927 a 396 1009 a Fi(The)20 b(follo)n(wing)f(table)h(sho)n(ws)g(v)n (alues)g(for)f(the)i(PSCS_VERIFY_STR)m(UCTURE)f(object)g(which)f(ha)n (v)o(e)h(been)f(tested)396 1117 y(with)i(ASCII)f(and)g(FPIN2)g (formatted)f(pins.)-2 1135 y SDict begin H.S end -2 1135 a -2 1135 a SDict begin 13 H.A end -2 1135 a -2 1135 a SDict begin [ /View [/XYZ H.V] /Dest (0:270) cvn H.B /DEST pdfmark end -2 1135 a -2 1228 a SDict begin H.S end -2 1228 a -2 1228 a SDict begin 13 H.A end -2 1228 a -2 1228 a SDict begin [ /View [/XYZ H.V] /Dest (0:271) cvn H.B /DEST pdfmark end -2 1228 a -2 1228 a SDict begin H.S end -2 1228 a -2 1228 a SDict begin 0 H.A end -2 1228 a -2 1228 a SDict begin [ /View [/XYZ H.V] /Dest (table.2) cvn H.B /DEST pdfmark end -2 1228 a 396 1231 3501 4 v 396 1231 V 396 1356 4 125 v 424 1331 a Ff(Field)p 1562 1356 V 972 w(ASCII)p 2728 1356 V 945 w(FPIN2)p 3893 1356 V 396 1359 3501 4 v 396 1359 V 396 1484 4 125 v 424 1459 a Fi(bT)m(imerOut)p 1562 1484 V 798 w(00)p 2728 1484 V 1082 w(00)p 3893 1484 V 396 1487 3501 4 v 396 1487 V 396 1612 4 125 v 424 1587 a(bT)m(imerOut2)p 1562 1612 V 756 w(00)p 2728 1612 V 1082 w(00)p 3893 1612 V 396 1615 3501 4 v 396 1615 V 396 1739 4 125 v 424 1715 a(bmF)o(ormatString) p 1562 1739 V 615 w(82)p 2728 1739 V 1082 w(81)p 3893 1739 V 396 1743 3501 4 v 396 1743 V 396 1867 4 125 v 424 1842 a(bmPINBlockString)p 1562 1867 V 522 w(04)p 2728 1867 V 1082 w(48)p 3893 1867 V 396 1871 3501 4 v 396 1871 V 396 1995 4 125 v 424 1970 a(bmPINLengthF)o(ormat)p 1562 1995 V 448 w(00)p 2728 1995 V 1082 w(04)p 3893 1995 V 396 1998 3501 4 v 396 1998 V 396 2123 4 125 v 424 2098 a(wPINMaxExtraDigit)p 1562 2123 V 467 w(0408)p 2728 2123 V 998 w(0408)p 3893 2123 V 396 2126 3501 4 v 396 2126 V 396 2251 4 125 v 424 2226 a(bEntryV)-9 b(alidationCondition)p 1562 2251 V 261 w(02)p 2728 2251 V 1082 w(02)p 3893 2251 V 396 2254 3501 4 v 396 2254 V 396 2379 4 125 v 424 2354 a(bNumberMessage)p 1562 2379 V 559 w(01)p 2728 2379 V 1082 w(01)p 3893 2379 V 396 2382 3501 4 v 396 2382 V 396 2507 4 125 v 424 2482 a(wLangId)p 1562 2507 V 864 w(0904)p 2728 2507 V 998 w(0904)p 3893 2507 V 396 2510 3501 4 v 396 2510 V 396 2634 4 125 v 424 2610 a(bMsgInde)o(x)p 1562 2634 V 786 w(00)p 2728 2634 V 1082 w(00)p 3893 2634 V 396 2638 3501 4 v 396 2638 V 396 2762 4 125 v 424 2737 a(bT)j(eoPrologue)18 b(0-2)p 1562 2762 V 568 w(00)p 2728 2762 V 1082 w(00)p 3893 2762 V 396 2766 3501 4 v 396 2766 V Black 3842 5569 a Fg(9)p Black eop end %%Trailer userdict /end-hook known{end-hook}if %%EOF pcsc-cyberjack-3.99.5final.SP03/doc/LIESMICH.xml0000644000175000001440000011315611657145411017412 0ustar sctusers
Treiber fr REINER SCT cyberJack pinpad/e-com USB Kartenleser Martin Preuss 2008/02/12 2008 REINER SCT GmbH Dies ist das Handbuch zum Linux-Treiber fr die Reiner SCT cyberJack Kartenleser.
bersicht Dieser Treiber fr die Cyberjack Pinpad/ecom-Familie von USB Kartenlesegerten implementiert den CTAPI Standard in der Version 1.1 sowie das PC/SC-Interface von pcsc-lite. Er ist vollstndig im Userspace implementiert. Dadurch entfallen Schwierigkeiten mit unterschiedlichen Kernel-Versionen, dem Kompilieren und Patchen von Kerneln etc. Smtliche Zugriffe werden ber das usb devfs in /proc/bus/usb (oder /dev/bus/usb fr udev-basierte systeme) abgewickelt. Behandlung von Dateirechten geschieht ausschlielich ber udev. Das Skript cyberjack.rules - falls es nach /etc/udev/rules.d installiert wurde - wird automatisch von udev aufgerufen, sobald der Leser angeschlossen wird. Es setzt die Dateirechte fr das entsprechende Gert, so da anschliessend die Benutzer der Gruppe cyberjack darauf zugreifen knnen. Fr mehr Informationen ber den Kartenleser selbst besuchen Sie bitte . Dort finden Sie auch einen Onlineshop, in dem Sie diesen Leser bestellen knnen.
Von diesem Treiber untersttzte Gerte Die folgenden Reiner-SCT Kartenleser werden untersttzt: Product ProductID REINER SCT cyberJack pinpad USB 0x100 REINER SCT cyberJack e-com USB 0x100 REINER SCT cyberJack pinpad_a USB 0x300 REINER SCT cyberJack e-com_a USB 0x400 Mit dem Kommando lsusb knnen Sie sich alle USB-Gerte anzeigen lassen. Es zeigt die Hersteller- und Gertekennung aller angeschlossenen Gerte an, beispielsweise: Bus Nr Device Nr VeID:PrID Bus 002 Device 002 ID 0451:1446 Bus 002 Device 006 ID 0c4b:0400 Die REINER SCT Herstellerkennung ist 0c4b. Die Produktkennungen finden Sie in der vorigen Tabelle.
Distributions-spezifische Hinweise Sie finden alle Pakete unter . Die meisten Pakete erzeugen eine Gruppe cyberjack. Dieser Gruppe mssen alle Benutzer zugeordnet werden, die Zugriff auf das Gert haben sollen. Das erreichen Sie am einfachsten ber das KDE-Programm kuser oder das Administrations-Programm Ihres Systems (bei SuSE z.B. yast). Eine Ausnahme stellt hier SuSE 10.1 dar, hier mssen Sie keine Benutzer- Zuordnung vornehmen (ab SuSE 10.2 hingegen schon). Nach der Installation des Paketes und der Benutzerzuordnung sollten Sie Ihren Rechner neu starten, damit die nderungen gltig werden.
RPM-basiert Reiner-SCT bietet RPM-Pakete fr die folgenden Distributionen an: SuSE 10.3 SuSE 10.2 SuSE 10.1 SuSE 10.0 Fedora Core 7 Fedora Core 6 Fedora Core 5 Installieren Sie das entsprechende Paket einfach durch das folgende Kommando: rpm -i <Paketdatei> Sollten Sie bereits ein lteres Treiberpaket installiert haben, verwenden Sie stattdessen das folgende Kommando: rpm -U <Paketdatei> Es gibt allerdings eine Besonderheit bei Verwendung von SuSE10.0 auf einem 64-Bit-System mit der Anwendung "Moneyplex": Da diese Anwendung leider eine 32-Bit-Anwendung ist, kann sie nur mit der 32-Bit-Version unseres Treibers arbeiten. Leider war der Kernel von SuSE10.0 noch nicht in der Lage, alle 32-Bit-Aufrufe des Treibers nach 64-Bit umzuwandeln. Hier muss daher eine Aenderung an der Datei /etc/cyberjack.conf vorgenommen werden. Fuegen Sie bitte die folgende Zeile ein: "flags=0x20000".
Einrichtung unter SuSE Linux Nach der Installation des Treibers muessen Sie die Benutzer, die auf den Leser zugreifen koennen sollen, in die Gruppe "cyberjack" einfuegen. Am einfachsten geschieht dies mit Yast: Starten Sie Yast, rufen Sie das Menu "Sicherheit und Benutzer" auf und dort "Gruppen bearbeiten und anlegen". Es erscheint ein Fenster, das standardmaessig die Systemgruppen nicht anzeigt, daher muessen Sie den Filter aendern. Klicken Sie dazu unten rechts auf "Filter festlegen" und waehlen Sie dort "Systemgruppen". Daraufhin sollten Sie in der Liste auch die Gruppe "cyberjack" finden, die Sie dann markieren muessen. Anschliessend klicken Sie unten auf "Bearbeiten". In dem Fenster, welches dann erscheint, setzen Sie bei den aufgefuehrten Benutzern, die auf den Leser zugreifen koennen sollen, die Markierung. Klicken Sie nun auf "Uebernehmen" und starten Sie das System neu, Der Leser sollte nun fuer die markierten Benutzer verwendbar sein.
DEB-basiert Reiner-SCT bietet DEB-Pakete fr die folgenden Distributionen: Debian stable Debian unstable Ubuntu 6.10 Ubuntu 7.04 Ubuntu 7.10 Installieren Sie das entsprechende Paket mit: dpkg -i <Paketdatei>
Alle anderen Distributionen Es gibt momentan wenig Erfahrungen mit anderen Linux-Distributionen. Haben Sie ein RPM-basiertes System, so knnen Sie probieren eigene RPM-Paket zu erstellen: rpm --rebuild <Quellpaketdatei> oder rpmbuild --rebuild <Quellpaketdatei> Falls Sie den Treiber selber kompilieren wollen, wechseln Sie in das Hauptverzeichnis des entpackten Treiber-Paketes und geben Sie die folgenden Befehle ein: ./configure make Anschlieend knnen Sie den Treiber auf Ihr System installieren. Dazu bentigen Sie sehr wahrscheinlich Administrator-Rechte. make install
Firmware-Update Die aktuelle Version dieses Treibers enthaelt das Tool "cjflash" welches das Aktualisieren der Firmware des Lesers erlaubt. Derzeit koennen damit allerdings nur die neuesten Cyberjack-Leser aktualisiert werden (mit der Produkt-Kennung 0x400) Der Linux-Treiber funktioniert mit diesen Geraeten nur mit einer Firmware in der Version groesser oder gleich 3.0.6. Sollte Ihr Leser eine aeltere Version enthalten, ist ein Update zwingend noetig. Auch nach diesem Update funktioniert der Leser weiterhin auch unter Windows. Um die Firmware zu aktualiseren geben Sie bitte das folgenden Kommando in einer Konsole ein: cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn ecoma2.bky Das erste Argument ist die Nummer des Lesers (beginnend mit "1", der 2. Leser hat die Nummer "2" etc). Das naechste Argument ist der Name der Datei mit der neuen Firmware gefolgt vom Namen der Datei mit der Signatur der neuen Firmware. Nachdem Sie das Kommando eingegeben haben fragt der Leser nach einer Bestaetigung. Druecken Sie die "OK"-Taste auf der Tastatur des Lesers zur Bestaetigung oder brechen Sie den Vorgang mit "CANCEL" ab. Sollte der Leser "haengen" nachdem Sie "OK" oder "CANCEL" gedrueckt haben, muessen Sie den Leser abziehen und neu anschliessen. Anschliessend muessen Sie eine leicht modifizierte Version des obrigen Kommandos verwenden: CJ_USB_MODE=1 cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn Hiermit wird die Umgebungsvariable "CJ_USB_MODE" gesetzt bevor das Update durchgefuehrt wird. Dadurch weiss der Treiber, dass es sich um einen Leser mit einer fuer Linux problematischen Firmware handelt und spricht ihn etwas anders an. Bitte setzen Sie die Umgebungsvariable nur, wenn "cjflash" sonst nicht funktioniert!
Support Support fr diesen Treiber bietet REINER SCT. E-mail: support@reiner-sct.com Postadresse: Schwabacher Str. 34, 90762 Fürth, Deutschland Bitte fgen Sie ihrer Problembeschreibung die folgenden Informationen bei: Name und Version des verwendeten Programmes, mit dem der Fehler auftrat die vollstndige Fehlermeldung den Namen und die Version der von Ihnen verwendeten Linux-Distribution (z.B. SuSE 10.1, Debian 3.0r1 testing) CPU-Typ (z.B. der Inhalt der Datei /proc/cpuinfo) Kernelversion (z.B. die Ausgabe des Befehls uname -r) Liste der angeschlossenen USB-Gerte (z.B. die Ausgabe des Befehls lsusb)
Troubleshooting
Erste Schritte Mit dem Treiber wird das Tool "cyberjack" installiert. Es erzeugt Dateien mit Daten, die fuer den Support von Reiner SCT wichtig sind. Fuehren Sie daher in einer Konsole den folgenden Befehl aus; cyberjack Dabei entstehen im aktuellen Verzeichnis 3 Dateien. Schauen Sie sich zuerst die Datei cyberjack-hints.log an. Sie enthaelt eventuell bereits Hinweise, was Sie auf Ihrem System tun koennen, um das Problem selbst zu beheben (oft sind es nur Kleinigkeiten). Sollte das nicht zum Erfolg fuehren, senden Sie bitte die ebenfalls entstandene Datei "cyberjack.xml" mit Ihrer Support-Anfrage mit, damit wir alle noetigen Informationen haben, um Ihnen helfen zu koennen.
Aeltere cyberJacks cyberJacks mit der USB-Kennung 0x100 (alte Ecom/Pinpad) machen mitunter Probleme mit aktuellen Treibern. Falls das bei Ihnen der Fall sein sollte, gibt es die Moeglichkeit, das Verhalten des Treibers zu beeinflussen: cyberjack addflags 0x100000 Dieses Kommando muessen Sie als root ausfuehren. Es setzt ein Flag welches den Treiber bei jedem Initialisieren des Lesers ein Reset-Kommando schicken laesst.
Groe Anzahl von Lesern Der cyberJack wurde mit bis zu 52 gleichzeitig angeschlossenen Gerten (ber 7-Port Hubs) getestet. Dabei gibt es allerdings etwas zu beachten: Linux bis Version 2.4.19 hngt sich vollstndig auf, wenn zu viele Gerte angeschlossen sind. Versionen ab 2.4.20 weisen dieses Problem nicht mehr auf. Es treten manchmal timeout-Fehler auf. Das Problem scheint hier im Linux-Kernel selbst zu liegen (usb-uhci). Mit schnelleren Rechnern tritt dieses Problem nicht mehr auf (ab 2GHz). Sollte es immer noch nicht wie gewnscht funktionieren, sollten Sie die beteiligten USB-Controller-Karten und/oder Hubs austauschen. Es gibt hier offensichtlich eine besonders groe Streubreite in der Qualitt dieser Gerte. Der Daten-Durchsatz nimmt nicht ab, wenn Sie statt einem 50 Kartenleser anschlieen und konstant auslesen (getestet mit den Kommandos SELECT und READ_BINARY).
Hotplugging Linux untersttzt hotplugging (das Einstecken und Entfernen von USB-Gerten bei laufendem Betrieb). Dies wird durch das udev-System implementiert. Sie finden udev-Skriptdateien fr die REINER SCT Kartenleser im Verzeichnis etc/udev des Quellpaketes. Da udev-Skripte Distributions-spezifisch sind (nicht alle verwenden udev, und SuSE verwendet ausserdem resmgr, zudem sind auch die Namen der Skripte nicht einheitlich), knnen wir nicht fr alle am Markt existierenden Distributionen die passenden Skripte bereitstellen. Die von uns gelieferten RPM- und DEB-Pakete installieren die fr das jeweilige System passenden Dateien an die vorgesehene Stelle, so da mit diesen Paketen hotplugging problemlos mglich ist.
Logging Dieser Treiber erlaubt die Aufzeichnung der Kommunikation mit dem Kartenleser. Sie schalten es ein, indem Sie als root das Kommando cyberjack addflags 0xffff ausfuehren. Dann schreibt der Treiber die Logmeldungen in die Datei /tmp/cj.log.
Bekannte Probleme Leider enthalten alle Kernel bi einschliesslich Version 2.6.12-rc5 einen schweren Fehler in der Behandlung von asynchronen URB's (USB Request Block) im Userspace. Dieser Fehler hat nichts mit dem Reiner SCT Treiber zu tun, dennoch betrifft er auch unseren Treiber fr PC/SC. Der Fehler tritt auf, wenn der PC/SC Dienst beendet wird und kann im schlimmsten Fall zum vollstndigen Absturz des Kernels fhren. Es wurde eine Lsung erarbeitet, die aber bisher nicht offizieller Bestandteil des Linux-Kernels ist. Wir bieten unsere Lsung aber als patch an (in Form der Datei patches/usb-async_urb-devio-oops-fix.patch). Falls Sie PC/SC in Verbindung mit einem betroffenen Kernel verwenden wollen, raten wir daher dringend dazu den mitgelieferten Patch anzuwenden.
Anwendungen
Moneyplex Moneyplex bringt seine eigenen Treiber fuer die bekanntesten Geraete mit. Leider sind die Treiber fuer den Cyberjack, die sich auf der Moneyplex-CD befinden, meist veraltet und funktionieren auf aktuellen Systemen nicht. Sie sollten daher unbedingt den jeweils aktuellsten Treiber von unserer Homepage herunterladen und installieren. Anschliessend muessen Sie dann im entsprechenden Konfigurationsmenue von Moneyplex direkt unseren Treiber angeben (je nach System entweder in /usr/lib oder in /usr/lib/readers, Dateiname ist "libctapi-cyberjack.so". Damit sollte Moneyplex auch mit dem Cyberjack zusammenarbeiten koennen.
Moneyplex auf 64-Bit-Systemen Moneyplex ist eine 32-Bit-Anwendung. Als solche kann sie zwar auch auf 64-Bit-Systemen ausgefuehrt werden, findet aber auf solchen Systemen keine Kartenleser-Treiber (weil es nach 32-Bit-Treibern sucht, die aber auf einem solchen System normalerweise nicht vorhanden sind). Es wurde allerdings auch fuer diesen Fall eine Loesung mit Matrica erarbeitet. Moneyplex liefert - spaetestens nach einem Update - einen Proxy-Treiber mit (libproxy-cyberjack.so), welcher einer 32-Bit-Anwendung erlaubt, auf die installierten 64-Bit-Treiber zuzugreifen. Diesen Treiber finden Sie normalerweise im Moneyplex-Verzeichnis ($HOME/moneyplex), und dort ueblicherweise im Unterverzeichnis "ctapi". Waehlen Sie diesen Treiber in Moneyplex aus.
Zustzliche Information
CT-API Die CT-API Spezifikation erhalten Sie auf der Seite Bitte beachten Sie, da die Port-Nummern bei 1 beginnen (wie in den Spezifikationen vorgesehen).
PC/SC Dieser Treiber bietet inzwischen auch einen PC/SC-Treiber fr pcsc-lite an. Er wurde mit pcsc-lite-1.2.0 getestet.
Installation Fr RPM-basierte Systeme ist der sogenannte IFD-Treiber im Paket ctapi-cyberjack-ifd enthalten. Falls Sie den Treiber aus dem Quellpaket selber kompilieren, wird durch make install der IFD-Treiber an die passende Stelle in Ihrem System (normalerweise /usr/lib/pcsc/drivers/) installiert.
Multithreading Dieser Treiber ist nicht thread-safe, d.h. es knnen nicht mehrere Threads des gleichen Programmes auf den gleichen Leser zugreifen (dies wrde aber ohnehin meist zu Problemen auf der Karte fhren). Allerdings knnen unterschiedliche Threads des gleichen Programmes auf unterschiedliche Gerte zugreifen. So knnen also beispielsweise 3 Threads gleichzeitig auf 3 Karten in 3 unterschiedlichen Gerten zugreifen.
Kommandolange Die Kommandolnge ist derzeit auf ISO7816 short commands reduziert. Dies bedeutet allerdings im normalen Betrieb keine Einschrnkung.
Tastendruck Callback IS8 rsct_setkeycb IU16ctn void (*cb) void *user_data Die Funktion rsct_setkeycb wurde hinzugefgt, um laufenden Programmen eine Rckmeldung ber gedrckte Tasten des Lesers zu geben. Die Funktion, die als 2. Argument dieses Aufrufes geliefert wird, wird jeweils aufgerufen, wenn ein C4- oder F4 S-Block vom Leser empfangen wurde. Die Anwendung kann dann beispielsweise einen Piepton erzeugen, oder die Anzahl der gedrckten Tasten anzeigen.
Informationen zur Treiberversion void rsct_version IU8*vmajor IU8*vminor IU8*vpatchlevel IU16*vbuild Die Funktion rsct_version gibt die vollstaendige Version des Treibers in den uebergebenen Variablen zurueck.
Zusaetzliche CT_init Ersatz-Funktion IS8 rsct_init_name IU16ctn const char*device_name Die Funktion rsct_init_name erlaubt die direkte Angabe des Geraetes wie bei PC/SC. Damit kann eindeutig festgelegt werden, welches Geraet verwendet werden soll. Der Geraetename ist wie folgt aufgebaut: "usb:VENDOR_ID/PRODUCT_ID:libusb:BUS_ID:DEVICE_ID". Fuer einen neuen Cyberjack an /proc/bus/usb/003/002 lautet der Name demnach: "usb:0c4b/0300:libusb:003:002".
Feste Zurodnung der Portnummer zu Lesern Die Funktion CT_init erlaubt eine feste Zurdnung von Portnummern zu bestimmten Lesern. Das bedeutet beispielsweise, dass immer der gleiche Leser unter der gleichen Portnummer angesprochen wird, egal an welchem USB-Port das Geraet angeschlossen ist. Dies erreichen Sie, indem Sie als Portnummer die folgenden Nummern verwenden: 0x9000 (dezimal 36864) fuer das erste Geraet 0x9001 (dezimal 36865) fuer das zweite Geraet und so weiter. Die Zuordnung geschieht ueber eine Text-Datei, in der pro Zeile eine Seriennummer gespeichert ist (normalerweise ist dies $HOME/cyberjack_serials). Der Treiber aktualisiert diese Datei selbststaendig, es ist hierzu kein Benutzereingriff noetig. Falls die Datei beim Aufruf von CT_init() noch nicht existiert, wird sie erzeugt. Wenn sie bereits existiert, und der angeschlossene Leser bereits in dieser Datei aufgefuehrt wird, bleibt die Datei unveraendert. Der Treiber fuegt lediglich neue Leser an das Ende der Datei an. Die erste Seriennummer dieser Datei wird ueber den Portwert 0x9000 angesprochen, die zweite ueber 0x9001 etc.
Serielle Leser Der aktuelle Treiber unterstuetzt den Lesertyp Ecom A via seriellem Anschluss. Dazu muessen Sie die folgenden Portnummern verwenden: 0xa000 (dezimal 40960) fuer Anschlu an COM1 (/dev/ttyS0) 0xa001 (dezimal 40961) fuer Anschlu an COM2 (/dev/ttyS1) und so weiter.
Zurodnung alter Cyberjack zu ttyUSB-Devices Die Funktion CT_init erlaubt fuer aeltere Cyberjack Ecoms und PinPads (mit der USB-Id 0x100) eine direkte Zurodnung von Port-Werten zu /dev/ttyUSBx-Geraeten. Dies erreichen Sie, indem Sie als Portnummer die folgenden Nummern verwenden: 0x8000 (dezimal 32768) fuer /dev/ttyUSB0 0x8001 (dezimal 32769) fuer /dev/ttyUSB1 und so weiter.
Pin-Ueberpruefung mit der PC/SC Funktion SCardControl Die folgende Tabelle zeigt Werte fuer die einzelnden Felder der Struktur PSCS_VERIFY_STRUCTURE die mit ASCII und FPIN2-kodierten Pins getestet wurden. Feld ASCII FPIN2 bTimerOut 00 00 bTimerOut2 00 00 bmFormatString 82 81 bmPINBlockString 04 48 bmPINLengthFormat 00 04 wPINMaxExtraDigit 0408 0408 bEntryValidationCondition 02 02 bNumberMessage 01 01 wLangId 0904 0904 bMsgIndex 00 00 bTeoPrologue 0-2 00 00
Mitgelieferte Anwendungen
cyberjack Diese Anwendung dient zum einen dem Testen des Treibers und Lesers zum anderen der Aenderung von Einstellungen des Treibers. Die Einstellungen des Treibers finden sich in der Konfigurationsdatei cyberjack.conf. Es wird je nach Distribution in dem Verzeichnis /etc, /etc/cyberjack oder /usr/etc erwartet. Standardmaessig wird von den binaeren Paketen eine Beispieldatei mit dem Namen cyberjack.conf.default angelegt die als Ausgangsdatei fuer eigene Konfigurationen verwendet werden kann. Gespeicherte Einstellungen beinhalten derzeit eine Reihe von Flags sowie einige Dateinamen (wie z.B. der Name der Logdatei etc).
Kommandos addflags/delflags Da die Konfiguration je nach Distribution an unterschiedlichen Stellen im System abgelegt wird wurde das Tool "cyberjack" um zwei neue Kommandos erweitert: cyberjack addflags 0xffff cyberjack delflags 0xffff Damit koennen bestimmte Flags gesetzt oder geloescht werden. Derzeit stehen die folgenden Flags zur Verfuegung: Wert Name Beschreibung 0x00000001 DEBUG_GENERIC Schaltet generelle Debug-Meldungen ein. Diese Meldungen werden in die Logdatei geschrieben (normalerweise /tmp/cj.log). 0x00000002 DEBUG_READER Schaltet Leser-bezogene Debug-Meldungen ein. 0x00000004 DEBUG_CTAPI Schaltet CTAPI-bezogene Debug-Meldungen ein. 0x00000008 DEBUG_AUSB Schaltet USB-bezogene Debug-Meldungen ein. 0x00000010 DEBUG_CJPPA Schaltet bestimmte Debug-Meldungen des Cyberjack PinPad A ein. 0x00000020 DEBUG_ECOM Schaltet bestimmte Debug-Meldungen des Cyberjack Ecom ein. 0x00000040 DEBUG_TRANSFER Schaltet IO-bezogene Debug-Meldungen ein. 0x00000080 DEBUG_USB Schaltet weitere USB-bezogene Debug-Meldungen ein. 0x00000100 DEBUG_IFD Schaltet IFD-bezogene Debug-Meldungen ein (PC/SC) 0x00000200 DEBUG_ECA Schaltet bestimmte Debug-Meldungen des Cyberjack Ecom A ein. 0x000010000 NO_BEEP Schaltet die Signaltoene bei Tastendruecken aus. 0x00020000 ECOM_KERNEL Verwendet den Kernel-Treiber fuer den Cyberjack Ecom/Pinpad mit der USB ID 0x100. Dies kann verwendet werden, wenn der normale Userspace-Treiber auf Ihrem System nicht funktioniert. 0x00040000 ALLOW_INPUT Erlaubt das Kommando INPUT. Dies ist normalerweise aus Sicherheitsgruenden deaktiviert. Nur ganz spezielle Anwendungen benoetigen dieses Kommando, insbesondere Banking-Programme benoetigen es jedoch nicht. Sie sollten sich daher gut ueberlegen, ob Sie das Kommando aktivieren wollen, denn es kann dazu verwendet werden, Ihnen eine unsichere Pin-Eingabe als sicher vorzutaeuschen. 0x00080000 BEEP_NO_X11 Normalerweise versucht der Treiber fuer die Signaltoene auf einen laufenden X11-Server zuzugreifen (Ihre grafische Oberflaeche). Wenn dies nicht gelingt, wird versucht die Signaltoene ueber andere Methoden zu erzeugen. Mit diesem Flag koennen Sie verhindern, dass der X11-Server kontaktiert wird. 0x00100000 RESET_BEFORE Dieses Flag betrifft nur aeltere cyberJacks (pinpad und ecom mit der USB-Kennung 0x100). Wenn dieses Flag gesetzt ist, fuehrt der Treiber ein Reset durch. Dies sollte normalerweise nicht noetig sein, kann aber mit manchen Lesern den Betrieb ueberhaupt erst ermoeglichen. Wenn Sie also ein ausfuehrliches Logging einschalten wollen, fuehren Sie das folgende Kommando aus: cyberjack addflags 0xffff Sie sehen hier, dass der angegebene Wert 0xffff alle Flags enthaelt, deren Name mit DEBUG_ anfaengt. Wenn Sie nun zusaetzlich den Cyberjack Ecom/Pinpad ueber den Kernel-Treiber verwenden wollen, koennen Sie dazu entweder anschliessend ein zusaetzliches Kommando eingeben; cyberjack addflags 0x20000 oder Sie fuegen das Flag dem ersten Aufruf gleich hinzu, wie in cyberjack addflags 0x2ffff
Kommando check Dieses Kommando wird standardmaessig angenommen, wenn Sie keines angeben. Es ueberprueft Ihr System und erzeugt 3 Dateien im aktuellen Verzeichnis: cyberjack-hints.log: Diese Datei enthaelt bei gefundenen Problemen Hinweise, wie Sie diese beheben koennen. cyberjack-report.log: Diese Datei enthaelt einen Bericht ueber die Ergebnisse des Systemtests. cyberjack.xml: Diese Datei enthaelt die Ergebnisse der Tests in einer Form, die dem Support von Reiner SCT hilft Sie bei Problemen zu unterstuetzen. Sie sollten diese Datei daher immer mitsenden.
pcsc-cyberjack-3.99.5final.SP03/doc/LIESMICH.txt0000644000175000001440000006414511657145411017434 0ustar sctusersTreiber fr REINER SCT cyberJack pinpad/e-com USB Kartenleser Martin Preuss Copyright 2008 REINER SCT GmbH 2008/02/12 Dies ist das Handbuch zum Linux-Treiber fr die Reiner SCT cyberJack Kartenleser. __________________________________________________________ Table of Contents 1. bersicht 2. Von diesem Treiber untersttzte Gerte 3. Distributions-spezifische Hinweise 3.1. RPM-basiert 3.1.1. Einrichtung unter SuSE Linux 3.2. DEB-basiert 3.3. Alle anderen Distributionen 4. Firmware-Update 5. Support 6. Troubleshooting 6.1. Erste Schritte 6.2. Aeltere cyberJacks 6.3. Groe Anzahl von Lesern 6.4. Hotplugging 6.5. Logging 7. Bekannte Probleme 8. Anwendungen 8.1. Moneyplex 8.1.1. Moneyplex auf 64-Bit-Systemen 9. Zustzliche Information 9.1. CT-API 9.2. PC/SC 9.2.1. Installation 9.3. Multithreading 9.4. Kommandolange 9.5. Tastendruck Callback 9.6. Informationen zur Treiberversion 9.7. Zusaetzliche CT_init Ersatz-Funktion 9.8. Feste Zurodnung der Portnummer zu Lesern 9.9. Serielle Leser 9.10. Zurodnung alter Cyberjack zu ttyUSB-Devices 9.11. Pin-Ueberpruefung mit der PC/SC Funktion SCardControl 10. Mitgelieferte Anwendungen 10.1. cyberjack 10.1.1. Kommandos addflags/delflags 10.1.2. Kommando check 1. bersicht Dieser Treiber fr die Cyberjack Pinpad/ecom-Familie von USB Kartenlesegerten implementiert den CTAPI Standard in der Version 1.1 sowie das PC/SC-Interface von pcsc-lite. Er ist vollstndig im Userspace implementiert. Dadurch entfallen Schwierigkeiten mit unterschiedlichen Kernel-Versionen, dem Kompilieren und Patchen von Kerneln etc. Smtliche Zugriffe werden ber das usb devfs in /proc/bus/usb (oder /dev/bus/usb fr udev-basierte systeme) abgewickelt. Behandlung von Dateirechten geschieht ausschlielich ber udev. Das Skript cyberjack.rules - falls es nach /etc/udev/rules.d installiert wurde - wird automatisch von udev aufgerufen, sobald der Leser angeschlossen wird. Es setzt die Dateirechte fr das entsprechende Gert, so da anschliessend die Benutzer der Gruppe cyberjack darauf zugreifen knnen. Fr mehr Informationen ber den Kartenleser selbst besuchen Sie bitte http://www.reiner-sct.com/. Dort finden Sie auch einen Onlineshop, in dem Sie diesen Leser bestellen knnen. __________________________________________________________ 2. Von diesem Treiber untersttzte Gerte Die folgenden Reiner-SCT Kartenleser werden untersttzt: Product ProductID REINER SCT cyberJack pinpad USB 0x100 REINER SCT cyberJack e-com USB 0x100 REINER SCT cyberJack pinpad_a USB 0x300 REINER SCT cyberJack e-com_a USB 0x400 Mit dem Kommando lsusb knnen Sie sich alle USB-Gerte anzeigen lassen. Es zeigt die Hersteller- und Gertekennung aller angeschlossenen Gerte an, beispielsweise: Bus Nr Device Nr VeID:PrID Bus 002 Device 002 ID 0451:1446 Bus 002 Device 006 ID 0c4b:0400 Die REINER SCT Herstellerkennung ist 0c4b. Die Produktkennungen finden Sie in der vorigen Tabelle. __________________________________________________________ 3. Distributions-spezifische Hinweise Sie finden alle Pakete unter http://www.reiner-sct.com/content/view/32/43/#linux. Die meisten Pakete erzeugen eine Gruppe cyberjack. Dieser Gruppe mssen alle Benutzer zugeordnet werden, die Zugriff auf das Gert haben sollen. Das erreichen Sie am einfachsten ber das KDE-Programm kuser oder das Administrations-Programm Ihres Systems (bei SuSE z.B. yast). Eine Ausnahme stellt hier SuSE 10.1 dar, hier mssen Sie keine Benutzer- Zuordnung vornehmen (ab SuSE 10.2 hingegen schon). Nach der Installation des Paketes und der Benutzerzuordnung sollten Sie Ihren Rechner neu starten, damit die nderungen gltig werden. __________________________________________________________ 3.1. RPM-basiert Reiner-SCT bietet RPM-Pakete fr die folgenden Distributionen an: * SuSE 10.3 * SuSE 10.2 * SuSE 10.1 * SuSE 10.0 * Fedora Core 7 * Fedora Core 6 * Fedora Core 5 Installieren Sie das entsprechende Paket einfach durch das folgende Kommando: rpm -i Sollten Sie bereits ein lteres Treiberpaket installiert haben, verwenden Sie stattdessen das folgende Kommando: rpm -U Es gibt allerdings eine Besonderheit bei Verwendung von SuSE10.0 auf einem 64-Bit-System mit der Anwendung "Moneyplex": Da diese Anwendung leider eine 32-Bit-Anwendung ist, kann sie nur mit der 32-Bit-Version unseres Treibers arbeiten. Leider war der Kernel von SuSE10.0 noch nicht in der Lage, alle 32-Bit-Aufrufe des Treibers nach 64-Bit umzuwandeln. Hier muss daher eine Aenderung an der Datei /etc/cyberjack.conf vorgenommen werden. Fuegen Sie bitte die folgende Zeile ein: "flags=0x20000". __________________________________________________________ 3.1.1. Einrichtung unter SuSE Linux Nach der Installation des Treibers muessen Sie die Benutzer, die auf den Leser zugreifen koennen sollen, in die Gruppe "cyberjack" einfuegen. Am einfachsten geschieht dies mit Yast: Starten Sie Yast, rufen Sie das Menu "Sicherheit und Benutzer" auf und dort "Gruppen bearbeiten und anlegen". Es erscheint ein Fenster, das standardmaessig die Systemgruppen nicht anzeigt, daher muessen Sie den Filter aendern. Klicken Sie dazu unten rechts auf "Filter festlegen" und waehlen Sie dort "Systemgruppen". Daraufhin sollten Sie in der Liste auch die Gruppe "cyberjack" finden, die Sie dann markieren muessen. Anschliessend klicken Sie unten auf "Bearbeiten". In dem Fenster, welches dann erscheint, setzen Sie bei den aufgefuehrten Benutzern, die auf den Leser zugreifen koennen sollen, die Markierung. Klicken Sie nun auf "Uebernehmen" und starten Sie das System neu, Der Leser sollte nun fuer die markierten Benutzer verwendbar sein. __________________________________________________________ 3.2. DEB-basiert Reiner-SCT bietet DEB-Pakete fr die folgenden Distributionen: * Debian stable * Debian unstable * Ubuntu 6.10 * Ubuntu 7.04 * Ubuntu 7.10 Installieren Sie das entsprechende Paket mit: dpkg -i __________________________________________________________ 3.3. Alle anderen Distributionen Es gibt momentan wenig Erfahrungen mit anderen Linux-Distributionen. Haben Sie ein RPM-basiertes System, so knnen Sie probieren eigene RPM-Paket zu erstellen: rpm --rebuild oder rpmbuild --rebuild Falls Sie den Treiber selber kompilieren wollen, wechseln Sie in das Hauptverzeichnis des entpackten Treiber-Paketes und geben Sie die folgenden Befehle ein: ./configure make Anschlieend knnen Sie den Treiber auf Ihr System installieren. Dazu bentigen Sie sehr wahrscheinlich Administrator-Rechte. make install __________________________________________________________ 4. Firmware-Update Die aktuelle Version dieses Treibers enthaelt das Tool "cjflash" welches das Aktualisieren der Firmware des Lesers erlaubt. Derzeit koennen damit allerdings nur die neuesten Cyberjack-Leser aktualisiert werden (mit der Produkt-Kennung 0x400) Der Linux-Treiber funktioniert mit diesen Geraeten nur mit einer Firmware in der Version groesser oder gleich 3.0.6. Sollte Ihr Leser eine aeltere Version enthalten, ist ein Update zwingend noetig. Auch nach diesem Update funktioniert der Leser weiterhin auch unter Windows. Um die Firmware zu aktualiseren geben Sie bitte das folgenden Kommando in einer Konsole ein: cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn ecoma2.bky Das erste Argument ist die Nummer des Lesers (beginnend mit "1", der 2. Leser hat die Nummer "2" etc). Das naechste Argument ist der Name der Datei mit der neuen Firmware gefolgt vom Namen der Datei mit der Signatur der neuen Firmware. Nachdem Sie das Kommando eingegeben haben fragt der Leser nach einer Bestaetigung. Druecken Sie die "OK"-Taste auf der Tastatur des Lesers zur Bestaetigung oder brechen Sie den Vorgang mit "CANCEL" ab. Sollte der Leser "haengen" nachdem Sie "OK" oder "CANCEL" gedrueckt haben, muessen Sie den Leser abziehen und neu anschliessen. Anschliessend muessen Sie eine leicht modifizierte Version des obrigen Kommandos verwenden: CJ_USB_MODE=1 cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn Hiermit wird die Umgebungsvariable "CJ_USB_MODE" gesetzt bevor das Update durchgefuehrt wird. Dadurch weiss der Treiber, dass es sich um einen Leser mit einer fuer Linux problematischen Firmware handelt und spricht ihn etwas anders an. Bitte setzen Sie die Umgebungsvariable nur, wenn "cjflash" sonst nicht funktioniert! __________________________________________________________ 5. Support Support fr diesen Treiber bietet REINER SCT. E-mail: support@reiner-sct.com Postadresse: Schwabacher Str. 34, 90762 Frth, Deutschland Bitte fgen Sie ihrer Problembeschreibung die folgenden Informationen bei: * Name und Version des verwendeten Programmes, mit dem der Fehler auftrat * die vollstndige Fehlermeldung * den Namen und die Version der von Ihnen verwendeten Linux-Distribution (z.B. SuSE 10.1, Debian 3.0r1 testing) * CPU-Typ (z.B. der Inhalt der Datei /proc/cpuinfo) * Kernelversion (z.B. die Ausgabe des Befehls uname -r) * Liste der angeschlossenen USB-Gerte (z.B. die Ausgabe des Befehls lsusb) __________________________________________________________ 6. Troubleshooting 6.1. Erste Schritte Mit dem Treiber wird das Tool "cyberjack" installiert. Es erzeugt Dateien mit Daten, die fuer den Support von Reiner SCT wichtig sind. Fuehren Sie daher in einer Konsole den folgenden Befehl aus; cyberjack Dabei entstehen im aktuellen Verzeichnis 3 Dateien. Schauen Sie sich zuerst die Datei cyberjack-hints.log an. Sie enthaelt eventuell bereits Hinweise, was Sie auf Ihrem System tun koennen, um das Problem selbst zu beheben (oft sind es nur Kleinigkeiten). Sollte das nicht zum Erfolg fuehren, senden Sie bitte die ebenfalls entstandene Datei "cyberjack.xml" mit Ihrer Support-Anfrage mit, damit wir alle noetigen Informationen haben, um Ihnen helfen zu koennen. __________________________________________________________ 6.2. Aeltere cyberJacks cyberJacks mit der USB-Kennung 0x100 (alte Ecom/Pinpad) machen mitunter Probleme mit aktuellen Treibern. Falls das bei Ihnen der Fall sein sollte, gibt es die Moeglichkeit, das Verhalten des Treibers zu beeinflussen: cyberjack addflags 0x100000 Dieses Kommando muessen Sie als root ausfuehren. Es setzt ein Flag welches den Treiber bei jedem Initialisieren des Lesers ein Reset-Kommando schicken laesst. __________________________________________________________ 6.3. Groe Anzahl von Lesern Der cyberJack wurde mit bis zu 52 gleichzeitig angeschlossenen Gerten (ber 7-Port Hubs) getestet. Dabei gibt es allerdings etwas zu beachten: * Linux bis Version 2.4.19 hngt sich vollstndig auf, wenn zu viele Gerte angeschlossen sind. Versionen ab 2.4.20 weisen dieses Problem nicht mehr auf. * Es treten manchmal timeout-Fehler auf. Das Problem scheint hier im Linux-Kernel selbst zu liegen (usb-uhci). Mit schnelleren Rechnern tritt dieses Problem nicht mehr auf (ab 2GHz). * Sollte es immer noch nicht wie gewnscht funktionieren, sollten Sie die beteiligten USB-Controller-Karten und/oder Hubs austauschen. Es gibt hier offensichtlich eine besonders groe Streubreite in der Qualitt dieser Gerte. Der Daten-Durchsatz nimmt nicht ab, wenn Sie statt einem 50 Kartenleser anschlieen und konstant auslesen (getestet mit den Kommandos SELECT und READ_BINARY). __________________________________________________________ 6.4. Hotplugging Linux untersttzt hotplugging (das Einstecken und Entfernen von USB-Gerten bei laufendem Betrieb). Dies wird durch das udev-System implementiert. Sie finden udev-Skriptdateien fr die REINER SCT Kartenleser im Verzeichnis etc/udev des Quellpaketes. Da udev-Skripte Distributions-spezifisch sind (nicht alle verwenden udev, und SuSE verwendet ausserdem resmgr, zudem sind auch die Namen der Skripte nicht einheitlich), knnen wir nicht fr alle am Markt existierenden Distributionen die passenden Skripte bereitstellen. Die von uns gelieferten RPM- und DEB-Pakete installieren die fr das jeweilige System passenden Dateien an die vorgesehene Stelle, so da mit diesen Paketen hotplugging problemlos mglich ist. __________________________________________________________ 6.5. Logging Dieser Treiber erlaubt die Aufzeichnung der Kommunikation mit dem Kartenleser. Sie schalten es ein, indem Sie als root das Kommando cyberjack addflags 0xffff ausfuehren. Dann schreibt der Treiber die Logmeldungen in die Datei /tmp/cj.log. __________________________________________________________ 7. Bekannte Probleme Leider enthalten alle Kernel bi einschliesslich Version 2.6.12-rc5 einen schweren Fehler in der Behandlung von asynchronen URB's (USB Request Block) im Userspace. Dieser Fehler hat nichts mit dem Reiner SCT Treiber zu tun, dennoch betrifft er auch unseren Treiber fr PC/SC. Der Fehler tritt auf, wenn der PC/SC Dienst beendet wird und kann im schlimmsten Fall zum vollstndigen Absturz des Kernels fhren. Es wurde eine Lsung erarbeitet, die aber bisher nicht offizieller Bestandteil des Linux-Kernels ist. Wir bieten unsere Lsung aber als patch an (in Form der Datei patches/usb-async_urb-devio-oops-fix.patch). Falls Sie PC/SC in Verbindung mit einem betroffenen Kernel verwenden wollen, raten wir daher dringend dazu den mitgelieferten Patch anzuwenden. __________________________________________________________ 8. Anwendungen 8.1. Moneyplex Moneyplex bringt seine eigenen Treiber fuer die bekanntesten Geraete mit. Leider sind die Treiber fuer den Cyberjack, die sich auf der Moneyplex-CD befinden, meist veraltet und funktionieren auf aktuellen Systemen nicht. Sie sollten daher unbedingt den jeweils aktuellsten Treiber von unserer Homepage herunterladen und installieren. Anschliessend muessen Sie dann im entsprechenden Konfigurationsmenue von Moneyplex direkt unseren Treiber angeben (je nach System entweder in /usr/lib oder in /usr/lib/readers, Dateiname ist "libctapi-cyberjack.so". Damit sollte Moneyplex auch mit dem Cyberjack zusammenarbeiten koennen. __________________________________________________________ 8.1.1. Moneyplex auf 64-Bit-Systemen Moneyplex ist eine 32-Bit-Anwendung. Als solche kann sie zwar auch auf 64-Bit-Systemen ausgefuehrt werden, findet aber auf solchen Systemen keine Kartenleser-Treiber (weil es nach 32-Bit-Treibern sucht, die aber auf einem solchen System normalerweise nicht vorhanden sind). Es wurde allerdings auch fuer diesen Fall eine Loesung mit Matrica erarbeitet. Moneyplex liefert - spaetestens nach einem Update - einen Proxy-Treiber mit (libproxy-cyberjack.so), welcher einer 32-Bit-Anwendung erlaubt, auf die installierten 64-Bit-Treiber zuzugreifen. Diesen Treiber finden Sie normalerweise im Moneyplex-Verzeichnis ($HOME/moneyplex), und dort ueblicherweise im Unterverzeichnis "ctapi". Waehlen Sie diesen Treiber in Moneyplex aus. __________________________________________________________ 9. Zustzliche Information 9.1. CT-API Die CT-API Spezifikation erhalten Sie auf der Seite http://www.darmstadt.gmd.de/~eckstein/CT/mkt.html Bitte beachten Sie, da die Port-Nummern bei 1 beginnen (wie in den Spezifikationen vorgesehen). __________________________________________________________ 9.2. PC/SC Dieser Treiber bietet inzwischen auch einen PC/SC-Treiber fr pcsc-lite an. Er wurde mit pcsc-lite-1.2.0 getestet. __________________________________________________________ 9.2.1. Installation Fr RPM-basierte Systeme ist der sogenannte IFD-Treiber im Paket ctapi-cyberjack-ifd enthalten. Falls Sie den Treiber aus dem Quellpaket selber kompilieren, wird durch make install der IFD-Treiber an die passende Stelle in Ihrem System (normalerweise /usr/lib/pcsc/drivers/) installiert. __________________________________________________________ 9.3. Multithreading Dieser Treiber ist nicht thread-safe, d.h. es knnen nicht mehrere Threads des gleichen Programmes auf den gleichen Leser zugreifen (dies wrde aber ohnehin meist zu Problemen auf der Karte fhren). Allerdings knnen unterschiedliche Threads des gleichen Programmes auf unterschiedliche Gerte zugreifen. So knnen also beispielsweise 3 Threads gleichzeitig auf 3 Karten in 3 unterschiedlichen Gerten zugreifen. __________________________________________________________ 9.4. Kommandolange Die Kommandolnge ist derzeit auf ISO7816 short commands reduziert. Dies bedeutet allerdings im normalen Betrieb keine Einschrnkung. __________________________________________________________ 9.5. Tastendruck Callback IS8 rsct_setkeycb(IU16ctn, void (*cb) (void *user_data)); Die Funktion rsct_setkeycb wurde hinzugefgt, um laufenden Programmen eine Rckmeldung ber gedrckte Tasten des Lesers zu geben. Die Funktion, die als 2. Argument dieses Aufrufes geliefert wird, wird jeweils aufgerufen, wenn ein C4- oder F4 S-Block vom Leser empfangen wurde. Die Anwendung kann dann beispielsweise einen Piepton erzeugen, oder die Anzahl der gedrckten Tasten anzeigen. __________________________________________________________ 9.6. Informationen zur Treiberversion void rsct_version(IU8*vmajor, IU8*vminor, IU8*vpatchlevel, IU16*vbuild); Die Funktion rsct_version gibt die vollstaendige Version des Treibers in den uebergebenen Variablen zurueck. __________________________________________________________ 9.7. Zusaetzliche CT_init Ersatz-Funktion IS8 rsct_init_name(IU16ctn, const char*device_name); Die Funktion rsct_init_name erlaubt die direkte Angabe des Geraetes wie bei PC/SC. Damit kann eindeutig festgelegt werden, welches Geraet verwendet werden soll. Der Geraetename ist wie folgt aufgebaut: "usb:VENDOR_ID/PRODUCT_ID:libusb:BUS_ID:DEVICE_ID". Fuer einen neuen Cyberjack an /proc/bus/usb/003/002 lautet der Name demnach: "usb:0c4b/0300:libusb:003:002". __________________________________________________________ 9.8. Feste Zurodnung der Portnummer zu Lesern Die Funktion CT_init erlaubt eine feste Zurdnung von Portnummern zu bestimmten Lesern. Das bedeutet beispielsweise, dass immer der gleiche Leser unter der gleichen Portnummer angesprochen wird, egal an welchem USB-Port das Geraet angeschlossen ist. Dies erreichen Sie, indem Sie als Portnummer die folgenden Nummern verwenden: * 0x9000 (dezimal 36864) fuer das erste Geraet * 0x9001 (dezimal 36865) fuer das zweite Geraet und so weiter. Die Zuordnung geschieht ueber eine Text-Datei, in der pro Zeile eine Seriennummer gespeichert ist (normalerweise ist dies $HOME/cyberjack_serials). Der Treiber aktualisiert diese Datei selbststaendig, es ist hierzu kein Benutzereingriff noetig. Falls die Datei beim Aufruf von CT_init() noch nicht existiert, wird sie erzeugt. Wenn sie bereits existiert, und der angeschlossene Leser bereits in dieser Datei aufgefuehrt wird, bleibt die Datei unveraendert. Der Treiber fuegt lediglich neue Leser an das Ende der Datei an. Die erste Seriennummer dieser Datei wird ueber den Portwert 0x9000 angesprochen, die zweite ueber 0x9001 etc. __________________________________________________________ 9.9. Serielle Leser Der aktuelle Treiber unterstuetzt den Lesertyp Ecom A via seriellem Anschluss. Dazu muessen Sie die folgenden Portnummern verwenden: * 0xa000 (dezimal 40960) fuer Anschlu an COM1 (/dev/ttyS0) * 0xa001 (dezimal 40961) fuer Anschlu an COM2 (/dev/ttyS1) und so weiter. __________________________________________________________ 9.10. Zurodnung alter Cyberjack zu ttyUSB-Devices Die Funktion CT_init erlaubt fuer aeltere Cyberjack Ecoms und PinPads (mit der USB-Id 0x100) eine direkte Zurodnung von Port-Werten zu /dev/ttyUSBx-Geraeten. Dies erreichen Sie, indem Sie als Portnummer die folgenden Nummern verwenden: * 0x8000 (dezimal 32768) fuer /dev/ttyUSB0 * 0x8001 (dezimal 32769) fuer /dev/ttyUSB1 und so weiter. __________________________________________________________ 9.11. Pin-Ueberpruefung mit der PC/SC Funktion SCardControl Die folgende Tabelle zeigt Werte fuer die einzelnden Felder der Struktur PSCS_VERIFY_STRUCTURE die mit ASCII und FPIN2-kodierten Pins getestet wurden. Feld ASCII FPIN2 bTimerOut 00 00 bTimerOut2 00 00 bmFormatString 82 81 bmPINBlockString 04 48 bmPINLengthFormat 00 04 wPINMaxExtraDigit 0408 0408 bEntryValidationCondition 02 02 bNumberMessage 01 01 wLangId 0904 0904 bMsgIndex 00 00 bTeoPrologue 0-2 00 00 __________________________________________________________ 10. Mitgelieferte Anwendungen 10.1. cyberjack Diese Anwendung dient zum einen dem Testen des Treibers und Lesers zum anderen der Aenderung von Einstellungen des Treibers. Die Einstellungen des Treibers finden sich in der Konfigurationsdatei cyberjack.conf. Es wird je nach Distribution in dem Verzeichnis /etc, /etc/cyberjack oder /usr/etc erwartet. Standardmaessig wird von den binaeren Paketen eine Beispieldatei mit dem Namen cyberjack.conf.default angelegt die als Ausgangsdatei fuer eigene Konfigurationen verwendet werden kann. Gespeicherte Einstellungen beinhalten derzeit eine Reihe von Flags sowie einige Dateinamen (wie z.B. der Name der Logdatei etc). __________________________________________________________ 10.1.1. Kommandos addflags/delflags Da die Konfiguration je nach Distribution an unterschiedlichen Stellen im System abgelegt wird wurde das Tool "cyberjack" um zwei neue Kommandos erweitert: * cyberjack addflags 0xffff * cyberjack delflags 0xffff Damit koennen bestimmte Flags gesetzt oder geloescht werden. Derzeit stehen die folgenden Flags zur Verfuegung: Wert Name Beschreibung 0x00000001 DEBUG_GENERIC Schaltet generelle Debug-Meldungen ein. Diese Meldungen werden in die Logdatei geschrieben (normalerweise /tmp/cj.log). 0x00000002 DEBUG_READER Schaltet Leser-bezogene Debug-Meldungen ein. 0x00000004 DEBUG_CTAPI Schaltet CTAPI-bezogene Debug-Meldungen ein. 0x00000008 DEBUG_AUSB Schaltet USB-bezogene Debug-Meldungen ein. 0x00000010 DEBUG_CJPPA Schaltet bestimmte Debug-Meldungen des Cyberjack PinPad A ein. 0x00000020 DEBUG_ECOM Schaltet bestimmte Debug-Meldungen des Cyberjack Ecom ein. 0x00000040 DEBUG_TRANSFER Schaltet IO-bezogene Debug-Meldungen ein. 0x00000080 DEBUG_USB Schaltet weitere USB-bezogene Debug-Meldungen ein. 0x00000100 DEBUG_IFD Schaltet IFD-bezogene Debug-Meldungen ein (PC/SC) 0x00000200 DEBUG_ECA Schaltet bestimmte Debug-Meldungen des Cyberjack Ecom A ein. 0x00001000 NO_BEEP Schaltet die Signaltoene bei Tastendruecken aus. 0x00002000 ECOM_KERNEL Verwendet den Kernel-Treiber fuer den Cyberjack Ecom/Pinpad mit der USB ID 0x100. Dies kann verwendet werden, wenn der normale Userspace-Treiber auf Ihrem System nicht funktioniert. 0x00004000 ALLOW_INPUT Erlaubt das Kommando INPUT. Dies ist normalerweise aus Sicherheitsgruenden deaktiviert. Nur ganz spezielle Anwendungen benoetigen dieses Kommando, insbesondere Banking-Programme benoetigen es jedoch nicht. Sie sollten sich daher gut ueberlegen, ob Sie das Kommando aktivieren wollen, denn es kann dazu verwendet werden, Ihnen eine unsichere Pin-Eingabe als sicher vorzutaeuschen. 0x00008000 BEEP_NO_X11 Normalerweise versucht der Treiber fuer die Signaltoene auf einen laufenden X11-Server zuzugreifen (Ihre grafische Oberflaeche). Wenn dies nicht gelingt, wird versucht die Signaltoene ueber andere Methoden zu erzeugen. Mit diesem Flag koennen Sie verhindern, dass der X11-Server kontaktiert wird. 0x00010000 RESET_BEFORE Dieses Flag betrifft nur aeltere cyberJacks (pinpad und ecom mit der USB-Kennung 0x100). Wenn dieses Flag gesetzt ist, fuehrt der Treiber ein Reset durch. Dies sollte normalerweise nicht noetig sein, kann aber mit manchen Lesern den Betrieb ueberhaupt erst ermoeglichen. Wenn Sie also ein ausfuehrliches Logging einschalten wollen, fuehren Sie das folgende Kommando aus: cyberjack addflags 0xffff Sie sehen hier, dass der angegebene Wert 0xffff alle Flags enthaelt, deren Name mit DEBUG_ anfaengt. Wenn Sie nun zusaetzlich den Cyberjack Ecom/Pinpad ueber den Kernel-Treiber verwenden wollen, koennen Sie dazu entweder anschliessend ein zusaetzliches Kommando eingeben; cyberjack addflags 0x20000 oder Sie fuegen das Flag dem ersten Aufruf gleich hinzu, wie in cyberjack addflags 0x2ffff __________________________________________________________ 10.1.2. Kommando check Dieses Kommando wird standardmaessig angenommen, wenn Sie keines angeben. Es ueberprueft Ihr System und erzeugt 3 Dateien im aktuellen Verzeichnis: * cyberjack-hints.log: Diese Datei enthaelt bei gefundenen Problemen Hinweise, wie Sie diese beheben koennen. * cyberjack-report.log: Diese Datei enthaelt einen Bericht ueber die Ergebnisse des Systemtests. * cyberjack.xml: Diese Datei enthaelt die Ergebnisse der Tests in einer Form, die dem Support von Reiner SCT hilft Sie bei Problemen zu unterstuetzen. Sie sollten diese Datei daher immer mitsenden. pcsc-cyberjack-3.99.5final.SP03/doc/README.html0000644000175000001440000006401411657145411017314 0ustar sctusers REINER SCT cyberJack pinpad/e-com USB chipcard reader driver

REINER SCT cyberJack pinpad/e-com USB chipcard reader driver

$Date$

This is the user manual to the linux driver for REINER SCT cyberjack chipcard readers.


1. Overview

This driver for the REINER SCT cyberJack pinpad/e-com USB family of chipcard readers implements the CT-API 1.1 interface, as well as the PC/SC interface of pcsc-lite.

It is implemented 100% in userspace. This means no trouble with different kernel versions, compiling/patching the kernel etc.

All accesses are done via the usb devfs in /proc/bus/usb (or /dev/bus/usb for udev-based systems).

Permission handling is done only via udev. The cyberjack.rules if installed to /etc/udev/rules.d is automatically called by udev when a reader is plugged in. This scripts dynamically updates the permissions of the respective device, so users in the group cyberjack are able to access it.

For more information about the smart card reader itself please visit http://www.reiner-sct.com/. There is also a shop where the the readers can be ordered online.


2. Readers supported by this driver

The following Reiner-SCT readers are supported:

Product ProductID
REINER SCT cyberJack pinpad USB 0x100
REINER SCT cyberJack e-com USB 0x100
REINER SCT cyberJack pinpad_a USB 0x300
You can use the lsusb command to list all devices connected to the USB bus of your machine. It will print out the vendor and device ID of all your devices, like :

Bus Nr Device Nr VeID:PrID Bus 002 Device 002: ID 0451:1446 Texas Instruments, Inc. TUSB2040/2070 Hub Bus 002 Device 006: ID 0c4b:0300

The REINER SCT VendorID is 0c4b. ProductID's can be looked up in the table above.


3. distribution-specific notes

You find all packages at http://www.reiner-sct.com/content/view/32/43/#linux.

Most packages need you to add the user which is to access the card reader to be added to the group cyberjack. This can be done by using the tool kuser or the system's administration tool (e.g. yast on SuSE).

You should reboot your machine after installing the driver package and adding the user to the group cyberjack in order for the changes to take effect.


3.1. RPM-based

Reiner-SCT provides RPM packages for the following distributions:

  • SuSE 10.2

  • SuSE 10.1

  • SuSE 10.0

  • SuSE 9.3

  • Fedora Core 5

  • Fedora Core 4

Just install the package corresponding to your system like this: rpm -i <package file>

If you already have one of Reiner-SCT's previous RPM packages installed you must update that existing package instead, like in: rpm -U <package file>


3.2. DEB-based

Reiner-SCT provides RPM packages for the following distributions:

  • Debian unstable

  • Ubuntu 6.06

  • Ubuntu 6.10

Just install the package corresponding to your system like this: dpkg -i <package file>


3.3. All other Distributions

There is currently no experience with other Linux distributions. It should work in most cases as described above. If you get any problems with the RPM package, you can try to rebuild it on your system with rpm --rebuild <source package file> or rpmbuild --rebuild <source package file>

If you want to compile the source yourself just go into the main directory of the extracted archive and type ./configure make

The include file ctapi.h and the resulting library libctapi-cyberjack.so from the directory ctapi/ can then be copied to convenient places. For ctapi.h this would normally be /usr/include and for the library /usr/lib. The command make install can do that for you.

The name scheme libctapi-cyberjack.* has been choosen to make it possible to install more than one CT-API library on your system.


4. Updating the Firmware

The latest driver contains the tool "cjflash" which can be used to update the firmware of the reader.

The current version of this tool only supports flashing newer Cyberjack devices (USB product id 0x400).

To update the firmware just use the following command: cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn

The first argument is the number of the device (starting with "1", the second reader would be "2"). The next argument is the name of the file containing the new firmware, followed by the name of the file containing the signature of the new firmware.

After this command has been issued the reader asks you to confirm the operation (press "OK" on the reader's keypad to confirm or "CANCEL" to abort).

If the reader hangs after you pressed "OK" then it has an old firmware. In that case you'll have to use a slightly modified version of the command above: CJ_USB_MODE=1 cjflash 1 Kernel_V30_07.bin Kernel_V30_07.bin.ecoma.sgn

This sets the environment variable "CJ_USB_MODE" to the value "1" prior to executing the command. This tells the driver (which is used by cjflash) that another approach to the reader is needed.

Please only set that variable if the tool doesn't work otherwise!


5. Support

Support of this driver is provided by REINER SCT. E-mail: support@reiner-sct.com Postal address: Schwabacher Str. 34, 90762 Fürth, GERMANY

In your problem description, please include as far as possible:

  • Any error messages you get.

  • Which Linux distribution you use including version, e.g. SuSE 10.1, Debian 3.0r1 testing, ...

  • CPU type, e.g. on Linux the content of the file /proc/cpuinfo.

  • Kernel version, e.g. on Linux the output from the command uname -r.

  • List of attached USB devices, e.g. on Linux the output of the lsusb command.


6. Troubleshooting

6.1. How to check the kernel version

You can determine the version of the currently running kernel by executing uname -r

The version of the installed kernel sources, which are normally located below /usr/src, can be determined by looking at the source directory name or by looking into the main Makefile, where it is in the first three lines.


6.2. Large number of readers

The cyberJack has been tested with up to 52 devices attached simultaneously to a single PC via 7-port hubs. Some notes regarding this configuration:

  • Linux at least up to 2.4.19 does result in a kernel panic, when too many devices are attached. Known to work is 2.4.20.

  • Sometimes timeouts occur resulting in a shift of the T=1 blocks resulting in bad performance and sooner or later a failure of communcation. The problem seems to lie somewhere in the usb-uhci part and vanishes with a faster PC. (Try >2GHz)

  • If there are still some problems try other hubs and other USB host controller cards. There seems to be a great difference in quality in these parts.

The performance does not degrade, when going from 1 up to 50 readers, even when doing constant I/O with cards. (Select and Read Binary)


6.3. Hotplugging

Linux supports hotplugging with USB devices. This is implemented via the udev-system.

You can find some udev scripts for the REINER SCT cyberjack reader family in the etc/udev directory of this archive.

Since udev-related scripts are highly distribution specific, REINER SCT can only provide limited support in this area. The provided RPM and Debian packages install those scripts to their respective places.


6.4. Logging

The cyberjack CT-API library supports logging of the communication with the reader. This is done, if at the moment CT_init is called the environment variable CJDEBUG exists. The default output file is /tmp/cj.log. The logging is done on T=1 level and each entry begins with a time stamp.


7. Known Issues

Unfortunately, all Linux kernel versions, at least up to (including) 2.6.12-rc5 have a severe bug in the handling of asynchronous URB's (USB Request Blocks) in userspace. This bug is totally unrelated to the REINER-SCT cyberjack driver, but it will show as soon as the PC/SC daemon terminates (and you're using a pinpad_a (0x300) reader. The bug can crash your kernel :(.

A bugfix has been developed (but not yet included into the mainline kernel). It is available as kernel patch in 'patches/usb-async_urb-devio-oops-fix.patch'.

It is strongly recommended to apply this kernel patch if you intend to use the PC/SC driver.


8. Additional Information

8.1. Beeping at Keypress

Starting with Version 2.0.5 of ctapi-cyberjack, the host PC will emit a beep sound at every key press. The driver tries to detect the best mechanism for beeping by itself, i.e. xBell when you run under X11, or sending a BEL ASCII character to STDOUT when running as a console application.

If you want to disable the beep, you can set the CJCTAPI_NO_KEYBEEP environment variable before starting your application.

Depending on your shell, this can be achieved with a command like export CJCTAPI_NO_KEYPRESS.


8.2. Mandatory locking

Normal locking is only advisory, i.e. the programs must be cooperative to do the locking properly. A non-cooperative program can ignore a lock and access the reader. Mandatory locking, which stops even a malicious program from access the reader when it is locked, requires setting special permissions of the device node.

From linux/Documentation/mandatory.txt: " A file is marked as a candidate for mandatory locking by setting the group-id bit in its file mode but removing the group-execute bit. This is an otherwise meaningless combination, and was chosen by the System V implementors so as not to break existing user programs. "


8.3. Permissions

If a normal user should be able to access and use the cyberJack chipcard reader, the permissions should be '2666'. The '2' enables the mandatory locking described in the section before. The '666' enables read/write for all users.


8.4. CT-API

The CT-API specification can be downloaded at http://www.darmstadt.gmd.de/~eckstein/CT/mkt.html

Please note, that the port numbers start with one. This behaviour is specified in the CT-API documentation.


8.5. PC/SC

This driver package now contains a working PC/SC driver for pcsc-lite. The driver was tested with pcsc-lite-1.2.0 up to 1.3.1.


8.5.1. Installation

If you're installing the driver via a pre-built RPM package, make sure you install the "ctapi-cyberjack-ifd-handler" package.

If you're building the driver from source code, make sure you install the pcsc/ifd-cyberjack.bundle directory to the "usb plugdir" directory of your pcsc-lite installation. The default make install procedure puts it into /usr/lib/pcsc/drivers/.


8.6. Multithreading

The library is NOT save against multiple threads accessing at the same time the same reader. This gives you also most probably problems with your card anyway.

The library is save against multiple threads accessing multiple readers. So you could start 3 threads, each accessing their own card in their own reader.


8.7. command size

The command size is currently limited to ISO7816 short commands.


8.8. Keypressed callback

IS8 rsct_setkeycb(IU16ctn, void (*cb) (void *user_data));

The function rsct_setkeycb has been added to specify a callback to signal keypresses. The function specified in the second parameter is called whenever a C4 or F4 S-block is received from the reader. This information can be used to help the user, when entering a PIN on the cyberJack pinpad reader, which does not show how many keys have been pressed.


8.9. Obtaining Version Info

void rsct_version(IU8*vmajor, IU8*vminor, IU8*vpatchlevel, IU16*vbuild);

The function rsct_version returns the complete version of the driver.


8.10. Additional CT_init Replacement Function

IS8 rsct_init_name(IU16ctn, const char*device_name);

The function rsct_init_name can be used to directly specify the device to be used. The device name is specified like for PC/SC drivers: "usb:VENDOR_ID/PRODUCT_ID:libusb:BUS_ID:DEVICE_ID", so for a new cyberjack at /proc/bus/usb/003/002 the correct name would be: "usb:0c4b/0300:libusb:003:002"


8.11. Verifying Pins Using PC/SC Function SCardControl

The following table shows values for the PSCS_VERIFY_STRUCTURE object which have been tested with ASCII and FPIN2 formatted pins.

Field ASCII FPIN2
bTimerOut 00 00
bTimerOut2 00 00
bmFormatString 82 81
bmPINBlockString 04 48
bmPINLengthFormat 00 04
wPINMaxExtraDigit 0408 0408
bEntryValidationCondition 02 02
bNumberMessage 01 01
wLangId 0904 0904
bMsgIndex 00 00
bTeoPrologue 0-2 00 00
pcsc-cyberjack-3.99.5final.SP03/install-sh0000755000175000001440000003253711660155124016731 0ustar sctusers#!/bin/sh # install - install a program, script, or datafile scriptversion=2009-04-28.21; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg 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 "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # 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: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-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 eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test -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"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: pcsc-cyberjack-3.99.5final.SP03/Makefile.cvs0000644000175000001440000000270611657210262017153 0ustar sctusers #MY_CFLAGS=-W -pedantic -std=c99 -ggdb -Wall -O -ggdb MY_CFLAGS=-ggdb -Wall default: all cvsclean:: rm -f `find . -name \*~` rm -f `find . -name Makefile` rm -f `find . -name Makefile.in` rm -Rf apidoc rm -f INSTALL rm -f aclocal.m4 rm -rf autom4te.cache/ rm -f config.guess rm -f config.h.in rm -f config.sub rm -f configure rm -f debian/autoreconf.after rm -f debian/autoreconf.before rm -f depcomp rm -f ltmain.sh rm -f m4/libtool.m4 rm -f m4/ltoptions.m4 rm -f m4/ltversion.m4 rm -f m4/lt~obsolete.m4 rm -f debian/files rm -f debian/fxcyberjack.debhelper.log rm -f debian/fxcyberjack.substvars rm -rf debian/fxcyberjack/ rm -f debian/libifd-cyberjack6.debhelper.log rm -f debian/libifd-cyberjack6.postinst.debhelper rm -f debian/libifd-cyberjack6.postrm.debhelper rm -f debian/libifd-cyberjack6.preinst.debhelper rm -f debian/libifd-cyberjack6.substvars rm -rf debian/libifd-cyberjack6/ rm -rf debian/tmp/ all: libtoolize -f --automake --copy aclocal -I ./m4 autoheader automake --add-missing --copy autoconf mp: libtoolize -f --automake --copy aclocal -I ./m4 autoheader automake --add-missing --foreign --copy autoconf CFLAGS="$(MY_CFLAGS)" CXXFLAGS="-ggdb -Wall" ./configure --disable-static clang: libtoolize -f --automake --copy aclocal -I ./m4 autoheader automake --add-missing --foreign --copy autoconf CFLAGS="$(MY_CFLAGS)" CXXFLAGS="-ggdb -Wall" \ CC=clang \ CXX=clang \ ./configure --disable-static pcsc-cyberjack-3.99.5final.SP03/README0000644000175000001440000000000011657145411015565 0ustar sctuserspcsc-cyberjack-3.99.5final.SP03/ifd/0000755000175000001440000000000011660201015015444 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/ifd/Makefile.am0000644000175000001440000000171711657145411017523 0ustar sctusers EXTRA_DIST=Info.plist.in PkgInfo ifd_special.cpp AM_CFLAGS=$(visibility_cflags) AM_CPPFLAGS=$(visibility_cflags) noinst_HEADERS=\ ctbcs.h ifd.h cyberjack_l.h INCLUDES=-I$(top_srcdir)/include -I../include/driver -I../include/firmware -I.. -I../cjeca32 -I.. -I../cjeca32/ausb $(pcsc_includes) bundledir=$(usbdropdir)/libifd-cyberjack.bundle/Contents bundle_DATA=Info.plist PkgInfo if IS_LINUX bundlelinuxdir=$(usbdropdir)/libifd-cyberjack.bundle/Contents/Linux bundlelinux_LTLIBRARIES=libifd-cyberjack.la endif if IS_OSX bundleosxdir=$(usbdropdir)/libifd-cyberjack.bundle/Contents/MacOS bundleosx_LTLIBRARIES=libifd-cyberjack.la endif libifd_cyberjack_la_SOURCES=ifd.cpp libifd_cyberjack_la_LDFLAGS=-version-info @CYBERJACK_SO_CURRENT@:@CYBERJACK_SO_REVISION@:@CYBERJACK_SO_AGE@ -no-undefined #libifd_cyberjack_la_LIBADD=$(top_builddir)/cjeca32/libeca.la $(top_builddir)/cjeca32/ausb/libausb.la libifd_cyberjack_la_LIBADD=$(top_builddir)/cjeca32/libeca.la -lstdc++ pcsc-cyberjack-3.99.5final.SP03/ifd/cyberjack_l.h0000644000175000001440000001750111657145411020106 0ustar sctusers/*************************************************************************** begin : Mon Aug 14 2006 copyright : (C) 2006 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef CYBERJACKAPI_H #define CYBERJACKAPI_H #include #include #include #define CT_MAX_DEVICES 256 #define CT_INVALID_CTN (0xffff) #define CT_API_RV_OK 0 #define CT_API_RV_ERR_INVALID -1 #define CT_API_RV_ERR_CT -8 #define CT_API_RV_ERR_TRANS -10 #define CT_API_RV_ERR_MEMORY -11 #define CT_API_RV_ERR_HOST -127 #define CT_API_RV_ERR_HTSI -128 #define CT_API_AD_HOST 2 #define CT_API_AD_REMOTE 5 #define CT_API_AD_CT 1 /* 14 (0x0e) is normally used for chipcard slot 14, but no cyberjack has that many * slots, so we can safely use this value here */ #define CT_API_AD_DRIVER 14 #define CJ_CTAPI_MAX_LENC (4+1+255+1) #define CJ_CTAPI_MAX_LENR (256+2) #define CJ_KEY_DIGIT 1 #define CJ_KEY_CLEAR 2 #define CT_LOGFILE_LIMIT (10*1024*1024) /* some special APDUs specific to cyberJack ECA and newer */ #define CJ_SPECIAL_CLA 0x30 /** Update the keys stored on the reader. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x10Bit 7=1: Last data block; Bit 6=1: abort; Bit 5=1: first data block; Bits 4-0: 0 * 0x00 * Key data (max 255 bytes per command)SW1, SW2
*/ #define CJ_SPECIAL_INS_KEYUPDATE 0x10 /** Delete all modules on the reader. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x200x00 * 0x00 * noneSW1, SW2
*/ #define CJ_SPECIAL_INS_DELETEALLMODS 0x20 /** Upload a module/kernel to the driver for later flashing. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x21Bit 6=1: abort; Bit 5=1: first data block; Bits 7, 4-0: 0 * 0x00 * Module data (max 255 bytes per command)SW1, SW2
*/ #define CJ_SPECIAL_INS_UPLOADMOD 0x21 /** Upload a module/kernel signature to the driver for later flashing. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x22Bit 6=1: abort; Bit 5=1: first data block; Bits 7, 4-0: 0 * 0x00 * Module data (max 255 bytes per command)SW1, SW2
*/ #define CJ_SPECIAL_INS_UPLOADSIG 0x22 /** Flash the kernel/module uploaded via @ref CJ_SPECIAL_INS_UPLOADSIG and @ref CJ_SPECIAL_INS_UPLOADMOD. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x230x00 * 0x00 * noneSW1, SW2
*/ #define CJ_SPECIAL_INS_UPLOADFLASH 0x23 /** Get the module info of the module previously uploaded via @ref CJ_SPECIAL_INS_UPLOADMOD. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x240x00 * 0x00 * noneModule info (cj_ModuleInfo) SW1, SW2
*/ #define CJ_SPECIAL_INS_UPLOADINFO 0x24 #define CJ_SPECIAL_INS_SHOWAUTH 0x30 /** Get the number of available module infos. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x310x00 * 0x00 * noneNumber of modules (1 byte) SW1, SW2
*/ #define CJ_SPECIAL_INS_GETMODCOUNT 0x31 /** Get a module info. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x32Index (0 for first module) * 0x00 * noneModule info (cj_ModuleInfo) SW1, SW2
*/ #define CJ_SPECIAL_INS_GETMODINFO 0x32 /** Get a reader info. * * * * * * * * * *
CLAINSP1P2DATAResponse
0x300x400x00 * 0x00 * noneReader info (cj_ReaderInfo) SW1, SW2
*/ #define CJ_SPECIAL_INS_GETREADERINFO 0x40 #ifdef __cplusplus extern "C" { #endif enum RSCT_KEY { RSCT_Key_Unknown=0, RSCT_Key_Digit, RSCT_Key_C, RSCT_Key_CLR, RSCT_Key_At, RSCT_Key_Ok, RSCT_Key_Up, RSCT_Key_Down }; /** * @return <0 on error, 0 if reader should beep, 1 if this has been handled * by the callback function */ typedef int (*CT_KEY_CB)(uint16_t ctn, int key, void *user_data); CJECA32_API int8_t CT_init(uint16_t ctn, uint16_t pn); CJECA32_API int8_t CT_data(uint16_t ctn, uint8_t *dad, uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); CJECA32_API int8_t CT_close(uint16_t ctn); CJECA32_API int8_t rsct_setkeycb(uint16_t ctn, CT_KEY_CB cb, void *user_data); CJECA32_API int8_t rsct_init_name(uint16_t ctn, const char *devName); CJECA32_API void rsct_version(uint8_t *vmajor, uint8_t *vminor, uint8_t *vpatchlevel, uint16_t *vbuild); CJECA32_API void rsct_log(uint16_t ctn, unsigned int what, const char *file, int line, const char *function, const char *format, ...); CJECA32_API void rsct_vlog(uint16_t ctn, unsigned int what, const char *file, int line, const char *function, const char *format, va_list args); CJECA32_API void rsct_log_bytes(uint16_t ctn, unsigned int what, const char *file, int line, const char *function, const char *hdr, int datalen, const uint8_t *data); CJECA32_API uint32_t rsct_ifd_ioctl(uint16_t ctn, uint32_t IoCtrlCode, uint8_t *Input, uint32_t InputLength, uint8_t *Output, uint32_t *OutputLength); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/ifd/Makefile.in0000644000175000001440000005576211660201015017530 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = ifd DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Info.plist.in \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = Info.plist CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(bundlelinuxdir)" \ "$(DESTDIR)$(bundleosxdir)" "$(DESTDIR)$(bundledir)" LTLIBRARIES = $(bundlelinux_LTLIBRARIES) $(bundleosx_LTLIBRARIES) libifd_cyberjack_la_DEPENDENCIES = $(top_builddir)/cjeca32/libeca.la am_libifd_cyberjack_la_OBJECTS = ifd.lo libifd_cyberjack_la_OBJECTS = $(am_libifd_cyberjack_la_OBJECTS) libifd_cyberjack_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(libifd_cyberjack_la_LDFLAGS) $(LDFLAGS) -o $@ @IS_LINUX_TRUE@am_libifd_cyberjack_la_rpath = -rpath $(bundlelinuxdir) @IS_OSX_TRUE@am_libifd_cyberjack_la_rpath = -rpath $(bundleosxdir) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(libifd_cyberjack_la_SOURCES) DIST_SOURCES = $(libifd_cyberjack_la_SOURCES) DATA = $(bundle_DATA) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ EXTRA_DIST = Info.plist.in PkgInfo ifd_special.cpp AM_CFLAGS = $(visibility_cflags) AM_CPPFLAGS = $(visibility_cflags) noinst_HEADERS = \ ctbcs.h ifd.h cyberjack_l.h INCLUDES = -I$(top_srcdir)/include -I../include/driver -I../include/firmware -I.. -I../cjeca32 -I.. -I../cjeca32/ausb $(pcsc_includes) bundledir = $(usbdropdir)/libifd-cyberjack.bundle/Contents bundle_DATA = Info.plist PkgInfo @IS_LINUX_TRUE@bundlelinuxdir = $(usbdropdir)/libifd-cyberjack.bundle/Contents/Linux @IS_LINUX_TRUE@bundlelinux_LTLIBRARIES = libifd-cyberjack.la @IS_OSX_TRUE@bundleosxdir = $(usbdropdir)/libifd-cyberjack.bundle/Contents/MacOS @IS_OSX_TRUE@bundleosx_LTLIBRARIES = libifd-cyberjack.la libifd_cyberjack_la_SOURCES = ifd.cpp libifd_cyberjack_la_LDFLAGS = -version-info @CYBERJACK_SO_CURRENT@:@CYBERJACK_SO_REVISION@:@CYBERJACK_SO_AGE@ -no-undefined #libifd_cyberjack_la_LIBADD=$(top_builddir)/cjeca32/libeca.la $(top_builddir)/cjeca32/ausb/libausb.la libifd_cyberjack_la_LIBADD = $(top_builddir)/cjeca32/libeca.la -lstdc++ all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ifd/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu ifd/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): Info.plist: $(top_builddir)/config.status $(srcdir)/Info.plist.in cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ install-bundlelinuxLTLIBRARIES: $(bundlelinux_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(bundlelinuxdir)" || $(MKDIR_P) "$(DESTDIR)$(bundlelinuxdir)" @list='$(bundlelinux_LTLIBRARIES)'; test -n "$(bundlelinuxdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(bundlelinuxdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(bundlelinuxdir)"; \ } uninstall-bundlelinuxLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(bundlelinux_LTLIBRARIES)'; test -n "$(bundlelinuxdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(bundlelinuxdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(bundlelinuxdir)/$$f"; \ done clean-bundlelinuxLTLIBRARIES: -test -z "$(bundlelinux_LTLIBRARIES)" || rm -f $(bundlelinux_LTLIBRARIES) @list='$(bundlelinux_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done install-bundleosxLTLIBRARIES: $(bundleosx_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(bundleosxdir)" || $(MKDIR_P) "$(DESTDIR)$(bundleosxdir)" @list='$(bundleosx_LTLIBRARIES)'; test -n "$(bundleosxdir)" || list=; \ list2=; for p in $$list; do \ if test -f $$p; then \ list2="$$list2 $$p"; \ else :; fi; \ done; \ test -z "$$list2" || { \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(bundleosxdir)'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(bundleosxdir)"; \ } uninstall-bundleosxLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(bundleosx_LTLIBRARIES)'; test -n "$(bundleosxdir)" || list=; \ for p in $$list; do \ $(am__strip_dir) \ echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(bundleosxdir)/$$f'"; \ $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(bundleosxdir)/$$f"; \ done clean-bundleosxLTLIBRARIES: -test -z "$(bundleosx_LTLIBRARIES)" || rm -f $(bundleosx_LTLIBRARIES) @list='$(bundleosx_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libifd-cyberjack.la: $(libifd_cyberjack_la_OBJECTS) $(libifd_cyberjack_la_DEPENDENCIES) $(libifd_cyberjack_la_LINK) $(am_libifd_cyberjack_la_rpath) $(libifd_cyberjack_la_OBJECTS) $(libifd_cyberjack_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ifd.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 install-bundleDATA: $(bundle_DATA) @$(NORMAL_INSTALL) test -z "$(bundledir)" || $(MKDIR_P) "$(DESTDIR)$(bundledir)" @list='$(bundle_DATA)'; test -n "$(bundledir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(bundledir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(bundledir)" || exit $$?; \ done uninstall-bundleDATA: @$(NORMAL_UNINSTALL) @list='$(bundle_DATA)'; test -n "$(bundledir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(bundledir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bundledir)" && rm -f $$files 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bundlelinuxdir)" "$(DESTDIR)$(bundleosxdir)" "$(DESTDIR)$(bundledir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-bundlelinuxLTLIBRARIES clean-bundleosxLTLIBRARIES \ clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-bundleDATA install-bundlelinuxLTLIBRARIES \ install-bundleosxLTLIBRARIES install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-bundleDATA uninstall-bundlelinuxLTLIBRARIES \ uninstall-bundleosxLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean \ clean-bundlelinuxLTLIBRARIES clean-bundleosxLTLIBRARIES \ clean-generic clean-libtool ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-bundleDATA install-bundlelinuxLTLIBRARIES \ install-bundleosxLTLIBRARIES 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-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-bundleDATA \ uninstall-bundlelinuxLTLIBRARIES \ uninstall-bundleosxLTLIBRARIES # 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: pcsc-cyberjack-3.99.5final.SP03/ifd/ctbcs.h0000644000175000001440000001234311657145411016733 0ustar sctusers/* CT-BCS commands, responses and parameters for terminals without keypad and display. This file is part of the Unix driver for Towitoko smartcard readers Copyright (C) 1998 1999 2000 Carlos Prados (cprados@yahoo.com) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _CTBCS_ #define _CTBCS_ /* * Command and response size */ #define CTBCS_MIN_COMMAND_SIZE 2 #define CTBCS_MIN_RESPONSE_SIZE 2 /* * Class byte of all CTBCS commands */ #define CTBCS_CLA 0x20 /* * Mandatory CT-BCS commands */ #define CTBCS_INS_RESET 0x11 /* Reset CT */ #define CTBCS_INS_REQUEST 0x12 /* Request ICC */ #define CTBCS_INS_STATUS 0x13 /* Get reader status */ #define CTBCS_INS_EJECT 0x15 /* Eject ICC */ /* * P1 parameter: functional units */ #define CTBCS_P1_CT_KERNEL 0x00 #define CTBCS_P1_INTERFACE1 0x01 #define CTBCS_P1_INTERFACE2 0x02 #define CTBCS_P1_INTERFACE3 0x03 #define CTBCS_P1_INTERFACE4 0x04 #define CTBCS_P1_INTERFACE5 0x05 #define CTBCS_P1_INTERFACE6 0x06 #define CTBCS_P1_INTERFACE7 0x07 #define CTBCS_P1_INTERFACE8 0x08 #define CTBCS_P1_INTERFACE9 0x09 #define CTBCS_P1_INTERFACE10 0x0A #define CTBCS_P1_INTERFACE11 0x0B #define CTBCS_P1_INTERFACE12 0x0C #define CTBCS_P1_INTERFACE13 0x0D #define CTBCS_P1_INTERFACE14 0x0E #define CTBCS_P1_DISPLAY 0x40 #define CTBCS_P1_KEYPAD 0x50 /* * P2 parameter for Reset CT: data to be returned */ #define CTBCS_P2_RESET_NO_RESP 0x00 /* Return no data */ #define CTBCS_P2_RESET_GET_ATR 0x01 /* Return complete ATR */ #define CTBCS_P2_RESET_GET_HIST 0x02 /* Return historical bytes */ /* * P2 parameter for Request ICC: data to be returned */ #define CTBCS_P2_REQUEST_NO_RESP 0x00 /* Return no data */ #define CTBCS_P2_REQUEST_GET_ATR 0x01 /* Return complete ATR */ #define CTBCS_P2_REQUEST_GET_HIST 0x02 /* Return historical bytes */ /* * P2 parameter for Get status: TAG of data object to return */ #define CTBCS_P2_STATUS_MANUFACTURER 0x46 /* Return manufacturer DO */ #define CTBCS_P2_STATUS_ICC 0x80 /* Return ICC DO */ /* * General return codes */ #define CTBCS_SW1_OK 0x90 /* Command successful */ #define CTBCS_SW2_OK 0x00 #define CTBCS_SW1_WRONG_LENGTH 0x67 /* Wrong length */ #define CTBCS_SW2_WRONG_LENGTH 0x00 #define CTBCS_SW1_COMMAND_NOT_ALLOWED 0x69 /* Command not allowed */ #define CTBCS_SW2_COMMAND_NOT_ALLOWED 0x00 #define CTBCS_SW1_WRONG_PARAM 0x6A /* Wrong parameters P1, P2 */ #define CTBCS_SW2_WRONG_PARAM 0x00 #define CTBCS_SW1_WRONG_INS 0x6D /* Wrong Instruction */ #define CTBCS_SW2_WRONG_INS 0x00 #define CTBCS_SW1_WRONG_CLA 0x6E /* Class not supported */ #define CTBCS_SW2_WRONG_CLA 0x00 #define CTBCS_SW1_ICC_ERROR 0x6F /* ICC removed, defective or */ #define CTBCS_SW2_ICC_ERROR 0x00 /* no longer reacts */ /* * Return codes for Reset CT */ #define CTBCS_SW1_RESET_CT_OK 0x90 /* Reset CT successful */ #define CTBCS_SW2_RESET_CT_OK 0x00 #define CTBCS_SW1_RESET_SYNC_OK 0x90 /* Synchoronous ICC, */ #define CTBCS_SW2_RESET_SYNC_OK 0x00 /* reset successful */ #define CTBCS_SW1_RESET_ASYNC_OK 0x90 /* Asynchoronous ICC, */ #define CTBCS_SW2_RESET_ASYNC_OK 0x01 /* reset successful */ #define CTBCS_SW1_RESET_ERROR 0x64 /* Reset not successful */ #define CTBCS_SW2_RESET_ERROR 0x00 /* * Return codes for Request ICC */ #define CTBCS_SW1_REQUEST_SYNC_OK 0x90 /* Synchoronous ICC, */ #define CTBCS_SW2_REQUEST_SYNC_OK 0x00 /* reset successful */ #define CTBCS_SW1_REQUEST_ASYNC_OK 0x90 /* Asynchoronous ICC, */ #define CTBCS_SW2_REQUEST_ASYNC_OK 0x01 /* reset successful */ #define CTBCS_SW1_REQUEST_NO_CARD 0x62 /* No card present */ #define CTBCS_SW2_REQUEST_NO_CARD 0x00 #define CTBCS_SW1_REQUEST_CARD_PRESENT 0x62 /* Card already present */ #define CTBCS_SW2_REQUEST_CARD_PRESENT 0x01 #define CTBCS_SW1_REQUEST_ERROR 0x64 /* Reset not successful */ #define CTBCS_SW2_REQUEST_ERROR 0x00 #define CTBCS_SW1_REQUEST_TIMER_ERROR 0x69 /* Timer not supported */ #define CTBCS_SW2_REQUEST_TIMER_ERROR 0x00 /* * Return codes for Eject ICC */ #define CTBCS_SW1_EJECT_OK 0x90 /* Command succesful, */ #define CTBCS_SW2_EJECT_OK 0x00 #define CTBCS_SW1_EJECT_REMOVED 0x90 /* Command succesful, */ #define CTBCS_SW2_EJECT_REMOVED 0x01 /* Card removed */ #define CTBCS_SW1_EJECT_NOT_REMOVED 0x62 /* Card not removed */ #define CTBCS_SW2_EJECT_NOT_REMOVED 0x00 /* * Data returned on Get Status command */ #define CTBCS_DATA_STATUS_NOCARD 0x00 /* No card present */ #define CTBCS_DATA_STATUS_CARD 0x01 /* Card present */ #define CTBCS_DATA_STATUS_CARD_CONNECT 0x05 /* Card present */ #endif /* _CTBCS_ */ pcsc-cyberjack-3.99.5final.SP03/ifd/ifd.h0000644000175000001440000001320211657145411016372 0ustar sctusers #ifndef RSCT_IFD_H #define RSCT_IFD_H #include "Platform.h" extern "C" { # include "ifdhandler.h" } #include "cjeca32.h" #ifdef HAVE_PTHREAD_H #include #endif #include #include #include /* Set structure elements aligment on bytes * http://gcc.gnu.org/onlinedocs/gcc/Structure_002dPacking-Pragmas.html */ #ifdef __APPLE__ #pragma pack(1) #else #pragma pack(push, 1) #endif typedef struct { uint8_t SAD; uint8_t DAD; uint16_t BufferLength; uint8_t buffer; } MCTUniversal_t; /* restore default structure elements alignment */ #ifdef __APPLE__ #pragma pack() #else #pragma pack(pop) #endif class IFDHandler { protected: class Context { private: DWORD m_lun; CReader *m_reader; #ifdef HAVE_PTHREAD_H pthread_mutex_t m_mutex; #endif ICC_STATE m_icc_state; DWORD m_atr_length; public: std::string dataToFlash; std::string signatureToFlash; uint32_t moduleCount; cj_ModuleInfo *moduleList; uint32_t busId; uint32_t busPos; uint16_t vendorId; uint16_t productId; public: Context(DWORD lun, CReader *r); ~Context(); DWORD getLun() const { return m_lun;}; CReader *getReader() { return m_reader;}; ICC_STATE *getState() { return &m_icc_state;}; DWORD getAtrLength() const { return m_atr_length;}; void lock(); void unlock(); }; typedef std::map ContextMap; public: IFDHandler(); ~IFDHandler(); int init(); RESPONSECODE createChannel(DWORD Lun, DWORD Channel); RESPONSECODE createChannelByName(DWORD Lun, char *devName); RESPONSECODE closeChannel(DWORD Lun); RESPONSECODE getCapabilities(DWORD Lun, DWORD Tag, PDWORD Length, PUCHAR Value); RESPONSECODE setCapabilities (DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value); RESPONSECODE setProtocolParameters (DWORD Lun, DWORD Protocol, UCHAR Flags, UCHAR PTS1, UCHAR PTS2, UCHAR PTS3); RESPONSECODE powerICC (DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD AtrLength); RESPONSECODE transmitToICC(DWORD Lun, SCARD_IO_HEADER SendPci, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD RxLength, PSCARD_IO_HEADER RecvPci); RESPONSECODE control(DWORD Lun, DWORD controlCode, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength, PDWORD RxReturned); RESPONSECODE iccPresence (DWORD Lun); protected: RESPONSECODE p10MctUniversal(Context *ctx, MCTUniversal_t *uni, PUCHAR RxBuffer, DWORD RxLength, PDWORD RxReturned); RESPONSECODE p10GetFeatures(Context *ctx, DWORD Lun, PUCHAR RxBuffer, DWORD RxLength, PDWORD RxReturned); int8_t _specialKeyUpdate(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialUploadMod(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialUploadSig(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialUploadFlash(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialUploadInfo(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialDeleteAllMods(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialShowAuth(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialGetModuleCount(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialGetModuleInfo(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _specialGetReaderInfo(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t _special(Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); private: #ifdef HAVE_PTHREAD_H pthread_mutex_t m_contextMutex; #endif ContextMap m_contextMap; }; #endif pcsc-cyberjack-3.99.5final.SP03/ifd/Info.plist.in0000644000175000001440000000323211660154635020040 0ustar sctusers CFBundleDevelopmentRegion English CFBundleExecutable @cyberjack_ifd_filename@ CFBundleInfoDictionaryVersion 6.0 CFBundleName cyberjack-ifd CFBundlePackageType BNDL CFBundleSignature ???? CFBundleVersion 0.0.1d1 ifdManufacturerString REINER SCT (www.reiner-sct.com) ifdProductString PC/SC Lite IFD driver ifdCapabilities 0x00000000 ifdProtocolSupport 0x00000001 ifdVersionNumber 0x00000001 ifdVendorID 0x0c4b 0x0c4b 0x0c4b 0x0c4b 0x0c4b 0x0c4b ifdProductID 0x0300 0x0400 0x0401 0x0500 0x0501 0x0502 ifdFriendlyName REINER SCT cyberJack pp_a REINER SCT cyberJack ecom_a REINER SCT cyberJack pp_a2 REINER SCT cyberJack RFID standard REINER SCT cyberJack RFID komfort REINER SCT cyberJack compact pcsc-cyberjack-3.99.5final.SP03/ifd/PkgInfo0000644000175000001440000000001111657145411016731 0ustar sctusersBNDL???? pcsc-cyberjack-3.99.5final.SP03/ifd/ifd_special.cpp0000644000175000001440000003535311657145411020440 0ustar sctusers/*************************************************************************** begin : Tue Mar 24 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ /* this file is included from ifd.cpp */ int8_t IFDHandler::_specialKeyUpdate(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { uint8_t dataLen; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } if (cmd[2] & 0x20) /* first block */ ctx->dataToFlash.erase(); if (cmd[2] & 0x40) { /* abort */ ctx->dataToFlash.erase(); response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } /* determine length of data */ if (cmd_len<5) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "APDU too short"); return CT_API_RV_ERR_INVALID; } /* add data */ dataLen=cmd[4]; if (dataLen) ctx->dataToFlash+=std::string((const char*) (cmd+5), dataLen); if (cmd[2] & 0x80) { uint32_t result; int rv; /* finished */ DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Updating key (%d bytes)", (int) (ctx->dataToFlash.size())); rv=r->CtKeyUpdate((uint8_t*) ctx->dataToFlash.data(), ctx->dataToFlash.size(), &result); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to update the keys (%d / %d)\n", rv, result); return CT_API_RV_ERR_CT; } } response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } int8_t IFDHandler::_specialUploadMod(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { uint8_t dataLen; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Module Upload"); if (cmd[2] & 0x20) /* first block */ ctx->dataToFlash.erase(); if (cmd[2] & 0x40) { /* abort */ ctx->dataToFlash.erase(); response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } /* determine length of data */ if (cmd_len<5) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "APDU too short"); return CT_API_RV_ERR_INVALID; } /* add data */ dataLen=cmd[4]; if (dataLen) ctx->dataToFlash+=std::string((const char*) (cmd+5), dataLen); response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } int8_t IFDHandler::_specialUploadSig(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { uint8_t dataLen; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Signature Upload"); if (cmd[2] & 0x20) /* first block */ ctx->signatureToFlash.erase(); if (cmd[2] & 0x40) { /* abort */ ctx->signatureToFlash.erase(); response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } /* determine length of data */ if (cmd_len<5) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "APDU too short"); return CT_API_RV_ERR_INVALID; } /* add data */ dataLen=cmd[4]; if (dataLen) ctx->signatureToFlash+=std::string((const char*) (cmd+5), dataLen); response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } int8_t IFDHandler::_specialUploadFlash(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { uint32_t result; int rv; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } if (ctx->dataToFlash.size()<1 || ctx->signatureToFlash.size()<1) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Please upload module and signature first"); return CT_API_RV_ERR_INVALID; } /* flash data */ DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Flashing module (%d bytes)\n", (int)(ctx->dataToFlash.size())); rv=r->CtLoadModule((uint8_t*) ctx->dataToFlash.data(), ctx->dataToFlash.size(), (uint8_t*) ctx->signatureToFlash.data(), ctx->signatureToFlash.size(), &result); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to flash the module (%d / %d)\n", rv, result); return CT_API_RV_ERR_CT; } response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } int8_t IFDHandler::_specialUploadInfo(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { int rv; int lr; uint32_t estimatedUpdateTime=0; cj_ModuleInfo mi; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } if (ctx->dataToFlash.size()<1) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Please upload module first"); return CT_API_RV_ERR_INVALID; } mi.SizeOfStruct=sizeof(cj_ModuleInfo); rv=r->CtGetModuleInfoFromFile((uint8_t*) ctx->dataToFlash.data(), ctx->dataToFlash.size(), &mi, &estimatedUpdateTime); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to extract module info (%d)\n", rv); return CT_API_RV_ERR_CT; } if (*response_len<(2+sizeof(cj_ModuleInfo))) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Response buffer too short"); return CT_API_RV_ERR_MEMORY; } memmove(response, (const void*) &mi, sizeof(cj_ModuleInfo)); lr=sizeof(cj_ModuleInfo); response[lr++]=0x90; response[lr++]=0x00; *response_len=lr; return CT_API_RV_OK; } int8_t IFDHandler::_specialDeleteAllMods(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { uint32_t result; int rv; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } /* delete all modules */ DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Deleting all modules"); rv=r->CtDeleteALLModules(&result); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to delete all modules (%d / %d)\n", rv, result); return CT_API_RV_ERR_CT; } response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } int8_t IFDHandler::_specialShowAuth(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { int rv; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } /* delete all modules */ rv=r->CtShowAuth(); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to show auth info (%d)\n", rv); return CT_API_RV_ERR_CT; } response[0]=0x90; response[1]=0x00; *response_len=2; return CT_API_RV_OK; } int8_t IFDHandler::_specialGetModuleCount(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { int rv; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } if (*response_len<3) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Response buffer too short"); return CT_API_RV_ERR_MEMORY; } if (ctx->moduleCount==SCARD_AUTOALLOCATE) { if (ctx->moduleList) free(ctx->moduleList); ctx->moduleList=NULL; rv=r->CtListModules(&(ctx->moduleCount), (cj_ModuleInfo*) &(ctx->moduleList)); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to list module infos (%d)\n", rv); return CT_API_RV_ERR_CT; } } response[0]=(ctx->moduleCount<256)?ctx->moduleCount:255; response[1]=0x90; response[2]=0x00; *response_len=3; return CT_API_RV_OK; } int8_t IFDHandler::_specialGetModuleInfo(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { int rv; unsigned int idx; int lr; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } if (ctx->moduleCount==SCARD_AUTOALLOCATE) { if (ctx->moduleList) free(ctx->moduleList); ctx->moduleList=NULL; /* this is really ugly */ rv=r->CtListModules(&(ctx->moduleCount), (cj_ModuleInfo*) &(ctx->moduleList)); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to list module infos (%d)\n", rv); return CT_API_RV_ERR_CT; } } lr=0; idx=cmd[2]; /* p1 */ if (idx>=ctx->moduleCount) { /* EOF met */ response[lr++]=0x62; response[lr++]=0x82; *response_len=lr; return CT_API_RV_OK; } if (*response_len<(2+sizeof(cj_ModuleInfo))) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Response buffer too short"); return CT_API_RV_ERR_MEMORY; } memmove(response, (const void*) &(ctx->moduleList[idx]), sizeof(cj_ModuleInfo)); lr+=sizeof(cj_ModuleInfo); response[lr++]=0x90; response[lr++]=0x00; *response_len=lr; return CT_API_RV_OK; } int8_t IFDHandler::_specialGetReaderInfo(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { int rv; int lr; cj_ReaderInfo ri; CReader *r; r=ctx->getReader(); if (r==NULL) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "No reader"); return CT_API_RV_ERR_INVALID; } lr=0; if (*response_len<(2+sizeof(cj_ReaderInfo))) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Response buffer too short"); return CT_API_RV_ERR_MEMORY; } memset(&ri, 0, sizeof(cj_ReaderInfo)); ri.SizeOfStruct=sizeof(cj_ReaderInfo); rv=r->CtGetReaderInfo(&ri); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to get reader info (%d)\n", rv); return CT_API_RV_ERR_CT; } memmove(response, (const void*) &ri, sizeof(cj_ReaderInfo)); lr+=sizeof(cj_ReaderInfo); response[lr++]=0x90; response[lr++]=0x00; *response_len=lr; return CT_API_RV_OK; } int8_t IFDHandler::_special(IFDHandler::Context *ctx, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { int8_t rv; DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Received special command %02x %02x %02x %02x", cmd[0], cmd[1], cmd[2], cmd[3]); if (cmd[0]!=CJ_SPECIAL_CLA) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Special command but no special CLA byte (%02x)", cmd[0]); return CT_API_RV_ERR_INVALID; } switch(cmd[1]) { case CJ_SPECIAL_INS_KEYUPDATE: rv=_specialKeyUpdate(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_DELETEALLMODS: rv=_specialDeleteAllMods(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_UPLOADMOD: rv=_specialUploadMod(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_UPLOADSIG: rv=_specialUploadSig(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_UPLOADFLASH: rv=_specialUploadFlash(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_UPLOADINFO: rv=_specialUploadInfo(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_SHOWAUTH: rv=_specialShowAuth(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_GETMODCOUNT: rv=_specialGetModuleCount(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_GETMODINFO: rv=_specialGetModuleInfo(ctx, cmd_len, cmd, response_len, response); break; case CJ_SPECIAL_INS_GETREADERINFO: rv=_specialGetReaderInfo(ctx, cmd_len, cmd, response_len, response); break; default: DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Invalid special command (%02x)", cmd[1]); rv=CT_API_RV_ERR_INVALID; } /* done */ return rv; } pcsc-cyberjack-3.99.5final.SP03/ifd/ifd.cpp0000644000175000001440000012174011660154635016736 0ustar sctusers #ifdef HAVE_CONFIG_H #include #endif #include "ifd.h" #include "Platform.h" #include "cjeca32.h" #include "Reader.h" #define FEATURE_EXECUTE_PACE 0x20 #include "Debug.h" #include "config_l.h" #include "cyberjack_l.h" #ifdef ENABLE_NONSERIAL # include "ausb_l.h" # include "usbdev_l.h" #endif #include /* * Not exported constants definition */ /* Maximum number of readers handled */ #define IFDH_MAX_READERS 32 /* Maximum number of slots per reader handled */ #define IFDH_MAX_SLOTS 1 #define PATHMAX 256 #define TAG_IFD_ATR_WIN32 0x90303 /* uncomment to disable sending commands to the reader */ /*#define PART10_DISABLE_APDU*/ #define WINDOWS_CTL_GET_FEATURE 0x313520 #define WINDOWS_CTL_GET_FEATURE2 0x42000c20 #define DEBUGLUN(MACRO_LUN, debug_mask, format, ...) { \ char dbg_lun_buffer[32]; \ char dbg_buffer[256]; \ \ snprintf(dbg_lun_buffer, sizeof(dbg_lun_buffer)-1, "LUN%X", (int) MACRO_LUN); \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1, \ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ Debug.Out(dbg_lun_buffer, debug_mask, dbg_buffer,0,0); \ } #define DEBUGDEV(devName, debug_mask, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ Debug.Out(devName, debug_mask, dbg_buffer,0,0); \ } #ifdef HAVE_PTHREAD_H # define MUTEX_LOCK(MACRO_MUTEX) pthread_mutex_lock(&MACRO_MUTEX) # define MUTEX_UNLOCK(MACRO_MUTEX) pthread_mutex_unlock(&MACRO_MUTEX) #else # define MUTEX_LOCK(MACRO_MUTEX) # define MUTEX_UNLOCK(MACRO_MUTEX) #endif static int rsct_ifd_driver_initialized=0; static IFDHandler rsct_ifd_handler; /* Add new devices here */ static bool _isDeviceSupported(uint16_t vendorId, uint16_t productId) { return (vendorId==0xc4b) && (productId==0x300 || productId==0x400 || productId==0x401 || productId==0x500 || productId==0x501); } #ifdef ENABLE_NONSERIAL static rsct_usbdev_t *_findUsbDevByName(rsct_usbdev_t *d, const char *s) { int vendorId, productId, busId, busPos; if (strstr(s, ":libusb:")!=NULL) { if (sscanf(s, "usb:%04x/%04x:libusb:%03d:%03d", &vendorId, &productId, &busId, &busPos)!=4) { DEBUGDEV(s,DEBUG_MASK_IFD, "Bad device string [%s]\n", s); return NULL; } while(d) { if ((d->busId==(uint32_t)busId) && (d->busPos==(uint32_t)busPos) && (d->vendorId==(uint32_t)vendorId) && (d->productId==(uint32_t)productId)) break; d=d->next; } } else if (strstr(s, ":libhal:")!=NULL) { const char *t; t=strstr(s, ":libhal:"); t+=8; while(d) { if (d->halUDI && strcasecmp(t, d->halUDI)==0) break; d=d->next; } } return d; } static void _logAusb(ausb_dev_handle *ah, const char *text, const void *pData, uint32_t ulDataLen) { rsct_debug_out("", DEBUG_MASK_COMMUNICATION_IN, (char*)text, (char*)pData, ulDataLen); } #endif IFDHandler::IFDHandler() { fprintf(stderr, "CYBERJACK: Started\n"); #ifdef HAVE_PTHREAD_H pthread_mutex_init(&m_contextMutex, NULL); #endif } IFDHandler::~IFDHandler() { MUTEX_LOCK(m_contextMutex); /* the map contains pointers, so delete their targets first */ for (ContextMap::iterator it=m_contextMap.begin(); it!=m_contextMap.end(); it++) { delete it->second; it->second=NULL; } /* then clear the map */ m_contextMap.clear(); MUTEX_UNLOCK(m_contextMutex); DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Driver deinitialized"); rsct_config_fini(); #ifdef HAVE_PTHREAD_H pthread_mutex_destroy(&m_contextMutex); #endif } int IFDHandler::init() { unsigned int nLevelMask=0; const char *s; rsct_config_init(); /* generic debug */ if (rsct_config_get_flags() & (CT_FLAGS_DEBUG_GENERIC | CT_FLAGS_DEBUG_READER)) { nLevelMask|= DEBUG_MASK_RESULTS | DEBUG_MASK_COMMUNICATION_ERROR; } /* ECA debugging */ if (rsct_config_get_flags() & CT_FLAGS_DEBUG_ECA) { nLevelMask|= DEBUG_MASK_INPUT | DEBUG_MASK_OUTPUT | DEBUG_MASK_TRANSLATION; } /* USB debug */ if (rsct_config_get_flags() & (CT_FLAGS_DEBUG_AUSB | CT_FLAGS_DEBUG_USB)) { nLevelMask|= DEBUG_MASK_COMMUNICATION_OUT | DEBUG_MASK_COMMUNICATION_IN | DEBUG_MASK_COMMUNICATION_ERROR | DEBUG_MASK_COMMUNICATION_INFO | DEBUG_MASK_COMMUNICATION_INT; } /* misc debug */ if (rsct_config_get_flags() & CT_FLAGS_DEBUG_CTAPI) { nLevelMask|=DEBUG_MASK_CTAPI; } if (rsct_config_get_flags() & CT_FLAGS_DEBUG_IFD) { nLevelMask|=DEBUG_MASK_IFD; } /* set resulting debug mask */ Debug.setLevelMask(nLevelMask); /* set log file */ s=rsct_config_get_debug_filename(); if (s) { struct stat st; Debug.setLogFileName(s); /* check for log file size */ if (stat(s, &st)==0) { if (st.st_size>CT_LOGFILE_LIMIT) { if (truncate(s, 0)==0) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Truncated log file"); } } } } #ifdef ENABLE_NONSERIAL ausb_set_log_fn(_logAusb); /* init usbdev interface */ if (rsct_usbdev_init()<0) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Error on rsct_usbdev_init, maybe hald is not running?"); return -1; } #endif DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Driver initialized"); return 0; } RESPONSECODE IFDHandler::createChannel(DWORD Lun, DWORD Channel) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; rsct_usbdev_t *devs=NULL; rsct_usbdev_t *d; int rv; CReader *r; char ubuf[128]; uint32_t busId; uint32_t busPos; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* look for context */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it!=m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is already in use when opening channel %d\n", (int) Lun, (int) Channel); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* scan for devices */ rv=rsct_usbdev_scan(&devs); if (rv<0) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Error on scan (%d)\n", rv); rsct_usbdev_list_free(devs); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* find first supported device which is not used */ d=devs; DEBUGLUN(Lun, DEBUG_MASK_IFD, "Looking for device (%d, %d)\n", (int) Lun, (int) Channel); while(d) { /* check supported cyberJacks only */ if (_isDeviceSupported(d->vendorId, d->productId)) { ContextMap::iterator it; bool devInUse=false; /* check whether this device is in use */ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d supported, checking whether it is in use (%d, %d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun, (int) Channel); for (it=m_contextMap.begin(); it!=m_contextMap.end(); it++) { if ((d->busId==it->second->busId) && (d->busPos==it->second->busPos)) { devInUse=true; DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d is already in use (%d, %d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun, (int) Channel); break; } } if (!devInUse) { /* device is unused, use it */ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d is free (%d, %d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun, (int) Channel); break; } } else { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d is not supported (%d, %d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun, (int) Channel); } d=d->next; } if (d==NULL) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device not found (Lun=%d, Channel=%d)\n", (int)Lun, (int)Channel); rsct_usbdev_list_free(devs); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } busId=d->busId; busPos=d->busPos; /* create device name from USB info */ snprintf(ubuf, sizeof(ubuf), "usb:%04x/%04x:libusb:%03d:%03d", d->vendorId, d->productId, d->busId, d->busPos); rsct_usbdev_list_free(devs); /* ok, device found, create reader object and connect it to USB layer */ r=new CReader(ubuf); rv=r->Connect(); if (rv!=CJ_SUCCESS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Unable to connect reader \"%s\" (%d)\n", ubuf, rv); delete r; MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* reader created and conected, create context */ ctx=new Context(Lun, r); ctx->busId=busId; ctx->busPos=busPos; m_contextMap.insert(ContextMap::value_type(ctn, ctx)); /* done */ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device \"%s\" connected at channel %d\n", ubuf, (int) Channel); MUTEX_UNLOCK(m_contextMutex); return IFD_SUCCESS; } #ifdef OS_DARWIN RESPONSECODE IFDHandler::createChannelByName(DWORD Lun, char *devName) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; rsct_usbdev_t *devs=NULL; rsct_usbdev_t *d; int rv; CReader *r; char ubuf[128]; uint32_t busId; uint32_t busPos; uint16_t wantedPid=0x400; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* Darwin uses the friendly name here, so we need to extract the PID */ if (strcasecmp(devName, "REINER SCT cyberJack pp_a")==0) wantedPid=0x300; else if (strcasecmp(devName, "REINER SCT cyberJack ecom_a")==0) wantedPid=0x400; else if (strcasecmp(devName, "REINER SCT cyberJack pp_a2")==0) wantedPid=0x401; else if (strcasecmp(devName, "REINER SCT cyberJack RFID standard")==0) wantedPid=0x500; else if (strcasecmp(devName, "REINER SCT cyberJack RFID komfort")==0) wantedPid=0x501; else if (strcasecmp(devName, "REINER SCT cyberJack compact")==0) wantedPid=0x502; /* look for context */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it!=m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is already in use when opening channel\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* scan for devices */ rv=rsct_usbdev_scan(&devs); if (rv<0) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Error on scan (%d)\n", rv); rsct_usbdev_list_free(devs); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* find first supported device which is not used */ d=devs; DEBUGLUN(Lun, DEBUG_MASK_IFD, "Looking for device (%d)\n", (int) Lun); while(d) { /* check supported cyberJacks only */ if (d->vendorId==0xc4b && d->productId==wantedPid) { ContextMap::iterator it; bool devInUse=false; /* check whether this device is in use */ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d supported, checking whether it is in use (%d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun); for (it=m_contextMap.begin(); it!=m_contextMap.end(); it++) { if ((d->busId==it->second->busId) && (d->busPos==it->second->busPos)) { devInUse=true; DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d is already in use (%d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun); break; } } if (!devInUse) { /* device is unused, use it */ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d is free (%d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun); break; } } else { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device %04x:%04x at %03d/%03d is not supported (%d)\n", d->vendorId, d->productId, d->busId, d->busPos, (int) Lun); } d=d->next; } if (d==NULL) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device not found (Lun=%d)\n", (int)Lun); rsct_usbdev_list_free(devs); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } busId=d->busId; busPos=d->busPos; /* create device name from USB info */ snprintf(ubuf, sizeof(ubuf), "usb:%04x/%04x:libusb:%03d:%03d", d->vendorId, d->productId, d->busId, d->busPos); rsct_usbdev_list_free(devs); /* ok, device found, create reader object and connect it to USB layer */ r=new CReader(ubuf); rv=r->Connect(); if (rv!=CJ_SUCCESS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Unable to connect reader \"%s\" (%d)\n", ubuf, rv); delete r; MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* reader created and conected, create context */ ctx=new Context(Lun, r); ctx->busId=busId; ctx->busPos=busPos; m_contextMap.insert(ContextMap::value_type(ctn, ctx)); /* done */ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device \"%s\" connected\n", ubuf); MUTEX_UNLOCK(m_contextMutex); return IFD_SUCCESS; } #else RESPONSECODE IFDHandler::createChannelByName(DWORD Lun, char *devName) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; rsct_usbdev_t *devs=NULL; rsct_usbdev_t *d; int rv; CReader *r; uint32_t busId; uint32_t busPos; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* look for context */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it!=m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is already in use when opening \"%s\"\n", (int) Lun, devName); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* scan for devices */ rv=rsct_usbdev_scan(&devs); if (rv<0) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Error on scan (%d)\n", rv); rsct_usbdev_list_free(devs); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* find requested device */ d=_findUsbDevByName(devs, devName); if (d==NULL) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device \"%s\" not found\n", devName); rsct_usbdev_list_free(devs); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } busId=d->busId; busPos=d->busPos; rsct_usbdev_list_free(devs); /* ok, device found, create reader object and connect it to USB layer */ r=new CReader(devName); rv=r->Connect(); if (rv!=CJ_SUCCESS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Unable to connect reader \"%s\" (%d)\n", devName, rv); delete r; MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } /* reader created and conected, create context */ ctx=new Context(Lun, r); ctx->busId=busId; ctx->busPos=busPos; m_contextMap.insert(ContextMap::value_type(ctn, ctx)); /* done */ DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device \"%s\" connected\n", devName); MUTEX_UNLOCK(m_contextMutex); return IFD_SUCCESS; } #endif RESPONSECODE IFDHandler::closeChannel(DWORD Lun) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* get context */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it==m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is not in use\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } ctx=it->second; /* remove context from map */ it->second=NULL; m_contextMap.erase(it); /* disconnect reader, delete context */ ctx->getReader()->Disonnect(); delete ctx; DEBUGLUN(Lun, DEBUG_MASK_IFD, "Reader disconnected\n"); MUTEX_UNLOCK(m_contextMutex); return IFD_SUCCESS; } RESPONSECODE IFDHandler::getCapabilities(DWORD Lun, DWORD Tag, PDWORD Length, PUCHAR Value) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; RESPONSECODE rc; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it==m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is not in use\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } ctx=it->second; ctx->lock(); MUTEX_UNLOCK(m_contextMutex); /* action */ switch(Tag) { case TAG_IFD_ATR: case TAG_IFD_ATR_WIN32: { ICC_STATE *state=ctx->getState(); if ((*Length)>=ctx->getAtrLength() && Value) { (*Length)=ctx->getAtrLength(); memcpy (Value, state->ATR, (*Length)); rc=IFD_SUCCESS; } else rc=IFD_ERROR_TAG; break; } #ifdef HAVE_PTHREAD_H case TAG_IFD_SIMULTANEOUS_ACCESS: if (*Length>=1 && Value) { *Length=1; *Value=IFDH_MAX_READERS; rc=IFD_SUCCESS; } else rc=IFD_ERROR_TAG; break; case TAG_IFD_THREAD_SAFE: if (*Length>=1){ *Length=1; *Value=1; /* allow mutliple readers at the same time */ rc=IFD_SUCCESS; } else rc=IFD_ERROR_TAG; break; #endif case TAG_IFD_SLOTS_NUMBER: if (*Length>=1 && Value) { *Length=1; *Value=1; rc=IFD_SUCCESS; } else rc=IFD_ERROR_TAG; break; case TAG_IFD_SLOT_THREAD_SAFE: if (*Length>=1 && Value){ *Length=1; *Value=0; /* Can NOT talk to multiple slots at the same time */ rc=IFD_SUCCESS; } else rc=IFD_ERROR_TAG; break; case SCARD_ATTR_VENDOR_IFD_VERSION: /* Vendor-supplied interface device version (DWORD in the form * 0xMMmmbbbb where MM = major version, mm = minor version, and * bbbb = build number). */ if (*Length>=1 && Value){ DWORD v; v=(CYBERJACK_VERSION_MAJOR<<24) | (CYBERJACK_VERSION_MINOR<<16) | (CYBERJACK_VERSION_BUILD & 0xffff); *Length=sizeof(DWORD); *(DWORD*)Value=v; rc=IFD_SUCCESS; } else rc=IFD_ERROR_TAG; break; case SCARD_ATTR_VENDOR_NAME: #define VENDOR_NAME "Reiner SCT" if (*Length>=sizeof(VENDOR_NAME) && Value){ *Length=sizeof(VENDOR_NAME); memcpy(Value, VENDOR_NAME, sizeof(VENDOR_NAME)); rc=IFD_SUCCESS; } else rc=IFD_ERROR_TAG; #undef VENDOR_NAME break; default: rc=IFD_ERROR_TAG; } /* switch */ /* done */ ctx->unlock(); return rc; } RESPONSECODE IFDHandler::setCapabilities(DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value) { unsigned short ctn, slot; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } return IFD_NOT_SUPPORTED; } RESPONSECODE IFDHandler::setProtocolParameters (DWORD Lun, DWORD Protocol, UCHAR Flags, UCHAR PTS1, UCHAR PTS2, UCHAR PTS3) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; CReader *r; RSCT_IFD_RESULT rj; uint32_t l_proto; RESPONSECODE rc; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* get context and lock it */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it==m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is not in use\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } ctx=it->second; r=ctx->getReader(); ctx->lock(); MUTEX_UNLOCK(m_contextMutex); /* action */ l_proto=Protocol; rj=r->IfdSetProtocol(&l_proto); switch (rj) { case STATUS_SUCCESS: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Success (active protocol: %d)\n", (int)l_proto); rc=IFD_SUCCESS; break; case STATUS_NO_MEDIA: DEBUGLUN(Lun, DEBUG_MASK_IFD, "No media\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_UNRECOGNIZED_MEDIA: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Unrecognized media\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_CANCELLED: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Cancelled\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_IO_TIMEOUT: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Timeout\n"); rc=IFD_RESPONSE_TIMEOUT; break; case STATUS_NOT_SUPPORTED: rc=IFD_NOT_SUPPORTED; break; default: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Error (%d)\n", (int)rj); rc=IFD_COMMUNICATION_ERROR; break; }; /* unlock context */ ctx->unlock(); return rc; } RESPONSECODE IFDHandler::powerICC(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD AtrLength) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; CReader *r; RESPONSECODE rc; uint32_t l_atrLength; uint32_t mode; CJ_RESULT rj; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* get context and lock it */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it==m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is not in use\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } ctx=it->second; ctx->lock(); MUTEX_UNLOCK(m_contextMutex); r=ctx->getReader(); /* action */ switch(Action) { case IFD_POWER_UP: mode=SCARD_COLD_RESET; break; case IFD_POWER_DOWN: mode=SCARD_POWER_DOWN; break; case IFD_RESET: mode=SCARD_COLD_RESET; break; default: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Action %d not supported\n", (int)Action); return IFD_NOT_SUPPORTED; } if (AtrLength) l_atrLength=*AtrLength; else l_atrLength=0; rj=r->IfdPower(mode, Atr, &l_atrLength); switch (rj) { case STATUS_SUCCESS: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Success (ATR: %d bytes)\n", (int)l_atrLength); rc=IFD_SUCCESS; if (AtrLength) *AtrLength=l_atrLength; break; case STATUS_NO_MEDIA: DEBUGLUN(Lun, DEBUG_MASK_IFD, "No media\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_UNRECOGNIZED_MEDIA: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Unrecognized media\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_CANCELLED: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Cancelled\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_IO_TIMEOUT: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Timeout\n"); rc=IFD_RESPONSE_TIMEOUT; break; default: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Error (%d)\n", (int)rj); rc=IFD_COMMUNICATION_ERROR; break; }; /* unlock context */ ctx->unlock(); return rc; } RESPONSECODE IFDHandler::transmitToICC(DWORD Lun, SCARD_IO_HEADER SendPci, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD RxLength, PSCARD_IO_HEADER RecvPci) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; CReader *r; char rj; RESPONSECODE rc; uint16_t l_rxlength; uint8_t sad; uint8_t dad; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* get context and lock it */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it==m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is not in use\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } ctx=it->second; r=ctx->getReader(); ctx->lock(); MUTEX_UNLOCK(m_contextMutex); /* action */ if (RxLength) { if (*RxLength>65535) *RxLength = 65535; l_rxlength=*RxLength; } else l_rxlength=0; dad=0; /* slot 0 */ sad=CT_API_AD_HOST; rj=r->CtData(&dad, &sad, TxLength, TxBuffer, &l_rxlength, RxBuffer); switch (rj) { case CT_API_RV_OK: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Success (response length: %d)\n", (int)l_rxlength); if (RxLength) *RxLength=l_rxlength; rc=IFD_SUCCESS; break; case CT_API_RV_ERR_INVALID: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid parameter\n"); rc=IFD_COMMUNICATION_ERROR; break; case CT_API_RV_ERR_CT: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Terminal error\n"); rc=IFD_COMMUNICATION_ERROR; break; case CT_API_RV_ERR_TRANS: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Transport error\n"); rc=IFD_COMMUNICATION_ERROR; break; case CT_API_RV_ERR_MEMORY: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Memory error\n"); rc=IFD_COMMUNICATION_ERROR; break; case CT_API_RV_ERR_HOST: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Host error\n"); rc=IFD_COMMUNICATION_ERROR; break; case CT_API_RV_ERR_HTSI: DEBUGLUN(Lun, DEBUG_MASK_IFD, "HTSI error\n"); rc=IFD_COMMUNICATION_ERROR; break; default: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Error (%d)\n", (int) rj); rc=IFD_COMMUNICATION_ERROR; break; } /* unlock context */ ctx->unlock(); return rc; } /* ============================================================================================================= Begin Part 10 Stuff */ RESPONSECODE IFDHandler::p10GetFeatures(Context *ctx, DWORD Lun, PUCHAR RxBuffer, DWORD RxLength, PDWORD RxReturned) { PCSC_TLV_STRUCTURE *pcsc_tlv = (PCSC_TLV_STRUCTURE *)RxBuffer; unsigned int len = 0; CReader *r; int rv; cj_ReaderInfo ri; r=ctx->getReader(); memset(&ri, 0, sizeof(cj_ReaderInfo)); ri.SizeOfStruct=sizeof(cj_ReaderInfo); rv=r->CtGetReaderInfo(&ri); if (rv!=CJ_SUCCESS) { DEBUGDEV("DRIVER", DEBUG_MASK_IFD, "Unable to get reader info (%d)\n", rv); return CT_API_RV_ERR_CT; } DEBUGLUN(Lun, DEBUG_MASK_IFD, "GetFeatures called\n"); /* WATCHOUT: When supporting a new TLV the size must be adjusted here */ if (RxLength<4*sizeof(PCSC_TLV_STRUCTURE)) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Buffer too small\n"); return IFD_COMMUNICATION_ERROR; } DEBUGLUN(Lun, DEBUG_MASK_IFD, " Reporting Feature FEATURE_VERIFY_PIN_DIRECT (%08x)", CJPCSC_VEN_IOCTRL_VERIFY_PIN_DIRECT); pcsc_tlv->tag = FEATURE_VERIFY_PIN_DIRECT; pcsc_tlv->length = 0x04; /* always 0x04 */ //pcsc_tlv->value = htonl(IOCTL_FEATURE_VERIFY_PIN_DIRECT); pcsc_tlv->value = htonl(CJPCSC_VEN_IOCTRL_VERIFY_PIN_DIRECT); pcsc_tlv++; len+=sizeof(PCSC_TLV_STRUCTURE); DEBUGLUN(Lun, DEBUG_MASK_IFD, " Reporting Feature FEATURE_MODIFY_PIN_DIRECT (%08x)", CJPCSC_VEN_IOCTRL_MODIFY_PIN_DIRECT); pcsc_tlv->tag=FEATURE_MODIFY_PIN_DIRECT; pcsc_tlv->length=0x04; /* always 0x04 */ //pcsc_tlv->value=htonl(IOCTL_FEATURE_MODIFY_PIN_DIRECT); pcsc_tlv->value=htonl(CJPCSC_VEN_IOCTRL_MODIFY_PIN_DIRECT); pcsc_tlv++; len+=sizeof(PCSC_TLV_STRUCTURE); #if defined FEATURE_MCT_READER_DIRECT DEBUGLUN(Lun, DEBUG_MASK_IFD, " Reporting Feature FEATURE_MCT_READER_DIRECT (%08x)", CJPCSC_VEN_IOCTRL_MCT_READERDIRECT); pcsc_tlv->tag = FEATURE_MCT_READER_DIRECT; #else DEBUGLUN(Lun, DEBUG_MASK_IFD, " Reporting Feature FEATURE_MCT_READERDIRECT (%08x)", CJPCSC_VEN_IOCTRL_MCT_READERDIRECT); pcsc_tlv->tag = FEATURE_MCT_READERDIRECT; #endif pcsc_tlv->length = 0x04; /* always 0x04 */ pcsc_tlv->value = htonl(CJPCSC_VEN_IOCTRL_MCT_READERDIRECT); pcsc_tlv++; len+=sizeof(PCSC_TLV_STRUCTURE); DEBUGLUN(Lun, DEBUG_MASK_IFD, " Reporting Feature FEATURE_MCT_UNIVERSAL (%08x)", CJPCSC_VEN_IOCTRL_MCT_READERUNIVERSAL); pcsc_tlv->tag = FEATURE_MCT_UNIVERSAL; pcsc_tlv->length = 0x04; /* always 0x04 */ pcsc_tlv->value = htonl(CJPCSC_VEN_IOCTRL_MCT_READERUNIVERSAL); pcsc_tlv++; len+=sizeof(PCSC_TLV_STRUCTURE); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_PACE) { DEBUGLUN(Lun, DEBUG_MASK_IFD, " Reporting Feature FEATURE_EXECUTE_PACE (%08x)", CJPCSC_VEN_IOCTRL_EXECUTE_PACE); pcsc_tlv->tag = FEATURE_EXECUTE_PACE; pcsc_tlv->length = 0x04; /* always 0x04 */ pcsc_tlv->value = htonl(CJPCSC_VEN_IOCTRL_EXECUTE_PACE); pcsc_tlv++; len+=sizeof(PCSC_TLV_STRUCTURE); } *RxReturned=len; return IFD_SUCCESS; } RESPONSECODE IFDHandler::p10MctUniversal(Context *ctx, MCTUniversal_t *uni, PUCHAR RxBuffer, DWORD RxLength, PDWORD RxReturned) { DWORD Lun; CReader *r; char rj; RESPONSECODE rc; uint8_t sad; uint8_t dad; uint16_t lenc; uint16_t lenr; MCTUniversal_t *response; Lun=ctx->getLun(); r=ctx->getReader(); /* action */ response=(MCTUniversal_t*)RxBuffer; /* need at least space for MCTUniversal_t with at least 2 bytes response */ if (RxLength<(sizeof(MCTUniversal_t)+1)) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Buffer too small\n"); return IFD_COMMUNICATION_ERROR; } dad=uni->DAD; sad=uni->SAD; lenc=uni->BufferLength; /* TODO: is this really little endian? */ if (RxLength>65535) lenr=65535-(sizeof(MCTUniversal_t)-1); else lenr=RxLength-(sizeof(MCTUniversal_t)-1); #ifdef PART10_DISABLE_APDU DEBUGPLUN(Lun, DEBUG_MASK_IFD, "Apdu's disabled"); rj=-127; #else if (uni->BufferLength>3 && uni->buffer==CJ_SPECIAL_CLA) /* special APDU, go handle it */ rj=_special(ctx, lenc, &(uni->buffer), &lenr, &(response->buffer)); else /* standard APDU */ rj=r->CtData(&dad, &sad, lenc, &(uni->buffer), &lenr, &(response->buffer)); #endif if (rj==0) { response->BufferLength=lenr; *RxReturned=(sizeof(MCTUniversal_t)-1)+lenr; response->SAD=sad; response->DAD=dad; rc=IFD_SUCCESS; } else { *RxReturned=0; rc=IFD_COMMUNICATION_ERROR; } /* done */ return rc; } /* ============================================================================================================= End Part 10 Stuff */ RESPONSECODE IFDHandler::control(DWORD Lun, DWORD controlCode, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength, PDWORD RxReturned) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; CReader *r; RSCT_IFD_RESULT rj; RESPONSECODE rc; uint32_t l_rxlength; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* get context and lock it */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it==m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is not in use\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } ctx=it->second; r=ctx->getReader(); ctx->lock(); MUTEX_UNLOCK(m_contextMutex); /* action */ switch(controlCode) { case CM_IOCTL_GET_FEATURE_REQUEST: DEBUGLUN(Lun, DEBUG_MASK_IFD, "CM_IOCTL_GET_FEATURE_REQUEST\n"); rc=p10GetFeatures(ctx, Lun, RxBuffer, RxLength, RxReturned); break; case WINDOWS_CTL_GET_FEATURE: DEBUGLUN(Lun, DEBUG_MASK_IFD, "WINDOWS_CTL_GET_FEATURE\n"); rc=p10GetFeatures(ctx, Lun, RxBuffer, RxLength, RxReturned); break; case WINDOWS_CTL_GET_FEATURE2: DEBUGLUN(Lun, DEBUG_MASK_IFD, "WINDOWS_CTL_GET_FEATURE2\n"); rc=p10GetFeatures(ctx, Lun, RxBuffer, RxLength, RxReturned); break; case CJPCSC_VEN_IOCTRL_MCT_READERUNIVERSAL: DEBUGLUN(Lun, DEBUG_MASK_IFD, "CJPCSC_VEN_IOCTRL_MCT_READERUNIVERSAL\n"); /* directly send the command with SAD/DAD in TxBuffer */ if (TxLength<(sizeof(MCTUniversal_t)-1)) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Too few bytes in TxBuffer (%d bytes)\n", (int)TxLength); rc=IFD_COMMUNICATION_ERROR; } else { MCTUniversal_t *uni=(MCTUniversal_t*) TxBuffer; /* check overall length including data length */ if (TxLength<(sizeof(MCTUniversal_t)-1+uni->BufferLength)) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Too few bytes in TxBuffer (%d bytes, %d bytes data)\n", (int)TxLength, uni->BufferLength); ctx->unlock(); return IFD_COMMUNICATION_ERROR; } rc=p10MctUniversal(ctx, uni, RxBuffer, RxLength, RxReturned); } break; #if 0 /* forward this to base driver */ case CJPCSC_VEN_IOCTRL_MCT_READERDIRECT: DEBUGLUN(Lun, DEBUG_MASK_IFD, "CJPCSC_VEN_IOCTRL_MCT_READERDIRECT\n"); /* directly send the command with DAD=01 and SAD=02 */ // TODO rc=IFD_ERROR_NOT_SUPPORTED; break; #endif default: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Forwarding control call with fn %X to CJECA32\n", (int) controlCode); l_rxlength=RxLength; /* let base driver handle other codes */ rj=r->IfdIoControl(controlCode, TxBuffer, TxLength, RxBuffer, &l_rxlength); switch (rj) { case STATUS_SUCCESS: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Success (returned bytes: %d)\n", (int)l_rxlength); if (RxReturned) *RxReturned=l_rxlength; rc=IFD_SUCCESS; break; case STATUS_NO_MEDIA: DEBUGLUN(Lun, DEBUG_MASK_IFD, "No media\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_UNRECOGNIZED_MEDIA: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Unrecognized media\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_CANCELLED: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Cancelled\n"); rc=IFD_ERROR_POWER_ACTION; break; case STATUS_IO_TIMEOUT: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Timeout\n"); rc=IFD_RESPONSE_TIMEOUT; break; case STATUS_NOT_SUPPORTED: rc=IFD_NOT_SUPPORTED; break; default: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Error (%d)\n", (int)rj); rc=IFD_COMMUNICATION_ERROR; break; }; } /* unlock context */ ctx->unlock(); return rc; } RESPONSECODE IFDHandler::iccPresence(DWORD Lun) { unsigned short ctn, slot; ContextMap::iterator it; Context *ctx; CReader *r; uint32_t state; RESPONSECODE rc; ctn=((unsigned short) (Lun >> 16)) & 0xffff; slot=((unsigned short) (Lun & 0x0000FFFF)) % IFDH_MAX_SLOTS; if (ctn>=IFDH_MAX_READERS || slot>=IFDH_MAX_SLOTS) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Invalid LUN %X\n", (int)Lun); return IFD_COMMUNICATION_ERROR; } /* get context and lock it */ MUTEX_LOCK(m_contextMutex); it=m_contextMap.find(ctn); if (it==m_contextMap.end()) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "LUN %X is not in use\n", (int) Lun); MUTEX_UNLOCK(m_contextMutex); return IFD_COMMUNICATION_ERROR; } ctx=it->second; ctx->lock(); MUTEX_UNLOCK(m_contextMutex); r=ctx->getReader(); /* action */ if (r->IfdGetState(&state)==STATUS_DEVICE_NOT_CONNECTED) { DEBUGLUN(Lun, DEBUG_MASK_IFD, "Device is not connected\n"); ctx->unlock(); return IFD_COMMUNICATION_ERROR; } DEBUGLUN(Lun, DEBUG_MASK_IFD, "Status %u\n", (unsigned int) state); switch(state) { case SCARD_SPECIFIC: case SCARD_NEGOTIABLE: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Card connected\n"); rc=IFD_ICC_PRESENT; break; case SCARD_SWALLOWED: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Card inserted\n"); rc=IFD_ICC_PRESENT; break; case SCARD_ABSENT: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Card absent\n"); rc=IFD_ICC_NOT_PRESENT; break; default: DEBUGLUN(Lun, DEBUG_MASK_IFD, "Unexpected status %u\n", (unsigned int) state); ctx->unlock(); return IFD_COMMUNICATION_ERROR; } /* unlock context */ ctx->unlock(); return rc; } IFDHandler::Context::Context(DWORD lun, CReader *r) :m_lun(lun) ,m_reader(r) ,m_atr_length(0) { #ifdef HAVE_PTHREAD_H pthread_mutex_init(&m_mutex, NULL); #endif memset(&m_icc_state, 0, sizeof(m_icc_state)); } IFDHandler::Context::~Context() { delete m_reader; #ifdef HAVE_PTHREAD_H pthread_mutex_destroy(&m_mutex); #endif } void IFDHandler::Context::lock() { MUTEX_LOCK(m_mutex); } void IFDHandler::Context::unlock() { MUTEX_UNLOCK(m_mutex); } extern "C" { CJECA32_EXPORT RESPONSECODE IFDHCreateChannel(DWORD Lun, DWORD Channel) { RESPONSECODE rc; if (rsct_ifd_driver_initialized==0) { int rv; rv=rsct_ifd_handler.init(); if (rv<0) { fprintf(stderr, "CYBERJACK: Unable to init IFD handler.\n"); return IFD_COMMUNICATION_ERROR; } rsct_ifd_driver_initialized++; } DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHCreateChannel(%X, %d)\n", (int)Lun, (int)Channel); rc=rsct_ifd_handler.createChannel(Lun, Channel); return rc; } CJECA32_EXPORT RESPONSECODE IFDHCreateChannelByName(DWORD Lun, char *devName){ RESPONSECODE rc; if (rsct_ifd_driver_initialized==0) { int rv; rv=rsct_ifd_handler.init(); if (rv<0) { fprintf(stderr, "CYBERJACK: Unable to init IFD handler.\n"); return IFD_COMMUNICATION_ERROR; } rsct_ifd_driver_initialized++; } DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHCreateChannelByName(%X, %s)\n", (int)Lun, devName); rc=rsct_ifd_handler.createChannelByName(Lun, devName); return rc; } CJECA32_EXPORT RESPONSECODE IFDHCloseChannel(DWORD Lun){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHCloseChannel(%X)\n", (int)Lun); rc=rsct_ifd_handler.closeChannel(Lun); return rc; } CJECA32_EXPORT RESPONSECODE IFDHGetCapabilities(DWORD Lun, DWORD Tag, PDWORD Length, PUCHAR Value){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHGetCapabilities(%X, %X, %p, %p)\n", (int)Lun, (int)Tag, Length, Value); rc=rsct_ifd_handler.getCapabilities(Lun, Tag, Length, Value); return rc; } CJECA32_EXPORT RESPONSECODE IFDHSetCapabilities (DWORD Lun, DWORD Tag, DWORD Length, PUCHAR Value){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHSetCapabilities(%X, %X, %d, %p)\n", (int)Lun, (int)Tag, (int)Length, Value); rc=rsct_ifd_handler.setCapabilities(Lun, Tag, Length, Value); return rc; } CJECA32_EXPORT RESPONSECODE IFDHSetProtocolParameters(DWORD Lun, DWORD Protocol, UCHAR Flags, UCHAR PTS1, UCHAR PTS2, UCHAR PTS3){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHSetProtocolParameters(%X, %X, %02X, %02X, %02X, %02X)\n", (int)Lun, (int)Protocol, (int)Flags, (int)PTS1, (int)PTS2, (int)PTS3); rc=rsct_ifd_handler.setProtocolParameters(Lun, Protocol, Flags, PTS1, PTS2, PTS3); return rc; } CJECA32_EXPORT RESPONSECODE IFDHPowerICC(DWORD Lun, DWORD Action, PUCHAR Atr, PDWORD AtrLength){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHPowerICC(%X, %X, %p, %p)\n", (int)Lun, (int)Action, Atr, AtrLength); rc=rsct_ifd_handler.powerICC(Lun, Action, Atr, AtrLength); return rc; } CJECA32_EXPORT RESPONSECODE IFDHTransmitToICC(DWORD Lun, SCARD_IO_HEADER SendPci, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, PDWORD RxLength, PSCARD_IO_HEADER RecvPci){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHTransmitToICC(%X)\n", (int)Lun); rc=rsct_ifd_handler.transmitToICC(Lun, SendPci, TxBuffer, TxLength, RxBuffer, RxLength, RecvPci); return rc; } CJECA32_EXPORT RESPONSECODE IFDHControl(DWORD Lun, DWORD controlCode, PUCHAR TxBuffer, DWORD TxLength, PUCHAR RxBuffer, DWORD RxLength, PDWORD RxReturned){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHControl(%X, %X)\n", (int)Lun, (int)controlCode); rc=rsct_ifd_handler.control(Lun, controlCode, TxBuffer, TxLength, RxBuffer, RxLength, RxReturned); return rc; } CJECA32_EXPORT RESPONSECODE IFDHICCPresence(DWORD Lun){ RESPONSECODE rc; DEBUGLUN(Lun, DEBUG_MASK_IFD, "IFDHICCPresence(%X)\n", (int)Lun); rc=rsct_ifd_handler.iccPresence(Lun); return rc; } } /* extern C */ #include "ifd_special.cpp" pcsc-cyberjack-3.99.5final.SP03/autom4te.cache/0000755000175000001440000000000011660201014017505 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/autom4te.cache/requests0000644000175000001440000003324711660201016021316 0ustar sctusers# This file was generated. # It contains the lists of macros which have been traced. # It can be safely removed. @request = ( bless( [ '0', 1, [ '/usr/share/autoconf' ], [ '/usr/share/autoconf/autoconf/autoconf.m4f', '/usr/share/aclocal/argz.m4', '/usr/share/aclocal/ltdl.m4', '/usr/share/aclocal/pkg.m4', '/usr/share/aclocal-1.11/amversion.m4', '/usr/share/aclocal-1.11/auxdir.m4', '/usr/share/aclocal-1.11/cond.m4', '/usr/share/aclocal-1.11/depend.m4', '/usr/share/aclocal-1.11/depout.m4', '/usr/share/aclocal-1.11/init.m4', '/usr/share/aclocal-1.11/install-sh.m4', '/usr/share/aclocal-1.11/lead-dot.m4', '/usr/share/aclocal-1.11/make.m4', '/usr/share/aclocal-1.11/missing.m4', '/usr/share/aclocal-1.11/mkdirp.m4', '/usr/share/aclocal-1.11/options.m4', '/usr/share/aclocal-1.11/runlog.m4', '/usr/share/aclocal-1.11/sanity.m4', '/usr/share/aclocal-1.11/silent.m4', '/usr/share/aclocal-1.11/strip.m4', '/usr/share/aclocal-1.11/substnot.m4', '/usr/share/aclocal-1.11/tar.m4', 'm4/acx_compile_warn.m4', 'm4/as-scrub-include.m4', 'm4/fox.m4', 'm4/libtool.m4', 'm4/libxml2.m4', 'm4/ltoptions.m4', 'm4/ltsugar.m4', 'm4/ltversion.m4', 'm4/lt~obsolete.m4', 'm4/os.m4', 'm4/pcsc.m4', 'm4/searchfiles.m4', 'configure.ac' ], { 'AM_ENABLE_STATIC' => 1, 'AC_LIBTOOL_LANG_RC_CONFIG' => 1, '_LT_AC_SHELL_INIT' => 1, 'AQ_SEARCH_FILES' => 1, 'AC_DEFUN' => 1, 'AQ_CHECK_FOX' => 1, '_LT_AC_LANG_CXX_CONFIG' => 1, 'AC_PROG_LIBTOOL' => 1, 'AM_PROG_MKDIR_P' => 1, 'AM_AUTOMAKE_VERSION' => 1, 'AM_SUBST_NOTMAKE' => 1, 'AM_MISSING_PROG' => 1, 'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1, '_LT_AC_LANG_C_CONFIG' => 1, 'AM_PROG_INSTALL_STRIP' => 1, '_m4_warn' => 1, 'AC_LIBTOOL_OBJDIR' => 1, 'gl_FUNC_ARGZ' => 1, 'AM_SANITY_CHECK' => 1, 'LTOBSOLETE_VERSION' => 1, 'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1, 'AC_LIBTOOL_PROG_COMPILER_PIC' => 1, 'LT_LIB_M' => 1, '_LT_AC_CHECK_DLFCN' => 1, 'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1, 'LTSUGAR_VERSION' => 1, '_LT_PROG_LTMAIN' => 1, 'LT_SYS_SYMBOL_USCORE' => 1, '_AM_PROG_TAR' => 1, 'AC_LIBTOOL_GCJ' => 1, 'LT_FUNC_DLSYM_USCORE' => 1, 'LT_SYS_DLOPEN_DEPLIBS' => 1, '_LT_AC_LANG_F77' => 1, 'AC_LIBTOOL_CONFIG' => 1, '_AM_SUBST_NOTMAKE' => 1, 'AC_LTDL_DLLIB' => 1, 'ACX_COMPILE_WARN' => 1, '_AM_AUTOCONF_VERSION' => 1, 'AM_DISABLE_SHARED' => 1, 'AS_SCRUB_INCLUDE' => 1, '_LTDL_SETUP' => 1, '_LT_AC_LANG_CXX' => 1, 'AM_PROG_LIBTOOL' => 1, 'AC_LIB_LTDL' => 1, '_LT_AC_FILE_LTDLL_C' => 1, 'AM_PROG_LD' => 1, 'AQ_CHECK_PCSC' => 1, 'AU_DEFUN' => 1, 'AC_PROG_NM' => 1, 'AC_LIBTOOL_DLOPEN' => 1, 'AC_PROG_LD' => 1, 'AC_ENABLE_FAST_INSTALL' => 1, 'AC_PROG_LD_GNU' => 1, 'AC_LIBTOOL_FC' => 1, 'LTDL_CONVENIENCE' => 1, '_AM_SET_OPTION' => 1, 'AC_LTDL_PREOPEN' => 1, '_LT_LINKER_BOILERPLATE' => 1, 'AC_LIBTOOL_LANG_CXX_CONFIG' => 1, 'AC_LIBTOOL_PROG_CC_C_O' => 1, 'gl_PREREQ_ARGZ' => 1, 'LT_SUPPORTED_TAG' => 1, 'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, 'LT_PROG_RC' => 1, 'LT_SYS_MODULE_EXT' => 1, 'AC_DEFUN_ONCE' => 1, '_LT_AC_LANG_GCJ' => 1, 'AC_LTDL_OBJDIR' => 1, '_LT_PATH_TOOL_PREFIX' => 1, 'AC_LIBTOOL_RC' => 1, 'AM_SILENT_RULES' => 1, '_LT_AC_PROG_ECHO_BACKSLASH' => 1, 'AC_DISABLE_FAST_INSTALL' => 1, '_LT_AC_SYS_LIBPATH_AIX' => 1, '_LT_AC_TRY_DLOPEN_SELF' => 1, 'include' => 1, 'LT_AC_PROG_SED' => 1, 'AM_ENABLE_SHARED' => 1, 'LTDL_INSTALLABLE' => 1, '_LT_AC_LANG_GCJ_CONFIG' => 1, 'AC_ENABLE_SHARED' => 1, 'AC_ENABLE_STATIC' => 1, 'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1, '_LT_AC_TAGVAR' => 1, 'AC_LIBTOOL_LANG_F77_CONFIG' => 1, 'AM_CONDITIONAL' => 1, 'LT_LIB_DLLOAD' => 1, 'LTVERSION_VERSION' => 1, 'LTDL_INIT' => 1, 'AM_PROG_INSTALL_SH' => 1, 'm4_include' => 1, 'AC_PROG_EGREP' => 1, '_AC_AM_CONFIG_HEADER_HOOK' => 1, 'AC_PATH_MAGIC' => 1, 'AC_LTDL_SYSSEARCHPATH' => 1, 'AM_MAKE_INCLUDE' => 1, '_LT_AC_TAGCONFIG' => 1, 'LT_CMD_MAX_LEN' => 1, 'm4_pattern_forbid' => 1, '_LT_LINKER_OPTION' => 1, 'AC_LIBTOOL_COMPILER_OPTION' => 1, 'AC_DISABLE_SHARED' => 1, '_LT_COMPILER_BOILERPLATE' => 1, 'AC_LIBTOOL_WIN32_DLL' => 1, 'AC_LIBTOOL_SETUP' => 1, 'AC_PROG_LD_RELOAD_FLAG' => 1, 'AC_LTDL_DLSYM_USCORE' => 1, 'AM_MISSING_HAS_RUN' => 1, 'LT_LANG' => 1, 'LT_SYS_DLSEARCH_PATH' => 1, 'LT_CONFIG_LTDL_DIR' => 1, 'AC_LIBTOOL_DLOPEN_SELF' => 1, 'LT_OUTPUT' => 1, 'AC_LIBTOOL_PROG_LD_SHLIBS' => 1, '_PKG_SHORT_ERRORS_SUPPORTED' => 1, 'AC_WITH_LTDL' => 1, 'AC_LIBTOOL_LINKER_OPTION' => 1, 'PKG_CHECK_EXISTS' => 1, 'LT_AC_PROG_RC' => 1, 'AC_LIBTOOL_CXX' => 1, 'LT_INIT' => 1, 'LT_AC_PROG_GCJ' => 1, 'LT_SYS_DLOPEN_SELF' => 1, 'AM_DISABLE_STATIC' => 1, 'AM_DEP_TRACK' => 1, '_AC_PROG_LIBTOOL' => 1, '_AM_IF_OPTION' => 1, 'AC_PATH_TOOL_PREFIX' => 1, 'AC_LIBTOOL_F77' => 1, 'm4_pattern_allow' => 1, 'AM_SET_LEADING_DOT' => 1, 'LT_AC_PROG_EGREP' => 1, '_AM_DEPENDENCIES' => 1, 'AC_LIBTOOL_LANG_C_CONFIG' => 1, 'LTOPTIONS_VERSION' => 1, '_LT_AC_SYS_COMPILER' => 1, 'AM_PROG_NM' => 1, 'PKG_CHECK_MODULES' => 1, 'AC_LIBLTDL_CONVENIENCE' => 1, 'AC_DEPLIBS_CHECK_METHOD' => 1, 'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1, 'AC_LIBLTDL_INSTALLABLE' => 1, 'AC_LTDL_ENABLE_INSTALL' => 1, 'LT_PROG_GCJ' => 1, 'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1, 'AM_INIT_AUTOMAKE' => 1, 'AC_DISABLE_STATIC' => 1, 'LT_PATH_NM' => 1, 'AC_LTDL_SHLIBEXT' => 1, '_LT_AC_LOCK' => 1, '_LT_AC_LANG_RC_CONFIG' => 1, 'LT_SYS_MODULE_PATH' => 1, 'AC_LIBTOOL_POSTDEP_PREDEP' => 1, 'LT_WITH_LTDL' => 1, 'AC_LTDL_SHLIBPATH' => 1, 'AM_AUX_DIR_EXPAND' => 1, '_LT_AC_LANG_F77_CONFIG' => 1, 'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1, '_AM_SET_OPTIONS' => 1, '_LT_COMPILER_OPTION' => 1, '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1, 'AM_RUN_LOG' => 1, 'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1, 'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1, 'AC_LIBTOOL_PICMODE' => 1, 'LT_PATH_LD' => 1, 'AC_CHECK_LIBM' => 1, 'AC_LIBTOOL_SYS_LIB_STRIP' => 1, '_AM_MANGLE_OPTION' => 1, 'AC_LTDL_SYMBOL_USCORE' => 1, 'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1, 'AQ_CHECK_XML2' => 1, 'AM_SET_DEPDIR' => 1, 'AQ_SEARCH_FOR_PATH' => 1, '_LT_CC_BASENAME' => 1, 'PKG_PROG_PKG_CONFIG' => 1, 'AQ_CHECK_OS' => 1, '_LT_LIBOBJ' => 1 } ], 'Autom4te::Request' ), bless( [ '1', 1, [ '/usr/share/autoconf' ], [ '/usr/share/autoconf/autoconf/autoconf.m4f', 'aclocal.m4', 'configure.ac' ], { '_LT_AC_TAGCONFIG' => 1, 'AM_PROG_F77_C_O' => 1, 'AC_INIT' => 1, 'm4_pattern_forbid' => 1, '_AM_COND_IF' => 1, 'AC_CANONICAL_TARGET' => 1, 'AC_SUBST' => 1, 'AC_CONFIG_LIBOBJ_DIR' => 1, 'AC_FC_SRCEXT' => 1, 'AC_CANONICAL_HOST' => 1, 'AC_PROG_LIBTOOL' => 1, 'AM_INIT_AUTOMAKE' => 1, 'AC_CONFIG_SUBDIRS' => 1, 'AM_AUTOMAKE_VERSION' => 1, 'LT_CONFIG_LTDL_DIR' => 1, 'AC_REQUIRE_AUX_FILE' => 1, 'AC_CONFIG_LINKS' => 1, 'm4_sinclude' => 1, 'LT_SUPPORTED_TAG' => 1, 'AM_MAINTAINER_MODE' => 1, 'AM_GNU_GETTEXT_INTL_SUBDIR' => 1, '_m4_warn' => 1, 'AM_PROG_CXX_C_O' => 1, '_AM_COND_ENDIF' => 1, 'AM_ENABLE_MULTILIB' => 1, 'AM_SILENT_RULES' => 1, 'AC_CONFIG_FILES' => 1, 'include' => 1, 'LT_INIT' => 1, 'AM_GNU_GETTEXT' => 1, 'AC_LIBSOURCE' => 1, 'AC_CANONICAL_BUILD' => 1, 'AM_PROG_FC_C_O' => 1, 'AC_FC_FREEFORM' => 1, 'AH_OUTPUT' => 1, '_AM_SUBST_NOTMAKE' => 1, 'AC_CONFIG_AUX_DIR' => 1, 'sinclude' => 1, 'AM_PROG_CC_C_O' => 1, 'm4_pattern_allow' => 1, 'AC_CANONICAL_SYSTEM' => 1, 'AM_CONDITIONAL' => 1, 'AC_CONFIG_HEADERS' => 1, 'AC_DEFINE_TRACE_LITERAL' => 1, 'm4_include' => 1, '_AM_COND_ELSE' => 1, 'AC_SUBST_TRACE' => 1 } ], 'Autom4te::Request' ) ); pcsc-cyberjack-3.99.5final.SP03/autom4te.cache/output.00000644000175000001440000233370111660201012021135 0ustar sctusers@%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. @%:@ Generated by GNU Autoconf 2.63. @%:@ @%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @%:@ This configure script is free software; the Free Software Foundation @%:@ gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # 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.) 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 $as_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. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # 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 || $as_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=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _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=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_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 bug-autoconf@gnu.org about your system, echo including any error possibly output before this message. echo This can help us improve future autoconf versions. echo Configuration will now proceed without shell functions. } 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" || { $as_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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -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 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$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac ECHO=${lt_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 <<_LT_EOF $* _LT_EOF exit 0 fi # 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 if test -z "$lt_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 && { 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. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi 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=. LIB@&t@OBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="cjeca32/BaseCommunication.cpp" ac_default_prefix=/usr # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIB@&t@OBJS cyberjack_headerdir cyberjack_headerdir_am cyberjack_plugindir cyberjack_pkgincludedir cyberjack_internal_libname cyberjack_libs cyberjack_ldflags UDEV_RULES_FILE USE_UDEV USE_HOTPLUG ETC_SUBDIRS RPM_PCSC_DROPDIR RPM_DIST_VER RPM_DIST_TAG RPM_DIST_NAME visibility_cflags THREAD_LIBS USE_THREADS STRIPALL WITH_FOX_FALSE WITH_FOX_TRUE fox_includes fox_libs USE_XML2_FALSE USE_XML2_TRUE libxml2_includes libxml2_libs usbdropdir cyberjack_ifd_filename USE_PCSC_FALSE USE_PCSC_TRUE pcsc_lib pcsc_libraries pcsc_includes hal_includes hal_libs hal_LIBS hal_CFLAGS libusb_libs libusb_includes libusb_LIBS libusb_CFLAGS PKG_CONFIG enable_nonserial ENABLE_NONSERIAL_FALSE ENABLE_NONSERIAL_TRUE IOKIT_FRAMEWORK SYSCONF_FRAMEWORK FOUNDATION_FRAMEWORK COCOA_FRAMEWORK cyberjack_platform_def cyberjack_config_file cyberjack_sys_is_windows IS_LINUX_FALSE IS_LINUX_TRUE IS_OSX_FALSE IS_OSX_TRUE IS_WINDOWS_FALSE IS_WINDOWS_TRUE dl_libs CXXCPP CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB AR LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL OBJDUMP DLLTOOL AS am__fastdepOBJC_FALSE am__fastdepOBJC_TRUE OBJCDEPMODE ac_ct_OBJC OBJCFLAGS OBJC am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC INSTALL_DLL_TARGET MAKE_DLL_TARGET OS_TYPE OSYSTEM am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM CYBERJACK_SO_EFFECTIVE CYBERJACK_SO_AGE CYBERJACK_SO_REVISION CYBERJACK_SO_CURRENT CYBERJACK_VERSION_RELEASE_STRING CYBERJACK_VERSION_STRING CYBERJACK_VERSION_FULL_STRING CYBERJACK_VERSION_TAG CYBERJACK_VERSION_BUILD CYBERJACK_VERSION_PATCHLEVEL CYBERJACK_VERSION_MINOR CYBERJACK_VERSION_MAJOR target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_static enable_shared enable_dependency_tracking with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_mac_universal enable_nonserial enable_hal enable_pcsc with_pcsc_includes with_pcsc_libname with_pcsc_libs with_usbdropdir enable_xml2 with_xml2_includes with_xml2_libs enable_fox with_fox_includes with_fox_libs enable_release enable_threads enable_udev enable_visibility enable_debug enable_warnings enable_error_on_warning ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC OBJC OBJCFLAGS CPP CXXCPP PKG_CONFIG libusb_CFLAGS libusb_LIBS hal_CFLAGS hal_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' 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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { $as_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 && { $as_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. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { $as_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 $as_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 .` || { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_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 -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { $as_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" || { $as_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 this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] 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/PACKAGE@:>@ --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 cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=no@:>@ --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-fast-install@<:@=PKGS@:>@ optimize for fast installation @<:@default=yes@:>@ --disable-libtool-lock avoid locking (might break parallel builds) --enable-mac-universal Build Mac universal binaries --enable-nonserial enable non-serial (default=yes) --enable-hal enable HAL support (default=yes) --enable-pcsc enable PC/SC driver (default=yes) --enable-xml2 enable xml2 (default=yes) --enable-fox enable fox (default=yes) --enable-release make this an official release (default=no) --enable-threads enable threads (default=no) --enable-udev create udev files --enable-visibility enable visibility (default=no) --enable-debug compile with debugging code enabled, default=no --enable-warnings enable compilation warnings, default=yes --enable-error-on-warning treat all compile warnings as errors, default=no Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects @<:@default=use both@:>@ --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ --with-pcsc-includes=DIR adds pcsc include path --with-pcsc-libname=NAME specify the name of the pcsc library --with-pcsc-libs=DIR adds pcsc library path --with-usbdropdir pcsc bundle location --with-xml2-includes=DIR uses xml2 includes from given dir --with-xml2-libs=SPEC uses given xml2 libs --with-fox-includes=DIR uses fox includes from given dir --with-fox-libs=SPEC uses given fox libs 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 OBJC Objective C compiler command OBJCFLAGS Objective C compiler flags CPP C preprocessor CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility libusb_CFLAGS C compiler flags for libusb, overriding pkg-config libusb_LIBS linker flags for libusb, overriding pkg-config hal_CFLAGS C compiler flags for hal, overriding pkg-config hal_LIBS linker flags for hal, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 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 $as_me, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME @%:@@%:@ --------- @%:@@%:@ @%:@@%:@ Platform. @%:@@%:@ @%:@@%:@ --------- @%:@@%:@ hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF @%:@@%:@ ----------- @%:@@%:@ @%:@@%:@ Core tests. @%:@@%:@ @%:@@%:@ ----------- @%:@@%:@ _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) 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_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (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 an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test -r "$ac_site_file"; then { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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 { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 $as_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 || { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 $as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 $as_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` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 $as_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 { $as_echo "$as_me:$LINENO: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 $as_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 { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if test "${ac_cv_target+set}" = set; then $as_echo_n "(cached) " >&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` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 $as_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}- ac_config_headers="$ac_config_headers config.h" ###------------------------------------------------------------------------- # # versions # CYBERJACK_VERSION_MAJOR=3 CYBERJACK_VERSION_MINOR=99 CYBERJACK_VERSION_PATCHLEVEL=5 CYBERJACK_VERSION_BUILD=0 CYBERJACK_VERSION_TAG="final.SP03" CYBERJACK_VERSION_FULL_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL-${CYBERJACK_VERSION_TAG}-r${CYBERJACK_VERSION_BUILD}" CYBERJACK_VERSION_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ###------------------------------------------------------------------------- # # SO version for cyberjack library # CYBERJACK_SO_CURRENT="6" CYBERJACK_SO_AGE="0" CYBERJACK_SO_REVISION="0" CYBERJACK_SO_EFFECTIVE="`echo \$(($CYBERJACK_SO_CURRENT-$CYBERJACK_SO_AGE))`" ###------------------------------------------------------------------------- # # Create release strings # case "$CYBERJACK_VERSION_TAG" in cvs|svn|git) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL.r${CYBERJACK_VERSION_BUILD}" ;; stable) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ;; *) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL${CYBERJACK_VERSION_TAG}" ;; esac cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_MAJOR $CYBERJACK_VERSION_MAJOR _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_MINOR $CYBERJACK_VERSION_MINOR _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_PATCHLEVEL $CYBERJACK_VERSION_PATCHLEVEL _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_BUILD $CYBERJACK_VERSION_BUILD _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_STRING "$CYBERJACK_VERSION_STRING" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_FULL_STRING "$CYBERJACK_VERSION_FULL_STRING" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_TAG "$CYBERJACK_VERSION_TAG" _ACEOF am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { 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 rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 $as_echo "$as_me: error: unsafe absolute working directory name" >&2;} { (exit 1); exit 1; }; };; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 $as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} { (exit 1); exit 1; }; };; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( 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". { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 $as_echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "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 $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { 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 { $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 $as_echo "$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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 $as_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=ifd-cyberjack VERSION=$CYBERJACK_VERSION_RELEASE_STRING 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"} # 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 -' ###------------------------------------------------------------------------- # check for OS # check for OS { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } OSYSTEM="" OS_TYPE="" MAKE_DLL_TARGET="" INSTALL_DLL_TARGET="" cat >>confdefs.h <<_ACEOF @%:@define OS_NAME "$target" _ACEOF case "$target" in *-linux*) OSYSTEM="linux" cat >>confdefs.h <<\_ACEOF @%:@define OS_LINUX 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-solaris*) OSYSTEM="solaris" cat >>confdefs.h <<\_ACEOF @%:@define OS_SOLARIS 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-darwin*) OSYSTEM="osx" cat >>confdefs.h <<\_ACEOF @%:@define OS_DARWIN 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-openbsd*) OSYSTEM="openbsd" cat >>confdefs.h <<\_ACEOF @%:@define OS_OPENBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-freebsd*) OSYSTEM="freebsd" cat >>confdefs.h <<\_ACEOF @%:@define OS_FREEBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-netbsd*) OSYSTEM="netbsd" cat >>confdefs.h <<\_ACEOF @%:@define OS_NETBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-beos*) OSYSTEM="beos" cat >>confdefs.h <<\_ACEOF @%:@define OS_BEOS 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-win32*) OSYSTEM="windows" cat >>confdefs.h <<\_ACEOF @%:@define OS_WIN32 1 _ACEOF OS_TYPE="windows" cat >>confdefs.h <<_ACEOF @%:@define BUILDING_DLL 1 _ACEOF MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-mingw32*) OSYSTEM="windows" cat >>confdefs.h <<\_ACEOF @%:@define OS_WIN32 1 _ACEOF OS_TYPE="windows" cat >>confdefs.h <<_ACEOF @%:@define BUILDING_DLL 1 _ACEOF MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-palmos*) OSYSTEM="palmos" cat >>confdefs.h <<\_ACEOF @%:@define OS_PALMOS 1 _ACEOF OS_TYPE="palmos" ;; *) { $as_echo "$as_me:$LINENO: WARNING: Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue." >&5 $as_echo "$as_me: WARNING: Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue." >&2;} OSYSTEM="unknown" OS_TYPE="posix" cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF ;; esac cat >>confdefs.h <<_ACEOF @%:@define OS_SHORTNAME "$OSYSTEM" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define OS_TYPE "$OS_TYPE" _ACEOF { $as_echo "$as_me:$LINENO: result: $OS_TYPE" >&5 $as_echo "$OS_TYPE" >&6; } ###------------------------------------------------------------------------- # prefix handling if test "x$prefix" = "xNONE"; then prefix=$ac_default_prefix ac_configure_args="$ac_configure_args --prefix $prefix" fi ###------------------------------------------------------------------------- # # static/shared handling # @%:@ 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=no fi @%:@ 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 ###------------------------------------------------------------------------- # # Checks for programs. # ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_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. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_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.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_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 | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { $as_echo "$as_me:$LINENO: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_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. { $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } rm -f -r a.out a.out.dSYM 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. { $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } { $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } { $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_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 | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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) { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$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 this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:$LINENO: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf @%:@ Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=m ac_cpp='$OBJCPP $CPPFLAGS' ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_objc_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in gcc objcc objc cc CC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJC"; then ac_cv_prog_OBJC="$OBJC" # 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_OBJC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJC=$ac_cv_prog_OBJC if test -n "$OBJC"; then { $as_echo "$as_me:$LINENO: result: $OBJC" >&5 $as_echo "$OBJC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$OBJC" && break done fi if test -z "$OBJC"; then ac_ct_OBJC=$OBJC for ac_prog in gcc objcc objc cc CC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJC"; then ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # 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_OBJC="$ac_prog" $as_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_OBJC=$ac_cv_prog_ac_ct_OBJC if test -n "$ac_ct_OBJC"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJC" >&5 $as_echo "$ac_ct_OBJC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_OBJC" && break done if test "x$ac_ct_OBJC" = x; then OBJC="gcc" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJC=$ac_ct_OBJC fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for Objective C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU Objective C compiler" >&5 $as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; } if test "${ac_cv_objc_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else $as_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_objc_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:$LINENO: result: $ac_cv_objc_compiler_gnu" >&5 $as_echo "$ac_cv_objc_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GOBJC=yes else GOBJC= fi ac_test_OBJCFLAGS=${OBJCFLAGS+set} ac_save_OBJCFLAGS=$OBJCFLAGS { $as_echo "$as_me:$LINENO: checking whether $OBJC accepts -g" >&5 $as_echo_n "checking whether $OBJC accepts -g... " >&6; } if test "${ac_cv_prog_objc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_objc_werror_flag=$ac_objc_werror_flag ac_objc_werror_flag=yes ac_cv_prog_objc_g=no OBJCFLAGS="-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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_objc_g=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 OBJCFLAGS="" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_objc_werror_flag=$ac_save_objc_werror_flag OBJCFLAGS="-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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_objc_g=yes else $as_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_objc_werror_flag=$ac_save_objc_werror_flag fi { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_objc_g" >&5 $as_echo "$ac_cv_prog_objc_g" >&6; } if test "$ac_test_OBJCFLAGS" = set; then OBJCFLAGS=$ac_save_OBJCFLAGS elif test $ac_cv_prog_objc_g = yes; then if test "$GOBJC" = yes; then OBJCFLAGS="-g -O2" else OBJCFLAGS="-g" fi else if test "$GOBJC" = yes; then OBJCFLAGS="-O2" else OBJCFLAGS= 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="$OBJC" am_compiler_list='gcc3 gcc' { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. 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_OBJC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false 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 # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_OBJC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_OBJC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_OBJC_dependencies_compiler_type" >&5 $as_echo "$am_cv_OBJC_dependencies_compiler_type" >&6; } OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then am__fastdepOBJC_TRUE= am__fastdepOBJC_FALSE='#' else am__fastdepOBJC_TRUE='#' am__fastdepOBJC_FALSE= fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { 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 rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AS+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # 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_AS="${ac_tool_prefix}as" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then { $as_echo "$as_me:$LINENO: result: $AS" >&5 $as_echo "$AS" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AS+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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_AS="as" $as_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_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 $as_echo "$ac_ct_AS" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AS" = x; then AS="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS fi else AS="$ac_cv_prog_AS" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DLLTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DLLTOOL="dlltool" $as_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_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OBJDUMP="objdump" $as_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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi ;; esac test -z "$AS" && AS=as test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$OBJDUMP" && OBJDUMP=objdump case `pwd` in *\ * | *\ *) { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.6' macro_revision='1.3012' ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if test "${ac_cv_path_SED+set}" = set; then $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed $as_unset ac_script || ac_script= if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 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 if test -z "$ac_cv_path_GREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:$LINENO: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 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 if test -z "$ac_cv_path_EGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable egrep 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:$LINENO: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if test "${ac_cv_path_FGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep @%:@ Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test "${lt_cv_path_NM+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$ac_tool_prefix"; then for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DUMPBIN="$ac_prog" $as_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_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if test "${lt_cv_nm_interface+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:__oline__: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; 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 # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:$LINENO: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OBJDUMP="objdump" $as_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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. 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 ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; 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*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$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 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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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=$? $as_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 <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_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=$? $as_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 -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:$LINENO: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:$LINENO: result: ok" >&5 $as_echo "ok" >&6; } fi @%:@ 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=$? $as_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 __oline__ "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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*|s390*-*tpf*|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=$? $as_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*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_cc_needs_belf=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; 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=$? $as_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" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DSYMUTIL="dsymutil" $as_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_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_NMEDIT="nmedit" $as_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_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_LIPO="lipo" $as_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_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OTOOL="otool" $as_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_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OTOOL64="otool64" $as_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_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if test "${lt_cv_apple_cc_single_mod+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if test "${lt_cv_ld_exported_symbols_list+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_ld_exported_symbols_list=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_ld_exported_symbols_list=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; 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 { $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} _lt_caught_CXX_error=yes; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi # Set options enable_dlopen=no @%:@ 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 @%:@ Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:$LINENO: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if test "${lt_cv_objdir+set}" = set; then $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF @%:@define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:$LINENO: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:__oline__: \$? = $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 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; 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' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) 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 ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test "${lt_cv_prog_compiler_pic_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic@&t@ -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:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:__oline__: \$? = $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_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "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_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; 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>&1` 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 aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.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. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $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' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; 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' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $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 ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $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 ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm 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].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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 "X${wl}${allow_undefined_flag}" | $Xsed; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. 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 "X$deplibs" | $Xsed -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*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; 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_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -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 -fPIC ${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_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat >conftest.$ac_ext <<_ACEOF int foo(void) {} _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&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=$? $as_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=$? $as_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* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac 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 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' ;; aix[4-9]*) 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*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' ;; esac ;; 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* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # 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}${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 # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then shlibpath_overrides_runpath=yes fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # 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' ;; 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=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux 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 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 shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""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 ;; *) { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 $as_echo_n "checking for shl_load... " >&6; } if test "${ac_cv_func_shl_load+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 $as_echo "$ac_cv_func_shl_load" >&6; } if test "x$ac_cv_func_shl_load" = x""yes; then lt_cv_dlopen="shl_load" else { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = x""yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 $as_echo_n "checking for dlopen... " >&6; } if test "${ac_cv_func_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 $as_echo "$ac_cv_func_dlopen" >&6; } if test "x$ac_cv_func_dlopen" = x""yes; then lt_cv_dlopen="dlopen" else { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_svld_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_dld_link=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = x""yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif 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 ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_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 { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif 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 ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_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 { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_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-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration @%:@ Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -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 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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 "X${wl}${allow_undefined_flag}" | $Xsed; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' 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*) 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 allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; 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) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) 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_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) 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 "X-set_version $verstring" | $Xsed` -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 "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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 "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu) 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 "X$list" | $Xsed' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5]* | *pgcpp\ [1-5]*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $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 "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='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*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) 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" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-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. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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 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 compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; 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' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 $as_echo "$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -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:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:__oline__: \$? = $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_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "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_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm 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* | cegcc*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&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=$? $as_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=$? $as_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* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 $as_echo "$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' ;; esac ;; 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* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # 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}${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 # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then shlibpath_overrides_runpath=yes fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # 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' ;; 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=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux 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 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 shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_SED+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$SED"; then ac_cv_prog_SED="$SED" # 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_SED="sed" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi SED=$ac_cv_prog_SED if test -n "$SED"; then { $as_echo "$as_me:$LINENO: result: $SED" >&5 $as_echo "$SED" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi ACX_PTHREAD ###------------------------------------------------------------------------- # # Search for dlopen # LIBS="" { $as_echo "$as_me:$LINENO: checking for library containing dlopen" >&5 $as_echo_n "checking for library containing dlopen... " >&6; } if test "${ac_cv_search_dlopen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$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 for ac_lib in '' c dl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_search_dlopen=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_dlopen+set}" = set; then break fi done if test "${ac_cv_search_dlopen+set}" = set; then : else ac_cv_search_dlopen=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_search_dlopen" >&5 $as_echo "$ac_cv_search_dlopen" >&6; } ac_res=$ac_cv_search_dlopen if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" have_dlopen="yes" else have_dlopen="no" fi if test "x${have_dlopen}" != "xyes"; then { { $as_echo "$as_me:$LINENO: error: *** You are missing support for dynamic loading of modules. *** Therefore cjgeldkarte will not work." >&5 $as_echo "$as_me: error: *** You are missing support for dynamic loading of modules. *** Therefore cjgeldkarte will not work." >&2;} { (exit 1); exit 1; }; } else cat >>confdefs.h <<\_ACEOF @%:@define WITH_DLLIB 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define HAS_DLOPEN 1 _ACEOF if test "$LIBS" = "-lc"; then LIBS="" fi dl_libs="$LIBS" LIBS="" fi ###------------------------------------------------------------------------- # # Checks for header files. # { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @%:@define STDC_HEADERS 1 _ACEOF fi #AC_CHECK_HEADERS([regex.h]) for ac_header in pthread.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 $as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 $as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ###------------------------------------------------------------------------- # # Checks for typedefs, structures, and compiler characteristics. # { $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if test "${ac_cv_c_const+set}" = set; then $as_echo_n "(cached) " >&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 () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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_c_const=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF @%:@define const /**/ _ACEOF fi ###------------------------------------------------------------------------- # # Checks for library functions. # ###------------------------------------------------------------------------- # # OS dependant settings # cyberjack_ldflags="-L\${libdir}" cyberjack_libs="-lcyberjack" cyberjack_internal_libname="libctapi-cyberjack.la" cyberjack_headerdir_am="\$(includedir)" cyberjack_headerdir="\${includedir}" cyberjack_config_file="\${sysconfdir}/cyberjack.conf" case "$OS_TYPE" in windows) cyberjack_sys_is_windows=1 ;; *) cyberjack_sys_is_windows=0 ;; esac if test "$OSYSTEM" = "osx"; then COCOA_FRAMEWORK="-framework Cocoa" FOUNDATION_FRAMEWORK="-framework CoreFoundation" SYSCONF_FRAMEWORK="-framework SystemConfiguration" IOKIT_FRAMEWORK="-framework IOKit" cyberjack_config_file="/etc/cyberjack.conf" fi if test "$OS_TYPE" = "windows"; then IS_WINDOWS_TRUE= IS_WINDOWS_FALSE='#' else IS_WINDOWS_TRUE='#' IS_WINDOWS_FALSE= fi if test "$OSYSTEM" = "osx"; then IS_OSX_TRUE= IS_OSX_FALSE='#' else IS_OSX_TRUE='#' IS_OSX_FALSE= fi if test "$OSYSTEM" = "linux"; then IS_LINUX_TRUE= IS_LINUX_FALSE='#' else IS_LINUX_TRUE='#' IS_LINUX_FALSE= fi ###------------------------------------------------------------------------- { $as_echo "$as_me:$LINENO: checking whether non-serial access is wanted" >&5 $as_echo_n "checking whether non-serial access is wanted... " >&6; } @%:@ Check whether --enable-mac-universal was given. if test "${enable_mac_universal+set}" = set; then enableval=$enable_mac_universal; enable_mac_universal=$enableval else enable_mac_universal="no" fi # # check for disable-nonserial # { $as_echo "$as_me:$LINENO: checking whether non-serial access is wanted" >&5 $as_echo_n "checking whether non-serial access is wanted... " >&6; } @%:@ Check whether --enable-nonserial was given. if test "${enable_nonserial+set}" = set; then enableval=$enable_nonserial; case "${enableval}" in yes) enable_nonserial="yes";; no) enable_nonserial="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-nonserial" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-nonserial" >&2;} { (exit 1); exit 1; }; };; esac else enable_nonserial="yes" fi if test "$enable_nonserial" = "yes"; then cat >>confdefs.h <<\_ACEOF @%:@define ENABLE_NONSERIAL 1 _ACEOF fi if test "$enable_nonserial" = "yes"; then ENABLE_NONSERIAL_TRUE= ENABLE_NONSERIAL_FALSE='#' else ENABLE_NONSERIAL_TRUE='#' ENABLE_NONSERIAL_FALSE= fi { $as_echo "$as_me:$LINENO: result: $enable_nonserial" >&5 $as_echo "$enable_nonserial" >&6; } if test "$enable_nonserial" = "yes"; then ###------------------------------------------------------------------------- # # libUSB-1.0 # pkg_modules="libusb-1.0 >= 1.0.0" if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:$LINENO: checking for libusb" >&5 $as_echo_n "checking for libusb... " >&6; } if test -n "$libusb_CFLAGS"; then pkg_cv_libusb_CFLAGS="$libusb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$libusb_LIBS"; then pkg_cv_libusb_LIBS="$libusb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then libusb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else libusb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$libusb_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_libusb="no" elif test $pkg_failed = untried; then have_libusb="no" else libusb_CFLAGS=$pkg_cv_libusb_CFLAGS libusb_LIBS=$pkg_cv_libusb_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_libusb="yes" fi if test "$have_libusb" = "yes"; then cat >>confdefs.h <<\_ACEOF @%:@define USE_USB1 1 _ACEOF libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else ###------------------------------------------------------------------------- # # libusb-0.x # pkg_modules="libusb < 1.0.0" pkg_failed=no { $as_echo "$as_me:$LINENO: checking for libusb" >&5 $as_echo_n "checking for libusb... " >&6; } if test -n "$libusb_CFLAGS"; then pkg_cv_libusb_CFLAGS="$libusb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$libusb_LIBS"; then pkg_cv_libusb_LIBS="$libusb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then libusb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else libusb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$libusb_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_libusb="no" elif test $pkg_failed = untried; then have_libusb="no" else libusb_CFLAGS=$pkg_cv_libusb_CFLAGS libusb_LIBS=$pkg_cv_libusb_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_libusb="yes" fi if test "$have_libusb" = "yes"; then libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else { { $as_echo "$as_me:$LINENO: error: *** LibUSB not found, please install the packages libusb and *** libusb-devel (or libusb-dev on Debian)." >&5 $as_echo "$as_me: error: *** LibUSB not found, please install the packages libusb and *** libusb-devel (or libusb-dev on Debian)." >&2;} { (exit 1); exit 1; }; } fi fi ###------------------------------------------------------------------------- # # HAL # { $as_echo "$as_me:$LINENO: checking if HAL support desired" >&5 $as_echo_n "checking if HAL support desired... " >&6; } @%:@ Check whether --enable-hal was given. if test "${enable_hal+set}" = set; then enableval=$enable_hal; enable_hal="$enableval" else enable_hal="no" fi { $as_echo "$as_me:$LINENO: result: $enable_hal" >&5 $as_echo "$enable_hal" >&6; } if test "$enable_hal" = "yes"; then pkg_modules="hal >= 0.5.0" pkg_failed=no { $as_echo "$as_me:$LINENO: checking for hal" >&5 $as_echo_n "checking for hal... " >&6; } if test -n "$hal_CFLAGS"; then pkg_cv_hal_CFLAGS="$hal_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_hal_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$hal_LIBS"; then pkg_cv_hal_LIBS="$hal_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_hal_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then hal_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else hal_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$hal_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_hal="no" elif test $pkg_failed = untried; then have_hal="no" else hal_CFLAGS=$pkg_cv_hal_CFLAGS hal_LIBS=$pkg_cv_hal_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_hal="yes" fi if test "$have_hal" = "yes"; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_HAL 1 _ACEOF hal_includes="$hal_CFLAGS" hal_libs="$hal_LIBS" fi fi fi # --------------------------------------------------------------------------- # check for PC/SC # if test "$OSYSTEM" = "windows" ; then pcsc_libraries="" pcsc_lib="-lwinscard" have_pcsc="yes" elif test "$OSYSTEM" = "osx" ; then { $as_echo "$as_me:$LINENO: checking for pcsc includes" >&5 $as_echo_n "checking for pcsc includes... " >&6; } pcsc_includes="-I/System/Library/Frameworks/PCSC.framework/Headers" { $as_echo "$as_me:$LINENO: result: $pcsc_includes" >&5 $as_echo "$pcsc_includes" >&6; } { $as_echo "$as_me:$LINENO: checking for pcsc libs" >&5 $as_echo_n "checking for pcsc libs... " >&6; } pcsc_libraries="" pcsc_lib="-framework PCSC" { $as_echo "$as_me:$LINENO: result: $pcsc_libraries ${pcsc_lib}" >&5 $as_echo "$pcsc_libraries ${pcsc_lib}" >&6; } have_pcsc="yes" else { $as_echo "$as_me:$LINENO: checking if PC/SC should be used" >&5 $as_echo_n "checking if PC/SC should be used... " >&6; } @%:@ Check whether --enable-pcsc was given. if test "${enable_pcsc+set}" = set; then enableval=$enable_pcsc; enable_pcsc="$enableval" else enable_pcsc="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_pcsc" >&5 $as_echo "$enable_pcsc" >&6; } if test "$enable_pcsc" != "no"; then { $as_echo "$as_me:$LINENO: checking for pcsc includes" >&5 $as_echo_n "checking for pcsc includes... " >&6; } @%:@ Check whether --with-pcsc-includes was given. if test "${with_pcsc_includes+set}" = set; then withval=$with_pcsc_includes; pcsc_search_inc_dirs="$withval" else pcsc_search_inc_dirs="/usr/include\ /usr/local/include\ /usr/local/pcsc/include\ /usr/pcsc/include\ " fi found_dir="" ls=PCSC/winscard.h ld="$pcsc_search_inc_dirs" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done if test -n "$found_dir" ; then pcsc_includes="-I$found_dir -I$found_dir/PCSC" fi { $as_echo "$as_me:$LINENO: result: $pcsc_includes" >&5 $as_echo "$pcsc_includes" >&6; } { $as_echo "$as_me:$LINENO: checking for pcsc libs" >&5 $as_echo_n "checking for pcsc libs... " >&6; } @%:@ Check whether --with-pcsc-libname was given. if test "${with_pcsc_libname+set}" = set; then withval=$with_pcsc_libname; pcsc_search_lib_names="$withval" else pcsc_search_lib_names="libpcsclite.so \ libpcsclite.so.* \ libpcsc.a" fi @%:@ Check whether --with-pcsc-libs was given. if test "${with_pcsc_libs+set}" = set; then withval=$with_pcsc_libs; pcsc_search_lib_dirs="$withval" else pcsc_search_lib_dirs="/usr/lib64 \ /usr/lib \ /usr/local/lib \ /usr/lib/pcsc/lib \ /usr/local/pcsc/lib \ /lib" fi for d in $pcsc_search_lib_dirs; do found_file="" ls=""$d"" ld="$pcsc_search_lib_names" lf="" for li in $ld; do lf2="`ls -d ${ls}/${li} 2>/dev/null`" lf="$lf $lf2" done for li in $lf; do if test -r "$li"; then found_file=`basename "$li"` break fi done if test -n "$found_file" ; then pcsc_libraries="-L$d" pcsc_lib="-l`echo $found_file | sed 's/lib//;s/\.so*//;s/\.a//'`" break fi done if test -z "$pcsc_libraries" -o -z "$pcsc_lib" -o -z "$pcsc_includes"; then { $as_echo "$as_me:$LINENO: WARNING: No pcsc libraries found, SCard driver will not be available." >&5 $as_echo "$as_me: WARNING: No pcsc libraries found, SCard driver will not be available." >&2;} have_pcsc="no" else { $as_echo "$as_me:$LINENO: result: $pcsc_libraries ${pcsc_lib}" >&5 $as_echo "$pcsc_libraries ${pcsc_lib}" >&6; } have_pcsc="yes" fi # end of "if enable-pcsc" fi # end of "if linux" fi if test "$have_pcsc" = "yes"; then USE_PCSC_TRUE= USE_PCSC_FALSE='#' else USE_PCSC_TRUE='#' USE_PCSC_FALSE= fi if test "$have_pcsc" != "yes"; then pcsc_includes="-I\$(top_srcdir)/include -I\$(top_srcdir)/include/PCSC" else cat >>confdefs.h <<\_ACEOF @%:@define HAVE_PCSC 1 _ACEOF fi case "$OSYSTEM" in osx) cyberjack_ifd_filename="libifd-cyberjack.dylib" cyberjack_ifd_dropdir="/usr/libexec/SmartCardServices/drivers" # use our own PC/SC headers for MacOSX pcsc_includes="-I\$(top_srcdir)/include/macosx -I\$(top_srcdir)/include/macosx/PCSC" if test "x$enable_mac_universal" = "xyes" ; then #mac_version_min="-mmacosx-version-min=10.5" mac_arches="-arch i386" #mac_arches="-arch i386 -arch x86_64" #mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.6.sdk" #LDFLAGS="$LDFLAGS $mac_arches $mac_sysroot $mac_version_min" #CFLAGS="$CFLAGS $CFLAGS $mac_arches $mac_sysroot $mac_version_min" LDFLAGS="$LDFLAGS $mac_arches" CFLAGS="$CFLAGS $CFLAGS $mac_arches" CXXFLAGS="$CXXFLAGS $mac_arches" fi ;; linux) cyberjack_ifd_filename="libifd-cyberjack.so" cyberjack_ifd_dropdir="\$(libdir)/pcsc/drivers" ;; esac @%:@ Check whether --with-usbdropdir was given. if test "${with_usbdropdir+set}" = set; then withval=$with_usbdropdir; usbdropdir="${withval}" else usbdropdir="${cyberjack_ifd_dropdir}" fi # --------------------------------------------------------------------------- # check for LibXML2 # { $as_echo "$as_me:$LINENO: checking if XML2 is allowed" >&5 $as_echo_n "checking if XML2 is allowed... " >&6; } @%:@ Check whether --enable-xml2 was given. if test "${enable_xml2+set}" = set; then enableval=$enable_xml2; enable_xml2="$enableval" else enable_xml2="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_xml2" >&5 $as_echo "$enable_xml2" >&6; } if test "$enable_xml2" = "no"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else { $as_echo "$as_me:$LINENO: checking for xml2 includes" >&5 $as_echo_n "checking for xml2 includes... " >&6; } @%:@ Check whether --with-xml2-includes was given. if test "${with_xml2_includes+set}" = set; then withval=$with_xml2_includes; local_libxml2_includes="$withval" else local_libxml2_includes="\ /usr/include/libxml2 \ /usr/local/include/libxml2 \ /opt/libxml2/include \ " fi if test -z "$libxml2_includes"; then for i in $local_libxml2_includes; do if test -z "$libxml2_includes"; then if test -f "$i/libxml/tree.h"; then libxml2_includes="-I$i" break; fi fi done fi if test -n "$libxml2_includes"; then { $as_echo "$as_me:$LINENO: result: $libxml2_includes" >&5 $as_echo "$libxml2_includes" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi { $as_echo "$as_me:$LINENO: checking for xml2 libraries" >&5 $as_echo_n "checking for xml2 libraries... " >&6; } @%:@ Check whether --with-xml2-libs was given. if test "${with_xml2_libs+set}" = set; then withval=$with_xml2_libs; libxml2_libs="$withval" else libxml2_libs="" fi if test -z "$libxml2_libs"; then libxml2_libs="-lxml2" fi if test -n "$libxml2_libs"; then { $as_echo "$as_me:$LINENO: result: $libxml2_libs" >&5 $as_echo "$libxml2_libs" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # check if all necessary xml2 components where found if test -z "$libxml2_includes" || \ test -z "$libxml2_libs"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else have_xml2="yes" cat >>confdefs.h <<\_ACEOF @%:@define HAVE_LIBXML2 1 _ACEOF fi fi GIVEN_CFLAGS=$libxml2_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done libxml2_includes=$GIVEN_CFLAGS if test "$have_libxml2" = "yes"; then USE_XML2_TRUE= USE_XML2_FALSE='#' else USE_XML2_TRUE='#' USE_XML2_FALSE= fi ###------------------------------------------------------------------------- # Check for fox toolkit # { $as_echo "$as_me:$LINENO: checking if FOX is allowed" >&5 $as_echo_n "checking if FOX is allowed... " >&6; } @%:@ Check whether --enable-fox was given. if test "${enable_fox+set}" = set; then enableval=$enable_fox; enable_fox="$enableval" else enable_fox="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_fox" >&5 $as_echo "$enable_fox" >&6; } if test "$enable_fox" = "no"; then fox_libs="" fox_includes="" have_fox="no" else { $as_echo "$as_me:$LINENO: checking for fox includes" >&5 $as_echo_n "checking for fox includes... " >&6; } @%:@ Check whether --with-fox-includes was given. if test "${with_fox_includes+set}" = set; then withval=$with_fox_includes; local_fox_includes="$withval" else local_fox_includes="\ /usr/include/fox-1.6 \ /usr/local/include/fox-1.6 \ /opt/fox-1.6/include \ " fi if test -z "$fox_includes"; then for i in $local_fox_includes; do if test -z "$fox_includes"; then if test -f "$i/fxver.h"; then fox_includes="-I$i" break; fi fi done fi if test -n "$fox_includes"; then { $as_echo "$as_me:$LINENO: result: $fox_includes" >&5 $as_echo "$fox_includes" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi { $as_echo "$as_me:$LINENO: checking for fox libraries" >&5 $as_echo_n "checking for fox libraries... " >&6; } @%:@ Check whether --with-fox-libs was given. if test "${with_fox_libs+set}" = set; then withval=$with_fox_libs; fox_libs="$withval" else 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 SAVED_LDFLAGS=$LDFLAGS SAVED_CXXFLAGS=$CXXFLAGS LDFLAGS="$LDFLAGS -lFOX-1.6" CXXFLAGS="$CXXFLAGS $fox_includes" 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 () { FX::FXDate dummy ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then fox_libs="-lFOX-1.6" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$SAVED_LDFLAGS CXXFLAGS=$SAVED_CXXFLAGS fi if test -z "$fox_libs"; then found_dir="" ls=$qt_searchname ld="$local_fox_libs" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done if test -n "$found_dir" ; then fox_libs="-L$found_dir -lFOX-1.6" test "$OSYSTEM" = "freebsd" && \ fox_libs="$fox_libs" fi fi if test -n "$fox_libs"; then { $as_echo "$as_me:$LINENO: result: $fox_libs" >&5 $as_echo "$fox_libs" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # check if all necessary fox components where found if test -z "$fox_includes" || \ test -z "$fox_libs"; then fox_libs="" fox_includes="" have_fox="no" else have_fox="yes" cat >>confdefs.h <<\_ACEOF @%:@define HAVE_FOX 1 _ACEOF fi fi GIVEN_CFLAGS=$fox_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done fox_includes=$GIVEN_CFLAGS if test "$have_fox" = "yes"; then WITH_FOX_TRUE= WITH_FOX_FALSE='#' else WITH_FOX_TRUE='#' WITH_FOX_FALSE= fi ###------------------------------------------------------------------------- # # check for release # { $as_echo "$as_me:$LINENO: checking whether this is an official release" >&5 $as_echo_n "checking whether this is an official release... " >&6; } @%:@ Check whether --enable-release was given. if test "${enable_release+set}" = set; then enableval=$enable_release; case "${enableval}" in yes) enable_release="yes";; no) enable_release="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-release" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-release" >&2;} { (exit 1); exit 1; }; };; esac else enable_release="no" fi if test "$enable_release" = "yes"; then STRIPALL="-s" else STRIPALL="" fi { $as_echo "$as_me:$LINENO: result: $enable_release" >&5 $as_echo "$enable_release" >&6; } ###------------------------------------------------------------------------- # # check for pthread-based approach # { $as_echo "$as_me:$LINENO: checking whether the threaded approach is wanted" >&5 $as_echo_n "checking whether the threaded approach is wanted... " >&6; } @%:@ Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then enableval=$enable_threads; case "${enableval}" in yes) enable_threads="yes";; no) enable_threads="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-threads" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-threads" >&2;} { (exit 1); exit 1; }; };; esac else enable_threads="no" fi if test "$enable_threads" = "yes"; then cat >>confdefs.h <<_ACEOF @%:@define USE_THREADS 1 _ACEOF THREAD_LIBS="-lpthread" else THREAD_LIBS="" fi { $as_echo "$as_me:$LINENO: result: $enable_threads" >&5 $as_echo "$enable_threads" >&6; } ###------------------------------------------------------------------------- # # check whether udev support is wanted # @%:@ Check whether --enable-udev was given. if test "${enable_udev+set}" = set; then enableval=$enable_udev; ENABLE_UDEV="${enableval}" else ENABLE_UDEV="yes" fi ###------------------------------------------------------------------------- # # GCC version (check for usability) # { $as_echo "$as_me:$LINENO: checking if symbol visibility is supported" >&5 $as_echo_n "checking if symbol visibility is supported... " >&6; } @%:@ Check whether --enable-visibility was given. if test "${enable_visibility+set}" = set; then enableval=$enable_visibility; enable_visibility="$enableval" else enable_visibility="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_visibility" >&5 $as_echo "$enable_visibility" >&6; } if test "$enable_visibility" = "yes"; then { $as_echo "$as_me:$LINENO: checking if symbol visibility is supported" >&5 $as_echo_n "checking if symbol visibility is supported... " >&6; } visibility_cflags="" case `$CC --version|head -n1|cut -f1 -d " "` in gcc | gcc-* | *-gcc | *-gcc-*) gccversion="` ${CC} -dumpversion `" case $gccversion in 4.*) # Activate -fvisibility=hidden only for explicit 4.x gcc # versions. We never now what future gcc's might do with # that argument, and we also can't be sure that other # gcc's happen to show very weird version # numbers. Therefore leave the default at non-activated. visibility_supported="yes, gcc-${gccversion}" cat >>confdefs.h <<\_ACEOF @%:@define GCC_WITH_VISIBILITY_ATTRIBUTE 1 _ACEOF visibility_cflags="-fvisibility=hidden" ;; *) # Default: -fvisibility=hidden not activated. visibility_supported="no (needs gcc >=4.0, you have gcc-${gccversion})" ;; esac ;; *) visibility_supported="no (needs gcc >=4.0, you use $CC)" ;; esac # -fvisibility is at least not available on MinGW/gcc-3.4.4 (will # give an "unrecognized cmdline option"). Also, unfortunately I # don't know an easy way to ask the compiler here. Maybe # http://autoconf-archive.cryp.to/ax_cflags_gcc_option.html case "$OS_TYPE" in windows) visibility_supported="no (not yet on MinGW/Windows)" visibility_cflags="" ;; *) ;; esac else visibility_supported="no (not wanted)" visibility_cflags="" fi { $as_echo "$as_me:$LINENO: result: ${visibility_supported}" >&5 $as_echo "${visibility_supported}" >&6; } ###------------------------------------------------------------------------- # # RPM distribution specific stuff { $as_echo "$as_me:$LINENO: checking whether this is an RPM distribution" >&5 $as_echo_n "checking whether this is an RPM distribution... " >&6; } RPM_COMMAND="`which rpm`" RPM_DIST_NAME="" RPM_DIST_TAG="" RPM_DIST_VER="" if test "$ENABLE_UDEV" = "yes"; then ETC_SUBDIRS="udev" else ETC_SUBDIRS="" fi USE_HOTPLUG=0 USE_UDEV=0 UDEV_RULES_FILE="rules.new" RPM_PCSC_DROPDIR="%{_libdir}/readers" if test -n "${RPM_COMMAND}"; then if test -x "${RPM_COMMAND}"; then if test -e "/etc/mandriva-release"; then RPM_DIST_NAME="mandriva" RPM_DIST_TAG="mdk" # RPM_DIST_VER="`rpm -q --queryformat='%{VERSION}' mandriva-release 2>/dev/null`" read v1 v2 v3 v4 v5 &5 $as_echo "Yes, ${RPM_DIST_NAME} ${RPM_DIST_VER}" >&6; } else { $as_echo "$as_me:$LINENO: result: no (RPM found, but unknown distribution)" >&5 $as_echo "no (RPM found, but unknown distribution)" >&6; } fi else { $as_echo "$as_me:$LINENO: result: no (RPM not found)" >&5 $as_echo "no (RPM not found)" >&6; } fi else { $as_echo "$as_me:$LINENO: result: no (no RPM installed)" >&5 $as_echo "no (no RPM installed)" >&6; } fi case "${RPM_DIST_TAG}${RPM_DIST_VER}" in suse10.*) cat >>confdefs.h <<_ACEOF @%:@define USE_SUSE_HACK "1" _ACEOF ;; esac ###------------------------------------------------------------------------- # # Debug arguments for compilation # @%:@ Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then enableval=$enable_debug; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -g" CFLAGS="${CFLAGS} -g" LDFLAGS="${LDFLAGS} -g" cat >>confdefs.h <<\_ACEOF @%:@define DEBUG 1 _ACEOF ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" fi if test ${GCC}x = yesx; then @%:@ Check whether --enable-warnings was given. if test "${enable_warnings+set}" = set; then enableval=$enable_warnings; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ;; all) CXXFLAGS="${CXXFLAGS} -Wall -pedantic -ansi" CFLAGS="${CFLAGS} -Wall -pedantic -ansi" ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-warnings" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-warnings" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" fi GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x CFLAGS="${CFLAGS} -Wdeclaration-after-statement" fi fi @%:@ Check whether --enable-error-on-warning was given. if test "${enable_error_on_warning+set}" = set; then enableval=$enable_error_on_warning; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Werror" CFLAGS="${CFLAGS} -Werror" ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-error-on-warning" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-error-on-warning" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" fi fi ###------------------------------------------------------------------------- # # compile program flagss # # Clean up include variables GIVEN_CFLAGS=$cyberjack_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done cyberjack_includes=$GIVEN_CFLAGS GIVEN_CFLAGS=$all_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done all_includes=$GIVEN_CFLAGS ###------------------------------------------------------------------------- # # substitute vars # ###------------------------------------------------------------------------- # # list of files to create # ac_config_files="$ac_config_files Makefile cjeca32/Makefile cjeca32/ausb/Makefile ifd/Makefile ifd/Info.plist libcyberjack/Makefile libcyberjack/libdialog/Makefile libcyberjack/libdialog/base/Makefile libcyberjack/checksuite/Makefile tools/Makefile tools/cjflash/Makefile tools/cjgeldkarte/Makefile tools/cyberjack/Makefile tools/cyberjack/scripts/Makefile tools/cjBingo/Makefile tools/fxcyberjack/Makefile tools/fxcyberjack/icons/Makefile tools/fxcyberjack/diag/Makefile tools/fox-dialog/Makefile tools/mac-ui-helper/Makefile include/Makefile include/macosx/Makefile include/macosx/PCSC/Makefile m4/Makefile etc/Makefile ifd-cyberjack.spec doc/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $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" && { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIB@&t@OBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"am__fastdepOBJC\" 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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 "${IS_WINDOWS_TRUE}" && test -z "${IS_WINDOWS_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_WINDOWS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_WINDOWS\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${IS_OSX_TRUE}" && test -z "${IS_OSX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_OSX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_OSX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${IS_LINUX_TRUE}" && test -z "${IS_LINUX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${ENABLE_NONSERIAL_TRUE}" && test -z "${ENABLE_NONSERIAL_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_NONSERIAL\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"ENABLE_NONSERIAL\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${USE_PCSC_TRUE}" && test -z "${USE_PCSC_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"USE_PCSC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"USE_PCSC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${USE_XML2_TRUE}" && test -z "${USE_XML2_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"USE_XML2\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"USE_XML2\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${WITH_FOX_TRUE}" && test -z "${WITH_FOX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"WITH_FOX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"WITH_FOX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # 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.) 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 $as_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. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # 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 || $as_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" || { $as_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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -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 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 $as_me, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { $as_echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { $as_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 || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX @%:@@%:@ Running $as_me. @%:@@%:@ _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ SHELL \ ECHO \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` ;; esac ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "cjeca32/Makefile") CONFIG_FILES="$CONFIG_FILES cjeca32/Makefile" ;; "cjeca32/ausb/Makefile") CONFIG_FILES="$CONFIG_FILES cjeca32/ausb/Makefile" ;; "ifd/Makefile") CONFIG_FILES="$CONFIG_FILES ifd/Makefile" ;; "ifd/Info.plist") CONFIG_FILES="$CONFIG_FILES ifd/Info.plist" ;; "libcyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/Makefile" ;; "libcyberjack/libdialog/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/libdialog/Makefile" ;; "libcyberjack/libdialog/base/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/libdialog/base/Makefile" ;; "libcyberjack/checksuite/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/checksuite/Makefile" ;; "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; "tools/cjflash/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjflash/Makefile" ;; "tools/cjgeldkarte/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjgeldkarte/Makefile" ;; "tools/cyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cyberjack/Makefile" ;; "tools/cyberjack/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cyberjack/scripts/Makefile" ;; "tools/cjBingo/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjBingo/Makefile" ;; "tools/fxcyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/Makefile" ;; "tools/fxcyberjack/icons/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/icons/Makefile" ;; "tools/fxcyberjack/diag/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/diag/Makefile" ;; "tools/fox-dialog/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fox-dialog/Makefile" ;; "tools/mac-ui-helper/Makefile") CONFIG_FILES="$CONFIG_FILES tools/mac-ui-helper/Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "include/macosx/Makefile") CONFIG_FILES="$CONFIG_FILES include/macosx/Makefile" ;; "include/macosx/PCSC/Makefile") CONFIG_FILES="$CONFIG_FILES include/macosx/PCSC/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; "ifd-cyberjack.spec") CONFIG_FILES="$CONFIG_FILES ifd-cyberjack.spec" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 $as_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") } || { $as_echo "$as_me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=' ' ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_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 rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\).*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\).*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 $as_echo "$as_me: error: could not setup config files machinery" >&2;} { (exit 1); exit 1; }; } _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 || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 $as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 $as_echo "$as_me: error: could not setup config headers machinery" >&2;} { (exit 1); exit 1; }; } fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 $as_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 || { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; 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 '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" 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=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_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=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } 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"; } && { $as_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 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 $as_echo "$as_me: error: could not create -" >&2;} { (exit 1); exit 1; }; } fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # 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 || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir 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=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Assembler program. AS=$AS # DLL creation program. DLLTOOL=$DLLTOOL # Object dumper program. OBJDUMP=$OBJDUMP # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # What type of objects to build. pic_mode=$pic_mode # 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 # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # 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 # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # 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 DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # 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 # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # 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 DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 $as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } # 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 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi pcsc-cyberjack-3.99.5final.SP03/autom4te.cache/traces.00000644000175000001440000040304411660201012021052 0ustar sctusersm4trace:/usr/share/aclocal/argz.m4:12: -1- AC_DEFUN([gl_FUNC_ARGZ], [gl_PREREQ_ARGZ AC_CHECK_HEADERS([argz.h], [], [], [AC_INCLUDES_DEFAULT]) AC_CHECK_TYPES([error_t], [], [AC_DEFINE([error_t], [int], [Define to a type to use for `error_t' if it is not otherwise available.]) AC_DEFINE([__error_t_defined], [1], [Define so that glibc/gnulib argp.h does not typedef error_t.])], [#if defined(HAVE_ARGZ_H) # include #endif]) ARGZ_H= AC_CHECK_FUNCS([argz_add argz_append argz_count argz_create_sep argz_insert \ argz_next argz_stringify], [], [ARGZ_H=argz.h; AC_LIBOBJ([argz])]) dnl if have system argz functions, allow forced use of dnl libltdl-supplied implementation (and default to do so dnl on "known bad" systems). Could use a runtime check, but dnl (a) detecting malloc issues is notoriously unreliable dnl (b) only known system that declares argz functions, dnl provides them, yet they are broken, is cygwin dnl releases prior to 16-Mar-2007 (1.5.24 and earlier) dnl So, it's more straightforward simply to special case dnl this for known bad systems. AS_IF([test -z "$ARGZ_H"], [AC_CACHE_CHECK( [if argz actually works], [lt_cv_sys_argz_works], [[case $host_os in #( *cygwin*) lt_cv_sys_argz_works=no if test "$cross_compiling" != no; then lt_cv_sys_argz_works="guessing no" else lt_sed_extract_leading_digits='s/^\([0-9\.]*\).*/\1/' save_IFS=$IFS IFS=-. set x `uname -r | sed -e "$lt_sed_extract_leading_digits"` IFS=$save_IFS lt_os_major=${2-0} lt_os_minor=${3-0} lt_os_micro=${4-0} if test "$lt_os_major" -gt 1 \ || { test "$lt_os_major" -eq 1 \ && { test "$lt_os_minor" -gt 5 \ || { test "$lt_os_minor" -eq 5 \ && test "$lt_os_micro" -gt 24; }; }; }; then lt_cv_sys_argz_works=yes fi fi ;; #( *) lt_cv_sys_argz_works=yes ;; esac]]) AS_IF([test $lt_cv_sys_argz_works = yes], [AC_DEFINE([HAVE_WORKING_ARGZ], 1, [This value is set to 1 to indicate that the system argz facility works])], [ARGZ_H=argz.h AC_LIBOBJ([argz])])]) AC_SUBST([ARGZ_H]) ]) m4trace:/usr/share/aclocal/argz.m4:79: -1- AC_DEFUN([gl_PREREQ_ARGZ], [:]) m4trace:/usr/share/aclocal/ltdl.m4:16: -1- AC_DEFUN([LT_CONFIG_LTDL_DIR], [AC_BEFORE([$0], [LTDL_INIT]) _$0($*) ]) m4trace:/usr/share/aclocal/ltdl.m4:68: -1- AC_DEFUN([LTDL_CONVENIENCE], [AC_BEFORE([$0], [LTDL_INIT])dnl dnl Although the argument is deprecated and no longer documented, dnl LTDL_CONVENIENCE used to take a DIRECTORY orgument, if we have one dnl here make sure it is the same as any other declaration of libltdl's dnl location! This also ensures lt_ltdl_dir is set when configure.ac is dnl not yet using an explicit LT_CONFIG_LTDL_DIR. m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl _$0() ]) m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AU_DEFUN([AC_LIBLTDL_CONVENIENCE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) _LTDL_CONVENIENCE]) m4trace:/usr/share/aclocal/ltdl.m4:81: -1- AC_DEFUN([AC_LIBLTDL_CONVENIENCE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_CONVENIENCE' is obsolete. You should run autoupdate.])dnl _LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) _LTDL_CONVENIENCE]) m4trace:/usr/share/aclocal/ltdl.m4:124: -1- AC_DEFUN([LTDL_INSTALLABLE], [AC_BEFORE([$0], [LTDL_INIT])dnl dnl Although the argument is deprecated and no longer documented, dnl LTDL_INSTALLABLE used to take a DIRECTORY orgument, if we have one dnl here make sure it is the same as any other declaration of libltdl's dnl location! This also ensures lt_ltdl_dir is set when configure.ac is dnl not yet using an explicit LT_CONFIG_LTDL_DIR. m4_ifval([$1], [_LT_CONFIG_LTDL_DIR([$1])])dnl _$0() ]) m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AU_DEFUN([AC_LIBLTDL_INSTALLABLE], [_LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) _LTDL_INSTALLABLE]) m4trace:/usr/share/aclocal/ltdl.m4:137: -1- AC_DEFUN([AC_LIBLTDL_INSTALLABLE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBLTDL_INSTALLABLE' is obsolete. You should run autoupdate.])dnl _LT_CONFIG_LTDL_DIR([m4_default([$1], [libltdl])]) _LTDL_INSTALLABLE]) m4trace:/usr/share/aclocal/ltdl.m4:213: -1- AC_DEFUN([_LT_LIBOBJ], [ m4_pattern_allow([^_LT_LIBOBJS$]) _LT_LIBOBJS="$_LT_LIBOBJS $1.$ac_objext" ]) m4trace:/usr/share/aclocal/ltdl.m4:226: -1- AC_DEFUN([LTDL_INIT], [dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) dnl We need to keep our own list of libobjs separate from our parent project, dnl and the easiest way to do that is redefine the AC_LIBOBJs macro while dnl we look for our own LIBOBJs. m4_pushdef([AC_LIBOBJ], m4_defn([_LT_LIBOBJ])) m4_pushdef([AC_LIBSOURCES]) dnl If not otherwise defined, default to the 1.5.x compatible subproject mode: m4_if(_LTDL_MODE, [], [m4_define([_LTDL_MODE], m4_default([$2], [subproject])) m4_if([-1], [m4_bregexp(_LTDL_MODE, [\(subproject\|\(non\)?recursive\)])], [m4_fatal([unknown libltdl mode: ]_LTDL_MODE)])]) AC_ARG_WITH([included_ltdl], [AS_HELP_STRING([--with-included-ltdl], [use the GNU ltdl sources included here])]) if test "x$with_included_ltdl" != xyes; then # We are not being forced to use the included libltdl sources, so # decide whether there is a useful installed version we can use. AC_CHECK_HEADER([ltdl.h], [AC_CHECK_DECL([lt_dlinterface_register], [AC_CHECK_LIB([ltdl], [lt_dladvise_preload], [with_included_ltdl=no], [with_included_ltdl=yes])], [with_included_ltdl=yes], [AC_INCLUDES_DEFAULT #include ])], [with_included_ltdl=yes], [AC_INCLUDES_DEFAULT] ) fi dnl If neither LT_CONFIG_LTDL_DIR, LTDL_CONVENIENCE nor LTDL_INSTALLABLE dnl was called yet, then for old times' sake, we assume libltdl is in an dnl eponymous directory: AC_PROVIDE_IFELSE([LT_CONFIG_LTDL_DIR], [], [_LT_CONFIG_LTDL_DIR([libltdl])]) AC_ARG_WITH([ltdl_include], [AS_HELP_STRING([--with-ltdl-include=DIR], [use the ltdl headers installed in DIR])]) if test -n "$with_ltdl_include"; then if test -f "$with_ltdl_include/ltdl.h"; then : else AC_MSG_ERROR([invalid ltdl include directory: `$with_ltdl_include']) fi else with_ltdl_include=no fi AC_ARG_WITH([ltdl_lib], [AS_HELP_STRING([--with-ltdl-lib=DIR], [use the libltdl.la installed in DIR])]) if test -n "$with_ltdl_lib"; then if test -f "$with_ltdl_lib/libltdl.la"; then : else AC_MSG_ERROR([invalid ltdl library directory: `$with_ltdl_lib']) fi else with_ltdl_lib=no fi case ,$with_included_ltdl,$with_ltdl_include,$with_ltdl_lib, in ,yes,no,no,) m4_case(m4_default(_LTDL_TYPE, [convenience]), [convenience], [_LTDL_CONVENIENCE], [installable], [_LTDL_INSTALLABLE], [m4_fatal([unknown libltdl build type: ]_LTDL_TYPE)]) ;; ,no,no,no,) # If the included ltdl is not to be used, then use the # preinstalled libltdl we found. AC_DEFINE([HAVE_LTDL], [1], [Define this if a modern libltdl is already installed]) LIBLTDL=-lltdl LTDLDEPS= LTDLINCL= ;; ,no*,no,*) AC_MSG_ERROR([`--with-ltdl-include' and `--with-ltdl-lib' options must be used together]) ;; *) with_included_ltdl=no LIBLTDL="-L$with_ltdl_lib -lltdl" LTDLDEPS= LTDLINCL="-I$with_ltdl_include" ;; esac INCLTDL="$LTDLINCL" # Report our decision... AC_MSG_CHECKING([where to find libltdl headers]) AC_MSG_RESULT([$LTDLINCL]) AC_MSG_CHECKING([where to find libltdl library]) AC_MSG_RESULT([$LIBLTDL]) _LTDL_SETUP dnl restore autoconf definition. m4_popdef([AC_LIBOBJ]) m4_popdef([AC_LIBSOURCES]) AC_CONFIG_COMMANDS_PRE([ _ltdl_libobjs= _ltdl_ltlibobjs= if test -n "$_LT_LIBOBJS"; then # Remove the extension. _lt_sed_drop_objext='s/\.o$//;s/\.obj$//' for i in `for i in $_LT_LIBOBJS; do echo "$i"; done | sed "$_lt_sed_drop_objext" | sort -u`; do _ltdl_libobjs="$_ltdl_libobjs $lt_libobj_prefix$i.$ac_objext" _ltdl_ltlibobjs="$_ltdl_ltlibobjs $lt_libobj_prefix$i.lo" done fi AC_SUBST([ltdl_LIBOBJS], [$_ltdl_libobjs]) AC_SUBST([ltdl_LTLIBOBJS], [$_ltdl_ltlibobjs]) ]) # Only expand once: m4_define([LTDL_INIT]) ]) m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AU_DEFUN([AC_LIB_LTDL], [LTDL_INIT($@)]) m4trace:/usr/share/aclocal/ltdl.m4:352: -1- AC_DEFUN([AC_LIB_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIB_LTDL' is obsolete. You should run autoupdate.])dnl LTDL_INIT($@)]) m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AU_DEFUN([AC_WITH_LTDL], [LTDL_INIT($@)]) m4trace:/usr/share/aclocal/ltdl.m4:353: -1- AC_DEFUN([AC_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `AC_WITH_LTDL' is obsolete. You should run autoupdate.])dnl LTDL_INIT($@)]) m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AU_DEFUN([LT_WITH_LTDL], [LTDL_INIT($@)]) m4trace:/usr/share/aclocal/ltdl.m4:354: -1- AC_DEFUN([LT_WITH_LTDL], [AC_DIAGNOSE([obsolete], [The macro `LT_WITH_LTDL' is obsolete. You should run autoupdate.])dnl LTDL_INIT($@)]) m4trace:/usr/share/aclocal/ltdl.m4:367: -1- AC_DEFUN([_LTDL_SETUP], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_SYS_MODULE_EXT])dnl AC_REQUIRE([LT_SYS_MODULE_PATH])dnl AC_REQUIRE([LT_SYS_DLSEARCH_PATH])dnl AC_REQUIRE([LT_LIB_DLLOAD])dnl AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl AC_REQUIRE([LT_FUNC_DLSYM_USCORE])dnl AC_REQUIRE([LT_SYS_DLOPEN_DEPLIBS])dnl AC_REQUIRE([gl_FUNC_ARGZ])dnl m4_require([_LT_CHECK_OBJDIR])dnl m4_require([_LT_HEADER_DLFCN])dnl m4_require([_LT_CHECK_DLPREOPEN])dnl m4_require([_LT_DECL_SED])dnl dnl Don't require this, or it will be expanded earlier than the code dnl that sets the variables it relies on: _LT_ENABLE_INSTALL dnl _LTDL_MODE specific code must be called at least once: _LTDL_MODE_DISPATCH # In order that ltdl.c can compile, find out the first AC_CONFIG_HEADERS # the user used. This is so that ltdl.h can pick up the parent projects # config.h file, The first file in AC_CONFIG_HEADERS must contain the # definitions required by ltdl.c. # FIXME: Remove use of undocumented AC_LIST_HEADERS (2.59 compatibility). AC_CONFIG_COMMANDS_PRE([dnl m4_pattern_allow([^LT_CONFIG_H$])dnl m4_ifset([AH_HEADER], [LT_CONFIG_H=AH_HEADER], [m4_ifset([AC_LIST_HEADERS], [LT_CONFIG_H=`echo "AC_LIST_HEADERS" | $SED 's,^[[ ]]*,,;s,[[ :]].*$,,'`], [])])]) AC_SUBST([LT_CONFIG_H]) AC_CHECK_HEADERS([unistd.h dl.h sys/dl.h dld.h mach-o/dyld.h dirent.h], [], [], [AC_INCLUDES_DEFAULT]) AC_CHECK_FUNCS([closedir opendir readdir], [], [AC_LIBOBJ([lt__dirent])]) AC_CHECK_FUNCS([strlcat strlcpy], [], [AC_LIBOBJ([lt__strl])]) AC_DEFINE_UNQUOTED([LT_LIBEXT],["$libext"],[The archive extension]) name=ltdl LTDLOPEN=`eval "\\$ECHO \"$libname_spec\""` AC_SUBST([LTDLOPEN]) ]) m4trace:/usr/share/aclocal/ltdl.m4:437: -1- AC_DEFUN([LT_SYS_DLOPEN_DEPLIBS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_CACHE_CHECK([whether deplibs are loaded by dlopen], [lt_cv_sys_dlopen_deplibs], [# PORTME does your system automatically load deplibs for dlopen? # or its logical equivalent (e.g. shl_load for HP-UX < 11) # For now, we just catch OSes we know something about -- in the # future, we'll try test this programmatically. lt_cv_sys_dlopen_deplibs=unknown case $host_os in aix3*|aix4.1.*|aix4.2.*) # Unknown whether this is true for these versions of AIX, but # we want this `case' here to explicitly catch those versions. lt_cv_sys_dlopen_deplibs=unknown ;; aix[[4-9]]*) lt_cv_sys_dlopen_deplibs=yes ;; amigaos*) case $host_cpu in powerpc) lt_cv_sys_dlopen_deplibs=no ;; esac ;; darwin*) # Assuming the user has installed a libdl from somewhere, this is true # If you are looking for one http://www.opendarwin.org/projects/dlcompat lt_cv_sys_dlopen_deplibs=yes ;; freebsd* | dragonfly*) lt_cv_sys_dlopen_deplibs=yes ;; gnu* | linux* | k*bsd*-gnu) # GNU and its variants, using gnu ld.so (Glibc) lt_cv_sys_dlopen_deplibs=yes ;; hpux10*|hpux11*) lt_cv_sys_dlopen_deplibs=yes ;; interix*) lt_cv_sys_dlopen_deplibs=yes ;; irix[[12345]]*|irix6.[[01]]*) # Catch all versions of IRIX before 6.2, and indicate that we don't # know how it worked for any of those versions. lt_cv_sys_dlopen_deplibs=unknown ;; irix*) # The case above catches anything before 6.2, and it's known that # at 6.2 and later dlopen does load deplibs. lt_cv_sys_dlopen_deplibs=yes ;; netbsd*) lt_cv_sys_dlopen_deplibs=yes ;; openbsd*) lt_cv_sys_dlopen_deplibs=yes ;; osf[[1234]]*) # dlopen did load deplibs (at least at 4.x), but until the 5.x series, # it did *not* use an RPATH in a shared library to find objects the # library depends on, so we explicitly say `no'. lt_cv_sys_dlopen_deplibs=no ;; osf5.0|osf5.0a|osf5.1) # dlopen *does* load deplibs and with the right loader patch applied # it even uses RPATH in a shared library to search for shared objects # that the library depends on, but there's no easy way to know if that # patch is installed. Since this is the case, all we can really # say is unknown -- it depends on the patch being installed. If # it is, this changes to `yes'. Without it, it would be `no'. lt_cv_sys_dlopen_deplibs=unknown ;; osf*) # the two cases above should catch all versions of osf <= 5.1. Read # the comments above for what we know about them. # At > 5.1, deplibs are loaded *and* any RPATH in a shared library # is used to find them so we can finally say `yes'. lt_cv_sys_dlopen_deplibs=yes ;; qnx*) lt_cv_sys_dlopen_deplibs=yes ;; solaris*) lt_cv_sys_dlopen_deplibs=yes ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) libltdl_cv_sys_dlopen_deplibs=yes ;; esac ]) if test "$lt_cv_sys_dlopen_deplibs" != yes; then AC_DEFINE([LTDL_DLOPEN_DEPLIBS], [1], [Define if the OS needs help to load dependent libraries for dlopen().]) fi ]) m4trace:/usr/share/aclocal/ltdl.m4:536: -1- AU_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:536: -1- AC_DEFUN([AC_LTDL_SYS_DLOPEN_DEPLIBS], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYS_DLOPEN_DEPLIBS' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_SYS_DLOPEN_DEPLIBS], [LT_SYS_DLOPEN_DEPLIBS($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:543: -1- AC_DEFUN([LT_SYS_MODULE_EXT], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl AC_CACHE_CHECK([which extension is used for runtime loadable modules], [libltdl_cv_shlibext], [ module=yes eval libltdl_cv_shlibext=$shrext_cmds ]) if test -n "$libltdl_cv_shlibext"; then m4_pattern_allow([LT_MODULE_EXT])dnl AC_DEFINE_UNQUOTED([LT_MODULE_EXT], ["$libltdl_cv_shlibext"], [Define to the extension used for runtime loadable modules, say, ".so".]) fi ]) m4trace:/usr/share/aclocal/ltdl.m4:559: -1- AU_DEFUN([AC_LTDL_SHLIBEXT], [m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:559: -1- AC_DEFUN([AC_LTDL_SHLIBEXT], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBEXT' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_SYS_MODULE_EXT], [LT_SYS_MODULE_EXT($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:566: -1- AC_DEFUN([LT_SYS_MODULE_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl AC_CACHE_CHECK([which variable specifies run-time module search path], [lt_cv_module_path_var], [lt_cv_module_path_var="$shlibpath_var"]) if test -n "$lt_cv_module_path_var"; then m4_pattern_allow([LT_MODULE_PATH_VAR])dnl AC_DEFINE_UNQUOTED([LT_MODULE_PATH_VAR], ["$lt_cv_module_path_var"], [Define to the name of the environment variable that determines the run-time module search path.]) fi ]) m4trace:/usr/share/aclocal/ltdl.m4:578: -1- AU_DEFUN([AC_LTDL_SHLIBPATH], [m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:578: -1- AC_DEFUN([AC_LTDL_SHLIBPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SHLIBPATH' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_SYS_MODULE_PATH], [LT_SYS_MODULE_PATH($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:585: -1- AC_DEFUN([LT_SYS_DLSEARCH_PATH], [m4_require([_LT_SYS_DYNAMIC_LINKER])dnl AC_CACHE_CHECK([for the default library search path], [lt_cv_sys_dlsearch_path], [lt_cv_sys_dlsearch_path="$sys_lib_dlsearch_path_spec"]) if test -n "$lt_cv_sys_dlsearch_path"; then sys_dlsearch_path= for dir in $lt_cv_sys_dlsearch_path; do if test -z "$sys_dlsearch_path"; then sys_dlsearch_path="$dir" else sys_dlsearch_path="$sys_dlsearch_path$PATH_SEPARATOR$dir" fi done m4_pattern_allow([LT_DLSEARCH_PATH])dnl AC_DEFINE_UNQUOTED([LT_DLSEARCH_PATH], ["$sys_dlsearch_path"], [Define to the system default library search path.]) fi ]) m4trace:/usr/share/aclocal/ltdl.m4:606: -1- AU_DEFUN([AC_LTDL_SYSSEARCHPATH], [m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:606: -1- AC_DEFUN([AC_LTDL_SYSSEARCHPATH], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYSSEARCHPATH' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_SYS_DLSEARCH_PATH], [LT_SYS_DLSEARCH_PATH($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:632: -1- AC_DEFUN([LT_LIB_DLLOAD], [m4_pattern_allow([^LT_DLLOADERS$]) LT_DLLOADERS= AC_SUBST([LT_DLLOADERS]) AC_LANG_PUSH([C]) LIBADD_DLOPEN= AC_SEARCH_LIBS([dlopen], [dl], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) if test "$ac_cv_search_dlopen" != "none required" ; then LIBADD_DLOPEN="-ldl" fi libltdl_cv_lib_dl_dlopen="yes" LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#if HAVE_DLFCN_H # include #endif ]], [[dlopen(0, 0);]])], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) libltdl_cv_func_dlopen="yes" LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"], [AC_CHECK_LIB([svld], [dlopen], [AC_DEFINE([HAVE_LIBDL], [1], [Define if you have the libdl library or equivalent.]) LIBADD_DLOPEN="-lsvld" libltdl_cv_func_dlopen="yes" LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dlopen.la"])])]) if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes then lt_save_LIBS="$LIBS" LIBS="$LIBS $LIBADD_DLOPEN" AC_CHECK_FUNCS([dlerror]) LIBS="$lt_save_LIBS" fi AC_SUBST([LIBADD_DLOPEN]) LIBADD_SHL_LOAD= AC_CHECK_FUNC([shl_load], [AC_DEFINE([HAVE_SHL_LOAD], [1], [Define if you have the shl_load function.]) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la"], [AC_CHECK_LIB([dld], [shl_load], [AC_DEFINE([HAVE_SHL_LOAD], [1], [Define if you have the shl_load function.]) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}shl_load.la" LIBADD_SHL_LOAD="-ldld"])]) AC_SUBST([LIBADD_SHL_LOAD]) case $host_os in darwin[[1567]].*) # We only want this for pre-Mac OS X 10.4. AC_CHECK_FUNC([_dyld_func_lookup], [AC_DEFINE([HAVE_DYLD], [1], [Define if you have the _dyld_func_lookup function.]) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dyld.la"]) ;; beos*) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}load_add_on.la" ;; cygwin* | mingw* | os2* | pw32*) AC_CHECK_DECLS([cygwin_conv_path], [], [], [[#include ]]) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}loadlibrary.la" ;; esac AC_CHECK_LIB([dld], [dld_link], [AC_DEFINE([HAVE_DLD], [1], [Define if you have the GNU dld library.]) LT_DLLOADERS="$LT_DLLOADERS ${lt_dlopen_dir+$lt_dlopen_dir/}dld_link.la"]) AC_SUBST([LIBADD_DLD_LINK]) m4_pattern_allow([^LT_DLPREOPEN$]) LT_DLPREOPEN= if test -n "$LT_DLLOADERS" then for lt_loader in $LT_DLLOADERS; do LT_DLPREOPEN="$LT_DLPREOPEN-dlpreopen $lt_loader " done AC_DEFINE([HAVE_LIBDLLOADER], [1], [Define if libdlloader will be built on this platform]) fi AC_SUBST([LT_DLPREOPEN]) dnl This isn't used anymore, but set it for backwards compatibility LIBADD_DL="$LIBADD_DLOPEN $LIBADD_SHL_LOAD" AC_SUBST([LIBADD_DL]) AC_LANG_POP ]) m4trace:/usr/share/aclocal/ltdl.m4:725: -1- AU_DEFUN([AC_LTDL_DLLIB], [m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:725: -1- AC_DEFUN([AC_LTDL_DLLIB], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLLIB' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_LIB_DLLOAD], [LT_LIB_DLLOAD($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:733: -1- AC_DEFUN([LT_SYS_SYMBOL_USCORE], [m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl AC_CACHE_CHECK([for _ prefix in compiled symbols], [lt_cv_sys_symbol_underscore], [lt_cv_sys_symbol_underscore=no cat > conftest.$ac_ext <<_LT_EOF void nm_test_func(){} int main(){nm_test_func;return 0;} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. ac_nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $ac_nlist) && test -s "$ac_nlist"; then # See whether the symbols have a leading underscore. if grep '^. _nm_test_func' "$ac_nlist" >/dev/null; then lt_cv_sys_symbol_underscore=yes else if grep '^. nm_test_func ' "$ac_nlist" >/dev/null; then : else echo "configure: cannot find nm_test_func in $ac_nlist" >&AS_MESSAGE_LOG_FD fi fi else echo "configure: cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "configure: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.c >&AS_MESSAGE_LOG_FD fi rm -rf conftest* ]) sys_symbol_underscore=$lt_cv_sys_symbol_underscore AC_SUBST([sys_symbol_underscore]) ]) m4trace:/usr/share/aclocal/ltdl.m4:770: -1- AU_DEFUN([AC_LTDL_SYMBOL_USCORE], [m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:770: -1- AC_DEFUN([AC_LTDL_SYMBOL_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_SYMBOL_USCORE' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_SYS_SYMBOL_USCORE], [LT_SYS_SYMBOL_USCORE($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:777: -1- AC_DEFUN([LT_FUNC_DLSYM_USCORE], [AC_REQUIRE([LT_SYS_SYMBOL_USCORE])dnl if test x"$lt_cv_sys_symbol_underscore" = xyes; then if test x"$libltdl_cv_func_dlopen" = xyes || test x"$libltdl_cv_lib_dl_dlopen" = xyes ; then AC_CACHE_CHECK([whether we have to add an underscore for dlsym], [libltdl_cv_need_uscore], [libltdl_cv_need_uscore=unknown save_LIBS="$LIBS" LIBS="$LIBS $LIBADD_DLOPEN" _LT_TRY_DLOPEN_SELF( [libltdl_cv_need_uscore=no], [libltdl_cv_need_uscore=yes], [], [libltdl_cv_need_uscore=cross]) LIBS="$save_LIBS" ]) fi fi if test x"$libltdl_cv_need_uscore" = xyes; then AC_DEFINE([NEED_USCORE], [1], [Define if dlsym() requires a leading underscore in symbol names.]) fi ]) m4trace:/usr/share/aclocal/ltdl.m4:802: -1- AU_DEFUN([AC_LTDL_DLSYM_USCORE], [m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) m4trace:/usr/share/aclocal/ltdl.m4:802: -1- AC_DEFUN([AC_LTDL_DLSYM_USCORE], [AC_DIAGNOSE([obsolete], [The macro `AC_LTDL_DLSYM_USCORE' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_FUNC_DLSYM_USCORE], [LT_FUNC_DLSYM_USCORE($@)])]) m4trace:/usr/share/aclocal/pkg.m4:26: -1- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ]) m4trace:/usr/share/aclocal/pkg.m4:56: -1- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) m4trace:/usr/share/aclocal/pkg.m4:82: -1- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ]) m4trace:/usr/share/aclocal/pkg.m4:102: -1- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ]) m4trace:/usr/share/aclocal-1.11/amversion.m4:14: -1- AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.11' 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.11], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) m4trace:/usr/share/aclocal-1.11/amversion.m4:33: -1- AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.11])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) m4trace:/usr/share/aclocal-1.11/auxdir.m4:47: -1- 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` ]) m4trace:/usr/share/aclocal-1.11/cond.m4:15: -1- 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 m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) m4trace:/usr/share/aclocal-1.11/depend.m4:28: -1- 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 am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) m4trace:/usr/share/aclocal-1.11/depend.m4:163: -1- AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) m4trace:/usr/share/aclocal-1.11/depend.m4:171: -1- 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 ]) m4trace:/usr/share/aclocal-1.11/depout.m4:14: -1- AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # 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 } ]) m4trace:/usr/share/aclocal-1.11/depout.m4:75: -1- 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"]) ]) m4trace:/usr/share/aclocal-1.11/init.m4:26: -1- AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.62])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) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl 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 ]) _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])])dnl dnl The `parallel-tests' driver may need to know about EXEEXT, so add the dnl `am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This macro dnl is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) m4trace:/usr/share/aclocal-1.11/init.m4:126: -1- AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) m4trace:/usr/share/aclocal-1.11/install-sh.m4:11: -1- AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST(install_sh)]) m4trace:/usr/share/aclocal-1.11/lead-dot.m4:12: -1- 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])]) m4trace:/usr/share/aclocal-1.11/make.m4:14: -1- AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) m4trace:/usr/share/aclocal-1.11/missing.m4:14: -1- AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) m4trace:/usr/share/aclocal-1.11/missing.m4:24: -1- AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) m4trace:/usr/share/aclocal-1.11/mkdirp.m4:11: -1- 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 ]) m4trace:/usr/share/aclocal-1.11/options.m4:13: -1- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) m4trace:/usr/share/aclocal-1.11/options.m4:19: -1- AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) m4trace:/usr/share/aclocal-1.11/options.m4:25: -1- AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) m4trace:/usr/share/aclocal-1.11/options.m4:31: -1- AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) m4trace:/usr/share/aclocal-1.11/runlog.m4:12: -1- AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) m4trace:/usr/share/aclocal-1.11/sanity.m4:14: -1- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: `$srcdir']);; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( 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)]) m4trace:/usr/share/aclocal-1.11/silent.m4:14: -1- AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [ --enable-silent-rules less verbose build output (undo: `make V=1') --disable-silent-rules verbose build output (undo: `make V=0')]) case $enable_silent_rules in yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) m4trace:/usr/share/aclocal-1.11/strip.m4:17: -1- 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])]) m4trace:/usr/share/aclocal-1.11/substnot.m4:14: -1- AC_DEFUN([_AM_SUBST_NOTMAKE]) m4trace:/usr/share/aclocal-1.11/substnot.m4:19: -1- AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) m4trace:/usr/share/aclocal-1.11/tar.m4:24: -1- 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]) ]) m4trace:m4/acx_compile_warn.m4:7: -1- AC_DEFUN([ACX_COMPILE_WARN], [ dnl For enabling of debugging flags/code AC_ARG_ENABLE(debug, [ --enable-debug compile with debugging code enabled, default=no], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -g" CFLAGS="${CFLAGS} -g" LDFLAGS="${LDFLAGS} -g" AC_DEFINE(DEBUG,1,[Define if you want debugging code enabled.]) ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" ]) dnl If this is gcc, then ... if test ${GCC}x = yesx; then dnl Enable all warnings AC_ARG_ENABLE(warnings, [ --enable-warnings enable compilation warnings, default=yes], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ;; all) CXXFLAGS="${CXXFLAGS} -Wall -pedantic -ansi" CFLAGS="${CFLAGS} -Wall -pedantic -ansi" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-warnings) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ]) dnl For gcc >= 3.4.x, specifically enable the new warning switch dnl -Wdeclaration-after-statement in order to preserve source code dnl compatibility to gcc 2.95 and other compilers. GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x CFLAGS="${CFLAGS} -Wdeclaration-after-statement" fi fi dnl For enabling error on warnings AC_ARG_ENABLE(error-on-warning, [ --enable-error-on-warning treat all compile warnings as errors, default=no], [case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Werror" CFLAGS="${CFLAGS} -Werror" ;; no) ;; *) AC_MSG_ERROR(bad value ${enableval} for --enable-error-on-warning) ;; esac ], [ # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" ]) fi ]) m4trace:m4/as-scrub-include.m4:20: -1- AC_DEFUN([AS_SCRUB_INCLUDE], [ GIVEN_CFLAGS=$[$1] INCLUDE_DIRS=`echo | cpp -v 2>&1` dnl remove everything from this output between the "starts here" and "End of" dnl line INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done [$1]=$GIVEN_CFLAGS ]) m4trace:m4/fox.m4:6: -1- AC_DEFUN([AQ_CHECK_FOX], [ dnl PREREQUISITES: dnl AQ_CHECK_OS must be called before this dnl IN: dnl All variables which already have a value will not be altered dnl OUT: dnl Variables: dnl have_fox - set to "yes" if FOX exists dnl fox_includes - path to includes dnl fox_libs - path to libraries dnl Defines: dnl HAVE_FOX AC_MSG_CHECKING(if FOX is allowed) AC_ARG_ENABLE(fox, [ --enable-fox enable fox (default=yes)], enable_fox="$enableval", enable_fox="yes") AC_MSG_RESULT($enable_fox) if test "$enable_fox" = "no"; then fox_libs="" fox_includes="" have_fox="no" else dnl paths for fox includes AC_MSG_CHECKING(for fox includes) AC_ARG_WITH(fox-includes, [ --with-fox-includes=DIR uses fox includes from given dir], [local_fox_includes="$withval"], [local_fox_includes="\ /usr/include/fox-1.6 \ /usr/local/include/fox-1.6 \ /opt/fox-1.6/include \ " ] ) if test -z "$fox_includes"; then for i in $local_fox_includes; do if test -z "$fox_includes"; then if test -f "$i/fxver.h"; then fox_includes="-I$i" break; fi fi done fi if test -n "$fox_includes"; then AC_MSG_RESULT($fox_includes) else AC_MSG_RESULT(not found) fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi dnl paths for fox libs AC_MSG_CHECKING(for fox libraries) AC_ARG_WITH(fox-libs, [ --with-fox-libs=SPEC uses given fox libs ], [fox_libs="$withval"], [ AC_LANG(C++) SAVED_LDFLAGS=$LDFLAGS SAVED_CXXFLAGS=$CXXFLAGS LDFLAGS="$LDFLAGS -lFOX-1.6" CXXFLAGS="$CXXFLAGS $fox_includes" AC_LINK_IFELSE( [AC_LANG_PROGRAM([#include ], [FX::FXDate dummy])], [fox_libs="-lFOX-1.6"]) LDFLAGS=$SAVED_LDFLAGS CXXFLAGS=$SAVED_CXXFLAGS ] ) if test -z "$fox_libs"; then AQ_SEARCH_FOR_PATH([$qt_searchname],[$local_fox_libs]) if test -n "$found_dir" ; then fox_libs="-L$found_dir -lFOX-1.6" test "$OSYSTEM" = "freebsd" && \ fox_libs="$fox_libs" fi fi if test -n "$fox_libs"; then AC_MSG_RESULT($fox_libs) else AC_MSG_RESULT(not found) fi # check if all necessary fox components where found if test -z "$fox_includes" || \ test -z "$fox_libs"; then fox_libs="" fox_includes="" have_fox="no" else have_fox="yes" AC_DEFINE(HAVE_FOX, 1, [whether FOX is available]) fi dnl end of if "$enable_fox" fi AS_SCRUB_INCLUDE(fox_includes) AC_SUBST(fox_libs) AC_SUBST(fox_includes) ]) m4trace:m4/libtool.m4:67: -1- AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ]) m4trace:m4/libtool.m4:102: -1- AU_DEFUN([AC_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) m4trace:m4/libtool.m4:102: -1- AC_DEFUN([AC_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) m4trace:m4/libtool.m4:103: -1- AU_DEFUN([AM_PROG_LIBTOOL], [m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) m4trace:m4/libtool.m4:103: -1- AC_DEFUN([AM_PROG_LIBTOOL], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_LIBTOOL' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_INIT], [LT_INIT($@)])]) m4trace:m4/libtool.m4:562: -1- AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) cat >"$CONFIG_LT" <<_LTEOF #! $SHELL # Generated by $as_me. # Run this file to recreate a libtool stub with the current configuration. lt_cl_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2008 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. if test "$no_create" != yes; then lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) fi ]) m4trace:m4/libtool.m4:757: -1- AC_DEFUN([LT_SUPPORTED_TAG], []) m4trace:m4/libtool.m4:768: -1- AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ]) m4trace:m4/libtool.m4:830: -1- AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) m4trace:m4/libtool.m4:830: -1- AC_DEFUN([AC_LIBTOOL_CXX], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_CXX' is obsolete. You should run autoupdate.])dnl LT_LANG(C++)]) m4trace:m4/libtool.m4:831: -1- AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) m4trace:m4/libtool.m4:831: -1- AC_DEFUN([AC_LIBTOOL_F77], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_F77' is obsolete. You should run autoupdate.])dnl LT_LANG(Fortran 77)]) m4trace:m4/libtool.m4:832: -1- AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) m4trace:m4/libtool.m4:832: -1- AC_DEFUN([AC_LIBTOOL_FC], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_FC' is obsolete. You should run autoupdate.])dnl LT_LANG(Fortran)]) m4trace:m4/libtool.m4:833: -1- AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) m4trace:m4/libtool.m4:833: -1- AC_DEFUN([AC_LIBTOOL_GCJ], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_GCJ' is obsolete. You should run autoupdate.])dnl LT_LANG(Java)]) m4trace:m4/libtool.m4:1402: -1- AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__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 m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ]) m4trace:m4/libtool.m4:1444: -1- AU_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) m4trace:m4/libtool.m4:1444: -1- AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_COMPILER_OPTION' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [_LT_COMPILER_OPTION], [_LT_COMPILER_OPTION($@)])]) m4trace:m4/libtool.m4:1453: -1- AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "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 -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ]) m4trace:m4/libtool.m4:1488: -1- AU_DEFUN([AC_LIBTOOL_LINKER_OPTION], [m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) m4trace:m4/libtool.m4:1488: -1- AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_LINKER_OPTION' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [_LT_LINKER_OPTION], [_LT_LINKER_OPTION($@)])]) m4trace:m4/libtool.m4:1495: -1- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; 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 # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ]) m4trace:m4/libtool.m4:1623: -1- AU_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) m4trace:m4/libtool.m4:1623: -1- AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_SYS_MAX_CMD_LEN' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_CMD_MAX_LEN], [LT_CMD_MAX_LEN($@)])]) m4trace:m4/libtool.m4:1724: -1- AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ]) m4trace:m4/libtool.m4:1841: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) m4trace:m4/libtool.m4:1841: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN_SELF' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_SYS_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF($@)])]) m4trace:m4/libtool.m4:2729: -1- AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ]) m4trace:m4/libtool.m4:2791: -1- AU_DEFUN([AC_PATH_TOOL_PREFIX], [m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) m4trace:m4/libtool.m4:2791: -1- AC_DEFUN([AC_PATH_TOOL_PREFIX], [AC_DIAGNOSE([obsolete], [The macro `AC_PATH_TOOL_PREFIX' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [_LT_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX($@)])]) m4trace:m4/libtool.m4:2814: -1- AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ]) m4trace:m4/libtool.m4:3245: -1- AU_DEFUN([AM_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) m4trace:m4/libtool.m4:3245: -1- AC_DEFUN([AM_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AM_PROG_NM' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) m4trace:m4/libtool.m4:3246: -1- AU_DEFUN([AC_PROG_NM], [m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) m4trace:m4/libtool.m4:3246: -1- AC_DEFUN([AC_PROG_NM], [AC_DIAGNOSE([obsolete], [The macro `AC_PROG_NM' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_PATH_NM], [LT_PATH_NM($@)])]) m4trace:m4/libtool.m4:3255: -1- AC_DEFUN([LT_LIB_M], [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_SUBST([LIBM]) ]) m4trace:m4/libtool.m4:3274: -1- AU_DEFUN([AC_CHECK_LIBM], [m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) m4trace:m4/libtool.m4:3274: -1- AC_DEFUN([AC_CHECK_LIBM], [AC_DIAGNOSE([obsolete], [The macro `AC_CHECK_LIBM' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_LIB_M], [LT_LIB_M($@)])]) m4trace:m4/libtool.m4:6967: -1- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) m4trace:m4/libtool.m4:6976: -1- AU_DEFUN([LT_AC_PROG_GCJ], [m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) m4trace:m4/libtool.m4:6976: -1- AC_DEFUN([LT_AC_PROG_GCJ], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_GCJ' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_PROG_GCJ], [LT_PROG_GCJ($@)])]) m4trace:m4/libtool.m4:6983: -1- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) m4trace:m4/libtool.m4:6988: -1- AU_DEFUN([LT_AC_PROG_RC], [m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) m4trace:m4/libtool.m4:6988: -1- AC_DEFUN([LT_AC_PROG_RC], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_RC' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [LT_PROG_RC], [LT_PROG_RC($@)])]) m4trace:m4/libtool.m4:7099: -1- AU_DEFUN([LT_AC_PROG_SED], [m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) m4trace:m4/libtool.m4:7099: -1- AC_DEFUN([LT_AC_PROG_SED], [AC_DIAGNOSE([obsolete], [The macro `LT_AC_PROG_SED' is obsolete. You should run autoupdate.])dnl m4_if($#, 0, [AC_PROG_SED], [AC_PROG_SED($@)])]) m4trace:m4/libxml2.m4:6: -1- AC_DEFUN([AQ_CHECK_XML2], [ dnl PREREQUISITES: dnl AQ_CHECK_OS must be called before this dnl IN: dnl All variables which already have a value will not be altered dnl OUT: dnl Variables: dnl have_xml2 - set to "yes" if XML2 exists dnl libxml2_includes - path to includes dnl libxml2_libs - path to libraries dnl Defines: dnl HAVE_XML2 AC_MSG_CHECKING(if XML2 is allowed) AC_ARG_ENABLE(xml2, [ --enable-xml2 enable xml2 (default=yes)], enable_xml2="$enableval", enable_xml2="yes") AC_MSG_RESULT($enable_xml2) if test "$enable_xml2" = "no"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else dnl paths for xml2 includes AC_MSG_CHECKING(for xml2 includes) AC_ARG_WITH(xml2-includes, [ --with-xml2-includes=DIR uses xml2 includes from given dir], [local_libxml2_includes="$withval"], [local_libxml2_includes="\ /usr/include/libxml2 \ /usr/local/include/libxml2 \ /opt/libxml2/include \ " ] ) if test -z "$libxml2_includes"; then for i in $local_libxml2_includes; do if test -z "$libxml2_includes"; then if test -f "$i/libxml/tree.h"; then libxml2_includes="-I$i" break; fi fi done fi if test -n "$libxml2_includes"; then AC_MSG_RESULT($libxml2_includes) else AC_MSG_RESULT(not found) fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi dnl paths for xml2 libs AC_MSG_CHECKING(for xml2 libraries) AC_ARG_WITH(xml2-libs, [ --with-xml2-libs=SPEC uses given xml2 libs ], [libxml2_libs="$withval"], [libxml2_libs=""] ) if test -z "$libxml2_libs"; then libxml2_libs="-lxml2" fi if test -n "$libxml2_libs"; then AC_MSG_RESULT($libxml2_libs) else AC_MSG_RESULT(not found) fi # check if all necessary xml2 components where found if test -z "$libxml2_includes" || \ test -z "$libxml2_libs"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else have_xml2="yes" AC_DEFINE(HAVE_LIBXML2, 1, [whether XML2 is available]) fi dnl end of if "$enable_xml2" fi AS_SCRUB_INCLUDE(libxml2_includes) AC_SUBST(libxml2_libs) AC_SUBST(libxml2_includes) ]) m4trace:m4/ltoptions.m4:13: -1- AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) m4trace:m4/ltoptions.m4:110: -1- AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:110: -1- AC_DEFUN([AC_LIBTOOL_DLOPEN], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_DLOPEN' is obsolete. You should run autoupdate.])dnl _LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:145: -1- AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:145: -1- AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. You should run autoupdate.])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:194: -1- AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) m4trace:m4/ltoptions.m4:198: -1- AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) m4trace:m4/ltoptions.m4:202: -1- AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) m4trace:m4/ltoptions.m4:202: -1- AC_DEFUN([AM_ENABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_SHARED' is obsolete. You should run autoupdate.])dnl AC_ENABLE_SHARED($@)]) m4trace:m4/ltoptions.m4:203: -1- AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) m4trace:m4/ltoptions.m4:203: -1- AC_DEFUN([AM_DISABLE_SHARED], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_SHARED' is obsolete. You should run autoupdate.])dnl AC_DISABLE_SHARED($@)]) m4trace:m4/ltoptions.m4:248: -1- AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) m4trace:m4/ltoptions.m4:252: -1- AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) m4trace:m4/ltoptions.m4:256: -1- AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) m4trace:m4/ltoptions.m4:256: -1- AC_DEFUN([AM_ENABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_ENABLE_STATIC' is obsolete. You should run autoupdate.])dnl AC_ENABLE_STATIC($@)]) m4trace:m4/ltoptions.m4:257: -1- AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) m4trace:m4/ltoptions.m4:257: -1- AC_DEFUN([AM_DISABLE_STATIC], [AC_DIAGNOSE([obsolete], [The macro `AM_DISABLE_STATIC' is obsolete. You should run autoupdate.])dnl AC_DISABLE_STATIC($@)]) m4trace:m4/ltoptions.m4:302: -1- AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:302: -1- AC_DEFUN([AC_ENABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_ENABLE_FAST_INSTALL' is obsolete. You should run autoupdate.])dnl _LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:309: -1- AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:309: -1- AC_DEFUN([AC_DISABLE_FAST_INSTALL], [AC_DIAGNOSE([obsolete], [The macro `AC_DISABLE_FAST_INSTALL' is obsolete. You should run autoupdate.])dnl _LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:342: -1- AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltoptions.m4:342: -1- AC_DEFUN([AC_LIBTOOL_PICMODE], [AC_DIAGNOSE([obsolete], [The macro `AC_LIBTOOL_PICMODE' is obsolete. You should run autoupdate.])dnl _LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) m4trace:m4/ltsugar.m4:13: -1- AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) m4trace:m4/ltversion.m4:18: -1- AC_DEFUN([LTVERSION_VERSION], [macro_version='2.2.6' macro_revision='1.3012' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) m4trace:m4/lt~obsolete.m4:36: -1- AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4trace:m4/lt~obsolete.m4:40: -1- AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH]) m4trace:m4/lt~obsolete.m4:41: -1- AC_DEFUN([_LT_AC_SHELL_INIT]) m4trace:m4/lt~obsolete.m4:42: -1- AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX]) m4trace:m4/lt~obsolete.m4:44: -1- AC_DEFUN([_LT_AC_TAGVAR]) m4trace:m4/lt~obsolete.m4:45: -1- AC_DEFUN([AC_LTDL_ENABLE_INSTALL]) m4trace:m4/lt~obsolete.m4:46: -1- AC_DEFUN([AC_LTDL_PREOPEN]) m4trace:m4/lt~obsolete.m4:47: -1- AC_DEFUN([_LT_AC_SYS_COMPILER]) m4trace:m4/lt~obsolete.m4:48: -1- AC_DEFUN([_LT_AC_LOCK]) m4trace:m4/lt~obsolete.m4:49: -1- AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE]) m4trace:m4/lt~obsolete.m4:50: -1- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF]) m4trace:m4/lt~obsolete.m4:51: -1- AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O]) m4trace:m4/lt~obsolete.m4:52: -1- AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS]) m4trace:m4/lt~obsolete.m4:53: -1- AC_DEFUN([AC_LIBTOOL_OBJDIR]) m4trace:m4/lt~obsolete.m4:54: -1- AC_DEFUN([AC_LTDL_OBJDIR]) m4trace:m4/lt~obsolete.m4:55: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH]) m4trace:m4/lt~obsolete.m4:56: -1- AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP]) m4trace:m4/lt~obsolete.m4:57: -1- AC_DEFUN([AC_PATH_MAGIC]) m4trace:m4/lt~obsolete.m4:58: -1- AC_DEFUN([AC_PROG_LD_GNU]) m4trace:m4/lt~obsolete.m4:59: -1- AC_DEFUN([AC_PROG_LD_RELOAD_FLAG]) m4trace:m4/lt~obsolete.m4:60: -1- AC_DEFUN([AC_DEPLIBS_CHECK_METHOD]) m4trace:m4/lt~obsolete.m4:61: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI]) m4trace:m4/lt~obsolete.m4:62: -1- AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE]) m4trace:m4/lt~obsolete.m4:63: -1- AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC]) m4trace:m4/lt~obsolete.m4:64: -1- AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS]) m4trace:m4/lt~obsolete.m4:65: -1- AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP]) m4trace:m4/lt~obsolete.m4:66: -1- AC_DEFUN([LT_AC_PROG_EGREP]) m4trace:m4/lt~obsolete.m4:71: -1- AC_DEFUN([_AC_PROG_LIBTOOL]) m4trace:m4/lt~obsolete.m4:72: -1- AC_DEFUN([AC_LIBTOOL_SETUP]) m4trace:m4/lt~obsolete.m4:73: -1- AC_DEFUN([_LT_AC_CHECK_DLFCN]) m4trace:m4/lt~obsolete.m4:74: -1- AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER]) m4trace:m4/lt~obsolete.m4:75: -1- AC_DEFUN([_LT_AC_TAGCONFIG]) m4trace:m4/lt~obsolete.m4:77: -1- AC_DEFUN([_LT_AC_LANG_CXX]) m4trace:m4/lt~obsolete.m4:78: -1- AC_DEFUN([_LT_AC_LANG_F77]) m4trace:m4/lt~obsolete.m4:79: -1- AC_DEFUN([_LT_AC_LANG_GCJ]) m4trace:m4/lt~obsolete.m4:80: -1- AC_DEFUN([AC_LIBTOOL_RC]) m4trace:m4/lt~obsolete.m4:81: -1- AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG]) m4trace:m4/lt~obsolete.m4:82: -1- AC_DEFUN([_LT_AC_LANG_C_CONFIG]) m4trace:m4/lt~obsolete.m4:83: -1- AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG]) m4trace:m4/lt~obsolete.m4:84: -1- AC_DEFUN([_LT_AC_LANG_CXX_CONFIG]) m4trace:m4/lt~obsolete.m4:85: -1- AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG]) m4trace:m4/lt~obsolete.m4:86: -1- AC_DEFUN([_LT_AC_LANG_F77_CONFIG]) m4trace:m4/lt~obsolete.m4:87: -1- AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG]) m4trace:m4/lt~obsolete.m4:88: -1- AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG]) m4trace:m4/lt~obsolete.m4:89: -1- AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG]) m4trace:m4/lt~obsolete.m4:90: -1- AC_DEFUN([_LT_AC_LANG_RC_CONFIG]) m4trace:m4/lt~obsolete.m4:91: -1- AC_DEFUN([AC_LIBTOOL_CONFIG]) m4trace:m4/lt~obsolete.m4:92: -1- AC_DEFUN([_LT_AC_FILE_LTDLL_C]) m4trace:m4/os.m4:5: -1- AC_DEFUN([AQ_CHECK_OS], [ dnl IN: dnl - AC_CANONICAL_SYSTEM muste be called before dnl OUT: dnl Variables: dnl OSYSTEM: Short name of your system (subst) dnl OS_TYPE: either "posix" or "windows" (subst) dnl MAKE_DLL_TARGET: under windows this is set to "dll" (subst) dnl INSTALL_DLL_TARGET: under Windows this is set to "dll-install" (subst) dnl Defines: dnl OS_NAME: full name of your system dnl OS_SHORTNAME: short name of your system dnl Depending on your system one of the following is defined in addition: dnl OS_LINUX, OS_OPENBSD, OS_FREEBSD, OS_BEOS, OS_WIN32 # check for OS AC_MSG_CHECKING([target system type]) OSYSTEM="" OS_TYPE="" MAKE_DLL_TARGET="" INSTALL_DLL_TARGET="" AC_DEFINE_UNQUOTED(OS_NAME,"$target", [target system]) case "$target" in *-linux*) OSYSTEM="linux" AC_DEFINE(OS_LINUX,1,[if linux is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-solaris*) OSYSTEM="solaris" AC_DEFINE(OS_SOLARIS,1,[if Solaris is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-darwin*) OSYSTEM="osx" AC_DEFINE(OS_DARWIN,1,[if Apple Darwin is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-openbsd*) OSYSTEM="openbsd" AC_DEFINE(OS_OPENBSD,1,[if OpenBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-freebsd*) OSYSTEM="freebsd" AC_DEFINE(OS_FREEBSD,1,[if FreeBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-netbsd*) OSYSTEM="netbsd" AC_DEFINE(OS_NETBSD,1,[if NetBSD is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-beos*) OSYSTEM="beos" AC_DEFINE(OS_BEOS,1,[if BeOS is used]) AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) OS_TYPE="posix" ;; *-win32*) OSYSTEM="windows" AC_DEFINE(OS_WIN32,1,[if WIN32 is used]) OS_TYPE="windows" AC_DEFINE_UNQUOTED(BUILDING_DLL,1,[if DLL is to be built]) MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-mingw32*) OSYSTEM="windows" AC_DEFINE(OS_WIN32,1,[if WIN32 is used]) OS_TYPE="windows" AC_DEFINE_UNQUOTED(BUILDING_DLL,1,[if DLL is to be built]) MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-palmos*) OSYSTEM="palmos" AC_DEFINE(OS_PALMOS,1,[if PalmOS is used]) OS_TYPE="palmos" ;; *) AC_MSG_WARN([Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue.]) OSYSTEM="unknown" OS_TYPE="posix" AC_DEFINE(OS_POSIX,1,[if this is a POSIX system]) ;; esac AC_SUBST(OSYSTEM) AC_DEFINE_UNQUOTED(OS_SHORTNAME,"$OSYSTEM",[target system]) AC_SUBST(OS_TYPE) AC_DEFINE_UNQUOTED(OS_TYPE,"$OS_TYPE",[system type]) AC_SUBST(MAKE_DLL_TARGET) AC_SUBST(INSTALL_DLL_TARGET) AC_MSG_RESULT($OS_TYPE) ]) m4trace:m4/pcsc.m4:5: -1- AC_DEFUN([AQ_CHECK_PCSC], [ dnl PREREQUISITES: dnl - AQ_CHECK_OS must becalled before dnl IN: dnl nothing dnl OUT: dnl Variables: dnl pcsc_libraries: Path to the PC/SC libraries dnl pcsc_lib: PC/SC libraries to link against dnl pcsc_includes: Path to the PC/SC includes dnl have_pcsc: "yes" if pc/sc is available dnl Defines: if test "$OSYSTEM" = "windows" ; then pcsc_libraries="" pcsc_lib="-lwinscard" have_pcsc="yes" elif test "$OSYSTEM" = "osx" ; then AC_MSG_CHECKING(for pcsc includes) pcsc_includes="-I/System/Library/Frameworks/PCSC.framework/Headers" AC_MSG_RESULT($pcsc_includes) AC_MSG_CHECKING(for pcsc libs) pcsc_libraries="" pcsc_lib="-framework PCSC" AC_MSG_RESULT($pcsc_libraries ${pcsc_lib}) have_pcsc="yes" else AC_MSG_CHECKING(if PC/SC should be used) AC_ARG_ENABLE(pcsc, [ --enable-pcsc enable PC/SC driver (default=yes)], enable_pcsc="$enableval", enable_pcsc="yes") AC_MSG_RESULT($enable_pcsc) if test "$enable_pcsc" != "no"; then dnl ******* pcsc includes *********** AC_MSG_CHECKING(for pcsc includes) AC_ARG_WITH(pcsc-includes, [ --with-pcsc-includes=DIR adds pcsc include path], [pcsc_search_inc_dirs="$withval"], [pcsc_search_inc_dirs="/usr/include\ /usr/local/include\ /usr/local/pcsc/include\ /usr/pcsc/include\ "]) dnl search for pcsc AQ_SEARCH_FOR_PATH([PCSC/winscard.h],[$pcsc_search_inc_dirs]) if test -n "$found_dir" ; then pcsc_includes="-I$found_dir -I$found_dir/PCSC" fi AC_MSG_RESULT($pcsc_includes) dnl ******* pcsc lib *********** AC_MSG_CHECKING(for pcsc libs) AC_ARG_WITH(pcsc-libname, [ --with-pcsc-libname=NAME specify the name of the pcsc library], [pcsc_search_lib_names="$withval"], [pcsc_search_lib_names="libpcsclite.so \ libpcsclite.so.* \ libpcsc.a"]) AC_ARG_WITH(pcsc-libs, [ --with-pcsc-libs=DIR adds pcsc library path], [pcsc_search_lib_dirs="$withval"], [pcsc_search_lib_dirs="/usr/lib64 \ /usr/lib \ /usr/local/lib \ /usr/lib/pcsc/lib \ /usr/local/pcsc/lib \ /lib"]) dnl search for pcsc libs for d in $pcsc_search_lib_dirs; do AQ_SEARCH_FILES("$d",$pcsc_search_lib_names) if test -n "$found_file" ; then pcsc_libraries="-L$d" pcsc_lib="-l`echo $found_file | sed 's/lib//;s/\.so*//;s/\.a//'`" break fi done if test -z "$pcsc_libraries" -o -z "$pcsc_lib" -o -z "$pcsc_includes"; then AC_MSG_WARN([No pcsc libraries found, SCard driver will not be available.]) have_pcsc="no" else AC_MSG_RESULT($pcsc_libraries ${pcsc_lib}) have_pcsc="yes" fi # end of "if enable-pcsc" fi # end of "if linux" fi AC_SUBST(pcsc_includes) AC_SUBST(pcsc_libraries) AC_SUBST(pcsc_lib) ]) m4trace:m4/searchfiles.m4:6: -1- AC_DEFUN([AQ_SEARCH_FOR_PATH], [ dnl searches for a file in a path dnl $1 = file to search dnl $2 = paths to search in dnl returns the directory where the file is found (found_dir) found_dir="" ls=$1 ld="$2" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done ]) m4trace:m4/searchfiles.m4:27: -1- AC_DEFUN([AQ_SEARCH_FILES], [ dnl searches a dir for some files dnl $1 = path where to search dnl $2 = files to find dnl returns the name of the file found (found_file) found_file="" ls="$1" ld="$2" lf="" for li in $ld; do lf2="`ls -d ${ls}/${li} 2>/dev/null`" lf="$lf $lf2" done for li in $lf; do if test -r "$li"; then found_file=`basename "$li"` break fi done ]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^_?A[CHUM]_]) m4trace:configure.ac:20: -1- m4_pattern_forbid([_AC_]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) m4trace:configure.ac:20: -1- m4_pattern_allow([^AS_FLAGS$]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^_?m4_]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^dnl$]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^_?AS_]) m4trace:configure.ac:20: -1- m4_pattern_allow([^SHELL$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PATH_SEPARATOR$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_NAME$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_VERSION$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_STRING$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^exec_prefix$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^prefix$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^program_transform_name$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^bindir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^sbindir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^libexecdir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^datarootdir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^datadir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^sysconfdir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^sharedstatedir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^localstatedir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^includedir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^oldincludedir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^docdir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^infodir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^htmldir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^dvidir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^pdfdir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^psdir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^libdir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^localedir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^mandir$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_NAME$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_VERSION$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_STRING$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^DEFS$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^ECHO_C$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^ECHO_N$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^ECHO_T$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^build_alias$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^host_alias$]) m4trace:configure.ac:20: -1- m4_pattern_allow([^target_alias$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build_cpu$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build_vendor$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build_os$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host_cpu$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host_vendor$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host_os$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target_cpu$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target_vendor$]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target_os$]) m4trace:configure.ac:68: -1- m4_pattern_allow([^CYBERJACK_VERSION_MAJOR$]) m4trace:configure.ac:69: -1- m4_pattern_allow([^CYBERJACK_VERSION_MINOR$]) m4trace:configure.ac:70: -1- m4_pattern_allow([^CYBERJACK_VERSION_PATCHLEVEL$]) m4trace:configure.ac:71: -1- m4_pattern_allow([^CYBERJACK_VERSION_BUILD$]) m4trace:configure.ac:72: -1- m4_pattern_allow([^CYBERJACK_VERSION_TAG$]) m4trace:configure.ac:73: -1- m4_pattern_allow([^CYBERJACK_VERSION_FULL_STRING$]) m4trace:configure.ac:74: -1- m4_pattern_allow([^CYBERJACK_VERSION_STRING$]) m4trace:configure.ac:75: -1- m4_pattern_allow([^CYBERJACK_VERSION_RELEASE_STRING$]) m4trace:configure.ac:77: -1- m4_pattern_allow([^CYBERJACK_VERSION_MAJOR$]) m4trace:configure.ac:79: -1- m4_pattern_allow([^CYBERJACK_VERSION_MINOR$]) m4trace:configure.ac:81: -1- m4_pattern_allow([^CYBERJACK_VERSION_PATCHLEVEL$]) m4trace:configure.ac:83: -1- m4_pattern_allow([^CYBERJACK_VERSION_BUILD$]) m4trace:configure.ac:84: -1- m4_pattern_allow([^CYBERJACK_VERSION_STRING$]) m4trace:configure.ac:86: -1- m4_pattern_allow([^CYBERJACK_VERSION_FULL_STRING$]) m4trace:configure.ac:88: -1- m4_pattern_allow([^CYBERJACK_VERSION_TAG$]) m4trace:configure.ac:91: -1- m4_pattern_allow([^CYBERJACK_SO_CURRENT$]) m4trace:configure.ac:92: -1- m4_pattern_allow([^CYBERJACK_SO_REVISION$]) m4trace:configure.ac:93: -1- m4_pattern_allow([^CYBERJACK_SO_AGE$]) m4trace:configure.ac:94: -1- m4_pattern_allow([^CYBERJACK_SO_EFFECTIVE$]) m4trace:configure.ac:96: -1- AM_INIT_AUTOMAKE([ifd-cyberjack], [$CYBERJACK_VERSION_RELEASE_STRING]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) m4trace:configure.ac:96: -1- AM_SET_CURRENT_AUTOMAKE_VERSION m4trace:configure.ac:96: -1- AM_AUTOMAKE_VERSION([1.11]) m4trace:configure.ac:96: -1- _AM_AUTOCONF_VERSION([2.63]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_DATA$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^am__isrc$]) m4trace:configure.ac:96: -1- _AM_SUBST_NOTMAKE([am__isrc]) m4trace:configure.ac:96: -1- m4_pattern_allow([^CYGPATH_W$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^PACKAGE$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^VERSION$]) m4trace:configure.ac:96: -1- _AM_IF_OPTION([no-define], [], [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])]) m4trace:configure.ac:96: -2- _AM_MANGLE_OPTION([no-define]) m4trace:configure.ac:96: -1- m4_pattern_allow([^PACKAGE$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^VERSION$]) m4trace:configure.ac:96: -1- AM_SANITY_CHECK m4trace:configure.ac:96: -1- AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) m4trace:configure.ac:96: -1- AM_MISSING_HAS_RUN m4trace:configure.ac:96: -1- AM_AUX_DIR_EXPAND m4trace:configure.ac:96: -1- m4_pattern_allow([^ACLOCAL$]) m4trace:configure.ac:96: -1- AM_MISSING_PROG([AUTOCONF], [autoconf]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AUTOCONF$]) m4trace:configure.ac:96: -1- AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AUTOMAKE$]) m4trace:configure.ac:96: -1- AM_MISSING_PROG([AUTOHEADER], [autoheader]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AUTOHEADER$]) m4trace:configure.ac:96: -1- AM_MISSING_PROG([MAKEINFO], [makeinfo]) m4trace:configure.ac:96: -1- m4_pattern_allow([^MAKEINFO$]) m4trace:configure.ac:96: -1- AM_PROG_INSTALL_SH m4trace:configure.ac:96: -1- m4_pattern_allow([^install_sh$]) m4trace:configure.ac:96: -1- AM_PROG_INSTALL_STRIP m4trace:configure.ac:96: -1- m4_pattern_allow([^STRIP$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) m4trace:configure.ac:96: -1- AM_PROG_MKDIR_P m4trace:configure.ac:96: -1- m4_pattern_allow([^MKDIR_P$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^mkdir_p$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AWK$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^SET_MAKE$]) m4trace:configure.ac:96: -1- AM_SET_LEADING_DOT m4trace:configure.ac:96: -1- m4_pattern_allow([^am__leading_dot$]) m4trace:configure.ac:96: -1- _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) m4trace:configure.ac:96: -2- _AM_MANGLE_OPTION([tar-ustar]) m4trace:configure.ac:96: -1- _AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])]) m4trace:configure.ac:96: -2- _AM_MANGLE_OPTION([tar-pax]) m4trace:configure.ac:96: -1- _AM_PROG_TAR([v7]) m4trace:configure.ac:96: -1- AM_MISSING_PROG([AMTAR], [tar]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AMTAR$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^am__tar$]) m4trace:configure.ac:96: -1- m4_pattern_allow([^am__untar$]) m4trace:configure.ac:96: -1- _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 ]) m4trace:configure.ac:96: -2- _AM_MANGLE_OPTION([no-dependencies]) m4trace:configure.ac:96: -1- _AM_IF_OPTION([silent-rules], [AC_REQUIRE([AM_SILENT_RULES])]) m4trace:configure.ac:96: -2- _AM_MANGLE_OPTION([silent-rules]) m4trace:configure.ac:103: -1- AQ_CHECK_OS m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_NAME$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_LINUX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_SOLARIS$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_DARWIN$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_OPENBSD$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_FREEBSD$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_NETBSD$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_BEOS$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_WIN32$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^BUILDING_DLL$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_WIN32$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^BUILDING_DLL$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_PALMOS$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OSYSTEM$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_SHORTNAME$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_TYPE$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_TYPE$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^MAKE_DLL_TARGET$]) m4trace:configure.ac:103: -1- m4_pattern_allow([^INSTALL_DLL_TARGET$]) m4trace:configure.ac:114: -1- m4_pattern_allow([^prefix$]) m4trace:configure.ac:122: -1- AC_ENABLE_STATIC([no]) m4trace:configure.ac:123: -1- AC_ENABLE_SHARED([yes]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CFLAGS$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^ac_ct_CC$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^EXEEXT$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^OBJEXT$]) m4trace:configure.ac:130: -1- _AM_DEPENDENCIES([CC]) m4trace:configure.ac:130: -1- AM_SET_DEPDIR m4trace:configure.ac:130: -1- m4_pattern_allow([^DEPDIR$]) m4trace:configure.ac:130: -1- AM_OUTPUT_DEPENDENCY_COMMANDS m4trace:configure.ac:130: -1- AM_MAKE_INCLUDE m4trace:configure.ac:130: -1- m4_pattern_allow([^am__include$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^am__quote$]) m4trace:configure.ac:130: -1- AM_DEP_TRACK m4trace:configure.ac:130: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) m4trace:configure.ac:130: -1- m4_pattern_allow([^AMDEP_TRUE$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^AMDEP_FALSE$]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) m4trace:configure.ac:130: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CCDEPMODE$]) m4trace:configure.ac:130: -1- AM_CONDITIONAL([am__fastdepCC], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:130: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) m4trace:configure.ac:130: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXXFLAGS$]) m4trace:configure.ac:131: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:131: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:131: -1- m4_pattern_allow([^ac_ct_CXX$]) m4trace:configure.ac:131: -1- _AM_DEPENDENCIES([CXX]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXXDEPMODE$]) m4trace:configure.ac:131: -1- AM_CONDITIONAL([am__fastdepCXX], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:131: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) m4trace:configure.ac:131: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) m4trace:configure.ac:131: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) m4trace:configure.ac:131: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJC$]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJCFLAGS$]) m4trace:configure.ac:132: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:132: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:132: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJC$]) m4trace:configure.ac:132: -1- m4_pattern_allow([^ac_ct_OBJC$]) m4trace:configure.ac:132: -1- _AM_DEPENDENCIES([OBJC]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJCDEPMODE$]) m4trace:configure.ac:132: -1- AM_CONDITIONAL([am__fastdepOBJC], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:132: -1- m4_pattern_allow([^am__fastdepOBJC_TRUE$]) m4trace:configure.ac:132: -1- m4_pattern_allow([^am__fastdepOBJC_FALSE$]) m4trace:configure.ac:132: -1- _AM_SUBST_NOTMAKE([am__fastdepOBJC_TRUE]) m4trace:configure.ac:132: -1- _AM_SUBST_NOTMAKE([am__fastdepOBJC_FALSE]) m4trace:configure.ac:133: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) m4trace:configure.ac:133: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) m4trace:configure.ac:133: -1- m4_pattern_allow([^INSTALL_DATA$]) m4trace:configure.ac:135: -1- AC_LIBTOOL_WIN32_DLL m4trace:configure.ac:135: -1- _m4_warn([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. You should run autoupdate.], [m4/ltoptions.m4:145: AC_LIBTOOL_WIN32_DLL is expanded from... configure.ac:135: the top level]) m4trace:configure.ac:135: -1- m4_pattern_allow([^AS$]) m4trace:configure.ac:135: -1- m4_pattern_allow([^DLLTOOL$]) m4trace:configure.ac:135: -1- m4_pattern_allow([^OBJDUMP$]) m4trace:configure.ac:135: -1- _m4_warn([obsolete], [AC_LIBTOOL_WIN32_DLL: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.], [m4/ltoptions.m4:145: AC_LIBTOOL_WIN32_DLL is expanded from... configure.ac:135: the top level]) m4trace:configure.ac:136: -1- AC_LIBTOOL_RC m4trace:configure.ac:137: -1- AC_PROG_LIBTOOL m4trace:configure.ac:137: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. You should run autoupdate.], [m4/libtool.m4:102: AC_PROG_LIBTOOL is expanded from... configure.ac:137: the top level]) m4trace:configure.ac:137: -1- LT_INIT m4trace:configure.ac:137: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) m4trace:configure.ac:137: -1- LTOPTIONS_VERSION m4trace:configure.ac:137: -1- LTSUGAR_VERSION m4trace:configure.ac:137: -1- LTVERSION_VERSION m4trace:configure.ac:137: -1- LTOBSOLETE_VERSION m4trace:configure.ac:137: -1- _LT_PROG_LTMAIN m4trace:configure.ac:137: -1- m4_pattern_allow([^LIBTOOL$]) m4trace:configure.ac:137: -1- LT_PATH_LD m4trace:configure.ac:137: -1- m4_pattern_allow([^SED$]) m4trace:configure.ac:137: -1- AC_PROG_EGREP m4trace:configure.ac:137: -1- m4_pattern_allow([^GREP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^EGREP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^FGREP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^GREP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LD$]) m4trace:configure.ac:137: -1- LT_PATH_NM m4trace:configure.ac:137: -1- m4_pattern_allow([^DUMPBIN$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^DUMPBIN$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^NM$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LN_S$]) m4trace:configure.ac:137: -1- LT_CMD_MAX_LEN m4trace:configure.ac:137: -1- m4_pattern_allow([^OBJDUMP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^OBJDUMP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^AR$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^STRIP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^RANLIB$]) m4trace:configure.ac:137: -1- m4_pattern_allow([LT_OBJDIR]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LT_OBJDIR$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^lt_ECHO$]) m4trace:configure.ac:137: -1- _LT_CC_BASENAME([$compiler]) m4trace:configure.ac:137: -1- _LT_PATH_TOOL_PREFIX([${ac_tool_prefix}file], [/usr/bin$PATH_SEPARATOR$PATH]) m4trace:configure.ac:137: -1- _LT_PATH_TOOL_PREFIX([file], [/usr/bin$PATH_SEPARATOR$PATH]) m4trace:configure.ac:137: -1- LT_SUPPORTED_TAG([CC]) m4trace:configure.ac:137: -1- _LT_COMPILER_BOILERPLATE m4trace:configure.ac:137: -1- _LT_LINKER_BOILERPLATE m4trace:configure.ac:137: -1- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], [lt_cv_prog_compiler_rtti_exceptions], [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, )="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, ) -fno-rtti -fno-exceptions"]) m4trace:configure.ac:137: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, ) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, )], [$_LT_TAGVAR(lt_prog_compiler_pic, )@&t@m4_if([],[],[ -DPIC],[m4_if([],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, ) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, )=" $_LT_TAGVAR(lt_prog_compiler_pic, )" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, )= _LT_TAGVAR(lt_prog_compiler_can_build_shared, )=no]) m4trace:configure.ac:137: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, )=]) m4trace:configure.ac:137: -1- m4_pattern_allow([^DSYMUTIL$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^NMEDIT$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LIPO$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^OTOOL$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^OTOOL64$]) m4trace:configure.ac:137: -1- LT_SYS_DLOPEN_SELF m4trace:configure.ac:137: -1- m4_pattern_allow([^CPP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^STDC_HEADERS$]) m4trace:configure.ac:137: -1- LT_LANG([CXX]) m4trace:configure.ac:137: -1- LT_SUPPORTED_TAG([CXX]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXFLAGS$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^ac_ct_CXX$]) m4trace:configure.ac:137: -1- _AM_DEPENDENCIES([CXX]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXDEPMODE$]) m4trace:configure.ac:137: -1- AM_CONDITIONAL([am__fastdepCXX], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:137: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) m4trace:configure.ac:137: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) m4trace:configure.ac:137: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXCPP$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXCPP$]) m4trace:configure.ac:137: -1- _LT_COMPILER_BOILERPLATE m4trace:configure.ac:137: -1- _LT_LINKER_BOILERPLATE m4trace:configure.ac:137: -1- _LT_CC_BASENAME([$compiler]) m4trace:configure.ac:137: -1- LT_PATH_LD m4trace:configure.ac:137: -1- m4_pattern_allow([^LD$]) m4trace:configure.ac:137: -1- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, CXX) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, CXX)], [$_LT_TAGVAR(lt_prog_compiler_pic, CXX)@&t@m4_if([CXX],[],[ -DPIC],[m4_if([CXX],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, CXX) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, CXX)=" $_LT_TAGVAR(lt_prog_compiler_pic, CXX)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, CXX)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, CXX)=no]) m4trace:configure.ac:137: -1- _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], [lt_cv_prog_compiler_static_works_CXX], [$lt_tmp_static_flag], [], [_LT_TAGVAR(lt_prog_compiler_static, CXX)=]) m4trace:configure.ac:138: -1- m4_pattern_allow([^AWK$]) m4trace:configure.ac:139: -1- m4_pattern_allow([^SED$]) m4trace:configure.ac:155: -1- m4_pattern_allow([^WITH_DLLIB$]) m4trace:configure.ac:156: -1- m4_pattern_allow([^HAS_DLOPEN$]) m4trace:configure.ac:163: -1- m4_pattern_allow([^dl_libs$]) m4trace:configure.ac:173: -1- m4_pattern_allow([^STDC_HEADERS$]) m4trace:configure.ac:182: -1- m4_pattern_allow([^const$]) m4trace:configure.ac:216: -1- AM_CONDITIONAL([IS_WINDOWS], [test "$OS_TYPE" = "windows"]) m4trace:configure.ac:216: -1- m4_pattern_allow([^IS_WINDOWS_TRUE$]) m4trace:configure.ac:216: -1- m4_pattern_allow([^IS_WINDOWS_FALSE$]) m4trace:configure.ac:216: -1- _AM_SUBST_NOTMAKE([IS_WINDOWS_TRUE]) m4trace:configure.ac:216: -1- _AM_SUBST_NOTMAKE([IS_WINDOWS_FALSE]) m4trace:configure.ac:217: -1- AM_CONDITIONAL([IS_OSX], [test "$OSYSTEM" = "osx"]) m4trace:configure.ac:217: -1- m4_pattern_allow([^IS_OSX_TRUE$]) m4trace:configure.ac:217: -1- m4_pattern_allow([^IS_OSX_FALSE$]) m4trace:configure.ac:217: -1- _AM_SUBST_NOTMAKE([IS_OSX_TRUE]) m4trace:configure.ac:217: -1- _AM_SUBST_NOTMAKE([IS_OSX_FALSE]) m4trace:configure.ac:218: -1- AM_CONDITIONAL([IS_LINUX], [test "$OSYSTEM" = "linux"]) m4trace:configure.ac:218: -1- m4_pattern_allow([^IS_LINUX_TRUE$]) m4trace:configure.ac:218: -1- m4_pattern_allow([^IS_LINUX_FALSE$]) m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([IS_LINUX_TRUE]) m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([IS_LINUX_FALSE]) m4trace:configure.ac:220: -1- m4_pattern_allow([^cyberjack_sys_is_windows$]) m4trace:configure.ac:221: -1- m4_pattern_allow([^cyberjack_config_file$]) m4trace:configure.ac:222: -1- m4_pattern_allow([^cyberjack_platform_def$]) m4trace:configure.ac:223: -1- m4_pattern_allow([^COCOA_FRAMEWORK$]) m4trace:configure.ac:224: -1- m4_pattern_allow([^FOUNDATION_FRAMEWORK$]) m4trace:configure.ac:225: -1- m4_pattern_allow([^SYSCONF_FRAMEWORK$]) m4trace:configure.ac:226: -1- m4_pattern_allow([^IOKIT_FRAMEWORK$]) m4trace:configure.ac:251: -1- m4_pattern_allow([^ENABLE_NONSERIAL$]) m4trace:configure.ac:253: -1- AM_CONDITIONAL([ENABLE_NONSERIAL], [test "$enable_nonserial" = "yes"]) m4trace:configure.ac:253: -1- m4_pattern_allow([^ENABLE_NONSERIAL_TRUE$]) m4trace:configure.ac:253: -1- m4_pattern_allow([^ENABLE_NONSERIAL_FALSE$]) m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([ENABLE_NONSERIAL_TRUE]) m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([ENABLE_NONSERIAL_FALSE]) m4trace:configure.ac:255: -1- m4_pattern_allow([^enable_nonserial$]) m4trace:configure.ac:267: -1- PKG_CHECK_MODULES([libusb], [$pkg_modules], [have_libusb="yes"], [have_libusb="no"]) m4trace:configure.ac:267: -1- PKG_PROG_PKG_CONFIG m4trace:configure.ac:267: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4trace:configure.ac:267: -1- m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) m4trace:configure.ac:267: -1- m4_pattern_allow([^PKG_CONFIG$]) m4trace:configure.ac:267: -1- m4_pattern_allow([^PKG_CONFIG$]) m4trace:configure.ac:267: -1- m4_pattern_allow([^libusb_CFLAGS$]) m4trace:configure.ac:267: -1- m4_pattern_allow([^libusb_LIBS$]) m4trace:configure.ac:267: -1- PKG_CHECK_EXISTS([$pkg_modules], [pkg_cv_[]libusb_CFLAGS=`$PKG_CONFIG --[]cflags "$pkg_modules" 2>/dev/null`], [pkg_failed=yes]) m4trace:configure.ac:267: -1- PKG_CHECK_EXISTS([$pkg_modules], [pkg_cv_[]libusb_LIBS=`$PKG_CONFIG --[]libs "$pkg_modules" 2>/dev/null`], [pkg_failed=yes]) m4trace:configure.ac:267: -1- _PKG_SHORT_ERRORS_SUPPORTED m4trace:configure.ac:269: -1- m4_pattern_allow([^USE_USB1$]) m4trace:configure.ac:280: -1- PKG_CHECK_MODULES([libusb], [$pkg_modules], [have_libusb="yes"], [have_libusb="no"]) m4trace:configure.ac:280: -1- m4_pattern_allow([^libusb_CFLAGS$]) m4trace:configure.ac:280: -1- m4_pattern_allow([^libusb_LIBS$]) m4trace:configure.ac:280: -1- PKG_CHECK_EXISTS([$pkg_modules], [pkg_cv_[]libusb_CFLAGS=`$PKG_CONFIG --[]cflags "$pkg_modules" 2>/dev/null`], [pkg_failed=yes]) m4trace:configure.ac:280: -1- PKG_CHECK_EXISTS([$pkg_modules], [pkg_cv_[]libusb_LIBS=`$PKG_CONFIG --[]libs "$pkg_modules" 2>/dev/null`], [pkg_failed=yes]) m4trace:configure.ac:280: -1- _PKG_SHORT_ERRORS_SUPPORTED m4trace:configure.ac:291: -1- m4_pattern_allow([^libusb_includes$]) m4trace:configure.ac:292: -1- m4_pattern_allow([^libusb_libs$]) m4trace:configure.ac:308: -1- PKG_CHECK_MODULES([hal], [$pkg_modules], [have_hal="yes"], [have_hal="no"]) m4trace:configure.ac:308: -1- m4_pattern_allow([^hal_CFLAGS$]) m4trace:configure.ac:308: -1- m4_pattern_allow([^hal_LIBS$]) m4trace:configure.ac:308: -1- PKG_CHECK_EXISTS([$pkg_modules], [pkg_cv_[]hal_CFLAGS=`$PKG_CONFIG --[]cflags "$pkg_modules" 2>/dev/null`], [pkg_failed=yes]) m4trace:configure.ac:308: -1- PKG_CHECK_EXISTS([$pkg_modules], [pkg_cv_[]hal_LIBS=`$PKG_CONFIG --[]libs "$pkg_modules" 2>/dev/null`], [pkg_failed=yes]) m4trace:configure.ac:308: -1- _PKG_SHORT_ERRORS_SUPPORTED m4trace:configure.ac:310: -1- m4_pattern_allow([^HAVE_HAL$]) m4trace:configure.ac:317: -1- m4_pattern_allow([^hal_libs$]) m4trace:configure.ac:318: -1- m4_pattern_allow([^hal_includes$]) m4trace:configure.ac:326: -1- AQ_CHECK_PCSC m4trace:configure.ac:326: -1- AQ_SEARCH_FOR_PATH([PCSC/winscard.h], [$pcsc_search_inc_dirs]) m4trace:configure.ac:326: -1- AQ_SEARCH_FILES(["$d"], [$pcsc_search_lib_names]) m4trace:configure.ac:326: -1- m4_pattern_allow([^pcsc_includes$]) m4trace:configure.ac:326: -1- m4_pattern_allow([^pcsc_libraries$]) m4trace:configure.ac:326: -1- m4_pattern_allow([^pcsc_lib$]) m4trace:configure.ac:327: -1- AM_CONDITIONAL([USE_PCSC], [test "$have_pcsc" = "yes"]) m4trace:configure.ac:327: -1- m4_pattern_allow([^USE_PCSC_TRUE$]) m4trace:configure.ac:327: -1- m4_pattern_allow([^USE_PCSC_FALSE$]) m4trace:configure.ac:327: -1- _AM_SUBST_NOTMAKE([USE_PCSC_TRUE]) m4trace:configure.ac:327: -1- _AM_SUBST_NOTMAKE([USE_PCSC_FALSE]) m4trace:configure.ac:331: -1- m4_pattern_allow([^HAVE_PCSC$]) m4trace:configure.ac:366: -1- m4_pattern_allow([^cyberjack_ifd_filename$]) m4trace:configure.ac:367: -1- m4_pattern_allow([^usbdropdir$]) m4trace:configure.ac:375: -1- AQ_CHECK_XML2 m4trace:configure.ac:375: -1- m4_pattern_allow([^HAVE_LIBXML2$]) m4trace:configure.ac:375: -1- AS_SCRUB_INCLUDE([libxml2_includes]) m4trace:configure.ac:375: -1- m4_pattern_allow([^libxml2_libs$]) m4trace:configure.ac:375: -1- m4_pattern_allow([^libxml2_includes$]) m4trace:configure.ac:376: -1- AM_CONDITIONAL([USE_XML2], [test "$have_libxml2" = "yes"]) m4trace:configure.ac:376: -1- m4_pattern_allow([^USE_XML2_TRUE$]) m4trace:configure.ac:376: -1- m4_pattern_allow([^USE_XML2_FALSE$]) m4trace:configure.ac:376: -1- _AM_SUBST_NOTMAKE([USE_XML2_TRUE]) m4trace:configure.ac:376: -1- _AM_SUBST_NOTMAKE([USE_XML2_FALSE]) m4trace:configure.ac:384: -1- AQ_CHECK_FOX m4trace:configure.ac:384: -1- AQ_SEARCH_FOR_PATH([$qt_searchname], [$local_fox_libs]) m4trace:configure.ac:384: -1- m4_pattern_allow([^HAVE_FOX$]) m4trace:configure.ac:384: -1- AS_SCRUB_INCLUDE([fox_includes]) m4trace:configure.ac:384: -1- m4_pattern_allow([^fox_libs$]) m4trace:configure.ac:384: -1- m4_pattern_allow([^fox_includes$]) m4trace:configure.ac:385: -1- AM_CONDITIONAL([WITH_FOX], [test "$have_fox" = "yes"]) m4trace:configure.ac:385: -1- m4_pattern_allow([^WITH_FOX_TRUE$]) m4trace:configure.ac:385: -1- m4_pattern_allow([^WITH_FOX_FALSE$]) m4trace:configure.ac:385: -1- _AM_SUBST_NOTMAKE([WITH_FOX_TRUE]) m4trace:configure.ac:385: -1- _AM_SUBST_NOTMAKE([WITH_FOX_FALSE]) m4trace:configure.ac:408: -1- m4_pattern_allow([^STRIPALL$]) m4trace:configure.ac:429: -1- m4_pattern_allow([^USE_THREADS$]) m4trace:configure.ac:434: -1- m4_pattern_allow([^USE_THREADS$]) m4trace:configure.ac:435: -1- m4_pattern_allow([^THREAD_LIBS$]) m4trace:configure.ac:480: -1- m4_pattern_allow([^GCC_WITH_VISIBILITY_ATTRIBUTE$]) m4trace:configure.ac:513: -1- m4_pattern_allow([^visibility_cflags$]) m4trace:configure.ac:615: -1- m4_pattern_allow([^USE_SUSE_HACK$]) m4trace:configure.ac:620: -1- m4_pattern_allow([^RPM_DIST_NAME$]) m4trace:configure.ac:621: -1- m4_pattern_allow([^RPM_DIST_TAG$]) m4trace:configure.ac:622: -1- m4_pattern_allow([^RPM_DIST_VER$]) m4trace:configure.ac:623: -1- m4_pattern_allow([^RPM_PCSC_DROPDIR$]) m4trace:configure.ac:625: -1- m4_pattern_allow([^ETC_SUBDIRS$]) m4trace:configure.ac:626: -1- m4_pattern_allow([^USE_HOTPLUG$]) m4trace:configure.ac:627: -1- m4_pattern_allow([^USE_UDEV$]) m4trace:configure.ac:628: -1- m4_pattern_allow([^UDEV_RULES_FILE$]) m4trace:configure.ac:637: -1- ACX_COMPILE_WARN([]) m4trace:configure.ac:637: -1- m4_pattern_allow([^DEBUG$]) m4trace:configure.ac:646: -1- AS_SCRUB_INCLUDE([cyberjack_includes]) m4trace:configure.ac:647: -1- AS_SCRUB_INCLUDE([all_includes]) m4trace:configure.ac:654: -1- m4_pattern_allow([^cyberjack_ldflags$]) m4trace:configure.ac:655: -1- m4_pattern_allow([^cyberjack_libs$]) m4trace:configure.ac:656: -1- m4_pattern_allow([^cyberjack_internal_libname$]) m4trace:configure.ac:657: -1- m4_pattern_allow([^cyberjack_pkgincludedir$]) m4trace:configure.ac:658: -1- m4_pattern_allow([^cyberjack_plugindir$]) m4trace:configure.ac:659: -1- m4_pattern_allow([^cyberjack_headerdir_am$]) m4trace:configure.ac:660: -1- m4_pattern_allow([^cyberjack_headerdir$]) m4trace:configure.ac:695: -1- m4_pattern_allow([^LIB@&t@OBJS$]) m4trace:configure.ac:695: -1- m4_pattern_allow([^LTLIBOBJS$]) m4trace:configure.ac:695: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) m4trace:configure.ac:695: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) m4trace:configure.ac:695: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) m4trace:configure.ac:695: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) m4trace:configure.ac:695: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) m4trace:configure.ac:695: -1- _AC_AM_CONFIG_HEADER_HOOK(["$ac_file"]) m4trace:configure.ac:695: -1- _AM_OUTPUT_DEPENDENCY_COMMANDS m4trace:configure.ac:695: -1- _LT_PROG_LTMAIN pcsc-cyberjack-3.99.5final.SP03/autom4te.cache/traces.10000644000175000001440000020411311660201014021051 0ustar sctusersm4trace:aclocal.m4:1108: -1- m4_include([m4/acx_compile_warn.m4]) m4trace:aclocal.m4:1109: -1- m4_include([m4/as-scrub-include.m4]) m4trace:aclocal.m4:1110: -1- m4_include([m4/fox.m4]) m4trace:aclocal.m4:1111: -1- m4_include([m4/libtool.m4]) m4trace:aclocal.m4:1112: -1- m4_include([m4/libxml2.m4]) m4trace:aclocal.m4:1113: -1- m4_include([m4/ltoptions.m4]) m4trace:aclocal.m4:1114: -1- m4_include([m4/ltsugar.m4]) m4trace:aclocal.m4:1115: -1- m4_include([m4/ltversion.m4]) m4trace:aclocal.m4:1116: -1- m4_include([m4/lt~obsolete.m4]) m4trace:aclocal.m4:1117: -1- m4_include([m4/os.m4]) m4trace:aclocal.m4:1118: -1- m4_include([m4/pcsc.m4]) m4trace:aclocal.m4:1119: -1- m4_include([m4/searchfiles.m4]) m4trace:configure.ac:20: -1- AC_INIT m4trace:configure.ac:20: -1- m4_pattern_forbid([^_?A[CHUM]_]) m4trace:configure.ac:20: -1- m4_pattern_forbid([_AC_]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS']) m4trace:configure.ac:20: -1- m4_pattern_allow([^AS_FLAGS$]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^_?m4_]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^dnl$]) m4trace:configure.ac:20: -1- m4_pattern_forbid([^_?AS_]) m4trace:configure.ac:20: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([SHELL]) m4trace:configure.ac:20: -1- m4_pattern_allow([^SHELL$]) m4trace:configure.ac:20: -1- AC_SUBST([PATH_SEPARATOR]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([PATH_SEPARATOR]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PATH_SEPARATOR$]) m4trace:configure.ac:20: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME], ['AC_PACKAGE_NAME'])]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([PACKAGE_NAME]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_NAME$]) m4trace:configure.ac:20: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME], ['AC_PACKAGE_TARNAME'])]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([PACKAGE_TARNAME]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) m4trace:configure.ac:20: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION], ['AC_PACKAGE_VERSION'])]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([PACKAGE_VERSION]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_VERSION$]) m4trace:configure.ac:20: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING], ['AC_PACKAGE_STRING'])]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([PACKAGE_STRING]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_STRING$]) m4trace:configure.ac:20: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) m4trace:configure.ac:20: -1- AC_SUBST([exec_prefix], [NONE]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([exec_prefix]) m4trace:configure.ac:20: -1- m4_pattern_allow([^exec_prefix$]) m4trace:configure.ac:20: -1- AC_SUBST([prefix], [NONE]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([prefix]) m4trace:configure.ac:20: -1- m4_pattern_allow([^prefix$]) m4trace:configure.ac:20: -1- AC_SUBST([program_transform_name], [s,x,x,]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([program_transform_name]) m4trace:configure.ac:20: -1- m4_pattern_allow([^program_transform_name$]) m4trace:configure.ac:20: -1- AC_SUBST([bindir], ['${exec_prefix}/bin']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([bindir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^bindir$]) m4trace:configure.ac:20: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([sbindir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^sbindir$]) m4trace:configure.ac:20: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([libexecdir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^libexecdir$]) m4trace:configure.ac:20: -1- AC_SUBST([datarootdir], ['${prefix}/share']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([datarootdir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^datarootdir$]) m4trace:configure.ac:20: -1- AC_SUBST([datadir], ['${datarootdir}']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([datadir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^datadir$]) m4trace:configure.ac:20: -1- AC_SUBST([sysconfdir], ['${prefix}/etc']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([sysconfdir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^sysconfdir$]) m4trace:configure.ac:20: -1- AC_SUBST([sharedstatedir], ['${prefix}/com']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([sharedstatedir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^sharedstatedir$]) m4trace:configure.ac:20: -1- AC_SUBST([localstatedir], ['${prefix}/var']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([localstatedir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^localstatedir$]) m4trace:configure.ac:20: -1- AC_SUBST([includedir], ['${prefix}/include']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([includedir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^includedir$]) m4trace:configure.ac:20: -1- AC_SUBST([oldincludedir], ['/usr/include']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([oldincludedir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^oldincludedir$]) m4trace:configure.ac:20: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME], ['${datarootdir}/doc/${PACKAGE_TARNAME}'], ['${datarootdir}/doc/${PACKAGE}'])]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([docdir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^docdir$]) m4trace:configure.ac:20: -1- AC_SUBST([infodir], ['${datarootdir}/info']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([infodir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^infodir$]) m4trace:configure.ac:20: -1- AC_SUBST([htmldir], ['${docdir}']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([htmldir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^htmldir$]) m4trace:configure.ac:20: -1- AC_SUBST([dvidir], ['${docdir}']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([dvidir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^dvidir$]) m4trace:configure.ac:20: -1- AC_SUBST([pdfdir], ['${docdir}']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([pdfdir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^pdfdir$]) m4trace:configure.ac:20: -1- AC_SUBST([psdir], ['${docdir}']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([psdir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^psdir$]) m4trace:configure.ac:20: -1- AC_SUBST([libdir], ['${exec_prefix}/lib']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([libdir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^libdir$]) m4trace:configure.ac:20: -1- AC_SUBST([localedir], ['${datarootdir}/locale']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([localedir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^localedir$]) m4trace:configure.ac:20: -1- AC_SUBST([mandir], ['${datarootdir}/man']) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([mandir]) m4trace:configure.ac:20: -1- m4_pattern_allow([^mandir$]) m4trace:configure.ac:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_NAME$]) m4trace:configure.ac:20: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */ #undef PACKAGE_NAME]) m4trace:configure.ac:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_TARNAME$]) m4trace:configure.ac:20: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME]) m4trace:configure.ac:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_VERSION$]) m4trace:configure.ac:20: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */ #undef PACKAGE_VERSION]) m4trace:configure.ac:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_STRING$]) m4trace:configure.ac:20: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */ #undef PACKAGE_STRING]) m4trace:configure.ac:20: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT]) m4trace:configure.ac:20: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$]) m4trace:configure.ac:20: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT]) m4trace:configure.ac:20: -1- AC_SUBST([DEFS]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([DEFS]) m4trace:configure.ac:20: -1- m4_pattern_allow([^DEFS$]) m4trace:configure.ac:20: -1- AC_SUBST([ECHO_C]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([ECHO_C]) m4trace:configure.ac:20: -1- m4_pattern_allow([^ECHO_C$]) m4trace:configure.ac:20: -1- AC_SUBST([ECHO_N]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([ECHO_N]) m4trace:configure.ac:20: -1- m4_pattern_allow([^ECHO_N$]) m4trace:configure.ac:20: -1- AC_SUBST([ECHO_T]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([ECHO_T]) m4trace:configure.ac:20: -1- m4_pattern_allow([^ECHO_T$]) m4trace:configure.ac:20: -1- AC_SUBST([LIBS]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([LIBS]) m4trace:configure.ac:20: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:20: -1- AC_SUBST([build_alias]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([build_alias]) m4trace:configure.ac:20: -1- m4_pattern_allow([^build_alias$]) m4trace:configure.ac:20: -1- AC_SUBST([host_alias]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([host_alias]) m4trace:configure.ac:20: -1- m4_pattern_allow([^host_alias$]) m4trace:configure.ac:20: -1- AC_SUBST([target_alias]) m4trace:configure.ac:20: -1- AC_SUBST_TRACE([target_alias]) m4trace:configure.ac:20: -1- m4_pattern_allow([^target_alias$]) m4trace:configure.ac:21: -1- AC_CANONICAL_TARGET([]) m4trace:configure.ac:21: -1- AC_CANONICAL_HOST m4trace:configure.ac:21: -1- AC_CANONICAL_BUILD m4trace:configure.ac:21: -1- AC_REQUIRE_AUX_FILE([config.sub]) m4trace:configure.ac:21: -1- AC_REQUIRE_AUX_FILE([config.guess]) m4trace:configure.ac:21: -1- AC_SUBST([build], [$ac_cv_build]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build$]) m4trace:configure.ac:21: -1- AC_SUBST([build_cpu], [$[1]]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build_cpu]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build_cpu$]) m4trace:configure.ac:21: -1- AC_SUBST([build_vendor], [$[2]]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build_vendor]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build_vendor$]) m4trace:configure.ac:21: -1- AC_SUBST([build_os]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([build_os]) m4trace:configure.ac:21: -1- m4_pattern_allow([^build_os$]) m4trace:configure.ac:21: -1- AC_SUBST([host], [$ac_cv_host]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host$]) m4trace:configure.ac:21: -1- AC_SUBST([host_cpu], [$[1]]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host_cpu]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host_cpu$]) m4trace:configure.ac:21: -1- AC_SUBST([host_vendor], [$[2]]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host_vendor]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host_vendor$]) m4trace:configure.ac:21: -1- AC_SUBST([host_os]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([host_os]) m4trace:configure.ac:21: -1- m4_pattern_allow([^host_os$]) m4trace:configure.ac:21: -1- AC_SUBST([target], [$ac_cv_target]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([target]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target$]) m4trace:configure.ac:21: -1- AC_SUBST([target_cpu], [$[1]]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([target_cpu]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target_cpu$]) m4trace:configure.ac:21: -1- AC_SUBST([target_vendor], [$[2]]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([target_vendor]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target_vendor$]) m4trace:configure.ac:21: -1- AC_SUBST([target_os]) m4trace:configure.ac:21: -1- AC_SUBST_TRACE([target_os]) m4trace:configure.ac:21: -1- m4_pattern_allow([^target_os$]) m4trace:configure.ac:23: -1- AC_CONFIG_HEADERS([config.h]) m4trace:configure.ac:68: -1- AC_SUBST([CYBERJACK_VERSION_MAJOR]) m4trace:configure.ac:68: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_MAJOR]) m4trace:configure.ac:68: -1- m4_pattern_allow([^CYBERJACK_VERSION_MAJOR$]) m4trace:configure.ac:69: -1- AC_SUBST([CYBERJACK_VERSION_MINOR]) m4trace:configure.ac:69: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_MINOR]) m4trace:configure.ac:69: -1- m4_pattern_allow([^CYBERJACK_VERSION_MINOR$]) m4trace:configure.ac:70: -1- AC_SUBST([CYBERJACK_VERSION_PATCHLEVEL]) m4trace:configure.ac:70: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_PATCHLEVEL]) m4trace:configure.ac:70: -1- m4_pattern_allow([^CYBERJACK_VERSION_PATCHLEVEL$]) m4trace:configure.ac:71: -1- AC_SUBST([CYBERJACK_VERSION_BUILD]) m4trace:configure.ac:71: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_BUILD]) m4trace:configure.ac:71: -1- m4_pattern_allow([^CYBERJACK_VERSION_BUILD$]) m4trace:configure.ac:72: -1- AC_SUBST([CYBERJACK_VERSION_TAG]) m4trace:configure.ac:72: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_TAG]) m4trace:configure.ac:72: -1- m4_pattern_allow([^CYBERJACK_VERSION_TAG$]) m4trace:configure.ac:73: -1- AC_SUBST([CYBERJACK_VERSION_FULL_STRING]) m4trace:configure.ac:73: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_FULL_STRING]) m4trace:configure.ac:73: -1- m4_pattern_allow([^CYBERJACK_VERSION_FULL_STRING$]) m4trace:configure.ac:74: -1- AC_SUBST([CYBERJACK_VERSION_STRING]) m4trace:configure.ac:74: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_STRING]) m4trace:configure.ac:74: -1- m4_pattern_allow([^CYBERJACK_VERSION_STRING$]) m4trace:configure.ac:75: -1- AC_SUBST([CYBERJACK_VERSION_RELEASE_STRING]) m4trace:configure.ac:75: -1- AC_SUBST_TRACE([CYBERJACK_VERSION_RELEASE_STRING]) m4trace:configure.ac:75: -1- m4_pattern_allow([^CYBERJACK_VERSION_RELEASE_STRING$]) m4trace:configure.ac:77: -1- AC_DEFINE_TRACE_LITERAL([CYBERJACK_VERSION_MAJOR]) m4trace:configure.ac:77: -1- m4_pattern_allow([^CYBERJACK_VERSION_MAJOR$]) m4trace:configure.ac:77: -1- AH_OUTPUT([CYBERJACK_VERSION_MAJOR], [/* major version */ #undef CYBERJACK_VERSION_MAJOR]) m4trace:configure.ac:79: -1- AC_DEFINE_TRACE_LITERAL([CYBERJACK_VERSION_MINOR]) m4trace:configure.ac:79: -1- m4_pattern_allow([^CYBERJACK_VERSION_MINOR$]) m4trace:configure.ac:79: -1- AH_OUTPUT([CYBERJACK_VERSION_MINOR], [/* minor version */ #undef CYBERJACK_VERSION_MINOR]) m4trace:configure.ac:81: -1- AC_DEFINE_TRACE_LITERAL([CYBERJACK_VERSION_PATCHLEVEL]) m4trace:configure.ac:81: -1- m4_pattern_allow([^CYBERJACK_VERSION_PATCHLEVEL$]) m4trace:configure.ac:81: -1- AH_OUTPUT([CYBERJACK_VERSION_PATCHLEVEL], [/* patchlevel */ #undef CYBERJACK_VERSION_PATCHLEVEL]) m4trace:configure.ac:83: -1- AC_DEFINE_TRACE_LITERAL([CYBERJACK_VERSION_BUILD]) m4trace:configure.ac:83: -1- m4_pattern_allow([^CYBERJACK_VERSION_BUILD$]) m4trace:configure.ac:83: -1- AH_OUTPUT([CYBERJACK_VERSION_BUILD], [/* build */ #undef CYBERJACK_VERSION_BUILD]) m4trace:configure.ac:84: -1- AC_DEFINE_TRACE_LITERAL([CYBERJACK_VERSION_STRING]) m4trace:configure.ac:84: -1- m4_pattern_allow([^CYBERJACK_VERSION_STRING$]) m4trace:configure.ac:84: -1- AH_OUTPUT([CYBERJACK_VERSION_STRING], [/* version string */ #undef CYBERJACK_VERSION_STRING]) m4trace:configure.ac:86: -1- AC_DEFINE_TRACE_LITERAL([CYBERJACK_VERSION_FULL_STRING]) m4trace:configure.ac:86: -1- m4_pattern_allow([^CYBERJACK_VERSION_FULL_STRING$]) m4trace:configure.ac:86: -1- AH_OUTPUT([CYBERJACK_VERSION_FULL_STRING], [/* full version string */ #undef CYBERJACK_VERSION_FULL_STRING]) m4trace:configure.ac:88: -1- AC_DEFINE_TRACE_LITERAL([CYBERJACK_VERSION_TAG]) m4trace:configure.ac:88: -1- m4_pattern_allow([^CYBERJACK_VERSION_TAG$]) m4trace:configure.ac:88: -1- AH_OUTPUT([CYBERJACK_VERSION_TAG], [/* tag */ #undef CYBERJACK_VERSION_TAG]) m4trace:configure.ac:91: -1- AC_SUBST([CYBERJACK_SO_CURRENT]) m4trace:configure.ac:91: -1- AC_SUBST_TRACE([CYBERJACK_SO_CURRENT]) m4trace:configure.ac:91: -1- m4_pattern_allow([^CYBERJACK_SO_CURRENT$]) m4trace:configure.ac:92: -1- AC_SUBST([CYBERJACK_SO_REVISION]) m4trace:configure.ac:92: -1- AC_SUBST_TRACE([CYBERJACK_SO_REVISION]) m4trace:configure.ac:92: -1- m4_pattern_allow([^CYBERJACK_SO_REVISION$]) m4trace:configure.ac:93: -1- AC_SUBST([CYBERJACK_SO_AGE]) m4trace:configure.ac:93: -1- AC_SUBST_TRACE([CYBERJACK_SO_AGE]) m4trace:configure.ac:93: -1- m4_pattern_allow([^CYBERJACK_SO_AGE$]) m4trace:configure.ac:94: -1- AC_SUBST([CYBERJACK_SO_EFFECTIVE]) m4trace:configure.ac:94: -1- AC_SUBST_TRACE([CYBERJACK_SO_EFFECTIVE]) m4trace:configure.ac:94: -1- m4_pattern_allow([^CYBERJACK_SO_EFFECTIVE$]) m4trace:configure.ac:96: -1- AM_INIT_AUTOMAKE([ifd-cyberjack], [$CYBERJACK_VERSION_RELEASE_STRING]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$]) m4trace:configure.ac:96: -1- AM_AUTOMAKE_VERSION([1.11]) m4trace:configure.ac:96: -1- AC_REQUIRE_AUX_FILE([install-sh]) m4trace:configure.ac:96: -1- AC_SUBST([INSTALL_PROGRAM]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) m4trace:configure.ac:96: -1- AC_SUBST([INSTALL_SCRIPT]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) m4trace:configure.ac:96: -1- AC_SUBST([INSTALL_DATA]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([INSTALL_DATA]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_DATA$]) m4trace:configure.ac:96: -1- AC_SUBST([am__isrc], [' -I$(srcdir)']) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([am__isrc]) m4trace:configure.ac:96: -1- m4_pattern_allow([^am__isrc$]) m4trace:configure.ac:96: -1- _AM_SUBST_NOTMAKE([am__isrc]) m4trace:configure.ac:96: -1- AC_SUBST([CYGPATH_W]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([CYGPATH_W]) m4trace:configure.ac:96: -1- m4_pattern_allow([^CYGPATH_W$]) m4trace:configure.ac:96: -1- AC_SUBST([PACKAGE], [ifd-cyberjack]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([PACKAGE]) m4trace:configure.ac:96: -1- m4_pattern_allow([^PACKAGE$]) m4trace:configure.ac:96: -1- AC_SUBST([VERSION], [$CYBERJACK_VERSION_RELEASE_STRING]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([VERSION]) m4trace:configure.ac:96: -1- m4_pattern_allow([^VERSION$]) m4trace:configure.ac:96: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE]) m4trace:configure.ac:96: -1- m4_pattern_allow([^PACKAGE$]) m4trace:configure.ac:96: -1- AH_OUTPUT([PACKAGE], [/* Name of package */ #undef PACKAGE]) m4trace:configure.ac:96: -1- AC_DEFINE_TRACE_LITERAL([VERSION]) m4trace:configure.ac:96: -1- m4_pattern_allow([^VERSION$]) m4trace:configure.ac:96: -1- AH_OUTPUT([VERSION], [/* Version number of package */ #undef VERSION]) m4trace:configure.ac:96: -1- AC_REQUIRE_AUX_FILE([missing]) m4trace:configure.ac:96: -1- AC_SUBST([ACLOCAL]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([ACLOCAL]) m4trace:configure.ac:96: -1- m4_pattern_allow([^ACLOCAL$]) m4trace:configure.ac:96: -1- AC_SUBST([AUTOCONF]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([AUTOCONF]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AUTOCONF$]) m4trace:configure.ac:96: -1- AC_SUBST([AUTOMAKE]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([AUTOMAKE]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AUTOMAKE$]) m4trace:configure.ac:96: -1- AC_SUBST([AUTOHEADER]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([AUTOHEADER]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AUTOHEADER$]) m4trace:configure.ac:96: -1- AC_SUBST([MAKEINFO]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([MAKEINFO]) m4trace:configure.ac:96: -1- m4_pattern_allow([^MAKEINFO$]) m4trace:configure.ac:96: -1- AC_SUBST([install_sh]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([install_sh]) m4trace:configure.ac:96: -1- m4_pattern_allow([^install_sh$]) m4trace:configure.ac:96: -1- AC_SUBST([STRIP]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([STRIP]) m4trace:configure.ac:96: -1- m4_pattern_allow([^STRIP$]) m4trace:configure.ac:96: -1- AC_SUBST([INSTALL_STRIP_PROGRAM]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM]) m4trace:configure.ac:96: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$]) m4trace:configure.ac:96: -1- AC_REQUIRE_AUX_FILE([install-sh]) m4trace:configure.ac:96: -1- AC_SUBST([MKDIR_P]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([MKDIR_P]) m4trace:configure.ac:96: -1- m4_pattern_allow([^MKDIR_P$]) m4trace:configure.ac:96: -1- AC_SUBST([mkdir_p], ["$MKDIR_P"]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([mkdir_p]) m4trace:configure.ac:96: -1- m4_pattern_allow([^mkdir_p$]) m4trace:configure.ac:96: -1- AC_SUBST([AWK]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([AWK]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AWK$]) m4trace:configure.ac:96: -1- AC_SUBST([SET_MAKE]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([SET_MAKE]) m4trace:configure.ac:96: -1- m4_pattern_allow([^SET_MAKE$]) m4trace:configure.ac:96: -1- AC_SUBST([am__leading_dot]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([am__leading_dot]) m4trace:configure.ac:96: -1- m4_pattern_allow([^am__leading_dot$]) m4trace:configure.ac:96: -1- AC_SUBST([AMTAR]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([AMTAR]) m4trace:configure.ac:96: -1- m4_pattern_allow([^AMTAR$]) m4trace:configure.ac:96: -1- AC_SUBST([am__tar]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([am__tar]) m4trace:configure.ac:96: -1- m4_pattern_allow([^am__tar$]) m4trace:configure.ac:96: -1- AC_SUBST([am__untar]) m4trace:configure.ac:96: -1- AC_SUBST_TRACE([am__untar]) m4trace:configure.ac:96: -1- m4_pattern_allow([^am__untar$]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_NAME]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_NAME$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_NAME], [/* target system */ #undef OS_NAME]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_LINUX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_LINUX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_LINUX], [/* if linux is used */ #undef OS_LINUX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_SOLARIS]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_SOLARIS$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_SOLARIS], [/* if Solaris is used */ #undef OS_SOLARIS]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_DARWIN]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_DARWIN$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_DARWIN], [/* if Apple Darwin is used */ #undef OS_DARWIN]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_OPENBSD]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_OPENBSD$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_OPENBSD], [/* if OpenBSD is used */ #undef OS_OPENBSD]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_FREEBSD]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_FREEBSD$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_FREEBSD], [/* if FreeBSD is used */ #undef OS_FREEBSD]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_NETBSD]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_NETBSD$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_NETBSD], [/* if NetBSD is used */ #undef OS_NETBSD]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_BEOS]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_BEOS$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_BEOS], [/* if BeOS is used */ #undef OS_BEOS]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_WIN32]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_WIN32$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_WIN32], [/* if WIN32 is used */ #undef OS_WIN32]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([BUILDING_DLL]) m4trace:configure.ac:103: -1- m4_pattern_allow([^BUILDING_DLL$]) m4trace:configure.ac:103: -1- AH_OUTPUT([BUILDING_DLL], [/* if DLL is to be built */ #undef BUILDING_DLL]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_WIN32]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_WIN32$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_WIN32], [/* if WIN32 is used */ #undef OS_WIN32]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([BUILDING_DLL]) m4trace:configure.ac:103: -1- m4_pattern_allow([^BUILDING_DLL$]) m4trace:configure.ac:103: -1- AH_OUTPUT([BUILDING_DLL], [/* if DLL is to be built */ #undef BUILDING_DLL]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_PALMOS]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_PALMOS$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_PALMOS], [/* if PalmOS is used */ #undef OS_PALMOS]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_POSIX]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_POSIX$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_POSIX], [/* if this is a POSIX system */ #undef OS_POSIX]) m4trace:configure.ac:103: -1- AC_SUBST([OSYSTEM]) m4trace:configure.ac:103: -1- AC_SUBST_TRACE([OSYSTEM]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OSYSTEM$]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_SHORTNAME]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_SHORTNAME$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_SHORTNAME], [/* target system */ #undef OS_SHORTNAME]) m4trace:configure.ac:103: -1- AC_SUBST([OS_TYPE]) m4trace:configure.ac:103: -1- AC_SUBST_TRACE([OS_TYPE]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_TYPE$]) m4trace:configure.ac:103: -1- AC_DEFINE_TRACE_LITERAL([OS_TYPE]) m4trace:configure.ac:103: -1- m4_pattern_allow([^OS_TYPE$]) m4trace:configure.ac:103: -1- AH_OUTPUT([OS_TYPE], [/* system type */ #undef OS_TYPE]) m4trace:configure.ac:103: -1- AC_SUBST([MAKE_DLL_TARGET]) m4trace:configure.ac:103: -1- AC_SUBST_TRACE([MAKE_DLL_TARGET]) m4trace:configure.ac:103: -1- m4_pattern_allow([^MAKE_DLL_TARGET$]) m4trace:configure.ac:103: -1- AC_SUBST([INSTALL_DLL_TARGET]) m4trace:configure.ac:103: -1- AC_SUBST_TRACE([INSTALL_DLL_TARGET]) m4trace:configure.ac:103: -1- m4_pattern_allow([^INSTALL_DLL_TARGET$]) m4trace:configure.ac:114: -1- AC_SUBST([prefix]) m4trace:configure.ac:114: -1- AC_SUBST_TRACE([prefix]) m4trace:configure.ac:114: -1- m4_pattern_allow([^prefix$]) m4trace:configure.ac:130: -1- AC_SUBST([CC]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CC]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- AC_SUBST([CFLAGS]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CFLAGS]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CFLAGS$]) m4trace:configure.ac:130: -1- AC_SUBST([LDFLAGS]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([LDFLAGS]) m4trace:configure.ac:130: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:130: -1- AC_SUBST([LIBS]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([LIBS]) m4trace:configure.ac:130: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:130: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:130: -1- AC_SUBST([CC]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CC]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- AC_SUBST([CC]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CC]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- AC_SUBST([CC]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CC]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- AC_SUBST([CC]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CC]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CC$]) m4trace:configure.ac:130: -1- AC_SUBST([ac_ct_CC]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([ac_ct_CC]) m4trace:configure.ac:130: -1- m4_pattern_allow([^ac_ct_CC$]) m4trace:configure.ac:130: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([EXEEXT]) m4trace:configure.ac:130: -1- m4_pattern_allow([^EXEEXT$]) m4trace:configure.ac:130: -1- AC_SUBST([OBJEXT], [$ac_cv_objext]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([OBJEXT]) m4trace:configure.ac:130: -1- m4_pattern_allow([^OBJEXT$]) m4trace:configure.ac:130: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([DEPDIR]) m4trace:configure.ac:130: -1- m4_pattern_allow([^DEPDIR$]) m4trace:configure.ac:130: -1- AC_SUBST([am__include]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([am__include]) m4trace:configure.ac:130: -1- m4_pattern_allow([^am__include$]) m4trace:configure.ac:130: -1- AC_SUBST([am__quote]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([am__quote]) m4trace:configure.ac:130: -1- m4_pattern_allow([^am__quote$]) m4trace:configure.ac:130: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) m4trace:configure.ac:130: -1- AC_SUBST([AMDEP_TRUE]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([AMDEP_TRUE]) m4trace:configure.ac:130: -1- m4_pattern_allow([^AMDEP_TRUE$]) m4trace:configure.ac:130: -1- AC_SUBST([AMDEP_FALSE]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([AMDEP_FALSE]) m4trace:configure.ac:130: -1- m4_pattern_allow([^AMDEP_FALSE$]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([AMDEP_TRUE]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([AMDEP_FALSE]) m4trace:configure.ac:130: -1- AC_SUBST([AMDEPBACKSLASH]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([AMDEPBACKSLASH]) m4trace:configure.ac:130: -1- m4_pattern_allow([^AMDEPBACKSLASH$]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([AMDEPBACKSLASH]) m4trace:configure.ac:130: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([CCDEPMODE]) m4trace:configure.ac:130: -1- m4_pattern_allow([^CCDEPMODE$]) m4trace:configure.ac:130: -1- AM_CONDITIONAL([am__fastdepCC], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:130: -1- AC_SUBST([am__fastdepCC_TRUE]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE]) m4trace:configure.ac:130: -1- m4_pattern_allow([^am__fastdepCC_TRUE$]) m4trace:configure.ac:130: -1- AC_SUBST([am__fastdepCC_FALSE]) m4trace:configure.ac:130: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE]) m4trace:configure.ac:130: -1- m4_pattern_allow([^am__fastdepCC_FALSE$]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_TRUE]) m4trace:configure.ac:130: -1- _AM_SUBST_NOTMAKE([am__fastdepCC_FALSE]) m4trace:configure.ac:131: -1- AC_SUBST([CXX]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([CXX]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:131: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([CXXFLAGS]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXXFLAGS$]) m4trace:configure.ac:131: -1- AC_SUBST([LDFLAGS]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([LDFLAGS]) m4trace:configure.ac:131: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:131: -1- AC_SUBST([LIBS]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([LIBS]) m4trace:configure.ac:131: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:131: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:131: -1- AC_SUBST([CXX]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([CXX]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:131: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([ac_ct_CXX]) m4trace:configure.ac:131: -1- m4_pattern_allow([^ac_ct_CXX$]) m4trace:configure.ac:131: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([CXXDEPMODE]) m4trace:configure.ac:131: -1- m4_pattern_allow([^CXXDEPMODE$]) m4trace:configure.ac:131: -1- AM_CONDITIONAL([am__fastdepCXX], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:131: -1- AC_SUBST([am__fastdepCXX_TRUE]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) m4trace:configure.ac:131: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) m4trace:configure.ac:131: -1- AC_SUBST([am__fastdepCXX_FALSE]) m4trace:configure.ac:131: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) m4trace:configure.ac:131: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) m4trace:configure.ac:131: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) m4trace:configure.ac:131: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) m4trace:configure.ac:132: -1- AC_SUBST([OBJC]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([OBJC]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJC$]) m4trace:configure.ac:132: -1- AC_SUBST([OBJCFLAGS]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([OBJCFLAGS]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJCFLAGS$]) m4trace:configure.ac:132: -1- AC_SUBST([LDFLAGS]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([LDFLAGS]) m4trace:configure.ac:132: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:132: -1- AC_SUBST([LIBS]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([LIBS]) m4trace:configure.ac:132: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:132: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.ac:132: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:132: -1- AC_SUBST([OBJC]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([OBJC]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJC$]) m4trace:configure.ac:132: -1- AC_SUBST([ac_ct_OBJC]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([ac_ct_OBJC]) m4trace:configure.ac:132: -1- m4_pattern_allow([^ac_ct_OBJC$]) m4trace:configure.ac:132: -1- AC_SUBST([OBJCDEPMODE], [depmode=$am_cv_OBJC_dependencies_compiler_type]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([OBJCDEPMODE]) m4trace:configure.ac:132: -1- m4_pattern_allow([^OBJCDEPMODE$]) m4trace:configure.ac:132: -1- AM_CONDITIONAL([am__fastdepOBJC], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:132: -1- AC_SUBST([am__fastdepOBJC_TRUE]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([am__fastdepOBJC_TRUE]) m4trace:configure.ac:132: -1- m4_pattern_allow([^am__fastdepOBJC_TRUE$]) m4trace:configure.ac:132: -1- AC_SUBST([am__fastdepOBJC_FALSE]) m4trace:configure.ac:132: -1- AC_SUBST_TRACE([am__fastdepOBJC_FALSE]) m4trace:configure.ac:132: -1- m4_pattern_allow([^am__fastdepOBJC_FALSE$]) m4trace:configure.ac:132: -1- _AM_SUBST_NOTMAKE([am__fastdepOBJC_TRUE]) m4trace:configure.ac:132: -1- _AM_SUBST_NOTMAKE([am__fastdepOBJC_FALSE]) m4trace:configure.ac:133: -1- AC_REQUIRE_AUX_FILE([install-sh]) m4trace:configure.ac:133: -1- AC_SUBST([INSTALL_PROGRAM]) m4trace:configure.ac:133: -1- AC_SUBST_TRACE([INSTALL_PROGRAM]) m4trace:configure.ac:133: -1- m4_pattern_allow([^INSTALL_PROGRAM$]) m4trace:configure.ac:133: -1- AC_SUBST([INSTALL_SCRIPT]) m4trace:configure.ac:133: -1- AC_SUBST_TRACE([INSTALL_SCRIPT]) m4trace:configure.ac:133: -1- m4_pattern_allow([^INSTALL_SCRIPT$]) m4trace:configure.ac:133: -1- AC_SUBST([INSTALL_DATA]) m4trace:configure.ac:133: -1- AC_SUBST_TRACE([INSTALL_DATA]) m4trace:configure.ac:133: -1- m4_pattern_allow([^INSTALL_DATA$]) m4trace:configure.ac:135: -1- _m4_warn([obsolete], [The macro `AC_LIBTOOL_WIN32_DLL' is obsolete. You should run autoupdate.], [m4/ltoptions.m4:145: AC_LIBTOOL_WIN32_DLL is expanded from... configure.ac:135: the top level]) m4trace:configure.ac:135: -1- AC_SUBST([AS]) m4trace:configure.ac:135: -1- AC_SUBST_TRACE([AS]) m4trace:configure.ac:135: -1- m4_pattern_allow([^AS$]) m4trace:configure.ac:135: -1- AC_SUBST([DLLTOOL]) m4trace:configure.ac:135: -1- AC_SUBST_TRACE([DLLTOOL]) m4trace:configure.ac:135: -1- m4_pattern_allow([^DLLTOOL$]) m4trace:configure.ac:135: -1- AC_SUBST([OBJDUMP]) m4trace:configure.ac:135: -1- AC_SUBST_TRACE([OBJDUMP]) m4trace:configure.ac:135: -1- m4_pattern_allow([^OBJDUMP$]) m4trace:configure.ac:135: -1- _m4_warn([obsolete], [AC_LIBTOOL_WIN32_DLL: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.], [m4/ltoptions.m4:145: AC_LIBTOOL_WIN32_DLL is expanded from... configure.ac:135: the top level]) m4trace:configure.ac:137: -1- AC_PROG_LIBTOOL m4trace:configure.ac:137: -1- _m4_warn([obsolete], [The macro `AC_PROG_LIBTOOL' is obsolete. You should run autoupdate.], [m4/libtool.m4:102: AC_PROG_LIBTOOL is expanded from... configure.ac:137: the top level]) m4trace:configure.ac:137: -1- LT_INIT m4trace:configure.ac:137: -1- m4_pattern_forbid([^_?LT_[A-Z_]+$]) m4trace:configure.ac:137: -1- m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$]) m4trace:configure.ac:137: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) m4trace:configure.ac:137: -1- AC_SUBST([LIBTOOL]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([LIBTOOL]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LIBTOOL$]) m4trace:configure.ac:137: -1- AC_SUBST([SED]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([SED]) m4trace:configure.ac:137: -1- m4_pattern_allow([^SED$]) m4trace:configure.ac:137: -1- AC_SUBST([GREP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([GREP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^GREP$]) m4trace:configure.ac:137: -1- AC_SUBST([EGREP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([EGREP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^EGREP$]) m4trace:configure.ac:137: -1- AC_SUBST([FGREP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([FGREP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^FGREP$]) m4trace:configure.ac:137: -1- AC_SUBST([GREP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([GREP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^GREP$]) m4trace:configure.ac:137: -1- AC_SUBST([LD]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([LD]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LD$]) m4trace:configure.ac:137: -1- AC_SUBST([DUMPBIN]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([DUMPBIN]) m4trace:configure.ac:137: -1- m4_pattern_allow([^DUMPBIN$]) m4trace:configure.ac:137: -1- AC_SUBST([ac_ct_DUMPBIN]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([ac_ct_DUMPBIN]) m4trace:configure.ac:137: -1- m4_pattern_allow([^ac_ct_DUMPBIN$]) m4trace:configure.ac:137: -1- AC_SUBST([DUMPBIN]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([DUMPBIN]) m4trace:configure.ac:137: -1- m4_pattern_allow([^DUMPBIN$]) m4trace:configure.ac:137: -1- AC_SUBST([NM]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([NM]) m4trace:configure.ac:137: -1- m4_pattern_allow([^NM$]) m4trace:configure.ac:137: -1- AC_SUBST([LN_S], [$as_ln_s]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([LN_S]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LN_S$]) m4trace:configure.ac:137: -1- AC_SUBST([OBJDUMP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([OBJDUMP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^OBJDUMP$]) m4trace:configure.ac:137: -1- AC_SUBST([OBJDUMP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([OBJDUMP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^OBJDUMP$]) m4trace:configure.ac:137: -1- AC_SUBST([AR]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([AR]) m4trace:configure.ac:137: -1- m4_pattern_allow([^AR$]) m4trace:configure.ac:137: -1- AC_SUBST([STRIP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([STRIP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^STRIP$]) m4trace:configure.ac:137: -1- AC_SUBST([RANLIB]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([RANLIB]) m4trace:configure.ac:137: -1- m4_pattern_allow([^RANLIB$]) m4trace:configure.ac:137: -1- m4_pattern_allow([LT_OBJDIR]) m4trace:configure.ac:137: -1- AC_DEFINE_TRACE_LITERAL([LT_OBJDIR]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LT_OBJDIR$]) m4trace:configure.ac:137: -1- AH_OUTPUT([LT_OBJDIR], [/* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR]) m4trace:configure.ac:137: -1- AC_SUBST([lt_ECHO]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([lt_ECHO]) m4trace:configure.ac:137: -1- m4_pattern_allow([^lt_ECHO$]) m4trace:configure.ac:137: -1- LT_SUPPORTED_TAG([CC]) m4trace:configure.ac:137: -1- AC_SUBST([DSYMUTIL]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([DSYMUTIL]) m4trace:configure.ac:137: -1- m4_pattern_allow([^DSYMUTIL$]) m4trace:configure.ac:137: -1- AC_SUBST([NMEDIT]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([NMEDIT]) m4trace:configure.ac:137: -1- m4_pattern_allow([^NMEDIT$]) m4trace:configure.ac:137: -1- AC_SUBST([LIPO]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([LIPO]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LIPO$]) m4trace:configure.ac:137: -1- AC_SUBST([OTOOL]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([OTOOL]) m4trace:configure.ac:137: -1- m4_pattern_allow([^OTOOL$]) m4trace:configure.ac:137: -1- AC_SUBST([OTOOL64]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([OTOOL64]) m4trace:configure.ac:137: -1- m4_pattern_allow([^OTOOL64$]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H]) m4trace:configure.ac:137: -1- AC_SUBST([CPP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CPP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPP$]) m4trace:configure.ac:137: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:137: -1- AC_SUBST([CPP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CPP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPP$]) m4trace:configure.ac:137: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) m4trace:configure.ac:137: -1- m4_pattern_allow([^STDC_HEADERS$]) m4trace:configure.ac:137: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRING_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H]) m4trace:configure.ac:137: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H]) m4trace:configure.ac:137: -1- LT_SUPPORTED_TAG([CXX]) m4trace:configure.ac:137: -1- AC_SUBST([CXX]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CXX]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:137: -1- AC_SUBST([CXXFLAGS]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CXXFLAGS]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXFLAGS$]) m4trace:configure.ac:137: -1- AC_SUBST([LDFLAGS]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([LDFLAGS]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LDFLAGS$]) m4trace:configure.ac:137: -1- AC_SUBST([LIBS]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([LIBS]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LIBS$]) m4trace:configure.ac:137: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:137: -1- AC_SUBST([CXX]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CXX]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXX$]) m4trace:configure.ac:137: -1- AC_SUBST([ac_ct_CXX]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([ac_ct_CXX]) m4trace:configure.ac:137: -1- m4_pattern_allow([^ac_ct_CXX$]) m4trace:configure.ac:137: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CXXDEPMODE]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXDEPMODE$]) m4trace:configure.ac:137: -1- AM_CONDITIONAL([am__fastdepCXX], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3]) m4trace:configure.ac:137: -1- AC_SUBST([am__fastdepCXX_TRUE]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE]) m4trace:configure.ac:137: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$]) m4trace:configure.ac:137: -1- AC_SUBST([am__fastdepCXX_FALSE]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE]) m4trace:configure.ac:137: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$]) m4trace:configure.ac:137: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_TRUE]) m4trace:configure.ac:137: -1- _AM_SUBST_NOTMAKE([am__fastdepCXX_FALSE]) m4trace:configure.ac:137: -1- AC_SUBST([CXXCPP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CXXCPP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXCPP$]) m4trace:configure.ac:137: -1- AC_SUBST([CPPFLAGS]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CPPFLAGS]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CPPFLAGS$]) m4trace:configure.ac:137: -1- AC_SUBST([CXXCPP]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([CXXCPP]) m4trace:configure.ac:137: -1- m4_pattern_allow([^CXXCPP$]) m4trace:configure.ac:137: -1- AC_SUBST([LD]) m4trace:configure.ac:137: -1- AC_SUBST_TRACE([LD]) m4trace:configure.ac:137: -1- m4_pattern_allow([^LD$]) m4trace:configure.ac:138: -1- AC_SUBST([AWK]) m4trace:configure.ac:138: -1- AC_SUBST_TRACE([AWK]) m4trace:configure.ac:138: -1- m4_pattern_allow([^AWK$]) m4trace:configure.ac:139: -1- AC_SUBST([SED]) m4trace:configure.ac:139: -1- AC_SUBST_TRACE([SED]) m4trace:configure.ac:139: -1- m4_pattern_allow([^SED$]) m4trace:configure.ac:155: -1- AC_DEFINE_TRACE_LITERAL([WITH_DLLIB]) m4trace:configure.ac:155: -1- m4_pattern_allow([^WITH_DLLIB$]) m4trace:configure.ac:155: -1- AH_OUTPUT([WITH_DLLIB], [/* whether DL library is available */ #undef WITH_DLLIB]) m4trace:configure.ac:156: -1- AC_DEFINE_TRACE_LITERAL([HAS_DLOPEN]) m4trace:configure.ac:156: -1- m4_pattern_allow([^HAS_DLOPEN$]) m4trace:configure.ac:156: -1- AH_OUTPUT([HAS_DLOPEN], [/* whether function dlopen is available */ #undef HAS_DLOPEN]) m4trace:configure.ac:163: -1- AC_SUBST([dl_libs]) m4trace:configure.ac:163: -1- AC_SUBST_TRACE([dl_libs]) m4trace:configure.ac:163: -1- m4_pattern_allow([^dl_libs$]) m4trace:configure.ac:173: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS]) m4trace:configure.ac:173: -1- m4_pattern_allow([^STDC_HEADERS$]) m4trace:configure.ac:173: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS]) m4trace:configure.ac:175: -1- AH_OUTPUT([HAVE_PTHREAD_H], [/* Define to 1 if you have the header file. */ #undef HAVE_PTHREAD_H]) m4trace:configure.ac:182: -1- AC_DEFINE_TRACE_LITERAL([const]) m4trace:configure.ac:182: -1- m4_pattern_allow([^const$]) m4trace:configure.ac:182: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */ #undef const]) m4trace:configure.ac:216: -1- AM_CONDITIONAL([IS_WINDOWS], [test "$OS_TYPE" = "windows"]) m4trace:configure.ac:216: -1- AC_SUBST([IS_WINDOWS_TRUE]) m4trace:configure.ac:216: -1- AC_SUBST_TRACE([IS_WINDOWS_TRUE]) m4trace:configure.ac:216: -1- m4_pattern_allow([^IS_WINDOWS_TRUE$]) m4trace:configure.ac:216: -1- AC_SUBST([IS_WINDOWS_FALSE]) m4trace:configure.ac:216: -1- AC_SUBST_TRACE([IS_WINDOWS_FALSE]) m4trace:configure.ac:216: -1- m4_pattern_allow([^IS_WINDOWS_FALSE$]) m4trace:configure.ac:216: -1- _AM_SUBST_NOTMAKE([IS_WINDOWS_TRUE]) m4trace:configure.ac:216: -1- _AM_SUBST_NOTMAKE([IS_WINDOWS_FALSE]) m4trace:configure.ac:217: -1- AM_CONDITIONAL([IS_OSX], [test "$OSYSTEM" = "osx"]) m4trace:configure.ac:217: -1- AC_SUBST([IS_OSX_TRUE]) m4trace:configure.ac:217: -1- AC_SUBST_TRACE([IS_OSX_TRUE]) m4trace:configure.ac:217: -1- m4_pattern_allow([^IS_OSX_TRUE$]) m4trace:configure.ac:217: -1- AC_SUBST([IS_OSX_FALSE]) m4trace:configure.ac:217: -1- AC_SUBST_TRACE([IS_OSX_FALSE]) m4trace:configure.ac:217: -1- m4_pattern_allow([^IS_OSX_FALSE$]) m4trace:configure.ac:217: -1- _AM_SUBST_NOTMAKE([IS_OSX_TRUE]) m4trace:configure.ac:217: -1- _AM_SUBST_NOTMAKE([IS_OSX_FALSE]) m4trace:configure.ac:218: -1- AM_CONDITIONAL([IS_LINUX], [test "$OSYSTEM" = "linux"]) m4trace:configure.ac:218: -1- AC_SUBST([IS_LINUX_TRUE]) m4trace:configure.ac:218: -1- AC_SUBST_TRACE([IS_LINUX_TRUE]) m4trace:configure.ac:218: -1- m4_pattern_allow([^IS_LINUX_TRUE$]) m4trace:configure.ac:218: -1- AC_SUBST([IS_LINUX_FALSE]) m4trace:configure.ac:218: -1- AC_SUBST_TRACE([IS_LINUX_FALSE]) m4trace:configure.ac:218: -1- m4_pattern_allow([^IS_LINUX_FALSE$]) m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([IS_LINUX_TRUE]) m4trace:configure.ac:218: -1- _AM_SUBST_NOTMAKE([IS_LINUX_FALSE]) m4trace:configure.ac:220: -1- AC_SUBST([cyberjack_sys_is_windows]) m4trace:configure.ac:220: -1- AC_SUBST_TRACE([cyberjack_sys_is_windows]) m4trace:configure.ac:220: -1- m4_pattern_allow([^cyberjack_sys_is_windows$]) m4trace:configure.ac:221: -1- AC_SUBST([cyberjack_config_file]) m4trace:configure.ac:221: -1- AC_SUBST_TRACE([cyberjack_config_file]) m4trace:configure.ac:221: -1- m4_pattern_allow([^cyberjack_config_file$]) m4trace:configure.ac:222: -1- AC_SUBST([cyberjack_platform_def]) m4trace:configure.ac:222: -1- AC_SUBST_TRACE([cyberjack_platform_def]) m4trace:configure.ac:222: -1- m4_pattern_allow([^cyberjack_platform_def$]) m4trace:configure.ac:223: -1- AC_SUBST([COCOA_FRAMEWORK]) m4trace:configure.ac:223: -1- AC_SUBST_TRACE([COCOA_FRAMEWORK]) m4trace:configure.ac:223: -1- m4_pattern_allow([^COCOA_FRAMEWORK$]) m4trace:configure.ac:224: -1- AC_SUBST([FOUNDATION_FRAMEWORK]) m4trace:configure.ac:224: -1- AC_SUBST_TRACE([FOUNDATION_FRAMEWORK]) m4trace:configure.ac:224: -1- m4_pattern_allow([^FOUNDATION_FRAMEWORK$]) m4trace:configure.ac:225: -1- AC_SUBST([SYSCONF_FRAMEWORK]) m4trace:configure.ac:225: -1- AC_SUBST_TRACE([SYSCONF_FRAMEWORK]) m4trace:configure.ac:225: -1- m4_pattern_allow([^SYSCONF_FRAMEWORK$]) m4trace:configure.ac:226: -1- AC_SUBST([IOKIT_FRAMEWORK]) m4trace:configure.ac:226: -1- AC_SUBST_TRACE([IOKIT_FRAMEWORK]) m4trace:configure.ac:226: -1- m4_pattern_allow([^IOKIT_FRAMEWORK$]) m4trace:configure.ac:251: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_NONSERIAL]) m4trace:configure.ac:251: -1- m4_pattern_allow([^ENABLE_NONSERIAL$]) m4trace:configure.ac:251: -1- AH_OUTPUT([ENABLE_NONSERIAL], [/* whether non-serial interfaces should be enabled */ #undef ENABLE_NONSERIAL]) m4trace:configure.ac:253: -1- AM_CONDITIONAL([ENABLE_NONSERIAL], [test "$enable_nonserial" = "yes"]) m4trace:configure.ac:253: -1- AC_SUBST([ENABLE_NONSERIAL_TRUE]) m4trace:configure.ac:253: -1- AC_SUBST_TRACE([ENABLE_NONSERIAL_TRUE]) m4trace:configure.ac:253: -1- m4_pattern_allow([^ENABLE_NONSERIAL_TRUE$]) m4trace:configure.ac:253: -1- AC_SUBST([ENABLE_NONSERIAL_FALSE]) m4trace:configure.ac:253: -1- AC_SUBST_TRACE([ENABLE_NONSERIAL_FALSE]) m4trace:configure.ac:253: -1- m4_pattern_allow([^ENABLE_NONSERIAL_FALSE$]) m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([ENABLE_NONSERIAL_TRUE]) m4trace:configure.ac:253: -1- _AM_SUBST_NOTMAKE([ENABLE_NONSERIAL_FALSE]) m4trace:configure.ac:255: -1- AC_SUBST([enable_nonserial]) m4trace:configure.ac:255: -1- AC_SUBST_TRACE([enable_nonserial]) m4trace:configure.ac:255: -1- m4_pattern_allow([^enable_nonserial$]) m4trace:configure.ac:267: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4trace:configure.ac:267: -1- m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) m4trace:configure.ac:267: -1- AC_SUBST([PKG_CONFIG]) m4trace:configure.ac:267: -1- AC_SUBST_TRACE([PKG_CONFIG]) m4trace:configure.ac:267: -1- m4_pattern_allow([^PKG_CONFIG$]) m4trace:configure.ac:267: -1- AC_SUBST([PKG_CONFIG]) m4trace:configure.ac:267: -1- AC_SUBST_TRACE([PKG_CONFIG]) m4trace:configure.ac:267: -1- m4_pattern_allow([^PKG_CONFIG$]) m4trace:configure.ac:267: -1- AC_SUBST([libusb_CFLAGS]) m4trace:configure.ac:267: -1- AC_SUBST_TRACE([libusb_CFLAGS]) m4trace:configure.ac:267: -1- m4_pattern_allow([^libusb_CFLAGS$]) m4trace:configure.ac:267: -1- AC_SUBST([libusb_LIBS]) m4trace:configure.ac:267: -1- AC_SUBST_TRACE([libusb_LIBS]) m4trace:configure.ac:267: -1- m4_pattern_allow([^libusb_LIBS$]) m4trace:configure.ac:269: -1- AC_DEFINE_TRACE_LITERAL([USE_USB1]) m4trace:configure.ac:269: -1- m4_pattern_allow([^USE_USB1$]) m4trace:configure.ac:269: -1- AH_OUTPUT([USE_USB1], [/* if libUSB-1.0 is available */ #undef USE_USB1]) m4trace:configure.ac:280: -1- AC_SUBST([libusb_CFLAGS]) m4trace:configure.ac:280: -1- AC_SUBST_TRACE([libusb_CFLAGS]) m4trace:configure.ac:280: -1- m4_pattern_allow([^libusb_CFLAGS$]) m4trace:configure.ac:280: -1- AC_SUBST([libusb_LIBS]) m4trace:configure.ac:280: -1- AC_SUBST_TRACE([libusb_LIBS]) m4trace:configure.ac:280: -1- m4_pattern_allow([^libusb_LIBS$]) m4trace:configure.ac:291: -1- AC_SUBST([libusb_includes]) m4trace:configure.ac:291: -1- AC_SUBST_TRACE([libusb_includes]) m4trace:configure.ac:291: -1- m4_pattern_allow([^libusb_includes$]) m4trace:configure.ac:292: -1- AC_SUBST([libusb_libs]) m4trace:configure.ac:292: -1- AC_SUBST_TRACE([libusb_libs]) m4trace:configure.ac:292: -1- m4_pattern_allow([^libusb_libs$]) m4trace:configure.ac:308: -1- AC_SUBST([hal_CFLAGS]) m4trace:configure.ac:308: -1- AC_SUBST_TRACE([hal_CFLAGS]) m4trace:configure.ac:308: -1- m4_pattern_allow([^hal_CFLAGS$]) m4trace:configure.ac:308: -1- AC_SUBST([hal_LIBS]) m4trace:configure.ac:308: -1- AC_SUBST_TRACE([hal_LIBS]) m4trace:configure.ac:308: -1- m4_pattern_allow([^hal_LIBS$]) m4trace:configure.ac:310: -1- AC_DEFINE_TRACE_LITERAL([HAVE_HAL]) m4trace:configure.ac:310: -1- m4_pattern_allow([^HAVE_HAL$]) m4trace:configure.ac:310: -1- AH_OUTPUT([HAVE_HAL], [/* if HAL is available */ #undef HAVE_HAL]) m4trace:configure.ac:317: -1- AC_SUBST([hal_libs]) m4trace:configure.ac:317: -1- AC_SUBST_TRACE([hal_libs]) m4trace:configure.ac:317: -1- m4_pattern_allow([^hal_libs$]) m4trace:configure.ac:318: -1- AC_SUBST([hal_includes]) m4trace:configure.ac:318: -1- AC_SUBST_TRACE([hal_includes]) m4trace:configure.ac:318: -1- m4_pattern_allow([^hal_includes$]) m4trace:configure.ac:326: -1- AC_SUBST([pcsc_includes]) m4trace:configure.ac:326: -1- AC_SUBST_TRACE([pcsc_includes]) m4trace:configure.ac:326: -1- m4_pattern_allow([^pcsc_includes$]) m4trace:configure.ac:326: -1- AC_SUBST([pcsc_libraries]) m4trace:configure.ac:326: -1- AC_SUBST_TRACE([pcsc_libraries]) m4trace:configure.ac:326: -1- m4_pattern_allow([^pcsc_libraries$]) m4trace:configure.ac:326: -1- AC_SUBST([pcsc_lib]) m4trace:configure.ac:326: -1- AC_SUBST_TRACE([pcsc_lib]) m4trace:configure.ac:326: -1- m4_pattern_allow([^pcsc_lib$]) m4trace:configure.ac:327: -1- AM_CONDITIONAL([USE_PCSC], [test "$have_pcsc" = "yes"]) m4trace:configure.ac:327: -1- AC_SUBST([USE_PCSC_TRUE]) m4trace:configure.ac:327: -1- AC_SUBST_TRACE([USE_PCSC_TRUE]) m4trace:configure.ac:327: -1- m4_pattern_allow([^USE_PCSC_TRUE$]) m4trace:configure.ac:327: -1- AC_SUBST([USE_PCSC_FALSE]) m4trace:configure.ac:327: -1- AC_SUBST_TRACE([USE_PCSC_FALSE]) m4trace:configure.ac:327: -1- m4_pattern_allow([^USE_PCSC_FALSE$]) m4trace:configure.ac:327: -1- _AM_SUBST_NOTMAKE([USE_PCSC_TRUE]) m4trace:configure.ac:327: -1- _AM_SUBST_NOTMAKE([USE_PCSC_FALSE]) m4trace:configure.ac:331: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PCSC]) m4trace:configure.ac:331: -1- m4_pattern_allow([^HAVE_PCSC$]) m4trace:configure.ac:331: -1- AH_OUTPUT([HAVE_PCSC], [/* if PC/SC is available */ #undef HAVE_PCSC]) m4trace:configure.ac:366: -1- AC_SUBST([cyberjack_ifd_filename]) m4trace:configure.ac:366: -1- AC_SUBST_TRACE([cyberjack_ifd_filename]) m4trace:configure.ac:366: -1- m4_pattern_allow([^cyberjack_ifd_filename$]) m4trace:configure.ac:367: -1- AC_SUBST([usbdropdir]) m4trace:configure.ac:367: -1- AC_SUBST_TRACE([usbdropdir]) m4trace:configure.ac:367: -1- m4_pattern_allow([^usbdropdir$]) m4trace:configure.ac:375: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXML2]) m4trace:configure.ac:375: -1- m4_pattern_allow([^HAVE_LIBXML2$]) m4trace:configure.ac:375: -1- AH_OUTPUT([HAVE_LIBXML2], [/* whether XML2 is available */ #undef HAVE_LIBXML2]) m4trace:configure.ac:375: -1- AC_SUBST([libxml2_libs]) m4trace:configure.ac:375: -1- AC_SUBST_TRACE([libxml2_libs]) m4trace:configure.ac:375: -1- m4_pattern_allow([^libxml2_libs$]) m4trace:configure.ac:375: -1- AC_SUBST([libxml2_includes]) m4trace:configure.ac:375: -1- AC_SUBST_TRACE([libxml2_includes]) m4trace:configure.ac:375: -1- m4_pattern_allow([^libxml2_includes$]) m4trace:configure.ac:376: -1- AM_CONDITIONAL([USE_XML2], [test "$have_libxml2" = "yes"]) m4trace:configure.ac:376: -1- AC_SUBST([USE_XML2_TRUE]) m4trace:configure.ac:376: -1- AC_SUBST_TRACE([USE_XML2_TRUE]) m4trace:configure.ac:376: -1- m4_pattern_allow([^USE_XML2_TRUE$]) m4trace:configure.ac:376: -1- AC_SUBST([USE_XML2_FALSE]) m4trace:configure.ac:376: -1- AC_SUBST_TRACE([USE_XML2_FALSE]) m4trace:configure.ac:376: -1- m4_pattern_allow([^USE_XML2_FALSE$]) m4trace:configure.ac:376: -1- _AM_SUBST_NOTMAKE([USE_XML2_TRUE]) m4trace:configure.ac:376: -1- _AM_SUBST_NOTMAKE([USE_XML2_FALSE]) m4trace:configure.ac:384: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FOX]) m4trace:configure.ac:384: -1- m4_pattern_allow([^HAVE_FOX$]) m4trace:configure.ac:384: -1- AH_OUTPUT([HAVE_FOX], [/* whether FOX is available */ #undef HAVE_FOX]) m4trace:configure.ac:384: -1- AC_SUBST([fox_libs]) m4trace:configure.ac:384: -1- AC_SUBST_TRACE([fox_libs]) m4trace:configure.ac:384: -1- m4_pattern_allow([^fox_libs$]) m4trace:configure.ac:384: -1- AC_SUBST([fox_includes]) m4trace:configure.ac:384: -1- AC_SUBST_TRACE([fox_includes]) m4trace:configure.ac:384: -1- m4_pattern_allow([^fox_includes$]) m4trace:configure.ac:385: -1- AM_CONDITIONAL([WITH_FOX], [test "$have_fox" = "yes"]) m4trace:configure.ac:385: -1- AC_SUBST([WITH_FOX_TRUE]) m4trace:configure.ac:385: -1- AC_SUBST_TRACE([WITH_FOX_TRUE]) m4trace:configure.ac:385: -1- m4_pattern_allow([^WITH_FOX_TRUE$]) m4trace:configure.ac:385: -1- AC_SUBST([WITH_FOX_FALSE]) m4trace:configure.ac:385: -1- AC_SUBST_TRACE([WITH_FOX_FALSE]) m4trace:configure.ac:385: -1- m4_pattern_allow([^WITH_FOX_FALSE$]) m4trace:configure.ac:385: -1- _AM_SUBST_NOTMAKE([WITH_FOX_TRUE]) m4trace:configure.ac:385: -1- _AM_SUBST_NOTMAKE([WITH_FOX_FALSE]) m4trace:configure.ac:408: -1- AC_SUBST([STRIPALL]) m4trace:configure.ac:408: -1- AC_SUBST_TRACE([STRIPALL]) m4trace:configure.ac:408: -1- m4_pattern_allow([^STRIPALL$]) m4trace:configure.ac:429: -1- AC_DEFINE_TRACE_LITERAL([USE_THREADS]) m4trace:configure.ac:429: -1- m4_pattern_allow([^USE_THREADS$]) m4trace:configure.ac:429: -1- AH_OUTPUT([USE_THREADS], [/* whether pthreads are to be used */ #undef USE_THREADS]) m4trace:configure.ac:434: -1- AC_SUBST([USE_THREADS]) m4trace:configure.ac:434: -1- AC_SUBST_TRACE([USE_THREADS]) m4trace:configure.ac:434: -1- m4_pattern_allow([^USE_THREADS$]) m4trace:configure.ac:435: -1- AC_SUBST([THREAD_LIBS]) m4trace:configure.ac:435: -1- AC_SUBST_TRACE([THREAD_LIBS]) m4trace:configure.ac:435: -1- m4_pattern_allow([^THREAD_LIBS$]) m4trace:configure.ac:480: -1- AC_DEFINE_TRACE_LITERAL([GCC_WITH_VISIBILITY_ATTRIBUTE]) m4trace:configure.ac:480: -1- m4_pattern_allow([^GCC_WITH_VISIBILITY_ATTRIBUTE$]) m4trace:configure.ac:480: -1- AH_OUTPUT([GCC_WITH_VISIBILITY_ATTRIBUTE], [/* visibility */ #undef GCC_WITH_VISIBILITY_ATTRIBUTE]) m4trace:configure.ac:513: -1- AC_SUBST([visibility_cflags]) m4trace:configure.ac:513: -1- AC_SUBST_TRACE([visibility_cflags]) m4trace:configure.ac:513: -1- m4_pattern_allow([^visibility_cflags$]) m4trace:configure.ac:615: -1- AC_DEFINE_TRACE_LITERAL([USE_SUSE_HACK]) m4trace:configure.ac:615: -1- m4_pattern_allow([^USE_SUSE_HACK$]) m4trace:configure.ac:615: -1- AH_OUTPUT([USE_SUSE_HACK], [/* needed for SuSE */ #undef USE_SUSE_HACK]) m4trace:configure.ac:620: -1- AC_SUBST([RPM_DIST_NAME]) m4trace:configure.ac:620: -1- AC_SUBST_TRACE([RPM_DIST_NAME]) m4trace:configure.ac:620: -1- m4_pattern_allow([^RPM_DIST_NAME$]) m4trace:configure.ac:621: -1- AC_SUBST([RPM_DIST_TAG]) m4trace:configure.ac:621: -1- AC_SUBST_TRACE([RPM_DIST_TAG]) m4trace:configure.ac:621: -1- m4_pattern_allow([^RPM_DIST_TAG$]) m4trace:configure.ac:622: -1- AC_SUBST([RPM_DIST_VER]) m4trace:configure.ac:622: -1- AC_SUBST_TRACE([RPM_DIST_VER]) m4trace:configure.ac:622: -1- m4_pattern_allow([^RPM_DIST_VER$]) m4trace:configure.ac:623: -1- AC_SUBST([RPM_PCSC_DROPDIR]) m4trace:configure.ac:623: -1- AC_SUBST_TRACE([RPM_PCSC_DROPDIR]) m4trace:configure.ac:623: -1- m4_pattern_allow([^RPM_PCSC_DROPDIR$]) m4trace:configure.ac:625: -1- AC_SUBST([ETC_SUBDIRS]) m4trace:configure.ac:625: -1- AC_SUBST_TRACE([ETC_SUBDIRS]) m4trace:configure.ac:625: -1- m4_pattern_allow([^ETC_SUBDIRS$]) m4trace:configure.ac:626: -1- AC_SUBST([USE_HOTPLUG]) m4trace:configure.ac:626: -1- AC_SUBST_TRACE([USE_HOTPLUG]) m4trace:configure.ac:626: -1- m4_pattern_allow([^USE_HOTPLUG$]) m4trace:configure.ac:627: -1- AC_SUBST([USE_UDEV]) m4trace:configure.ac:627: -1- AC_SUBST_TRACE([USE_UDEV]) m4trace:configure.ac:627: -1- m4_pattern_allow([^USE_UDEV$]) m4trace:configure.ac:628: -1- AC_SUBST([UDEV_RULES_FILE]) m4trace:configure.ac:628: -1- AC_SUBST_TRACE([UDEV_RULES_FILE]) m4trace:configure.ac:628: -1- m4_pattern_allow([^UDEV_RULES_FILE$]) m4trace:configure.ac:637: -1- AC_DEFINE_TRACE_LITERAL([DEBUG]) m4trace:configure.ac:637: -1- m4_pattern_allow([^DEBUG$]) m4trace:configure.ac:637: -1- AH_OUTPUT([DEBUG], [/* Define if you want debugging code enabled. */ #undef DEBUG]) m4trace:configure.ac:654: -1- AC_SUBST([cyberjack_ldflags]) m4trace:configure.ac:654: -1- AC_SUBST_TRACE([cyberjack_ldflags]) m4trace:configure.ac:654: -1- m4_pattern_allow([^cyberjack_ldflags$]) m4trace:configure.ac:655: -1- AC_SUBST([cyberjack_libs]) m4trace:configure.ac:655: -1- AC_SUBST_TRACE([cyberjack_libs]) m4trace:configure.ac:655: -1- m4_pattern_allow([^cyberjack_libs$]) m4trace:configure.ac:656: -1- AC_SUBST([cyberjack_internal_libname]) m4trace:configure.ac:656: -1- AC_SUBST_TRACE([cyberjack_internal_libname]) m4trace:configure.ac:656: -1- m4_pattern_allow([^cyberjack_internal_libname$]) m4trace:configure.ac:657: -1- AC_SUBST([cyberjack_pkgincludedir]) m4trace:configure.ac:657: -1- AC_SUBST_TRACE([cyberjack_pkgincludedir]) m4trace:configure.ac:657: -1- m4_pattern_allow([^cyberjack_pkgincludedir$]) m4trace:configure.ac:658: -1- AC_SUBST([cyberjack_plugindir]) m4trace:configure.ac:658: -1- AC_SUBST_TRACE([cyberjack_plugindir]) m4trace:configure.ac:658: -1- m4_pattern_allow([^cyberjack_plugindir$]) m4trace:configure.ac:659: -1- AC_SUBST([cyberjack_headerdir_am]) m4trace:configure.ac:659: -1- AC_SUBST_TRACE([cyberjack_headerdir_am]) m4trace:configure.ac:659: -1- m4_pattern_allow([^cyberjack_headerdir_am$]) m4trace:configure.ac:660: -1- AC_SUBST([cyberjack_headerdir]) m4trace:configure.ac:660: -1- AC_SUBST_TRACE([cyberjack_headerdir]) m4trace:configure.ac:660: -1- m4_pattern_allow([^cyberjack_headerdir$]) m4trace:configure.ac:667: -1- AC_CONFIG_FILES([Makefile cjeca32/Makefile cjeca32/ausb/Makefile ifd/Makefile ifd/Info.plist libcyberjack/Makefile libcyberjack/libdialog/Makefile libcyberjack/libdialog/base/Makefile libcyberjack/checksuite/Makefile tools/Makefile tools/cjflash/Makefile tools/cjgeldkarte/Makefile tools/cyberjack/Makefile tools/cyberjack/scripts/Makefile tools/cjBingo/Makefile tools/fxcyberjack/Makefile tools/fxcyberjack/icons/Makefile tools/fxcyberjack/diag/Makefile tools/fox-dialog/Makefile tools/mac-ui-helper/Makefile include/Makefile include/macosx/Makefile include/macosx/PCSC/Makefile m4/Makefile etc/Makefile ifd-cyberjack.spec doc/Makefile ]) m4trace:configure.ac:695: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([LIB@&t@OBJS]) m4trace:configure.ac:695: -1- m4_pattern_allow([^LIB@&t@OBJS$]) m4trace:configure.ac:695: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([LTLIBOBJS]) m4trace:configure.ac:695: -1- m4_pattern_allow([^LTLIBOBJS$]) m4trace:configure.ac:695: -1- AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"]) m4trace:configure.ac:695: -1- AC_SUBST([am__EXEEXT_TRUE]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([am__EXEEXT_TRUE]) m4trace:configure.ac:695: -1- m4_pattern_allow([^am__EXEEXT_TRUE$]) m4trace:configure.ac:695: -1- AC_SUBST([am__EXEEXT_FALSE]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([am__EXEEXT_FALSE]) m4trace:configure.ac:695: -1- m4_pattern_allow([^am__EXEEXT_FALSE$]) m4trace:configure.ac:695: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_TRUE]) m4trace:configure.ac:695: -1- _AM_SUBST_NOTMAKE([am__EXEEXT_FALSE]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([top_builddir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([top_build_prefix]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([srcdir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([abs_srcdir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([top_srcdir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([abs_top_srcdir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([builddir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([abs_builddir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([abs_top_builddir]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([INSTALL]) m4trace:configure.ac:695: -1- AC_SUBST_TRACE([MKDIR_P]) m4trace:configure.ac:695: -1- AC_REQUIRE_AUX_FILE([ltmain.sh]) pcsc-cyberjack-3.99.5final.SP03/autom4te.cache/output.10000644000175000001440000233370111660201014021140 0ustar sctusers@%:@! /bin/sh @%:@ Guess values for system-dependent variables and create Makefiles. @%:@ Generated by GNU Autoconf 2.63. @%:@ @%:@ Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @%:@ 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @%:@ This configure script is free software; the Free Software Foundation @%:@ gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # 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.) 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 $as_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. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # 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 || $as_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=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _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=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_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 bug-autoconf@gnu.org about your system, echo including any error possibly output before this message. echo This can help us improve future autoconf versions. echo Configuration will now proceed without shell functions. } 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" || { $as_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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -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 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$lt_ECHO in X*--fallback-echo) # Remove one level of quotation (which was required for Make). ECHO=`echo "$lt_ECHO" | sed 's,\\\\\$\\$0,'$0','` ;; esac ECHO=${lt_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 <<_LT_EOF $* _LT_EOF exit 0 fi # 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 if test -z "$lt_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 && { 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. lt_ECHO=$ECHO if test "X$lt_ECHO" = "X$CONFIG_SHELL $0 --fallback-echo"; then lt_ECHO="$CONFIG_SHELL \\\$\$0 --fallback-echo" fi 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=. LIB@&t@OBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME= PACKAGE_TARNAME= PACKAGE_VERSION= PACKAGE_STRING= PACKAGE_BUGREPORT= ac_unique_file="cjeca32/BaseCommunication.cpp" ac_default_prefix=/usr # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIB@&t@OBJS cyberjack_headerdir cyberjack_headerdir_am cyberjack_plugindir cyberjack_pkgincludedir cyberjack_internal_libname cyberjack_libs cyberjack_ldflags UDEV_RULES_FILE USE_UDEV USE_HOTPLUG ETC_SUBDIRS RPM_PCSC_DROPDIR RPM_DIST_VER RPM_DIST_TAG RPM_DIST_NAME visibility_cflags THREAD_LIBS USE_THREADS STRIPALL WITH_FOX_FALSE WITH_FOX_TRUE fox_includes fox_libs USE_XML2_FALSE USE_XML2_TRUE libxml2_includes libxml2_libs usbdropdir cyberjack_ifd_filename USE_PCSC_FALSE USE_PCSC_TRUE pcsc_lib pcsc_libraries pcsc_includes hal_includes hal_libs hal_LIBS hal_CFLAGS libusb_libs libusb_includes libusb_LIBS libusb_CFLAGS PKG_CONFIG enable_nonserial ENABLE_NONSERIAL_FALSE ENABLE_NONSERIAL_TRUE IOKIT_FRAMEWORK SYSCONF_FRAMEWORK FOUNDATION_FRAMEWORK COCOA_FRAMEWORK cyberjack_platform_def cyberjack_config_file cyberjack_sys_is_windows IS_LINUX_FALSE IS_LINUX_TRUE IS_OSX_FALSE IS_OSX_TRUE IS_WINDOWS_FALSE IS_WINDOWS_TRUE dl_libs CXXCPP CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL lt_ECHO RANLIB AR LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL OBJDUMP DLLTOOL AS am__fastdepOBJC_FALSE am__fastdepOBJC_TRUE OBJCDEPMODE ac_ct_OBJC OBJCFLAGS OBJC am__fastdepCXX_FALSE am__fastdepCXX_TRUE CXXDEPMODE ac_ct_CXX CXXFLAGS CXX am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC INSTALL_DLL_TARGET MAKE_DLL_TARGET OS_TYPE OSYSTEM am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM CYBERJACK_SO_EFFECTIVE CYBERJACK_SO_AGE CYBERJACK_SO_REVISION CYBERJACK_SO_CURRENT CYBERJACK_VERSION_RELEASE_STRING CYBERJACK_VERSION_STRING CYBERJACK_VERSION_FULL_STRING CYBERJACK_VERSION_TAG CYBERJACK_VERSION_BUILD CYBERJACK_VERSION_PATCHLEVEL CYBERJACK_VERSION_MINOR CYBERJACK_VERSION_MAJOR target_os target_vendor target_cpu target host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_static enable_shared enable_dependency_tracking with_pic enable_fast_install with_gnu_ld enable_libtool_lock enable_mac_universal enable_nonserial enable_hal enable_pcsc with_pcsc_includes with_pcsc_libname with_pcsc_libs with_usbdropdir enable_xml2 with_xml2_includes with_xml2_libs enable_fox with_fox_includes with_fox_libs enable_release enable_threads enable_udev enable_visibility enable_debug enable_warnings enable_error_on_warning ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC OBJC OBJCFLAGS CPP CXXCPP PKG_CONFIG libusb_CFLAGS libusb_LIBS hal_CFLAGS hal_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE}' 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_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid feature name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && { $as_echo "$as_me: error: invalid package name: $ac_useropt" >&2 { (exit 1); exit 1; }; } ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { $as_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 && { $as_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. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { $as_echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) { $as_echo "$as_me: error: unrecognized options: $ac_unrecognized_opts" >&2 { (exit 1); exit 1; }; } ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { $as_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 $as_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 .` || { $as_echo "$as_me: error: working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { $as_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 -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { $as_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" || { $as_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 this package to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] 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/PACKAGE@:>@ --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 cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-static@<:@=PKGS@:>@ build static libraries @<:@default=no@:>@ --enable-shared@<:@=PKGS@:>@ build shared libraries @<:@default=yes@:>@ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-fast-install@<:@=PKGS@:>@ optimize for fast installation @<:@default=yes@:>@ --disable-libtool-lock avoid locking (might break parallel builds) --enable-mac-universal Build Mac universal binaries --enable-nonserial enable non-serial (default=yes) --enable-hal enable HAL support (default=yes) --enable-pcsc enable PC/SC driver (default=yes) --enable-xml2 enable xml2 (default=yes) --enable-fox enable fox (default=yes) --enable-release make this an official release (default=no) --enable-threads enable threads (default=no) --enable-udev create udev files --enable-visibility enable visibility (default=no) --enable-debug compile with debugging code enabled, default=no --enable-warnings enable compilation warnings, default=yes --enable-error-on-warning treat all compile warnings as errors, default=no Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic try to use only PIC/non-PIC objects @<:@default=use both@:>@ --with-gnu-ld assume the C compiler uses GNU ld @<:@default=no@:>@ --with-pcsc-includes=DIR adds pcsc include path --with-pcsc-libname=NAME specify the name of the pcsc library --with-pcsc-libs=DIR adds pcsc library path --with-usbdropdir pcsc bundle location --with-xml2-includes=DIR uses xml2 includes from given dir --with-xml2-libs=SPEC uses given xml2 libs --with-fox-includes=DIR uses fox includes from given dir --with-fox-libs=SPEC uses given fox libs 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 OBJC Objective C compiler command OBJCFLAGS Objective C compiler flags CPP C preprocessor CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility libusb_CFLAGS C compiler flags for libusb, overriding pkg-config libusb_LIBS linker flags for libusb, overriding pkg-config hal_CFLAGS C compiler flags for hal, overriding pkg-config hal_LIBS linker flags for hal, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF configure generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 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 $as_me, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME @%:@@%:@ --------- @%:@@%:@ @%:@@%:@ Platform. @%:@@%:@ @%:@@%:@ --------- @%:@@%:@ hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF @%:@@%:@ ----------- @%:@@%:@ @%:@@%:@ Core tests. @%:@@%:@ @%:@@%:@ ----------- @%:@@%:@ _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) 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_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_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 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (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 an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then ac_site_file1=$CONFIG_SITE elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test -r "$ac_site_file"; then { $as_echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" 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 { $as_echo "$as_me:$LINENO: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:$LINENO: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:$LINENO: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:$LINENO: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:$LINENO: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { $as_echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 $as_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 || { { $as_echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 $as_echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if test "${ac_cv_build+set}" = set; then $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { $as_echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 $as_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` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 $as_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 { $as_echo "$as_me:$LINENO: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if test "${ac_cv_host+set}" = set; then $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 $as_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 { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } if test "${ac_cv_target+set}" = set; then $as_echo_n "(cached) " >&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` || { { $as_echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 $as_echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_target" >&5 $as_echo "$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { $as_echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 $as_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}- ac_config_headers="$ac_config_headers config.h" ###------------------------------------------------------------------------- # # versions # CYBERJACK_VERSION_MAJOR=3 CYBERJACK_VERSION_MINOR=99 CYBERJACK_VERSION_PATCHLEVEL=5 CYBERJACK_VERSION_BUILD=0 CYBERJACK_VERSION_TAG="final.SP03" CYBERJACK_VERSION_FULL_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL-${CYBERJACK_VERSION_TAG}-r${CYBERJACK_VERSION_BUILD}" CYBERJACK_VERSION_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ###------------------------------------------------------------------------- # # SO version for cyberjack library # CYBERJACK_SO_CURRENT="6" CYBERJACK_SO_AGE="0" CYBERJACK_SO_REVISION="0" CYBERJACK_SO_EFFECTIVE="`echo \$(($CYBERJACK_SO_CURRENT-$CYBERJACK_SO_AGE))`" ###------------------------------------------------------------------------- # # Create release strings # case "$CYBERJACK_VERSION_TAG" in cvs|svn|git) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL.r${CYBERJACK_VERSION_BUILD}" ;; stable) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL" ;; *) CYBERJACK_VERSION_RELEASE_STRING="$CYBERJACK_VERSION_MAJOR.$CYBERJACK_VERSION_MINOR.$CYBERJACK_VERSION_PATCHLEVEL${CYBERJACK_VERSION_TAG}" ;; esac cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_MAJOR $CYBERJACK_VERSION_MAJOR _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_MINOR $CYBERJACK_VERSION_MINOR _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_PATCHLEVEL $CYBERJACK_VERSION_PATCHLEVEL _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_BUILD $CYBERJACK_VERSION_BUILD _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_STRING "$CYBERJACK_VERSION_STRING" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_FULL_STRING "$CYBERJACK_VERSION_FULL_STRING" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define CYBERJACK_VERSION_TAG "$CYBERJACK_VERSION_TAG" _ACEOF am__api_version='1.11' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { 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 rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:$LINENO: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) { { $as_echo "$as_me:$LINENO: error: unsafe absolute working directory name" >&5 $as_echo "$as_me: error: unsafe absolute working directory name" >&2;} { (exit 1); exit 1; }; };; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) { { $as_echo "$as_me:$LINENO: error: unsafe srcdir value: \`$srcdir'" >&5 $as_echo "$as_me: error: unsafe srcdir value: \`$srcdir'" >&2;} { (exit 1); exit 1; }; };; esac # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( 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". { { $as_echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 $as_echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "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 $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { $as_echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { 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 { $as_echo "$as_me:$LINENO: result: $MKDIR_P" >&5 $as_echo "$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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { $as_echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 $as_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=ifd-cyberjack VERSION=$CYBERJACK_VERSION_RELEASE_STRING 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"} # 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 -' ###------------------------------------------------------------------------- # check for OS # check for OS { $as_echo "$as_me:$LINENO: checking target system type" >&5 $as_echo_n "checking target system type... " >&6; } OSYSTEM="" OS_TYPE="" MAKE_DLL_TARGET="" INSTALL_DLL_TARGET="" cat >>confdefs.h <<_ACEOF @%:@define OS_NAME "$target" _ACEOF case "$target" in *-linux*) OSYSTEM="linux" cat >>confdefs.h <<\_ACEOF @%:@define OS_LINUX 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-solaris*) OSYSTEM="solaris" cat >>confdefs.h <<\_ACEOF @%:@define OS_SOLARIS 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-darwin*) OSYSTEM="osx" cat >>confdefs.h <<\_ACEOF @%:@define OS_DARWIN 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-openbsd*) OSYSTEM="openbsd" cat >>confdefs.h <<\_ACEOF @%:@define OS_OPENBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-freebsd*) OSYSTEM="freebsd" cat >>confdefs.h <<\_ACEOF @%:@define OS_FREEBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-netbsd*) OSYSTEM="netbsd" cat >>confdefs.h <<\_ACEOF @%:@define OS_NETBSD 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-beos*) OSYSTEM="beos" cat >>confdefs.h <<\_ACEOF @%:@define OS_BEOS 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF OS_TYPE="posix" ;; *-win32*) OSYSTEM="windows" cat >>confdefs.h <<\_ACEOF @%:@define OS_WIN32 1 _ACEOF OS_TYPE="windows" cat >>confdefs.h <<_ACEOF @%:@define BUILDING_DLL 1 _ACEOF MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-mingw32*) OSYSTEM="windows" cat >>confdefs.h <<\_ACEOF @%:@define OS_WIN32 1 _ACEOF OS_TYPE="windows" cat >>confdefs.h <<_ACEOF @%:@define BUILDING_DLL 1 _ACEOF MAKE_DLL_TARGET="dll" INSTALL_DLL_TARGET="dll-install" ;; *-palmos*) OSYSTEM="palmos" cat >>confdefs.h <<\_ACEOF @%:@define OS_PALMOS 1 _ACEOF OS_TYPE="palmos" ;; *) { $as_echo "$as_me:$LINENO: WARNING: Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue." >&5 $as_echo "$as_me: WARNING: Sorry, but target $target is not supported. Please report if it works anyway. We will assume that your system is a posix system and continue." >&2;} OSYSTEM="unknown" OS_TYPE="posix" cat >>confdefs.h <<\_ACEOF @%:@define OS_POSIX 1 _ACEOF ;; esac cat >>confdefs.h <<_ACEOF @%:@define OS_SHORTNAME "$OSYSTEM" _ACEOF cat >>confdefs.h <<_ACEOF @%:@define OS_TYPE "$OS_TYPE" _ACEOF { $as_echo "$as_me:$LINENO: result: $OS_TYPE" >&5 $as_echo "$OS_TYPE" >&6; } ###------------------------------------------------------------------------- # prefix handling if test "x$prefix" = "xNONE"; then prefix=$ac_default_prefix ac_configure_args="$ac_configure_args --prefix $prefix" fi ###------------------------------------------------------------------------- # # static/shared handling # @%:@ 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=no fi @%:@ 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 ###------------------------------------------------------------------------- # # Checks for programs. # ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 $as_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. $as_echo "$as_me:$LINENO: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_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.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_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 | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { $as_echo "$as_me:$LINENO: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } if test -z "$ac_file"; then $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 $as_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. { $as_echo "$as_me:$LINENO: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } rm -f -r a.out a.out.dSYM 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. { $as_echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } { $as_echo "$as_me:$LINENO: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } { $as_echo "$as_me:$LINENO: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { $as_echo "$as_me:$LINENO: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if test "${ac_cv_objext+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_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 | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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) { $as_echo "$as_me:$LINENO: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:$LINENO: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$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 this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from `make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:$LINENO: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf @%:@ Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=m ac_cpp='$OBJCPP $CPPFLAGS' ac_compile='$OBJC -c $OBJCFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$OBJC -o conftest$ac_exeext $OBJCFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_objc_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in gcc objcc objc cc CC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJC"; then ac_cv_prog_OBJC="$OBJC" # 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_OBJC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJC=$ac_cv_prog_OBJC if test -n "$OBJC"; then { $as_echo "$as_me:$LINENO: result: $OBJC" >&5 $as_echo "$OBJC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$OBJC" && break done fi if test -z "$OBJC"; then ac_ct_OBJC=$OBJC for ac_prog in gcc objcc objc cc CC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJC+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJC"; then ac_cv_prog_ac_ct_OBJC="$ac_ct_OBJC" # 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_OBJC="$ac_prog" $as_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_OBJC=$ac_cv_prog_ac_ct_OBJC if test -n "$ac_ct_OBJC"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJC" >&5 $as_echo "$ac_ct_OBJC" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_OBJC" && break done if test "x$ac_ct_OBJC" = x; then OBJC="gcc" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJC=$ac_ct_OBJC fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for Objective C compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU Objective C compiler" >&5 $as_echo_n "checking whether we are using the GNU Objective C compiler... " >&6; } if test "${ac_cv_objc_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else $as_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_objc_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:$LINENO: result: $ac_cv_objc_compiler_gnu" >&5 $as_echo "$ac_cv_objc_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GOBJC=yes else GOBJC= fi ac_test_OBJCFLAGS=${OBJCFLAGS+set} ac_save_OBJCFLAGS=$OBJCFLAGS { $as_echo "$as_me:$LINENO: checking whether $OBJC accepts -g" >&5 $as_echo_n "checking whether $OBJC accepts -g... " >&6; } if test "${ac_cv_prog_objc_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_objc_werror_flag=$ac_objc_werror_flag ac_objc_werror_flag=yes ac_cv_prog_objc_g=no OBJCFLAGS="-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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_objc_g=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 OBJCFLAGS="" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_objc_werror_flag=$ac_save_objc_werror_flag OBJCFLAGS="-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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_objc_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_objc_g=yes else $as_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_objc_werror_flag=$ac_save_objc_werror_flag fi { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_objc_g" >&5 $as_echo "$ac_cv_prog_objc_g" >&6; } if test "$ac_test_OBJCFLAGS" = set; then OBJCFLAGS=$ac_save_OBJCFLAGS elif test $ac_cv_prog_objc_g = yes; then if test "$GOBJC" = yes; then OBJCFLAGS="-g -O2" else OBJCFLAGS="-g" fi else if test "$GOBJC" = yes; then OBJCFLAGS="-O2" else OBJCFLAGS= 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="$OBJC" am_compiler_list='gcc3 gcc' { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_OBJC_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. 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_OBJC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false 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 # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_OBJC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_OBJC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_OBJC_dependencies_compiler_type" >&5 $as_echo "$am_cv_OBJC_dependencies_compiler_type" >&6; } OBJCDEPMODE=depmode=$am_cv_OBJC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_OBJC_dependencies_compiler_type" = gcc3; then am__fastdepOBJC_TRUE= am__fastdepOBJC_FALSE='#' else am__fastdepOBJC_TRUE='#' am__fastdepOBJC_FALSE= fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { 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 rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. set dummy ${ac_tool_prefix}as; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AS+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AS"; then ac_cv_prog_AS="$AS" # 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_AS="${ac_tool_prefix}as" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AS=$ac_cv_prog_AS if test -n "$AS"; then { $as_echo "$as_me:$LINENO: result: $AS" >&5 $as_echo "$AS" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_AS"; then ac_ct_AS=$AS # Extract the first word of "as", so it can be a program name with args. set dummy as; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AS+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AS"; then ac_cv_prog_ac_ct_AS="$ac_ct_AS" # 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_AS="as" $as_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_AS=$ac_cv_prog_ac_ct_AS if test -n "$ac_ct_AS"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_AS" >&5 $as_echo "$ac_ct_AS" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AS" = x; then AS="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AS=$ac_ct_AS fi else AS="$ac_cv_prog_AS" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DLLTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:$LINENO: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DLLTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DLLTOOL="dlltool" $as_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_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OBJDUMP="objdump" $as_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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi ;; esac test -z "$AS" && AS=as test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$OBJDUMP" && OBJDUMP=objdump case `pwd` in *\ * | *\ *) { $as_echo "$as_me:$LINENO: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.2.6' macro_revision='1.3012' ltmain="$ac_aux_dir/ltmain.sh" { $as_echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if test "${ac_cv_path_SED+set}" = set; then $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed $as_unset ac_script || ac_script= if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_SED" && $as_test_x "$ac_path_SED"; } || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then { { $as_echo "$as_me:$LINENO: error: no acceptable sed could be found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable sed could be found in \$PATH" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if test "${ac_cv_path_GREP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 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 if test -z "$ac_cv_path_GREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:$LINENO: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if test "${ac_cv_path_EGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { 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 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break 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 if test -z "$ac_cv_path_EGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable egrep 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:$LINENO: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if test "${ac_cv_path_FGREP+set}" = set; then $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_FGREP" && $as_test_x "$ac_path_FGREP"; } || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then { { $as_echo "$as_me:$LINENO: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 $as_echo "$as_me: error: no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep @%:@ Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:$LINENO: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if test "${lt_cv_path_NM+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$ac_tool_prefix"; then for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in "dumpbin -symbols" "link -dump -symbols" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DUMPBIN+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DUMPBIN="$ac_prog" $as_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_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:$LINENO: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if test "${lt_cv_nm_interface+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:__oline__: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:$LINENO: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; 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 # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`$SHELL $0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ = "XX$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:$LINENO: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:$LINENO: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:$LINENO: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:$LINENO: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:$LINENO: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OBJDUMP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OBJDUMP="objdump" $as_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_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. 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 ;; cegcc) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; 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*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$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 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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "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 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi test -z "$AR" && AR=ar test -z "$AR_FLAGS" && AR_FLAGS=cru if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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=$? $as_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 <<_LT_EOF > conftest.$ac_ext #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ const struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_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=$? $as_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 -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:$LINENO: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:$LINENO: result: ok" >&5 $as_echo "ok" >&6; } fi @%:@ 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=$? $as_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 __oline__ "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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*|s390*-*tpf*|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=$? $as_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*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_cc_needs_belf=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; 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=$? $as_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" ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_DSYMUTIL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_DSYMUTIL="dsymutil" $as_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_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_NMEDIT+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_NMEDIT="nmedit" $as_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_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:$LINENO: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_LIPO+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_LIPO="lipo" $as_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_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:$LINENO: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OTOOL="otool" $as_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_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_OTOOL64+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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_OTOOL64="otool64" $as_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_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:$LINENO: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:$LINENO: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if test "${lt_cv_apple_cc_single_mod+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:$LINENO: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:$LINENO: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if test "${lt_cv_ld_exported_symbols_list+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then lt_cv_ld_exported_symbols_list=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_ld_exported_symbols_list=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; 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 { $as_echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { { $as_echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 $as_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 { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$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=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:$LINENO: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { $as_echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { $as_echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvisualcpp | msvcmsys) # This compiler won't grok `-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { $as_echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 $as_echo "$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} _lt_caught_CXX_error=yes; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu else _lt_caught_CXX_error=yes fi # Set options enable_dlopen=no @%:@ 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 @%:@ Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:$LINENO: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if test "${lt_cv_objdir+set}" = set; then $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF @%:@define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:$LINENO: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { $as_echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:__oline__: \$? = $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 { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; 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' ;; xl*) # IBM XL C 8.0/Fortran 10.1 on PPC lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) 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 ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic@&t@ -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 $as_echo "$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if test "${lt_cv_prog_compiler_pic_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic@&t@ -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:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:__oline__: \$? = $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_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "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_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; 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>&1` 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 aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.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. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag= tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $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' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; 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' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld='-rpath $libdir' archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $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 ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $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 ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm 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].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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 "X${wl}${allow_undefined_flag}" | $Xsed; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. 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 "X$deplibs" | $Xsed -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*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; 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_flag_spec_ld='+b $libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -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 -fPIC ${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_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat >conftest.$ac_ext <<_ACEOF int foo(void) {} _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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:$LINENO: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&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=$? $as_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=$? $as_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* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 $as_echo "$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac 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 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' ;; aix[4-9]*) 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*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' ;; esac ;; 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* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # 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}${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 # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then shlibpath_overrides_runpath=yes fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # 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' ;; 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=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux 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 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 shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:$LINENO: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""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 ;; *) { $as_echo "$as_me:$LINENO: checking for shl_load" >&5 $as_echo_n "checking for shl_load... " >&6; } if test "${ac_cv_func_shl_load+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 $as_echo "$ac_cv_func_shl_load" >&6; } if test "x$ac_cv_func_shl_load" = x""yes; then lt_cv_dlopen="shl_load" else { $as_echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_shl_load=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = x""yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else { $as_echo "$as_me:$LINENO: checking for dlopen" >&5 $as_echo_n "checking for dlopen... " >&6; } if test "${ac_cv_func_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_func_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 $as_echo "$ac_cv_func_dlopen" >&6; } if test "x$ac_cv_func_dlopen" = x""yes; then lt_cv_dlopen="dlopen" else { $as_echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dl_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_svld_dlopen=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = x""yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_lib_dld_dld_link=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -rf conftest.dSYM 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 { $as_echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = x""yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif 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 ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_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 { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line __oline__ "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif 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 ()); return status; } _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? $as_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 { $as_echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:$LINENO: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:$LINENO: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:$LINENO: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:$LINENO: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= compiler_needs_object_CXX=no export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_direct_absolute_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no inherit_rpath_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_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-%%"` if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration @%:@ Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:$LINENO: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:$LINENO: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:$LINENO: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if test "${lt_cv_path_LD+set}" = set; then $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && { { $as_echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 $as_echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { $as_echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then archive_cmds_CXX='$CC -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 { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_direct_absolute_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes file_list_spec_CXX='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct_CXX=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec_CXX='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. always_export_symbols_CXX=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty # executable. 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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 "X${wl}${allow_undefined_flag}" | $Xsed; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $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 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM 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* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' 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*) 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 allow_undefined_flag_CXX="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=echo archive_cmds_CXX="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds_CXX="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds_CXX="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" if test "$lt_cv_apple_cc_single_mod" != "yes"; then archive_cmds_CXX="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" archive_expsym_cmds_CXX="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi else ld_shlibs_CXX=no fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; 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) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) 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_direct_absolute_CXX=yes hardcode_minus_L_CXX=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' ;; *) 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 "X-set_version $verstring" | $Xsed` -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 "X${wl}-set_version ${wl}$verstring" | $Xsed` ${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 "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: inherit_rpath_CXX=yes ;; linux* | k*bsd*-gnu) 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 "X$list" | $Xsed' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [1-5]* | *pgcpp\ [1-5]*) prelink_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' old_archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ $RANLIB $oldlib' archive_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 will use weak symbols archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $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 "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; xl*) # IBM XL 8.0 on PPC, with GNU ld hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' archive_cmds_CXX='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds_CXX='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object_CXX=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='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*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) ld_shlibs_CXX=yes ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no hardcode_direct_absolute_CXX=yes archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=echo else ld_shlibs_CXX=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; *) old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) case $host in osf3*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' ;; *) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -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 "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' ;; esac hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "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 "X$list" | $Xsed' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) 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" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-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. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-R,$libdir' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_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 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 compiler_lib_search_dirs_CXX= if test -n "${compiler_lib_search_path_CXX}"; then compiler_lib_search_dirs_CXX=`echo " ${compiler_lib_search_path_CXX}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { $as_echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&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*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic_CXX='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; *) lt_prog_compiler_pic_CXX='-fPIC' ;; esac else case $host_os in aix[4-9]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, CXX)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; 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' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; xlc* | xlC*) # IBM XL 8.0 on PPC lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-qpic' lt_prog_compiler_static_CXX='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic_CXX='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX@&t@ -DPIC" ;; esac { $as_echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 $as_echo "$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { $as_echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... " >&6; } if test "${lt_cv_prog_compiler_pic_works_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX@&t@ -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:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:__oline__: \$? = $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_pic_works_CXX=yes fi fi $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_pic_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { $as_echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if test "${lt_cv_prog_compiler_static_works_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "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_cv_prog_compiler_static_works_CXX=yes fi else lt_cv_prog_compiler_static_works_CXX=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_static_works_CXX" >&5 $as_echo "$lt_cv_prog_compiler_static_works_CXX" >&6; } if test x"$lt_cv_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } { $as_echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o_CXX=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:__oline__: \$? = $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 .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 $as_echo "$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:$LINENO: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' case $host_os in aix[4-9]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm 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* | cegcc*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac exclude_expsyms_CXX='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' { $as_echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 $as_echo "$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no with_gnu_ld_CXX=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&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=$? $as_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=$? $as_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* { $as_echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 $as_echo "$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { $as_echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' ;; esac ;; 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* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$host_os in yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" ;; mingw* | cegcc*) # 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}${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 # Some binutils ld are patched to set DT_RUNPATH save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl_CXX\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec_CXX\"" 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then shlibpath_overrides_runpath=yes fi else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir # 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' ;; 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=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux 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 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 shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:$LINENO: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || test -n "$runpath_var_CXX" || test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct_CXX" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { $as_echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 $as_echo "$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = relink || test "$inherit_rpath_CXX" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi fi # test -n "$compiler" CC=$lt_save_CC LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_commands="$ac_config_commands libtool" # Only expand once: for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { 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" $as_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 { $as_echo "$as_me:$LINENO: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_prog_SED+set}" = set; then $as_echo_n "(cached) " >&6 else if test -n "$SED"; then ac_cv_prog_SED="$SED" # 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_SED="sed" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi SED=$ac_cv_prog_SED if test -n "$SED"; then { $as_echo "$as_me:$LINENO: result: $SED" >&5 $as_echo "$SED" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi ACX_PTHREAD ###------------------------------------------------------------------------- # # Search for dlopen # LIBS="" { $as_echo "$as_me:$LINENO: checking for library containing dlopen" >&5 $as_echo_n "checking for library containing dlopen... " >&6; } if test "${ac_cv_search_dlopen+set}" = set; then $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$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 for ac_lib in '' c dl; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then ac_cv_search_dlopen=$ac_res else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext if test "${ac_cv_search_dlopen+set}" = set; then break fi done if test "${ac_cv_search_dlopen+set}" = set; then : else ac_cv_search_dlopen=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:$LINENO: result: $ac_cv_search_dlopen" >&5 $as_echo "$ac_cv_search_dlopen" >&6; } ac_res=$ac_cv_search_dlopen if test "$ac_res" != no; then test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" have_dlopen="yes" else have_dlopen="no" fi if test "x${have_dlopen}" != "xyes"; then { { $as_echo "$as_me:$LINENO: error: *** You are missing support for dynamic loading of modules. *** Therefore cjgeldkarte will not work." >&5 $as_echo "$as_me: error: *** You are missing support for dynamic loading of modules. *** Therefore cjgeldkarte will not work." >&2;} { (exit 1); exit 1; }; } else cat >>confdefs.h <<\_ACEOF @%:@define WITH_DLLIB 1 _ACEOF cat >>confdefs.h <<\_ACEOF @%:@define HAS_DLOPEN 1 _ACEOF if test "$LIBS" = "-lc"; then LIBS="" fi dl_libs="$LIBS" LIBS="" fi ###------------------------------------------------------------------------- # # Checks for header files. # { $as_echo "$as_me:$LINENO: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if test "${ac_cv_header_stdc+set}" = set; then $as_echo_n "(cached) " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$ac_try_echo") >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -rf conftest.dSYM rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { $as_echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF @%:@define STDC_HEADERS 1 _ACEOF fi #AC_CHECK_HEADERS([regex.h]) for ac_header in pthread.h do as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:$LINENO: checking $ac_header usability" >&5 $as_echo_n "checking $ac_header usability... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:$LINENO: checking $ac_header presence" >&5 $as_echo_n "checking $ac_header presence... " >&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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 $as_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 { $as_echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { $as_echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 $as_echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { $as_echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 $as_echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { $as_echo "$as_me:$LINENO: checking for $ac_header" >&5 $as_echo_n "checking for $ac_header... " >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then $as_echo_n "(cached) " >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` { $as_echo "$as_me:$LINENO: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi as_val=`eval 'as_val=${'$as_ac_Header'} $as_echo "$as_val"'` if test "x$as_val" = x""yes; then cat >>confdefs.h <<_ACEOF @%:@define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done ###------------------------------------------------------------------------- # # Checks for typedefs, structures, and compiler characteristics. # { $as_echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if test "${ac_cv_c_const+set}" = set; then $as_echo_n "(cached) " >&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 () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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_c_const=yes else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF @%:@define const /**/ _ACEOF fi ###------------------------------------------------------------------------- # # Checks for library functions. # ###------------------------------------------------------------------------- # # OS dependant settings # cyberjack_ldflags="-L\${libdir}" cyberjack_libs="-lcyberjack" cyberjack_internal_libname="libctapi-cyberjack.la" cyberjack_headerdir_am="\$(includedir)" cyberjack_headerdir="\${includedir}" cyberjack_config_file="\${sysconfdir}/cyberjack.conf" case "$OS_TYPE" in windows) cyberjack_sys_is_windows=1 ;; *) cyberjack_sys_is_windows=0 ;; esac if test "$OSYSTEM" = "osx"; then COCOA_FRAMEWORK="-framework Cocoa" FOUNDATION_FRAMEWORK="-framework CoreFoundation" SYSCONF_FRAMEWORK="-framework SystemConfiguration" IOKIT_FRAMEWORK="-framework IOKit" cyberjack_config_file="/etc/cyberjack.conf" fi if test "$OS_TYPE" = "windows"; then IS_WINDOWS_TRUE= IS_WINDOWS_FALSE='#' else IS_WINDOWS_TRUE='#' IS_WINDOWS_FALSE= fi if test "$OSYSTEM" = "osx"; then IS_OSX_TRUE= IS_OSX_FALSE='#' else IS_OSX_TRUE='#' IS_OSX_FALSE= fi if test "$OSYSTEM" = "linux"; then IS_LINUX_TRUE= IS_LINUX_FALSE='#' else IS_LINUX_TRUE='#' IS_LINUX_FALSE= fi ###------------------------------------------------------------------------- { $as_echo "$as_me:$LINENO: checking whether non-serial access is wanted" >&5 $as_echo_n "checking whether non-serial access is wanted... " >&6; } @%:@ Check whether --enable-mac-universal was given. if test "${enable_mac_universal+set}" = set; then enableval=$enable_mac_universal; enable_mac_universal=$enableval else enable_mac_universal="no" fi # # check for disable-nonserial # { $as_echo "$as_me:$LINENO: checking whether non-serial access is wanted" >&5 $as_echo_n "checking whether non-serial access is wanted... " >&6; } @%:@ Check whether --enable-nonserial was given. if test "${enable_nonserial+set}" = set; then enableval=$enable_nonserial; case "${enableval}" in yes) enable_nonserial="yes";; no) enable_nonserial="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-nonserial" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-nonserial" >&2;} { (exit 1); exit 1; }; };; esac else enable_nonserial="yes" fi if test "$enable_nonserial" = "yes"; then cat >>confdefs.h <<\_ACEOF @%:@define ENABLE_NONSERIAL 1 _ACEOF fi if test "$enable_nonserial" = "yes"; then ENABLE_NONSERIAL_TRUE= ENABLE_NONSERIAL_FALSE='#' else ENABLE_NONSERIAL_TRUE='#' ENABLE_NONSERIAL_FALSE= fi { $as_echo "$as_me:$LINENO: result: $enable_nonserial" >&5 $as_echo "$enable_nonserial" >&6; } if test "$enable_nonserial" = "yes"; then ###------------------------------------------------------------------------- # # libUSB-1.0 # pkg_modules="libusb-1.0 >= 1.0.0" if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:$LINENO: checking for libusb" >&5 $as_echo_n "checking for libusb... " >&6; } if test -n "$libusb_CFLAGS"; then pkg_cv_libusb_CFLAGS="$libusb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$libusb_LIBS"; then pkg_cv_libusb_LIBS="$libusb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then libusb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else libusb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$libusb_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_libusb="no" elif test $pkg_failed = untried; then have_libusb="no" else libusb_CFLAGS=$pkg_cv_libusb_CFLAGS libusb_LIBS=$pkg_cv_libusb_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_libusb="yes" fi if test "$have_libusb" = "yes"; then cat >>confdefs.h <<\_ACEOF @%:@define USE_USB1 1 _ACEOF libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else ###------------------------------------------------------------------------- # # libusb-0.x # pkg_modules="libusb < 1.0.0" pkg_failed=no { $as_echo "$as_me:$LINENO: checking for libusb" >&5 $as_echo_n "checking for libusb... " >&6; } if test -n "$libusb_CFLAGS"; then pkg_cv_libusb_CFLAGS="$libusb_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$libusb_LIBS"; then pkg_cv_libusb_LIBS="$libusb_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_libusb_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then libusb_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else libusb_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$libusb_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_libusb="no" elif test $pkg_failed = untried; then have_libusb="no" else libusb_CFLAGS=$pkg_cv_libusb_CFLAGS libusb_LIBS=$pkg_cv_libusb_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_libusb="yes" fi if test "$have_libusb" = "yes"; then libusb_includes="$libusb_CFLAGS" libusb_libs="$libusb_LIBS" else { { $as_echo "$as_me:$LINENO: error: *** LibUSB not found, please install the packages libusb and *** libusb-devel (or libusb-dev on Debian)." >&5 $as_echo "$as_me: error: *** LibUSB not found, please install the packages libusb and *** libusb-devel (or libusb-dev on Debian)." >&2;} { (exit 1); exit 1; }; } fi fi ###------------------------------------------------------------------------- # # HAL # { $as_echo "$as_me:$LINENO: checking if HAL support desired" >&5 $as_echo_n "checking if HAL support desired... " >&6; } @%:@ Check whether --enable-hal was given. if test "${enable_hal+set}" = set; then enableval=$enable_hal; enable_hal="$enableval" else enable_hal="no" fi { $as_echo "$as_me:$LINENO: result: $enable_hal" >&5 $as_echo "$enable_hal" >&6; } if test "$enable_hal" = "yes"; then pkg_modules="hal >= 0.5.0" pkg_failed=no { $as_echo "$as_me:$LINENO: checking for hal" >&5 $as_echo_n "checking for hal... " >&6; } if test -n "$hal_CFLAGS"; then pkg_cv_hal_CFLAGS="$hal_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_hal_CFLAGS=`$PKG_CONFIG --cflags "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$hal_LIBS"; then pkg_cv_hal_LIBS="$hal_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"\$pkg_modules\"") >&5 ($PKG_CONFIG --exists --print-errors "$pkg_modules") 2>&5 ac_status=$? $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_hal_LIBS=`$PKG_CONFIG --libs "$pkg_modules" 2>/dev/null` else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then hal_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors "$pkg_modules" 2>&1` else hal_PKG_ERRORS=`$PKG_CONFIG --print-errors "$pkg_modules" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$hal_PKG_ERRORS" >&5 { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } have_hal="no" elif test $pkg_failed = untried; then have_hal="no" else hal_CFLAGS=$pkg_cv_hal_CFLAGS hal_LIBS=$pkg_cv_hal_LIBS { $as_echo "$as_me:$LINENO: result: yes" >&5 $as_echo "yes" >&6; } have_hal="yes" fi if test "$have_hal" = "yes"; then cat >>confdefs.h <<\_ACEOF @%:@define HAVE_HAL 1 _ACEOF hal_includes="$hal_CFLAGS" hal_libs="$hal_LIBS" fi fi fi # --------------------------------------------------------------------------- # check for PC/SC # if test "$OSYSTEM" = "windows" ; then pcsc_libraries="" pcsc_lib="-lwinscard" have_pcsc="yes" elif test "$OSYSTEM" = "osx" ; then { $as_echo "$as_me:$LINENO: checking for pcsc includes" >&5 $as_echo_n "checking for pcsc includes... " >&6; } pcsc_includes="-I/System/Library/Frameworks/PCSC.framework/Headers" { $as_echo "$as_me:$LINENO: result: $pcsc_includes" >&5 $as_echo "$pcsc_includes" >&6; } { $as_echo "$as_me:$LINENO: checking for pcsc libs" >&5 $as_echo_n "checking for pcsc libs... " >&6; } pcsc_libraries="" pcsc_lib="-framework PCSC" { $as_echo "$as_me:$LINENO: result: $pcsc_libraries ${pcsc_lib}" >&5 $as_echo "$pcsc_libraries ${pcsc_lib}" >&6; } have_pcsc="yes" else { $as_echo "$as_me:$LINENO: checking if PC/SC should be used" >&5 $as_echo_n "checking if PC/SC should be used... " >&6; } @%:@ Check whether --enable-pcsc was given. if test "${enable_pcsc+set}" = set; then enableval=$enable_pcsc; enable_pcsc="$enableval" else enable_pcsc="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_pcsc" >&5 $as_echo "$enable_pcsc" >&6; } if test "$enable_pcsc" != "no"; then { $as_echo "$as_me:$LINENO: checking for pcsc includes" >&5 $as_echo_n "checking for pcsc includes... " >&6; } @%:@ Check whether --with-pcsc-includes was given. if test "${with_pcsc_includes+set}" = set; then withval=$with_pcsc_includes; pcsc_search_inc_dirs="$withval" else pcsc_search_inc_dirs="/usr/include\ /usr/local/include\ /usr/local/pcsc/include\ /usr/pcsc/include\ " fi found_dir="" ls=PCSC/winscard.h ld="$pcsc_search_inc_dirs" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done if test -n "$found_dir" ; then pcsc_includes="-I$found_dir -I$found_dir/PCSC" fi { $as_echo "$as_me:$LINENO: result: $pcsc_includes" >&5 $as_echo "$pcsc_includes" >&6; } { $as_echo "$as_me:$LINENO: checking for pcsc libs" >&5 $as_echo_n "checking for pcsc libs... " >&6; } @%:@ Check whether --with-pcsc-libname was given. if test "${with_pcsc_libname+set}" = set; then withval=$with_pcsc_libname; pcsc_search_lib_names="$withval" else pcsc_search_lib_names="libpcsclite.so \ libpcsclite.so.* \ libpcsc.a" fi @%:@ Check whether --with-pcsc-libs was given. if test "${with_pcsc_libs+set}" = set; then withval=$with_pcsc_libs; pcsc_search_lib_dirs="$withval" else pcsc_search_lib_dirs="/usr/lib64 \ /usr/lib \ /usr/local/lib \ /usr/lib/pcsc/lib \ /usr/local/pcsc/lib \ /lib" fi for d in $pcsc_search_lib_dirs; do found_file="" ls=""$d"" ld="$pcsc_search_lib_names" lf="" for li in $ld; do lf2="`ls -d ${ls}/${li} 2>/dev/null`" lf="$lf $lf2" done for li in $lf; do if test -r "$li"; then found_file=`basename "$li"` break fi done if test -n "$found_file" ; then pcsc_libraries="-L$d" pcsc_lib="-l`echo $found_file | sed 's/lib//;s/\.so*//;s/\.a//'`" break fi done if test -z "$pcsc_libraries" -o -z "$pcsc_lib" -o -z "$pcsc_includes"; then { $as_echo "$as_me:$LINENO: WARNING: No pcsc libraries found, SCard driver will not be available." >&5 $as_echo "$as_me: WARNING: No pcsc libraries found, SCard driver will not be available." >&2;} have_pcsc="no" else { $as_echo "$as_me:$LINENO: result: $pcsc_libraries ${pcsc_lib}" >&5 $as_echo "$pcsc_libraries ${pcsc_lib}" >&6; } have_pcsc="yes" fi # end of "if enable-pcsc" fi # end of "if linux" fi if test "$have_pcsc" = "yes"; then USE_PCSC_TRUE= USE_PCSC_FALSE='#' else USE_PCSC_TRUE='#' USE_PCSC_FALSE= fi if test "$have_pcsc" != "yes"; then pcsc_includes="-I\$(top_srcdir)/include -I\$(top_srcdir)/include/PCSC" else cat >>confdefs.h <<\_ACEOF @%:@define HAVE_PCSC 1 _ACEOF fi case "$OSYSTEM" in osx) cyberjack_ifd_filename="libifd-cyberjack.dylib" cyberjack_ifd_dropdir="/usr/libexec/SmartCardServices/drivers" # use our own PC/SC headers for MacOSX pcsc_includes="-I\$(top_srcdir)/include/macosx -I\$(top_srcdir)/include/macosx/PCSC" if test "x$enable_mac_universal" = "xyes" ; then #mac_version_min="-mmacosx-version-min=10.5" mac_arches="-arch i386" #mac_arches="-arch i386 -arch x86_64" #mac_sysroot="-isysroot /Developer/SDKs/MacOSX10.6.sdk" #LDFLAGS="$LDFLAGS $mac_arches $mac_sysroot $mac_version_min" #CFLAGS="$CFLAGS $CFLAGS $mac_arches $mac_sysroot $mac_version_min" LDFLAGS="$LDFLAGS $mac_arches" CFLAGS="$CFLAGS $CFLAGS $mac_arches" CXXFLAGS="$CXXFLAGS $mac_arches" fi ;; linux) cyberjack_ifd_filename="libifd-cyberjack.so" cyberjack_ifd_dropdir="\$(libdir)/pcsc/drivers" ;; esac @%:@ Check whether --with-usbdropdir was given. if test "${with_usbdropdir+set}" = set; then withval=$with_usbdropdir; usbdropdir="${withval}" else usbdropdir="${cyberjack_ifd_dropdir}" fi # --------------------------------------------------------------------------- # check for LibXML2 # { $as_echo "$as_me:$LINENO: checking if XML2 is allowed" >&5 $as_echo_n "checking if XML2 is allowed... " >&6; } @%:@ Check whether --enable-xml2 was given. if test "${enable_xml2+set}" = set; then enableval=$enable_xml2; enable_xml2="$enableval" else enable_xml2="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_xml2" >&5 $as_echo "$enable_xml2" >&6; } if test "$enable_xml2" = "no"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else { $as_echo "$as_me:$LINENO: checking for xml2 includes" >&5 $as_echo_n "checking for xml2 includes... " >&6; } @%:@ Check whether --with-xml2-includes was given. if test "${with_xml2_includes+set}" = set; then withval=$with_xml2_includes; local_libxml2_includes="$withval" else local_libxml2_includes="\ /usr/include/libxml2 \ /usr/local/include/libxml2 \ /opt/libxml2/include \ " fi if test -z "$libxml2_includes"; then for i in $local_libxml2_includes; do if test -z "$libxml2_includes"; then if test -f "$i/libxml/tree.h"; then libxml2_includes="-I$i" break; fi fi done fi if test -n "$libxml2_includes"; then { $as_echo "$as_me:$LINENO: result: $libxml2_includes" >&5 $as_echo "$libxml2_includes" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi { $as_echo "$as_me:$LINENO: checking for xml2 libraries" >&5 $as_echo_n "checking for xml2 libraries... " >&6; } @%:@ Check whether --with-xml2-libs was given. if test "${with_xml2_libs+set}" = set; then withval=$with_xml2_libs; libxml2_libs="$withval" else libxml2_libs="" fi if test -z "$libxml2_libs"; then libxml2_libs="-lxml2" fi if test -n "$libxml2_libs"; then { $as_echo "$as_me:$LINENO: result: $libxml2_libs" >&5 $as_echo "$libxml2_libs" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # check if all necessary xml2 components where found if test -z "$libxml2_includes" || \ test -z "$libxml2_libs"; then libxml2_libs="" libxml2_includes="" have_xml2="no" else have_xml2="yes" cat >>confdefs.h <<\_ACEOF @%:@define HAVE_LIBXML2 1 _ACEOF fi fi GIVEN_CFLAGS=$libxml2_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done libxml2_includes=$GIVEN_CFLAGS if test "$have_libxml2" = "yes"; then USE_XML2_TRUE= USE_XML2_FALSE='#' else USE_XML2_TRUE='#' USE_XML2_FALSE= fi ###------------------------------------------------------------------------- # Check for fox toolkit # { $as_echo "$as_me:$LINENO: checking if FOX is allowed" >&5 $as_echo_n "checking if FOX is allowed... " >&6; } @%:@ Check whether --enable-fox was given. if test "${enable_fox+set}" = set; then enableval=$enable_fox; enable_fox="$enableval" else enable_fox="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_fox" >&5 $as_echo "$enable_fox" >&6; } if test "$enable_fox" = "no"; then fox_libs="" fox_includes="" have_fox="no" else { $as_echo "$as_me:$LINENO: checking for fox includes" >&5 $as_echo_n "checking for fox includes... " >&6; } @%:@ Check whether --with-fox-includes was given. if test "${with_fox_includes+set}" = set; then withval=$with_fox_includes; local_fox_includes="$withval" else local_fox_includes="\ /usr/include/fox-1.6 \ /usr/local/include/fox-1.6 \ /opt/fox-1.6/include \ " fi if test -z "$fox_includes"; then for i in $local_fox_includes; do if test -z "$fox_includes"; then if test -f "$i/fxver.h"; then fox_includes="-I$i" break; fi fi done fi if test -n "$fox_includes"; then { $as_echo "$as_me:$LINENO: result: $fox_includes" >&5 $as_echo "$fox_includes" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # Check for x86_64 architecture; potentially set lib-directory suffix if test "$target_cpu" = "x86_64"; then libdirsuffix="64" else libdirsuffix="" fi { $as_echo "$as_me:$LINENO: checking for fox libraries" >&5 $as_echo_n "checking for fox libraries... " >&6; } @%:@ Check whether --with-fox-libs was given. if test "${with_fox_libs+set}" = set; then withval=$with_fox_libs; fox_libs="$withval" else 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 SAVED_LDFLAGS=$LDFLAGS SAVED_CXXFLAGS=$CXXFLAGS LDFLAGS="$LDFLAGS -lFOX-1.6" CXXFLAGS="$CXXFLAGS $fox_includes" 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 () { FX::FXDate dummy ; 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 ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\"" $as_echo "$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 $as_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 && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then fox_libs="-lFOX-1.6" else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -rf conftest.dSYM rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$SAVED_LDFLAGS CXXFLAGS=$SAVED_CXXFLAGS fi if test -z "$fox_libs"; then found_dir="" ls=$qt_searchname ld="$local_fox_libs" for li in $ld; do case "$OS_TYPE" in windows) fname="$li\\$ls" ;; *) fname="$li/$ls" ;; esac if test -r "$fname"; then found_dir="$li" break fi done if test -n "$found_dir" ; then fox_libs="-L$found_dir -lFOX-1.6" test "$OSYSTEM" = "freebsd" && \ fox_libs="$fox_libs" fi fi if test -n "$fox_libs"; then { $as_echo "$as_me:$LINENO: result: $fox_libs" >&5 $as_echo "$fox_libs" >&6; } else { $as_echo "$as_me:$LINENO: result: not found" >&5 $as_echo "not found" >&6; } fi # check if all necessary fox components where found if test -z "$fox_includes" || \ test -z "$fox_libs"; then fox_libs="" fox_includes="" have_fox="no" else have_fox="yes" cat >>confdefs.h <<\_ACEOF @%:@define HAVE_FOX 1 _ACEOF fi fi GIVEN_CFLAGS=$fox_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done fox_includes=$GIVEN_CFLAGS if test "$have_fox" = "yes"; then WITH_FOX_TRUE= WITH_FOX_FALSE='#' else WITH_FOX_TRUE='#' WITH_FOX_FALSE= fi ###------------------------------------------------------------------------- # # check for release # { $as_echo "$as_me:$LINENO: checking whether this is an official release" >&5 $as_echo_n "checking whether this is an official release... " >&6; } @%:@ Check whether --enable-release was given. if test "${enable_release+set}" = set; then enableval=$enable_release; case "${enableval}" in yes) enable_release="yes";; no) enable_release="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-release" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-release" >&2;} { (exit 1); exit 1; }; };; esac else enable_release="no" fi if test "$enable_release" = "yes"; then STRIPALL="-s" else STRIPALL="" fi { $as_echo "$as_me:$LINENO: result: $enable_release" >&5 $as_echo "$enable_release" >&6; } ###------------------------------------------------------------------------- # # check for pthread-based approach # { $as_echo "$as_me:$LINENO: checking whether the threaded approach is wanted" >&5 $as_echo_n "checking whether the threaded approach is wanted... " >&6; } @%:@ Check whether --enable-threads was given. if test "${enable_threads+set}" = set; then enableval=$enable_threads; case "${enableval}" in yes) enable_threads="yes";; no) enable_threads="no";; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-threads" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-threads" >&2;} { (exit 1); exit 1; }; };; esac else enable_threads="no" fi if test "$enable_threads" = "yes"; then cat >>confdefs.h <<_ACEOF @%:@define USE_THREADS 1 _ACEOF THREAD_LIBS="-lpthread" else THREAD_LIBS="" fi { $as_echo "$as_me:$LINENO: result: $enable_threads" >&5 $as_echo "$enable_threads" >&6; } ###------------------------------------------------------------------------- # # check whether udev support is wanted # @%:@ Check whether --enable-udev was given. if test "${enable_udev+set}" = set; then enableval=$enable_udev; ENABLE_UDEV="${enableval}" else ENABLE_UDEV="yes" fi ###------------------------------------------------------------------------- # # GCC version (check for usability) # { $as_echo "$as_me:$LINENO: checking if symbol visibility is supported" >&5 $as_echo_n "checking if symbol visibility is supported... " >&6; } @%:@ Check whether --enable-visibility was given. if test "${enable_visibility+set}" = set; then enableval=$enable_visibility; enable_visibility="$enableval" else enable_visibility="yes" fi { $as_echo "$as_me:$LINENO: result: $enable_visibility" >&5 $as_echo "$enable_visibility" >&6; } if test "$enable_visibility" = "yes"; then { $as_echo "$as_me:$LINENO: checking if symbol visibility is supported" >&5 $as_echo_n "checking if symbol visibility is supported... " >&6; } visibility_cflags="" case `$CC --version|head -n1|cut -f1 -d " "` in gcc | gcc-* | *-gcc | *-gcc-*) gccversion="` ${CC} -dumpversion `" case $gccversion in 4.*) # Activate -fvisibility=hidden only for explicit 4.x gcc # versions. We never now what future gcc's might do with # that argument, and we also can't be sure that other # gcc's happen to show very weird version # numbers. Therefore leave the default at non-activated. visibility_supported="yes, gcc-${gccversion}" cat >>confdefs.h <<\_ACEOF @%:@define GCC_WITH_VISIBILITY_ATTRIBUTE 1 _ACEOF visibility_cflags="-fvisibility=hidden" ;; *) # Default: -fvisibility=hidden not activated. visibility_supported="no (needs gcc >=4.0, you have gcc-${gccversion})" ;; esac ;; *) visibility_supported="no (needs gcc >=4.0, you use $CC)" ;; esac # -fvisibility is at least not available on MinGW/gcc-3.4.4 (will # give an "unrecognized cmdline option"). Also, unfortunately I # don't know an easy way to ask the compiler here. Maybe # http://autoconf-archive.cryp.to/ax_cflags_gcc_option.html case "$OS_TYPE" in windows) visibility_supported="no (not yet on MinGW/Windows)" visibility_cflags="" ;; *) ;; esac else visibility_supported="no (not wanted)" visibility_cflags="" fi { $as_echo "$as_me:$LINENO: result: ${visibility_supported}" >&5 $as_echo "${visibility_supported}" >&6; } ###------------------------------------------------------------------------- # # RPM distribution specific stuff { $as_echo "$as_me:$LINENO: checking whether this is an RPM distribution" >&5 $as_echo_n "checking whether this is an RPM distribution... " >&6; } RPM_COMMAND="`which rpm`" RPM_DIST_NAME="" RPM_DIST_TAG="" RPM_DIST_VER="" if test "$ENABLE_UDEV" = "yes"; then ETC_SUBDIRS="udev" else ETC_SUBDIRS="" fi USE_HOTPLUG=0 USE_UDEV=0 UDEV_RULES_FILE="rules.new" RPM_PCSC_DROPDIR="%{_libdir}/readers" if test -n "${RPM_COMMAND}"; then if test -x "${RPM_COMMAND}"; then if test -e "/etc/mandriva-release"; then RPM_DIST_NAME="mandriva" RPM_DIST_TAG="mdk" # RPM_DIST_VER="`rpm -q --queryformat='%{VERSION}' mandriva-release 2>/dev/null`" read v1 v2 v3 v4 v5 &5 $as_echo "Yes, ${RPM_DIST_NAME} ${RPM_DIST_VER}" >&6; } else { $as_echo "$as_me:$LINENO: result: no (RPM found, but unknown distribution)" >&5 $as_echo "no (RPM found, but unknown distribution)" >&6; } fi else { $as_echo "$as_me:$LINENO: result: no (RPM not found)" >&5 $as_echo "no (RPM not found)" >&6; } fi else { $as_echo "$as_me:$LINENO: result: no (no RPM installed)" >&5 $as_echo "no (no RPM installed)" >&6; } fi case "${RPM_DIST_TAG}${RPM_DIST_VER}" in suse10.*) cat >>confdefs.h <<_ACEOF @%:@define USE_SUSE_HACK "1" _ACEOF ;; esac ###------------------------------------------------------------------------- # # Debug arguments for compilation # @%:@ Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then enableval=$enable_debug; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -g" CFLAGS="${CFLAGS} -g" LDFLAGS="${LDFLAGS} -g" cat >>confdefs.h <<\_ACEOF @%:@define DEBUG 1 _ACEOF ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-debug" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-debug" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" fi if test ${GCC}x = yesx; then @%:@ Check whether --enable-warnings was given. if test "${enable_warnings+set}" = set; then enableval=$enable_warnings; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" ;; all) CXXFLAGS="${CXXFLAGS} -Wall -pedantic -ansi" CFLAGS="${CFLAGS} -Wall -pedantic -ansi" ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-warnings" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-warnings" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS} -Wall" CFLAGS="${CFLAGS} -Wall" fi GCC_VERSION=`${CC} -dumpversion` if test `echo ${GCC_VERSION} | cut -d. -f1` -ge 3; then # This is gcc >= 3.x.x if test `echo ${GCC_VERSION} | cut -d. -f2` -ge 4; then # This is gcc >= 3.4.x CFLAGS="${CFLAGS} -Wdeclaration-after-statement" fi fi @%:@ Check whether --enable-error-on-warning was given. if test "${enable_error_on_warning+set}" = set; then enableval=$enable_error_on_warning; case "${enableval}" in yes) CXXFLAGS="${CXXFLAGS} -Werror" CFLAGS="${CFLAGS} -Werror" ;; no) ;; *) { { $as_echo "$as_me:$LINENO: error: bad value ${enableval} for --enable-error-on-warning" >&5 $as_echo "$as_me: error: bad value ${enableval} for --enable-error-on-warning" >&2;} { (exit 1); exit 1; }; } ;; esac else # Default value if the argument was not given CXXFLAGS="${CXXFLAGS}" CFLAGS="${CFLAGS}" fi fi ###------------------------------------------------------------------------- # # compile program flagss # # Clean up include variables GIVEN_CFLAGS=$cyberjack_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done cyberjack_includes=$GIVEN_CFLAGS GIVEN_CFLAGS=$all_includes INCLUDE_DIRS=`echo | cpp -v 2>&1` INCLUDE_DIRS=`echo $INCLUDE_DIRS | sed -e 's/.*<...> search starts here://' | sed -e 's/End of search list.*//'` for dir in $INCLUDE_DIRS; do GIVEN_CFLAGS=$(echo $GIVEN_CFLAGS | sed -e "s;-I$dir ;;" | sed -e "s;-I$dir$;;") done all_includes=$GIVEN_CFLAGS ###------------------------------------------------------------------------- # # substitute vars # ###------------------------------------------------------------------------- # # list of files to create # ac_config_files="$ac_config_files Makefile cjeca32/Makefile cjeca32/ausb/Makefile ifd/Makefile ifd/Info.plist libcyberjack/Makefile libcyberjack/libdialog/Makefile libcyberjack/libdialog/base/Makefile libcyberjack/checksuite/Makefile tools/Makefile tools/cjflash/Makefile tools/cjgeldkarte/Makefile tools/cyberjack/Makefile tools/cyberjack/scripts/Makefile tools/cjBingo/Makefile tools/fxcyberjack/Makefile tools/fxcyberjack/icons/Makefile tools/fxcyberjack/diag/Makefile tools/fox-dialog/Makefile tools/mac-ui-helper/Makefile include/Makefile include/macosx/Makefile include/macosx/PCSC/Makefile m4/Makefile etc/Makefile ifd-cyberjack.spec doc/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:$LINENO: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) $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" && { $as_echo "$as_me:$LINENO: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { $as_echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIB@&t@OBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIB@&t@OBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 "${am__fastdepOBJC_TRUE}" && test -z "${am__fastdepOBJC_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepOBJC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"am__fastdepOBJC\" 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 { { $as_echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_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 "${IS_WINDOWS_TRUE}" && test -z "${IS_WINDOWS_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_WINDOWS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_WINDOWS\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${IS_OSX_TRUE}" && test -z "${IS_OSX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_OSX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_OSX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${IS_LINUX_TRUE}" && test -z "${IS_LINUX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"IS_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"IS_LINUX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${ENABLE_NONSERIAL_TRUE}" && test -z "${ENABLE_NONSERIAL_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"ENABLE_NONSERIAL\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"ENABLE_NONSERIAL\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${USE_PCSC_TRUE}" && test -z "${USE_PCSC_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"USE_PCSC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"USE_PCSC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${USE_XML2_TRUE}" && test -z "${USE_XML2_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"USE_XML2\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"USE_XML2\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${WITH_FOX_TRUE}" && test -z "${WITH_FOX_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"WITH_FOX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 $as_echo "$as_me: error: conditional \"WITH_FOX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # 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 as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo if (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # 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.) 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 $as_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. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # 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 || $as_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" || { $as_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 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -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 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 $as_me, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTION]... [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ config.status configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2008 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_FILES="$CONFIG_FILES '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac CONFIG_HEADERS="$CONFIG_HEADERS '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { $as_echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { $as_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 || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../@%:@@%:@ /;s/...$/ @%:@@%:@/;p;x;p;x' <<_ASBOX @%:@@%:@ Running $as_me. @%:@@%:@ _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' enable_static='`$ECHO "X$enable_static" | $Xsed -e "$delay_single_quote_subst"`' enable_shared='`$ECHO "X$enable_shared" | $Xsed -e "$delay_single_quote_subst"`' AS='`$ECHO "X$AS" | $Xsed -e "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "X$DLLTOOL" | $Xsed -e "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "X$OBJDUMP" | $Xsed -e "$delay_single_quote_subst"`' macro_version='`$ECHO "X$macro_version" | $Xsed -e "$delay_single_quote_subst"`' macro_revision='`$ECHO "X$macro_revision" | $Xsed -e "$delay_single_quote_subst"`' pic_mode='`$ECHO "X$pic_mode" | $Xsed -e "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "X$enable_fast_install" | $Xsed -e "$delay_single_quote_subst"`' host_alias='`$ECHO "X$host_alias" | $Xsed -e "$delay_single_quote_subst"`' host='`$ECHO "X$host" | $Xsed -e "$delay_single_quote_subst"`' host_os='`$ECHO "X$host_os" | $Xsed -e "$delay_single_quote_subst"`' build_alias='`$ECHO "X$build_alias" | $Xsed -e "$delay_single_quote_subst"`' build='`$ECHO "X$build" | $Xsed -e "$delay_single_quote_subst"`' build_os='`$ECHO "X$build_os" | $Xsed -e "$delay_single_quote_subst"`' SED='`$ECHO "X$SED" | $Xsed -e "$delay_single_quote_subst"`' Xsed='`$ECHO "X$Xsed" | $Xsed -e "$delay_single_quote_subst"`' GREP='`$ECHO "X$GREP" | $Xsed -e "$delay_single_quote_subst"`' EGREP='`$ECHO "X$EGREP" | $Xsed -e "$delay_single_quote_subst"`' FGREP='`$ECHO "X$FGREP" | $Xsed -e "$delay_single_quote_subst"`' LD='`$ECHO "X$LD" | $Xsed -e "$delay_single_quote_subst"`' NM='`$ECHO "X$NM" | $Xsed -e "$delay_single_quote_subst"`' LN_S='`$ECHO "X$LN_S" | $Xsed -e "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "X$max_cmd_len" | $Xsed -e "$delay_single_quote_subst"`' ac_objext='`$ECHO "X$ac_objext" | $Xsed -e "$delay_single_quote_subst"`' exeext='`$ECHO "X$exeext" | $Xsed -e "$delay_single_quote_subst"`' lt_unset='`$ECHO "X$lt_unset" | $Xsed -e "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "X$lt_SP2NL" | $Xsed -e "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "X$lt_NL2SP" | $Xsed -e "$delay_single_quote_subst"`' reload_flag='`$ECHO "X$reload_flag" | $Xsed -e "$delay_single_quote_subst"`' reload_cmds='`$ECHO "X$reload_cmds" | $Xsed -e "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "X$deplibs_check_method" | $Xsed -e "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "X$file_magic_cmd" | $Xsed -e "$delay_single_quote_subst"`' AR='`$ECHO "X$AR" | $Xsed -e "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "X$AR_FLAGS" | $Xsed -e "$delay_single_quote_subst"`' STRIP='`$ECHO "X$STRIP" | $Xsed -e "$delay_single_quote_subst"`' RANLIB='`$ECHO "X$RANLIB" | $Xsed -e "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "X$old_postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "X$old_postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "X$old_archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' CC='`$ECHO "X$CC" | $Xsed -e "$delay_single_quote_subst"`' CFLAGS='`$ECHO "X$CFLAGS" | $Xsed -e "$delay_single_quote_subst"`' compiler='`$ECHO "X$compiler" | $Xsed -e "$delay_single_quote_subst"`' GCC='`$ECHO "X$GCC" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "X$lt_cv_sys_global_symbol_pipe" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "X$lt_cv_sys_global_symbol_to_cdecl" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "X$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' objdir='`$ECHO "X$objdir" | $Xsed -e "$delay_single_quote_subst"`' SHELL='`$ECHO "X$SHELL" | $Xsed -e "$delay_single_quote_subst"`' ECHO='`$ECHO "X$ECHO" | $Xsed -e "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "X$MAGIC_CMD" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "X$lt_prog_compiler_no_builtin_flag" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "X$lt_prog_compiler_wl" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "X$lt_prog_compiler_pic" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "X$lt_prog_compiler_static" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "X$lt_cv_prog_compiler_c_o" | $Xsed -e "$delay_single_quote_subst"`' need_locks='`$ECHO "X$need_locks" | $Xsed -e "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "X$DSYMUTIL" | $Xsed -e "$delay_single_quote_subst"`' NMEDIT='`$ECHO "X$NMEDIT" | $Xsed -e "$delay_single_quote_subst"`' LIPO='`$ECHO "X$LIPO" | $Xsed -e "$delay_single_quote_subst"`' OTOOL='`$ECHO "X$OTOOL" | $Xsed -e "$delay_single_quote_subst"`' OTOOL64='`$ECHO "X$OTOOL64" | $Xsed -e "$delay_single_quote_subst"`' libext='`$ECHO "X$libext" | $Xsed -e "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "X$shrext_cmds" | $Xsed -e "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "X$extract_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "X$archive_cmds_need_lc" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "X$enable_shared_with_static_runtimes" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "X$export_dynamic_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "X$whole_archive_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "X$compiler_needs_object" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "X$old_archive_from_new_cmds" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "X$old_archive_from_expsyms_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds='`$ECHO "X$archive_cmds" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "X$archive_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_cmds='`$ECHO "X$module_cmds" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "X$module_expsym_cmds" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "X$with_gnu_ld" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "X$allow_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "X$no_undefined_flag" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "X$hardcode_libdir_flag_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld='`$ECHO "X$hardcode_libdir_flag_spec_ld" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "X$hardcode_libdir_separator" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "X$hardcode_direct" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "X$hardcode_direct_absolute" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "X$hardcode_minus_L" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "X$hardcode_shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "X$hardcode_automatic" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "X$inherit_rpath" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "X$link_all_deplibs" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path='`$ECHO "X$fix_srcfile_path" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "X$always_export_symbols" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "X$export_symbols_cmds" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "X$exclude_expsyms" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms='`$ECHO "X$include_expsyms" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "X$prelink_cmds" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec='`$ECHO "X$file_list_spec" | $Xsed -e "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "X$variables_saved_for_relink" | $Xsed -e "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "X$need_lib_prefix" | $Xsed -e "$delay_single_quote_subst"`' need_version='`$ECHO "X$need_version" | $Xsed -e "$delay_single_quote_subst"`' version_type='`$ECHO "X$version_type" | $Xsed -e "$delay_single_quote_subst"`' runpath_var='`$ECHO "X$runpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "X$shlibpath_var" | $Xsed -e "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "X$shlibpath_overrides_runpath" | $Xsed -e "$delay_single_quote_subst"`' libname_spec='`$ECHO "X$libname_spec" | $Xsed -e "$delay_single_quote_subst"`' library_names_spec='`$ECHO "X$library_names_spec" | $Xsed -e "$delay_single_quote_subst"`' soname_spec='`$ECHO "X$soname_spec" | $Xsed -e "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "X$postinstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "X$postuninstall_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_cmds='`$ECHO "X$finish_cmds" | $Xsed -e "$delay_single_quote_subst"`' finish_eval='`$ECHO "X$finish_eval" | $Xsed -e "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "X$hardcode_into_libs" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "X$sys_lib_search_path_spec" | $Xsed -e "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "X$sys_lib_dlsearch_path_spec" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action='`$ECHO "X$hardcode_action" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "X$enable_dlopen" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "X$enable_dlopen_self" | $Xsed -e "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "X$enable_dlopen_self_static" | $Xsed -e "$delay_single_quote_subst"`' old_striplib='`$ECHO "X$old_striplib" | $Xsed -e "$delay_single_quote_subst"`' striplib='`$ECHO "X$striplib" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs='`$ECHO "X$compiler_lib_search_dirs" | $Xsed -e "$delay_single_quote_subst"`' predep_objects='`$ECHO "X$predep_objects" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects='`$ECHO "X$postdep_objects" | $Xsed -e "$delay_single_quote_subst"`' predeps='`$ECHO "X$predeps" | $Xsed -e "$delay_single_quote_subst"`' postdeps='`$ECHO "X$postdeps" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path='`$ECHO "X$compiler_lib_search_path" | $Xsed -e "$delay_single_quote_subst"`' LD_CXX='`$ECHO "X$LD_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_cmds_CXX='`$ECHO "X$old_archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_CXX='`$ECHO "X$compiler_CXX" | $Xsed -e "$delay_single_quote_subst"`' GCC_CXX='`$ECHO "X$GCC_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag_CXX='`$ECHO "X$lt_prog_compiler_no_builtin_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_wl_CXX='`$ECHO "X$lt_prog_compiler_wl_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_pic_CXX='`$ECHO "X$lt_prog_compiler_pic_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_prog_compiler_static_CXX='`$ECHO "X$lt_prog_compiler_static_CXX" | $Xsed -e "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o_CXX='`$ECHO "X$lt_cv_prog_compiler_c_o_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_need_lc_CXX='`$ECHO "X$archive_cmds_need_lc_CXX" | $Xsed -e "$delay_single_quote_subst"`' enable_shared_with_static_runtimes_CXX='`$ECHO "X$enable_shared_with_static_runtimes_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_dynamic_flag_spec_CXX='`$ECHO "X$export_dynamic_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' whole_archive_flag_spec_CXX='`$ECHO "X$whole_archive_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_needs_object_CXX='`$ECHO "X$compiler_needs_object_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_new_cmds_CXX='`$ECHO "X$old_archive_from_new_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds_CXX='`$ECHO "X$old_archive_from_expsyms_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_cmds_CXX='`$ECHO "X$archive_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' archive_expsym_cmds_CXX='`$ECHO "X$archive_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_cmds_CXX='`$ECHO "X$module_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' module_expsym_cmds_CXX='`$ECHO "X$module_expsym_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' with_gnu_ld_CXX='`$ECHO "X$with_gnu_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' allow_undefined_flag_CXX='`$ECHO "X$allow_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' no_undefined_flag_CXX='`$ECHO "X$no_undefined_flag_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_CXX='`$ECHO "X$hardcode_libdir_flag_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_flag_spec_ld_CXX='`$ECHO "X$hardcode_libdir_flag_spec_ld_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_libdir_separator_CXX='`$ECHO "X$hardcode_libdir_separator_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_CXX='`$ECHO "X$hardcode_direct_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_direct_absolute_CXX='`$ECHO "X$hardcode_direct_absolute_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_minus_L_CXX='`$ECHO "X$hardcode_minus_L_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_shlibpath_var_CXX='`$ECHO "X$hardcode_shlibpath_var_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_automatic_CXX='`$ECHO "X$hardcode_automatic_CXX" | $Xsed -e "$delay_single_quote_subst"`' inherit_rpath_CXX='`$ECHO "X$inherit_rpath_CXX" | $Xsed -e "$delay_single_quote_subst"`' link_all_deplibs_CXX='`$ECHO "X$link_all_deplibs_CXX" | $Xsed -e "$delay_single_quote_subst"`' fix_srcfile_path_CXX='`$ECHO "X$fix_srcfile_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' always_export_symbols_CXX='`$ECHO "X$always_export_symbols_CXX" | $Xsed -e "$delay_single_quote_subst"`' export_symbols_cmds_CXX='`$ECHO "X$export_symbols_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' exclude_expsyms_CXX='`$ECHO "X$exclude_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' include_expsyms_CXX='`$ECHO "X$include_expsyms_CXX" | $Xsed -e "$delay_single_quote_subst"`' prelink_cmds_CXX='`$ECHO "X$prelink_cmds_CXX" | $Xsed -e "$delay_single_quote_subst"`' file_list_spec_CXX='`$ECHO "X$file_list_spec_CXX" | $Xsed -e "$delay_single_quote_subst"`' hardcode_action_CXX='`$ECHO "X$hardcode_action_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_dirs_CXX='`$ECHO "X$compiler_lib_search_dirs_CXX" | $Xsed -e "$delay_single_quote_subst"`' predep_objects_CXX='`$ECHO "X$predep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdep_objects_CXX='`$ECHO "X$postdep_objects_CXX" | $Xsed -e "$delay_single_quote_subst"`' predeps_CXX='`$ECHO "X$predeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' postdeps_CXX='`$ECHO "X$postdeps_CXX" | $Xsed -e "$delay_single_quote_subst"`' compiler_lib_search_path_CXX='`$ECHO "X$compiler_lib_search_path_CXX" | $Xsed -e "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # Quote evaled strings. for var in SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ deplibs_check_method \ file_magic_cmd \ AR \ AR_FLAGS \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ SHELL \ ECHO \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ fix_srcfile_path \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ finish_eval \ old_striplib \ striplib \ compiler_lib_search_dirs \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ LD_CXX \ compiler_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_cv_prog_compiler_c_o_CXX \ export_dynamic_flag_spec_CXX \ whole_archive_flag_spec_CXX \ compiler_needs_object_CXX \ with_gnu_ld_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX \ file_list_spec_CXX \ compiler_lib_search_dirs_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ export_symbols_cmds_CXX \ prelink_cmds_CXX; do case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Fix-up fallback echo if it was mangled by the above quoting rules. case \$lt_ECHO in *'\\\$0 --fallback-echo"') lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\$0 --fallback-echo"\$/\$0 --fallback-echo"/'\` ;; esac ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "cjeca32/Makefile") CONFIG_FILES="$CONFIG_FILES cjeca32/Makefile" ;; "cjeca32/ausb/Makefile") CONFIG_FILES="$CONFIG_FILES cjeca32/ausb/Makefile" ;; "ifd/Makefile") CONFIG_FILES="$CONFIG_FILES ifd/Makefile" ;; "ifd/Info.plist") CONFIG_FILES="$CONFIG_FILES ifd/Info.plist" ;; "libcyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/Makefile" ;; "libcyberjack/libdialog/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/libdialog/Makefile" ;; "libcyberjack/libdialog/base/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/libdialog/base/Makefile" ;; "libcyberjack/checksuite/Makefile") CONFIG_FILES="$CONFIG_FILES libcyberjack/checksuite/Makefile" ;; "tools/Makefile") CONFIG_FILES="$CONFIG_FILES tools/Makefile" ;; "tools/cjflash/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjflash/Makefile" ;; "tools/cjgeldkarte/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjgeldkarte/Makefile" ;; "tools/cyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cyberjack/Makefile" ;; "tools/cyberjack/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cyberjack/scripts/Makefile" ;; "tools/cjBingo/Makefile") CONFIG_FILES="$CONFIG_FILES tools/cjBingo/Makefile" ;; "tools/fxcyberjack/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/Makefile" ;; "tools/fxcyberjack/icons/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/icons/Makefile" ;; "tools/fxcyberjack/diag/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fxcyberjack/diag/Makefile" ;; "tools/fox-dialog/Makefile") CONFIG_FILES="$CONFIG_FILES tools/fox-dialog/Makefile" ;; "tools/mac-ui-helper/Makefile") CONFIG_FILES="$CONFIG_FILES tools/mac-ui-helper/Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "include/macosx/Makefile") CONFIG_FILES="$CONFIG_FILES include/macosx/Makefile" ;; "include/macosx/PCSC/Makefile") CONFIG_FILES="$CONFIG_FILES include/macosx/PCSC/Makefile" ;; "m4/Makefile") CONFIG_FILES="$CONFIG_FILES m4/Makefile" ;; "etc/Makefile") CONFIG_FILES="$CONFIG_FILES etc/Makefile" ;; "ifd-cyberjack.spec") CONFIG_FILES="$CONFIG_FILES ifd-cyberjack.spec" ;; "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;; *) { { $as_echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 $as_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") } || { $as_echo "$as_me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=' ' ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_num=`echo "$ac_subst_vars" | grep -c '$'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 $as_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 rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\).*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\).*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$tmp/subs1.awk" > "$tmp/subs.awk" \ || { { $as_echo "$as_me:$LINENO: error: could not setup config files machinery" >&5 $as_echo "$as_me: error: could not setup config files machinery" >&2;} { (exit 1); exit 1; }; } _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 || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_t=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_t"; then break elif $ac_last_try; then { { $as_echo "$as_me:$LINENO: error: could not make $CONFIG_HEADERS" >&5 $as_echo "$as_me: error: could not make $CONFIG_HEADERS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 { { $as_echo "$as_me:$LINENO: error: could not setup config headers machinery" >&5 $as_echo "$as_me: error: could not setup config headers machinery" >&2;} { (exit 1); exit 1; }; } fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { $as_echo "$as_me:$LINENO: error: invalid tag $ac_tag" >&5 $as_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 || { { $as_echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 $as_echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; 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 '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:$LINENO: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" 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=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_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=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } 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"; } && { $as_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 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out" && rm -f "$tmp/out";; *) rm -f "$ac_file" && mv "$tmp/out" "$ac_file";; esac \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" } >"$tmp/config.h" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } if diff "$ac_file" "$tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:$LINENO: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$tmp/config.h" "$ac_file" \ || { { $as_echo "$as_me:$LINENO: error: could not create $ac_file" >&5 $as_echo "$as_me: error: could not create $ac_file" >&2;} { (exit 1); exit 1; }; } fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$tmp/defines.awk"' "$ac_file_inputs" \ || { { $as_echo "$as_me:$LINENO: error: could not create -" >&5 $as_echo "$as_me: error: could not create -" >&2;} { (exit 1); exit 1; }; } fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { $as_echo "$as_me:$LINENO: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Autoconf 2.62 quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # 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 || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir 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=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 $as_echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008 Free Software Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License as # published by the Free Software Foundation; either version 2 of # the License, or (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="CXX " # ### BEGIN LIBTOOL CONFIG # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # Assembler program. AS=$AS # DLL creation program. DLLTOOL=$DLLTOOL # Object dumper program. OBJDUMP=$OBJDUMP # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # What type of objects to build. pic_mode=$pic_mode # 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 # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # 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 # The archiver. AR=$lt_AR AR_FLAGS=$lt_AR_FLAGS # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # The name of the directory that contains temporary libtool files. objdir=$objdir # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that does not interpret backslashes. ECHO=$lt_ECHO # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # 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 DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # 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 # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects postdep_objects=$lt_postdep_objects predeps=$lt_predeps postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) case $xsi_shell in yes) cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac } # func_basename file func_basename () { func_basename_result="${1##*/}" } # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}" } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). func_stripname () { # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"} } # func_opt_split func_opt_split () { func_opt_split_opt=${1%%=*} func_opt_split_arg=${1#*=} } # func_lo2o object func_lo2o () { case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac } # func_xform libobj-or-source func_xform () { func_xform_result=${1%.*}.lo } # func_arith arithmetic-term... func_arith () { func_arith_result=$(( $* )) } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=${#1} } _LT_EOF ;; *) # Bourne compatible functions. cat << \_LT_EOF >> "$cfgfile" # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_basename file func_basename () { func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "X${3}" \ | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; esac } # sed scripts: my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^-[^=]*=//' # func_opt_split func_opt_split () { func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` } # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` } # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[^.]*$/.lo/'` } # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "$@"` } # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len` } _LT_EOF esac case $lt_shell_append in yes) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1+=\$2" } _LT_EOF ;; *) cat << \_LT_EOF >> "$cfgfile" # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "$1=\$$1\$2" } _LT_EOF ;; esac sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" cat <<_LT_EOF >> "$ofile" # ### BEGIN LIBTOOL TAG CONFIG: CXX # The linker used to build libraries. LD=$lt_LD_CXX # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds_CXX # A language specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU compiler? with_gcc=$GCC_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl_CXX # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static_CXX # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o_CXX # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object_CXX # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld_CXX # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag_CXX # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_CXX # 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 DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute_CXX # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic_CXX # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath_CXX # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs_CXX # Fix the shell variable \$srcfile for the compiler. fix_srcfile_path=$lt_fix_srcfile_path_CXX # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds_CXX # Specify filename containing input files. file_list_spec=$lt_file_list_spec_CXX # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action_CXX # The directories searched by this compiler when creating a shared library. compiler_lib_search_dirs=$lt_compiler_lib_search_dirs_CXX # Dependencies to place before and after the objects being linked to # create a shared library. predep_objects=$lt_predep_objects_CXX postdep_objects=$lt_postdep_objects_CXX predeps=$lt_predeps_CXX postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # ### END LIBTOOL TAG CONFIG: CXX _LT_EOF ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || { { $as_echo "$as_me:$LINENO: error: write failure creating $CONFIG_STATUS" >&5 $as_echo "$as_me: error: write failure creating $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } # 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 if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:$LINENO: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi pcsc-cyberjack-3.99.5final.SP03/libcyberjack/0000755000175000001440000000000011660201015017326 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/libcyberjack/Makefile.am0000644000175000001440000000232111657145411021375 0ustar sctusersSUBDIRS=checksuite libdialog INCLUDES= $(pcsc_includes) $(libxml2_includes) \ -I../include -I../include/driver -I../ifd -I../libcyberjack -I../cjeca32 -I../include/firmware -Iausb #AM_CFLAGS=$(visibility_cflags) @cyberjack_platform_def@ #AM_CPPFLAGS=$(visibility_cflags) @cyberjack_platform_def@ AM_CFLAGS=@cyberjack_platform_def@ AM_CPPFLAGS=@cyberjack_platform_def@ noinst_LTLIBRARIES=libcyberjack.la libcyberjack_la_SOURCES=\ driver.cpp \ driver_pcsc.cpp \ module.cpp \ mtemplate.cpp \ modulestore.cpp if ENABLE_NONSERIAL libcyberjack_la_LIBADD=\ ../cjeca32/ausb/libausb.la \ -lstdc++ @THREAD_LIBS@ $(hal_libs) $(pcsc_libraries) $(pcsc_lib) $(libusb_LIBS) else libcyberjack_la_LIBADD=\ -lstdc++ @THREAD_LIBS@ $(pcsc_libraries) $(pcsc_lib) endif if USE_XML2 libcyberjack_la_LIBADD+=$(libxml2_libs) endif libcyberjack_la_LDFLAGS=\ -version-info @CYBERJACK_SO_CURRENT@:@CYBERJACK_SO_REVISION@:@CYBERJACK_SO_AGE@ noinst_HEADERS=\ driver.hpp \ driver_pcsc.hpp driver_pcsc_p.hpp \ module.hpp mtemplate.hpp modulestore.hpp noinst_PROGRAMS=libtest libtest_SOURCES=libtest.cpp libtest_LDADD=libcyberjack.la -ldl -lstdc++ $(pcsc_libraries) $(pcsc_lib) $(libusb_LIBS) #libtest_LDFLAGS=-all-static pcsc-cyberjack-3.99.5final.SP03/libcyberjack/driver_pcsc.cpp0000644000175000001440000002627111657145411022362 0ustar sctusers/*************************************************************************** begin : Thu Mar 26 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "driver_pcsc_p.hpp" #include "driver_pcsc.hpp" #include "cyberjack_l.h" #include "Debug.h" #include #include #include #include #include #include #include #include #define DEBUGP(ctn, format, args...) \ rsct_log(ctn, DEBUG_MASK_CTAPI, __FILE__, __LINE__, __FUNCTION__, format, ## args) #define DEBUGL(ctn, hdr, len, data) \ rsct_log_bytes(ctn, DEBUG_MASK_CTAPI, __FILE__, __LINE__, __FUNCTION__, hdr, len, data) namespace Cyberjack { class ReaderPcsc: public Reader { public: ReaderPcsc(Driver *driver, const std::string &name); virtual ~ReaderPcsc(); virtual int connect(int object); virtual int disconnect(); virtual int connectedObject(); virtual int sendApdu(uint8_t *dad, uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); virtual int test(std::string &result); public: int m_connectedObject; SCARDHANDLE m_card; DWORD m_verify_ctrl; DWORD m_modify_ctrl; DWORD m_universal_ctrl; }; class DriverPcsc: public Driver { public: DriverPcsc(); virtual ~DriverPcsc(); virtual int open(); virtual int enumReaders(); virtual int close(); SCARDCONTEXT m_context; }; ReaderPcsc::ReaderPcsc(Driver *driver, const std::string &name) : Reader(driver, name, "", "", BusType_Pcsc, 0, 0) , m_connectedObject(Object_None) { } ReaderPcsc::~ReaderPcsc() { } int ReaderPcsc::connect(int object) { std::string devName; DriverPcsc *d=dynamic_cast(m_driver); if (m_connectedObject==object) return ErrorCode_Ok; if (object!=Object_None) { LONG rv; DWORD length; DWORD i; DWORD dwActiveProtocol; unsigned char bRecvBuffer[300]; PCSC_TLV_STRUCTURE *tlv; /* connect reader */ dwActiveProtocol=-1; if (object==Object_Reader) rv=SCardConnect(d->m_context, m_name.c_str(), SCARD_SHARE_DIRECT, SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, &m_card, &dwActiveProtocol); else rv=SCardConnect(d->m_context, m_name.c_str(), SCARD_SHARE_EXCLUSIVE, SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, &m_card, &dwActiveProtocol); if (rv!=SCARD_S_SUCCESS) { fprintf(stderr, "SCardConnect: %s (%lX)\n", pcsc_stringify_error(rv), rv); return ErrorCode_IO; } /* get control codes */ m_verify_ctrl=0; m_modify_ctrl=0; m_universal_ctrl=0; rv=SCardControl(m_card, CM_IOCTL_GET_FEATURE_REQUEST, NULL, 0, bRecvBuffer, sizeof(bRecvBuffer), &length); if (rv!=SCARD_S_SUCCESS) { fprintf(stderr, "SCardControl: %s (%lX)\n", pcsc_stringify_error(rv), rv); SCardDisconnect(m_card, SCARD_UNPOWER_CARD); return ErrorCode_IO; } if (length % sizeof(PCSC_TLV_STRUCTURE)) { fprintf(stderr, "Inconsistent result! Bad TLV values!\n"); SCardDisconnect(m_card, SCARD_UNPOWER_CARD); return ErrorCode_IO; } length /= sizeof(PCSC_TLV_STRUCTURE); tlv = (PCSC_TLV_STRUCTURE*) bRecvBuffer; for (i=0; iSAD=*sad; usent->DAD=*dad; usent->BufferLength=cmd_len; memmove(&usent->buffer, cmd, cmd_len); rlength=(*response_len)-sizeof(MCTUniversal_t); urecvd=(MCTUniversal_t*)response; rv=SCardControl(m_card, m_universal_ctrl, wbuf, wlength, response, rlength, &rlength); free(wbuf); if (rv!=SCARD_S_SUCCESS) { fprintf(stderr, "SCardControl: %s (%lX)\n", pcsc_stringify_error(rv), rv); return ErrorCode_IO; } *sad=urecvd->SAD; *dad=urecvd->DAD; rlength=urecvd->BufferLength; memmove(response, &urecvd->buffer, rlength); *response_len=rlength; return ErrorCode_Ok; } else { fprintf(stderr, "Device not connected\n"); return ErrorCode_Invalid; } } int ReaderPcsc::test(std::string &result) { return ErrorCode_Ok; } DriverPcsc::DriverPcsc() : Driver() { } DriverPcsc::~DriverPcsc() { } int DriverPcsc::open() { LONG rv; SCARDCONTEXT hContext; rv=SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext); if (rv!=SCARD_S_SUCCESS){ if (rv==SCARD_E_NO_SERVICE) { //fprintf(stderr, "No SCard service (pcscd not running)\n"); return ErrorCode_NoService; } fprintf(stderr, "SCardEstablishContext: Cannot Connect to Resource Manager: %s (%lX)\n", pcsc_stringify_error(rv), rv); return ErrorCode_IO; } m_context=hContext; return ErrorCode_Ok; } int DriverPcsc::close() { LONG rv; rv=SCardReleaseContext(m_context); if (rv!=SCARD_S_SUCCESS) fprintf(stderr, "SCardReleaseContext: %s (0x%lX)\n", pcsc_stringify_error(rv), rv); return ErrorCode_Ok; } static ReaderPcsc *findReader(const char *name, std::list &rl) { std::list::iterator it; for (it=rl.begin(); it!=rl.end(); it++) { ReaderPcsc *r=dynamic_cast(*it); if (r) { if (strcasecmp(r->getName().c_str(), name)==0) return r; } } return NULL; } int DriverPcsc::enumReaders() { LONG rv; DWORD dwReaders; LPSTR mszReaders; char *ptr; std::list::iterator rit; /* set previous update counter for all devices which have a counter of 0. * this means all deviced added in the last round now get a real counter value */ for (rit=m_readerList.begin(); rit!=m_readerList.end(); rit++) { Reader *r=*rit; if (r->getUpdateCounter()==0) r->setUpdateCounter(m_updateCounter); } /* start next round */ m_updateCounter++; /* Retrieve the available readers list */ rv=SCardListReaders(m_context, NULL, NULL, &dwReaders); if (rv!=SCARD_S_SUCCESS) { fprintf(stderr, "SCardListReader: %s (%lX)\n", pcsc_stringify_error(rv), rv); return ErrorCode_IO; } mszReaders=(LPSTR) malloc(sizeof(char)*dwReaders); if (mszReaders==NULL){ fprintf(stderr, "malloc: not enough memory\n"); return ErrorCode_IO; } rv=SCardListReaders(m_context, NULL, mszReaders, &dwReaders); if (rv!=SCARD_S_SUCCESS) fprintf(stderr, "SCardListReader: %s (%lX)\n", pcsc_stringify_error(rv), rv); /* create readers */ ptr=mszReaders; while (*ptr != '\0'){ //fprintf(stderr, "Found device: %s\n", ptr); if (strncasecmp(ptr, "REINER SCT", 10)==0) { ReaderPcsc *r; r=findReader(ptr, m_readerList); if (r) { //fprintf(stderr, "Found reader\n"); r->setUpdateCounter(m_updateCounter); } else { int res; /* create new reader */ r=new ReaderPcsc(this, ptr); r->setVendorId(0x0c4b); res=r->gatherInfo(true); if (res!=ErrorCode_Ok) { //fprintf(stderr, "Unable to connect reader\n"); } else { const cj_ReaderInfo &ri=r->getReaderInfo(); if (ri.ContentsMask & RSCT_READER_MASK_PID) { r->setProductId(ri.PID); } if (ri.ContentsMask & RSCT_READER_MASK_SERIALNUMBER) { r->setSerialNumber(std::string((const char*)ri.SeriaNumber)); } if (ri.ContentsMask & RSCT_READER_MASK_PRODUCT_STRING) { r->setProductString(std::string((const char*)ri.ProductString)); } } r->setUpdateCounter(0); /* 0 means "just created" */ m_readerList.push_back(r); } } ptr+=strlen(ptr)+1; } return 0; } Driver *NewDriverPcsc() { return new DriverPcsc(); } } /* namespace */ pcsc-cyberjack-3.99.5final.SP03/libcyberjack/Makefile.in0000644000175000001440000006241711660201015021405 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ @USE_XML2_TRUE@am__append_1 = $(libxml2_libs) noinst_PROGRAMS = libtest$(EXEEXT) subdir = libcyberjack DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = @USE_XML2_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) @ENABLE_NONSERIAL_FALSE@libcyberjack_la_DEPENDENCIES = \ @ENABLE_NONSERIAL_FALSE@ $(am__DEPENDENCIES_1) \ @ENABLE_NONSERIAL_FALSE@ $(am__DEPENDENCIES_1) \ @ENABLE_NONSERIAL_FALSE@ $(am__DEPENDENCIES_2) @ENABLE_NONSERIAL_TRUE@libcyberjack_la_DEPENDENCIES = \ @ENABLE_NONSERIAL_TRUE@ ../cjeca32/ausb/libausb.la \ @ENABLE_NONSERIAL_TRUE@ $(am__DEPENDENCIES_1) \ @ENABLE_NONSERIAL_TRUE@ $(am__DEPENDENCIES_1) \ @ENABLE_NONSERIAL_TRUE@ $(am__DEPENDENCIES_1) \ @ENABLE_NONSERIAL_TRUE@ $(am__DEPENDENCIES_1) \ @ENABLE_NONSERIAL_TRUE@ $(am__DEPENDENCIES_2) am_libcyberjack_la_OBJECTS = driver.lo driver_pcsc.lo module.lo \ mtemplate.lo modulestore.lo libcyberjack_la_OBJECTS = $(am_libcyberjack_la_OBJECTS) libcyberjack_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(libcyberjack_la_LDFLAGS) $(LDFLAGS) -o $@ PROGRAMS = $(noinst_PROGRAMS) am_libtest_OBJECTS = libtest.$(OBJEXT) libtest_OBJECTS = $(am_libtest_OBJECTS) libtest_DEPENDENCIES = libcyberjack.la $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(libcyberjack_la_SOURCES) $(libtest_SOURCES) DIST_SOURCES = $(libcyberjack_la_SOURCES) $(libtest_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 HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ SUBDIRS = checksuite libdialog INCLUDES = $(pcsc_includes) $(libxml2_includes) \ -I../include -I../include/driver -I../ifd -I../libcyberjack -I../cjeca32 -I../include/firmware -Iausb #AM_CFLAGS=$(visibility_cflags) @cyberjack_platform_def@ #AM_CPPFLAGS=$(visibility_cflags) @cyberjack_platform_def@ AM_CFLAGS = @cyberjack_platform_def@ AM_CPPFLAGS = @cyberjack_platform_def@ noinst_LTLIBRARIES = libcyberjack.la libcyberjack_la_SOURCES = \ driver.cpp \ driver_pcsc.cpp \ module.cpp \ mtemplate.cpp \ modulestore.cpp @ENABLE_NONSERIAL_FALSE@libcyberjack_la_LIBADD = -lstdc++ \ @ENABLE_NONSERIAL_FALSE@ @THREAD_LIBS@ $(pcsc_libraries) \ @ENABLE_NONSERIAL_FALSE@ $(pcsc_lib) $(am__append_1) @ENABLE_NONSERIAL_TRUE@libcyberjack_la_LIBADD = \ @ENABLE_NONSERIAL_TRUE@ ../cjeca32/ausb/libausb.la -lstdc++ \ @ENABLE_NONSERIAL_TRUE@ @THREAD_LIBS@ $(hal_libs) \ @ENABLE_NONSERIAL_TRUE@ $(pcsc_libraries) $(pcsc_lib) \ @ENABLE_NONSERIAL_TRUE@ $(libusb_LIBS) $(am__append_1) libcyberjack_la_LDFLAGS = \ -version-info @CYBERJACK_SO_CURRENT@:@CYBERJACK_SO_REVISION@:@CYBERJACK_SO_AGE@ noinst_HEADERS = \ driver.hpp \ driver_pcsc.hpp driver_pcsc_p.hpp \ module.hpp mtemplate.hpp modulestore.hpp libtest_SOURCES = libtest.cpp libtest_LDADD = libcyberjack.la -ldl -lstdc++ $(pcsc_libraries) $(pcsc_lib) $(libusb_LIBS) all: all-recursive .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libcyberjack/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libcyberjack/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libcyberjack.la: $(libcyberjack_la_OBJECTS) $(libcyberjack_la_DEPENDENCIES) $(libcyberjack_la_LINK) $(libcyberjack_la_OBJECTS) $(libcyberjack_la_LIBADD) $(LIBS) clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list libtest$(EXEEXT): $(libtest_OBJECTS) $(libtest_DEPENDENCIES) @rm -f libtest$(EXEEXT) $(CXXLINK) $(libtest_OBJECTS) $(libtest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/driver.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/driver_pcsc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/modulestore.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtemplate.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ clean-noinstPROGRAMS 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 html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -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: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-noinstLTLIBRARIES clean-noinstPROGRAMS 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-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-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am #libtest_LDFLAGS=-all-static # 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: pcsc-cyberjack-3.99.5final.SP03/libcyberjack/driver.cpp0000644000175000001440000002613111657145411021345 0ustar sctusers/*************************************************************************** begin : Tue Mar 24 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "driver.hpp" #include "cyberjack_l.h" #include #include #include namespace Cyberjack { Reader::Reader(Driver *driver, const std::string &name, const std::string &productString, const std::string &serial, int busType, uint32_t vendorId, uint32_t productId) :m_driver(driver) ,m_name(name) ,m_productString(productString) ,m_serial(serial) ,m_busType(busType) ,m_vendorId(vendorId) ,m_productId(productId) ,m_updateCounter(0) { /* clear reader info */ memset(&m_readerInfo, 0, sizeof(m_readerInfo)); m_readerInfo.SizeOfStruct=sizeof(m_readerInfo); } Reader::~Reader() { } int Reader::connect(int object) { return ErrorCode_NotSupported; } int Reader::disconnect() { return ErrorCode_NotSupported; } int Reader::connectedObject() { return ErrorCode_NotSupported; } int Reader::sendApdu(uint8_t *dad, uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { return ErrorCode_NotSupported; } int Reader::_getNumberOfModules() { unsigned char dad, sad, rsp[512]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; /* get module count */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_GETMODCOUNT; apdu[alen++]=0x00; apdu[alen++]=0x00; lr=sizeof(rsp); ret=sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return -1; if (rsp[lr-2]!=0x90) { return -1; } return (int)rsp[0]; } int Reader::_getModuleInfo(int idx, cj_ModuleInfo *modInfo) { unsigned char dad, sad, rsp[512]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; unsigned int l; /* get module count */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_GETMODINFO; apdu[alen++]=(uint8_t)idx; apdu[alen++]=0x00; lr=sizeof(rsp); ret=sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return -1; if (rsp[lr-2]!=0x90) { return -1; } if (lr<3) { fprintf(stderr, "Too few bytes returned (%d)\n", lr); return -1; } lr-=2; l=sizeof(cj_ModuleInfo); if (l>lr) l=lr; memmove(modInfo, rsp, l); return ErrorCode_Ok; } int Reader::_getReaderInfo(cj_ReaderInfo *readerInfo) { unsigned char dad, sad, rsp[1024]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; unsigned int l; /* get module count */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_GETREADERINFO; apdu[alen++]=0x00; apdu[alen++]=0x00; lr=sizeof(rsp); ret=sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return -1; if (rsp[lr-2]!=0x90) { return -1; } if (lr<3) { fprintf(stderr, "Too few bytes returned (%d)\n", lr); return -1; } lr-=2; l=sizeof(cj_ReaderInfo); if (l>lr) l=lr; memmove(readerInfo, rsp, l); return ErrorCode_Ok; } int Reader::gatherInfo(bool doConnect) { int rv; /* reset */ m_moduleInfos.clear(); memset(&m_readerInfo, 0, sizeof(m_readerInfo)); m_readerInfo.SizeOfStruct=sizeof(m_readerInfo); if (doConnect) { rv=connect(Object_Reader); if (rv!=ErrorCode_Ok) { //fprintf(stderr, "Error connecting reader: %d\n", rv); return rv; } } /* get reader info */ rv=_getReaderInfo(&m_readerInfo); if (rv<0) { //fprintf(stderr, "Error getting reader info: %d\n", rv); if (doConnect) disconnect(); return rv; } if (getProductId()>=0x400) { int n; int i; /* get number of modules */ rv=_getNumberOfModules(); if (rv<0) { //fprintf(stderr, "Error getting module count: %d\n", rv); if (doConnect) disconnect(); return rv; } n=rv; /* read module infos */ for (i=0; iSizeOfStruct=sizeof(cj_ModuleInfo); rv=_getModuleInfo(i, mi); if (rv!=ErrorCode_Ok) { m_moduleInfos.pop_back(); //fprintf(stderr, "Error getting module info: %d\n", rv); if (doConnect) disconnect(); return rv; } } } if (doConnect) { rv=disconnect(); if (rv!=ErrorCode_Ok) { //fprintf(stderr, "Error disconnecting reader: %d\n", rv); return rv; } } return ErrorCode_Ok; } int Reader::test(std::string &result) { result+="Test ist nicht implementiert\n"; return ErrorCode_Ok; } int Reader::_sendData(uint8_t ins, const uint8_t *pdata, uint32_t ldata) { unsigned char dad, sad, rsp[512]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; int first=1; /* send module */ while(ldata) { uint32_t l; l=ldata; if (l>240) l=240; dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=ins; if (first) apdu[alen++]=0x20; /* first data block */ else apdu[alen++]=0x00; apdu[alen++]=0x00; apdu[alen++]=l & 0xff; memmove(apdu+alen, pdata, l); alen+=l; lr=sizeof(rsp); ret=sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return -1; if (rsp[lr-2]!=0x90) return ErrorCode_Generic; ldata-=l; pdata+=l; first=0; } /* while ldata */ return ErrorCode_Ok; } int Reader::sendModuleToFlash(const uint8_t *pdata, uint32_t ldata) { return _sendData(CJ_SPECIAL_INS_UPLOADMOD, pdata, ldata); } int Reader::sendSignatureToFlash(const uint8_t *pdata, uint32_t ldata) { return _sendData(CJ_SPECIAL_INS_UPLOADSIG, pdata, ldata); } int Reader::flash() { unsigned char dad, sad, rsp[512]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; /* get module count */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_UPLOADFLASH; apdu[alen++]=0x00; apdu[alen++]=0x00; lr=sizeof(rsp); ret=sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return ErrorCode_IO; if (rsp[lr-2]!=0x90) { return ErrorCode_Generic; } return ErrorCode_Ok; } int Reader::deleteAllModules(bool doConnect) { unsigned char dad, sad, rsp[512]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; int rv; if (doConnect) { rv=connect(Object_Reader); if (rv!=ErrorCode_Ok) { //fprintf(stderr, "Error connecting reader: %d\n", rv); return rv; } } /* get module count */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_DELETEALLMODS; apdu[alen++]=0x00; apdu[alen++]=0x00; lr=sizeof(rsp); ret=sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) { if (doConnect) disconnect(); return ErrorCode_IO; } if (rsp[lr-2]!=0x90) { if (doConnect) disconnect(); return ErrorCode_Generic; } /* reload module info */ rv=gatherInfo(false); if (rv!=ErrorCode_Ok) { if (doConnect) disconnect(); return rv; } if (doConnect) { rv=disconnect(); if (rv!=ErrorCode_Ok) { //fprintf(stderr, "Error disconnecting reader: %d\n", rv); return rv; } } return ErrorCode_Ok; } int Reader::updateKeys(const uint8_t *pdata, uint32_t ldata) { unsigned char dad, sad, rsp[512]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; int first=1; /* send module */ while(ldata) { uint32_t l; uint8_t p1=0; if (first) p1|=0x20; /* first data block */ l=ldata; if (l>240) l=240; if ((ldata-l)<1) p1|=0x80; /* last data block */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_KEYUPDATE; apdu[alen++]=p1; apdu[alen++]=0x00; apdu[alen++]=l & 0xff; memmove(apdu+alen, pdata, l); alen+=l; lr=sizeof(rsp); ret=sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return -1; if (rsp[lr-2]!=0x90) return ErrorCode_Generic; ldata-=l; pdata+=l; first=0; } /* while ldata */ return ErrorCode_Ok; } Driver::Driver() :m_updateCounter(0) { } Driver::~Driver() { clearReaderList(); } int Driver::open() { return ErrorCode_NotSupported; } int Driver::enumReaders() { return ErrorCode_NotSupported; } int Driver::close() { return ErrorCode_NotSupported; } void Driver::clearReaderList() { std::list::iterator it; for (it=m_readerList.begin(); it!=m_readerList.end(); it++) delete *it; m_readerList.clear(); } void Driver::removeOldReaders() { bool stop; stop=false; while(!stop) { std::list::iterator it; stop=true; for (it=m_readerList.begin(); it!=m_readerList.end(); it++) { if ((*it)->getUpdateCounter()>0 && (*it)->getUpdateCounter() #include #include #include "cyberjack_l.h" #include "cjeca32.h" namespace Cyberjack { class Driver; enum { ErrorCode_Ok=0, ErrorCode_Generic=-1, ErrorCode_Invalid=-2, ErrorCode_NoDevice=-3, ErrorCode_NotSupported=-4, ErrorCode_IO=-5, ErrorCode_NoService=-6 }; enum { Object_None=0, Object_Reader, Object_Card0, Object_Card1, Object_Card2, Object_Card3 }; enum { BusType_None=0, BusType_UsbRaw, BusType_UsbTty, BusType_Serial, BusType_Pcsc, }; class Reader { public: virtual ~Reader(); Driver *getDriver() const { return m_driver;}; /** @name Lowlevel Methods * */ /*@{*/ virtual int connect(int object); virtual int disconnect(); virtual int connectedObject(); virtual int sendApdu(uint8_t *dad, uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); virtual int test(std::string &result); /*@}*/ /** @name Reader Information * * Some of the methods described here need @ref gatherInfo() to be called * before. */ /*@{*/ const std::string &getName() const { return m_name;}; const std::string &getProductString() const { return m_productString;}; const std::string &getSerial() const { return m_serial;}; int getBusType() const { return m_busType;}; uint32_t getVendorId() const { return m_vendorId;}; uint32_t getProductId() const { return m_productId;}; /** * This information is only available after @ref gatherInfo has been called. */ const std::list &getModuleInfos() const { return m_moduleInfos;}; /** * This information is only available after @ref gatherInfo has been called. */ const cj_ReaderInfo &getReaderInfo() const { return m_readerInfo;}; /** * Every time @ref Driver::enumReaders() is called an internal update counter * in the driver is incremented. New readers enumerated by that method always get * the update counter value "0". Devices which have already been available in previous * @ref Driver::enumReaders() calls are assigned the driver's current update counter * value. So in order to determine whether a reader is new, old or away is to compare * the value returned here to that returned by @ref Driver::getUpdateCounter(): *
    *
  • reader's update counter is 0: device has just been enumerated
  • *
  • reader's update counter < driver's update counter: device is gone
  • *
  • reader's update counter == driver's update counter: device is still available
  • *
*/ uint32_t getUpdateCounter() const { return m_updateCounter;}; /** * This method should only be called by a Driver implementation. */ void setUpdateCounter(uint32_t i) { m_updateCounter=i;}; /*@}*/ /** @name Common Highlevel Methods * * Methods in this group send special APDU's to get extended information about * a reader or to modify its setup. */ /*@{*/ /** * Retrieves reader- and module information from the device and stores them * internally. */ int gatherInfo(bool doConnect); /** * Send the given module data to the driver. This is the first step when * flashing a module/kernel to the reader. * Usually the data comes from a file ending in ".bin". */ int sendModuleToFlash(const uint8_t *pdata, uint32_t ldata); /** * Send the given signature data to the driver. This is the second step when * flashing a module/kernel to the reader. * Usually the data comes from a file ending in ".sgn". */ int sendSignatureToFlash(const uint8_t *pdata, uint32_t ldata); /** * Flash the data previously send using @ref sendModuleToFlash and * @ref sendSignatureToFlash. */ int flash(); /** * Delete all currently installed modules from the reader. */ int deleteAllModules(bool doConnect); /** * Send new keys to the reader. Such keys are used to verify the integrity * of the kernel and other modules. */ int updateKeys(const uint8_t *pdata, uint32_t ldata); /*@}*/ void setVendorId(uint32_t id) { m_vendorId=id;}; void setProductId(uint32_t id) { m_productId=id;}; void setProductString(const std::string &s) { m_productString=s;}; void setSerialNumber(const std::string &s) { m_serial=s;}; protected: Reader(Driver *driver, const std::string &name, const std::string &productString, const std::string &serial, int busType, uint32_t vendorId, uint32_t productId); int _getReaderInfo(cj_ReaderInfo *readerInfo); int _getNumberOfModules(); int _getModuleInfo(int idx, cj_ModuleInfo *modInfo); int _sendData(uint8_t ins, const uint8_t *pdata, uint32_t ldata); Driver *m_driver; std::string m_name; std::string m_productString; std::string m_serial; int m_busType; uint32_t m_vendorId; uint32_t m_productId; uint32_t m_updateCounter; std::list m_moduleInfos; cj_ReaderInfo m_readerInfo; }; class Driver { public: virtual ~Driver(); virtual int open(); virtual int enumReaders(); virtual int close(); std::list &getReaders() { return m_readerList;}; uint32_t getUpdateCounter() const { return m_updateCounter;}; void removeOldReaders(); void clearReaderList(); protected: Driver(); void setUpdateCounter(uint32_t i) { m_updateCounter=i;}; uint32_t m_updateCounter; std::list m_readerList; }; } /* namespace */ #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/driver_pcsc_p.hpp0000644000175000001440000000415411657145411022702 0ustar sctusers/*************************************************************************** begin : Thu Mar 26 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef LIBCYBERJACK_DRIVER_PCSC_P_HPP #define LIBCYBERJACK_DRIVER_PCSC_P_HPP #include #ifdef __cplusplus extern "C" { #endif #include /* Set structure elements aligment on bytes * http://gcc.gnu.org/onlinedocs/gcc/Structure_002dPacking-Pragmas.html */ #ifdef __APPLE__ #pragma pack(1) #else #pragma pack(push, 1) #endif typedef struct { uint8_t SAD; uint8_t DAD; uint16_t BufferLength; uint8_t buffer; } MCTUniversal_t; #ifdef __APPLE__ #pragma pack() #else #pragma pack(pop) #endif #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/module.hpp0000644000175000001440000000556111657145411021350 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef LIBCYBERJACK_MODULE_HPP #define LIBCYBERJACK_MODULE_HPP #include #include #include namespace Cyberjack { class Module { public: Module(const char *path); ~Module(); const std::string &getReaderType() const { return m_readerType;}; const std::string &getModuleName() const { return m_moduleName;}; const std::string &getDescrAny() const { return m_descrAny;}; const std::string &getDescrDe() const { return m_descrDe;}; std::string getDescr() const; const std::string &getBinFileName() const { return m_binFileName;}; const std::string &getSigFileName() const { return m_sigFileName;}; const std::string &getBinFileData() const { return m_binFileData;}; const std::string &getSigFileData() const { return m_sigFileData;}; /** read the module description from the given XML node (pointing to a "" * node). */ void readXml(xmlNodePtr n); bool readModuleBinaries(); protected: std::string m_path; std::string m_readerType; std::string m_moduleName; std::string m_descrDe; std::string m_descrAny; std::string m_binFileName; std::string m_sigFileName; std::string m_binFileData; std::string m_sigFileData; bool m_force; }; } /* namespace */ #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libtest.cpp0000644000175000001440000002023111657145411021513 0ustar sctusers #ifdef HAVE_CONFIG_H # include #endif #include "driver_pcsc.hpp" #include "cyberjack_l.h" #include #include #include using namespace Cyberjack; int getNumberOfModules(Reader *r) { unsigned char dad, sad, rsp[512]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; //int i; /* get module count */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_GETMODCOUNT; apdu[alen++]=0x00; apdu[alen++]=0x00; lr=sizeof(rsp); ret=r->sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); #if 0 printf( "CT_data: %d\n", ret ); #endif if(ret!=CT_API_RV_OK) return -1; #if 0 printf(" sad: %d, dad: %d, rsp:", sad, dad ); for( i=0; isendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return -1; if (rsp[lr-2]!=0x90) { return -1; } if (lr<3) { fprintf(stderr, "Too few bytes returned (%d)\n", lr); return -1; } lr-=2; l=sizeof(cj_ModuleInfo); if (l>lr) l=lr; memmove(modInfo, rsp, l); return ErrorCode_Ok; } int getReaderInfo(Reader *r, cj_ReaderInfo *readerInfo) { unsigned char dad, sad, rsp[1024]; unsigned short lr; unsigned char apdu[256]; unsigned int alen; char ret; unsigned int l; /* get module count */ dad=CT_API_AD_DRIVER; sad=CT_API_AD_HOST; alen=0; apdu[alen++]=CJ_SPECIAL_CLA; apdu[alen++]=CJ_SPECIAL_INS_GETREADERINFO; apdu[alen++]=0x00; apdu[alen++]=0x00; lr=sizeof(rsp); ret=r->sendApdu(&dad, &sad, alen, apdu, &lr, rsp ); if(ret!=CT_API_RV_OK) return -1; if (rsp[lr-2]!=0x90) { return -1; } if (lr<3) { fprintf(stderr, "Too few bytes returned (%d)\n", lr); return -1; } lr-=2; l=sizeof(cj_ReaderInfo); if (l>lr) l=lr; memmove(readerInfo, rsp, l); return ErrorCode_Ok; } int main(int argc, char **argv) { #ifdef HAVE_PCSC Driver *dr=NewDriverPcsc(); #else Driver *dr=new DriverCtapi(); #endif int rv; std::list::const_iterator it; rv=dr->open(); if (rv<0) { fprintf(stderr, "Error in open: %d\n", rv); return 2; } rv=dr->enumReaders(); if (rv<0) { fprintf(stderr, "Error in enumReaders: %d\n", rv); return 2; } for (it=dr->getReaders().begin(); it!=dr->getReaders().end(); it++) { int rv; fprintf(stderr, " - %s (%04x, %04x: %s)\n", (*it)->getName().c_str(), (*it)->getVendorId(), (*it)->getProductId(), (*it)->getSerial().c_str()); rv=(*it)->gatherInfo(true); if (rv!=ErrorCode_Ok) { fprintf(stderr, "Error gathering info: %d\n", rv); return 2; } if (1 /*(*it)->getProductId()>=0x400 ||*/) { const cj_ReaderInfo &ri=(*it)->getReaderInfo(); if (ri.ContentsMask & RSCT_READER_MASK_PID) fprintf(stderr, " PID : %x\n", ri.PID); if (ri.ContentsMask & RSCT_READER_MASK_HARDWARE) { fprintf(stderr, " Hardware-Mask : %x\n",ri.HardwareMask); fprintf(stderr, " Reader supports :"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC1) fprintf(stderr, " ICC1"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC2) fprintf(stderr, " ICC2"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC3) fprintf(stderr, " ICC3"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC4) fprintf(stderr, " ICC4"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC5) fprintf(stderr, " ICC5"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC6) fprintf(stderr, " ICC6"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC7) fprintf(stderr, " ICC7"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC8) fprintf(stderr, " ICC8"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_KEYPAD) fprintf(stderr, " Keypad"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_DISPLAY) fprintf(stderr, " Display"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_BIOMETRIC) fprintf(stderr, " Fingersensor"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_UPDATEABLE) fprintf(stderr, " Firmwareupdate"); if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_MODULES) fprintf(stderr, " Sicherheitsmodule"); } fprintf(stderr, "\n"); if (ri.ContentsMask & RSCT_READER_MASK_VERSION) fprintf(stderr, " Version : %x\n", ri.Version); if (ri.ContentsMask & RSCT_READER_MASK_HARDWARE_VERSION) fprintf(stderr, " Hardware-Version : %x\n", ri.HardwareVersion); if (ri.ContentsMask & RSCT_READER_MASK_FLASH_SIZE) fprintf(stderr, " Flashgroesse : %d\n", ri.FlashSize); if (ri.ContentsMask & RSCT_READER_MASK_HEAP_SIZE) fprintf(stderr, " Heapgroesse : %d\n", ri.HeapSize); if (ri.ContentsMask & RSCT_READER_MASK_SERIALNUMBER) fprintf(stderr, " Seriennummer : %s\n", ri.SeriaNumber); if (ri.ContentsMask & RSCT_READER_MASK_VENDOR_STRING) fprintf(stderr, " Hersteller : %s\n", ri.VendorString); if (ri.ContentsMask & RSCT_READER_MASK_PRODUCT_STRING) fprintf(stderr, " Produkt : %s\n", ri.ProductString); if (ri.ContentsMask & RSCT_READER_MASK_PRODUCTION_DATE) fprintf(stderr, " Herstellungsdatum : %s %s\n", ri.ProductionDate, ri.ProductionTime); if (ri.ContentsMask & RSCT_READER_MASK_TEST_DATE) fprintf(stderr, " Testdatum : %s %s\n", ri.TestDate, ri.TestTime); if (ri.ContentsMask & RSCT_READER_MASK_COMMISSIONING_DATE) fprintf(stderr, " Ausgabedatum : %s %s\n", ri.CommissioningDate, ri.CommissioningTime); if (ri.ContentsMask & RSCT_READER_MASK_COM_TYPE) fprintf(stderr, " Anschlussart : %s\n", ri.CommunicationString); if (ri.ContentsMask & RSCT_READER_MASK_PORT_ID) fprintf(stderr, " Anschlussnummer : %d\n", ri.PortID); if (ri.ContentsMask & RSCT_READER_MASK_IFD_BRIDGE) fprintf(stderr, " IFD-Bridge : %s\n", ri.IFDNameOfIfdBridgeDevice); if (ri.ContentsMask & RSCT_READER_MASK_HW_STRING) fprintf(stderr, " Hardwarestring : %s\n", ri.HardwareString); } /* if newer reader */ if ((*it)->getProductId()>=0x400) { const std::list &modules=(*it)->getModuleInfos(); std::list::const_iterator mit; for (mit=modules.begin(); mit!=modules.end(); mit++) { const cj_ModuleInfo &mi=*mit; fprintf(stderr, " Module information\n"); if (mi.ContentsMask & RSCT_MODULE_MASK_ID) fprintf(stderr, " ID: %08x\n", mi.ID); if (mi.ContentsMask & RSCT_MODULE_MASK_VERSION) fprintf(stderr, " Version: %08x\n", mi.Version); if (mi.ContentsMask & RSCT_MODULE_MASK_REVISION) fprintf(stderr, " Revision: %08x\n", mi.Revision); if (mi.ContentsMask & RSCT_MODULE_MASK_VARIANT) fprintf(stderr, " Variant: %08x\n", mi.Variant); if (mi.ContentsMask & RSCT_MODULE_MASK_DESCRIPTION) fprintf(stderr, " Description: %17s\n", mi.Description); if (mi.ContentsMask & RSCT_MODULE_MASK_DATE) fprintf(stderr, " Date: %12s %6s\n", mi.Date, mi.Time); } } /* if newer reader */ } rv=dr->close(); if (rv<0) { fprintf(stderr, "Error in close: %d\n", rv); return 2; } return 1; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/mtemplate.hpp0000644000175000001440000000443311657145411022050 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef LIBCYBERJACK_MTEMPLATE_HPP #define LIBCYBERJACK_MTEMPLATE_HPP #include #include #include #include namespace Cyberjack { class MTemplate { public: MTemplate(); ~MTemplate(); const std::string &getDescr() const { return m_descr;}; const std::list &getModuleNames() const { return m_moduleNames;}; const std::string &getTemplateName() const { return m_id;}; /** read the module description from the given XML node (pointing to a "" * node). */ void readXml(xmlNodePtr n); protected: std::string m_id; std::string m_descr; std::list m_moduleNames; }; } /* namespace */ #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/0000755000175000001440000000000011660201015021254 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/Makefile.am0000644000175000001440000000131711657145411023327 0ustar sctusersSUBDIRS=base INCLUDES=\ -I../../include/driver \ -I../../cjeca32 \ -I../../cjeca32/ausb \ -Ibase \ -I../../ppa $(pcsc_includes) AM_CFLAGS=$(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" AM_CPPFLAGS=$(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" noinst_LTLIBRARIES=libdialog_client.la libdialog_client_la_SOURCES=dialog.c libdialog_client_la_LIBADD=base/libdialog_base.la $(FOUNDATION_FRAMEWORK) $(SYSCONF_FRAMEWORK) noinst_HEADERS=\ dialog.h\ dialog_p.h noinst_PROGRAMS=libtest libtest_SOURCES=libtest.cpp libtest_LDADD=libdialog_client.la pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/Makefile.in0000644000175000001440000006220111660201015023322 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ noinst_PROGRAMS = libtest$(EXEEXT) subdir = libcyberjack/libdialog DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = libdialog_client_la_DEPENDENCIES = base/libdialog_base.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am_libdialog_client_la_OBJECTS = dialog.lo libdialog_client_la_OBJECTS = $(am_libdialog_client_la_OBJECTS) PROGRAMS = $(noinst_PROGRAMS) am_libtest_OBJECTS = libtest.$(OBJEXT) libtest_OBJECTS = $(am_libtest_OBJECTS) libtest_DEPENDENCIES = libdialog_client.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --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 $@ 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 $@ SOURCES = $(libdialog_client_la_SOURCES) $(libtest_SOURCES) DIST_SOURCES = $(libdialog_client_la_SOURCES) $(libtest_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 HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ SUBDIRS = base INCLUDES = \ -I../../include/driver \ -I../../cjeca32 \ -I../../cjeca32/ausb \ -Ibase \ -I../../ppa $(pcsc_includes) AM_CFLAGS = $(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" AM_CPPFLAGS = $(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" noinst_LTLIBRARIES = libdialog_client.la libdialog_client_la_SOURCES = dialog.c libdialog_client_la_LIBADD = base/libdialog_base.la $(FOUNDATION_FRAMEWORK) $(SYSCONF_FRAMEWORK) noinst_HEADERS = \ dialog.h\ dialog_p.h libtest_SOURCES = libtest.cpp libtest_LDADD = libdialog_client.la all: all-recursive .SUFFIXES: .SUFFIXES: .c .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libcyberjack/libdialog/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libcyberjack/libdialog/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libdialog_client.la: $(libdialog_client_la_OBJECTS) $(libdialog_client_la_DEPENDENCIES) $(LINK) $(libdialog_client_la_OBJECTS) $(libdialog_client_la_LIBADD) $(LIBS) clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list libtest$(EXEEXT): $(libtest_OBJECTS) $(libtest_DEPENDENCIES) @rm -f libtest$(EXEEXT) $(CXXLINK) $(libtest_OBJECTS) $(libtest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dialog.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libtest.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ clean-noinstPROGRAMS 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 html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -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: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-noinstLTLIBRARIES clean-noinstPROGRAMS 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-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-compile \ 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: pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/base/0000755000175000001440000000000011660201015022166 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/base/Makefile.am0000644000175000001440000000103611657145411024237 0ustar sctusers INCLUDES=\ -I../../../include/driver \ -I../../../cjeca32 \ -I../../../cjeca32/ausb \ -I../../../ppa $(pcsc_includes) AM_CFLAGS=$(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" AM_CPPFLAGS=$(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" noinst_LTLIBRARIES=libdialog_base.la libdialog_base_la_SOURCES=\ message.c \ network.c noinst_HEADERS=\ message.h \ network.h pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/base/Makefile.in0000644000175000001440000004234611660201015024244 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = libcyberjack/libdialog/base DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libdialog_base_la_LIBADD = am_libdialog_base_la_OBJECTS = message.lo network.lo libdialog_base_la_OBJECTS = $(am_libdialog_base_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --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 = $(libdialog_base_la_SOURCES) DIST_SOURCES = $(libdialog_base_la_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = \ -I../../../include/driver \ -I../../../cjeca32 \ -I../../../cjeca32/ausb \ -I../../../ppa $(pcsc_includes) AM_CFLAGS = $(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" AM_CPPFLAGS = $(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" noinst_LTLIBRARIES = libdialog_base.la libdialog_base_la_SOURCES = \ message.c \ network.c noinst_HEADERS = \ message.h \ network.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libcyberjack/libdialog/base/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libcyberjack/libdialog/base/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libdialog_base.la: $(libdialog_base_la_OBJECTS) $(libdialog_base_la_DEPENDENCIES) $(LINK) $(libdialog_base_la_OBJECTS) $(libdialog_base_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/message.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags 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: pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/base/message.h0000644000175000001440000000662011657145411024004 0ustar sctusers/*************************************************************************** begin : Wed Jun 16 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_MESSAGE_H #define RSCT_MESSAGE_H #include #ifdef __cplusplus extern "C" { #endif #if defined (__APPLE__) | defined (sun) # pragma pack(1) #else # pragma pack(push, 1) #endif #define RSCT_MAX_MESSAGE_LEN (65*1024) #define RSCT_MAX_BUFFER_LEN 4096 enum RSCT_MESSAGE_COMMANDS { RSCT_Message_Command_OpenDialog, RSCT_Message_Command_CloseDialog, RSCT_Message_Command_SetStage, RSCT_Message_Command_SetCharNum }; struct RSCT_MESSAGE_OPENDIALOG { uint32_t dialogId; uint32_t stages; uint8_t cla; uint8_t ins; uint8_t keyTimeout; char title[128]; char textStage0[512]; char textStage1[512]; char textStage2[512]; int8_t result; }; typedef struct RSCT_MESSAGE_OPENDIALOG RSCT_MESSAGE_OPENDIALOG; struct RSCT_MESSAGE_CLOSEDIALOG { uint32_t dialogId; int8_t result; }; typedef struct RSCT_MESSAGE_CLOSEDIALOG RSCT_MESSAGE_CLOSEDIALOG; struct RSCT_MESSAGE_SETSTAGE { uint32_t dialogId; uint32_t stage; int8_t result; }; typedef struct RSCT_MESSAGE_SETSTAGE RSCT_MESSAGE_SETSTAGE; struct RSCT_MESSAGE_SETCHARNUM { uint32_t dialogId; uint32_t charNum; int8_t beep; int8_t result; }; typedef struct RSCT_MESSAGE_SETCHARNUM RSCT_MESSAGE_SETCHARNUM; struct RSCT_MESSAGE_HEADER { uint8_t type; uint32_t len; }; typedef struct RSCT_MESSAGE_HEADER RSCT_MESSAGE_HEADER; struct RSCT_MESSAGE { RSCT_MESSAGE_HEADER header; union { RSCT_MESSAGE_OPENDIALOG openDialog; RSCT_MESSAGE_CLOSEDIALOG closeDialog; RSCT_MESSAGE_SETSTAGE setStage; RSCT_MESSAGE_SETCHARNUM setCharNum; }; }; typedef struct RSCT_MESSAGE RSCT_MESSAGE; #if defined (__APPLE__) | defined (sun) # pragma pack() #else # pragma pack(pop) #endif #define RSCT_MSG_SIZE(tp) (\ sizeof(struct RSCT_MESSAGE_HEADER)+\ sizeof(tp)) const char *RSCT_MessageTypeToString(int t); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/base/network.h0000644000175000001440000000404011657145411024043 0ustar sctusers/*************************************************************************** begin : Wed Jun 16 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_NET_NETWORK_H #define RSCT_NET_NETWORK_H #include "message.h" #ifdef __cplusplus extern "C" { #endif int rsct_net_listen_by_ip(const char *ip, int port); int rsct_net_listen_by_path(const char *name); int rsct_net_accept(int sk); int rsct_net_connect_by_ip(const char *ip, int port); int rsct_net_connect_by_path(const char *name); int rsct_net_recv(int sk, RSCT_MESSAGE *msg); int rsct_net_send(int sk, const RSCT_MESSAGE *msg); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/base/network.c0000644000175000001440000002312611657145411024044 0ustar sctusers/*************************************************************************** begin : Wed Jun 16 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #include "Platform.h" #include "network.h" #include "message.h" #include #include #include #include #include #include #include #include #include #include #include #include #include /* enable or disable error messages */ #define ENABLE_DEBUGPE /* enable or disable info messages */ /*#define ENABLE_DEBUGPI*/ /* enable or disable debug messages */ /*#define ENABLE_DEBUGPD*/ #ifdef ENABLE_DEBUGPE # define DEBUGPE(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPE(format, args...) #endif #ifdef ENABLE_DEBUGPI # define DEBUGPI(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPI(format, args...) #endif #ifdef ENABLE_DEBUGPD # define DEBUGPD(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPD(format, args...) #endif int rsct_net_listen_by_ip(const char *ip, int port) { union { struct sockaddr raw; struct sockaddr_in in; } addr; int s; int fl; memset(&addr, 0, sizeof(addr)); #if defined(PF_INET) addr.raw.sa_family=PF_INET; #elif defined (AF_INET) addr.raw.sa_family=AF_INET; #endif if (!inet_aton(ip, &addr.in.sin_addr)) { DEBUGPE("ERROR: inet_aton(): %d=%s\n", errno, strerror(errno)); return -1; } addr.in.sin_port=htons(port); #if defined(PF_INET) s=socket(PF_INET, SOCK_STREAM,0); #elif defined (AF_INET) s=socket(AF_INET, SOCK_STREAM,0); #endif if (s==-1) { DEBUGPE("ERROR: socket(): %d=%s\n", errno, strerror(errno)); return -1; } fl=1; if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &fl, sizeof(fl))) { DEBUGPE("ERROR: setsockopt(): %s", strerror(errno)); return -1; } if (bind(s, &addr.raw, sizeof(struct sockaddr_in))) { DEBUGPE("ERROR: bind(): %d=%s\n", errno, strerror(errno)); close(s); return -1; } if (listen(s, 10)) { DEBUGPE("ERROR: listen(): %d=%s\n", errno, strerror(errno)); close(s); return -1; } return s; } int rsct_net_listen_by_path(const char *name) { union { struct sockaddr addr; struct sockaddr_un un; char bin[512]; } a; int s; memset(&a.bin, 0, sizeof(a.bin)); #if defined(PF_UNIX) a.addr.sa_family=PF_UNIX; #elif defined (AF_UNIX) a.addr.sa_family=AF_UNIX; #endif #ifdef PF_UNIX a.un.sun_family=PF_UNIX; #elif defined (AF_UNIX) a.un.sun_family=AF_UNIX; #else fprintf(stderr, "No unix domain sockets available for this system\n"); return -1; #endif a.un.sun_path[0]=0; if (name) { /* ok, address to be set */ if ((strlen(name)+1)>sizeof(a.un.sun_path)) { /* bad address */ fprintf(stderr, "Path too long (%d>%d)\n", (int)(strlen(name)+1),(int)(sizeof(a.un.sun_path))); return -1; } strcpy(a.un.sun_path, name); } /* create socket */ #if defined(PF_UNIX) s=socket(PF_UNIX, SOCK_STREAM, 0); #elif defined (AF_UNIX) s=socket(AF_UNIX, SOCK_STREAM, 0); #endif if (s==-1) { fprintf(stderr, "ERROR: socket(): %d=%s\n", errno, strerror(errno)); return -1; } if (bind(s, &a.addr, sizeof(struct sockaddr_un))) { fprintf(stderr, "ERROR: bind(): %d=%s\n", errno, strerror(errno)); close(s); return -1; } if (listen(s, 10)) { fprintf(stderr, "ERROR: listen(): %d=%s\n", errno, strerror(errno)); close(s); return -1; } return s; } int rsct_net_accept(int sk) { socklen_t addrLen; int newS; struct sockaddr peerAddr; addrLen=sizeof(peerAddr); newS=accept(sk, &peerAddr, &addrLen); if (newS!=-1) return newS; else { if (errno!=EINTR) { DEBUGPE("ERROR: accept(): %d=%s\n", errno, strerror(errno)); } return -1; } } int rsct_net_connect_by_ip(const char *ip, int port) { union { struct sockaddr raw; struct sockaddr_in in; } addr; int s; memset(&addr, 0, sizeof(addr)); #if defined(PF_INET) addr.raw.sa_family=PF_INET; #elif defined (AF_INET) addr.raw.sa_family=AF_INET; #endif if (!inet_aton(ip, &addr.in.sin_addr)) { struct hostent *he; he=gethostbyname(ip); if (!he) { DEBUGPE("ERROR: gethostbyname(%s): %d=%s\n", ip, errno, strerror(errno)); return -1; } memcpy(&(addr.in.sin_addr), he->h_addr_list[0], sizeof(struct in_addr)); } addr.in.sin_port=htons(port); #if defined(PF_INET) s=socket(PF_INET, SOCK_STREAM,0); #elif defined (AF_INET) s=socket(AF_INET, SOCK_STREAM,0); #endif if (s==-1) { DEBUGPE("ERROR: socket(): %d=%s\n", errno, strerror(errno)); return -1; } if (connect(s, &addr.raw, sizeof(struct sockaddr_in))) { DEBUGPE("ERROR: connect(): %d=%s\n", errno, strerror(errno)); close(s); return -1; } return s; } int rsct_net_connect_by_path(const char *name) { union { struct sockaddr addr; struct sockaddr_un un; char bin[512]; } a; int s; memset(&a.bin, 0, sizeof(a.bin)); #if defined(PF_UNIX) a.addr.sa_family=PF_UNIX; #elif defined (AF_UNIX) a.addr.sa_family=AF_UNIX; #endif #ifdef PF_UNIX a.un.sun_family=PF_UNIX; #elif defined (AF_UNIX) a.un.sun_family=AF_UNIX; #else fprintf(stderr, "No unix domain sockets available for this system\n"); return -1; #endif a.un.sun_path[0]=0; if (name) { /* ok, address to be set */ if ((strlen(name)+1)>sizeof(a.un.sun_path)) { /* bad address */ fprintf(stderr, "Path too long (%d>%d)\n", (int)(strlen(name)+1),(int)(sizeof(a.un.sun_path))); return -1; } strcpy(a.un.sun_path,name); } /* create socket */ #if defined(PF_UNIX) s=socket(PF_UNIX, SOCK_STREAM, 0); #elif defined (AF_UNIX) s=socket(AF_UNIX, SOCK_STREAM, 0); #endif if (s==-1) { fprintf(stderr, "ERROR: socket(): %d=%s\n", errno, strerror(errno)); return -1; } if (connect(s, &a.addr, sizeof(struct sockaddr_un))) { fprintf(stderr, "ERROR: connect(): %d=%s\n", errno, strerror(errno)); close(s); return -1; } return s; } int rsct_net_recv(int sk, RSCT_MESSAGE *msg) { char *p; int bytesRead; assert(msg); bytesRead=0; p=(char*) msg; /* read header */ while(bytesReadheader.len>=RSCT_MAX_MESSAGE_LEN) { DEBUGPE("ERROR: Request too long (%d bytes)\n", msg->header.len); return -1; } DEBUGPI("INFO: Message has %d bytes (type: %s)\n", msg->header.len, RSCT_MessageTypeToString(msg->header.type)); /* read payload */ while(bytesReadheader.len) { ssize_t i; i=msg->header.len-bytesRead; i=read(sk, p, i); if (i<0) { DEBUGPE("ERROR: read(): %d=%s\n", errno, strerror(errno)); return -1; } else if (i==0) { DEBUGPE("ERROR: eof met prematurely (payload, %d bytes)\n", bytesRead); return -1; } bytesRead+=i; p+=i; DEBUGPI("INFO: Received %d bytes (payload)\n", bytesRead); } return bytesRead; } int rsct_net_send(int sk, const RSCT_MESSAGE *msg) { int bytesLeft; const uint8_t *p; /* send */ DEBUGPI("INFO: Sending %d bytes (type %s)\n", msg->header.len, RSCT_MessageTypeToString(msg->header.type)); bytesLeft=msg->header.len; p=(const uint8_t*) msg; while(bytesLeft) { ssize_t i; i=send(sk, (const void*)p, bytesLeft, 0); /* evaluate */ if (i<0) { if (errno!=EINTR) { DEBUGPE("ERROR: send(): %d=%s\n", errno, strerror(errno)); return -1; } } else if (i==0) { } else { bytesLeft-=(int) i; p+=i; } } return 0; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/base/message.c0000644000175000001440000000363111657145411023776 0ustar sctusers/*************************************************************************** begin : Wed Jun 16 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #include "Platform.h" #include "message.h" const char *RSCT_MessageTypeToString(int t) { switch(t) { case RSCT_Message_Command_OpenDialog: return "openDialog"; case RSCT_Message_Command_CloseDialog: return "closeDialog"; case RSCT_Message_Command_SetCharNum: return "setCharNum"; default: return "unknown"; } } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/libtest.cpp0000644000175000001440000000163511657145411023450 0ustar sctusers #include "dialog.h" #include #include int main(int argc, char **argv) { RSCT_DIALOG *dlg; int rv; int stage; dlg=rsct_dialog_new("Sichere PIN-Eingabe", 3, 0x20, 0x18, 15, "Bitte geben Sie Ihre bisherige PIN ein", "Bitte geben Sie die neue PIN ein", "Bitte wiederholen Sie die neue PIN"); rv=rsct_dialog_open(dlg); if (rv<0) { fprintf(stderr, "rsct_dialog_open: %d\n", rv); return 2; } for(stage=0; stage<3; stage++) { int i; rv=rsct_dialog_set_stage(dlg, stage); if (rv<0) { fprintf(stderr, "rsct_dialog_set_stage(%d): %d\n", stage, rv); return 2; } for (i=1; i<6; i++) { sleep(3); rv=rsct_dialog_set_char_num(dlg, i, 1); if (rv<0) { fprintf(stderr, "rsct_dialog_set_char_num(%d): %d\n", i, rv); return 2; } } } rsct_dialog_close(dlg); return 0; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/dialog.h0000644000175000001440000000505211657145411022703 0ustar sctusers/*************************************************************************** begin : Wed Jun 16 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_DIALOG_H #define RSCT_DIALOG_H #include "message.h" #ifdef __cplusplus extern "C" { #endif typedef struct RSCT_DIALOG RSCT_DIALOG; #define RSCT_DIALOG_MAX_STAGES 3 RSCT_DIALOG *rsct_dialog_new(const char *title, int stages, uint8_t cla, uint8_t ins, int keyTimeout, const char *textStage0, const char *textStage1, const char *textStage2); void rsct_dialog_free(RSCT_DIALOG *dlg); uint8_t rsct_dialog_get_cla(const RSCT_DIALOG *dlg); uint8_t rsct_dialog_get_ins(const RSCT_DIALOG *dlg); int rsct_dialog_open(RSCT_DIALOG *dlg); void rsct_dialog_close(RSCT_DIALOG *dlg); int rsct_dialog_set_stage(RSCT_DIALOG *dlg, int stage); int rsct_dialog_get_stage(const RSCT_DIALOG *dlg); int rsct_dialog_get_stages(const RSCT_DIALOG *dlg); int rsct_dialog_set_char_num(RSCT_DIALOG *dlg, int charNum, int beep); int rsct_dialog_get_char_num(const RSCT_DIALOG *dlg); int rsct_dialog_get_socket(const RSCT_DIALOG *dlg); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/dialog_p.h0000644000175000001440000000357511657145411023232 0ustar sctusers/*************************************************************************** begin : Wed Jun 16 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_DIALOG_P_H #define RSCT_DIALOG_P_H #include "dialog.h" struct RSCT_DIALOG { uint32_t dialogId; int socket; int stages; int currentStage; unsigned int keyTimeout; char *title; char *textStage0; char *textStage1; char *textStage2; uint8_t cla; uint8_t ins; int numChars; }; #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/libdialog/dialog.c0000644000175000001440000002470011657145411022677 0ustar sctusers/*************************************************************************** begin : Wed Jun 16 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #include "Platform.h" #include "dialog_p.h" #include "network.h" #include #include #include #include #include #include #include #include #ifdef OS_DARWIN # include #endif #ifdef ENABLE_DEBUGPE # define DEBUGPE(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPE(format, args...) #endif #ifdef ENABLE_DEBUGPI # define DEBUGPI(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPI(format, args...) #endif #ifdef ENABLE_DEBUGPD # define DEBUGPD(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPD(format, args...) #endif #ifdef OS_DARWIN static int rsct_dialog_mk_socket() { char buffer[256]; CFStringRef socketPath=NULL; CFStringRef currentUser=SCDynamicStoreCopyConsoleUser(NULL, NULL, NULL); if (currentUser==NULL ) return -1; if ( CFStringGetLength(currentUser) == 0 ) { CFRelease(currentUser); return -1; } if (CFStringGetCString(currentUser, buffer, sizeof(buffer)-1, kCFStringEncodingUTF8)) { struct passwd * pw = getpwnam(buffer); if (pw && pw->pw_dir) { socketPath=CFStringCreateWithFormat(NULL, NULL, CFSTR("/%s/.cyberJack_gui_sock"), pw->pw_dir); } } if (socketPath==NULL ) socketPath=CFStringCreateWithFormat(NULL, NULL, CFSTR("/Users/%@//.cyberJack_gui_sock"), currentUser); if (currentUser) CFRelease(currentUser); if (socketPath==NULL) return -1; if (CFStringGetFileSystemRepresentation(socketPath, buffer, sizeof(buffer))) { int sk; CFRelease(socketPath); sk=rsct_net_connect_by_path(buffer); if (sk==-1) { DEBUGPE("RSCT: Could not connect to [%s]: %s (%d)\n", buffer, strerror(errno), errno); return -1; } return sk; } else { CFRelease(socketPath); return -1; } } #else static int rsct_dialog_mk_socket() { char buffer[256]; struct utmp *u_tmp_p; struct passwd *pw; int sk; while ((u_tmp_p = getutent()) != NULL) { DEBUGPI("RSCT: ut_type=%d, ut_line=[%s]\n", u_tmp_p->ut_type, u_tmp_p->ut_line); if (u_tmp_p->ut_type==USER_PROCESS && (u_tmp_p->ut_line[0]!=0 && strcasecmp(u_tmp_p->ut_line, ":0")==0) && u_tmp_p->ut_user[0]!=0) break; } if (u_tmp_p==NULL) { DEBUGPE("RSCT: No user logged in at XServer :0 (%s (%d))\n", strerror(errno), errno); endutent(); return -1; } pw=getpwnam(u_tmp_p->ut_user); if (pw==NULL) { DEBUGPE("RSCT: Could not get home folder for user [%s]: %s (%d)\n", u_tmp_p->ut_user, strerror(errno), errno); endutent(); return -1; } if (pw->pw_dir==NULL || *(pw->pw_dir)==0) { DEBUGPE("RSCT: User [%s] has no home folder\n", u_tmp_p->ut_user); endutent(); return -1; } strncpy(buffer, pw->pw_dir, sizeof(buffer)-1); strncat(buffer, "/.cyberJack_gui_sock", sizeof(buffer)-1); endutent(); sk=rsct_net_connect_by_path(buffer); if (sk==-1) { DEBUGPE("RSCT: Could not connect to [%s]: %s (%d)\n", buffer, strerror(errno), errno); return -1; } return sk; } #endif RSCT_DIALOG *rsct_dialog_new(const char *title, int stages, uint8_t cla, uint8_t ins, int keyTimeout, const char *textStage0, const char *textStage1, const char *textStage2){ RSCT_DIALOG *dlg; dlg=(RSCT_DIALOG*) malloc(sizeof(RSCT_DIALOG)); if (dlg) { memset(dlg, 0, sizeof(RSCT_DIALOG)); dlg->socket=-1; if (title && *title) dlg->title=strdup(title); else dlg->title=strdup("Reiner SCT cyberJack"); if (textStage0 && *textStage0) dlg->textStage0=strdup(textStage0); else dlg->textStage0=NULL; if (stages>1) { if (textStage1 && *textStage1) dlg->textStage1=strdup(textStage1); else dlg->textStage1=NULL; } if (stages>2) { if (textStage2 && *textStage2) dlg->textStage2=strdup(textStage2); else dlg->textStage2=NULL; } dlg->cla=cla; dlg->ins=ins; dlg->stages=stages; dlg->keyTimeout=keyTimeout; } return dlg; } void rsct_dialog_free(RSCT_DIALOG *dlg) { if (dlg) { free(dlg->title); free(dlg->textStage2); free(dlg->textStage1); free(dlg->textStage0); if (dlg->socket!=-1) close(dlg->socket); free(dlg); } } int rsct_dialog_get_socket(const RSCT_DIALOG *dlg) { return dlg->socket; } int rsct_dialog_get_char_num(const RSCT_DIALOG *dlg) { return dlg->numChars; } int rsct_dialog_set_stage(RSCT_DIALOG *dlg, int stage) { if (dlg && dlg->socket!=-1 && stagedialogId; m.msg.setStage.stage=stage; rv=rsct_net_send(dlg->socket, &m.msg); if (rv<0) { close(dlg->socket); dlg->socket=-1; return rv; } /* receive response */ memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); rv=rsct_net_recv(dlg->socket, &m.msg); if (rv<0) { close(dlg->socket); dlg->socket=-1; return rv; } if (m.msg.setStage.result<0) { close(dlg->socket); dlg->socket=-1; return m.msg.setStage.result; } } dlg->currentStage=stage; return 0; } int rsct_dialog_get_stage(const RSCT_DIALOG *dlg) { if (dlg) return dlg->currentStage; return 0; } int rsct_dialog_get_stages(const RSCT_DIALOG *dlg) { if (dlg) return dlg->stages; return 0; } uint8_t rsct_dialog_get_cla(const RSCT_DIALOG *dlg) { if (dlg) return dlg->cla; return 0; } uint8_t rsct_dialog_get_ins(const RSCT_DIALOG *dlg) { if (dlg) return dlg->ins; return 0; } int rsct_dialog_open(RSCT_DIALOG *dlg) { if (dlg) { int rv; union { char buffer[RSCT_MAX_MESSAGE_LEN]; RSCT_MESSAGE msg; } m; dlg->socket=rsct_dialog_mk_socket(); if (dlg->socket==-1) return -1; /* send OPEN_DIALOG */ memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); m.msg.header.type=RSCT_Message_Command_OpenDialog; m.msg.header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_OPENDIALOG); m.msg.openDialog.stages=dlg->stages; m.msg.openDialog.keyTimeout=dlg->keyTimeout; if (dlg->title) strncpy(m.msg.openDialog.title, dlg->title, sizeof(m.msg.openDialog.title)-1); if (dlg->stages>0 && dlg->textStage0) strncpy(m.msg.openDialog.textStage0, dlg->textStage0, sizeof(m.msg.openDialog.textStage0)-1); if (dlg->stages>1 && dlg->textStage1) strncpy(m.msg.openDialog.textStage1, dlg->textStage1, sizeof(m.msg.openDialog.textStage1)-1); if (dlg->stages>2 && dlg->textStage2) strncpy(m.msg.openDialog.textStage2, dlg->textStage2, sizeof(m.msg.openDialog.textStage2)-1); /* send message */ rv=rsct_net_send(dlg->socket, &m.msg); if (rv<0) { close(dlg->socket); dlg->socket=-1; return rv; } /* receive response */ memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); rv=rsct_net_recv(dlg->socket, &m.msg); if (rv<0) { close(dlg->socket); dlg->socket=-1; return rv; } if (m.msg.openDialog.result<0) { close(dlg->socket); dlg->socket=-1; return m.msg.openDialog.result; } dlg->dialogId=m.msg.openDialog.dialogId; return 0; } return -1; } void rsct_dialog_close(RSCT_DIALOG *dlg) { if (dlg && dlg->socket!=-1) { union { char buffer[RSCT_MAX_MESSAGE_LEN]; RSCT_MESSAGE msg; } m; memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); m.msg.header.type=RSCT_Message_Command_CloseDialog; m.msg.header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_CLOSEDIALOG); m.msg.closeDialog.dialogId=dlg->dialogId; rsct_net_send(dlg->socket, &m.msg); close(dlg->socket); dlg->socket=-1; } } int rsct_dialog_set_char_num(RSCT_DIALOG *dlg, int charNum, int beep) { if (dlg && dlg->socket!=-1) { int rv; union { char buffer[RSCT_MAX_MESSAGE_LEN]; RSCT_MESSAGE msg; } m; memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); m.msg.header.type=RSCT_Message_Command_SetCharNum; m.msg.header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_SETCHARNUM); m.msg.setCharNum.dialogId=dlg->dialogId; m.msg.setCharNum.charNum=charNum; m.msg.setCharNum.beep=beep; rv=rsct_net_send(dlg->socket, &m.msg); if (rv<0) { close(dlg->socket); dlg->socket=-1; } /* receive response */ memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); rv=rsct_net_recv(dlg->socket, &m.msg); if (rv<0) { close(dlg->socket); dlg->socket=-1; return rv; } if (m.msg.setCharNum.result<0) { close(dlg->socket); dlg->socket=-1; return m.msg.setCharNum.result; } } dlg->numChars=charNum; return 0; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/0000755000175000001440000000000011660201015021455 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/Makefile.am0000644000175000001440000000122211657145411023523 0ustar sctusers noinst_LTLIBRARIES=libchecksuite.la DEFS+=-DCD_SCRIPT_DIR=\"$(libdir)/cyberjack\" AM_CXXFLAGS=@cyberjack_platform_def@ \ -DBUILDING_CYBERJACK INCLUDES= $(pcsc_includes) \ -I$(top_srcdir)/include \ -I../../include/driver \ -I../../include/firmware \ -I../.. -I../../cjeca32 -I../.. -I../../cjeca32/ausb \ -I../../libcyberjack \ -I../../ifd libchecksuite_la_SOURCES=\ cm_distri.cpp \ cm_group.cpp \ cm_reader.cpp \ cm_services.cpp \ cm_uname.cpp \ checkmodule.cpp \ checksuite.cpp noinst_HEADERS=\ cm_distri.h \ cm_group.h \ cm_reader.h \ cm_services.h \ cm_uname.h \ checkmodule.h \ checksuite.h pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_group.cpp0000644000175000001440000001066711657145411024023 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "cm_group.h" #include #include #include #include #include #include bool CM_Group::check(std::string &xmlString, std::string &reportString, std::string &hintString) { struct group *gr=NULL; struct passwd *pw=NULL; char **ps; uid_t uid; /* search for group "cyberjack" */ while( (gr=getgrent()) ) { if (strcasecmp(gr->gr_name, "cyberjack")==0) break; } if (gr==NULL) { /* group does not exist */ reportString+="*HINWEIS* Gruppe \"cyberjack\" existiert nicht\n"; hintString+= "Die Gruppe \"cyberjack\" existiert nicht.\n" "Wenn Sie die richtigen Pakete von Reiner SCT fuer Ihr jeweiliges " "System installieren, wird diese Gruppe automatisch erzeugt.\n" "Es wird empfohlen, nur die Pakete von Reiner SCT zu installieren, " "auch wenn von Ihrem Distributor andere Pakete angeboten werden.\n" "Nur mit unseren Paketen ist es uns moeglich, Ihnen im Falle von " "Problemen schnell zu helfen.\n" "Sollten fuer Ihr System keine Pakete verfuegbar sein, muessen " "Sie die Gruppe \"cyberjack\" mit Hilfe Ihrer Systemadministrations-" "Tools (z.B. yast, KUser etc) selbst erstellen.\n"; xmlString+="\n"; xmlString+=" "; xmlString+="Gruppe cyberjack existiert nicht"; xmlString+=" \n"; xmlString+="\n"; endgrent(); return false; } /* get name of calling user */ uid=getuid(); if (uid==0) { reportString+="Benutzer ist Administrator (root), hat daher alle noetigen Rechte.\n"; hintString+= "Sie haben dieses Programm als Administrator (root) aufgerufen. " "Dadurch ist keine Aussage darueber moeglich, ob Sie als " "normaler Benutzer alle noetigen Rechte haetten, weil der Administrator " "immer alle Rechte hat. Sie sollten dieses Programm als der Benutzer " "ausfuehren, der spaeter auch mit dem Leser arbeiten soll.\n\n"; /* create XML string */ xmlString+="\n"; xmlString+=" "; xmlString+="Called as user \"root\""; xmlString+="\n"; xmlString+="\n"; } else { pw=getpwuid(uid); if (pw==NULL) { const char *s; s=strerror(errno); reportString+="*FEHLER* ("; reportString+=s; reportString+=")\n"; xmlString+="\n"; xmlString+=" "; xmlString+=s; xmlString+=" \n"; xmlString+="\n"; return false; } /* check whether the user is a member of the group "cyberjack" */ ps=gr->gr_mem; while(*ps) { if (strcmp(*ps, pw->pw_name)==0) break; ps++; } if (*ps==NULL) { /* group does not exist */ reportString+="*HINWEIS* Benutzer \""; reportString+=pw->pw_name; reportString+="\" ist kein Mitglied der Gruppe \"cyberjack\"\n"; hintString+="Fuegen Sie den Benutzer \""; hintString+=pw->pw_name; hintString+="\" der Gruppe \"cyberjack\" hinzu und starten Sie Ihr "; hintString+="System neu.\n"; xmlString+="\n"; xmlString+=" "; xmlString+="Benutzer \""; xmlString+=pw->pw_name; xmlString+="\" ist kein Mitglied der Gruppe \"cyberjack\"\n"; xmlString+=" \n"; xmlString+="\n"; endgrent(); return false; } /* create XML string */ xmlString+="\n"; xmlString+=" \n"; xmlString+=" Benutzer \""; xmlString+=pw->pw_name; xmlString+="\" ist Mitglied der Gruppe \"cyberjack\"\n"; xmlString+=" \n"; xmlString+="\n"; endgrent(); } return true; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/checksuite.cpp0000644000175000001440000000654711657145411024341 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "checksuite.h" #include #include #include "checkmodule.h" #include "cm_distri.h" #include "cm_group.h" #include "cm_reader.h" #include "cm_services.h" #include "cm_uname.h" CheckSuite::CheckSuite() :_flags(0) { } CheckSuite::~CheckSuite() { } void CheckSuite::setFlags(uint32_t f) { _flags=f; } void CheckSuite::addFlags(uint32_t f) { _flags|=f; } void CheckSuite::delFlags(uint32_t f) { _flags&=~f; } void CheckSuite::setDist(const std::string &dname, const std::string &dver) { _distName=dname; _distVersion=dver; } void CheckSuite::addCheckModule(CheckModule *m) { m->setSuite(this); _moduleList.push_back(m); } void CheckSuite::addStandardModules(bool withReaderCheck) { CheckModule *m; /* create and add modules */ m=new CM_Distri(); addCheckModule(m); m=new CM_Uname(); addCheckModule(m); m=new CM_Group(); addCheckModule(m); m=new CM_Services(); addCheckModule(m); if (withReaderCheck) { m=new CM_Reader(); addCheckModule(m); } } bool CheckSuite::beginCheck(const char *title, int doneChecks, int totalChecks) { fprintf(stderr, "BEGIN: %s (%d/%d)\n", title, doneChecks, totalChecks); return true; } bool CheckSuite::endCheck(const char *title, int doneChecks, int totalChecks, bool result) { fprintf(stderr, "END : %s (%d/%d) [%s]\n", title, doneChecks, totalChecks, result?"OK":"ERROR"); return true; } bool CheckSuite::performChecks(std::string &xmlString, std::string &reportString, std::string &hintString) { std::list::iterator it; bool b=true; int i=0; char buf[256]; xmlString="\n"; xmlString+="\n"; xmlString+=" \n"; snprintf(buf, sizeof(buf)-1, " %d\n" " %d\n" " %d\n" " %d\n" " %s\n", CYBERJACK_VERSION_MAJOR, CYBERJACK_VERSION_MINOR, CYBERJACK_VERSION_PATCHLEVEL, CYBERJACK_VERSION_BUILD, CYBERJACK_VERSION_TAG); buf[sizeof(buf)-1]=0; xmlString+=buf; xmlString+=" \n"; for (it=_moduleList.begin(); it!=_moduleList.end(); it++) { bool lb; /* update GUI */ if (!beginCheck((*it)->getTitle().c_str(), i, _moduleList.size())) return false; /* perform check */ lb=(*it)->check(xmlString, reportString, hintString); if (!lb) { b=false; } /* increment number of done checks */ i++; /* update GUI again */ if (!endCheck((*it)->getTitle().c_str(), i, _moduleList.size(), lb)) return false; } xmlString+="\n"; return b; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/Makefile.in0000644000175000001440000004352611660201015023534 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = libcyberjack/checksuite DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libchecksuite_la_LIBADD = am_libchecksuite_la_OBJECTS = cm_distri.lo cm_group.lo cm_reader.lo \ cm_services.lo cm_uname.lo checkmodule.lo checksuite.lo libchecksuite_la_OBJECTS = $(am_libchecksuite_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(libchecksuite_la_SOURCES) DIST_SOURCES = $(libchecksuite_la_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ -DCD_SCRIPT_DIR=\"$(libdir)/cyberjack\" DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ noinst_LTLIBRARIES = libchecksuite.la AM_CXXFLAGS = @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK INCLUDES = $(pcsc_includes) \ -I$(top_srcdir)/include \ -I../../include/driver \ -I../../include/firmware \ -I../.. -I../../cjeca32 -I../.. -I../../cjeca32/ausb \ -I../../libcyberjack \ -I../../ifd libchecksuite_la_SOURCES = \ cm_distri.cpp \ cm_group.cpp \ cm_reader.cpp \ cm_services.cpp \ cm_uname.cpp \ checkmodule.cpp \ checksuite.cpp noinst_HEADERS = \ cm_distri.h \ cm_group.h \ cm_reader.h \ cm_services.h \ cm_uname.h \ checkmodule.h \ checksuite.h all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu libcyberjack/checksuite/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu libcyberjack/checksuite/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libchecksuite.la: $(libchecksuite_la_OBJECTS) $(libchecksuite_la_DEPENDENCIES) $(CXXLINK) $(libchecksuite_la_OBJECTS) $(libchecksuite_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkmodule.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checksuite.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cm_distri.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cm_group.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cm_reader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cm_services.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cm_uname.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags 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: pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_services.cpp0000644000175000001440000001275711657145411024514 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "cm_services.h" #include "checksuite.h" #include #include #include #include #include #include #include #include bool CM_Services::check(std::string &xmlString, std::string &reportString, std::string &hintString) { DIR *d; struct dirent *de=NULL; assert(_suite); d=opendir("/proc"); if (d==NULL) { const char *s; s=strerror(errno); reportString+="*FEHLER* ("; reportString+=s; reportString+=")\n"; xmlString+="\n"; xmlString+=" "; xmlString+=s; xmlString+=" \n"; xmlString+="\n"; return false; } xmlString+="\n"; xmlString+=" \n"; while( (de=readdir(d)) ) { struct stat st; const char *s; s=de->d_name; while(*s && isdigit(*s)) s++; if (*s==0) { std::string fullName; /* all digits, so it is most likely a process dir */ fullName="/proc/"; fullName+=de->d_name; if (stat(fullName.c_str(), &st)==0) { if (S_ISDIR(st.st_mode)) { char lbuf[256]; struct passwd *pw; const char *ownerName=NULL; FILE *f; /* get PW entry for owner of the process */ pw=getpwuid(st.st_uid); if (pw && pw->pw_name[0]) ownerName=pw->pw_name; else ownerName="(unknown)"; /* it is a folder, so it definately *is* a process dir */ fullName+="/cmdline"; /* the folder contains a symbolic link \"exe\" which points to * the running executable. We read this link to get its name * and check it against known executables for problematic * services. */ f=fopen(fullName.c_str(), "r"); if (f) { if (1==fscanf(f, "%255s", lbuf)) { lbuf[sizeof(lbuf)-1]=0; if (strstr(lbuf, "pcscd")) { if (!(_suite->getFlags() & CHECKSUITE_FLAGS_HAVE_PCSCD)){ reportString+="PC/SC Dienst gefunden.\n"; xmlString+=" "; xmlString+="pcscd\n"; _suite->addFlags(CHECKSUITE_FLAGS_HAVE_PCSCD); } } else if (strstr(lbuf, "chipcardd2")) { if (!(_suite->getFlags() & CHECKSUITE_FLAGS_HAVE_LCC2)){ reportString+="Libchipcard2 Dienst gefunden.\n"; xmlString+=" "; xmlString+="chipcardd2\n"; _suite->addFlags(CHECKSUITE_FLAGS_HAVE_LCC2); } } else if (strstr(lbuf, "chipcardd3")) { if (!(_suite->getFlags() & CHECKSUITE_FLAGS_HAVE_LCC3)){ reportString+="Libchipcard3 Dienst gefunden.\n"; xmlString+=" "; xmlString+="chipcardd3\n"; _suite->addFlags(CHECKSUITE_FLAGS_HAVE_LCC3); } } else if (strstr(lbuf, "chipcardd4")) { if (!(_suite->getFlags() & CHECKSUITE_FLAGS_HAVE_LCC4)){ reportString+="Libchipcard4 Dienst gefunden.\n"; xmlString+=" "; xmlString+="chipcardd4\n"; _suite->addFlags(CHECKSUITE_FLAGS_HAVE_LCC4); } } else if (strstr(lbuf, "chipcardd")) { if (!(_suite->getFlags() & CHECKSUITE_FLAGS_HAVE_LCC1)){ xmlString+=" "; xmlString+="chipcardd\n"; reportString+="Libchipcard1 Dienst gefunden.\n"; hintString+= "Auf diesem System laeuft der Libchipcard1 Dienst. " "Manche Programme (insbesondere Moneyplex) koennen in " "diesem Fall nicht auf den Leser zugreifen.\n" "Abhilfe: Deinstallieren Sie Libchipcard1 oder beenden " "Sie den Dienst (mittels \"killall chipcardd\") solange " "Moneyplex laeuft.\n" "Fuer Libchipcard1 gibt es auch KDE-Tools, welche " "ebenfalls zweitweise den Dienst stoppen koennen.\n\n"; _suite->addFlags(CHECKSUITE_FLAGS_HAVE_LCC1); } } else if (strstr(lbuf, "ifdhandler")) { if (!(_suite->getFlags() & CHECKSUITE_FLAGS_HAVE_OPENCT)){ reportString+="OpenCT Dienst gefunden.\n"; xmlString+=" "; xmlString+="openct\n"; hintString+= "Auf diesem System laeuft der OpenCT Dienst. " "Manche Programme (insbesondere Moneyplex) koennen in " "diesem Fall je nach Leser und Version von OpenCT nicht " "auf den Leser zugreifen.\n" "Abhilfe: Entweder deinstallieren Sie den OpenCT Dienst " "komplett (das Paket heisst je nach System \"openct\" " "oder \"libopenct\"), oder Sie stoppen OpenCT mittels " "\"/etc/init.d/openct stop\" als root solange das " "Programm verwendet wird.\n\n"; _suite->addFlags(CHECKSUITE_FLAGS_HAVE_OPENCT); } } } fclose(f); } } } } } xmlString+="\n"; closedir(d); return true; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/checksuite.h0000644000175000001440000000501711657145411023775 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifndef CHECKSUITE_H #define CHECKSUITE_H class CheckSuite; #include #include #include "checkmodule.h" #define CHECKSUITE_SPECIAL_ERRORCODE (-126) #define CHECKSUITE_FLAGS_HAVE_PCSCD 0x00000001 #define CHECKSUITE_FLAGS_HAVE_OPENCT 0x00000002 #define CHECKSUITE_FLAGS_HAVE_LCC1 0x00000004 #define CHECKSUITE_FLAGS_HAVE_LCC2 0x00000008 #define CHECKSUITE_FLAGS_HAVE_LCC3 0x00000010 #define CHECKSUITE_FLAGS_HAVE_LCC4 0x00000020 class CheckSuite { private: typedef int8_t (*CT_INITNAME_FN)(uint16_t ctn, const char *devName); typedef int8_t (*CT_DATA_FN)(uint16_t ctn, uint8_t *dad, uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); typedef int8_t (*CT_CLOSE_FN)(uint16_t ctn); private: uint32_t _flags; std::string _distName; std::string _distVersion; std::list _moduleList; protected: virtual bool beginCheck(const char *title, int doneChecks, int totalChecks); virtual bool endCheck(const char *title, int doneChecks, int totalChecks, bool result); public: CheckSuite(); virtual ~CheckSuite(); bool performChecks(std::string &xmlString, std::string &reportString, std::string &hintString); void addStandardModules(bool withReaderCheck); void addCheckModule(CheckModule *m); uint32_t getFlags() const { return _flags;}; void setFlags(uint32_t f); void addFlags(uint32_t f); void delFlags(uint32_t f); void setDist(const std::string &dname, const std::string &dver); const std::string &getDistName() const { return _distName;}; const std::string &getDistVersion() const { return _distVersion;}; int8_t ctInitName(uint16_t ctn, const char *devName); int8_t ctData(uint16_t ctn, uint8_t *dad, uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response); int8_t ctClose(uint16_t ctn); }; #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_services.h0000644000175000001440000000151111657145411024143 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "checkmodule.h" class CM_Services: public CheckModule { public: CM_Services() {}; ~CM_Services() {}; std::string getTitle() { return "ermittle laufende Dienste";}; bool check(std::string &xmlString, std::string &reportString, std::string &hintString); }; pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/checkmodule.cpp0000644000175000001440000000160611657145411024464 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "checkmodule.h" CheckModule::CheckModule() { } CheckModule::~CheckModule() { } std::string CheckModule::getTitle() { return "Keine Ueberschrift"; } bool CheckModule::check(std::string &xmlString, std::string &reportString, std::string &hintString) { return false; } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_uname.cpp0000644000175000001440000000562011657145411023765 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "cm_uname.h" #include #include #include bool CM_Uname::check(std::string &xmlString, std::string &reportString, std::string &hintString) { struct utsname un; if (uname(&un)) { const char *s; s=strerror(errno); reportString+="*FEHLER* ("; reportString+=s; reportString+=")\n"; xmlString+="\n"; xmlString+=" "; xmlString+=s; xmlString+=" \n"; xmlString+="\n"; return false; } if (strncmp(un.release, "2.4.", 4)==0 || strncmp(un.release, "2.3.", 4)==0 || strncmp(un.release, "2.2.", 4)==0 || strncmp(un.release, "2.1.", 4)==0 || strncmp(un.release, "2.0.", 4)==0) { hintString+= "Dieser Treiber wurde fuer einen 2.6er Kernel entwickelt, " "es wurde aber ein aelterer Kernel gefunden.\n" "Daher duerfte der Treiber wahrscheinlich auf diesem System " "nicht funktionieren.\n"; /* create XML string */ xmlString+="\n"; xmlString+=" Kernel too old\n"; xmlString+=" "; xmlString+=un.sysname; xmlString+="\n"; xmlString+=" "; xmlString+=un.release; xmlString+="\n"; xmlString+=" "; xmlString+=un.version; xmlString+="\n"; xmlString+=" "; xmlString+=un.machine; xmlString+="\n"; xmlString+="\n"; return false; } else { /* create XML string */ xmlString+="\n"; xmlString+=" \n"; xmlString+=" "; xmlString+=un.sysname; xmlString+="\n"; xmlString+=" "; xmlString+=un.release; xmlString+="\n"; xmlString+=" "; xmlString+=un.version; xmlString+="\n"; xmlString+=" "; xmlString+=un.machine; xmlString+="\n"; xmlString+="\n"; /* create report string */ reportString+="System: "; reportString+=un.sysname; reportString+=", "; reportString+=un.release; reportString+=", "; reportString+=un.version; reportString+=", "; reportString+=un.machine; reportString+="\n"; return true; } } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_uname.h0000644000175000001440000000150311657145411023426 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "checkmodule.h" class CM_Uname: public CheckModule { public: CM_Uname() {}; ~CM_Uname() {}; std::string getTitle() { return "ermittle Systeminformationen";}; bool check(std::string &xmlString, std::string &reportString, std::string &hintString); }; pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_reader.h0000644000175000001440000000217311657145411023567 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "checkmodule.h" #include "driver.hpp" #include class CM_Reader: public CheckModule { public: CM_Reader() {}; ~CM_Reader() {}; std::string getTitle() { return "ermittle und teste angeschlossene Leser";}; bool check(std::string &xmlString, std::string &reportString, std::string &hintString); protected: bool _checkReaders(Cyberjack::Driver *dr, std::string &xmlString, std::string &reportString, std::string &hintString); bool _checkPcsc(std::string &xmlString, std::string &reportString, std::string &hintString); }; pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_distri.cpp0000644000175000001440000001074111657145411024156 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "cm_distri.h" #include "checksuite.h" #include #include #include #include bool CM_Distri::check(std::string &xmlString, std::string &reportString, std::string &hintString) { int rv; int xs; rv=system(CD_SCRIPT_DIR "/getdist.sh"); if (rv<0) { const char *s; /* script not found */ s=strerror(errno); reportString+="*FEHLER* (Script \"getdist.sh\" nicht gefunden)\n"; xmlString+="\n"; xmlString+=" "; xmlString+=s; xmlString+=" \n"; xmlString+="\n"; return false; } xs=WEXITSTATUS(rv); if (xs==127) { reportString+="*FEHLER* (\"getdist.sh\" nicht gefunden)\n"; xmlString+="\n"; xmlString+=" "; xmlString+="Shell script nicht gefunden"; xmlString+=" \n"; xmlString+="\n"; return false; } else if (xs!=0) { char numbuf[16]; snprintf(numbuf, sizeof(numbuf), "%d", xs); reportString+="*FEHLER* (getdist.sh wurde mit code "; reportString+=numbuf; reportString+=" beendet)\n"; xmlString+="\n"; xmlString+=" "; xmlString+="getdist.sh beendet mit code "; xmlString+=numbuf; xmlString+=" \n"; xmlString+="\n"; return false; } else { FILE *f; std::string distName; std::string distVer; /* read dist name */ f=fopen("distname", "r"); if (f) { char *p; if (1==fscanf(f, "%as", &p)) { distName=std::string(p); free(p); fclose(f); unlink("distname"); } else { fclose(f); reportString+="*FEHLER* (konnte Distributionsname nicht lesen)\n"; xmlString+="\n"; xmlString+=" "; xmlString+="Konnte Distributionsname nicht lesen.\n"; xmlString+=" \n"; xmlString+="\n"; return false; } } else { const char *s; s=strerror(errno); reportString+="*FEHLER* ("; reportString+=s; reportString+=")\n"; xmlString+="\n"; xmlString+=" "; xmlString+=s; xmlString+=" \n"; xmlString+="\n"; return false; } /* read dist version */ f=fopen("distver", "r"); if (f) { char *p; if (1==fscanf(f, "%as", &p)) { distVer=std::string(p); free(p); fclose(f); unlink("distver"); } else { fclose(f); reportString+="*FEHLER* (konnte Distributionsversion nicht lesen)\n"; xmlString+="\n"; xmlString+=" "; xmlString+="Konnte Distributionsversion nicht lesen.\n"; xmlString+=" \n"; xmlString+="\n"; return false; } } else { const char *s; s=strerror(errno); reportString+="*FEHLER* ("; reportString+=s; reportString+=")\n"; xmlString+="\n"; xmlString+=" "; xmlString+=s; xmlString+=" \n"; xmlString+="\n"; return false; } /* evaluate */ if (distName.empty()) distName="(unbekannt)"; if (distVer.empty()) distVer="(unbekannt)"; reportString+="Distribution: "; reportString+=distName; reportString+=" "; reportString+=distVer; reportString+=" \n"; xmlString+="\n"; xmlString+=" \n"; xmlString+=" "; xmlString+=distName; xmlString+="\n"; xmlString+=" "; xmlString+=distVer; xmlString+="\n"; xmlString+="\n"; _suite->setDist(distName, distVer); return true; } } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_group.h0000644000175000001440000000150211657145411023454 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "checkmodule.h" class CM_Group: public CheckModule { public: CM_Group() {}; ~CM_Group() {}; std::string getTitle() { return "ermittle Gruppeninformation";}; bool check(std::string &xmlString, std::string &reportString, std::string &hintString); }; pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_distri.h0000644000175000001440000000147711657145411023631 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "checkmodule.h" class CM_Distri: public CheckModule { public: CM_Distri() {}; ~CM_Distri() {}; std::string getTitle() { return "ermittle Distribution";}; bool check(std::string &xmlString, std::string &reportString, std::string &hintString); }; pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/cm_reader.cpp0000644000175000001440000003204711657145411024125 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "cm_reader.h" #include "checksuite.h" #include "driver_pcsc.hpp" #include "cyberjack_l.h" #include #include #include #include #include #include #include #define CYBERJACK_VENDOR_ID 0xc4b bool CM_Reader::_checkReaders(Cyberjack::Driver *dr, std::string &xmlString, std::string &reportString, std::string &hintString) { int rv; std::list::const_iterator it; char numbuf[256]; rv=dr->open(); if (rv<0) { if (rv==Cyberjack::ErrorCode_NoService) { xmlString+=" \n"; xmlString+= "Service is not available\n"; xmlString+=" \n"; reportString+="Dienst ist nicht verfuegbar.\n"; return true; } fprintf(stderr, "Error in open: %d\n", rv); return false; } rv=dr->enumReaders(); if (rv<0) { fprintf(stderr, "Error in enumReaders: %d\n", rv); dr->close(); return false; } xmlString+=" \n"; for (it=dr->getReaders().begin(); it!=dr->getReaders().end(); it++) { int rv; std::string ts; reportString+="Leser "; reportString+=(*it)->getName(); reportString+=" (vendorid=\""; snprintf(numbuf, sizeof(numbuf)-1, "%04x", (*it)->getVendorId()); reportString+=numbuf; reportString+="\", productid=\""; snprintf(numbuf, sizeof(numbuf)-1, "%04x", (*it)->getProductId()); reportString+=numbuf; reportString+="\")\n"; xmlString+=" getName(); xmlString+="\" vendorid=\""; snprintf(numbuf, sizeof(numbuf)-1, "%04x", (*it)->getVendorId()); xmlString+=numbuf; xmlString+="\" productid=\""; snprintf(numbuf, sizeof(numbuf)-1, "%04x", (*it)->getProductId()); xmlString+=numbuf; xmlString+="\">\n"; if ((*it)->test(ts)!=Cyberjack::ErrorCode_Ok) xmlString+=" \n"; else xmlString+=" \n"; reportString+="Ergebnis des Lesertests:\n"; reportString+=ts; xmlString+=ts; xmlString+=" \n"; rv=(*it)->gatherInfo(true); if (rv!=Cyberjack::ErrorCode_Ok) { //fprintf(stderr, "Error gathering info: %d\n", rv); dr->close(); return false; } if (1) { const cj_ReaderInfo &ri=(*it)->getReaderInfo(); xmlString+=" \n"; if (ri.ContentsMask & RSCT_READER_MASK_PID) { snprintf(numbuf, sizeof(numbuf)-1, "%04x", ri.PID); reportString+=" PID : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_HARDWARE) { snprintf(numbuf, sizeof(numbuf)-1, "%08x", ri.HardwareMask); reportString+=" HW-Mask : "; reportString+=numbuf; reportString+=" ("; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; xmlString+=" "; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC1) { reportString+=" ICC1"; xmlString+=" ICC1"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC2) { reportString+=" ICC2"; xmlString+=" ICC2"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC3) { reportString+=" ICC3"; xmlString+=" ICC3"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC4) { reportString+=" ICC4"; xmlString+=" ICC4"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC5) { reportString+=" ICC5"; xmlString+=" ICC5"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC6) { reportString+=" ICC6"; xmlString+=" ICC6"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC7) { reportString+=" ICC7"; xmlString+=" ICC7"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC8) { reportString+=" ICC8"; xmlString+=" ICC8"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_KEYPAD) { reportString+=" keypad"; xmlString+=" keypad"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_DISPLAY) { reportString+=" display"; xmlString+=" display"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_BIOMETRIC) { reportString+=" Fingersensor"; xmlString+=" Fingersensor"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_UPDATEABLE) { reportString+=" Firmwareupdate"; xmlString+=" Firmwareupdate"; } if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_MODULES) { reportString+=" Sicherheitsmodule"; xmlString+=" Sicherheitsmodule"; } reportString+=")\n"; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_VERSION) { snprintf(numbuf, sizeof(numbuf)-1, "%x", ri.Version); reportString+=" Version : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_HARDWARE_VERSION) { snprintf(numbuf, sizeof(numbuf)-1, "%x", ri.HardwareVersion); reportString+=" HW-Version : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_FLASH_SIZE) { snprintf(numbuf, sizeof(numbuf)-1, "%d", ri.FlashSize); reportString+=" Flashsize : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_HEAP_SIZE) { snprintf(numbuf, sizeof(numbuf)-1, "%d", ri.HeapSize); reportString+=" Heapsize : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_SERIALNUMBER) { reportString+=" Serialnum : "; reportString+=(const char*)(ri.SeriaNumber); reportString+="\n"; xmlString+=" "; xmlString+=(const char*)(ri.SeriaNumber); xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_VENDOR_STRING) { reportString+=" Vendor : "; reportString+=(const char*)(ri.VendorString); reportString+="\n"; xmlString+=" "; xmlString+=(const char*)(ri.VendorString); xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_PRODUCT_STRING) { reportString+=" Product : "; reportString+=(const char*)(ri.ProductString); reportString+="\n"; xmlString+=" "; xmlString+=(const char*)(ri.ProductString); xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_PRODUCTION_DATE) { snprintf(numbuf, sizeof(numbuf)-1, "%s %s", ri.ProductionDate, ri.ProductionTime); reportString+=" P-Date : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_TEST_DATE) { snprintf(numbuf, sizeof(numbuf)-1, "%s %s", ri.TestDate, ri.TestTime); reportString+=" T-Date : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_COMMISSIONING_DATE) { snprintf(numbuf, sizeof(numbuf)-1, "%s %s", ri.CommissioningDate, ri.CommissioningTime); reportString+=" C-Date : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_COM_TYPE) { reportString+=" COM-Type : "; reportString+=(const char*)(ri.CommunicationString); reportString+="\n"; xmlString+=" "; xmlString+=(const char*)(ri.CommunicationString); xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_PORT_ID) { snprintf(numbuf, sizeof(numbuf)-1, "%d", ri.PortID); reportString+=" PortID : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_IFD_BRIDGE) { reportString+=" IFD-Bridge : "; reportString+=(const char*)(ri.IFDNameOfIfdBridgeDevice); reportString+="\n"; xmlString+=" "; xmlString+=(const char*)(ri.IFDNameOfIfdBridgeDevice); xmlString+=""; xmlString+="\n"; } if (ri.ContentsMask & RSCT_READER_MASK_HW_STRING) { reportString+=" HW-String : "; reportString+=(const char*)(ri.HardwareString); reportString+="\n"; xmlString+=" "; xmlString+=(const char*)(ri.HardwareString); xmlString+=""; xmlString+="\n"; } xmlString+=" \n"; } /* if newer reader */ if ((*it)->getProductId()>=0x400) { const std::list &modules=(*it)->getModuleInfos(); std::list::const_iterator mit; int i; xmlString+=" \n"; for (mit=modules.begin(), i=0; mit!=modules.end(); mit++, i++) { const cj_ModuleInfo &mi=*mit; reportString+="Module "; snprintf(numbuf, sizeof(numbuf)-1, "%d ", i); reportString+=numbuf; reportString+=":\n"; xmlString+=" \n"; if (mi.ContentsMask & RSCT_MODULE_MASK_DESCRIPTION) { reportString+=" Description: "; reportString+=(const char*)(mi.Description); reportString+="\n"; xmlString+=" "; xmlString+=(const char*)(mi.Description); xmlString+=""; xmlString+="\n"; } if (mi.ContentsMask & RSCT_MODULE_MASK_ID) { snprintf(numbuf, sizeof(numbuf)-1, "%08x", mi.ID); reportString+=" Id : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (mi.ContentsMask & RSCT_MODULE_MASK_VERSION) { snprintf(numbuf, sizeof(numbuf)-1, "%x", mi.Version); reportString+=" Version : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (mi.ContentsMask & RSCT_MODULE_MASK_REVISION) { snprintf(numbuf, sizeof(numbuf)-1, "%d", mi.Revision); reportString+=" Revision : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (mi.ContentsMask & RSCT_MODULE_MASK_VARIANT) { snprintf(numbuf, sizeof(numbuf)-1, "%d", mi.Variant); reportString+=" Variant : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } if (mi.ContentsMask & RSCT_MODULE_MASK_DATE) { snprintf(numbuf, sizeof(numbuf)-1, "%12s %6s", mi.Date, mi.Time); reportString+=" Date : "; reportString+=numbuf; reportString+="\n"; xmlString+=" "; xmlString+=numbuf; xmlString+=""; xmlString+="\n"; } xmlString+=" \n"; } xmlString+=" \n"; } /* if newer reader */ xmlString+=" "; } /* for every reader */ xmlString+=" \n"; dr->close(); return true; } bool CM_Reader::_checkPcsc(std::string &xmlString, std::string &reportString, std::string &hintString) { #ifdef HAVE_PCSC Cyberjack::Driver *dr=Cyberjack::NewDriverPcsc(); bool b; reportString+="PC/SC Interface\n"; xmlString+="\n"; b=_checkReaders(dr, xmlString, reportString, hintString); if (!b) reportString+=" PC/SC-Interface nicht verfuegbar.\n"; xmlString+="\n"; delete dr; return b; #else reportString+="PC/SC Interface\n"; reportString+=" PC/SC-Interface nicht getestet (keine Unterstuetzung eincompiliert).\n"; xmlString+="\n"; xmlString+=" \n"; xmlString+=" \n"; xmlString+="\n"; return true; #endif } bool CM_Reader::check(std::string &xmlString, std::string &reportString, std::string &hintString) { return _checkPcsc(xmlString, reportString, hintString); } pcsc-cyberjack-3.99.5final.SP03/libcyberjack/checksuite/checkmodule.h0000644000175000001440000000204711657145411024131 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifndef CHECKMODULE_H #define CHECKMODULE_H class CheckSuite; class CheckModule; #include class CheckModule { friend class CheckSuite; protected: CheckSuite *_suite; protected: void setSuite(CheckSuite *cs) { _suite=cs;}; public: CheckModule(); virtual ~CheckModule(); virtual std::string getTitle(); virtual bool check(std::string &xmlString, std::string &reportString, std::string &hintString); CheckSuite *getCheckSuite() const { return _suite;}; }; #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/modulestore.hpp0000644000175000001440000000606211657145411022422 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef LIBCYBERJACK_MODULESTORE_HPP #define LIBCYBERJACK_MODULESTORE_HPP #include "module.hpp" #include "mtemplate.hpp" #include #include namespace Cyberjack { class ModuleStore { public: ModuleStore(const char *path); ~ModuleStore(); const std::string &getPath() const { return m_path;}; const std::string &getReaderType() const { return m_readerType;}; const std::string &getKeyFileName() const { return m_keyFileName;}; const std::string &getVersionString() const { return m_version;}; const std::string &getHwString() const { return m_hwString;}; const std::string &getKeyFileData() const { return m_keyFileData;}; /** read the module description from the given XML node (pointing to a "" * node). */ bool readXmlFile(); bool readKeyFile(); static bool readModuleStores(std::list &slist); std::list &getModules() { return m_modules;}; std::list &getTemplates() { return m_templates;}; protected: std::string m_path; std::string m_readerType; std::string m_keyFileName; std::string m_version; std::string m_hwString; std::list m_modules; std::list m_templates; std::string m_keyFileData; void readXmlModules(xmlNodePtr n); void readXmlTemplates(xmlNodePtr n); void readXmlSetup(xmlNodePtr n); static bool readModuleStoresFrom(const char *path, std::list &slist); }; } /* namespace */ #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/driver_pcsc.hpp0000644000175000001440000000335111657145411022361 0ustar sctusers/*************************************************************************** begin : Thu Mar 26 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef LIBCYBERJACK_DRIVER_PCSC_HPP #define LIBCYBERJACK_DRIVER_PCSC_HPP #include "driver.hpp" namespace Cyberjack { Driver *NewDriverPcsc(); } /* namespace */ #endif pcsc-cyberjack-3.99.5final.SP03/libcyberjack/mtemplate.cpp0000644000175000001440000000526711657145411022051 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_LIBXML2 #include "mtemplate.hpp" #include #include namespace Cyberjack { MTemplate::MTemplate() { } MTemplate::~MTemplate(){ } void MTemplate::readXml(xmlNodePtr n) { xmlNodePtr nn; xmlNodePtr nnn; const char *s; m_moduleNames.clear(); s=(const char*) xmlGetProp(n, BAD_CAST "id"); if (s && *s) m_id=std::string(s); nn=n->children; while(nn) { if (nn->type==XML_ELEMENT_NODE) { if (nn->name) { if (strcasecmp((const char*)nn->name, "activate_module")==0) { s=(const char*) xmlGetProp(nn, BAD_CAST "fname"); if (s && *s) m_moduleNames.push_back(std::string(s)); } else if (strcasecmp((const char*)nn->name, "desc")==0) { s=(const char*) xmlGetProp(nn, BAD_CAST "langid"); if (s && *s && strcasecmp(s, "de")==0) { nnn=nn->children; while(nnn) { if (nnn->type==XML_TEXT_NODE) { s=(const char*)nnn->content; if (s && *s) m_descr=std::string(s); break; } nnn=nnn->next; } } } } } nn=nn->next; } } } /* namespace */ #endif /* if xml2 */ pcsc-cyberjack-3.99.5final.SP03/libcyberjack/modulestore.cpp0000644000175000001440000001531311657145411022414 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_LIBXML2 #include "modulestore.hpp" #include #include #include #include #include #include #include namespace Cyberjack { ModuleStore::ModuleStore(const char *s) { if (s && *s) m_path=std::string(s); } ModuleStore::~ModuleStore() { } void ModuleStore::readXmlModules(xmlNodePtr n) { xmlNodePtr nn; const char *s; s=(const char*) xmlGetProp(n, BAD_CAST "keyfile"); if (s && *s) m_keyFileName=std::string(s); nn=n->children; while(nn) { if (nn->type==XML_ELEMENT_NODE) { if (nn->name && strcasecmp((const char*)nn->name, "module")==0) { Module m(m_path.c_str()); m.readXml(nn); m_modules.push_back(m); } } nn=nn->next; } } void ModuleStore::readXmlTemplates(xmlNodePtr n) { xmlNodePtr nn; nn=n->children; while(nn) { if (nn->type==XML_ELEMENT_NODE) { if (nn->name && strcasecmp((const char*)nn->name, "template")==0) { MTemplate t; t.readXml(nn); m_templates.push_back(t); } } nn=nn->next; } } void ModuleStore::readXmlSetup(xmlNodePtr n) { xmlNodePtr nn; xmlNodePtr nnn; const char *s; s=(const char*) xmlGetProp(n, BAD_CAST "type"); if (s && *s) m_readerType=std::string(s); nn=n->children; while(nn) { if (nn->type==XML_ELEMENT_NODE) { if (nn->name) { if (strcasecmp((const char*)nn->name, "templates")==0) readXmlTemplates(nn); else if (strcasecmp((const char*)nn->name, "modules")==0) readXmlModules(nn); else if (strcasecmp((const char*)nn->name, "version")==0) { nnn=nn->children; while(nnn) { if (nnn->type==XML_TEXT_NODE) { s=(const char*)nnn->content; if (s && *s) m_version=std::string(s); break; } nnn=nnn->next; } } else if (strcasecmp((const char*)nn->name, "hw_string")==0) { nnn=nn->children; while(nnn) { if (nnn->type==XML_TEXT_NODE) { s=(const char*)nnn->content; if (s && *s) m_hwString=std::string(s); break; } nnn=nnn->next; } } } } nn=nn->next; } } bool ModuleStore::readXmlFile() { xmlDocPtr doc; xmlNodePtr n; std::string fname; bool setupLoaded=false; fname=m_path+"/version.xml"; doc=xmlParseFile(fname.c_str()); if (doc==NULL) { fprintf(stderr, "ERROR: Could not load xml file [%s]\n", fname.c_str()); xmlFreeDoc(doc); return false; } n=xmlDocGetRootElement(doc); if (n==NULL) { fprintf(stderr, "ERROR: No root element in xml file [%s]\n", fname.c_str()); xmlFreeDoc(doc); return false; } if (n->name && strcasecmp((const char*)(n->name), "setup")==0) { readXmlSetup(n); setupLoaded=true; } xmlFreeDoc(doc); if (!setupLoaded) { fprintf(stderr, "ERROR: No setup element in xml file [%s]\n", fname.c_str()); return false; } return true; } bool ModuleStore::readModuleStoresFrom(const char *path, std::list &slist) { DIR *d; int loaded=0; d=opendir(path); if (d==NULL) { fprintf(stderr, "No module store found at [%s]\n", path); return false; } else { struct dirent *de; while( (de=readdir(d)) ) { if (de->d_name[0]!='.') { std::string str; str=std::string(path); str+="/"; str+=std::string(de->d_name); fprintf(stderr, "Trying [%s]\n", str.c_str()); ModuleStore ms(str.c_str()); if (ms.readXmlFile()) { loaded++; slist.push_back(ms); } } } closedir(d); if (loaded>0) return true; else { fprintf(stderr, "No module store found in [%s]\n", path); return false; } } } bool ModuleStore::readModuleStores(std::list &slist) { int okCounter=0; int errorCounter=0; bool rv; rv=readModuleStoresFrom("/usr/local/lib/cyberjack/firmware", slist); if (rv) okCounter++; else errorCounter++; rv=readModuleStoresFrom("/usr/lib/cyberjack/firmware", slist); if (rv) okCounter++; else errorCounter++; rv=readModuleStoresFrom("/lib/cyberjack/firmware", slist); if (rv) okCounter++; else errorCounter++; if (okCounter==0) { fprintf(stderr, "ERROR: Could not load any module store\n"); return false; } return true; } static int readFile(const char *fname, uint8_t *buffer, uint32_t size) { FILE *f; uint8_t *p; int len; f=fopen(fname, "r"); if (f==NULL) return -1; p=buffer; len=0; while(!feof(f)) { int rv; int l; l=size; if (l<1) { fprintf(stderr, "ERROR: Buffer too small\n"); return -1; } if (l>1024) l=1024; rv=fread(p, 1, l, f); if (rv==0) break; p+=rv; len+=rv; size-=rv; } fclose(f); return len; } bool ModuleStore::readKeyFile() { uint8_t buffer[64*1024]; std::string fname; int rv; /* read binary */ fname=m_path; fname+="/"; fname+=m_keyFileName; rv=readFile(fname.c_str(), buffer, sizeof(buffer)-1); if (rv<1) { fprintf(stderr, "ERROR: Could not read keyfile [%s]\n", fname.c_str()); return false; } m_keyFileData=std::string((const char*)buffer, rv); return true; } } /* namespace */ #endif /* if xml2 */ pcsc-cyberjack-3.99.5final.SP03/libcyberjack/module.cpp0000644000175000001440000001172011657145411021335 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #ifdef HAVE_LIBXML2 #include "module.hpp" #include #include #include #include #include namespace Cyberjack { Module::Module(const char *path) :m_path(std::string(path)) ,m_force(false) { } Module::~Module(){ } std::string Module::getDescr() const { if (!m_descrDe.empty()) return m_descrDe; else if (!m_descrAny.empty()) return m_descrAny; else return "Unbenanntes Modul"; } void Module::readXml(xmlNodePtr n) { xmlNodePtr nn; xmlNodePtr nnn; const char *s; s=(const char*) xmlGetProp(n, BAD_CAST "type"); if (s && *s) m_readerType=std::string(s); s=(const char*) xmlGetProp(n, BAD_CAST "fname"); if (s && *s) m_moduleName=std::string(s); s=(const char*) xmlGetProp(n, BAD_CAST "force"); if (s && *s && strcasecmp(s, "1")==0) m_force=true; nn=n->children; while(nn) { if (nn->type==XML_ELEMENT_NODE) { if (nn->name) { if (strcasecmp((const char*)nn->name, "binary")==0) { nnn=nn->children; while(nnn) { if (nnn->type==XML_TEXT_NODE) { s=(const char*)nnn->content; if (s && *s) m_binFileName=std::string(s); break; } nnn=nnn->next; } } else if (strcasecmp((const char*)nn->name, "signature")==0) { nnn=nn->children; while(nnn) { if (nnn->type==XML_TEXT_NODE) { s=(const char*)nnn->content; if (s && *s) m_sigFileName=std::string(s); break; } nnn=nnn->next; } } else if (strcasecmp((const char*)nn->name, "desc")==0) { s=(const char*) xmlGetProp(nn, BAD_CAST "langid"); if (s && *s) { if (strcasecmp(s, "de")==0) { nnn=nn->children; while(nnn) { if (nnn->type==XML_TEXT_NODE) { s=(const char*)nnn->content; if (s && *s) m_descrDe=std::string(s); break; } nnn=nnn->next; } } else if (strcasecmp(s, "*")==0) { nnn=nn->children; while(nnn) { if (nnn->type==XML_TEXT_NODE) { s=(const char*)nnn->content; if (s && *s) m_descrAny=std::string(s); break; } nnn=nnn->next; } } } } } } nn=nn->next; } } static int readFile(const char *fname, uint8_t *buffer, uint32_t size) { FILE *f; uint8_t *p; int len; f=fopen(fname, "r"); if (f==NULL) return -1; p=buffer; len=0; while(!feof(f)) { int rv; int l; l=size; if (l<1) { fprintf(stderr, "ERROR: Buffer too small\n"); return -1; } if (l>1024) l=1024; rv=fread(p, 1, l, f); if (rv==0) break; p+=rv; len+=rv; size-=rv; } fclose(f); return len; } bool Module::readModuleBinaries() { uint8_t buffer[64*1024]; std::string fname; int rv; /* read binary */ fname=m_path; fname+="/"; fname+=m_binFileName; rv=readFile(fname.c_str(), buffer, sizeof(buffer)-1); if (rv<1) { fprintf(stderr, "ERROR: Could not read binary [%s]\n", fname.c_str()); return false; } m_binFileData=std::string((const char*)buffer, rv); /* read signature file */ fname=m_path; fname+="/"; fname+=m_sigFileName; rv=readFile(fname.c_str(), buffer, sizeof(buffer)-1); if (rv<1) { fprintf(stderr, "ERROR: Could not signature binary [%s]\n", fname.c_str()); return false; } m_sigFileData=std::string((const char*)buffer, rv); return true; } } /* namespace */ #endif /* if XML2 */ pcsc-cyberjack-3.99.5final.SP03/ChangeLog.old0000644000175000001440000005116011657145411017251 0ustar sctusers =========================================================================== MARK: released ctapi-cyberjack-3.3.0 (2008/07/23) =========================================================================== =========================================================================== MARK: released ctapi-cyberjack-3.3.0beta4 (2008/07/03) =========================================================================== 2008/07/03: Martin Preuss ------------------------------------------------ - IFD: accept WIN32 code for GET_FEATURE (now works with rdesktop) - IFD: fixed a problem with VERIFY_PIN =========================================================================== MARK: released ctapi-cyberjack-3.3.0beta3 (2008/06/11) =========================================================================== Fixed a problem in implementation of FEATURE_MCT_READER_DIRECT. =========================================================================== MARK: released ctapi-cyberjack-3.3.0beta2 (2008/06/07) =========================================================================== 2008/06/04: Martin Preuss ------------------------------------------------ - recent releases of pcsclite use libhal to detect readers. Therefore they changed the default namespace for the reader names (from "libusb:" to "libhal:") which also has a new syntax. Therefore we are forced to support libhal as well. =========================================================================== MARK: released ctapi-cyberjack-3.3.0beta1 (2008/06/02) =========================================================================== 2008/05/31: Martin Preuss ------------------------------------------------ - implemented FEATURE_MCT_READERDIRECT 2008/05/27: Martin Preuss ------------------------------------------------ - fixed two typos in ifd/part10.c - added missing newline to ECFReader.h - copied Reader.h from svn/include to drivers include dir (we definately should have the version within the driver be the only one!) - added BingoError.h from the include/firmware folder (sigh) - fixed a bug in ctapi.cpp (was using a false DEBUG_MASK for CTAPI) - improved error logging in ctapi.cpp - ifd/part10.c: Now check the endianess of ulDataLength in verify/modify pin structures - added ID 0x401 to list of recognized USB readers in USBLinux.cpp =========================================================================== MARK: released ctapi-cyberjack-3.2.0 (2008/04/03) =========================================================================== 2008/04/03: Martin Preuss ------------------------------------------------ - pulled-in changes from the Windows driver 2008/03/25: Martin Preuss ------------------------------------------------ - fixed a bug in usbdev with old versions of sysfs (like on SuSE10.0) 2008/02/12: Martin Preuss ------------------------------------------------ - LIESMICH.xml: added section about Moneyplex on 64-bit systems =========================================================================== MARK: released ctapi-cyberjack-3.2.0beta2 (2008/02/12) =========================================================================== 2008/02/12: Martin Preuss ------------------------------------------------ - cjIoOpen_libusb(): - only try to detach kernel driver if claim_interface() doesn't work - don't set configuration (is done by the kernel anyway) - call ausb_reset() like driver 2.0.14 did if the corresponding flag is set in the configuration file - added some more debug messages - LIESMICH.xml: added description of flag RESET_BEFORE =========================================================================== MARK: released ctapi-cyberjack-3.2.0beta1 (2008/02/08) =========================================================================== 2008/02/08: Martin Preuss ------------------------------------------------ - updated LIESMICH.xml: it now contains a section about the tool "cyberjack", some other sections have been updated 2008/02/06: Martin Preuss ------------------------------------------------ - ausb{1,3}.c: added timeout control to avoid infinite loops - ctapi.cpp: function _init_common1() now also checks for kernel mode when device name is given (not only for port values). Now works with libchipcard. 2008/02/05: Martin Preuss ------------------------------------------------ - make libsysfs mandatory (we now depend on it) - added member "port" to struct rsct_usbdev_t - reenabled access via kernel module for 0x100 devices - enabled logging even when using kernel module for 0x100 devices - serial devices and /dev/ttyUSBx access is now availabe via rsct_init_name() - renamed config_*() functions to rsct_config_*() and export those functions - tool cyberjack: - added commands: - check: this is the default when missing, it performs the checks like before - addflags: adds flags in the configuration file - delflags: clears flags in the configuration file The latter two functions have been introduced to simplify setting/clearing of flags (these commands always find the correct configuration file). - don't bail out if the device file in /proc/bus/usb is not accessible =========================================================================== MARK: released ctapi-cyberjack-3.1.0 (2008/01/10) =========================================================================== =========================================================================== MARK: released ctapi-cyberjack-3.0.6rc4 (2007/12/12) =========================================================================== =========================================================================== MARK: released ctapi-cyberjack-3.0.6rc3 (2007/12/12) =========================================================================== 2007/12/12: Martin Preuss ------------------------------------------------ - ausb.c: changed ausb_init() to call usb_init() only once but usb_find_busses() and usb_find_devices() at every call 2007/12/10: Martin Preuss ------------------------------------------------ - added support for readers connected via serial ports - added section about this new feature to LIESMICH.xml - fixed "cyberjack" tool module cm_reader (now creates a correct xml file). =========================================================================== MARK: released ctapi-cyberjack-3.0.6rc2 (2007/12/03) =========================================================================== 2007/11/29: Martin Preuss ------------------------------------------------ - fixed a bug in ecom_a code concerning APDU 20,10 =========================================================================== MARK: released ctapi-cyberjack-3.0.6rc1 (2007/11/19) =========================================================================== 2007/11/17: Martin Preuss ------------------------------------------------ - added code which enumerates readers using libsysfs - added special handling for CT_init() with port values of 0x9000: Now a configuration file is used to assign fixed port numbers to readers using their serial numbers. However, this doesn't work with ancient Cyberjacks (e.g. product id 0x100). - added documentation about this new feature to LIESMICH.xml 2007/11/16: Martin Preuss ------------------------------------------------ - hopefully fixed communication problems with 0x100 and 0x400 - included a patch from Bernd Kupfer (adds ausb_reset_pipe()) 2007/11/13: Martin Preuss ------------------------------------------------ - removed call to ausb_reset() for 0x400 (this led to problems) 2007/11/06: Martin Preuss ------------------------------------------------ - fixed modifications to tool cjflash - no longer try to set configuration for 0x400 (we just use the only available configuration) - now also detach kernel module "cyberjack" from 0x400 when claiming the interface fails (for some odd reasons at least my kernel loads that module for the reader) 2007/11/02: Martin Preuss ------------------------------------------------ - added environment variable "CJ_SLEEP_MS2" which inserts a waiting time (in milliseconds) directly after calling ausb_open() 2007/10/30: Martin Preuss ------------------------------------------------ - added environment variable "CJ_SLEEP_MS1" which inserts a waiting time (in milliseconds) directly before calling ausb_open() 2007/10/25: Martin Preuss ------------------------------------------------ - applied a patch provided by Daniel Golle which adapts our use of variadic macros so that newer versions of GCC work, too - tried a new solution in fixing the problem with new kernels and old readers =========================================================================== MARK: released ctapi-cyberjack-3.0.5rc1 (2007/10/18) =========================================================================== 2007/10/18: Martin Preuss ------------------------------------------------ - fixed some warnings about missing parentheses and deprecated pragmas - CCIDReader.cpp: Fixed a bug in _CtData() about command 20/12 (REQUEST_ICC). For this command actually Le may be omitted and still means 0 (as opposed to "no data expected"). Without this fix Moneyplex is unable to request a card. =========================================================================== MARK: released ctapi-cyberjack-3.0.5beta5 (2007/10/08) =========================================================================== 2007/10/05: Martin Preuss ------------------------------------------------ - changed some char* arguments to "const char*" because automatic conversion from string constant to "const char*" is deprecated in recent versions of gcc - copied eca_defines.h from other SVN folder to the driver where it is also needed (the driver tree should be self-sufficient) 2007/10/01: Martin Preuss ------------------------------------------------ - log file is automatically truncated upon CT_init() if its size exceeds a given limit (currenty 10 MB) 2007/09/21: Martin Preuss ------------------------------------------------ - tool cyberjack: added check for ancient kernels =========================================================================== MARK: released ctapi-cyberjack-3.0.5beta1 (2007/09/19) =========================================================================== 2007/09/19: Martin Preuss ------------------------------------------------ - call ausb_reset() prior to ausb_close() to workaround hanging reader =========================================================================== MARK: released ctapi-cyberjack-3.0.4 (2007/09/16) =========================================================================== 2007/09/16: Martin Preuss ------------------------------------------------ - cyberjack (diagnosis tool): added a check for CT_data() which reads firmware information (makes it easier for the Linux support) =========================================================================== MARK: released ctapi-cyberjack-3.0.4beta1 (2007/08/16) =========================================================================== 2007/08/16: Martin Preuss ------------------------------------------------ - fixed a bug in Debug.cpp (was mangling with the stack given special circumstances) 2007/07/27: Martin Preuss ------------------------------------------------ - removed debug-setting of debug level mask (was set to all-on) =========================================================================== MARK: released ctapi-cyberjack-3.0.3 (2007/07/20) =========================================================================== 2007/07/18: Martin Preuss ------------------------------------------------ - fixed a bug regarding Ecom (0x100) readers 2007/07/17: Martin Preuss ------------------------------------------------ - improved AUSB logging (should give more information): Now all drivers are able to provide USB logging - more debugging of ecom code 2007/07/16: Martin Preuss ------------------------------------------------ - fixed a bug with APDU responses which exceed 262 bytes with old Ecom's =========================================================================== MARK: released ctapi-cyberjack-3.0.2 (2007/07/16) =========================================================================== 2007/07/16: Martin Preuss ------------------------------------------------ - some major memory checking with valgrind: - fixed some possible memory leaks (e.g. by using correct delete notations, adding some delete's where missing etc) - CT_init() now internally reads vendor specific information (e.g. firmware version etc) to make the log files more usefull - if "$SYSCONFDIR/cyberjack.conf" does not exist try to load "$SYSCONFDIR/cyberjack.conf.default" which is installed by default on any system (simplifies support) - Debian packages no longer remove the group "cyberjack" - "getenv()" in USBLinux.cpp has big issues with the driver: When it is used the driver crashes, when commented-out the driver works. Since I don't need it here anyway (since there are no Ecom(a) with firmware prior to 3.0.6) I just commented it out completely 2007/07/12: Martin Preuss ------------------------------------------------ - found correct place for call to usb_reset(), now opening and closing the new Cyberjack many times in a row now works 2007/07/11: Martin Preuss ------------------------------------------------ - fixed return type in tool cjgeldkarte =========================================================================== MARK: released ctapi-cyberjack-3.0.1 (2007/07/10) =========================================================================== 2007/07/10: Martin Preuss ------------------------------------------------ - introduced a hotfix for the USB suspend problem with Kernel 2.6.20: It seems like libusb does not detect the cyberjack 0x400 correctly when the reader is suspended (e.g. libusb only detects the reader when it currently is not suspended, but the reader needs some time to become active after resuming and Libusb does not wait for this time... Now we just try for about 5 secs to enumerate the USB devices via libusb which keeps the reader active until it has completed its initialization). This fix is only needed as long as Libusb has these problems, maybe they will fix this... =========================================================================== MARK: released ctapi-cyberjack-3.0.0 (2007/06/22) =========================================================================== 2007/06/22: Martin Preuss ------------------------------------------------ - addes some necessary files for Debian - introduce check for SuSE10.x: Apparently those systems do not like the call to "getenv()" we use in USBLinux.cpp. On all SuSE10 systems this makes the driver crash. So for now this call is just disabled on affected systems. - fixed Info.plist 2007/06/21: Martin Preuss ------------------------------------------------ - fixed usbdropdir for RPM packages - added diagnosis tool "cyberjack" - prepared release of version 3.0.0 (Linux) 2007/06/06: Martin Preuss ------------------------------------------------ - changed Debug.cpp again: Really, we cannot include ctapi_config_l.h due to circular dependencies (the CTAPI stuff is a layer above the code in Debug.cpp). Since the MAC people seem to insist on including it anyway (since they reverted my latest modification in that field) I wrapped an #ifdef around that include 2007/05/12: Martin Preuss ------------------------------------------------ - changed Debug.cpp: Cannot include ctapi_config_l.h due to circular dependencies (the CTAPI stuff is a layer above the code in Debug.cpp, so we can't use it here). It was used for setting the initial debug layer anyway, and this can also be achieved by using the method CDebug::setLevelMask() - latest changes introduced SCARD_CTL_CODE which wasn't previously available to the Linux code (we don't include PC/SC stuff to stay independent from it) - added definition for type SCARD_IO_REQUEST (same reason) - what the heck is this newly introduced "#pragma message"??? =========================================================================== MARK: released ctapi-cyberjack-3.0.0beta1 (2007/05/08) =========================================================================== 2007/05/07: Martin Preuss ------------------------------------------------ - added driver for pinpad_a (heavily adapted it to enable it to work with the new USB framework) - renamed files with suffix "2" back to names without this suffix since this driver will succeed the old driver - use version from configure.ac instead of Windows code version (we still use that in log messages) - adapted files for PC/SC to now additionally support older readers - set version to 3.0.0beta1 (for first beta release) - ausb_l.h: added missing include 2007/05/04: Martin Preuss ------------------------------------------------ - added envrionment variable "CJ_USB_MODE" which can be used with the tool cjflash to force the USB implementation to be used (because they differ very much and at least the flash tool needs to be able to work with old firmware) - added section to README.xml and LIESMICH.xml about flashing the cyberjack ecom_a - changed prototype for CTAPI key callback handler (now also has a key value as an argument) - added driver for old ECOM 2007/05/02: Martin Preuss ------------------------------------------------ - added IFD handler from old Cyberjack driver and adapted it to this new driver - moved filenames in order to allow this driver to be installed in parallel with the old driver (as long as the new driver doesn't support the older readers) - added basic packaging files (RPM, DEB) - added documentation (basically copied over from old driver) - added tool cjgeldkarte2 (basically copied over from old driver) - prepared first beta release 2007/04/30: Martin Preuss ------------------------------------------------ - halt interrupt pipe upon USBLinux::Open() - now always uses USB implementation 3 for 0x400er devices - fixed incompatibilities introduced by SVN merge 2007/04/27: Martin Preuss ------------------------------------------------ - added tool for flashing the reader under Linux - added yet another approach to the USB interface - completed CTAPI driver for Linux - now only exports CTAPI functions and class CReader - modified ausb module: Now the Linux implementation can choose between 3 different implementation. This is needed to allow the flash tool to work with any firmware so we can now flash any Ecom A regardless of the firmware version - configure.ac: Now checks whether thread-support is requested, only compile thread-related modules in case it is 2007/04/26: Martin Preuss ------------------------------------------------ - improved logging for Linux (new log file format allows for better filtering, so users may now send full logs and I will still be able to filter out the important parts) - implemented CTAPI driver - added a CTAPI test tool - tried a thread-based approach to the interrupt pipe problem - beeping now works with X11 also! 2007/04/25: Martin Preuss ------------------------------------------------ - Debug.{h,cpp}: - implemented code for Linux - added DEBUG_MASK_CTAPI - added DEBUG_MASK_IFD - added function rsct_debug_out() to allow for debugging output from C (previously it only worked with C++) - added method setLevelMask() to allow for runtime modification of the level mask (on Linux) - added method setLogFileName() to allow for runtime modification of the logfile (on Linux) - fixed definition of DEBUG_MASK_IFD - only use #pragma(warning) on Windows (gets rid of warnings under Linux) - added ausb/ (lowlevel asynchronous communication via USB on Linux) - implemented USBLinux.cpp (now COM via USB works on Linux) - started working on CTAPI pcsc-cyberjack-3.99.5final.SP03/ltmain.sh0000755000175000001440000073310411660201010016530 0ustar sctusers# Generated from ltmain.m4sh. # ltmain.sh (GNU libtool) 2.2.6 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print informational messages (default) # --version print version information # -h, --help print short or long help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.2.6 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . PROGRAM=ltmain.sh PACKAGE=libtool VERSION=2.2.6 TIMESTAMP="" package_revision=1.3012 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # NLS nuisances: We save the old values to restore during execute mode. # Only set LANG and LC_ALL to C if already set. # These must not be set unconditionally because not all systems understand # e.g. LANG=C (notably SCO). lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done $lt_unset CDPATH : ${CP="cp -f"} : ${ECHO="echo"} : ${EGREP="/usr/bin/grep -E"} : ${FGREP="/usr/bin/grep -F"} : ${GREP="/usr/bin/grep"} : ${LN_S="ln -s"} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SED="/opt/local/bin/gsed"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` } # Generated shell functions inserted here. # 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: # In the unlikely event $progname began with a '-', it would play havoc with # func_echo (imagine progname=-n), so we prepend ./ in that case: func_dirname_and_basename "$progpath" progname=$func_basename_result case $progname in -*) progname=./$progname ;; esac # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=: for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname${mode+: }$mode: $*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "X$my_directory_path" | $Xsed -e "$dirname"` done my_dir_list=`$ECHO "X$my_dir_list" | $Xsed -e 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "X$my_tmpdir" | $Xsed } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "X$1" | $Xsed -e "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "X$1" | $Xsed \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_version # Echo version message to standard output and exit. func_version () { $SED -n '/^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $SED -n '/^# Usage:/,/# -h/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" $ECHO $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help # Echo long help message to standard output and exit. func_help () { $SED -n '/^# Usage:/,/# Report bugs to/ { s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/ p }' < "$progpath" exit $? } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { func_error "missing argument for $1" exit_cmd=exit } exit_cmd=: # 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 </dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # Parse options once, thoroughly. This comes as soon as possible in # the script to make things like `libtool --version' happen quickly. { # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Parse non-mode specific arguments: while test "$#" -gt 0; do opt="$1" shift case $opt in --config) func_config ;; --debug) preserve_args="$preserve_args $opt" func_echo "enabling shell trace mode" opt_debug='set -x' $opt_debug ;; -dlopen) test "$#" -eq 0 && func_missing_arg "$opt" && break execute_dlfiles="$execute_dlfiles $1" shift ;; --dry-run | -n) opt_dry_run=: ;; --features) func_features ;; --finish) mode="finish" ;; --mode) test "$#" -eq 0 && func_missing_arg "$opt" && break case $1 in # Valid mode arguments: clean) ;; compile) ;; execute) ;; finish) ;; install) ;; link) ;; relink) ;; uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac mode="$1" shift ;; --preserve-dup-deps) opt_duplicate_deps=: ;; --quiet|--silent) preserve_args="$preserve_args $opt" opt_silent=: ;; --verbose| -v) preserve_args="$preserve_args $opt" opt_silent=false ;; --tag) test "$#" -eq 0 && func_missing_arg "$opt" && break preserve_args="$preserve_args $opt $1" func_enable_tag "$1" # tagname is set here shift ;; # Separate optargs to long options: -dlopen=*|--mode=*|--tag=*) func_opt_split "$opt" set dummy "$func_opt_split_opt" "$func_opt_split_arg" ${1+"$@"} shift ;; -\?|-h) func_usage ;; --help) opt_help=: ;; --version) func_version ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) nonopt="$opt" break ;; esac done case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_duplicate_deps ;; esac # Having warned about all mis-specified options, bail out if # anything was wrong. $exit_cmd $EXIT_FAILURE } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } ## ----------- ## ## Main. ## ## ----------- ## $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi test -z "$mode" && func_fatal_error "error: you must specify a MODE." # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$execute_dlfiles" && test "$mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$mode' for more information." } # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_ltwrapper_scriptname_result="" if func_ltwrapper_executable_p "$1"; then func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" fi } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" 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. func_quote_for_eval "$arg" CC_quoted="$CC_quoted $func_quote_for_eval_result" 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 func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T <?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi removelist="$removelist $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist removelist="$removelist $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir command="$command -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then command="$command -o $obj" fi # Suppress compiler output if we already did a PIC compilation. command="$command$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to building PIC objects only -prefer-non-pic try to building non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$mode'" ;; esac $ECHO $ECHO "Try \`$progname --help' for more information about other modes." exit $? } # Now that we've collected a possible --mode arg, show help if necessary $opt_help && func_mode_help # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $execute_dlfiles; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then dir="$dir/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -*) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_quote_for_eval "$file" args="$args $func_quote_for_eval_result" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" $ECHO "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug 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. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || admincmds="$admincmds $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && 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" case $host in solaris2.[6789]|solaris2.1[0-9]) $ECHO "more information, such as the ld(1), crle(1) and ld.so(8) manual" $ECHO "pages." ;; *) $ECHO "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac $ECHO "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS } test "$mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. $ECHO "X$nonopt" | $GREP shtool >/dev/null; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" install_prog="$install_prog$func_quote_for_eval_result" # 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. func_quote_for_eval "$arg" install_prog="$install_prog $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. staticlibs="$staticlibs $file" ;; *.la) # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) 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 func_dirname "$file" "/" "" dir="$func_dirname_result" dir="$dir$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "X$destdir" | $Xsed -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "X$relink_command" | $Xsed -e "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && 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 func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "X$lib" | $Xsed -e 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "X$relink_command" | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "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) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "X$objs$old_deplibs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` for progfile in $progfiles; do func_verbose "extracting global C symbols from \`$progfile'" $opt_dry_run || eval "$NM $progfile | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' eval "$NM $dlprefile 2>/dev/null | $global_symbol_pipe >> '$nlist'" } done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else $ECHO '/* NONE */' >> "$output_objdir/$my_dlsyms" fi $ECHO >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; " case $host in *cygwin* | *mingw* | *cegcc* ) $ECHO >> "$output_objdir/$my_dlsyms" "\ /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */" lt_dlsym_const= ;; *osf5*) echo >> "$output_objdir/$my_dlsyms" "\ /* This system does not cope well with relocations in const data */" lt_dlsym_const= ;; *) lt_dlsym_const=const ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ extern $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; $lt_dlsym_const lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac $ECHO >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) symtab_cflags="$symtab_cflags $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "X$compile_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "X$compile_command" | $Xsed -e "s% @SYMFILE@%%"` finalize_command=`$ECHO "X$finalize_command" | $Xsed -e "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP '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_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" func_show_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 func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper_part1 [arg=no] # # Emit the first part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part1 () { func_emit_wrapper_part1_arg1=no if test -n "$1" ; then func_emit_wrapper_part1_arg1=$1 fi $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed='${SED} -e 1s/^X//' sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then 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 "\ # 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 " } # end: func_emit_wrapper_part1 # func_emit_wrapper_part2 [arg=no] # # Emit the second part of a libtool wrapper script on stdout. # For more information, see the description associated with # func_emit_wrapper(), below. func_emit_wrapper_part2 () { func_emit_wrapper_part2_arg1=no if test -n "$1" ; then func_emit_wrapper_part2_arg1=$1 fi $ECHO "\ # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_part2_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"X\$thisdir\" | \$Xsed -e 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"X\$$shlibpath_var\" | \$Xsed -e 's/::*\$//'\` export $shlibpath_var " fi # fixup the dll searchpath if we need to. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi $ECHO "\ 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* | *-cegcc*) $ECHO "\ exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 $ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # end: func_emit_wrapper_part2 # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=no if test -n "$1" ; then func_emit_wrapper_arg1=$1 fi # split this up so that func_emit_cwrapperexe_src # can call each part independently. func_emit_wrapper_part1 "${func_emit_wrapper_arg1}" func_emit_wrapper_part2 "${func_emit_wrapper_arg1}" } # func_to_host_path arg # # Convert paths to host format when used with build tools. # Intended for use with "native" mingw (where libtool itself # is running under the msys shell), or in the following cross- # build environments: # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # where wine is equipped with the `winepath' executable. # In the native mingw case, the (msys) shell automatically # converts paths for any non-msys applications it launches, # but that facility isn't available from inside the cwrapper. # Similar accommodations are necessary for $host mingw and # $build cygwin. Calling this function does no harm for other # $host/$build combinations not listed above. # # ARG is the path (on $build) that should be converted to # the proper representation for $host. The result is stored # in $func_to_host_path_result. func_to_host_path () { func_to_host_path_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' case $build in *mingw* ) # actually, msys # awkward: cmd appends spaces to result lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_path_tmp1=`( cmd //c echo "$1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_path_tmp1=`cygpath -w "$1"` func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # Unfortunately, winepath does not exit with a non-zero # error code, so we are forced to check the contents of # stdout. On the other hand, if the command is not # found, the shell will set an exit code of 127 and print # *an error message* to stdout. So we must check for both # error code of zero AND non-empty stdout, which explains # the odd construction: func_to_host_path_tmp1=`winepath -w "$1" 2>/dev/null` if test "$?" -eq 0 && test -n "${func_to_host_path_tmp1}"; then func_to_host_path_result=`echo "$func_to_host_path_tmp1" |\ $SED -e "$lt_sed_naive_backslashify"` else # Allow warning below. func_to_host_path_result="" fi ;; esac if test -z "$func_to_host_path_result" ; then func_error "Could not determine host path corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_path_result="$1" fi ;; esac fi } # end: func_to_host_path # func_to_host_pathlist arg # # Convert pathlists to host format when used with build tools. # See func_to_host_path(), above. This function supports the # following $build/$host combinations (but does no harm for # combinations not listed here): # $build $host # mingw (msys) mingw [e.g. native] # cygwin mingw # *nix + wine mingw # # Path separators are also converted from $build format to # $host format. If ARG begins or ends with a path separator # character, it is preserved (but converted to $host format) # on output. # # ARG is a pathlist (on $build) that should be converted to # the proper representation on $host. The result is stored # in $func_to_host_pathlist_result. func_to_host_pathlist () { func_to_host_pathlist_result="$1" if test -n "$1" ; then case $host in *mingw* ) lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_to_host_pathlist_tmp2="$1" # Once set for this call, this variable should not be # reassigned. It is used in tha fallback case. func_to_host_pathlist_tmp1=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e 's|^:*||' -e 's|:*$||'` case $build in *mingw* ) # Actually, msys. # Awkward: cmd appends spaces to result. lt_sed_strip_trailing_spaces="s/[ ]*\$//" func_to_host_pathlist_tmp2=`( cmd //c echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_sed_strip_trailing_spaces" ) 2>/dev/null || echo ""` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; *cygwin* ) func_to_host_pathlist_tmp2=`cygpath -w -p "$func_to_host_pathlist_tmp1"` func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp2" |\ $SED -e "$lt_sed_naive_backslashify"` ;; * ) # unfortunately, winepath doesn't convert pathlists func_to_host_pathlist_result="" func_to_host_pathlist_oldIFS=$IFS IFS=: for func_to_host_pathlist_f in $func_to_host_pathlist_tmp1 ; do IFS=$func_to_host_pathlist_oldIFS if test -n "$func_to_host_pathlist_f" ; then func_to_host_path "$func_to_host_pathlist_f" if test -n "$func_to_host_path_result" ; then if test -z "$func_to_host_pathlist_result" ; then func_to_host_pathlist_result="$func_to_host_path_result" else func_to_host_pathlist_result="$func_to_host_pathlist_result;$func_to_host_path_result" fi fi fi IFS=: done IFS=$func_to_host_pathlist_oldIFS ;; esac if test -z "$func_to_host_pathlist_result" ; then func_error "Could not determine the host path(s) corresponding to" func_error " '$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This may break if $1 contains DOS-style drive # specifications. The fix is not to complicate the expression # below, but for the user to provide a working wine installation # with winepath so that path translation in the cross-to-mingw # case works properly. lt_replace_pathsep_nix_to_dos="s|:|;|g" func_to_host_pathlist_result=`echo "$func_to_host_pathlist_tmp1" |\ $SED -e "$lt_replace_pathsep_nix_to_dos"` fi # Now, add the leading and trailing path separators back case "$1" in :* ) func_to_host_pathlist_result=";$func_to_host_pathlist_result" ;; esac case "$1" in *: ) func_to_host_pathlist_result="$func_to_host_pathlist_result;" ;; esac ;; esac fi } # end: func_to_host_pathlist # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include # define setmode _setmode #else # include # include # ifdef __CYGWIN__ # include # define HAVE_SETENV # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif # endif #endif #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 S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif #ifdef _MSC_VER # define S_IXUSR _S_IEXEC # define stat _stat # ifndef _INTPTR_T_DEFINED # define intptr_t int # endif #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 # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifdef __CYGWIN__ # define FOPEN_WB "wb" #endif #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #undef LTWRAPPER_DEBUGPRINTF #if defined DEBUGWRAPPER # define LTWRAPPER_DEBUGPRINTF(args) ltwrapper_debugprintf args static void ltwrapper_debugprintf (const char *fmt, ...) { va_list args; va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } #else # define LTWRAPPER_DEBUGPRINTF(args) #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); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_fatal (const char *message, ...); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_opt_process_env_set (const char *arg); void lt_opt_process_env_prepend (const char *arg); void lt_opt_process_env_append (const char *arg); int lt_split_name_value (const char *arg, char** name, char** value); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); static const char *script_text_part1 = EOF func_emit_wrapper_part1 yes | $SED -e 's/\([\\"]\)/\\\1/g' \ -e 's/^/ "/' -e 's/$/\\n"/' echo ";" cat <"))); for (i = 0; i < newargc; i++) { LTWRAPPER_DEBUGPRINTF (("(main) newargz[%d] : %s\n", i, (newargz[i] ? newargz[i] : ""))); } EOF case $host_os in mingw*) cat <<"EOF" /* execv doesn't actually work on mingw as expected on unix */ rval = _spawnv (_P_WAIT, lt_argv_zero, (const char * const *) newargz); if (rval == -1) { /* failed to start process */ LTWRAPPER_DEBUGPRINTF (("(main) failed to launch target \"%s\": errno = %d\n", lt_argv_zero, errno)); return 127; } return rval; EOF ;; *) cat <<"EOF" execv (lt_argv_zero, newargz); return rval; /* =127, but avoids unused variable warning */ EOF ;; esac cat <<"EOF" } 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; LTWRAPPER_DEBUGPRINTF (("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; LTWRAPPER_DEBUGPRINTF (("(make_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!")); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; LTWRAPPER_DEBUGPRINTF (("(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 * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { LTWRAPPER_DEBUGPRINTF (("checking path component for symlinks: %s\n", tmp_pathspec)); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { char *errstr = strerror (errno); lt_fatal ("Error accessing file %s (%s)", tmp_pathspec, errstr); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal ("Could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } 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); } void lt_setenv (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_setenv) setting '%s' to '%s'\n", (name ? name : ""), (value ? value : ""))); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } int lt_split_name_value (const char *arg, char** name, char** value) { const char *p; int len; if (!arg || !*arg) return 1; p = strchr (arg, (int)'='); if (!p) return 1; *value = xstrdup (++p); len = strlen (arg) - strlen (*value); *name = XMALLOC (char, len); strncpy (*name, arg, len-1); (*name)[len - 1] = '\0'; return 0; } void lt_opt_process_env_set (const char *arg) { char *name = NULL; char *value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_set_opt, arg); } lt_setenv (name, value); XFREE (name); XFREE (value); } void lt_opt_process_env_prepend (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_prepend_opt, arg); } new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_opt_process_env_append (const char *arg) { char *name = NULL; char *value = NULL; char *new_value = NULL; if (lt_split_name_value (arg, &name, &value) != 0) { XFREE (name); XFREE (value); lt_fatal ("bad argument for %s: '%s'", env_append_opt, arg); } new_value = lt_extend_str (getenv (name), value, 1); lt_setenv (name, new_value); XFREE (new_value); XFREE (name); XFREE (value); } void lt_update_exe_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_exe_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { LTWRAPPER_DEBUGPRINTF (("(lt_update_lib_path) modifying '%s' by prepending '%s'\n", (name ? name : ""), (value ? value : ""))); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF } # end: func_emit_cwrapperexe_src # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then dlfiles="$dlfiles $arg" else dlprefiles="$dlprefiles $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) deplibs="$deplibs $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # moreargs="$moreargs $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then 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. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) rpath="$rpath $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) xrpath="$xrpath $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) weak_libs="$weak_libs $arg" prev= continue ;; xcclinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) compiler_flags="$compiler_flags $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) linker_flags="$linker_flags $qarg" compiler_flags="$compiler_flags $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname '-L' '' "$arg" dir=$func_stripname_result if test -z "$dir"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "*) ;; *) deplibs="$deplibs -L$dir" lib_search_path="$lib_search_path $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$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* | *-cegcc*) # 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 System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" arg="$arg $wl$func_quote_for_eval_result" compiler_flags="$compiler_flags $wl$func_quote_for_eval_result" linker_flags="$linker_flags $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # -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*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" compiler_flags="$compiler_flags $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. objs="$objs $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then 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. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. 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. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"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\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_duplicate_deps ; 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 $opt_duplicate_compiler_generated_deps; 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 notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= case $lib in *.la) func_source "$lib" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do deplib_base=`$ECHO "X$deplib" | $Xsed -e "$basename"` case " $weak_libs " in *" $deplib_base "*) ;; *) deplibs="$deplibs $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) new_inherited_linker_flags="$new_inherited_linker_flags $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" dir=$func_stripname_result # 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) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"X$deplib\"" 2>/dev/null | $Xsed -e 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then $ECHO $ECHO "*** Warning: Trying to link with static lib archive $deplib." $ECHO "*** I have the capability to make that library automatically link in when" $ECHO "*** you link to this library. But I can only do this if you have a" $ECHO "*** shared version of the library, which you do not appear to have" $ECHO "*** because the file extensions .$libext of this argument makes me believe" $ECHO "*** that it is just a static archive that I should not use here." else $ECHO $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. 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 func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "X$inherited_linker_flags" | $Xsed -e 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) new_inherited_linker_flags="$new_inherited_linker_flags $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO "X $dependency_libs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && 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 func_fatal_error "cannot find name of link library for \`$lib'" 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" elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_duplicate_deps ; then case "$tmp_libs " in *" $deplib "*) specialdeplibs="$specialdeplibs $deplib" ;; esac fi tmp_libs="$tmp_libs $deplib" done 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 func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. 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 func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." 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 func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi # 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" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ dlpreconveniencelibs="$dlpreconveniencelibs $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*) func_stripname '-L' '' "$deplib" newlib_search_path="$newlib_search_path $func_stripname_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_duplicate_deps ; 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 *"$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 case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded notinst_deplibs="$notinst_deplibs $lib" need_relink=no ;; *) if test "$installed" = no; then notinst_deplibs="$notinst_deplibs $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then $ECHO if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) 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 shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $ECHO $ECHO "*** And there doesn't seem to be a static archive available" $ECHO "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$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 func_fatal_configuration "unsupported hardcode properties" 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 && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) 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*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result 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 $opt_duplicate_deps ; 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) func_dirname "$deplib" "" "." dir="$func_dirname_result" # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) 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" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" objs="$objs$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else $ECHO $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" libobjs="$libobjs $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. verstring="$verstring:${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" libobjs="$libobjs $symfileobj" test "X$libobjs" = "X " && libobjs= 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 | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi removelist="$removelist $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then 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 "X$lib_search_path " | $Xsed -e "s% $path % %g"` # deplibs=`$ECHO "X$deplibs " | $Xsed -e "s% -L$path % %g"` # dependency_libs=`$ECHO "X$dependency_libs " | $Xsed -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* | *-cegcc*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework deplibs="$deplibs System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then 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. $opt_dry_run || $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 -e 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 ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) 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 \"X$potent_lib\"" 2>/dev/null | $Xsed -e 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 ;; *) # Add a -L argument. newdeplibs="$newdeplibs $a_deplib" ;; esac 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" | $Xsed -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 with the System framework newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then $ECHO $ECHO "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" $ECHO "*** a static module, that should work as long as the dlopening" $ECHO "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then $ECHO $ECHO "*** However, this would only work if libtool was able to extract symbol" $ECHO "*** lists from a program, using \`nm' or equivalent, but libtool could" $ECHO "*** not find such a program. So, this module is probably useless." $ECHO "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else $ECHO "*** The inter-library dependencies that have been dropped here will be" $ECHO "*** automatically added whenever a program is linked with this library" $ECHO "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then $ECHO $ECHO "*** Since this library must not contain undefined symbols," $ECHO "*** because either the platform does not support them or" $ECHO "*** it was explicitly requested with -no-undefined," $ECHO "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO "X $newdeplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO "X $new_inherited_linker_flags" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO "X $deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) hardcode_libdirs="$hardcode_libdirs$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" dep_rpath="$dep_rpath $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) perm_rpath="$perm_rpath $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" if test -n "$hardcode_libdir_flag_spec_ld"; then eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" else eval dep_rpath=\"$hardcode_libdir_flag_spec\" fi fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do rpath="$rpath$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do linknames="$linknames $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "X$libobjs" | $SP2NL | $Xsed -e "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" delfiles="$delfiles $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" func_len " $cmd" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then func_show_eval "$cmd" 'exit $?' skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" linker_flags="$linker_flags $flag" fi # Make a backup of the uninstalled library when relinking if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output 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= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" $ECHO 'INPUT (' > $output for obj in $save_libobjs do $ECHO "$obj" >> $output done $ECHO ')' >> $output delfiles="$delfiles $output" elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do $ECHO "$obj" >> $output done delfiles="$delfiles $output" output=$firstobj\"$file_list_spec$output\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. 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~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=$obj func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi delfiles="$delfiles $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "X$include_expsyms" | $Xsed | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter delfiles="$delfiles $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles libobjs="$libobjs $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "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" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) compile_command="$compile_command ${wl}-bind_at_load" finalize_command="$finalize_command ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO "X $compile_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO "X $finalize_deplibs" | $Xsed -e 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) 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* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$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 func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *cegcc) # Disable wrappers for cegcc, we are cross compiling anyway. wrappers_required=no ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "X$compile_command" | $Xsed -e 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do 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. $opt_dry_run || $RM $output # Link the executable and exit func_show_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" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "X$compile_var$compile_command$compile_rpath" | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "X$link_command" | $Xsed -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` fi # Quote $ECHO for shipping. if test "X$ECHO" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --fallback-echo";; esac qecho=`$ECHO "X$qecho" | $Xsed -e "$sed_quote_subst"` else qecho=`$ECHO "X$ECHO" | $Xsed -e "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then oldobjs="$oldobjs $symfileobj" fi 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 # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_extract_archives $gentop $dlprefiles oldobjs="$oldobjs $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else $ECHO "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" generated="$generated $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "X$relink_command" | $Xsed -e "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" newdependency_libs="$newdependency_libs $libdir/$name" ;; *) newdependency_libs="$newdependency_libs $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlfiles="$newdlfiles $libdir/$name" ;; *) newdlfiles="$newdlfiles $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" newdlprefiles="$newdlprefiles $libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac 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 | *cegcc*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$mode" = link || test "$mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) RM="$RM $arg"; rmforce=yes ;; -*) RM="$RM $arg" ;; *) files="$files $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= origobjdir="$objdir" for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then objdir="$origobjdir" else objdir="$dir/$origobjdir" fi func_basename "$file" name="$func_basename_result" 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 func_lalib_p "$file"; then func_source $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. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then 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) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe rmfiles="$rmfiles $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result rmfiles="$rmfiles $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles 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 func_show_eval "$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 func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$mode" = uninstall || test "$mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 pcsc-cyberjack-3.99.5final.SP03/COPYRIGHT.LGPL0000644000175000001440000006347611657145411016767 0ustar sctusers GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. [This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it. For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you". A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables. The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".) "Source code" for a work means the preferred form of the work for making modifications to it. For a library, 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 library. Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does. 1. You may copy and distribute verbatim copies of the Library's complete 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 distribute a copy of this License along with the Library. 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 Library or any portion of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change. c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License. d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful. (For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, 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 Library, 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 Library. In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices. Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy. This option is useful when you wish to copy part of the code of the Library into a program that is not a library. 4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you 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. If distribution of 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 satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code. 5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License. However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables. When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law. If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.) Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself. 6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications. You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things: a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.) b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution. d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place. e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy. For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be 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. It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute. 7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things: a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above. b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work. 8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library 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. 9. 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 Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it. 10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library 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 with this License. 11. 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 Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library 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 Library. 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. 12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library 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. 13. The Free Software Foundation may publish revised and/or new versions of the Lesser 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 Library 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 Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation. 14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, 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 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "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 LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. 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 LIBRARY 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 LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Libraries If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License). To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Also add information on how to contact you by electronic and paper mail. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the library `Frob' (a library for tweaking knobs) written by James Random Hacker. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! pcsc-cyberjack-3.99.5final.SP03/INSTALL0000644000175000001440000002713611660201016015745 0ustar sctusersInstallation Instructions ************************* Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package. 4. Type `make install' to install the programs and any data files and documentation. 5. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 6. Often, you can also type `make uninstall' to remove the installed files again. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Optional Features ================= Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf bug. Until the bug is fixed you can use this workaround: CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *Note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. pcsc-cyberjack-3.99.5final.SP03/missing0000755000175000001440000002623311660153345016323 0ustar sctusers#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2009-04-28.21; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, # 2008, 2009 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, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try \`$0 --help' for more information" exit 1 fi run=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # 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 msg="missing on your system" case $1 in --run) # Try to run requested program, and just exit if it succeeds. run= shift "$@" && exit 0 # Exit code 63 means version mismatch. This often happens # when the user try to use an ancient version of a tool on # a file that requires a minimum version. In this case we # we should proceed has if the program had been absent, or # if --run hadn't been passed. if test $? = 63; then run=: msg="probably too old" fi ;; -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' autom4te touch the output file, or create a stub one 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] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and \`g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: Unknown \`$1' option" echo 1>&2 "Try \`$0 --help' for more information" exit 1 ;; esac # normalize program name to check for. program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` # Now exit if we have it, but it failed. Also exit now if we # don't have it and --version was passed (most likely to detect # the program). This is about non-GNU programs, so use $1 not # $program. case $1 in lex*|yacc*) # Not GNU programs, they don't have --version. ;; tar*) if test -n "$run"; then echo 1>&2 "ERROR: \`tar' requires --run" exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then exit 1 fi ;; *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. exit 1 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then # Could not run --version or --help. This is probably someone # running `$TOOL --version' or `$TOOL --help' to check whether # $TOOL exists and not knowing $TOOL uses missing. exit 1 fi ;; esac # If it does not exist, or fails to run (possibly an outdated version), # try to emulate it. case $program in aclocal*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acinclude.m4' or \`${configure_ac}'. You might want to install the \`Automake' and \`Perl' packages. Grab them from any GNU archive site." touch aclocal.m4 ;; autoconf*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." touch configure ;; autoheader*) echo 1>&2 "\ WARNING: \`$1' is $msg. You should only need it if you modified \`acconfig.h' or \`${configure_ac}'. You might want to install the \`Autoconf' and \`GNU m4' packages. Grab them from any GNU archive site." files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` test -z "$files" && files="config.h" touch_files= for f in $files; do case $f in *:*) touch_files="$touch_files "`echo "$f" | sed -e 's/^[^:]*://' -e 's/:.*//'`;; *) touch_files="$touch_files $f.in";; esac done touch $touch_files ;; automake*) echo 1>&2 "\ WARNING: \`$1' is $msg. 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*) echo 1>&2 "\ WARNING: \`$1' is needed, but is $msg. You might have modified some files without having the proper tools for further handling them. You can get \`$1' as part of \`Autoconf' from any GNU archive site." file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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' $msg. 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -f y.tab.c; then echo 'main() { return 0; }' >y.tab.c fi ;; lex*|flex*) echo 1>&2 "\ WARNING: \`$1' is $msg. 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -f lex.yy.c; then echo 'main() { return 0; }' >lex.yy.c fi ;; help2man*) echo 1>&2 "\ WARNING: \`$1' is $msg. 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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -f "$file"; then touch $file else test -z "$file" || exec >$file echo ".ab help2man is required to generate this page" exit $? fi ;; makeinfo*) echo 1>&2 "\ WARNING: \`$1' is $msg. 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." # The file to touch is that specified with -o ... file=`echo "$*" | sed -n "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -z "$file"; then # ... or it is the one specified with @setfilename ... infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` file=`sed -n ' /^@setfilename/{ s/.* \([^ ]*\) *$/\1/ p q }' $infile` # ... or it is derived from the source name (dir/f.texi becomes f.info) test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info fi # If the file does not exist, the user really needs makeinfo; # let's fail without touching anything. test -f $file || exit 1 touch $file ;; tar*) shift # 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 is $msg. 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 prerequisites 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 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: pcsc-cyberjack-3.99.5final.SP03/tools/0000755000175000001440000000000011660201015016042 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/Makefile.am0000644000175000001440000000034211657145411020112 0ustar sctusersDIST_SUBDIRS=cjflash cjgeldkarte cyberjack cjBingo fxcyberjack fox-dialog mac-ui-helper if WITH_FOX fox_subdirs=fxcyberjack endif if ENABLE_NONSERIAL SUBDIRS=cyberjack $(fox_subdirs) else SUBDIRS=$(fox_subdirs) endif pcsc-cyberjack-3.99.5final.SP03/tools/Makefile.in0000644000175000001440000004643111660201015020117 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = tools DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_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 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ DIST_SUBDIRS = cjflash cjgeldkarte cyberjack cjBingo fxcyberjack fox-dialog mac-ui-helper @WITH_FOX_TRUE@fox_subdirs = fxcyberjack @ENABLE_NONSERIAL_FALSE@SUBDIRS = $(fox_subdirs) @ENABLE_NONSERIAL_TRUE@SUBDIRS = cyberjack $(fox_subdirs) all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # 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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .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: pcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/0000755000175000001440000000000011660201015017777 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/Makefile.am0000644000175000001440000000077611657145411022062 0ustar sctusersSUBDIRS=scripts DEFS+=@cyberjack_platform_def@ \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" $(PTHREAD_CFLAGS) INCLUDES=$(pcsc_includes) \ -I../../include -I../../cjeca32 -I../../libcyberjack/checksuite -I../../include/driver -I../../include/firmware bin_PROGRAMS=cyberjack cyberjack_SOURCES=cyberjack.cpp cyberjack_LDADD=\ ../../libcyberjack/checksuite/libchecksuite.la -ldl @libusb_libs@ $(PTHREAD_LIBS) \ ../../cjeca32/libeca.la \ ../../libcyberjack/libcyberjack.la -lstdc++ pcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/scripts/0000755000175000001440000000000011660201015021466 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/scripts/Makefile.am0000644000175000001440000000015611657145411023541 0ustar sctusers cdscriptdir=$(libdir)/cyberjack cdscript_SCRIPTS=getdist.sh pcscd_init.diff EXTRA_DIST=$(cdscript_SCRIPTS) pcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/scripts/Makefile.in0000644000175000001440000003552711660201015023547 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = tools/cyberjack/scripts DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__installdirs = "$(DESTDIR)$(cdscriptdir)" SCRIPTS = $(cdscript_SCRIPTS) SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ cdscriptdir = $(libdir)/cyberjack cdscript_SCRIPTS = getdist.sh pcscd_init.diff EXTRA_DIST = $(cdscript_SCRIPTS) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/cyberjack/scripts/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/cyberjack/scripts/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-cdscriptSCRIPTS: $(cdscript_SCRIPTS) @$(NORMAL_INSTALL) test -z "$(cdscriptdir)" || $(MKDIR_P) "$(DESTDIR)$(cdscriptdir)" @list='$(cdscript_SCRIPTS)'; test -n "$(cdscriptdir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n' \ -e 'h;s|.*|.|' \ -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) { files[d] = files[d] " " $$1; \ if (++n[d] == $(am__install_max)) { \ print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ else { print "f", d "/" $$4, $$1 } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(cdscriptdir)$$dir'"; \ $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(cdscriptdir)$$dir" || exit $$?; \ } \ ; done uninstall-cdscriptSCRIPTS: @$(NORMAL_UNINSTALL) @list='$(cdscript_SCRIPTS)'; test -n "$(cdscriptdir)" || exit 0; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 's,.*/,,;$(transform)'`; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(cdscriptdir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(cdscriptdir)" && rm -f $$files 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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(SCRIPTS) installdirs: for dir in "$(DESTDIR)$(cdscriptdir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-cdscriptSCRIPTS install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-cdscriptSCRIPTS .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-cdscriptSCRIPTS 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 uninstall-cdscriptSCRIPTS # 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: pcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/scripts/getdist.sh0000755000175000001440000000300611657145411023504 0ustar sctusers#!/bin/sh RPM_COMMAND="`which rpm`" DIST_NAME="" DIST_VER="" # check for DEB if test -z "${DIST_NAME}"; then if test -f "/etc/debian_version"; then debtype=["` gcc --version | head -1`"] case $debtype in *\(Debian\ *) DIST_NAME="Debian" DIST_VER="`cat /etc/debian_version`" ;; *\(Ubuntu\ * | *\(KUbuntu\ *) DIST_NAME="Ubuntu" DIST_VER="`cat /etc/debian_version`" ;; *) DIST_NAME="Debian or derivate" DIST_VER="`cat /etc/debian_version`" ;; esac fi fi # check for RPM if test -z "${DIST_NAME}"; then if test -n "${RPM_COMMAND}"; then if test -x "${RPM_COMMAND}"; then if test -e "/etc/mandriva-release"; then DIST_NAME="Mandriva" #DIST_VER="`rpm -q --queryformat='%{VERSION}' mandriva-release 2>/dev/null`" read v1 v2 v3 v4 v5 distname echo "${DIST_VER}" >distver pcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/scripts/pcscd_init.diff0000644000175000001440000000051711657145411024457 0ustar sctusers--- /etc/init.d/pcscd.orig 2011-05-12 10:43:06.657681780 +0200 +++ /etc/init.d/pcscd 2011-05-12 10:43:32.637681699 +0200 @@ -40,7 +40,7 @@ # DO NOT start the daemon on startup # comment the line to have the same behavior as in version < 1.6.0 -exit 0 +# exit 0 # Exit if the package is not installed [ -x "$DAEMON" ] || exit 0 pcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/Makefile.in0000644000175000001440000006031311660201015022047 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = cyberjack$(EXEEXT) subdir = tools/cyberjack DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_cyberjack_OBJECTS = cyberjack.$(OBJEXT) cyberjack_OBJECTS = $(am_cyberjack_OBJECTS) cyberjack_DEPENDENCIES = \ ../../libcyberjack/checksuite/libchecksuite.la \ ../../cjeca32/libeca.la ../../libcyberjack/libcyberjack.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(cyberjack_SOURCES) DIST_SOURCES = $(cyberjack_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 AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" \ $(PTHREAD_CFLAGS) DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ SUBDIRS = scripts INCLUDES = $(pcsc_includes) \ -I../../include -I../../cjeca32 -I../../libcyberjack/checksuite -I../../include/driver -I../../include/firmware cyberjack_SOURCES = cyberjack.cpp cyberjack_LDADD = \ ../../libcyberjack/checksuite/libchecksuite.la -ldl @libusb_libs@ $(PTHREAD_LIBS) \ ../../cjeca32/libeca.la \ ../../libcyberjack/libcyberjack.la -lstdc++ all: all-recursive .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/cyberjack/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/cyberjack/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list cyberjack$(EXEEXT): $(cyberjack_OBJECTS) $(cyberjack_DEPENDENCIES) @rm -f cyberjack$(EXEEXT) $(CXXLINK) $(cyberjack_OBJECTS) $(cyberjack_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cyberjack.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool 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 html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -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) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool 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-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 # 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: pcsc-cyberjack-3.99.5final.SP03/tools/cyberjack/cyberjack.cpp0000644000175000001440000002355111657145411022463 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "Platform.h" #include "config_l.h" #include "checksuite.h" #include #include #include #ifdef OS_LINUX # include # include #endif #include #include #include typedef void* (*XOPENDISPLAY_FN)(char *display_name); typedef int (*XCLOSEDISPLAY_FN)(void *display); typedef int (*XBELL_FN)(void *display, int percent); typedef int (*XFLUSH_FN)(void *display); /* forward declarations */ int mtTest(int tc); int check() { CheckSuite *cs; std::string xmlString; std::string reportString; std::string hintString; bool b; FILE *f; cs=new CheckSuite(); cs->addStandardModules(true); b=cs->performChecks(xmlString, reportString, hintString); f=fopen("cyberjack.xml", "w+"); if (f) { fprintf(f, "%s", xmlString.c_str()); fclose(f); } else { fprintf(stderr, "fopen(\"cyberjack.xml\"): %s\n", strerror(errno)); } f=fopen("cyberjack-report.log", "w+"); if (f) { fprintf(f, "%s", reportString.c_str()); fclose(f); } else { fprintf(stderr, "fopen(\"cyberjack-report.log\"): %s\n", strerror(errno)); } f=fopen("cyberjack-hints.log", "w+"); if (f) { fprintf(f, "%s", hintString.c_str()); fclose(f); } else { fprintf(stderr, "fopen(\"cyberjack-hints.log\"): %s\n", strerror(errno)); } fprintf(stderr, "\n" "Es wurden 3 Dateien im aktuellen Verzeichnis angelegt:\n" "- cyberjack-report.log: Enthaelt die Ergebnisse der Tests\n" "- cyberjack-hints.log : Enthaelt moeglicherweise Hinweise\n" " zu gefundenen Problemen und deren\n" " Behebung.\n" "- cyberjack.xml : Enthaelt die Testergebnisse in fuer\n" " den Support aufbereiteter Form.\n" "Bitte senden Sie bei Problemen die Datei \"cyberjack.xml\"\n" "an den Linux-Support von Reiner SCT.\n" "\n"); return 0; } int addFlags(unsigned int fl) { unsigned int oldFlags; if (rsct_config_init()) { fprintf(stderr, "ERROR: Could not init configuration.\n"); return 2; } if (fl & CT_FLAGS_ECOM_KERNEL_OLD) { /* this flag is now ignored by the driver in order to turn off the use of * the kernel module for new drivers. However, if this flag is given here * (some documentation will refer to that old flag) we use the correct one. */ fl|=CT_FLAGS_ECOM_KERNEL; } oldFlags=rsct_config_get_flags(); oldFlags|=fl; rsct_config_set_flags(oldFlags); if (rsct_config_save()) { fprintf(stderr, "ERROR: Could not save configuration, " "maybe you need to be root?\n"); rsct_config_fini(); return 3; } rsct_config_fini(); fprintf(stderr, "INFO: Added flags %08x (now: %08x)\n", fl, oldFlags); return 0; } int delFlags(unsigned int fl) { unsigned int oldFlags; if (rsct_config_init()) { fprintf(stderr, "ERROR: Could not init configuration.\n"); return 2; } if (fl & CT_FLAGS_ECOM_KERNEL_OLD) { /* this flag is now ignored by the driver in order to turn off the use of * the kernel module for new drivers. However, if this flag is given here * (some documentation will refer to that old flag) we use the correct one. */ fl|=CT_FLAGS_ECOM_KERNEL; } oldFlags=rsct_config_get_flags(); oldFlags&=~fl; rsct_config_set_flags(oldFlags); if (rsct_config_save()) { fprintf(stderr, "ERROR: Could not save configuration, " "maybe you need to be root?\n"); rsct_config_fini(); return 3; } rsct_config_fini(); fprintf(stderr, "INFO: Cleared flags %08x (now: %08x)\n", fl, oldFlags); return 0; } int getFlags() { unsigned int fl; if (rsct_config_init()) { fprintf(stderr, "ERROR: Could not init configuration.\n"); return 2; } fl=rsct_config_get_flags(); fprintf(stderr, "INFO: Flags: %08x\n", fl); rsct_config_fini(); return 0; } int beepConsole1() { #ifdef OS_LINUX int fd; fd=open("/dev/console", O_WRONLY); if (fd!=-1) { int arg; int rv; arg=(150<<16)+440; /* "A" for 150ms */ rv=ioctl(fd, KDMKTONE, arg); close(fd); if (rv) { fprintf(stderr, "Error on IOCTL(KDMTONE) with /dev/console: %d [%s]\n", errno, strerror(errno)); return 2; } } else { fprintf(stderr, "Error opening /dev/console: %d [%s]\n", errno, strerror(errno)); return 2; } return 0; #else fprintf(stderr, "Beep using Linux IOCTL not supported\n"); return 2; #endif } int beepConsole2() { printf("\a"); fflush(stdout); return 0; } int beepX11() { void *xhdl; void *display; void *fn; XOPENDISPLAY_FN xOpenDisplay; XCLOSEDISPLAY_FN xCloseDisplay; XBELL_FN xBell; XFLUSH_FN xFlush; int rv; xhdl = dlopen("libX11.so", RTLD_NOW); if (xhdl==NULL) { fprintf(stderr, "Error loading LibX11.so: %d [%s]\n", errno, strerror(errno)); return 2; } fn=dlsym(xhdl, "XOpenDisplay"); if (fn==NULL) { fprintf(stderr, "Symbol XOpenDisplay not found: %d [%s]\n", errno, strerror(errno)); return 2; } xOpenDisplay=(XOPENDISPLAY_FN) fn; fn=dlsym(xhdl, "XCloseDisplay"); if (fn==NULL) { fprintf(stderr, "Symbol XCloseDisplay not found: %d [%s]\n", errno, strerror(errno)); return 2; } xCloseDisplay=(XCLOSEDISPLAY_FN) fn; fn=dlsym(xhdl, "XBell"); if (fn==NULL) { fprintf(stderr, "Symbol XBell not found: %d [%s]\n", errno, strerror(errno)); return 2; } xBell=(XBELL_FN) fn; fn=dlsym(xhdl, "XFlush"); if (fn==NULL) { fprintf(stderr, "Symbol XFlush not found: %d [%s]\n", errno, strerror(errno)); return 2; } xFlush=(XFLUSH_FN) fn; /* connect to X11 server */ display = (void *) xOpenDisplay(NULL); if (display==NULL) { fprintf(stderr, "Error connecting to X11 server\n"); return 2; } xBell(display, 100); xFlush(display); rv=xCloseDisplay(display); if (rv) { fprintf(stderr, "XCloseDisplay returned: %d\n", rv); return 2; } display=NULL; dlclose(xhdl); return 0; } int setVar(const char *name, const char *val) { if (rsct_config_init()) { fprintf(stderr, "ERROR: Could not init configuration.\n"); return 2; } rsct_config_set_var(name, val); if (rsct_config_save()) { fprintf(stderr, "ERROR: Could not save configuration, " "maybe you need to be root?\n"); rsct_config_fini(); return 3; } rsct_config_fini(); fprintf(stderr, "INFO: Variable \"%s\" set to \"%s\"\n", name, val); return 0; } int getVar(const char *name) { const char *s; if (rsct_config_init()) { fprintf(stderr, "ERROR: Could not init configuration.\n"); return 2; } s=rsct_config_get_var(name); if (s && *s) fprintf(stderr, "Value of variable \"%s\": \"%s\"\n", name, s); else fprintf(stderr, "Value of variable \"%s\" is empty\n", name); rsct_config_fini(); return 0; } int main(int argc, char **argv) { if (argc>1) { if (strcmp(argv[1], "check")==0) return check(); else if (strcmp(argv[1], "addflags")==0) { if (argc>2) { int fl; if (sscanf(argv[2], "%i", &fl)!=1) { fprintf(stderr, "ERROR: Not an integer\n"); return 1; } return addFlags(fl); } else { fprintf(stderr, "ERROR: Flags missing.\n"); return 1; } } else if (strcmp(argv[1], "delflags")==0) { if (argc>2) { int fl; if (sscanf(argv[2], "%i", &fl)!=1) { fprintf(stderr, "ERROR: Not an integer\n"); return 1; } return delFlags(fl); } else { fprintf(stderr, "ERROR: Flags missing.\n"); return 1; } } else if (strcmp(argv[1], "getflags")==0) { return getFlags(); } else if (strcmp(argv[1], "setvar")==0) { if (argc>3) { /* set variable */ return setVar(argv[2], argv[3]); } else { fprintf(stderr, "ERROR: Name and/or value missing.\n"); return 1; } } else if (strcmp(argv[1], "getvar")==0) { if (argc>2) { /* set variable */ return getVar(argv[2]); } else { fprintf(stderr, "ERROR: Name missing.\n"); return 1; } } else if (strcmp(argv[1], "beep1")==0) { return beepConsole1(); } else if (strcmp(argv[1], "beep2")==0) { return beepConsole2(); } else if (strcmp(argv[1], "beep3")==0) { return beepX11(); } else if (strcmp(argv[1], "mttest")==0) { fprintf(stderr, "This test has been removed.\n"); return 1; } else { fprintf(stderr, "Usage: %s [COMMAND] [ARGUMENTS]\n" "\n" "COMMAND can be:\n" " check: performs system checks\n" " addflags: adds flags in the CTAPI configuration file\n" " (on this system %s)\n" " This command needs an argument (the flags to add)\n" " delflags: clears flags in the CTAPI configuration file\n" " This command needs an argument (the flags to clear)\n" " beep1: Beeps using /dev/console\n" " beep2: Beeps by outputting sending a control character to stdout\n" " beep3: Beeps using a running X11 server\n" "\n" "Examples:\n" " %s check\n" " %s addflags 0xffff\n" " %s delflags 0xff00\n", argv[0], CYBERJACK_CONFIG_FILE, argv[0], argv[0], argv[0]); return 1; } } else { return check(); } } pcsc-cyberjack-3.99.5final.SP03/tools/fox-dialog/0000755000175000001440000000000011660201016020074 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/fox-dialog/Makefile.am0000644000175000001440000000102511657145411022142 0ustar sctusers INCLUDES=$(pcsc_includes) $(fox_includes) \ -I../../include \ -I../../cjeca32 \ -I../../ifd \ -I../../libcyberjack \ -I../../libcyberjack/checksuite \ -I../../libcyberjack/libdialog \ -I../../include/driver \ -I../../include/firmware \ -I../fxcyberjack DEFS+=@cyberjack_platform_def@ bin_PROGRAMS=cyberjack-gui cyberjack_gui_LDADD=\ ../../libcyberjack/libdialog/base/libdialog_base.la \ @THREAD_LIBS@ $(fox_libs) -lstdc++ cyberjack_gui_SOURCES=\ dlg.cpp \ main.cpp noinst_HEADERS= \ dlg.hpp pcsc-cyberjack-3.99.5final.SP03/tools/fox-dialog/main.cpp0000644000175000001440000001143611657145411021545 0ustar sctusers #define ENABLE_DEBUGPI #include "Platform.h" #include "libdialog/base/network.h" #include "dlg.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #ifdef ENABLE_DEBUGPE # define DEBUGPE(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPE(format, args...) #endif #ifdef ENABLE_DEBUGPI # define DEBUGPI(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPI(format, args...) #endif #ifdef ENABLE_DEBUGPD # define DEBUGPD(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPD(format, args...) #endif static int daemon_abort=0; static char daemon_sock_buf[512]; /* Signal handler */ struct sigaction saINT,saTERM, saINFO, saHUP, saCHLD; void signalHandler(int s) { switch(s) { case SIGINT: case SIGTERM: #ifdef SIGHUP case SIGHUP: #endif daemon_abort=1; DEBUGPI("INFO: Terminating daemon.\n"); break; #ifdef SIGCHLD case SIGCHLD: for (;;) { pid_t pid; int stat_loc; pid=waitpid((pid_t)-1, &stat_loc, WNOHANG); if (pid==-1 || pid==0) break; else { DEBUGPI("INFO: Service %d finished.\n", (int)pid); } } break; #endif default: DEBUGPI("INFO: Unhandled signal %d\n", s); break; } /* switch */ } int setSingleSignalHandler(struct sigaction *sa, int sig) { sa->sa_handler=signalHandler; sigemptyset(&sa->sa_mask); sa->sa_flags=0; if (sigaction(sig, sa,0)) { DEBUGPE("ERROR: sigaction(%d): %d=%s", sig, errno, strerror(errno)); return -1; } return 0; } int setSignalHandler() { int rv; rv=setSingleSignalHandler(&saINT, SIGINT); if (rv) return rv; #ifdef SIGCHLD rv=setSingleSignalHandler(&saCHLD, SIGCHLD); if (rv) return rv; #endif rv=setSingleSignalHandler(&saTERM, SIGTERM); if (rv) return rv; #ifdef SIGHUP rv=setSingleSignalHandler(&saHUP, SIGHUP); if (rv) return rv; #endif return 0; } int mkSockName() { struct passwd *p; p=getpwuid(geteuid()); if (!p) { fprintf(stderr, "ERROR: %s at getpwuid\n", strerror(errno)); endpwent(); return -1; } if (sizeof(daemon_sock_buf)pw_dir)+1) { fprintf(stderr, "Internal: Buffer too small (need %d bytes)\n", (int)(strlen(p->pw_dir)+1)); endpwent(); return -1; } strcpy(daemon_sock_buf, p->pw_dir); endpwent(); strncat(daemon_sock_buf, "/.cyberJack_gui_sock", sizeof(daemon_sock_buf)-1); daemon_sock_buf[sizeof(daemon_sock_buf)-1]=0; return 0; } int prepareListen() { int sock; sock=rsct_net_listen_by_path(daemon_sock_buf); if (sock==-1) { fprintf(stderr, "Error on rsct_net_listen_by_path(%s): %s\n", daemon_sock_buf, strerror(errno)); return -1; } return sock; } int handleConnection(int argc, char **argv, int sock) { FXApp a("cyberJackDialog", "ReinerSCT"); int rv; a.init(argc,argv); a.create(); CyberJackDialog dlg(sock, &a); dlg.create(); dlg.layout(); rv=dlg.getAndHandleMessage(); if (rv<0) return rv; else if (rv!=RSCT_Message_Command_OpenDialog) { fprintf(stderr, "ERROR: First message is not OpenDialog\n"); return -1; } a.addInput(sock, INPUT_READ, &dlg, CyberJackDialog::ID_SOCKET); dlg.show(PLACEMENT_SCREEN); dlg.execute(); a.removeInput(sock, INPUT_READ); close(sock); return 0; } int main(int argc, char **argv) { int rv; int sk; rv=setSignalHandler(); if (rv) { DEBUGPE("ERROR: Could not setup signal handler\n"); return 2; } rv=mkSockName(); if (rv<0) { fprintf(stderr, "RSCT: Could not determine sockat path\n"); return 2; } unlink(daemon_sock_buf); sk=rsct_net_listen_by_path(daemon_sock_buf); if (sk==-1) { fprintf(stderr, "Error on rsct_net_listen_by_path(%s): %s\n", daemon_sock_buf, strerror(errno)); return 2; } DEBUGPI("INFO: cyberJack GUI started\n"); while(!daemon_abort) { int newS; newS=rsct_net_accept(sk); if (newS!=-1) { pid_t pid; pid=fork(); if (pid<0) { /* error */ } else if (pid==0) { int rv; /* child */ close(sk); rv=setSignalHandler(); if (rv) { DEBUGPE("ERROR: Could not setup child's signal handler\n"); exit(2); } fprintf(stderr, "Received a connection.\n"); rv=handleConnection(argc, argv, newS); fprintf(stderr, "Connection closed.\n"); if (rv) exit(3); exit(0); } else { /* parent */ DEBUGPI("INFO: cyberJack GUI service spawned (%d)\n", (int)pid); close(newS); } } } DEBUGPI("INFO: cyberJack GUI going down\n"); unlink(daemon_sock_buf); return 0; } pcsc-cyberjack-3.99.5final.SP03/tools/fox-dialog/Makefile.in0000644000175000001440000004610011660201016022142 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = cyberjack-gui$(EXEEXT) subdir = tools/fox-dialog DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_cyberjack_gui_OBJECTS = dlg.$(OBJEXT) main.$(OBJEXT) cyberjack_gui_OBJECTS = $(am_cyberjack_gui_OBJECTS) am__DEPENDENCIES_1 = cyberjack_gui_DEPENDENCIES = \ ../../libcyberjack/libdialog/base/libdialog_base.la \ $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(cyberjack_gui_SOURCES) DIST_SOURCES = $(cyberjack_gui_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = $(pcsc_includes) $(fox_includes) \ -I../../include \ -I../../cjeca32 \ -I../../ifd \ -I../../libcyberjack \ -I../../libcyberjack/checksuite \ -I../../libcyberjack/libdialog \ -I../../include/driver \ -I../../include/firmware \ -I../fxcyberjack cyberjack_gui_LDADD = \ ../../libcyberjack/libdialog/base/libdialog_base.la \ @THREAD_LIBS@ $(fox_libs) -lstdc++ cyberjack_gui_SOURCES = \ dlg.cpp \ main.cpp noinst_HEADERS = \ dlg.hpp all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/fox-dialog/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/fox-dialog/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list cyberjack-gui$(EXEEXT): $(cyberjack_gui_OBJECTS) $(cyberjack_gui_DEPENDENCIES) @rm -f cyberjack-gui$(EXEEXT) $(CXXLINK) $(cyberjack_gui_OBJECTS) $(cyberjack_gui_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlg.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bindir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags 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-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS # 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: pcsc-cyberjack-3.99.5final.SP03/tools/fox-dialog/dlg.hpp0000644000175000001440000000605511657145411021375 0ustar sctusers/*************************************************************************** begin : Fri Jul 01 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef DLG_HPP #define DLG_HPP #include #include #include "base/message.h" class CyberJackDialog: public FXDialogBox { FXDECLARE(CyberJackDialog) public: enum { ID_SOCKET=FXDialogBox::ID_LAST, ID_TIMER, ID_LAST }; CyberJackDialog(int sock, FXApp* a, FXuint opts=DECOR_TITLE|DECOR_BORDER, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=0, FXint pr=0, FXint pt=0, FXint pb=0, FXint hs=0, FXint vs=0); virtual ~CyberJackDialog(); void setStage(int stage); void setNumDigits(int num); int getAndHandleMessage(); void addSocketToInput(); long onIoRead(FXObject*, FXSelector, void *ptr); long onTimeout(FXObject*, FXSelector, void *ptr); long onSelKeyPress(FXObject*, FXSelector, void *ptr); long onSelKeyRelease(FXObject*, FXSelector, void *ptr); void create(); protected: CyberJackDialog(); int handleMessage(RSCT_MESSAGE *msg); int handleOpenDialog(RSCT_MESSAGE *msg); int handleSetStage(RSCT_MESSAGE *msg); int handleSetNumChars(RSCT_MESSAGE *msg); int handleCloseDialog(RSCT_MESSAGE *msg); static int m_lastDialogId; int m_socket; int m_currentStage; int m_stages; int m_numChars; unsigned int m_keyTimeout; time_t m_startTime; FXString m_textStage0; FXString m_textStage1; FXString m_textStage2; FXLabel *m_textLabel; FXLabel *m_enteredLabel; FXLabel *m_stageLabel; FXProgressBar *m_progressBar; FXImage *m_image; FXFont *m_fontSmall; FXFont *m_fontBig; }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fox-dialog/dlg.cpp0000644000175000001440000002517111657145411021370 0ustar sctusers/*************************************************************************** begin : Fri Jul 01 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "dlg.hpp" #include "libdialog/base/network.h" #include #include #include #include "icons/icons.cpp" #define I18N(msg) msg #ifdef ENABLE_DEBUGPE # define DEBUGPE(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPE(format, args...) #endif #ifdef ENABLE_DEBUGPI # define DEBUGPI(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPI(format, args...) #endif #ifdef ENABLE_DEBUGPD # define DEBUGPD(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPD(format, args...) #endif int CyberJackDialog::m_lastDialogId=0; FXDEFMAP(CyberJackDialog) CyberJackDialogMap[]={ FXMAPFUNC(SEL_IO_READ, CyberJackDialog::ID_SOCKET, CyberJackDialog::onIoRead), FXMAPFUNC(SEL_TIMEOUT, CyberJackDialog::ID_TIMER, CyberJackDialog::onTimeout), FXMAPFUNC(SEL_TIMEOUT, CyberJackDialog::ID_TIMER, CyberJackDialog::onTimeout), FXMAPFUNC(SEL_KEYPRESS, 0, CyberJackDialog::onSelKeyPress), FXMAPFUNC(SEL_KEYRELEASE, 0, CyberJackDialog::onSelKeyRelease) }; FXIMPLEMENT(CyberJackDialog, FXDialogBox, CyberJackDialogMap, ARRAYNUMBER(CyberJackDialogMap)) CyberJackDialog::CyberJackDialog() :FXDialogBox() ,m_currentStage(-1) ,m_stages(-1) ,m_numChars(0) { } CyberJackDialog::CyberJackDialog(int sock, FXApp* a, FXuint opts, FXint x, FXint y, FXint w, FXint h, FXint pl, FXint pr, FXint pt, FXint pb, FXint hs, FXint vs) :FXDialogBox(a, "Reiner SCT cyberJack", opts, x, y, w, h, pl, pr, pt, pb, hs, vs) ,m_socket(sock) ,m_currentStage(-1) ,m_stages(0) ,m_numChars(0) ,m_keyTimeout(15) ,m_stageLabel(NULL) ,m_progressBar(NULL) ,m_image(NULL) ,m_fontSmall(NULL) ,m_fontBig(NULL) { FXVerticalFrame *vf; FXHorizontalFrame *hf; FXVerticalFrame *vf2; FXIconSource iconSource(a); FXLabel *label; FXFont *fnt; m_image=iconSource.loadIconData(fxcj_icon_cy_ecom_plus_n, "jpg"); fnt=getApp()->getNormalFont(); if (fnt) { int fsize; int nsize; fsize=fnt->getSize(); nsize=(fsize-(fsize/3))/10; m_fontSmall=new FXFont(getApp(), fnt->getName(), nsize, fnt->getWeight(), fnt->getSlant(), fnt->getEncoding()); nsize=(fsize*2)/10; m_fontBig=new FXFont(getApp(), fnt->getName(), nsize, fnt->getWeight(), fnt->getSlant(), fnt->getEncoding()); } vf=new FXVerticalFrame(this, LAYOUT_FILL_X | LAYOUT_FILL_Y); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X); label=new FXLabel(hf, "Reiner SCT cyberJack", NULL, LAYOUT_LEFT); if (m_fontSmall) label->setFont(m_fontSmall); m_stageLabel=new FXLabel(hf, "", NULL, LAYOUT_RIGHT); if (m_fontSmall) m_stageLabel->setFont(m_fontSmall); new FXHorizontalSeparator(vf, LAYOUT_FILL_X | SEPARATOR_GROOVE); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X | LAYOUT_FILL_Y); new FXImageFrame(hf, m_image, FRAME_SUNKEN|FRAME_THICK); vf2=new FXVerticalFrame(hf, LAYOUT_FILL_X | LAYOUT_FILL_Y); m_textLabel=new FXLabel(vf2, "", NULL, LABEL_NORMAL); m_enteredLabel=new FXLabel(vf2, "", NULL, LABEL_NORMAL|LAYOUT_CENTER_X); if (m_fontBig) m_enteredLabel->setFont(m_fontBig); m_progressBar=new FXProgressBar(vf, NULL, 0, PROGRESSBAR_NORMAL|PROGRESSBAR_HORIZONTAL|LAYOUT_FILL_X); m_progressBar->setTotal(m_keyTimeout); m_progressBar->setProgress(m_keyTimeout); } CyberJackDialog::~CyberJackDialog() { } void CyberJackDialog::create() { FXDialogBox::create(); if (m_image) m_image->create(); if (m_fontSmall) m_fontSmall->create(); if (m_fontBig) m_fontBig->create(); } void CyberJackDialog::setStage(int stage) { FXString str; switch(stage) { case 0: m_textLabel->setText(m_textStage0); break; case 1: m_textLabel->setText(m_textStage1); break; case 2: m_textLabel->setText(m_textStage2); break; default: break; } m_currentStage=stage; if (m_stages>1) str=FXStringVal(m_currentStage+1, 10)+"/"+FXStringVal(m_stages, 10); m_stageLabel->setText(str); setNumDigits(0); m_progressBar->setTotal(m_keyTimeout); m_progressBar->setProgress(m_keyTimeout); m_startTime=time(NULL); getApp()->addTimeout(this, ID_TIMER, 1000); } void CyberJackDialog::setNumDigits(int num) { FXString str; int i; for (i=0; isetText(str); } int CyberJackDialog::handleOpenDialog(RSCT_MESSAGE *msg) { int rv; setTitle(msg->openDialog.title); m_stages=msg->openDialog.stages; m_keyTimeout=msg->openDialog.keyTimeout; m_progressBar->setTotal(m_keyTimeout); m_progressBar->setProgress(m_keyTimeout); m_startTime=time(NULL); getApp()->addTimeout(this, ID_TIMER, 1000); /* prepare response */ msg->openDialog.result=0; msg->openDialog.dialogId=++m_lastDialogId; switch(m_stages) { case 1: /* text 1 */ if (msg->openDialog.textStage0[0]) m_textStage0=FXString(msg->openDialog.textStage0); else m_textStage0=FXString(I18N("Please enter your PIN into the reader's keypad")); break; case 2: /* text 1 */ if (msg->openDialog.textStage0[0]) m_textStage0=FXString(msg->openDialog.textStage0); else m_textStage0=FXString(I18N("Please enter the new PIN into the reader's keypad")); /* text 3 */ if (msg->openDialog.textStage1[0]) m_textStage1=FXString(msg->openDialog.textStage1); else m_textStage1=FXString(I18N("Please repeat entering the new PIN into the reader's keypad")); break; case 3: /* text 1 */ if (msg->openDialog.textStage0[0]) m_textStage0=FXString(msg->openDialog.textStage0); else m_textStage0=FXString(I18N("Please enter the current PIN into the reader's keypad")); /* text 2 */ if (msg->openDialog.textStage1[0]) m_textStage1=FXString(msg->openDialog.textStage1); else m_textStage1=FXString(I18N("Please enter the new PIN into the reader's keypad")); /* text 3 */ if (msg->openDialog.textStage2[0]) m_textStage2=FXString(msg->openDialog.textStage2); else m_textStage2=FXString(I18N("Please repeat entering the new PIN into the reader's keypad")); break; } setStage(0); msg->header.type=RSCT_Message_Command_OpenDialog; msg->header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_OPENDIALOG); /* send response */ rv=rsct_net_send(m_socket, msg); if (rv<0) { fprintf(stderr, "Error sending response (%d)\n", rv); return rv; } return 0; } int CyberJackDialog::handleCloseDialog(RSCT_MESSAGE *msg) { getApp()->removeTimeout(this, ID_TIMER); m_socket=-1; getApp()->stopModal(this, FALSE); hide(); return 0; } int CyberJackDialog::handleSetStage(RSCT_MESSAGE *msg) { int rv; setStage(msg->setStage.stage); /* prepare response */ msg->setStage.result=0; msg->header.type=RSCT_Message_Command_SetStage; msg->header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_SETSTAGE); /* send response */ rv=rsct_net_send(m_socket, msg); if (rv<0) { fprintf(stderr, "Error sending response (%d)\n", rv); return rv; } return 0; } int CyberJackDialog::handleSetNumChars(RSCT_MESSAGE *msg) { int rv; setNumDigits(msg->setCharNum.charNum); if (msg->setCharNum.beep>0) { getApp()->beep(); } /* prepare response */ msg->setCharNum.result=0; msg->header.type=RSCT_Message_Command_SetCharNum; msg->header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_SETCHARNUM); /* send response */ rv=rsct_net_send(m_socket, msg); if (rv<0) { fprintf(stderr, "RSCT: Error sending response (%d)\n", rv); return rv; } return 0; } int CyberJackDialog::handleMessage(RSCT_MESSAGE *msg) { assert(msg); fprintf(stderr, "Received message %d\n", msg->header.type); switch(msg->header.type) { case RSCT_Message_Command_OpenDialog: return handleOpenDialog(msg); case RSCT_Message_Command_CloseDialog: return handleCloseDialog(msg); case RSCT_Message_Command_SetStage: return handleSetStage(msg); case RSCT_Message_Command_SetCharNum: return handleSetNumChars(msg); default: break; } return 0; } int CyberJackDialog::getAndHandleMessage() { int rv; union { char buffer[RSCT_MAX_MESSAGE_LEN]; RSCT_MESSAGE msg; } m; /* readable, read message */ memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); rv=rsct_net_recv(m_socket, &m.msg); if (rv<0) { return rv; } else { /* handle message */ rv=handleMessage(&(m.msg)); if (rv<0) { return rv; } } return m.msg.header.type; } long CyberJackDialog::onIoRead(FXObject*, FXSelector, void *ptr) { int rv; rv=getAndHandleMessage(); if (rv<0) { m_socket=-1; getApp()->stopModal(this,FALSE); hide(); } return 1; } long CyberJackDialog::onTimeout(FXObject*, FXSelector, void *ptr) { time_t now; int diff; int newVal=0; now=time(NULL); diff=(int)difftime(now, m_startTime); if (diff<(int)m_keyTimeout) newVal=m_keyTimeout-diff; m_progressBar->setProgress(newVal); getApp()->addTimeout(this, ID_TIMER, 1000); return 1; } long CyberJackDialog::onSelKeyPress(FXObject*, FXSelector, void *ptr) { return 1; } long CyberJackDialog::onSelKeyRelease(FXObject*, FXSelector, void *ptr) { return 1; } pcsc-cyberjack-3.99.5final.SP03/tools/cjBingo/0000755000175000001440000000000011660201015017415 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/cjBingo/Makefile.am0000644000175000001440000000034111657145411021464 0ustar sctusersINCLUDES=-I../../include -I../../cjeca32 DEFS+=@cyberjack_platform_def@ bin_PROGRAMS=cjBingoTest cjBingoTest_SOURCES=\ cjBingoTest.cpp \ cjBingo.cpp cjBingoTest_LDADD=../../cjeca32/libeca.la @libusb_libs@ @THREAD_LIBS@ pcsc-cyberjack-3.99.5final.SP03/tools/cjBingo/cjBingo.h0000644000175000001440000000251711657145411021163 0ustar sctusers#ifndef CJBINGO_H #define CJBINGO_H typedef enum { RNDG_SUCCESS, RNDG_TIMEOUT, RNDG_ABORT, RNDG_COMMUNICATION_ERROR, RNDG_EXT_ERROR, RNDG_PROTOCOL_ERROR, RNDG_READER_NOT_FOUND, RNDG_READER_BUSY, RNDG_READER_NOT_CONNECTED }RNDG_RESULT; /*Initialisation of the RND-Generator API and connecting the Device*/ RNDG_RESULT RNDGeneratorInit(uint16_t port); /*Disconnecting the Device and closing the API */ RNDG_RESULT RNDGeneratorClose(void); /*Getting extended error information, if a function returns with RNDG_EXT_ERROR*/ uint32_t RNDGetLastError(void); /*Checking the authentication of the random generator In the first release the signature will be a cryptogram calculated by the device as 3DES_ENC(RND_IFD). The synchrones 3DES - key has to be stored in a secure environment. In later releases the signature can be calculated with RSA2048 by the security - module (the signature card).*/ RNDG_RESULT RNDGeneratorInternalAutheticate(uint64_t RND_IFD, uint8_t *Signuture); /*Generation of the random numbers. In future releases the numbers can be secured by a cryptogram or a signature and additionally encrypted*/ RNDG_RESULT RNDGeneratorGenerateRND(int count,uint64_t *RNDs); /*Showing the last generated numbers on the display of the device*/ RNDG_RESULT RNDGeneratorShowLastRNDs(void); #endif pcsc-cyberjack-3.99.5final.SP03/tools/cjBingo/Makefile.in0000644000175000001440000004517011660201015021471 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = cjBingoTest$(EXEEXT) subdir = tools/cjBingo DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_cjBingoTest_OBJECTS = cjBingoTest.$(OBJEXT) cjBingo.$(OBJEXT) cjBingoTest_OBJECTS = $(am_cjBingoTest_OBJECTS) cjBingoTest_DEPENDENCIES = ../../cjeca32/libeca.la DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(cjBingoTest_SOURCES) DIST_SOURCES = $(cjBingoTest_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = -I../../include -I../../cjeca32 cjBingoTest_SOURCES = \ cjBingoTest.cpp \ cjBingo.cpp cjBingoTest_LDADD = ../../cjeca32/libeca.la @libusb_libs@ @THREAD_LIBS@ all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/cjBingo/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/cjBingo/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list cjBingoTest$(EXEEXT): $(cjBingoTest_OBJECTS) $(cjBingoTest_DEPENDENCIES) @rm -f cjBingoTest$(EXEEXT) $(CXXLINK) $(cjBingoTest_OBJECTS) $(cjBingoTest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjBingo.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjBingoTest.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags 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-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS # 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: pcsc-cyberjack-3.99.5final.SP03/tools/cjBingo/cjBingo.cpp0000644000175000001440000000774511657145411021526 0ustar sctusers #include "stdafx.h" #include "Reader.h" #include "eca_defines.h" #include #include "BingoError.h" #include "cjBingo.h" static uint32_t m_ulLastError=0; static CReader *m_pReader=NULL; RNDG_RESULT RNDGeneratorInit(uint16_t port) { char *devName; int rv; m_ulLastError=0; devName=CUSBLinux::createDeviceName(port); if (devName==NULL) return RNDG_READER_NOT_FOUND; m_pReader=new CReader(devName); rv=m_pReader->Connect(); if (rv!=CJ_SUCCESS) { delete m_pReader; m_pReader=NULL; return RNDG_READER_BUSY; } return RNDG_SUCCESS; } RNDG_RESULT RNDGeneratorClose(void) { m_ulLastError=0; if(m_pReader) { m_pReader->Disonnect(); delete m_pReader; m_pReader=NULL; } return RNDG_SUCCESS; } uint32_t RNDGetLastError(void) { return m_ulLastError; } static bool IsLittleEndian(void) { if(htons(0x1234)!=0x1234) return true; return false; } static uint16_t InversByteOrderShort(uint16_t Value) { return (Value << 8) | (Value >> 8); } static uint32_t InversByteOrderLong(uint32_t Value) { return (((uint32_t)InversByteOrderShort((uint16_t)Value)) << 16) | ((uint32_t)InversByteOrderShort((uint16_t)(Value >> 16))); } static uint64_t InversByteOrderLongLong(uint64_t Value) { return (((uint64_t)InversByteOrderLong((uint32_t)Value)) << 32) | ((uint64_t)InversByteOrderShort((uint32_t)(Value >> 32))); } static uint16_t HostToReaderShort(uint16_t Value) { return InversByteOrderShort(htons(Value)); } static uint32_t HostToReaderLong(uint32_t Value) { return InversByteOrderLong(htonl(Value)); } static uint64_t HostToReaderLongLong(uint64_t Value) { if(IsLittleEndian()) return Value; return InversByteOrderLongLong(Value); } static uint16_t ReaderToHostShort(uint16_t Value) { return HostToReaderShort(Value); } static uint32_t ReaderToHostLong(uint32_t Value) { return HostToReaderLong(Value); } static uint64_t ReaderToHostLongLong(uint64_t Value) { return HostToReaderLongLong(Value); } static RNDG_RESULT ExecuteReaderFunction(uint16_t Function,uint8_t *InputData, uint32_t InputLen,uint8_t *ResponseData, uint32_t *ResponseLen) { uint32_t Result=0; uint8_t InternalErrorData[4]; uint32_t InternalErrorLen=sizeof(InternalErrorData); if(m_pReader==NULL) return RNDG_READER_NOT_CONNECTED; if(m_pReader->CtApplicationDataEx(MODULE_ID_BINGO_VOTING,Function,InputData,InputLen,&Result, ResponseData,ResponseLen,InternalErrorData, &InternalErrorLen)!=CJ_SUCCESS) { RNDGeneratorClose(); return RNDG_COMMUNICATION_ERROR; } if(InternalErrorLen!=0 && InternalErrorLen!=4) { if(ResponseLen) *ResponseLen=0; RNDGeneratorClose(); return RNDG_PROTOCOL_ERROR; } if(InternalErrorLen==4) { if(ResponseLen) { if(*ResponseLen!=0) { *ResponseLen=0; return RNDG_PROTOCOL_ERROR; } } } if(InternalErrorLen==4) { if(ResponseLen) *ResponseLen=0; memcpy(&m_ulLastError,InternalErrorData,sizeof(m_ulLastError)); m_ulLastError=ReaderToHostLong(m_ulLastError); return RNDG_EXT_ERROR; } return RNDG_SUCCESS; } RNDG_RESULT RNDGeneratorInternalAutheticate(uint64_t RND_IFD, uint8_t *Signuture) { uint32_t ResponseLen=128; m_ulLastError=0; return ExecuteReaderFunction(0,(uint8_t *)&RND_IFD, sizeof(RND_IFD),Signuture,&ResponseLen); } RNDG_RESULT RNDGeneratorGenerateRND(int count,uint64_t *RNDs) { RNDG_RESULT Result; uint32_t ResponseLen=count*8; uint8_t Input=(uint8_t) count; m_ulLastError=0; Result=ExecuteReaderFunction(1,&Input,sizeof(Input),(uint8_t *)RNDs,&ResponseLen); if(Result==RNDG_SUCCESS) { while(count) { count--; RNDs[count]=ReaderToHostLongLong(RNDs[count]); } } return Result; } RNDG_RESULT RNDGeneratorShowLastRNDs(void) { RNDG_RESULT Result; m_ulLastError=0; Result=ExecuteReaderFunction(2,NULL,0,NULL,NULL); if(Result==RNDG_EXT_ERROR) { if(m_ulLastError==ERROR_USER_TIMEOUT) { m_ulLastError=0; return RNDG_TIMEOUT; } if(m_ulLastError==ERROR_USER_ABORT) { m_ulLastError=0; return RNDG_ABORT; } } return Result; } pcsc-cyberjack-3.99.5final.SP03/tools/cjBingo/cjBingoTest.cpp0000644000175000001440000000352311657145411022354 0ustar sctusers #include "stdafx.h" #include "Reader.h" #include "eca_defines.h" #include #include #include "cjBingo.h" static RNDG_RESULT CheckResult(RNDG_RESULT Value) { switch(Value) { case RNDG_TIMEOUT: printf("User timeout\n"); break; case RNDG_ABORT: printf("Abort by user\n"); break; case RNDG_COMMUNICATION_ERROR: printf("Communication error\n"); exit(1); break; case RNDG_EXT_ERROR: printf("Error code: %08X\n",(unsigned int)RNDGetLastError()); break; case RNDG_PROTOCOL_ERROR: printf("Protocol error\n"); exit(2); break; case RNDG_READER_NOT_FOUND: printf("Reader not found\n"); exit(3); break; case RNDG_READER_BUSY: printf("Reader busy\n"); exit(4); break; case RNDG_READER_NOT_CONNECTED: printf("Reader is not connected\n"); exit(5); break; default:; } return Value; } int main(int argc, char **argv) { int idx; uint8_t Signature[128]; time_t t; int input; int i; uint64_t RNDs[64]; if (argc<2) { fprintf(stderr, "Usage:\n %s READERNR\n", argv[0]); return 1; } idx=atoi(argv[1]); CheckResult(RNDGeneratorInit((uint16_t)idx)); t=time(NULL); if(CheckResult(RNDGeneratorInternalAutheticate((uint64_t)t,Signature))!=RNDG_SUCCESS) { printf("Error internal authentication\n"); exit(6); } for(;;) { printf("[Count] Generate --- [-1] Show last --- [-2] Exit ? "); scanf("%d",&input); if(input==-2) break; else if(input==-1) CheckResult(RNDGeneratorShowLastRNDs()); else { if(CheckResult(RNDGeneratorGenerateRND(input,RNDs))==RNDG_SUCCESS) { printf("\n"); for(i=0;i>20) & 0x000fffff),(unsigned int)(RNDs[i] & 0x000fffff)); if(((i+1)%4)==0) printf("\n"); } printf("\n"); } } } return 0; } pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/0000755000175000001440000000000011660201016020473 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/Makefile.am0000644000175000001440000000104611657145411022544 0ustar sctusersINCLUDES=-I../../include -I../../libdialog -I../../libdialog/base -I../../cjeca32 -I../fxcyberjack $(fox_includes) $(pcsc_includes) DEFS+=@cyberjack_platform_def@ bin_PROGRAMS=cyberjack-gui-agent cyberjack_gui_agent_LDADD=\ ../../libdialog/base/libdialog_base.la \ @THREAD_LIBS@ -lobjc $(COCOA_FRAMEWORK) cyberjack_gui_agent_SOURCES=\ Delegate.m \ PinDialog.m \ main.m launchddir=$(pkgdatadir)/Library/LaunchAgents launchd_DATA=de.reiner-sct.cyberjack.gui.plist EXTRA_DIST=$(launchd_DATA) noinst_HEADERS= \ Delegate.h \ PinDialog.h pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/Delegate.h0000644000175000001440000000352511657145411022377 0ustar sctusers/*************************************************************************** begin : Sat Jul 04 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_MAC_DELEGATE_HPP #define RSCT_MAC_DELEGATE_HPP #import @interface Delegate : NSObject { } - (void)applicationDidFinishLaunching:(NSNotification*) aNotification; - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication*) sender; @end #endif pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/Makefile.in0000644000175000001440000005221711660201016022547 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = cyberjack-gui-agent$(EXEEXT) subdir = tools/mac-ui-helper DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(launchddir)" PROGRAMS = $(bin_PROGRAMS) am_cyberjack_gui_agent_OBJECTS = Delegate.$(OBJEXT) \ PinDialog.$(OBJEXT) main.$(OBJEXT) cyberjack_gui_agent_OBJECTS = $(am_cyberjack_gui_agent_OBJECTS) am__DEPENDENCIES_1 = cyberjack_gui_agent_DEPENDENCIES = \ ../../libdialog/base/libdialog_base.la $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) LTOBJCCOMPILE = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS) OBJCLD = $(OBJC) OBJCLINK = $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \ $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(cyberjack_gui_agent_SOURCES) DIST_SOURCES = $(cyberjack_gui_agent_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 = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' DATA = $(launchd_DATA) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = -I../../include -I../../libdialog -I../../libdialog/base -I../../cjeca32 -I../fxcyberjack $(fox_includes) $(pcsc_includes) cyberjack_gui_agent_LDADD = \ ../../libdialog/base/libdialog_base.la \ @THREAD_LIBS@ -lobjc $(COCOA_FRAMEWORK) cyberjack_gui_agent_SOURCES = \ Delegate.m \ PinDialog.m \ main.m launchddir = $(pkgdatadir)/Library/LaunchAgents launchd_DATA = de.reiner-sct.cyberjack.gui.plist EXTRA_DIST = $(launchd_DATA) noinst_HEADERS = \ Delegate.h \ PinDialog.h all: all-am .SUFFIXES: .SUFFIXES: .lo .m .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/mac-ui-helper/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/mac-ui-helper/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list cyberjack-gui-agent$(EXEEXT): $(cyberjack_gui_agent_OBJECTS) $(cyberjack_gui_agent_DEPENDENCIES) @rm -f cyberjack-gui-agent$(EXEEXT) $(OBJCLINK) $(cyberjack_gui_agent_OBJECTS) $(cyberjack_gui_agent_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Delegate.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PinDialog.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ .m.o: @am__fastdepOBJC_TRUE@ $(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepOBJC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ $< .m.obj: @am__fastdepOBJC_TRUE@ $(OBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepOBJC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepOBJC_FALSE@ $(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .m.lo: @am__fastdepOBJC_TRUE@ $(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepOBJC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepOBJC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepOBJC_FALSE@ DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepOBJC_FALSE@ $(LTOBJCCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-launchdDATA: $(launchd_DATA) @$(NORMAL_INSTALL) test -z "$(launchddir)" || $(MKDIR_P) "$(DESTDIR)$(launchddir)" @list='$(launchd_DATA)'; test -n "$(launchddir)" || list=; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(launchddir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(launchddir)" || exit $$?; \ done uninstall-launchdDATA: @$(NORMAL_UNINSTALL) @list='$(launchd_DATA)'; test -n "$(launchddir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ test -n "$$files" || exit 0; \ echo " ( cd '$(DESTDIR)$(launchddir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(launchddir)" && rm -f $$files 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(DATA) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(launchddir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-launchdDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS uninstall-launchdDATA .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags 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-html \ install-html-am install-info install-info-am \ install-launchdDATA install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-binPROGRAMS \ uninstall-launchdDATA # 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: pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/Delegate.m0000644000175000001440000000402111657145411022374 0ustar sctusers/*************************************************************************** begin : Sat Jul 04 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #include "Platform.h" #include "Delegate.h" @implementation Delegate - (void)applicationDidFinishLaunching:(NSNotification *)aNotification { // Insert code here to initialize your application fprintf(stderr, "Finished launching\n"); } // If the user closes the last window in the application, make sure the application quits. - (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender { fprintf(stderr, "Should close.\n"); return YES; } @end pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/PinDialog.h0000644000175000001440000000461611657145411022535 0ustar sctusers/*************************************************************************** begin : Sat Jul 04 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_MAC_PINDIALOG_H #define RSCT_MAC_PINDIALOG_H #import #include "base/message.h" @interface PinDialog: NSWindow { NSTextField *_rsctLabel; NSTextField *_stageLabel; NSBox *_hLine; NSData *_imageData; NSImage *_image; NSImageView *_imageView; NSTextField *_textLabel; NSTextField *_entryLabel; NSProgressIndicator *_progressWidget; } - (id) initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag; - (void)dealloc; - (void) layout; - (void) windowDidResize:(NSNotification*) notification; - (void) windowWillClose:(NSNotification*) notification; - (void) setCurrentStage:(int)stage of:(int) stages withText:(NSString*) text; - (void) setTimeRemaining:(double) secs of:(double)total; - (void) setNumDigits:(int) num; @end #endif pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/PinDialog.m0000644000175000001440000001462611657145411022544 0ustar sctusers/*************************************************************************** begin : Sat Jul 04 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #import "PinDialog.h" #import "../fxcyberjack/icons/icons.cpp" #define I18N(msg) msg @implementation PinDialog - (id) initWithContentRect:(NSRect)contentRect styleMask:(NSUInteger)aStyle backing:(NSBackingStoreType)bufferingType defer:(BOOL)flag { self=[super initWithContentRect:contentRect styleMask:aStyle backing:bufferingType defer:flag]; if (self!=nil) { _rsctLabel = [[NSTextField alloc] init]; [_rsctLabel setStringValue:@"Reiner SCT cyberJack"]; [_rsctLabel setBezeled:NO]; [_rsctLabel setEditable:NO]; [_rsctLabel setSelectable:NO]; [_rsctLabel setDrawsBackground:NO]; [[self contentView] addSubview:_rsctLabel]; _stageLabel = [[NSTextField alloc] init]; [_stageLabel setStringValue:@"1/2"]; [_stageLabel setBezeled:NO]; [_stageLabel setEditable:NO]; [_stageLabel setSelectable:NO]; [_stageLabel setDrawsBackground:NO]; [_stageLabel setAlignment:NSRightTextAlignment]; [[self contentView] addSubview:_stageLabel]; _hLine = [[NSBox alloc] init]; [_hLine setBoxType:NSBoxSeparator]; [[self contentView] addSubview:_hLine]; _imageData=[[NSData alloc] initWithBytes: fxcj_icon_cy_ecom_b length:sizeof(fxcj_icon_cy_ecom_b)]; _image = [[NSImage alloc] initWithData: _imageData]; _imageView = [[NSImageView alloc] init]; [_imageView setImage:_image]; [_imageView setBounds: NSMakeRect (0, 0, 200, 200)]; [[self contentView] addSubview:_imageView]; _textLabel = [[NSTextField alloc] init]; [_textLabel setStringValue:@"Bitte geben Sie die Pin ein:"]; [_textLabel setBezeled:NO]; [_textLabel setEditable:NO]; [_textLabel setSelectable:NO]; [_textLabel setDrawsBackground:NO]; [_textLabel setAlignment:NSCenterTextAlignment]; [[self contentView] addSubview:_textLabel]; _entryLabel = [[NSTextField alloc] init]; [_entryLabel setStringValue:@"****"]; [_entryLabel setBezeled:NO]; [_entryLabel setEditable:NO]; [_entryLabel setSelectable:NO]; [_entryLabel setDrawsBackground:NO]; [_entryLabel setAlignment:NSCenterTextAlignment]; [[self contentView] addSubview:_entryLabel]; _progressWidget=[[NSProgressIndicator alloc] init]; [_progressWidget setIndeterminate: FALSE]; [_progressWidget setMinValue: 0.0]; [_progressWidget setMaxValue: 100.0]; [_progressWidget setDoubleValue: 100.0]; [[self contentView] addSubview:_progressWidget]; } [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowDidResize:) name:NSWindowDidResizeNotification object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(windowWillClose:) name:NSWindowWillCloseNotification object:nil]; return self; } - (void)dealloc { [[NSNotificationCenter defaultCenter] removeObserver:self]; if (_rsctLabel!=nil) [_rsctLabel release]; if (_stageLabel!=nil) [_stageLabel release]; if (_hLine!=nil) [_hLine release]; if (_imageView!=nil) [_imageView release]; if (_image!=nil) [_image release]; if (_imageData!=nil) [_imageData release]; if (_textLabel!=nil) [_textLabel release]; if (_entryLabel!=nil) [_entryLabel release]; if (_progressWidget!=nil) [_progressWidget release]; [super dealloc]; } -(void) layout { NSRect r=[self frame]; int w; int h; int x; int y; w=r.size.width; h=r.size.height; x=10; y=h-20; [_rsctLabel setFrame: NSMakeRect(x, y-20, ((w-20)/2), 20)]; x=((w-20)/2)+10; [_stageLabel setFrame: NSMakeRect(x, y-20, ((w-20)/2), 20)]; y-=20; x=10; [_hLine setFrame: NSMakeRect(x, y-5, w-(x*2), 5)]; y-=10; [_imageView setFrame: NSMakeRect(x, y-200, 200, 200)]; [_imageView setBounds: NSMakeRect (0, 0, 200, 200)]; x+=200; [_textLabel setFrame: NSMakeRect(x, y-60, (w-x-10), 40)]; [_entryLabel setFrame: NSMakeRect(x, y-100, (w-x-10), 20)]; y-=210; x=10; [_progressWidget setFrame: NSMakeRect(x, y-20, (w-x*2), 20)]; } - (void) windowDidResize:(NSNotification*) notification { [self layout]; } - (void) windowWillClose:(NSNotification*) notification { fprintf(stderr, "Window will close.\n"); } - (void) setCurrentStage:(int) stage of:(int) stages withText:(NSString*) text { char numbuf[32]; snprintf(numbuf, sizeof(numbuf)-1, "%d/%d", stage+1, stages); NSString *str=[NSString stringWithUTF8String: numbuf]; [_stageLabel setStringValue: str]; //[str release]; [_textLabel setStringValue: text]; } - (void) setNumDigits:(int)num { int i; char buf[64]; if (num>=(sizeof(buf)-1)) num=sizeof(buf)-1; for (i=0; i KeepAlive LimitLoadToSessionType Aqua RunAtLoad Label de.reiner-sct.cyberjack.ui ProgramArguments /Library/Frameworks/CyberJack_CTAPI.framework/Versions/Current/Resources/CyberJack UI Agent.app/Contents/MacOS/CyberJack UI Agent pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/RemoveFromCCID.m0000644000175000001440000000345711657145411023402 0ustar sctusers#include #import #define kCCIDPath @"/usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/info.plist" #define kCCIDBackupPath @"/usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/info_backup.plist" int main(int argc, char *argv[]) { NSAutoreleasePool* nspool = [[NSAutoreleasePool alloc] init]; @try { // make a backup copy of the ifd-ccid.bundle file [[NSFileManager defaultManager] copyItemAtPath:kCCIDPath toPath:kCCIDBackupPath error:nil]; UInt32 index=0; std::vector indexList; BOOL infoDictChanged=NO; NSMutableDictionary* infoDict=[NSMutableDictionary dictionaryWithContentsOfFile:kCCIDPath]; for (NSString* key in [infoDict objectForKey:@"ifdVendorID"]) { if ([key isEqualToString:@"0x0C4B"]) indexList.push_back(index); index++; } for (UInt32 i=indexList.size()-1;i<=0;i--) { #if DEBUG NSLog(@"Removing vendor '%@' at index %d",[[infoDict objectForKey:@"ifdVendorID"] objectAtIndex:indexList[i]],indexList[i]); #endif [[infoDict objectForKey:@"ifdVendorID"] removeObjectAtIndex:indexList[i]]; #if DEBUG NSLog(@"Removing product ID '%@' at index %d",[[infoDict objectForKey:@"ifdProductID"] objectAtIndex:indexList[i]],indexList[i]); #endif [[infoDict objectForKey:@"ifdProductID"] removeObjectAtIndex:indexList[i]]; #if DEBUG NSLog(@"Removing friendly name '%@' at index %d",[[infoDict objectForKey:@"ifdFriendlyName"] objectAtIndex:indexList[i]],indexList[i]); #endif [[infoDict objectForKey:@"ifdFriendlyName"] removeObjectAtIndex:indexList[i]]; infoDictChanged=YES; } if (infoDictChanged && ![infoDict writeToFile:kCCIDPath atomically:false]) NSLog(@"Error while writing file %@",kCCIDPath); } @catch(id anything) { } [nspool release]; } pcsc-cyberjack-3.99.5final.SP03/tools/mac-ui-helper/main.m0000644000175000001440000003467011657145411021623 0ustar sctusers/*************************************************************************** begin : Sat Jul 04 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #include "Platform.h" #include "libdialog/base/network.h" #import #import "PinDialog.h" #import "Delegate.h" #include #include #include #include #include #include #include #include #include #include #include #define I18N(msg) msg #define ENABLE_DEBUGPI #define ENABLE_DEBUGPE #define ENABLE_DEBUGPD #define DIALOG_WIDTH 500 #define DIALOG_HEIGHT 300 #ifdef ENABLE_DEBUGPE # define DEBUGPE(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPE(format, args...) #endif #ifdef ENABLE_DEBUGPI # define DEBUGPI(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPI(format, args...) #endif #ifdef ENABLE_DEBUGPD # define DEBUGPD(format, args...) \ fprintf(stderr, __FILE__":%5d:" format, __LINE__, ## args); #else # define DEBUGPD(format, args...) #endif static int daemon_abort=0; static char daemon_sock_buf[512]; static int _lastDialogId=0; /* Signal handler */ struct sigaction saINT,saTERM, saINFO, saHUP, saCHLD; void signalHandler(int s) { switch(s) { case SIGINT: case SIGTERM: #ifdef SIGHUP case SIGHUP: #endif daemon_abort=1; DEBUGPI("INFO: Terminating daemon.\n"); break; #ifdef SIGCHLD case SIGCHLD: for (;;) { pid_t pid; int stat_loc; pid=waitpid((pid_t)-1, &stat_loc, WNOHANG); if (pid==-1 || pid==0) break; else { DEBUGPI("INFO: Service %d finished.\n", (int)pid); } } break; #endif default: DEBUGPI("INFO: Unhandled signal %d\n", s); break; } /* switch */ } int setSingleSignalHandler(struct sigaction *sa, int sig) { sa->sa_handler=signalHandler; sigemptyset(&sa->sa_mask); sa->sa_flags=0; if (sigaction(sig, sa,0)) { DEBUGPE("ERROR: sigaction(%d): %d=%s", sig, errno, strerror(errno)); return -1; } return 0; } int setSignalHandler() { int rv; rv=setSingleSignalHandler(&saINT, SIGINT); if (rv) return rv; #ifdef SIGCHLD rv=setSingleSignalHandler(&saCHLD, SIGCHLD); if (rv) return rv; #endif rv=setSingleSignalHandler(&saTERM, SIGTERM); if (rv) return rv; #ifdef SIGHUP rv=setSingleSignalHandler(&saHUP, SIGHUP); if (rv) return rv; #endif return 0; } int mkSockName() { struct passwd *p; p=getpwuid(geteuid()); if (!p) { fprintf(stderr, "ERROR: %s at getpwuid\n", strerror(errno)); endpwent(); return -1; } if (sizeof(daemon_sock_buf)pw_dir)+1) { fprintf(stderr, "Internal: Buffer too small (need %d bytes)\n", (int)(strlen(p->pw_dir)+1)); endpwent(); return -1; } strcpy(daemon_sock_buf, p->pw_dir); endpwent(); strncat(daemon_sock_buf, "/.cyberJack_gui_sock", sizeof(daemon_sock_buf)-1); daemon_sock_buf[sizeof(daemon_sock_buf)-1]=0; return 0; } int prepareListen() { int sock; sock=rsct_net_listen_by_path(daemon_sock_buf); if (sock==-1) { fprintf(stderr, "Error on rsct_net_listen_by_path(%s): %s\n", daemon_sock_buf, strerror(errno)); return -1; } return sock; } @interface AppController : NSObject { NSFileHandle *_sockHandle; PinDialog *_pinDialog; time_t _startTime; NSTimer *_abortTimeUpdater; int _socket; int _keyTimeout; int _currentStage; int _stages; char _stage0Text[512]; char _stage1Text[512]; char _stage2Text[512]; } - (id) init; - (int) startConnection:(int) sock; - (void) dataAvailableOnSocket: (NSNotification*) notification; - (void) updateRemainingTime:(NSTimer*) timer; - (int) handleOpenDialog: (RSCT_MESSAGE*) msg; - (int) handleCloseDialog: (RSCT_MESSAGE*) msg; - (int) handleMessage:(RSCT_MESSAGE*) msg; - (int) handleSetStage: (RSCT_MESSAGE*) msg; - (int) handleSetNumChars: (RSCT_MESSAGE*) msg; - (int) getAndHandleMessage; - (void) setStages:(int)stages; - (void) setCurrentStage:(int)stage; @end @implementation AppController - (id) init { self=[super init]; _pinDialog=nil; _abortTimeUpdater=nil; _socket=-1; _stage0Text[0]=0; _stage0Text[1]=0; _stage0Text[2]=0; return self; } - (int) startConnection:(int) sock { _socket=sock; _sockHandle=[[NSFileHandle alloc] initWithFileDescriptor:_socket closeOnDealloc:YES]; if (_sockHandle==nil) { fprintf(stderr, "Could not init _sockHandle\n"); return -1; } [ [NSNotificationCenter defaultCenter] addObserver: self selector: @selector(dataAvailableOnSocket:) name: NSFileHandleDataAvailableNotification object: _sockHandle]; [_sockHandle waitForDataInBackgroundAndNotify]; return 0; } - (void) dataAvailableOnSocket: (NSNotification*) notification { fprintf(stderr, "Data available.\n"); [self getAndHandleMessage]; [_sockHandle waitForDataInBackgroundAndNotify]; } - (void) updateRemainingTime:(NSTimer*) timer { if (_pinDialog!=nil) { time_t now; int diff; double newVal=0; now=time(NULL); diff=(int)difftime(now, _startTime); if (diff<(int)_keyTimeout) newVal=_keyTimeout-diff; [_pinDialog setTimeRemaining: newVal of:_keyTimeout]; } } - (void) setStages:(int)stages { _stages=stages; } - (void) setCurrentStage:(int)stage { _currentStage=stage; NSString *str=nil; if (_pinDialog) { [_pinDialog setNumDigits: 0]; _startTime=time(NULL); [_pinDialog setTimeRemaining: _keyTimeout of:_keyTimeout]; switch(stage) { case 0: str=[NSString stringWithUTF8String:_stage0Text]; break; case 1: str=[NSString stringWithUTF8String:_stage1Text]; break; case 2: str=[NSString stringWithUTF8String:_stage2Text]; break; default: break; } } if (str!=nil) [_pinDialog setCurrentStage:_currentStage of:_stages withText: str]; DEBUGPE("done\n"); } - (int) getAndHandleMessage { int rv; union { char buffer[RSCT_MAX_MESSAGE_LEN]; RSCT_MESSAGE msg; } m; /* readable, read message */ memset(m.buffer, 0, RSCT_MAX_MESSAGE_LEN); rv=rsct_net_recv(_socket, &m.msg); if (rv<0) { return rv; } else { /* handle message */ rv=[self handleMessage: &(m.msg)]; if (rv<0) { return rv; } } return m.msg.header.type; } - (int) handleOpenDialog: (RSCT_MESSAGE*) msg { int rv; #if 0 int style = NSClosableWindowMask | NSResizableWindowMask | NSTexturedBackgroundWindowMask | NSTitledWindowMask | NSMiniaturizableWindowMask; #else int style = NSTexturedBackgroundWindowMask | NSTitledWindowMask; #endif _pinDialog = [[PinDialog alloc] initWithContentRect:NSMakeRect(50, 50, DIALOG_WIDTH, DIALOG_HEIGHT) styleMask:style backing:NSBackingStoreBuffered defer:NO]; [_pinDialog setFrame:NSMakeRect(50, 50, DIALOG_WIDTH, DIALOG_HEIGHT) display:TRUE]; [_pinDialog layout]; [_pinDialog setTitle: [NSString stringWithUTF8String:msg->openDialog.title]]; _stages=msg->openDialog.stages; _keyTimeout=msg->openDialog.keyTimeout; /* start timer */ _startTime=time(NULL); [_pinDialog setTimeRemaining: _keyTimeout of:_keyTimeout]; [_pinDialog display]; [_pinDialog makeKeyAndOrderFront: self]; /* prepare response */ msg->openDialog.result=0; msg->openDialog.dialogId=++_lastDialogId; switch(_stages) { case 1: /* text 1 */ if (msg->openDialog.textStage0[0]) strncpy(_stage0Text, msg->openDialog.textStage0, sizeof(_stage0Text)); else strncpy(_stage0Text, I18N("Please enter your PIN into the reader's keypad"), sizeof(_stage0Text)); break; case 2: /* text 1 */ if (msg->openDialog.textStage0[0]) strncpy(_stage0Text, msg->openDialog.textStage0, sizeof(_stage0Text)); else strncpy(_stage0Text, I18N("Please enter the new PIN into the reader's keypad"), sizeof(_stage0Text)); /* text 2 */ if (msg->openDialog.textStage1[0]) strncpy(_stage1Text, msg->openDialog.textStage1, sizeof(_stage1Text)); else strncpy(_stage1Text, I18N("Please repeat entering the new PIN into the reader's keypad"), sizeof(_stage1Text)); break; case 3: /* text 1 */ if (msg->openDialog.textStage0[0]) strncpy(_stage0Text, msg->openDialog.textStage0, sizeof(_stage0Text)); else strncpy(_stage0Text, I18N("Please enter the current PIN into the reader's keypad"), sizeof(_stage0Text)); /* text 2 */ if (msg->openDialog.textStage1[0]) strncpy(_stage1Text, msg->openDialog.textStage1, sizeof(_stage1Text)); else strncpy(_stage1Text, I18N("Please enter the new PIN into the reader's keypad"), sizeof(_stage1Text)); /* text 3 */ if (msg->openDialog.textStage2[0]) strncpy(_stage2Text, msg->openDialog.textStage2, sizeof(_stage2Text)); else strncpy(_stage2Text, I18N("Please repeat entering the new PIN into the reader's keypad"), sizeof(_stage2Text)); break; } [self setCurrentStage: 0]; msg->header.type=RSCT_Message_Command_OpenDialog; msg->header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_OPENDIALOG); /* send response */ rv=rsct_net_send(_socket, msg); if (rv<0) { fprintf(stderr, "Error sending response (%d)\n", rv); return rv; } _abortTimeUpdater = [[NSTimer scheduledTimerWithTimeInterval:.5 target:self selector:@selector(updateRemainingTime:) userInfo:nil repeats:YES] retain]; return 0; } - (int) handleCloseDialog: (RSCT_MESSAGE*) msg { DEBUGPI("CloseDialog\n"); if (_abortTimeUpdater!=nil) { [_abortTimeUpdater invalidate]; [_abortTimeUpdater release]; _abortTimeUpdater = nil; } _socket=-1; if (_pinDialog != nil) { [_pinDialog close]; } return 0; } - (int) handleSetStage: (RSCT_MESSAGE*) msg { int rv; DEBUGPI("SetStage %d\n", msg->setStage.stage); [self setCurrentStage:msg->setStage.stage]; /* prepare response */ msg->setStage.result=0; msg->header.type=RSCT_Message_Command_SetStage; msg->header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_SETSTAGE); /* send response */ rv=rsct_net_send(_socket, msg); if (rv<0) { fprintf(stderr, "Error sending response (%d)\n", rv); return rv; } return 0; } - (int) handleSetNumChars: (RSCT_MESSAGE*) msg { int rv; DEBUGPI("SetNumChars %d\n", msg->setCharNum.charNum); if (_pinDialog) { [_pinDialog setNumDigits: msg->setCharNum.charNum]; if (msg->setCharNum.beep>0) { NSBeep(); } } /* prepare response */ msg->setCharNum.result=0; msg->header.type=RSCT_Message_Command_SetCharNum; msg->header.len=RSCT_MSG_SIZE(RSCT_MESSAGE_SETCHARNUM); /* send response */ rv=rsct_net_send(_socket, msg); if (rv<0) { fprintf(stderr, "RSCT: Error sending response (%d)\n", rv); return rv; } return 0; } - (int) handleMessage: (RSCT_MESSAGE*) msg { fprintf(stderr, "Received message %d\n", msg->header.type); switch(msg->header.type) { case RSCT_Message_Command_OpenDialog: return [self handleOpenDialog: msg]; case RSCT_Message_Command_CloseDialog: return [self handleCloseDialog: msg]; case RSCT_Message_Command_SetStage: return [self handleSetStage: msg]; case RSCT_Message_Command_SetCharNum: return [self handleSetNumChars: msg]; default: break; } return 0; } @end int handleConnection(int argc, char **argv, int sock) { NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init]; int rv; NSApplication *app=[NSApplication sharedApplication]; Delegate *delegate=[[Delegate alloc] init]; [app setDelegate:delegate]; AppController *cntrl=[[AppController alloc] init]; if (cntrl==nil) { DEBUGPE("No ApController\n"); return -1; } rv=[cntrl startConnection: sock]; if (rv>0) { DEBUGPE("Error on startConnection: %d\n", rv); return -1; } [NSApp run]; fprintf(stderr, "Done.\n"); [pool release]; return 0; } int main(int argc, char **argv) { int rv; int sk; rv=setSignalHandler(); if (rv) { DEBUGPE("ERROR: Could not setup signal handler\n"); return 2; } rv=mkSockName(); if (rv<0) { fprintf(stderr, "RSCT: Could not determine sockat path\n"); return 2; } unlink(daemon_sock_buf); sk=rsct_net_listen_by_path(daemon_sock_buf); if (sk==-1) { fprintf(stderr, "Error on rsct_net_listen_by_path(%s): %s\n", daemon_sock_buf, strerror(errno)); return 2; } DEBUGPI("INFO: cyberJack GUI started\n"); while(!daemon_abort) { int newS; newS=rsct_net_accept(sk); if (newS!=-1) { pid_t pid; pid=fork(); if (pid<0) { /* error */ } else if (pid==0) { int rv; /* child */ close(sk); rv=setSignalHandler(); if (rv) { DEBUGPE("ERROR: Could not setup child's signal handler\n"); exit(2); } fprintf(stderr, "Received a connection.\n"); rv=handleConnection(argc, argv, newS); fprintf(stderr, "Connection closed.\n"); if (rv) exit(3); exit(0); } else { /* parent */ DEBUGPI("INFO: cyberJack GUI service spawned (%d)\n", (int)pid); close(newS); } } } DEBUGPI("INFO: cyberJack GUI going down\n"); unlink(daemon_sock_buf); return 0; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/0000755000175000001440000000000011660201016020336 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/Makefile.am0000644000175000001440000000166511657145411022416 0ustar sctusersSUBDIRS=icons diag INCLUDES=$(pcsc_includes) $(fox_includes) $(libxml2_includes) \ -I../../include \ -I../../cjeca32 \ -I../../ifd \ -I../../libcyberjack \ -I../../libcyberjack/checksuite \ -I../../include/driver \ -I../../include/firmware DEFS+=@cyberjack_platform_def@ bin_PROGRAMS=fxcyberjack fxcyberjack_LDADD=\ ../../libcyberjack/libcyberjack.la \ diag/libfxdiag.la \ ../../libcyberjack/checksuite/libchecksuite.la @THREAD_LIBS@ $(fox_libs) \ ../../cjeca32/libeca.la $(libxml2_libs) -lstdc++ fxcyberjack_SOURCES=\ fxcy_readerlist.cpp \ fxcy_readerview.cpp \ fxcy_mainwindow.cpp \ fxcy_app.cpp \ fxcy_readerdetails.cpp \ fxcy_readerflash.cpp \ fxcy_readerflash2.cpp \ fxcy_readerkeys.cpp \ main.cpp noinst_HEADERS=\ fxcy_readerlist.hpp \ fxcy_readerview.hpp \ fxcy_mainwindow.hpp \ fxcy_readerdetails.hpp \ fxcy_readerflash.hpp \ fxcy_readerflash2.hpp \ fxcy_readerkeys.hpp \ fxcy_app.hpp pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerflash.cpp0000644000175000001440000001255311657145411024375 0ustar sctusers/*************************************************************************** begin : Thu Mar 26 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_readerflash.hpp" #include "fxcy_app.hpp" FXDEFMAP(FXCY_ReaderFlash) FXCY_ReaderFlashMap[]={ FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_ACCEPT, FXCY_ReaderFlash::onCmdAccept), FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_CANCEL, FXCY_ReaderFlash::onCmdCancel), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderFlash::ID_BUTTON_MODUL, FXCY_ReaderFlash::onCmdButtonModule), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderFlash::ID_BUTTON_SIGNATURE, FXCY_ReaderFlash::onCmdButtonSignature), }; FXIMPLEMENT(FXCY_ReaderFlash, FXDialogBox, FXCY_ReaderFlashMap, ARRAYNUMBER(FXCY_ReaderFlashMap)) FXCY_ReaderFlash::FXCY_ReaderFlash(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts, FXint x, FXint y, FXint w, FXint h) :FXDialogBox(owner, name, opts, x, y, w, h) ,m_reader(r) ,m_editModuleFile(NULL) ,m_editSignatureFile(NULL) { FXVerticalFrame *vf; FXHorizontalFrame *hf; FXMatrix *m; vf=new FXVerticalFrame(this, LAYOUT_FILL_X | LAYOUT_FILL_Y); m=new FXMatrix(vf, 3, MATRIX_BY_COLUMNS | LAYOUT_FILL_X | LAYOUT_FILL_Y); new FXLabel(m, "Moduldatei", NULL, LABEL_NORMAL); m_editModuleFile=new FXTextField(m, 40, this, ID_EDIT_MODULE, TEXTFIELD_NORMAL); new FXButton(m, "...", NULL, this, ID_BUTTON_MODUL, BUTTON_NORMAL); new FXLabel(m, "Signaturdatei", NULL, LABEL_NORMAL); m_editSignatureFile=new FXTextField(m, 40, this, ID_EDIT_SIGNATURE, TEXTFIELD_NORMAL); new FXButton(m, "...", NULL, this, ID_BUTTON_SIGNATURE, BUTTON_NORMAL); new FXHorizontalSeparator(vf, LAYOUT_FILL_X | SEPARATOR_GROOVE); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X | PACK_UNIFORM_WIDTH); new FXButton(hf, "Abbrechen", NULL, this, ID_CANCEL, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); new FXButton(hf, "Ausfuehren", NULL, this, ID_ACCEPT, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); } FXCY_ReaderFlash::FXCY_ReaderFlash() :FXDialogBox() ,m_reader(NULL) ,m_editModuleFile(NULL) ,m_editSignatureFile(NULL) { } FXCY_ReaderFlash::~FXCY_ReaderFlash() { } void FXCY_ReaderFlash::create() { FXDialogBox::create(); } long FXCY_ReaderFlash::onCmdAccept(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,TRUE); return 1; } long FXCY_ReaderFlash::onCmdReject(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,FALSE); return 1; } long FXCY_ReaderFlash::onCmdButtonModule(FXObject*, FXSelector, void *ptr) { FXString path=m_editModuleFile->getText(); if (path.empty()) path=m_lastPath; FXString s=FXFileDialog::getOpenFilename(this, "Moduldatei auswaehlen", path, "Moduldateien (*.bin)\nAlle Dateien (*)"); if (!s.empty()) { int lpos=s.rfind('/'); if (lpos!=-1) m_lastPath=s.left(lpos+1); if (s.right(4).lower()==".bin") m_editSignatureFile->setText(s+".ecoma.sgn"); m_editModuleFile->setText(s); } return 1; } long FXCY_ReaderFlash::onCmdButtonSignature(FXObject*, FXSelector, void *ptr) { FXString path=m_editSignatureFile->getText(); if (path.empty()) path=m_lastPath; FXString s=FXFileDialog::getOpenFilename(this, "Signaturdatei auswaehlen", path, "Signaturdateien (*.sgn)\nAlle Dateien (*)"); if (!s.empty()) { int lpos=s.rfind('/'); if (lpos!=-1) m_lastPath=s.left(lpos+1); m_editSignatureFile->setText(s); } return 1; } FXString FXCY_ReaderFlash::getModuleFile() const { return m_editModuleFile->getText(); } FXString FXCY_ReaderFlash::getSignatureFile() const { return m_editSignatureFile->getText(); } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerlist.hpp0000644000175000001440000000527011657145411024256 0ustar sctusers/*************************************************************************** begin : Tue Mar 24 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_READERLIST_HPP #define FXCY_READERLIST_HPP #include #include "libcyberjack/driver.hpp" class FXCY_ReaderList: public FXIconList { FXDECLARE(FXCY_ReaderList) protected: FXCY_ReaderList(); public: FXCY_ReaderList(FXComposite *p, FXObject* tgt=NULL, FXSelector sel=0, FXuint opts=ICONLIST_NORMAL, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~FXCY_ReaderList(); void addReader(Cyberjack::Reader *r); void applyReaderList(uint32_t currentCounter, std::list &rl); Cyberjack::Reader *getCurrentReader(); void create(); protected: FXIcon *m_iconSmallPinpad; /* 0x100 */ FXIcon *m_iconSmallPinpadA; /* 0x300 */ FXIcon *m_iconSmallEcom; /* 0x100 */ FXIcon *m_iconSmallEcomA; /* 0x400 */ FXIcon *m_iconSmallEcomPlus; /* 0x400 */ FXIcon *m_iconSmallSecoder; /* 0x400 */ FXIcon *m_iconBigPinpad; /* 0x100 */ FXIcon *m_iconBigPinpadA; /* 0x300 */ FXIcon *m_iconBigEcom; /* 0x100 */ FXIcon *m_iconBigEcomA; /* 0x400 */ FXIcon *m_iconBigEcomPlus; /* 0x400 */ FXIcon *m_iconBigSecoder; /* 0x400 */ }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerview.cpp0000644000175000001440000003742611657145411024260 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_readerview.hpp" #include "fxcy_readerdetails.hpp" #include "fxcy_readerflash.hpp" #include "fxcy_readerkeys.hpp" #include "fxcy_app.hpp" #ifdef HAVE_LIBXML2 # include "fxcy_readerflash2.hpp" #endif #include #include #define DISABLE_FLASHING FXDEFMAP(FXCY_ReaderView) FXCY_ReaderViewMap[]={ FXMAPFUNC(SEL_COMMAND, FXCY_ReaderView::ID_BUTTON_DETAILS, FXCY_ReaderView::onCmdDetails), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderView::ID_BUTTON_TEST, FXCY_ReaderView::onCmdTest), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderView::ID_BUTTON_FIRMWARE, FXCY_ReaderView::onCmdFirmware), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderView::ID_BUTTON_UPD_KEYS, FXCY_ReaderView::onCmdUpdateKeys), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderView::ID_BUTTON_DEL_MODS, FXCY_ReaderView::onCmdDelModules), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderView::ID_BUTTON_FLASH, FXCY_ReaderView::onCmdFlash), }; FXIMPLEMENT(FXCY_ReaderView, FXHorizontalFrame, FXCY_ReaderViewMap, ARRAYNUMBER(FXCY_ReaderViewMap)) FXCY_ReaderView::FXCY_ReaderView(FXComposite *p, FXuint opts, FXint x, FXint y, FXint w, FXint h) :FXHorizontalFrame(p, opts, x, y, w, h) ,m_readerList(NULL){ FXVerticalFrame *vf; #ifndef DISABLE_FLASHING FXButton *btn; #endif m_readerList=new FXCY_ReaderList(this, this, ID_READER_LIST, LAYOUT_FILL_X | LAYOUT_FILL_Y | ICONLIST_BROWSESELECT | /*ICONLIST_DETAILED |*/ ICONLIST_BIG_ICONS | ICONLIST_COLUMNS); vf=new FXVerticalFrame(this, LAYOUT_FILL_Y | PACK_UNIFORM_WIDTH | PACK_UNIFORM_HEIGHT); new FXButton(vf, "Details", NULL, this, ID_BUTTON_DETAILS, BUTTON_NORMAL); new FXButton(vf, "Test", NULL, this, ID_BUTTON_TEST, BUTTON_NORMAL); #ifdef HAVE_LIBXML2 new FXButton(vf, "Firmware\naktualisieren", NULL, this, ID_BUTTON_FIRMWARE, BUTTON_NORMAL); #endif #ifndef DISABLE_FLASHING btn=new FXButton(vf, "Schluessel\naktualisieren", NULL, this, ID_BUTTON_UPD_KEYS, BUTTON_NORMAL); btn->setTipText("Aktualisiert die Schluessel im Leser (nur neuere cyberJacks)"); btn=new FXButton(vf, "Alle Module\nentfernen", NULL, this, ID_BUTTON_DEL_MODS, BUTTON_NORMAL); btn->setTipText("Entfernt alle Module (nur neuere cyberJacks)"); btn=new FXButton(vf, "Modul\ninstallieren", NULL, this, ID_BUTTON_FLASH, BUTTON_NORMAL); btn->setTipText("Installiert ein neues Modul auf dem Leser (nur neuere cyberJacks)"); #endif } FXCY_ReaderView::FXCY_ReaderView() :FXHorizontalFrame() ,m_readerList(NULL){ } FXCY_ReaderView::~FXCY_ReaderView() { } void FXCY_ReaderView::applyReaderList(uint32_t currentCounter, std::list &rl) { if (m_readerList) m_readerList->applyReaderList(currentCounter, rl); } void FXCY_ReaderView::clearReaderList() { if (m_readerList) m_readerList->clearItems(); } void FXCY_ReaderView::create() { FXHorizontalFrame::create(); if (m_readerList) m_readerList->create(); } long FXCY_ReaderView::onCmdDetails(FXObject*, FXSelector, void *ptr) { Cyberjack::Reader *r=m_readerList->getCurrentReader(); if (r) { int rv; rv=r->gatherInfo(true); if (rv!=Cyberjack::ErrorCode_Ok) { fprintf(stderr, "Error gathering info: %d\n", rv); FXMessageBox::error(this, MBOX_OK, "Ein-/Ausgabe-Fehler", "Beim Abrufen der Leser-Details ist ein Fehler aufgetreten.\n" "Sie sollten mit diesem Leser einen Test ausfuehren um Probleme\n" "in der Einrichtung des Lesers auszuschliessen bzw. zu beheben.\n" "(Fehlercode: %d)", rv); return 1; } FXCY_ReaderDetails dlg(r, this, "Details zum Leser", DECOR_ALL); dlg.create(); dlg.show(); dlg.execute(); } return 1; } long FXCY_ReaderView::onCmdTest(FXObject*, FXSelector, void *ptr) { Cyberjack::Reader *r=m_readerList->getCurrentReader(); if (r) { int rv; std::string msg; rv=r->test(msg); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Test fehlgeschlagen", "Bei der Ausfuehrung des Lesertests ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n" "\n" "Der Bericht folgt:\n" "==================================================\n" "%s\n" "==================================================\n", rv, msg.c_str()); return 1; } else { FXMessageBox::information(this, MBOX_OK, "Test erfolgreich", "Der Lesertest war erfolgreich.\n" "\n" "Der Bericht folgt:\n" "==================================================\n" "%s\n" "==================================================\n", msg.c_str()); } } return 1; } long FXCY_ReaderView::onCmdFirmware(FXObject*, FXSelector, void *ptr) { #ifdef HAVE_LIBXML2 Cyberjack::Reader *r=m_readerList->getCurrentReader(); if (r) { int rv; rv=r->gatherInfo(true); if (rv!=Cyberjack::ErrorCode_Ok) { fprintf(stderr, "Error gathering info: %d\n", rv); FXMessageBox::error(this, MBOX_OK, "Ein-/Ausgabe-Fehler", "Beim Abrufen der Leser-Details ist ein Fehler aufgetreten.\n" "Sie sollten mit diesem Leser einen Test ausfuehren um Probleme\n" "in der Einrichtung des Lesers auszuschliessen bzw. zu beheben.\n" "(Fehlercode: %d)", rv); return 1; } FXCY_ReaderFlash2 dlg(r, this, "Firmware Aktualisieren", DECOR_ALL); dlg.create(); dlg.toGui(); dlg.show(); dlg.execute(); } #endif return 1; } static int readFile(const char *fname, uint8_t *buffer, uint32_t size) { FILE *f; uint8_t *p; int len; f=fopen(fname, "r"); if (f==NULL) return -1; p=buffer; len=0; while(!feof(f)) { int rv; int l; l=size; if (l<1) { fprintf(stderr, "ERROR: Buffer too small\n"); return -1; } if (l>1024) l=1024; rv=fread(p, 1, l, f); if (rv==0) break; p+=rv; len+=rv; size-=rv; } fclose(f); return len; } long FXCY_ReaderView::onCmdUpdateKeys(FXObject*, FXSelector, void *ptr) { Cyberjack::Reader *r=m_readerList->getCurrentReader(); if (r) { FXCY_ReaderKeys dlg(r, this, "Schluessel aktualisieren", DECOR_ALL); dlg.create(); dlg.show(); for (;;) { if (dlg.execute()) { FXString keyFileName; uint8_t buffer1[64*1024]; int len1; int rv; fprintf(stderr, "Accepted\n"); keyFileName=dlg.getKeyFile(); len1=readFile(keyFileName.text(), buffer1, sizeof(buffer1)); if (len1<1) { FXMessageBox::error(&dlg, MBOX_OK, "Lesefehler", "Beim Einlesen der Schluesseldatei ist ein Fehler aufgetreten\n" "Meldung vom System: %s\n", strerror(errno)); continue; } rv=r->connect(Cyberjack::Object_Reader); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Leserfehler", "Beim Ansprechen des Lesers ist ein Fehler aufgetreten\n" "(Fehlercode: %d)\n", rv); continue; } /* got both module and signature, flash it */ rv=r->updateKeys(buffer1, len1); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Fehler", "Beim Senden des Schluessels an den Treiber ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); r->disconnect(); continue; } rv=r->disconnect(); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Leserfehler", "Beim Schliessen der Verbindung zum Lesers ist ein Fehler aufgetreten\n" "(Fehlercode: %d)\n", rv); continue; } FXMessageBox::information(&dlg, MBOX_OK, "Update erfolgreich", "Der Schluessel wurde erfolgreich aktualisiert.\n" "Eventuell muessen Sie nun den Leser kurz abziehen und\n" "erneut anschliessen."); break; } else { fprintf(stderr, "Rejected\n"); break; } } dlg.hide(); } return 1; } long FXCY_ReaderView::onCmdDelModules(FXObject*, FXSelector, void *ptr) { Cyberjack::Reader *r=m_readerList->getCurrentReader(); if (r) { if (MBOX_CLICKED_YES==FXMessageBox::question(this, MBOX_YES_NO, "Alle Module entfernen", "Diese Aktion entfernt alle Module vom Leser.\n" "Dies funktioniert nur mit neueren cyberJacks\n" "\n" "Wenn Sie \"Ja\" anklicken, werden alle Module ausser dem\n" "Kernel entfernt.\n" "Sie muessen das in diesem Fall auf der Tastatur des Lesers\n" "mit \"Ok\" bestaetigen.\n" "\n" "Moechten Sie alle Module entfernen?")) { int rv; rv=r->deleteAllModules(true); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Fehler", "Beim Loeschen aller Module des Lesers ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); } } } return 1; } long FXCY_ReaderView::onCmdFlash(FXObject*, FXSelector, void *ptr) { Cyberjack::Reader *r=m_readerList->getCurrentReader(); if (r) { FXCY_ReaderFlash dlg(r, this, "Modul installieren", DECOR_ALL); dlg.create(); dlg.show(); for (;;) { if (dlg.execute()) { FXString modulFileName; FXString signatureFileName; uint8_t buffer1[64*1024]; uint8_t buffer2[64*1024]; int len1; int len2; int rv; fprintf(stderr, "Accepted\n"); modulFileName=dlg.getModuleFile(); signatureFileName=dlg.getSignatureFile(); len1=readFile(modulFileName.text(), buffer1, sizeof(buffer1)); if (len1<1) { FXMessageBox::error(&dlg, MBOX_OK, "Lesefehler", "Beim Einlesen der Moduldatei ist ein Fehler aufgetreten\n" "Meldung vom System: %s\n", strerror(errno)); continue; } len2=readFile(signatureFileName.text(), buffer2, sizeof(buffer2)); if (len2<1) { FXMessageBox::error(&dlg, MBOX_OK, "Lesefehler", "Beim Einlesen der Signaturdatei ist ein Fehler aufgetreten\n" "Meldung vom System: %s\n", strerror(errno)); continue; } rv=r->connect(Cyberjack::Object_Reader); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Leserfehler", "Beim Ansprechen des Lesers ist ein Fehler aufgetreten\n" "(Fehlercode: %d)\n", rv); continue; } /* got both module and signature, flash it */ rv=r->sendModuleToFlash(buffer1, len1); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Fehler", "Beim Senden des Modules an den Treiber ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); r->disconnect(); continue; } rv=r->sendSignatureToFlash(buffer2, len2); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Fehler", "Beim Senden der Signatur an den Treiber ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); r->disconnect(); continue; } rv=r->flash(); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Fehler", "Beim Hochladen des Modules ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); r->disconnect(); continue; } rv=r->gatherInfo(false); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Fehler", "Beim Abrufen der Modulinformationen des Lesers ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); r->disconnect(); continue; } rv=r->disconnect(); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(&dlg, MBOX_OK, "Leserfehler", "Beim Schliessen der Verbindung zum Lesers ist ein Fehler aufgetreten\n" "(Fehlercode: %d)\n", rv); continue; } FXMessageBox::information(&dlg, MBOX_OK, "Update erfolgreich", "Das Modul wurde erfolgreich installiert.\n" "Eventuell muessen Sie nun den Leser kurz abziehen und\n" "erneut anschliessen."); break; } else { fprintf(stderr, "Rejected\n"); break; } } dlg.hide(); } return 1; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/main.cpp0000644000175000001440000000362611657145411022011 0ustar sctusers #ifdef HAVE_CONFIG_H # include #endif #include #include "fxcy_app.hpp" #include "fxcy_readerview.hpp" #include "fxcy_mainwindow.hpp" #include "driver_pcsc.hpp" #include "Platform.h" #include "Reader.h" #include "eca_defines.h" int test1(int argc, char **argv) { FXApp a("libtest", "Martin Preuss"); FXDialogBox *dbox; FXVerticalFrame *vf; FXCY_ReaderView *rview; Cyberjack::Driver *dr; int rv; a.init(argc,argv); a.create(); dbox=new FXDialogBox(&a, "Test", DECOR_ALL); vf=new FXVerticalFrame(dbox, LAYOUT_FILL_X | LAYOUT_FILL_Y, 0, 0, 0, 0, 1, 1, 1, 1); rview=new FXCY_ReaderView(vf, LAYOUT_FILL_X | LAYOUT_FILL_Y); dbox->create(); dr=Cyberjack::NewDriverPcsc(); rv=dr->open(); if (rv<0) { fprintf(stderr, "Error in open: %d\n", rv); return 2; } rv=dr->enumReaders(); if (rv<0) { fprintf(stderr, "Error in enumReaders: %d\n", rv); return 2; } rview->applyReaderList(dr->getUpdateCounter(), dr->getReaders()); rv=dr->close(); if (rv<0) { fprintf(stderr, "Error in close: %d\n", rv); return 2; } dbox->resize(500, 300); dbox->show(); a.runModalFor(dbox); return 0; } int main(int argc, char **argv) { FXCY_App a("libtest", "Martin Preuss"); FXCY_MainWindow *mw; int rv; a.init(argc,argv); a.create(); Debug.setLevelMask(0xffffffff); mw=new FXCY_MainWindow(&a, "FXcyberJack"); mw->create(); rv=mw->openDriverPcsc(); if (rv<0) { fprintf(stderr, "Error in open: %d\n", rv); return 2; } rv=mw->updateReaderList(true); if (rv<0) { fprintf(stderr, "Error in enumReaders: %d\n", rv); return 2; } mw->resize(500, 300); mw->show(); a.runModalFor(mw); #if 0 fprintf(stderr, "Closing driver\n"); rv=mw->closeDriver(); if (rv<0) { fprintf(stderr, "Error in close: %d\n", rv); return 2; } #endif fprintf(stderr, "Bye.\n"); return 0; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerkeys.cpp0000644000175000001440000001037011657145411024246 0ustar sctusers/*************************************************************************** begin : Thu Mar 26 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_readerkeys.hpp" #include "fxcy_app.hpp" FXDEFMAP(FXCY_ReaderKeys) FXCY_ReaderKeysMap[]={ FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_ACCEPT, FXCY_ReaderKeys::onCmdAccept), FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_CANCEL, FXCY_ReaderKeys::onCmdCancel), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderKeys::ID_BUTTON_MODUL, FXCY_ReaderKeys::onCmdButtonModule), }; FXIMPLEMENT(FXCY_ReaderKeys, FXDialogBox, FXCY_ReaderKeysMap, ARRAYNUMBER(FXCY_ReaderKeysMap)) FXCY_ReaderKeys::FXCY_ReaderKeys(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts, FXint x, FXint y, FXint w, FXint h) :FXDialogBox(owner, name, opts, x, y, w, h) ,m_reader(r) ,m_editKeyFile(NULL) { FXVerticalFrame *vf; FXHorizontalFrame *hf; FXMatrix *m; vf=new FXVerticalFrame(this, LAYOUT_FILL_X | LAYOUT_FILL_Y); m=new FXMatrix(vf, 3, MATRIX_BY_COLUMNS | LAYOUT_FILL_X | LAYOUT_FILL_Y); new FXLabel(m, "Schluesseldatei", NULL, LABEL_NORMAL); m_editKeyFile=new FXTextField(m, 40, this, ID_EDIT_MODULE, TEXTFIELD_NORMAL); new FXButton(m, "...", NULL, this, ID_BUTTON_MODUL, BUTTON_NORMAL); new FXHorizontalSeparator(vf, LAYOUT_FILL_X | SEPARATOR_GROOVE); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X | PACK_UNIFORM_WIDTH); new FXButton(hf, "Abbrechen", NULL, this, ID_CANCEL, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); new FXButton(hf, "Ausfuehren", NULL, this, ID_ACCEPT, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); } FXCY_ReaderKeys::FXCY_ReaderKeys() :FXDialogBox() ,m_reader(NULL) ,m_editKeyFile(NULL) { } FXCY_ReaderKeys::~FXCY_ReaderKeys() { } void FXCY_ReaderKeys::create() { FXDialogBox::create(); } long FXCY_ReaderKeys::onCmdAccept(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,TRUE); return 1; } long FXCY_ReaderKeys::onCmdReject(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,FALSE); return 1; } long FXCY_ReaderKeys::onCmdButtonModule(FXObject*, FXSelector, void *ptr) { FXString path=m_editKeyFile->getText(); if (path.empty()) path=m_lastPath; FXString s=FXFileDialog::getOpenFilename(this, "Schluesseldatei auswaehlen", path, "Schluesseldateien (*.bky)\nAlle Dateien (*)"); if (!s.empty()) { int lpos=s.rfind('/'); if (lpos!=-1) m_lastPath=s.left(lpos+1); m_editKeyFile->setText(s); } return 1; } FXString FXCY_ReaderKeys::getKeyFile() const { return m_editKeyFile->getText(); } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerdetails.hpp0000644000175000001440000000440211657145411024724 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_READERDETAILS_HPP #define FXCY_READERDETAILS_HPP #include #include "libcyberjack/driver.hpp" class FXCY_App; class FXCY_ReaderDetails: public FXDialogBox { FXDECLARE(FXCY_ReaderDetails) protected: FXCY_ReaderDetails(); public: long onCmdAccept(FXObject*, FXSelector, void *ptr); long onCmdReject(FXObject*, FXSelector, void *ptr); FXCY_ReaderDetails(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~FXCY_ReaderDetails(); void create(); protected: Cyberjack::Reader *m_reader; FXIcon *m_readerIcon; }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/Makefile.in0000644000175000001440000006317511660201016022417 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = fxcyberjack$(EXEEXT) subdir = tools/fxcyberjack DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_fxcyberjack_OBJECTS = fxcy_readerlist.$(OBJEXT) \ fxcy_readerview.$(OBJEXT) fxcy_mainwindow.$(OBJEXT) \ fxcy_app.$(OBJEXT) fxcy_readerdetails.$(OBJEXT) \ fxcy_readerflash.$(OBJEXT) fxcy_readerflash2.$(OBJEXT) \ fxcy_readerkeys.$(OBJEXT) main.$(OBJEXT) fxcyberjack_OBJECTS = $(am_fxcyberjack_OBJECTS) am__DEPENDENCIES_1 = fxcyberjack_DEPENDENCIES = ../../libcyberjack/libcyberjack.la \ diag/libfxdiag.la \ ../../libcyberjack/checksuite/libchecksuite.la \ $(am__DEPENDENCIES_1) ../../cjeca32/libeca.la \ $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(fxcyberjack_SOURCES) DIST_SOURCES = $(fxcyberjack_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 HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ SUBDIRS = icons diag INCLUDES = $(pcsc_includes) $(fox_includes) $(libxml2_includes) \ -I../../include \ -I../../cjeca32 \ -I../../ifd \ -I../../libcyberjack \ -I../../libcyberjack/checksuite \ -I../../include/driver \ -I../../include/firmware fxcyberjack_LDADD = \ ../../libcyberjack/libcyberjack.la \ diag/libfxdiag.la \ ../../libcyberjack/checksuite/libchecksuite.la @THREAD_LIBS@ $(fox_libs) \ ../../cjeca32/libeca.la $(libxml2_libs) -lstdc++ fxcyberjack_SOURCES = \ fxcy_readerlist.cpp \ fxcy_readerview.cpp \ fxcy_mainwindow.cpp \ fxcy_app.cpp \ fxcy_readerdetails.cpp \ fxcy_readerflash.cpp \ fxcy_readerflash2.cpp \ fxcy_readerkeys.cpp \ main.cpp noinst_HEADERS = \ fxcy_readerlist.hpp \ fxcy_readerview.hpp \ fxcy_mainwindow.hpp \ fxcy_readerdetails.hpp \ fxcy_readerflash.hpp \ fxcy_readerflash2.hpp \ fxcy_readerkeys.hpp \ fxcy_app.hpp all: all-recursive .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/fxcyberjack/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/fxcyberjack/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list fxcyberjack$(EXEEXT): $(fxcyberjack_OBJECTS) $(fxcyberjack_DEPENDENCIES) @rm -f fxcyberjack$(EXEEXT) $(CXXLINK) $(fxcyberjack_OBJECTS) $(fxcyberjack_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_app.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_mainwindow.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_readerdetails.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_readerflash.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_readerflash2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_readerkeys.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_readerlist.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_readerview.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(PROGRAMS) $(HEADERS) 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool 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 html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -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) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool 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-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 # 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: pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerview.hpp0000644000175000001440000000535211657145411024256 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_READERVIEW_HPP #define FXCY_READERVIEW_HPP #include #include "libcyberjack/driver.hpp" #include "fxcy_readerlist.hpp" class FXCY_ReaderView: public FXHorizontalFrame { FXDECLARE(FXCY_ReaderView) protected: FXCY_ReaderView(); public: enum { ID_READER_LIST=FXHorizontalFrame::ID_LAST, ID_BUTTON_DETAILS, ID_BUTTON_TEST, ID_BUTTON_FIRMWARE, ID_BUTTON_UPD_KEYS, ID_BUTTON_DEL_MODS, ID_BUTTON_FLASH, ID_LAST }; long onCmdDetails(FXObject*, FXSelector, void *ptr); long onCmdTest(FXObject*, FXSelector, void *ptr); long onCmdFirmware(FXObject*, FXSelector, void *ptr); long onCmdUpdateKeys(FXObject*, FXSelector, void *ptr); long onCmdDelModules(FXObject*, FXSelector, void *ptr); long onCmdFlash(FXObject*, FXSelector, void *ptr); FXCY_ReaderView(FXComposite *p, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~FXCY_ReaderView(); void applyReaderList(uint32_t currentCounter, std::list &rl); void clearReaderList(); void create(); FXCY_ReaderList *getReaderList() { return m_readerList;}; protected: FXCY_ReaderList *m_readerList; }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_app.hpp0000644000175000001440000000447211657145411022703 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_APP_HPP #define FXCY_APP_HPP #include class FXCY_App: public FXApp { public: typedef enum { IconId_Unknown=0, IconId_PinpadSmall=1, IconId_PinpadNormal, IconId_PinpadBig, IconId_PinpadASmall, IconId_PinpadANormal, IconId_PinpadABig, IconId_EcomSmall, IconId_EcomNormal, IconId_EcomBig, IconId_EcomASmall, IconId_EcomANormal, IconId_EcomABig, IconId_EcomPlusSmall, IconId_EcomPlusNormal, IconId_EcomPlusBig, IconId_SecoderSmall, IconId_SecoderNormal, IconId_SecoderBig } IconId; FXCY_App(const FXString& name="Application",const FXString& vendor="FoxDefault"); virtual ~FXCY_App(); FXIcon *getIcon(IconId id); protected: FXIconSource *m_iconSource; }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/0000755000175000001440000000000011660201016021242 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/Makefile.am0000644000175000001440000000064211657145411023314 0ustar sctusersINCLUDES=$(fox_includes) \ -I../../../include \ -I../../../libcyberjack \ -I../../../libcyberjack/checksuite DEFS+=@cyberjack_platform_def@ noinst_LTLIBRARIES=libfxdiag.la libfxdiag_la_SOURCES=\ checkthread.cpp \ checkwidget.cpp \ foxchecksuite.cpp \ fxcy_diag.cpp \ msgqueue.cpp noinst_HEADERS=\ checkthread.h \ checkwidget.h \ foxchecksuite.h \ fxcy_diag.h \ msgqueue.h pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/checkwidget.cpp0000644000175000001440000000752011657145411024247 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "checkwidget.h" #include "checkthread.h" #include "msgqueue.h" #include #include FXDEFMAP(CheckWidget) CheckWidgetMap[]= { FXMAPFUNC(SEL_COMMAND, CheckWidget::ID_ABORT_BUTTON, CheckWidget::onAbortClicked), }; FXIMPLEMENT(CheckWidget, FXTopWindow, CheckWidgetMap, ARRAYNUMBER(CheckWidgetMap)); CheckWidget::CheckWidget() :FXTopWindow() ,progressBar(NULL) ,messageLabel(NULL) ,abortButton(NULL) ,aborted(false) ,errors(0) { } CheckWidget::CheckWidget(FXApp *app, FXint x, FXint y, FXint w, FXint h) :FXTopWindow(app, "System wird ueberprueft", NULL, NULL, DECOR_TITLE| DECOR_BORDER | LAYOUT_CENTER_X | LAYOUT_CENTER_Y, x, y, w, h, 0, 0, 0, 0, 0, 0) ,progressBar(NULL) ,messageLabel(NULL) ,abortButton(NULL) ,aborted(false) ,errors(0) { FXVerticalFrame *vf; FXLabel *l; FXHorizontalFrame *hf; FXSpring *sp; vf=new FXVerticalFrame(this, LAYOUT_FILL_Y); l=new FXLabel(vf, "Ihr System wird ueberprueft, bitte warten...", NULL, LABEL_NORMAL | LAYOUT_CENTER_X | LAYOUT_FILL_X); progressBar=new FXProgressBar(vf, this, ID_PROGRESS_BAR, PROGRESSBAR_PERCENTAGE | PROGRESSBAR_NORMAL | PROGRESSBAR_HORIZONTAL | LAYOUT_FILL_X | LAYOUT_FILL_Y); progressBar->setBarSize(32); progressBar->setTotal(0); progressBar->setProgress(0); progressBar->show(); messageLabel=new FXLabel(vf, "", NULL, LABEL_NORMAL | LAYOUT_CENTER_X | LAYOUT_FILL_X); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X); sp=new FXSpring(hf, LAYOUT_FILL_X); abortButton=new FXButton(hf, "Abbrechen", NULL, this, ID_ABORT_BUTTON, BUTTON_NORMAL | LAYOUT_RIGHT); } CheckWidget::~CheckWidget() { } long CheckWidget::onAbortClicked(FXObject*,FXSelector,void*) { aborted=true; return 1; } bool CheckWidget::performChecks(bool withReaders, std::string &xmlString, std::string &hintString, std::string &reportString) { MessageQueue *mq; Message *m; CheckThread *ct; bool b=true; mq=new MessageQueue(); ct=new CheckThread(mq, withReaders); if (!ct->start()) { reportString+="*FEHLER* (Konnte Tests nicht starten)\n"; fprintf(stderr, "ERROR: %s\n", strerror(errno)); return false; } while(ct->running()) { while( (m=mq->pullMessage()) ) { messageLabel->setText(m->getTitle().c_str()); progressBar->setTotal(m->getTotalChecks()); progressBar->setProgress(m->getDoneChecks()); if (!m->getResult()) { b=false; } delete m; } getApp()->runModalWhileEvents(this); if (aborted) { ct->cancel(); b=false; break; } } /* read all remaining messages */ while( (m=mq->pullMessage()) ) { fprintf(stderr, "Got message: %d %s %d %d %s\n", m->getMessageType(), m->getTitle().c_str(), m->getDoneChecks(), m->getTotalChecks(), (m->getResult())?"OK":"ERROR"); messageLabel->setText(m->getTitle().c_str()); progressBar->setTotal(m->getTotalChecks()); progressBar->setProgress(m->getDoneChecks()); if (!m->getResult()) { b=false; fprintf(stderr, "Got a bad result\n"); } delete m; } xmlString=ct->getXmlString(); hintString=ct->getHintString(); reportString=ct->getReportString(); delete ct; delete mq; return b; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/Makefile.in0000644000175000001440000004262111660201016023314 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = tools/fxcyberjack/diag DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libfxdiag_la_LIBADD = am_libfxdiag_la_OBJECTS = checkthread.lo checkwidget.lo \ foxchecksuite.lo fxcy_diag.lo msgqueue.lo libfxdiag_la_OBJECTS = $(am_libfxdiag_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(libfxdiag_la_SOURCES) DIST_SOURCES = $(libfxdiag_la_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = $(fox_includes) \ -I../../../include \ -I../../../libcyberjack \ -I../../../libcyberjack/checksuite noinst_LTLIBRARIES = libfxdiag.la libfxdiag_la_SOURCES = \ checkthread.cpp \ checkwidget.cpp \ foxchecksuite.cpp \ fxcy_diag.cpp \ msgqueue.cpp noinst_HEADERS = \ checkthread.h \ checkwidget.h \ foxchecksuite.h \ fxcy_diag.h \ msgqueue.h all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/fxcyberjack/diag/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/fxcyberjack/diag/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libfxdiag.la: $(libfxdiag_la_OBJECTS) $(libfxdiag_la_DEPENDENCIES) $(CXXLINK) $(libfxdiag_la_OBJECTS) $(libfxdiag_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkthread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checkwidget.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/foxchecksuite.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fxcy_diag.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msgqueue.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags 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: pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/msgqueue.cpp0000644000175000001440000000234711657145411023623 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "msgqueue.h" #include #include Message::Message(MessageType t, const char *title, int doneChecks, int totalChecks, bool result) :_messageType(t) ,_doneChecks(doneChecks) ,_totalChecks(totalChecks) ,_result(result) { assert(title); _title=title; } Message::~Message() { } MessageQueue::MessageQueue() { } MessageQueue::~MessageQueue() { } void MessageQueue::pushMessage(Message *m) { FXMutexLock mlock(_mutex); _messages.push_back(m); } Message *MessageQueue::pullMessage() { FXMutexLock mlock(_mutex); Message *m; if (_messages.empty()) return NULL; m=_messages.front(); _messages.pop_front(); return m; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/checkwidget.h0000644000175000001440000000221711657145411023712 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include #include class CheckWidget: public FXTopWindow { FXDECLARE(CheckWidget) protected: CheckWidget(); FXProgressBar *progressBar; FXLabel *messageLabel; FXButton *abortButton; bool aborted; int errors; public: enum { ID_ABORT_BUTTON=FXVerticalFrame::ID_LAST, ID_PROGRESS_BAR }; CheckWidget(FXApp *app, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~CheckWidget(); long onAbortClicked(FXObject*,FXSelector,void*); bool performChecks(bool withReaders, std::string &xmlString, std::string &hintString, std::string &reportString); }; pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/msgqueue.h0000644000175000001440000000275211657145411023270 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifndef MSGQUEUE_H #define MSGQUEUE_H #include #include #include //class FXMutex; class Message { public: typedef enum { MessageType_Unknown=0, MessageType_Begin, MessageType_End } MessageType; private: MessageType _messageType; std::string _title; int _doneChecks; int _totalChecks; bool _result; public: Message(MessageType t, const char *title, int doneChecks, int totalChecks, bool result); ~Message(); MessageType getMessageType() const { return _messageType;}; const std::string &getTitle() const { return _title;}; int getDoneChecks() const { return _doneChecks;}; int getTotalChecks() const { return _totalChecks;}; bool getResult() const { return _result;}; }; class MessageQueue { private: std::list _messages; FXMutex _mutex; public: MessageQueue(); ~MessageQueue(); void pushMessage(Message *m); Message *pullMessage(); }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/foxchecksuite.cpp0000644000175000001440000000232611657145411024631 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "foxchecksuite.h" FoxCheckSuite::FoxCheckSuite(MessageQueue *mq) :CheckSuite() ,messageQueue(mq) { } FoxCheckSuite::~FoxCheckSuite() { } bool FoxCheckSuite::beginCheck(const char *title, int doneChecks, int totalChecks) { Message *m; m=new Message(Message::MessageType_Begin, title, doneChecks, totalChecks, true); messageQueue->pushMessage(m); return true; } bool FoxCheckSuite::endCheck(const char *title, int doneChecks, int totalChecks, bool result) { Message *m; m=new Message(Message::MessageType_End, title, doneChecks, totalChecks, result); messageQueue->pushMessage(m); return true; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/foxchecksuite.h0000644000175000001440000000173011657145411024274 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifndef FOXCHECKSUITE_H #define FOXCHECKSUITE_H #include "checksuite.h" #include "msgqueue.h" class FoxCheckSuite: public CheckSuite { protected: MessageQueue *messageQueue; public: FoxCheckSuite(MessageQueue *mq); virtual ~FoxCheckSuite(); bool beginCheck(const char *title, int doneChecks, int totalChecks); bool endCheck(const char *title, int doneChecks, int totalChecks, bool result); }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/fxcy_diag.cpp0000644000175000001440000001436511657145411023730 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "fxcy_diag.h" #include "checkwidget.h" #include FXDEFMAP(FXCY_Diagnosis) FXCY_DiagnosisMap[]= { FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_ACCEPT, FXCY_Diagnosis::onCmdAccept), FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_CANCEL, FXCY_Diagnosis::onCmdCancel), FXMAPFUNC(SEL_COMMAND, FXCY_Diagnosis::ID_MENU_NEWTEST, FXCY_Diagnosis::onCmdNewTest), }; FXIMPLEMENT(FXCY_Diagnosis, FXDialogBox, FXCY_DiagnosisMap, ARRAYNUMBER(FXCY_DiagnosisMap)); FXCY_Diagnosis::FXCY_Diagnosis() :FXDialogBox() ,m_withReaders(false) ,tabbook(NULL) ,tab1(NULL) ,tab2(NULL) ,tab3(NULL) ,tab4(NULL) ,reportWidget(NULL) ,hintWidget(NULL) ,xmlWidget(NULL) { } FXCY_Diagnosis::FXCY_Diagnosis(FXWindow *owner, const FXString& name, bool withReaders, FXuint opt, FXint x,FXint y, FXint w,FXint h) :FXDialogBox(owner, name, opt, x, y, w, h) ,m_withReaders(withReaders) ,tabbook(NULL) ,tab1(NULL) ,tab2(NULL) ,tab3(NULL) ,tab4(NULL) ,reportWidget(NULL) ,hintWidget(NULL) ,xmlWidget(NULL) { FXVerticalFrame *vf; FXHorizontalFrame *hf; // Tooltip new FXToolTip(getApp()); // Separator new FXHorizontalSeparator(this,LAYOUT_SIDE_TOP|LAYOUT_FILL_X|SEPARATOR_GROOVE); vf=new FXVerticalFrame(this, LAYOUT_FILL_X|LAYOUT_FILL_Y); tabbook=new FXTabBook(vf,this,ID_TABBOOK, PACK_UNIFORM_WIDTH|PACK_UNIFORM_HEIGHT| LAYOUT_FILL_X|LAYOUT_FILL_Y|LAYOUT_LEFT); tab1=new FXTabItem(tabbook,"&Einleitung",NULL); introWidget=new FXText(tabbook, this, ID_REPORT_TEXT, LAYOUT_FILL_X|LAYOUT_FILL_Y| TEXT_READONLY|TEXT_WORDWRAP); tab2=new FXTabItem(tabbook,"&Bericht",NULL); reportWidget=new FXText(tabbook, this, ID_REPORT_TEXT, LAYOUT_FILL_X|LAYOUT_FILL_Y| TEXT_READONLY|TEXT_WORDWRAP); tab3=new FXTabItem(tabbook,"&Hinweise",NULL); hintWidget=new FXText(tabbook, this, ID_HINT_TEXT, LAYOUT_FILL_X|LAYOUT_FILL_Y| TEXT_READONLY|TEXT_WORDWRAP); tab4=new FXTabItem(tabbook,"&XML",NULL); xmlWidget=new FXText(tabbook, this, ID_XML_TEXT, LAYOUT_FILL_X|LAYOUT_FILL_Y|TEXT_READONLY); introWidget->setText ( "Cyberjack Diagnose Programm\n" "\n" "Dieses Programm ist in der Lage Ihr System auf die haeufigsten " "Konfigurationsprobleme hin zu ueberpruefen.\n" "\n" "Es dient ausserdem dazu fuer den Support benoetigte Informationen " "ueber Ihr System und den eventuell angeschlossenen Leser " "zusammenzutragen.\n" "\n" "Bei Problemen bekommen Sie Hinweise, die Ihnen helfen sollen diese " "Probleme selbst zu loesen.\n" "\n" "Sollten Sie dabei nicht weiterkommen, wenden Sie sich bitte an den " "Support von Reiner SCT (entweder per Email an support@reiner-sct.de " "oder ueber die Support-Seite auf http://www.reiner-sct.de/).\n" "\n" "Bitte fuegen Sie Ihrer Support-Anfrage die gesammelten Daten der " "\"XML\"-Seite bei.\n" ); new FXHorizontalSeparator(vf, LAYOUT_FILL_X | SEPARATOR_GROOVE); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X | PACK_UNIFORM_WIDTH); new FXButton(hf, "Schliessen", NULL, this, ID_ACCEPT, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); } FXCY_Diagnosis::~FXCY_Diagnosis() { } bool FXCY_Diagnosis::performTest() { CheckWidget w(getApp(), getX()+100, getY()+100); std::string xmlString; std::string reportString; std::string hintString; bool b; w.create(); w.layout(); w.show(); b=w.performChecks(m_withReaders, xmlString, hintString, reportString); fprintf(stderr, "Result of tests: %s\n", b?"OK":"ERROR"); if (!b) { std::string s; s="Es sind Probleme aufgetreten.\n" "\n" "Auf der \"Hinweise\"-Seite finden Sie Tips, wie Sie diese " "Probleme eventuell selbst loesen koennen.\n" "\n" "Sollten die Hinweise Ihnen nicht weiterhelfen, wenden Sie sich " "bitte an den Support von Reiner SCT.\n" "\n" "Um Ihnen helfen zu koennen, benoetigt der Support einige " "Informationen ueber Ihr System, die dieses Programm bereits fuer " "Sie zusammengestellt hat.\n" "\n" "Bitte oeffnen Sie die \"XML\"-Seite, markieren mit der Maus den " "gesamten Text auf der Seite und kopieren Sie ihn in Ihre Email an " "den Support von Reiner SCT (support@reiner-sct.de).\n" "\n" "Die Tastenkombination \"STRG-C\" kopiert dabei den markierten " "Text in die Zwischenablage. In Ihrem Email-Programm (oder auf der " "Support-Seite) koennen Sie dann den so markierten Text mit der " "Kombination \"STRG-V\" aus der Zwischenablage abrufen.\n" "\n" "Test-Bericht folgt:\n" "-------------------\n"; reportString=s+reportString; } else { std::string s; s="Auf Ihrem System scheint alles in Ordnung zu sein.\n"; if (!hintString.empty()) s+="Schauen Sie sich bitte dennoch die \"Hinweise\"-Seite an um " "zu erfahren, wie Sie den Zugriff auf den Leser verbessern " "koennen.\n"; s+= "\n" "Test-Bericht folgt:\n" "-------------------\n"; reportString=s+reportString; } if (hintString.empty()) hintString+="Es liegen keine Hinweise vor.\n"; reportWidget->setText(reportString.c_str()); hintWidget->setText(hintString.c_str()); xmlWidget->setText(xmlString.c_str()); w.hide(); tabbook->setCurrent(1); return b; } long FXCY_Diagnosis::onCmdNewTest(FXObject*,FXSelector sel,void*){ performTest(); return 1; } long FXCY_Diagnosis::onCmdAccept(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,TRUE); hide(); return 1; } long FXCY_Diagnosis::onCmdReject(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,FALSE); hide(); return 1; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/checkthread.h0000644000175000001440000000174611657145411023704 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include #include "msgqueue.h" #include class CheckThread: public FXThread { private: bool m_withReaders; MessageQueue *_messageQueue; std::string _xmlString; std::string _hintString; std::string _reportString; protected: FXint run(); public: CheckThread(MessageQueue *mq, bool withReaders); ~CheckThread(); std::string getXmlString(); std::string getHintString(); std::string getReportString(); }; pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/fxcy_diag.h0000644000175000001440000000303611657145411023366 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #ifndef FXCY_DIAG_H #define FXCY_DIAG_H #include class FXCY_Diagnosis: public FXDialogBox { FXDECLARE(FXCY_Diagnosis) protected: bool m_withReaders; FXTabBook *tabbook; FXTabItem *tab1; FXTabItem *tab2; FXTabItem *tab3; FXTabItem *tab4; FXText *introWidget; FXText *reportWidget; FXText *hintWidget; FXText *xmlWidget; FXCY_Diagnosis(); public: enum { ID_TABBOOK=FXDialogBox::ID_LAST, ID_REPORT_TEXT, ID_HINT_TEXT, ID_XML_TEXT, ID_MENU_NEWTEST, ID_QUIT }; long onCmdAccept(FXObject*, FXSelector, void *ptr); long onCmdReject(FXObject*, FXSelector, void *ptr); public: FXCY_Diagnosis(FXWindow *owner, const FXString& name, bool withReaders, FXuint opts=DECOR_ALL, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~FXCY_Diagnosis(); bool performTest(); long onCmdNewTest(FXObject*,FXSelector sel,void*); long onCmdQuit(FXObject*,FXSelector sel,void*); }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/diag/checkthread.cpp0000644000175000001440000000256111657145411024233 0ustar sctusers/*************************************************************************** * project : Cyberjack Diagnoses Tool begin : Fri Jan 26 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * This file is licensed under the GPL version 2. * * Please see toplevel file COPYING for license details * ***************************************************************************/ #include "checkthread.h" #include "foxchecksuite.h" CheckThread::CheckThread(MessageQueue *mq, bool withReaders) :FXThread() ,m_withReaders(withReaders) ,_messageQueue(mq) { } CheckThread::~CheckThread() { } FXint CheckThread::run() { FoxCheckSuite *cs; bool b; fprintf(stderr, "Check thread started.\n"); cs=new FoxCheckSuite(_messageQueue); cs->addStandardModules(m_withReaders); b=cs->performChecks(_xmlString, _reportString, _hintString); fprintf(stderr, "Check thread ending.\n"); return 0; } std::string CheckThread::getXmlString() { if (running()) return ""; return _xmlString; } std::string CheckThread::getHintString() { if (running()) return ""; return _hintString; } std::string CheckThread::getReportString() { if (running()) return ""; return _reportString; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerlist.cpp0000644000175000001440000001544111657145411024252 0ustar sctusers/*************************************************************************** begin : Tue Mar 24 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_readerlist.hpp" #include "fxcy_app.hpp" FXIMPLEMENT(FXCY_ReaderList, FXIconList,NULL,0) FXCY_ReaderList::FXCY_ReaderList(FXComposite *p, FXObject* tgt, FXSelector sel, FXuint opts, FXint x, FXint y, FXint w, FXint h) :FXIconList(p, tgt, sel, opts, x, y, w, h) ,m_iconSmallPinpad(NULL) ,m_iconSmallPinpadA(NULL) ,m_iconSmallEcom(NULL) ,m_iconSmallEcomA(NULL) ,m_iconSmallEcomPlus(NULL) ,m_iconSmallSecoder(NULL) ,m_iconBigPinpad(NULL) ,m_iconBigPinpadA(NULL) ,m_iconBigEcom(NULL) ,m_iconBigEcomA(NULL) ,m_iconBigEcomPlus(NULL) ,m_iconBigSecoder(NULL) { FXCY_App *a=dynamic_cast(getApp()); appendHeader("Name", NULL, 200); appendHeader("Anschluss", NULL, 200); appendHeader("Seriennummer", NULL, 200); /* big icons */ m_iconBigPinpad=a->getIcon(FXCY_App::IconId_PinpadNormal); m_iconBigPinpadA=a->getIcon(FXCY_App::IconId_PinpadANormal); m_iconBigEcom=a->getIcon(FXCY_App::IconId_EcomNormal); m_iconBigEcomA=a->getIcon(FXCY_App::IconId_EcomANormal); m_iconBigEcomPlus=a->getIcon(FXCY_App::IconId_EcomPlusNormal); m_iconBigSecoder=a->getIcon(FXCY_App::IconId_SecoderNormal); m_iconSmallPinpad=a->getIcon(FXCY_App::IconId_PinpadSmall); m_iconSmallPinpadA=a->getIcon(FXCY_App::IconId_PinpadASmall); m_iconSmallEcom=a->getIcon(FXCY_App::IconId_EcomSmall); m_iconSmallEcomA=a->getIcon(FXCY_App::IconId_EcomASmall); m_iconSmallEcomPlus=a->getIcon(FXCY_App::IconId_EcomPlusSmall); m_iconSmallSecoder=a->getIcon(FXCY_App::IconId_SecoderSmall); } FXCY_ReaderList::FXCY_ReaderList() :FXIconList() ,m_iconSmallPinpad(NULL) ,m_iconSmallPinpadA(NULL) ,m_iconSmallEcom(NULL) ,m_iconSmallEcomA(NULL) ,m_iconSmallEcomPlus(NULL) ,m_iconSmallSecoder(NULL) ,m_iconBigPinpad(NULL) ,m_iconBigPinpadA(NULL) ,m_iconBigEcom(NULL) ,m_iconBigEcomA(NULL) ,m_iconBigEcomPlus(NULL) ,m_iconBigSecoder(NULL) { } FXCY_ReaderList::~FXCY_ReaderList() { } void FXCY_ReaderList::create() { FXIconList::create(); /* realize small icons */ if (m_iconSmallPinpad) m_iconSmallPinpad->create(); if (m_iconSmallPinpadA) m_iconSmallPinpadA->create(); if (m_iconSmallEcom) m_iconSmallEcom->create(); if (m_iconSmallEcomA) m_iconSmallEcomA->create(); if (m_iconSmallEcomPlus) m_iconSmallEcomPlus->create(); if (m_iconSmallSecoder) m_iconSmallSecoder->create(); /* realize big icons */ if (m_iconBigPinpad) m_iconBigPinpad->create(); if (m_iconBigPinpadA) m_iconBigPinpadA->create(); if (m_iconBigEcom) m_iconBigEcom->create(); if (m_iconBigEcomA) m_iconBigEcomA->create(); if (m_iconBigEcomPlus) m_iconBigEcomPlus->create(); if (m_iconBigSecoder) m_iconBigSecoder->create(); } void FXCY_ReaderList::addReader(Cyberjack::Reader *r) { FXIcon *icBig=NULL; FXIcon *icSmall=NULL; FXString t; FXString name; if (r->getBusType()==Cyberjack::BusType_Pcsc) { name=FXString(r->getName().c_str()).lower(); if (name.contains("pp_a")) { icBig=m_iconBigPinpadA; icSmall=m_iconSmallPinpadA; } else if (name.contains("ecom_a")) { icBig=m_iconBigEcomA; icSmall=m_iconSmallEcomA; } else { icBig=m_iconBigPinpad; icSmall=m_iconSmallPinpad; } } else { name=FXString(r->getProductString().c_str()).lower(); if (name.contains("e-com/pinpad")) { icBig=m_iconBigPinpad; icSmall=m_iconSmallPinpad; } else if (name.contains("pinpad(a)")) { icBig=m_iconBigPinpadA; icSmall=m_iconSmallPinpadA; } else if (name.contains("e-com(a)")) { icBig=m_iconBigEcomA; icSmall=m_iconSmallEcomA; } else if (name.contains("e-com plus")) { icBig=m_iconBigEcomPlus; icSmall=m_iconSmallEcomPlus; } else if (name.contains("secoder")) { icBig=m_iconBigSecoder; icSmall=m_iconSmallSecoder; } } /* reader name */ t=r->getName().c_str(); if (t.left(10)=="cyberJack ") t.erase(0, 10); t+="\t"; /* COM type */ switch(r->getBusType()) { case Cyberjack::BusType_None: t+="keiner"; break; case Cyberjack::BusType_UsbRaw: t+="USB"; break; case Cyberjack::BusType_UsbTty: t+="USBTTY"; break; case Cyberjack::BusType_Serial: t+="seriell"; break; case Cyberjack::BusType_Pcsc: t+="PC/SC"; break; default: t+="unbekannt"; break; } t+="\t"; /* serial number */ t+=r->getSerial().c_str(); t+="\t"; /* append item */ appendItem(t, icBig, icSmall, (void*) r, false); } void FXCY_ReaderList::applyReaderList(uint32_t currentCounter, std::list &rl) { std::list::iterator rit; for (rit=rl.begin(); rit!=rl.end(); rit++) { Cyberjack::Reader *r=*rit; if (r->getUpdateCounter()==0) { /* add reader */ r->setUpdateCounter(currentCounter); addReader(r); } else if (r->getUpdateCounter()getData()); } return NULL; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_mainwindow.cpp0000644000175000001440000001577311657145411024300 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_mainwindow.hpp" #include "fxcy_readerview.hpp" #include "diag/fxcy_diag.h" #include "libcyberjack/driver_pcsc.hpp" FXDEFMAP(FXCY_MainWindow) FXCY_MainWindowMap[]={ FXMAPFUNC(SEL_COMMAND, FXCY_MainWindow::ID_CMD_REFRESH, FXCY_MainWindow::onCmdRefresh), FXMAPFUNC(SEL_COMMAND, FXCY_MainWindow::ID_CMD_CHECK, FXCY_MainWindow::onCmdDiag), FXMAPFUNC(SEL_COMMAND, FXCY_MainWindow::ID_CMD_CHECK2, FXCY_MainWindow::onCmdDiagWithReaders), }; FXIMPLEMENT(FXCY_MainWindow, FXMainWindow, FXCY_MainWindowMap, ARRAYNUMBER(FXCY_MainWindowMap)) FXCY_MainWindow::FXCY_MainWindow(FXApp* a, const FXString& name, FXIcon *ic, FXIcon *mi, FXuint opts, FXint x, FXint y, FXint w, FXint h, FXint pl, FXint pr, FXint pt, FXint pb, FXint hs, FXint vs) :FXMainWindow(a, name, ic, mi, opts, x, y, w, h, pl, pr, pt, pb, hs, vs) ,m_readerView(NULL) ,m_driver(NULL) ,m_menubar(NULL) ,m_filemenu(NULL) ,m_viewmenu(NULL) ,m_diagmenu(NULL) { FXCY_ReaderList *rl; /* Menu bar */ m_menubar=new FXMenuBar(this, LAYOUT_SIDE_TOP | LAYOUT_FILL_X); /* File menu */ m_filemenu=new FXMenuPane(this); new FXMenuCommand(m_filemenu, "&Beenden\tCtl-Q", NULL, getApp(), FXApp::ID_QUIT); new FXMenuTitle(m_menubar, "&Datei", NULL, m_filemenu); #if 0 /* Status bar */ m_statusbar=new FXStatusBar(this, LAYOUT_SIDE_BOTTOM | LAYOUT_FILL_X | STATUSBAR_WITH_DRAGCORNER); #endif /* main view */ m_readerView=new FXCY_ReaderView(this, LAYOUT_FILL_X | LAYOUT_FILL_Y); rl=m_readerView->getReaderList(); /* diagnostic menu */ m_diagmenu=new FXMenuPane(this); new FXMenuCommand(m_diagmenu, "&System pruefen", NULL, this, ID_CMD_CHECK); new FXMenuCommand(m_diagmenu, "&System und Leser pruefen", NULL, this, ID_CMD_CHECK2); new FXMenuTitle(m_menubar, "&Diagnose", NULL, m_diagmenu); /* Arrange menu */ m_viewmenu=new FXMenuPane(this); new FXMenuCommand(m_viewmenu,"Auff&rischen\tF5", NULL, this, ID_CMD_REFRESH); new FXMenuSeparator(m_viewmenu); new FXMenuRadio(m_viewmenu,"&Details",rl, FXIconList::ID_SHOW_DETAILS); new FXMenuRadio(m_viewmenu,"&Kleine Icons",rl, FXIconList::ID_SHOW_MINI_ICONS); new FXMenuRadio(m_viewmenu,"&Grosse Icons",rl, FXIconList::ID_SHOW_BIG_ICONS); new FXMenuSeparator(m_viewmenu); new FXMenuRadio(m_viewmenu,"&Zeilenweise",rl, FXIconList::ID_ARRANGE_BY_ROWS); new FXMenuRadio(m_viewmenu,"&Spaltenweise",rl, FXIconList::ID_ARRANGE_BY_COLUMNS); new FXMenuTitle(m_menubar,"&Ansicht", NULL, m_viewmenu); } FXCY_MainWindow::FXCY_MainWindow() :FXMainWindow() ,m_readerView(NULL) ,m_menubar(NULL) ,m_filemenu(NULL) ,m_viewmenu(NULL) ,m_diagmenu(NULL) { } FXCY_MainWindow::~FXCY_MainWindow() { fprintf(stderr, "Destroying MainWindow\n"); if (m_driver) { m_readerView->clearReaderList(); m_driver->clearReaderList(); m_driver->close(); delete m_driver; m_driver=NULL; } delete m_filemenu; delete m_diagmenu; delete m_viewmenu; delete m_menubar; } void FXCY_MainWindow::create() { FXMainWindow::create(); m_readerView->create(); } int FXCY_MainWindow::updateReaderList(bool force) { if (m_driver) { int rv; if (force) { m_readerView->clearReaderList(); m_driver->clearReaderList(); } rv=m_driver->enumReaders(); if (rv<0) { fprintf(stderr, "Error in enumReaders: %d\n", rv); m_readerView->clearReaderList(); m_driver->clearReaderList(); return rv; } #if 0 /* get extended reader info */ std::list::const_iterator it; for (it=m_driver->getReaders().begin(); it!=m_driver->getReaders().end(); it++) { if ((*it)->getUpdateCounter()==0) { rv=(*it)->gatherInfo(true); if (rv!=Cyberjack::ErrorCode_Ok) { fprintf(stderr, "Error gathering info: %d\n", rv); } } } #endif m_readerView->applyReaderList(m_driver->getUpdateCounter(), m_driver->getReaders()); m_driver->removeOldReaders(); return Cyberjack::ErrorCode_Ok; } else { return Cyberjack::ErrorCode_Invalid; } } int FXCY_MainWindow::openDriverPcsc() { Cyberjack::Driver *dr; int rv; dr=Cyberjack::NewDriverPcsc(); rv=dr->open(); if (rv<0) { fprintf(stderr, "Error in open: %d\n", rv); delete dr; return rv; } m_driver=dr; return Cyberjack::ErrorCode_Ok; } int FXCY_MainWindow::closeDriver() { if (m_driver) { int rv; m_readerView->clearReaderList(); m_driver->clearReaderList(); rv=m_driver->close(); delete m_driver; m_driver=NULL; if (rv<0) { fprintf(stderr, "Error in close: %d\n", rv); return rv; } } return Cyberjack::ErrorCode_Ok; } long FXCY_MainWindow::onCmdRefresh(FXObject*, FXSelector, void *ptr) { if (m_driver) { fprintf(stderr, "Refresh\n"); updateReaderList(true); } return 1; } long FXCY_MainWindow::onCmdDiag(FXObject*, FXSelector, void *ptr) { FXCY_Diagnosis dlg(this, "System ueberpruefen", false, DECOR_ALL); dlg.create(); dlg.resize(500, 400); dlg.show(); dlg.performTest(); dlg.execute(); return 1; } long FXCY_MainWindow::onCmdDiagWithReaders(FXObject*, FXSelector, void *ptr) { FXCY_Diagnosis dlg(this, "System ueberpruefen", true, DECOR_ALL); dlg.create(); dlg.resize(500, 400); dlg.show(); dlg.performTest(); dlg.execute(); return 1; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerkeys.hpp0000644000175000001440000000476311657145411024264 0ustar sctusers/*************************************************************************** begin : Thu Mar 26 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_READERKEYS_HPP #define FXCY_READERKEYS_HPP #include #include "libcyberjack/driver.hpp" class FXCY_App; class FXCY_ReaderKeys: public FXDialogBox { FXDECLARE(FXCY_ReaderKeys) protected: FXCY_ReaderKeys(); public: enum { ID_EDIT_MODULE=FXDialogBox::ID_LAST, ID_BUTTON_MODUL, ID_LAST }; long onCmdAccept(FXObject*, FXSelector, void *ptr); long onCmdReject(FXObject*, FXSelector, void *ptr); long onCmdButtonModule(FXObject*, FXSelector, void *ptr); long onCmdButtonSignature(FXObject*, FXSelector, void *ptr); FXCY_ReaderKeys(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~FXCY_ReaderKeys(); void create(); FXString getKeyFile() const; protected: Cyberjack::Reader *m_reader; FXTextField *m_editKeyFile; FXString m_lastPath; }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_mainwindow.hpp0000644000175000001440000000536011657145411024274 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_MAINWINDOW_HPP #define FXCY_MAINWINDOW_HPP #include #include "libcyberjack/driver.hpp" #include "fxcy_readerview.hpp" class FXCY_MainWindow: public FXMainWindow { FXDECLARE(FXCY_MainWindow) protected: FXCY_MainWindow(); public: enum { ID_CMD_REFRESH=FXMainWindow::ID_LAST, ID_CMD_CHECK, ID_CMD_CHECK2, ID_LAST }; long onCmdRefresh(FXObject*, FXSelector, void *ptr); long onCmdDiag(FXObject*, FXSelector, void *ptr); long onCmdDiagWithReaders(FXObject*, FXSelector, void *ptr); FXCY_MainWindow(FXApp* a, const FXString& name, FXIcon *ic=NULL, FXIcon *mi=NULL, FXuint opts=DECOR_ALL, FXint x=0, FXint y=0, FXint w=0, FXint h=0, FXint pl=0, FXint pr=0, FXint pt=0, FXint pb=0, FXint hs=0, FXint vs=0); ~FXCY_MainWindow(); void create(); int openDriverPcsc(); int updateReaderList(bool force); int closeDriver(); protected: FXCY_ReaderView *m_readerView; Cyberjack::Driver *m_driver; FXMenuBar *m_menubar; FXMenuPane *m_filemenu; FXMenuPane *m_viewmenu; FXMenuPane *m_diagmenu; FXStatusBar *m_statusbar; }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerflash2.hpp0000644000175000001440000000537711657145411024472 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_READERFLASH2_HPP #define FXCY_READERFLASH2_HPP #include "libcyberjack/driver.hpp" #include "libcyberjack/modulestore.hpp" #include #include class FXCY_App; class FXCY_ReaderFlash2: public FXDialogBox { FXDECLARE(FXCY_ReaderFlash2) protected: FXCY_ReaderFlash2(); public: enum { ID_LISTBOX=FXDialogBox::ID_LAST, ID_MODULE_LIST, ID_BUTTON_FLASH, ID_LAST }; long onCmdReject(FXObject*, FXSelector, void *ptr); long onCmdButtonFlash(FXObject*, FXSelector, void *ptr); long onCmdListBox(FXObject*, FXSelector, void *ptr); FXCY_ReaderFlash2(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~FXCY_ReaderFlash2(); void toGui(); FXint getDefaultWidth(); FXint getDefaultHeight(); protected: Cyberjack::Reader *m_reader; std::list m_moduleStoreList; Cyberjack::ModuleStore *m_moduleStore; FXListBox *m_listBox; FXFoldingList *m_moduleList; FXButton *m_flashButton; FXString m_lastPath; bool selectModuleStore(); void selectedTemplate(int idx); Cyberjack::Module *findModuleByName(const char *s); }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerflash.hpp0000644000175000001440000000517511657145411024404 0ustar sctusers/*************************************************************************** begin : Thu Mar 26 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef FXCY_READERFLASH_HPP #define FXCY_READERFLASH_HPP #include #include "libcyberjack/driver.hpp" class FXCY_App; class FXCY_ReaderFlash: public FXDialogBox { FXDECLARE(FXCY_ReaderFlash) protected: FXCY_ReaderFlash(); public: enum { ID_EDIT_MODULE=FXDialogBox::ID_LAST, ID_BUTTON_MODUL, ID_EDIT_SIGNATURE, ID_BUTTON_SIGNATURE, ID_LAST }; long onCmdAccept(FXObject*, FXSelector, void *ptr); long onCmdReject(FXObject*, FXSelector, void *ptr); long onCmdButtonModule(FXObject*, FXSelector, void *ptr); long onCmdButtonSignature(FXObject*, FXSelector, void *ptr); FXCY_ReaderFlash(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts=0, FXint x=0, FXint y=0, FXint w=0, FXint h=0); ~FXCY_ReaderFlash(); void create(); FXString getModuleFile() const; FXString getSignatureFile() const; protected: Cyberjack::Reader *m_reader; FXTextField *m_editModuleFile; FXTextField *m_editSignatureFile; FXString m_lastPath; }; #endif pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerflash2.cpp0000644000175000001440000002617511657145411024464 0ustar sctusers/*************************************************************************** begin : Tue Apr 06 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_readerflash2.hpp" #include "fxcy_app.hpp" FXDEFMAP(FXCY_ReaderFlash2) FXCY_ReaderFlash2Map[]={ FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_CANCEL, FXCY_ReaderFlash2::onCmdCancel), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderFlash2::ID_BUTTON_FLASH, FXCY_ReaderFlash2::onCmdButtonFlash), FXMAPFUNC(SEL_COMMAND, FXCY_ReaderFlash2::ID_LISTBOX, FXCY_ReaderFlash2::onCmdListBox), }; FXIMPLEMENT(FXCY_ReaderFlash2, FXDialogBox, FXCY_ReaderFlash2Map, ARRAYNUMBER(FXCY_ReaderFlash2Map)) FXCY_ReaderFlash2::FXCY_ReaderFlash2(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts, FXint x, FXint y, FXint w, FXint h) :FXDialogBox(owner, name, opts, x, y, w, h) ,m_reader(r) ,m_moduleStore(NULL) ,m_listBox(NULL) ,m_moduleList(NULL) { FXVerticalFrame *vf; FXHorizontalFrame *hf; vf=new FXVerticalFrame(this, LAYOUT_FILL_X | LAYOUT_FILL_Y); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X); new FXLabel(hf, "Modul-Auswahl", NULL, LABEL_NORMAL); m_listBox=new FXListBox(hf, this, ID_LISTBOX, LAYOUT_FILL_COLUMN | FRAME_SUNKEN | FRAME_THICK | LISTBOX_NORMAL); m_moduleList=new FXFoldingList(vf, this, ID_MODULE_LIST, FOLDINGLIST_NORMAL | FOLDINGLIST_BROWSESELECT | LAYOUT_FILL_X | LAYOUT_FILL_Y); m_moduleList->appendHeader("Name", NULL, 100); m_moduleList->appendHeader("Beschreibung", NULL, 320); new FXHorizontalSeparator(vf, LAYOUT_FILL_X | SEPARATOR_GROOVE); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X | PACK_UNIFORM_WIDTH); new FXButton(hf, "Abbrechen", NULL, this, ID_CANCEL, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); m_flashButton=new FXButton(hf, "Ausfuehren", NULL, this, ID_BUTTON_FLASH, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); } FXint FXCY_ReaderFlash2::getDefaultWidth() { return 480; } FXint FXCY_ReaderFlash2::getDefaultHeight() { return FXDialogBox::getDefaultHeight()+100; } FXCY_ReaderFlash2::FXCY_ReaderFlash2() :FXDialogBox() ,m_reader(NULL) ,m_moduleStore(NULL) ,m_listBox(NULL) ,m_moduleList(NULL) { } FXCY_ReaderFlash2::~FXCY_ReaderFlash2() { } long FXCY_ReaderFlash2::onCmdReject(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,FALSE); return 1; } Cyberjack::Module *FXCY_ReaderFlash2::findModuleByName(const char *s) { std::list &ml=m_moduleStore->getModules(); std::list::iterator it; /* add entries to combo box */ for (it=ml.begin(); it!=ml.end(); it++) { if (strcasecmp(it->getModuleName().c_str(), s)==0) return &(*it); } return NULL; } long FXCY_ReaderFlash2::onCmdListBox(FXObject*, FXSelector, void *ptr) { FXint i=(FXint)(FXival)ptr; selectedTemplate(i); return 1; } void FXCY_ReaderFlash2::selectedTemplate(int idx) { Cyberjack::MTemplate *tmpl; int nv; m_moduleList->clearItems(); tmpl=(Cyberjack::MTemplate*) m_listBox->getItemData(idx); if (m_moduleStore && tmpl) { const std::list &modNames=tmpl->getModuleNames(); if (!modNames.empty()) { std::list::const_iterator it; for (it=modNames.begin(); it!=modNames.end(); it++) { Cyberjack::Module *m=findModuleByName(it->c_str()); if (m) { FXString str; str=FXString(m->getModuleName().c_str()); str+="\t"; str+=FXString(m->getDescr().c_str()); FXFoldingItem *item=new FXFoldingItem(str); m_moduleList->appendItem(NULL, item, FALSE); } } } } nv=m_listBox->getNumItems(); if (nv>10) nv=10; m_listBox->setNumVisible(nv); if (m_moduleList->getNumItems()) m_flashButton->enable(); else m_flashButton->disable(); } long FXCY_ReaderFlash2::onCmdButtonFlash(FXObject*, FXSelector, void *ptr) { Cyberjack::MTemplate *tmpl; tmpl=(Cyberjack::MTemplate*) m_listBox->getItemData(m_listBox->getCurrentItem()); if (m_moduleStore && tmpl) { const std::list &modNames=tmpl->getModuleNames(); if (!modNames.empty()) { std::list::const_iterator it; int rv; /* read keyfile (not really necessary, may we should omit that) */ if (!m_moduleStore->readKeyFile()) { FXMessageBox::error(this, MBOX_OK, "Fehler", "Die Schluesseldatei \"%s\" konnte nicht geladen werden.\n", m_moduleStore->getKeyFileName().c_str()); return 1; } /* read binaries */ for (it=modNames.begin(); it!=modNames.end(); it++) { Cyberjack::Module *m=findModuleByName(it->c_str()); if (m) { if (!m->readModuleBinaries()) { FXMessageBox::error(this, MBOX_OK, "Fehler", "Die Firmware-Dateien fuer das Modul \"%s\" konnten nicht geladen werden.\n", it->c_str()); return 1; } } } if (MBOX_CLICKED_YES==FXMessageBox::question(this, MBOX_YES_NO, "Firmware aktualisieren", "Diese Aktion entfernt alle Module vom Leser \n" "und fuegt die ausgewaehlten Module neu hinzu.\n" "\n" "Wenn Sie \"Ja\" anklicken wird die Firmware auf dem\n" "Leser aktualisiert.\n" "Sie muessen das in diesem Fall auf der Tastatur des Lesers\n" "mit \"Ok\" bestaetigen.\n" "Sie werden fuer jedes zu aktualisierende Modul auf dem\n" "Display des Leser um Bestaetigung gebeten.\n" "\n" "Moechten Sie die Aktualisierung durchfuehren?")) { /* ok, now we have all needed binaries */ rv=m_reader->connect(Cyberjack::Object_Reader); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Leserfehler", "Beim Ansprechen des Lesers ist ein Fehler aufgetreten\n" "(Fehlercode: %d)\n", rv); return 1; } /* delete all modules */ rv=m_reader->deleteAllModules(false); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Fehler", "Beim Loeschen aller Module des Lesers ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); m_reader->disconnect(); return 1; } /* flash the given modules */ for (it=modNames.begin(); it!=modNames.end(); it++) { Cyberjack::Module *m=findModuleByName(it->c_str()); if (m) { std::string data; /* send module */ data=m->getBinFileData(); fprintf(stderr, "Found binfile with %d bytes length\n", int(data.length())); rv=m_reader->sendModuleToFlash((const uint8_t*) (data.data()), data.length()); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Fehler", "Beim Senden des Modules [%s] an den Treiber ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", it->c_str(), rv); m_reader->disconnect(); return 1; } /* send signature */ data=m->getSigFileData(); fprintf(stderr, "Found sigfile with %d bytes length\n", int(data.length())); rv=m_reader->sendSignatureToFlash((const uint8_t*) (data.data()), data.length()); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Fehler", "Beim Senden der Signatur des Modules [%s] an den Treiber ist ein Fehler " "aufgetreten.\n" "(Fehlercode: %d)\n", it->c_str(), rv); m_reader->disconnect(); return 1; } /* now flash */ rv=m_reader->flash(); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Fehler", "Beim Hochladen des Modules ist ein Fehler aufgetreten.\n" "(Fehlercode: %d)\n", rv); m_reader->disconnect(); return 1; } } } /* disconnect */ rv=m_reader->disconnect(); if (rv!=Cyberjack::ErrorCode_Ok) { FXMessageBox::error(this, MBOX_OK, "Leserfehler", "Beim Schliessen der Verbindung zum Lesers ist ein Fehler aufgetreten\n" "(Fehlercode: %d)\n", rv); return 1; } FXMessageBox::information(this, MBOX_OK, "Update erfolgreich", "Die Module wurden erfolgreich installiert.\n" "Eventuell muessen Sie nun den Leser kurz abziehen und\n" "erneut anschliessen."); } getApp()->stopModal(this,TRUE); } } return 1; } bool FXCY_ReaderFlash2::selectModuleStore() { /* get reader type */ const cj_ReaderInfo &ri=m_reader->getReaderInfo(); FXString hwstring=FXString((const char*)ri.HardwareString).trim().lower(); std::list::iterator it; m_moduleStoreList.clear(); m_moduleStore=NULL; if (!Cyberjack::ModuleStore::readModuleStores(m_moduleStoreList)) { FXMessageBox::error(this, MBOX_OK, "Fehler", "%s", "Es konnten keine Firmware-Dateien auf Ihrem System gefunden werden.\n" "Bitte laden Sie die entsprechenden Dateien von\n" " http://www.reiner-sct.de/\n" "herunter und starten Sie diese Anwendung erneut."); return false; } for (it=m_moduleStoreList.begin(); it!=m_moduleStoreList.end(); it++) { FXString fs; fs=FXString(it->getHwString().c_str()).lower(); if (!fs.empty()) { if (strstr(fs.text(), hwstring.text())!=NULL) { m_moduleStore=&(*it); return true; } } } return false; } void FXCY_ReaderFlash2::toGui() { if (selectModuleStore()) { std::list &tl=m_moduleStore->getTemplates(); std::list::iterator it; /* add entries to combo box */ for (it=tl.begin(); it!=tl.end(); it++) { FXString str=FXString(it->getDescr().c_str()).trim(); Cyberjack::MTemplate &tmpl=*it; if (!str.empty()) m_listBox->appendItem(str, NULL, &tmpl); } } if (m_listBox->getNumItems()) { m_listBox->setCurrentItem(0, FALSE); selectedTemplate(0); } } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_app.cpp0000644000175000001440000000721211657145411022671 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_app.hpp" #include "icons/icons.cpp" FXCY_App::FXCY_App(const FXString& name, const FXString& vendor) :FXApp(name, vendor) ,m_iconSource(NULL){ m_iconSource=new FXIconSource(this); } FXCY_App::~FXCY_App() { } FXIcon *FXCY_App::getIcon(FXCY_App::IconId id) { switch(id) { case IconId_PinpadSmall: return m_iconSource->loadIconData(fxcj_icon_cy_pinpad_s, "jpg"); case IconId_PinpadNormal: return m_iconSource->loadIconData(fxcj_icon_cy_pinpad_n, "jpg"); case IconId_PinpadBig: return m_iconSource->loadIconData(fxcj_icon_cy_pinpad_b, "jpg"); case IconId_PinpadASmall: return m_iconSource->loadIconData(fxcj_icon_cy_pinpad_s, "jpg"); case IconId_PinpadANormal: return m_iconSource->loadIconData(fxcj_icon_cy_pinpad_n, "jpg"); case IconId_PinpadABig: return m_iconSource->loadIconData(fxcj_icon_cy_pinpad_b, "jpg"); case IconId_EcomSmall: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_s, "jpg"); case IconId_EcomNormal: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_n, "jpg"); case IconId_EcomBig: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_b, "jpg"); case IconId_EcomASmall: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_s, "jpg"); case IconId_EcomANormal: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_n, "jpg"); case IconId_EcomABig: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_b, "jpg"); case IconId_EcomPlusSmall: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_plus_s, "jpg"); case IconId_EcomPlusNormal: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_plus_n, "jpg"); case IconId_EcomPlusBig: return m_iconSource->loadIconData(fxcj_icon_cy_ecom_plus_b, "jpg"); case IconId_SecoderSmall: return m_iconSource->loadIconData(fxcj_icon_cy_secoder_s, "jpg"); case IconId_SecoderNormal: return m_iconSource->loadIconData(fxcj_icon_cy_secoder_n, "jpg"); case IconId_SecoderBig: return m_iconSource->loadIconData(fxcj_icon_cy_secoder_b, "jpg"); case IconId_Unknown: default: return NULL; } } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/fxcy_readerdetails.cpp0000644000175000001440000002552711657145411024732 0ustar sctusers/*************************************************************************** begin : Wed Mar 25 2009 copyright : (C) 2009 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "fxcy_readerdetails.hpp" #include "fxcy_app.hpp" #define RDETAILS_TEXTFIELD_WIDTH 40 FXDEFMAP(FXCY_ReaderDetails) FXCY_ReaderDetailsMap[]={ FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_ACCEPT, FXCY_ReaderDetails::onCmdAccept), FXMAPFUNC(SEL_COMMAND, FXDialogBox::ID_CANCEL, FXCY_ReaderDetails::onCmdCancel) }; FXIMPLEMENT(FXCY_ReaderDetails, FXDialogBox, FXCY_ReaderDetailsMap, ARRAYNUMBER(FXCY_ReaderDetailsMap)) FXCY_ReaderDetails::FXCY_ReaderDetails(Cyberjack::Reader *r, FXWindow *owner, const FXString& name, FXuint opts, FXint x, FXint y, FXint w, FXint h) :FXDialogBox(owner, name, opts, x, y, w, h) ,m_reader(r) ,m_readerIcon(NULL) { FXCY_App *a; FXVerticalFrame *vf; FXHorizontalFrame *hf; FXIcon *ic=NULL; const char *s; FXLabel *ll; FXString str; const cj_ReaderInfo &ri=r->getReaderInfo(); a=dynamic_cast(getApp()); vf=new FXVerticalFrame(this, LAYOUT_FILL_X | LAYOUT_FILL_Y); /* title (name) */ new FXLabel(vf, FXString(r->getName().c_str()).trim(), NULL, LAYOUT_TOP | LAYOUT_CENTER_X); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X | LAYOUT_FILL_Y); /* big icon and product string */ s=r->getProductString().c_str(); if (strcasecmp(s, "cyberJack e-com(a)")==0) ic=a->getIcon(FXCY_App::IconId_EcomABig); else if (strcasecmp(s, "cyberJack pinpad(a)")==0) ic=a->getIcon(FXCY_App::IconId_PinpadABig); else if (strcasecmp(s, "cyberJack e-com/pinpad")==0) ic=a->getIcon(FXCY_App::IconId_PinpadBig); else if (strcasecmp(s, "cyberJack e-com plus")==0) ic=a->getIcon(FXCY_App::IconId_EcomPlusBig); else if (strcasecmp(s, "cyberJack e-com plus RFID")==0) ic=a->getIcon(FXCY_App::IconId_EcomPlusBig); else if (strcasecmp(s, "cyberJack Secoder")==0) ic=a->getIcon(FXCY_App::IconId_SecoderBig); if (ic==NULL) ic=a->getIcon(FXCY_App::IconId_EcomABig); m_readerIcon=ic; new FXLabel(hf, FXString(r->getProductString().c_str()).trim(), ic, TEXT_BELOW_ICON); /* reader info */ if (ri.ContentsMask==0) { new FXLabel(hf, "Keine Details verfuegbar.\n" "Aeltere Leser (wie cyberJack Pinpad und cyberJack e-com) stellen\n" "keine Informationen ueber installierte Module etc zur Verfuegung.", NULL, LAYOUT_FILL_X | LAYOUT_FILL_Y); } else { FXMatrix *m; m=new FXMatrix(hf, 2, MATRIX_BY_COLUMNS | LAYOUT_FILL_X | LAYOUT_FILL_Y); if (ri.ContentsMask & RSCT_READER_MASK_PID) { new FXLabel(m, "PID", NULL, LABEL_NORMAL); ll=new FXLabel(m, FXStringVal(ri.PID, 16), NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); } if (ri.ContentsMask & RSCT_READER_MASK_VENDOR_STRING) { new FXLabel(m, "Hersteller", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.VendorString).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_PRODUCT_STRING) { new FXLabel(m, "Produkt", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.ProductString).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_SERIALNUMBER) { new FXLabel(m, "Seriennummer", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.SeriaNumber).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_PRODUCTION_DATE) { new FXLabel(m, "Herstellungsdatum", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.ProductionDate).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_TEST_DATE) { new FXLabel(m, "Testdatum", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.TestDate).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_COMMISSIONING_DATE) { new FXLabel(m, "Freigabedatum", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.CommissioningDate).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_COM_TYPE) { new FXLabel(m, "Anschlussart", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.CommunicationString).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_HARDWARE) { new FXLabel(m, "Eigenschaften", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); str=""; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC1) str+=" ICC1"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC2) str+=" ICC2"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC3) str+=" ICC3"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC4) str+=" ICC4"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC5) str+=" ICC5"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC6) str+=" ICC6"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC7) str+=" ICC7"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC8) str+=" ICC8"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_KEYPAD) str+=" Keypad"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_DISPLAY) str+=" Display"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_BIOMETRIC) str+=" Fingersensor"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_UPDATEABLE) str+=" Firmwareupdate"; if (ri.HardwareMask & RSCT_READER_HARDWARE_MASK_MODULES) str+=" Sicherheitsmodule"; str.trim(); ll->setText(str); } if (ri.ContentsMask & RSCT_READER_MASK_VERSION) { new FXLabel(m, "Version", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXStringVal(ri.Version, 16)); } if (ri.ContentsMask & RSCT_READER_MASK_HARDWARE_VERSION) { new FXLabel(m, "Hardware-Version", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXStringVal(ri.HardwareVersion, 16)); } if (ri.ContentsMask & RSCT_READER_MASK_IFD_BRIDGE) { new FXLabel(m, "IFD-Bridge", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.IFDNameOfIfdBridgeDevice).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_HW_STRING) { new FXLabel(m, "Hardware-String", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXString((const char*)ri.HardwareString).trim()); } if (ri.ContentsMask & RSCT_READER_MASK_FLASH_SIZE) { new FXLabel(m, "Flashgroesse", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXStringVal(ri.FlashSize, 10)); } if (ri.ContentsMask & RSCT_READER_MASK_HEAP_SIZE) { new FXLabel(m, "Heapgroesse", NULL, LABEL_NORMAL); ll=new FXLabel(m, "", NULL, LABEL_NORMAL | JUSTIFY_LEFT | FRAME_SUNKEN | LAYOUT_FILL_X); ll->setBackColor(getApp()->getBackColor()); ll->setText(FXStringVal(ri.HeapSize, 10)); } } new FXHorizontalSeparator(vf, LAYOUT_FILL_X | SEPARATOR_GROOVE); hf=new FXHorizontalFrame(vf, LAYOUT_FILL_X | PACK_UNIFORM_WIDTH); new FXButton(hf, "Schliessen", NULL, this, ID_ACCEPT, BUTTON_NORMAL | BUTTON_DEFAULT | BUTTON_INITIAL | LAYOUT_RIGHT); } FXCY_ReaderDetails::FXCY_ReaderDetails() :FXDialogBox() ,m_reader(NULL) ,m_readerIcon(NULL) { } FXCY_ReaderDetails::~FXCY_ReaderDetails() { } void FXCY_ReaderDetails::create() { FXDialogBox::create(); if (m_readerIcon) m_readerIcon->create(); } long FXCY_ReaderDetails::onCmdAccept(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,TRUE); hide(); return 1; } long FXCY_ReaderDetails::onCmdReject(FXObject*, FXSelector, void *ptr) { getApp()->stopModal(this,FALSE); hide(); return 1; } pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/0000755000175000001440000000000011660201016021451 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/Makefile.am0000644000175000001440000000067111657145411023525 0ustar sctusers RESWRAP = reswrap ICONS= \ cy_ecom_s.jpg \ cy_ecom_n.jpg \ cy_ecom_b.jpg \ cy_ecom_plus_s.jpg \ cy_ecom_plus_n.jpg \ cy_ecom_plus_b.jpg \ cy_pinpad_s.jpg \ cy_pinpad_n.jpg \ cy_pinpad_b.jpg \ cy_secoder_s.jpg \ cy_secoder_n.jpg \ cy_secoder_b.jpg EXTRA_DIST=\ $(ICONS) icons.cpp \ cy_ecom_0.jpg \ cy_pinpad_0.jpg \ cy_secoder_0.jpg \ cy_ecom_plus_0.jpg icons.cpp: $(ICONS) $(RESWRAP) -p "fxcj_icon_" -o icons.cpp $^ pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_secoder_s.jpg0000644000175000001440000002011511657145411024627 0ustar sctusersJFIF,,ExifMM*mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmC    C   (( ,!1AQ"#2aqB 12!"A ?Obr|ҚKE0$管'd_x\9rpyieƛѓl?(eWjwExDH[6tZ'޵S*#X~#S:BU.ǔObi0Y"Uv bOUH}TOdrA%Yn*"ǒu H8ʈKhYxih` o"8̽I+ sCz[t_bDj\&[*~PӞնYl:IR``xʞ?0YVwy#SI1Vq,{dOa P;@HIո,do48-S)U Ǐ~!>C&}vtَ1MgRXP)g/AyfJ3Hfğ'?SbmrxV`X/"4`Hb.eaYY[XF+Qa"M$ >\QcϨ5نԁ6r"g&6tkkb1[yxm15۠qƁPhpcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/icons.cpp0000644000175000001440000226273511657145411023325 0ustar sctusers/* Generated by reswrap version 4.0.0 */ /* created by reswrap from file cy_ecom_s.jpg */ const unsigned char fxcj_icon_cy_ecom_s[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x00,0x60, 0x00,0x60,0x00,0x00,0xff,0xe1,0x00,0x16,0x45,0x78,0x69,0x66,0x00,0x00,0x4d,0x4d, 0x00,0x2a,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe2,0x1c,0x6d, 0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46,0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00, 0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10,0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47, 0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce,0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31, 0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53,0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45, 0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01,0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50, 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65, 0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00,0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00, 0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b,0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00, 0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00,0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58, 0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00,0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00, 0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d,0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00, 0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00,0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75, 0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00,0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00, 0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75,0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00, 0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00,0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65, 0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00,0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00, 0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54,0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00, 0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00,0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65, 0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20, 0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38,0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74, 0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47, 0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49, 0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16, 0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f, 0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03,0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7,0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6, 0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43, 0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e, 0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45, 0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63, 0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43, 0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75, 0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70, 0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20, 0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73, 0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56, 0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e, 0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65, 0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f, 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31, 0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76, 0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00, 0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00,0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00, 0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00, 0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d,0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00, 0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, 0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00, 0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00, 0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00, 0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00, 0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00, 0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00, 0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01, 0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01, 0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01, 0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01, 0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02, 0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02, 0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02, 0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02, 0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03, 0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03, 0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04, 0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04, 0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04, 0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05, 0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05, 0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06, 0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06, 0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07, 0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08, 0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08, 0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09, 0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a, 0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a, 0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b, 0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c, 0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d, 0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d, 0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e, 0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f, 0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10, 0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11, 0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12, 0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13, 0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14, 0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15, 0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16, 0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17, 0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18, 0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a, 0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b, 0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c, 0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d, 0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f, 0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20, 0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21, 0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23, 0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24, 0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26, 0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27, 0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29, 0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a, 0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c, 0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e, 0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f, 0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31, 0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33, 0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35, 0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36, 0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38, 0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a, 0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c, 0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e, 0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40, 0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42, 0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44, 0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46, 0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49, 0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b, 0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d, 0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f, 0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52, 0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54, 0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56, 0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59, 0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b, 0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e, 0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60, 0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63, 0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66, 0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68, 0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b, 0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e, 0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71, 0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74, 0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76, 0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79, 0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c, 0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f, 0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82, 0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86, 0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89, 0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c, 0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f, 0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92, 0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96, 0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99, 0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c, 0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0, 0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3, 0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7, 0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab, 0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae, 0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2, 0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6, 0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9, 0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd, 0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1, 0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5, 0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9, 0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd, 0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1, 0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5, 0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9, 0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd, 0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1, 0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6, 0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea, 0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee, 0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3, 0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7, 0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc, 0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0xff,0xdb,0x00,0x43,0x00, 0x03,0x02,0x02,0x03,0x02,0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08, 0x05,0x05,0x04,0x04,0x05,0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b, 0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13, 0x15,0x15,0x16,0x17,0x16,0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15, 0xff,0xdb,0x00,0x43,0x01,0x03,0x03,0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15, 0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0xff,0xc0,0x00,0x11,0x08,0x00,0x28,0x00,0x28,0x03,0x01, 0x11,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xc4,0x00,0x19,0x00,0x00,0x02,0x03, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x09,0x04, 0x05,0x07,0x06,0xff,0xc4,0x00,0x33,0x10,0x00,0x01,0x03,0x02,0x04,0x05,0x02,0x04, 0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x00,0x11, 0x12,0x21,0x07,0x08,0x22,0x31,0x41,0x51,0x61,0x09,0x13,0x14,0x32,0x16,0x24,0xa1, 0xc1,0x62,0x71,0x72,0x82,0x91,0x92,0xb1,0xff,0xc4,0x00,0x19,0x01,0x00,0x03,0x01, 0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,0x04, 0x01,0x00,0x05,0xff,0xc4,0x00,0x23,0x11,0x00,0x02,0x02,0x01,0x03,0x04,0x03,0x01, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x11,0x04,0x12,0x21, 0x05,0x13,0x31,0x51,0x14,0x22,0x41,0x61,0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02, 0x11,0x03,0x11,0x00,0x3f,0x00,0x69,0xb8,0xe3,0x80,0x57,0x9a,0x5e,0x6b,0xaf,0x4a, 0x37,0x15,0xe4,0x5b,0x3c,0x25,0xae,0x31,0x48,0x89,0x47,0x49,0x6a,0x5a,0x93,0x19, 0x0e,0xb8,0xfc,0x8d,0x39,0x91,0xd6,0x85,0x24,0x25,0x39,0xef,0xfd,0x3e,0xe7,0x14, 0x57,0x52,0x7c,0xc8,0x9e,0xcb,0x5a,0x78,0x46,0x7b,0x44,0xe7,0xc3,0x8c,0xd4,0x36, 0xd2,0xd5,0x50,0x5a,0xd7,0x03,0xc8,0xd9,0xdf,0xa8,0x83,0xa5,0x6a,0x3e,0x72,0x0c, 0xb8,0x9c,0xbf,0xc1,0xc3,0x7e,0x34,0x5f,0x86,0x07,0xc8,0x7e,0x8d,0x16,0xdb,0xf8, 0x8d,0x57,0xd6,0xa5,0xb1,0x5b,0xe1,0x9c,0xaa,0xcc,0xd5,0xf5,0xb3,0x16,0x82,0xe3, 0x9f,0x39,0x69,0x1f,0x76,0x96,0xd4,0x95,0x15,0x10,0x33,0x57,0x71,0xb0,0x3e,0x98, 0x09,0xe9,0xb6,0xac,0xe4,0x28,0xdf,0x97,0x8c,0x04,0x0f,0x2f,0xbc,0xd0,0xd1,0x79, 0x84,0x91,0x57,0x89,0x48,0xb6,0xee,0xeb,0x6e,0x7d,0x29,0x08,0x54,0x96,0x2b,0xb0, 0xd2,0xcf,0xdc,0x48,0x01,0x24,0x28,0x93,0xd8,0xf7,0x03,0x13,0xca,0x38,0x1e,0xa5, 0x93,0x66,0xc0,0x84,0x28,0x8b,0x7e,0xe3,0x8b,0x0b,0x88,0x17,0x75,0x57,0x88,0x50, 0xa3,0xd5,0xe7,0xd4,0x94,0x10,0xe6,0x48,0x43,0xa8,0x6d,0xc4,0xb8,0xe1,0x70,0xa7, 0x59,0x19,0x85,0x15,0x27,0xdf,0xa7,0x17,0xc1,0x70,0x79,0xf3,0x7f,0x84,0x9a,0xd7, 0xe0,0x4a,0x86,0xb2,0x20,0xa6,0x0a,0xff,0x00,0x81,0x2e,0x32,0x07,0xfa,0xf4,0xe0, 0xdf,0x00,0x25,0x22,0x86,0xde,0xa6,0x32,0xdd,0xf9,0x6d,0x47,0xb4,0xaa,0x52,0xc3, 0x92,0xea,0x0c,0xb6,0x4b,0x6f,0x8e,0x81,0xad,0x3b,0xe6,0x32,0x3d,0xbd,0x71,0xd2, 0x7c,0x06,0x87,0x07,0x01,0xc6,0x17,0x1d,0x02,0x33,0xc8,0x7b,0x4a,0x42,0x4a,0xc1, 0xcc,0x9c,0xbc,0x9c,0x79,0xa7,0xa0,0x42,0xbb,0xeb,0x42,0xdb,0xb4,0xeb,0x55,0x65, 0x90,0x94,0xc0,0x84,0xfc,0xa2,0x4f,0x8d,0x08,0x2a,0xfd,0xb1,0xa9,0x64,0xc6,0xf0, 0x84,0xb3,0x51,0x71,0x4a,0x61,0xc5,0x05,0x0d,0x6e,0xb8,0x94,0xea,0x2b,0xea,0x04, 0x9d,0xc8,0x1e,0x7d,0xfd,0x31,0x76,0x79,0x44,0x29,0x10,0x65,0xb8,0xb4,0x19,0x6a, 0x08,0x75,0x01,0xb5,0x21,0xb4,0xf5,0x05,0x25,0x0a,0x39,0x6e,0xa5,0x6d,0x90,0x3b, 0xfe,0x83,0x1c,0xa4,0x16,0xde,0x70,0x77,0xb6,0x05,0x02,0x6d,0xbb,0xc4,0x68,0x09, 0x90,0xb8,0xce,0x3e,0xcc,0x57,0x65,0xa1,0x51,0x9d,0x0e,0x00,0xad,0x0a,0x4a,0x37, 0x1d,0x8e,0xa2,0x9c,0x4d,0x5e,0xae,0x17,0xd6,0xe5,0x03,0xd4,0xea,0x7d,0x1e,0xfe, 0x9b,0x74,0x6a,0xbf,0x19,0x6b,0x3c,0x7a,0x19,0xff,0x00,0x00,0xa9,0x73,0xe3,0xd9, 0xcc,0xcc,0xad,0x38,0xb5,0xc8,0x7d,0x23,0x2d,0x5e,0x98,0x48,0x82,0x2f,0x35,0xb5, 0x87,0x28,0x5c,0xbc,0x5f,0x12,0x98,0xd5,0xad,0x50,0x84,0x7d,0xbd,0x1d,0x71,0x2d, 0x9f,0xd1,0x67,0x07,0x5a,0xcc,0x90,0x16,0x3f,0xab,0x14,0x6c,0xf9,0x28,0x71,0xd8, 0xad,0xa1,0x6d,0x24,0xa9,0xdd,0x4a,0xd5,0xd3,0xa3,0x21,0xe5,0x44,0x64,0x06,0xfd, 0xb3,0xf1,0xed,0x8a,0xdf,0x92,0x45,0xe0,0xae,0x62,0xa4,0x88,0x8f,0x44,0x98,0xe4, 0x58,0x8b,0x6c,0x4d,0xf9,0xa9,0x69,0xd5,0x15,0x32,0x42,0x49,0x51,0x41,0x41,0x24, 0x94,0x9d,0xb7,0x27,0xb6,0x7e,0xb8,0x09,0x47,0x74,0x76,0xe7,0xf0,0x24,0xf0,0xf3, 0xfd,0x09,0xae,0x5d,0x23,0xb1,0xc6,0x5e,0x34,0xd5,0x26,0xd3,0x28,0x94,0x5a,0x3c, 0x66,0x99,0x6a,0x32,0xa3,0xd1,0xdb,0xd2,0xc2,0xba,0xf3,0x2b,0x03,0x21,0xdf,0x47, 0x7c,0x87,0xee,0x63,0xa3,0x4f,0x2d,0x3d,0x2a,0xb9,0x4d,0xcb,0x9f,0x2c,0x7c,0xac, 0x56,0xd9,0xb9,0x2c,0x0c,0xe6,0x9b,0x05,0xba,0x64,0x06,0x22,0xc7,0x01,0x2d,0xb4, 0x80,0x90,0x07,0xb6,0x34,0x69,0x53,0x7e,0x59,0x90,0x38,0x87,0x66,0xd6,0x2d,0xba, 0xe8,0x57,0xd0,0xd4,0xa3,0xaa,0x3b,0x8a,0x47,0xdc,0x8c,0xfb,0x28,0x7b,0x83,0x91, 0x1e,0xe3,0x1a,0x9e,0x1e,0x4c,0x6b,0x2b,0x00,0x7e,0x8f,0x86,0x74,0x10,0x95,0x7d, 0x45,0xe6,0xf4,0x97,0x7c,0x2c,0xc2,0x08,0x07,0xfb,0x75,0x9f,0xfb,0x86,0xf7,0x98, 0x9e,0xc2,0x33,0x2e,0x20,0xfc,0x3f,0x6f,0x9b,0x11,0x46,0xb1,0x62,0x3d,0x0a,0xe6, 0x31,0x73,0x71,0x0d,0x34,0xd0,0x0e,0xed,0xe3,0xe5,0xab,0x30,0xaf,0xe4,0x09,0x3e, 0xd8,0x38,0xdf,0xec,0x46,0xa3,0x46,0xad,0x83,0x83,0xf0,0xc2,0x23,0x92,0x5e,0x5d, 0x2b,0x5c,0x29,0xa0,0xcf,0xb8,0xb8,0x8c,0xcb,0x51,0x6e,0x4a,0xcb,0x81,0xd5,0x42, 0x40,0x4f,0xe5,0x91,0x97,0x4a,0x55,0xa7,0x60,0xad,0xc9,0x20,0x76,0xcf,0x2f,0x5c, 0x2e,0xdb,0x37,0x3e,0x06,0xe9,0x74,0xea,0x98,0x28,0xa0,0xa3,0xc2,0x8a,0x4f,0xff, 0xd9 }; /* created by reswrap from file cy_ecom_n.jpg */ const unsigned char fxcj_icon_cy_ecom_n[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x00,0x60, 0x00,0x60,0x00,0x00,0xff,0xe1,0x00,0x16,0x45,0x78,0x69,0x66,0x00,0x00,0x4d,0x4d, 0x00,0x2a,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe2,0x1c,0x6d, 0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46,0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00, 0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10,0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47, 0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce,0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31, 0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53,0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45, 0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01,0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50, 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65, 0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00,0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00, 0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b,0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00, 0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00,0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58, 0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00,0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00, 0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d,0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00, 0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00,0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75, 0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00,0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00, 0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75,0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00, 0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00,0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65, 0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00,0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00, 0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54,0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00, 0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00,0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65, 0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20, 0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38,0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74, 0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47, 0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49, 0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16, 0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f, 0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03,0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7,0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6, 0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43, 0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e, 0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45, 0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63, 0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43, 0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75, 0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70, 0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20, 0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73, 0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56, 0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e, 0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65, 0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f, 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31, 0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76, 0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00, 0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00,0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00, 0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00, 0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d,0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00, 0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, 0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00, 0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00, 0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00, 0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00, 0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00, 0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00, 0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01, 0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01, 0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01, 0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01, 0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02, 0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02, 0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02, 0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02, 0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03, 0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03, 0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04, 0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04, 0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04, 0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05, 0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05, 0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06, 0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06, 0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07, 0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08, 0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08, 0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09, 0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a, 0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a, 0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b, 0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c, 0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d, 0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d, 0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e, 0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f, 0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10, 0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11, 0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12, 0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13, 0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14, 0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15, 0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16, 0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17, 0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18, 0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a, 0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b, 0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c, 0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d, 0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f, 0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20, 0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21, 0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23, 0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24, 0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26, 0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27, 0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29, 0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a, 0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c, 0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e, 0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f, 0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31, 0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33, 0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35, 0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36, 0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38, 0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a, 0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c, 0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e, 0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40, 0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42, 0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44, 0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46, 0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49, 0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b, 0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d, 0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f, 0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52, 0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54, 0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56, 0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59, 0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b, 0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e, 0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60, 0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63, 0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66, 0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68, 0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b, 0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e, 0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71, 0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74, 0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76, 0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79, 0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c, 0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f, 0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82, 0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86, 0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89, 0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c, 0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f, 0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92, 0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96, 0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99, 0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c, 0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0, 0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3, 0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7, 0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab, 0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae, 0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2, 0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6, 0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9, 0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd, 0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1, 0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5, 0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9, 0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd, 0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1, 0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5, 0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9, 0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd, 0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1, 0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6, 0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea, 0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee, 0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3, 0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7, 0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc, 0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0xff,0xdb,0x00,0x43,0x00, 0x03,0x02,0x02,0x03,0x02,0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08, 0x05,0x05,0x04,0x04,0x05,0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b, 0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13, 0x15,0x15,0x16,0x17,0x16,0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15, 0xff,0xdb,0x00,0x43,0x01,0x03,0x03,0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15, 0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0xff,0xc0,0x00,0x11,0x08,0x00,0x64,0x00,0x64,0x03,0x01, 0x11,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xc4,0x00,0x1d,0x00,0x00,0x01,0x04, 0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x06, 0x07,0x08,0x03,0x04,0x09,0x01,0x02,0xff,0xc4,0x00,0x40,0x10,0x00,0x01,0x03,0x03, 0x02,0x04,0x02,0x06,0x07,0x06,0x04,0x07,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04, 0x00,0x05,0x11,0x06,0x21,0x07,0x12,0x31,0x41,0x13,0x61,0x08,0x22,0x51,0x71,0x81, 0x91,0x09,0x14,0x15,0x23,0x32,0xa1,0xb1,0x16,0x17,0x24,0x25,0x42,0xc1,0x26,0x34, 0x82,0xb2,0x33,0x52,0x53,0x62,0x92,0xd1,0xf0,0xff,0xc4,0x00,0x1a,0x01,0x01,0x00, 0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, 0x02,0x04,0x03,0x05,0x06,0xff,0xc4,0x00,0x28,0x11,0x00,0x02,0x02,0x01,0x04,0x01, 0x03,0x05,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x11,0x03,0x04, 0x12,0x21,0x31,0x05,0x13,0x41,0x51,0x06,0x22,0x32,0x61,0x71,0x14,0x81,0xe1,0xff, 0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x3f,0x00,0xea,0x6d,0x00, 0x50,0x05,0x00,0xc5,0xe2,0xb7,0x18,0x2c,0xbc,0x25,0xb6,0x35,0x26,0xfa,0xe2,0x54, 0xfb,0xdc,0xc5,0xb6,0x39,0xc2,0x7d,0x54,0xfe,0x25,0x13,0xd8,0x0a,0xb4,0x63,0x65, 0x25,0x2d,0xa5,0x7b,0x85,0xf4,0x97,0xf0,0xfe,0x4a,0xe6,0xb8,0xbb,0x0e,0xa7,0x72, 0xdd,0x11,0x7c,0x8b,0x9d,0x11,0xa4,0xba,0x85,0x91,0xba,0xb9,0x41,0x20,0x90,0x06, 0xe7,0xc8,0xe6,0xac,0xb1,0xb7,0xd1,0x0f,0x22,0x5d,0x8f,0x2d,0x35,0xf4,0x82,0xf0, 0x37,0x52,0x25,0x1f,0xe2,0xf3,0x6b,0x5a,0xbf,0xa2,0xe5,0x0d,0xd6,0xb0,0x7c,0xcf, 0x29,0x4f,0xe7,0x51,0xe9,0xc8,0xb6,0xe4,0x4a,0x9a,0x6f,0x8e,0x7c,0x3b,0xd5,0xe1, 0x1f,0xb3,0x3a,0xe3,0x4a,0xdc,0x54,0xbf,0xc2,0x86,0x6e,0x2d,0x15,0x1f,0xf4,0xf3, 0x66,0xab,0xb5,0x93,0xb9,0x0f,0x56,0x9f,0x6d,0xf6,0xc3,0x8c,0x38,0x87,0x1b,0x3d, 0x14,0x82,0x08,0x3f,0x1a,0x82,0x4f,0x5a,0x75,0x0f,0x36,0x97,0x19,0x5a,0x5c,0x6d, 0x43,0x29,0x52,0x4e,0x41,0x1e,0x46,0x80,0xfa,0xa0,0x0a,0x00,0xa0,0x0a,0x00,0xa0, 0x0a,0x00,0x24,0x24,0x12,0xa2,0x00,0x1d,0x49,0xa0,0x39,0x59,0xe9,0x7d,0xc4,0x16, 0xb8,0xdf,0xab,0xee,0xac,0x59,0xef,0xec,0xc3,0x84,0xd3,0x8a,0x8f,0xcc,0xea,0x1d, 0xe5,0x0c,0x20,0x90,0x12,0x0a,0x50,0x76,0x27,0x2a,0x3d,0xb2,0xaa,0xd2,0xb0,0xbd, 0xaa,0x8c,0xaf,0x2a,0xbe,0x48,0x8d,0xbd,0x21,0x32,0xdb,0x06,0xdf,0x0a,0xc2,0x98, 0xf2,0xd8,0x89,0xce,0x47,0x81,0x21,0xb5,0xa9,0x44,0x94,0xee,0x53,0xcd,0x9c,0x9e, 0x5c,0xf4,0xef,0x5a,0xe1,0x14,0xb8,0x33,0xca,0x56,0xed,0x88,0xec,0xe9,0x47,0x34, 0x9a,0x17,0xfc,0x9e,0x54,0x22,0xa2,0x49,0x72,0x43,0x2a,0x0a,0xc1,0xed,0x92,0x3a, 0x55,0x94,0x12,0x1b,0xdb,0x13,0xae,0x16,0x9b,0x6d,0xd9,0x3f,0xc5,0xc4,0x6d,0x2b, 0xff,0x00,0xaa,0xc7,0xdd,0xab,0xdf,0xb6,0xc7,0xe2,0x0d,0x1c,0x13,0x0a,0x6d,0x1b, 0xfa,0x5e,0xe3,0x72,0xd1,0xae,0xa9,0x76,0x2d,0x43,0xa8,0xa3,0xa4,0xa4,0xa7,0xc2, 0x6e,0x72,0xdb,0x41,0x07,0xb1,0x09,0xc6,0x7f,0x4a,0xaa,0xc6,0x91,0x6f,0x55,0xb2, 0x40,0xe1,0xf7,0x1c,0x35,0xaf,0x0a,0x66,0x97,0x34,0xad,0xfe,0xe3,0x01,0xb1,0xba, 0xa2,0xa9,0x45,0x4c,0xaf,0x3f,0xf3,0x36,0xa1,0x8c,0xf6,0xcf,0xca,0x8f,0x1c,0x65, 0xd9,0x0a,0x6e,0x3d,0x31,0xf5,0x73,0xfa,0x4c,0x78,0xa9,0xa0,0x2e,0x51,0xd9,0xbc, 0x45,0xd2,0xfa,0x8a,0x23,0xec,0x89,0x0d,0x29,0xc8,0xcb,0x65,0xd2,0x82,0xa5,0x27, 0x0a,0x28,0x50,0x1c,0xc0,0xa4,0xf4,0x1d,0x30,0x71,0xbe,0x2b,0x2c,0xf0,0x24,0xcd, 0x11,0xcc,0xda,0xe4,0x7c,0xe9,0x8f,0xa5,0xee,0x0b,0x89,0x6c,0x6a,0xee,0x1f,0xbe, 0x8c,0xec,0xa5,0xdb,0xae,0x09,0x56,0x3d,0xc9,0x5a,0x07,0xeb,0x5c,0xde,0x13,0xaa, 0xc9,0x65,0xcd,0xe0,0x4f,0x1d,0xec,0x7c,0x7f,0xd2,0x5f,0x6e,0xe9,0x68,0xb7,0x18, 0x48,0x49,0x01,0xc8,0xf3,0x90,0x94,0xa9,0x04,0xe7,0x1b,0xa4,0x90,0x7a,0x7b,0x6b, 0x93,0x54,0x5d,0x3b,0x24,0x9a,0x82,0x42,0x80,0x28,0x06,0x17,0x1d,0x35,0x83,0x7a, 0x23,0x85,0xb7,0xdb,0x8b,0x8a,0x09,0x5a,0x99,0xfa,0xb3,0x63,0x38,0x25,0x4e,0x1e, 0x53,0x8f,0x30,0x92,0xa3,0xf0,0xab,0x41,0x5b,0xa2,0x93,0x74,0x8e,0x36,0xdc,0xae, 0x92,0x5d,0xd4,0x16,0x98,0x71,0xa3,0xb5,0x3e,0x75,0xda,0xe0,0x88,0x2d,0xa4,0x2c, 0xa1,0x01,0x44,0x15,0x15,0x12,0x01,0xce,0x31,0x93,0xd6,0xb6,0xb9,0x55,0x19,0x23, 0x1b,0x25,0x79,0x3c,0x31,0xd5,0x76,0x7b,0x72,0x62,0x4d,0xd3,0x6c,0x4f,0x40,0x90, 0x1f,0x75,0xf8,0xaf,0xa4,0xad,0xc4,0x81,0x8e,0x4e,0x62,0x52,0x40,0xeb,0xd0,0x77, 0xa9,0x71,0xe6,0xc8,0x53,0x4b,0x81,0xab,0x77,0x76,0xf9,0x67,0xb8,0xc9,0x7a,0x35, 0xba,0xf5,0x63,0x69,0x4b,0x2a,0x4b,0x4d,0x36,0xef,0x2b,0x63,0xd9,0xcc,0x06,0x0e, 0x3d,0xb9,0xa9,0x8b,0x69,0x72,0x43,0x49,0xbe,0x04,0xf4,0xeb,0x57,0xdd,0x57,0x87, 0x2e,0x44,0x39,0xae,0x9e,0xd2,0xda,0x69,0xe5,0x1f,0xfc,0x81,0x35,0x7d,0xe4,0x38, 0x82,0xee,0x90,0x1f,0xff,0x00,0x37,0x65,0xb7,0x93,0xdd,0x6d,0x29,0xc6,0xcf,0xc8, 0x2b,0x97,0xf2,0xab,0x6e,0x2a,0x91,0x89,0xc1,0x62,0x92,0x94,0x85,0xb5,0x76,0x8b, 0x8e,0x85,0x2f,0xa1,0xe4,0x8f,0x72,0x4a,0x53,0xfa,0xd3,0x72,0x1b,0x49,0x73,0x83, 0x36,0x3e,0x0a,0xea,0xb0,0xce,0x9c,0xe2,0xa6,0x9e,0x9f,0x7f,0xb9,0xc9,0x93,0x88, 0x77,0x12,0x55,0x19,0x6c,0xa4,0xa4,0x0f,0x0c,0x04,0x39,0x83,0x92,0x09,0xdc,0xf7, 0xae,0x19,0xa2,0xdf,0x29,0x9d,0x71,0xc9,0x2e,0x1a,0x27,0xbb,0xd7,0xd1,0x59,0xc2, 0x5d,0x4d,0x1d,0xb9,0xba,0x62,0xe3,0xa9,0x2d,0x2d,0xbe,0x80,0xe3,0x65,0x89,0x41, 0xc4,0xe0,0x8c,0x8d,0x96,0x92,0x7f,0x3a,0xc6,0xf2,0x4b,0xdc,0xd4,0xa1,0x1e,0xd1, 0x64,0x7d,0x1f,0x38,0x1b,0x0b,0x80,0x5a,0x25,0x5a,0x7a,0xd7,0x3d,0xeb,0x92,0x54, 0xf1,0x74,0xc8,0x79,0x01,0x0a,0x23,0x00,0x01,0x81,0xec,0x03,0xf3,0xaa,0xb7,0x65, 0xd2,0xa2,0x4f,0xa8,0x24,0x28,0x02,0x80,0xa7,0xff,0x00,0x48,0xae,0xb9,0x7e,0xcb, 0xa7,0xf4,0x46,0x9a,0x88,0x15,0xfc,0xe6,0x5c,0xb7,0xdc,0x57,0x40,0x03,0x2c,0x14, 0x80,0x4f,0x99,0x7c,0x7e,0x55,0xd3,0x0f,0xe4,0x72,0xcd,0xf8,0x94,0x1f,0x87,0xf6, 0xd7,0x27,0x71,0xbb,0x43,0x49,0x79,0x1c,0xb6,0xd8,0x9f,0x5c,0x98,0xb9,0x0b,0x01, 0x2d,0x25,0xcc,0x72,0x20,0x73,0x1d,0xb3,0xb9,0xc5,0x6a,0x6b,0xee,0x46,0x74,0xfe, 0xd6,0x5c,0xa9,0xb7,0x05,0xb8,0xdf,0x33,0x7e,0xb3,0x64,0x6c,0xa1,0xd3,0xe7,0x5d, 0x2c,0xcc,0xd3,0x1b,0xb3,0x65,0x07,0x36,0x57,0xad,0xef,0xde,0xa4,0x8a,0x1a,0xf7, 0xab,0x6d,0xb6,0xe2,0x95,0x22,0xe1,0x0a,0x24,0x84,0x9e,0xa1,0xd6,0x81,0xa1,0x68, 0xb6,0x86,0x2d,0xcf,0x87,0x5a,0x69,0xd2,0x4b,0x56,0xe6,0xe2,0xa8,0xf7,0x8a,0xb5, 0x33,0xfe,0xd2,0x2a,0x14,0x51,0x75,0x26,0x34,0xaf,0x1c,0x3a,0x89,0x09,0x97,0x1f, 0x85,0x71,0xb8,0xb2,0x94,0x0e,0x6f,0x0d,0x6a,0x4b,0x89,0x38,0xed,0x95,0x02,0x7f, 0x3a,0x34,0x5d,0x3b,0x33,0xf0,0x62,0xda,0x6e,0xfc,0x52,0xb0,0xb0,0x80,0x4a,0x11, 0x23,0xc7,0xf7,0x04,0x02,0xaf,0xed,0x51,0x3e,0x88,0x3b,0x15,0x61,0x85,0xf6,0x6d, 0x8e,0xdf,0x13,0x18,0x2c,0x47,0x6d,0xb3,0xef,0x09,0x02,0xbc,0xf6,0xed,0x9b,0xe2, 0xa9,0x1b,0xd5,0x04,0x85,0x00,0x50,0x05,0x01,0x54,0xbe,0x91,0x08,0xd6,0xff,0x00, 0xdd,0x8d,0x86,0x5c,0xa8,0xed,0x3b,0x70,0x6a,0xe2,0x5b,0x61,0xc5,0x01,0x96,0xdb, 0x53,0x6a,0x53,0x9b,0xf5,0x03,0x28,0x6f,0x3f,0x0a,0xeb,0x85,0x7d,0xc7,0x1c,0xdd, 0x1c,0xf8,0x6c,0x78,0x48,0x52,0x5b,0x52,0x94,0x39,0x53,0x95,0x63,0x1b,0x9c,0x9f, 0xec,0x2b,0x65,0x19,0x18,0xb9,0x1a,0x7c,0x68,0x6b,0x52,0xed,0x97,0x49,0xf0,0x96, 0x73,0xca,0x37,0xd8,0xe0,0x63,0x38,0xf3,0xcf,0xc3,0x1b,0x55,0xa9,0x15,0xe4,0x58, 0xfd,0xab,0xbf,0x30,0x8f,0xe0,0xb5,0x0a,0x2e,0x04,0x28,0x27,0x0e,0xe1,0x67,0xf0, 0xf3,0x77,0xcf,0x4e,0x9e,0xfa,0x50,0x3e,0x7f,0x78,0xf7,0x71,0x11,0x72,0x24,0xb1, 0x02,0x4b,0x28,0x29,0x4a,0xd4,0x32,0x85,0x0c,0xe4,0x0f,0x57,0x20,0x9e,0x87,0xa0, 0x35,0xcd,0xe4,0x8a,0x92,0x83,0xed,0x97,0x58,0xdd,0x6e,0x35,0xcf,0x12,0xa3,0xbf, 0xfe,0x62,0x1b,0x88,0xff,0x00,0xb9,0x0b,0x04,0x7c,0xb1,0x57,0x14,0x8d,0x2b,0xd6, 0xaa,0x87,0x70,0xb6,0x3e,0x88,0x8e,0x38,0x1c,0x23,0xf0,0xad,0x38,0x34,0xe4,0x9a, 0x43,0xd7,0xd1,0x06,0xce,0x9b,0x97,0x15,0x91,0x22,0x48,0x1e,0x0c,0x66,0x72,0xa2, 0x47,0x4e,0x65,0xa4,0x7e,0x9c,0xd5,0x4c,0xaf,0x82,0x62,0xad,0xd1,0xd4,0x78,0xba, 0xba,0x0c,0x9c,0x61,0x60,0x67,0xce,0xb0,0x1b,0x85,0x76,0x24,0x37,0x25,0x1c,0xcc, 0xa8,0x28,0x50,0x19,0x28,0x02,0x80,0x28,0x0a,0x3f,0xf4,0x92,0x5f,0x89,0x77,0x46, 0x59,0x9b,0x50,0x1c,0xad,0xc8,0x96,0xbc,0xf6,0x2a,0x52,0x10,0x8f,0xf6,0xae,0xb4, 0x60,0x5d,0xb3,0x3e,0x77,0xd2,0x29,0x46,0x14,0xf4,0x85,0x8c,0xed,0xce,0xa2,0x55, 0xd8,0x84,0xa4,0x6e,0x3f,0x3a,0xd3,0x74,0xac,0xcf,0x56,0xe8,0xd4,0xbf,0xaa,0x45, 0x9a,0x5c,0x56,0x5e,0x2c,0xa8,0xc8,0x6d,0x0e,0xa5,0x28,0x39,0x20,0x29,0x21,0x43, 0x38,0x3e,0xc2,0x36,0xed,0x55,0x84,0xf7,0x16,0x94,0x28,0xf6,0x67,0x8b,0x0e,0x27, 0xd6,0x1e,0x8e,0xf2,0x98,0x0a,0xe4,0x53,0x81,0x3e,0xa8,0x56,0x33,0x8c,0xfb,0x71, 0xbe,0x2a,0xca,0x69,0xba,0x23,0x6b,0xa3,0x59,0x2f,0x97,0xd9,0x2e,0x7a,0xe5,0x39, 0xeb,0x8c,0xd4,0x90,0x63,0x4b,0xe1,0xe4,0x82,0x85,0xa5,0x43,0x1b,0x62,0xa4,0x1e, 0x29,0x5c,0xa3,0x7a,0x02,0x7b,0xf4,0x6d,0x96,0x34,0xe6,0x9e,0xd4,0x57,0xd5,0xfa, 0xaa,0x5b,0xec,0xc6,0x6c,0xf9,0x8c,0x93,0xfa,0xd6,0x7c,0xef,0x8a,0x3a,0x62,0xfc, 0x8b,0x35,0xa1,0xf5,0xcb,0xf7,0x75,0xb6,0x12,0xb5,0x12,0x7c,0xeb,0x21,0xb0,0xb2, 0xba,0x1c,0x3a,0xab,0x70,0x5b,0xc4,0x9c,0x8e,0xf4,0x03,0x96,0x80,0x28,0x02,0x80, 0xe7,0x1f,0xa7,0xcd,0xf0,0x5d,0x38,0xe2,0xcc,0x34,0x29,0x1f,0xcb,0x60,0xc7,0x8e, 0xaf,0x13,0xf0,0xe4,0x85,0x3a,0x7e,0x3f,0x78,0x3e,0x15,0xab,0x02,0xe2,0xcc,0x99, 0x9f,0xdc,0x56,0x58,0x48,0x7a,0x43,0x8d,0xa6,0x2a,0x1d,0x5b,0xc4,0x65,0x2d,0xa5, 0x3e,0xb1,0x2a,0x51,0xc0,0x03,0xe2,0x36,0xae,0xb2,0x69,0x2e,0x4e,0x71,0x56,0xc4, 0x99,0x96,0xf7,0x60,0x6a,0x39,0x50,0xaf,0x0c,0x2d,0x13,0xd8,0x5a,0x9a,0x52,0x14, 0x73,0xe1,0xe1,0x44,0x29,0x38,0xec,0x72,0x37,0xf7,0x54,0x63,0xaa,0xb4,0x5a,0x77, 0xee,0x79,0x7b,0xba,0x4a,0x93,0x1d,0x16,0xb7,0x24,0x06,0x60,0x2d,0xf2,0xfa,0x92, 0x96,0xf7,0x5a,0xf1,0x83,0xeb,0x79,0x81,0xd3,0xdf,0x8c,0x55,0x54,0x13,0x76,0x1c, 0x9d,0x19,0x9a,0xbb,0xb7,0x68,0x69,0x58,0x82,0xd4,0xee,0x78,0xee,0x30,0x84,0x38, 0x01,0x09,0x2a,0x18,0xe7,0x19,0xfe,0xa1,0xd8,0xf9,0x0a,0x99,0xc5,0xb7,0xc1,0x30, 0x95,0x23,0x36,0x8d,0xd0,0xf7,0x7d,0x54,0xb9,0x2b,0x82,0xdb,0x78,0x41,0xe7,0x75, 0xc2,0xa3,0xc8,0x82,0xa3,0x9c,0x6c,0x33,0xf2,0x15,0x9f,0x57,0xaf,0xc5,0xa5,0x4b, 0xd4,0xed,0x9e,0xd7,0x86,0xfa,0x7b,0x55,0xe5,0xe4,0xff,0x00,0xc7,0x4a,0x97,0x6d, 0xba,0x5f,0xc3,0xcd,0x51,0xa7,0xe7,0x69,0x69,0x0d,0xb3,0x76,0x68,0x20,0x3a,0x09, 0x69,0xd4,0x2b,0x99,0x0e,0x63,0xae,0x0f,0xb4,0x6d,0x90,0x70,0x77,0x1e,0xd1,0x57, 0xd2,0x6b,0x71,0x6a,0xa3,0xbb,0x1b,0x39,0x79,0x9f,0x03,0xab,0xf1,0x39,0x16,0x3d, 0x54,0x6a,0xfa,0x7d,0xa7,0xfc,0x26,0x9d,0x03,0x1c,0xc5,0xe1,0x05,0x9d,0xa4,0x8c, 0x2e,0xe1,0x70,0x76,0x49,0xc7,0x70,0x91,0xc9,0x53,0x99,0xf2,0x79,0x98,0x57,0x25, 0x92,0xe0,0x7e,0x96,0x5b,0xce,0x30,0x54,0x92,0x7a,0x1a,0xcc,0x6a,0x45,0xbd,0xb5, 0xc3,0x10,0x60,0xb4,0xd2,0x46,0x30,0x37,0xa0,0x36,0xa8,0x02,0x80,0x28,0x0e,0x4c, 0x7a,0x4f,0x6a,0x1f,0xb7,0xb8,0xe7,0xad,0x67,0x82,0x16,0xdb,0x53,0x1f,0x64,0x29, 0x7b,0xe0,0x37,0xf7,0x43,0x94,0x7f,0xa0,0x7c,0xab,0x66,0x35,0x51,0x31,0x64,0x77, 0x22,0x2f,0x43,0x32,0x5d,0x52,0xd9,0x82,0xd3,0xd2,0x1f,0x56,0x19,0x42,0x1b,0x4f, 0x32,0x96,0x47,0x97,0xc3,0x35,0x69,0xb5,0x5c,0x91,0x1b,0xf6,0x10,0xed,0xf2,0x4c, 0x8b,0xa4,0x89,0x53,0x1c,0x79,0xeb,0x82,0x97,0x97,0x4b,0xc7,0x7c,0x8d,0xff,0x00, 0xb9,0x39,0xef,0x9a,0x45,0x24,0xb8,0x0d,0xf2,0x7d,0x5e,0x6f,0x52,0x75,0x03,0xd6, 0xe8,0xaf,0xfd,0x59,0x88,0xf6,0xd6,0x7c,0x14,0x04,0x7e,0x25,0x8e,0x65,0xa8,0x64, 0x7b,0xd6,0x4e,0x7d,0xd5,0x58,0x46,0x9d,0x96,0x94,0xbd,0x8f,0xbb,0xad,0xde,0xde, 0xde,0x9d,0x97,0x04,0x40,0x7d,0xfb,0xab,0xae,0x37,0xf5,0x77,0xc2,0xd5,0xca,0x84, 0x04,0xa8,0x29,0x3c,0xbd,0x37,0x51,0x49,0xe6,0x3d,0x39,0x76,0xf3,0x35,0x2d,0xc4, 0xa6,0xa8,0x90,0x38,0x29,0x63,0xe2,0x2a,0x60,0x49,0x99,0xc3,0xfb,0x25,0xc6,0xe5, 0x15,0x2a,0xe5,0x71,0xe6,0x5c,0xf0,0x47,0x38,0x1d,0x12,0xb2,0x40,0x27,0x04,0x64, 0x0c,0xf6,0xdb,0xa5,0x78,0x9e,0x6b,0x36,0x92,0x32,0x8f,0xab,0x97,0x64,0xbd,0xbf, 0xe9,0xf5,0x5f,0x4c,0x79,0x9c,0xfe,0x3f,0x7c,0x56,0x25,0x97,0x1c,0xbb,0x4f,0xe5, 0x74,0xd3,0xf9,0x1b,0x9c,0x4d,0xd5,0x1a,0x87,0x50,0x5d,0xc4,0x1d,0x6d,0x19,0xd8, 0x13,0x2d,0xea,0x52,0x0c,0x37,0xdb,0x28,0x71,0xb5,0x10,0x3f,0x16,0x40,0x39,0xc0, 0x1d,0xba,0x56,0xdf,0x19,0xa6,0xc7,0x8e,0x3e,0xac,0x25,0xbb,0x72,0xef,0xd8,0xe5, 0xf5,0x2f,0xd4,0x32,0xf2,0x4e,0x38,0xa3,0x89,0x63,0x8c,0x2e,0x95,0xb7,0xcb,0xee, 0xdb,0x2c,0x2e,0x8c,0xd3,0xca,0x16,0x4d,0x1f,0x6d,0x29,0x3f,0x73,0x01,0x0e,0xa8, 0x7b,0x14,0xe1,0xc9,0xae,0xf9,0x5d,0xb3,0xe7,0xb0,0xae,0x0b,0xa1,0xc1,0x9d,0x2a, 0x98,0x50,0xdb,0x79,0x68,0xc6,0x07,0xb2,0xb9,0x1d,0xc9,0x72,0x80,0x28,0x02,0x80, 0xc5,0x32,0x5b,0x70,0x21,0xbf,0x26,0x41,0x09,0x69,0x96,0xd4,0xe2,0xc9,0xec,0x90, 0x32,0x68,0x0e,0x2e,0x6a,0x3b,0xa2,0xaf,0x77,0xc9,0xf3,0xe4,0x9c,0xae,0x5c,0xa0, 0xa5,0x3c,0xb3,0xbe,0x56,0xa2,0xa2,0x31,0xf1,0x22,0xb7,0xc5,0x52,0xa3,0x04,0x9f, 0x22,0x53,0xd7,0x57,0xa1,0x0f,0x1a,0x2a,0xd4,0x97,0xf2,0xa5,0x21,0x48,0x49,0x24, 0x12,0x30,0x71,0xff,0x00,0xd9,0xf6,0x55,0x66,0x93,0x26,0x0c,0x40,0xb5,0x16,0xd0, 0x99,0x0f,0x17,0x3c,0x67,0x5c,0x05,0x4a,0x58,0x18,0x1f,0x0f,0x2c,0x00,0x2a,0x5c, 0x5e,0xda,0x17,0xcd,0x99,0x2f,0x77,0x64,0xea,0x2d,0x4c,0xe5,0xc1,0x9b,0x74,0x7b, 0x54,0x33,0x80,0x88,0xec,0x6c,0x91,0xb0,0xce,0x07,0xb3,0x6c,0xfb,0xc9,0xa4,0x15, 0x13,0x37,0x66,0x2d,0x47,0x2a,0xd4,0x9b,0x6d,0xbf,0xec,0xa7,0x9f,0x72,0xf4,0xb7, 0x56,0x24,0xb6,0x00,0xe4,0x42,0x42,0x87,0x26,0x08,0xdc,0xfa,0xbc,0xd9,0xcf,0x96, 0x2a,0xb1,0x6d,0xcb,0x92,0xcd,0x2a,0x2c,0x17,0x02,0xfd,0x2b,0xa2,0xf0,0xc3,0x45, 0x31,0xa7,0xb5,0x45,0xa2,0x64,0xa8,0xd1,0x56,0xb7,0x23,0xc8,0x84,0x10,0xa5,0x61, 0x6a,0x2a,0x29,0x5a,0x54,0x47,0x75,0x1d,0xf3,0xd0,0xe3,0x1b,0x6f,0xf3,0x1e,0x63, 0xc0,0x65,0xd4,0xe7,0x79,0xf0,0x49,0x5b,0xed,0x4b,0xf5,0xc7,0xec,0xf4,0x34,0x7a, 0xf8,0xe3,0xc7,0xb2,0x69,0xff,0x00,0xa2,0x3d,0xe2,0xd7,0x11,0xff,0x00,0x7e,0x3c, 0x4f,0x62,0xef,0x1a,0xde,0x2d,0xad,0xba,0x96,0x61,0x32,0xce,0x41,0x5a,0x92,0x14, 0x70,0xa5,0x91,0xb6,0x7d,0x6c,0x79,0x00,0x06,0xf8,0xaf,0x5b,0xc3,0xf8,0xf9,0x68, 0x70,0x7a,0x52,0x76,0xdb,0x6f,0x8e,0xb9,0xf8,0x32,0x6b,0x35,0x0b,0x3c,0xf7,0x24, 0x5c,0xbe,0x1d,0xe9,0x8f,0xaf,0xea,0x00,0x50,0x8f,0xbb,0x6c,0x21,0xb4,0x0f,0x60, 0x00,0x0a,0xd1,0x3f,0xc8,0xb6,0x25,0x51,0x2d,0xf6,0x9b,0xb6,0x26,0xd7,0x6b,0x69, 0xb4,0x80,0x09,0x03,0x35,0x43,0xa0,0xa9,0x40,0x14,0x01,0x40,0x35,0xf8,0xa8,0x1d, 0x3c,0x31,0xd5,0xe2,0x2e,0x7c,0x6f,0xb1,0xe5,0xf2,0x63,0xae,0x7c,0x15,0x62,0x84, 0x4b,0xa3,0x8d,0x12,0x1c,0x26,0x4a,0x96,0x32,0x49,0x52,0xd4,0x5d,0x57,0x55,0x80, 0x9c,0x6c,0x3b,0x6f,0x8f,0x95,0x7a,0x06,0x03,0x54,0x6a,0x29,0x50,0x2d,0xf3,0x63, 0x45,0x8d,0x19,0xdf,0xad,0x32,0x19,0x5a,0x9e,0x1b,0x80,0x15,0xcc,0x30,0x7a,0x8d, 0xc0,0x3f,0x01,0xec,0xae,0x73,0x85,0xbb,0x2f,0x19,0x52,0x34,0x34,0xd4,0x88,0x36, 0x99,0x71,0x95,0x7e,0x69,0xd9,0x91,0x12,0xf2,0x17,0x21,0xb6,0xc9,0x4a,0x9c,0x40, 0xfc,0x40,0x63,0xa6,0x7d,0xe3,0xde,0x2a,0x66,0x9d,0x08,0xb5,0x62,0x64,0x52,0x97, 0xe7,0xbc,0xf2,0x5a,0x53,0x31,0xca,0x94,0x5b,0x42,0xbb,0xed,0xb5,0x13,0x6a,0x21, 0xd3,0x66,0x7d,0x54,0xd4,0x2b,0x45,0xce,0x33,0x56,0xa9,0xad,0xcd,0x0f,0x47,0x6d, 0xe7,0x0b,0x7f,0xd2,0x54,0x90,0x4a,0x4f,0x5d,0xc1,0x38,0xc0,0x3e,0x47,0x04,0x10, 0x26,0x12,0x6d,0xf2,0x4c,0xd2,0x36,0xe2,0xeb,0x18,0x16,0xeb,0x1d,0xda,0x14,0x8b, 0x28,0x99,0x3e,0x5f,0x86,0x63,0x4e,0x0a,0x21,0x51,0xb9,0x54,0x09,0xe5,0x1e,0x63, 0x23,0xa8,0xeb,0xbe,0x6a,0x8e,0x0e,0xc9,0x52,0x42,0xdf,0x06,0x60,0x2e,0xf3,0xc4, 0x8b,0x22,0x5d,0x6c,0x20,0xfd,0x67,0xc7,0x53,0x69,0xe8,0x9e,0x5c,0xab,0x1f,0x95, 0x74,0x7c,0x2e,0x4e,0x6c,0xea,0x67,0x05,0xf4,0xa7,0x29,0x12,0x1c,0x47,0x53,0xcd, 0x9c,0x56,0x16,0x6e,0x8a,0xa5,0x44,0xe4,0x00,0x00,0x01,0xd0,0x54,0x12,0x14,0x01, 0x40,0x14,0x06,0x29,0x71,0x5a,0x9d,0x15,0xe8,0xd2,0x92,0x16,0xcb,0xc8,0x53,0x6b, 0x49,0xee,0x92,0x30,0x47,0xca,0x80,0xe3,0x7f,0x19,0x34,0x0c,0x9e,0x13,0xf1,0x12, 0xf9,0xa6,0xee,0xcd,0x2d,0x2e,0x45,0x71,0x49,0x61,0xc5,0x8f,0xf8,0xad,0x29,0x59, 0x42,0xd3,0xe4,0x53,0x8f,0x8f,0xba,0xb6,0x42,0x76,0x8c,0x52,0x85,0x3a,0x18,0xc9, 0x80,0xec,0x91,0x96,0xc6,0xde,0x62,0xaf,0x65,0x68,0xca,0xde,0x9a,0x79,0x69,0x2a, 0x2b,0xe5,0xf2,0xa8,0xdc,0x4d,0x1a,0x72,0x6c,0xee,0xb3,0x90,0xa1,0xce,0x9a,0x94, 0xc5,0x09,0xad,0xdb,0xa3,0xc4,0x98,0xdb,0xcf,0xb0,0x16,0xc8,0x58,0x53,0x89,0x4e, 0xc5,0x40,0x1d,0xc7,0xca,0xa5,0x7e,0x8e,0x79,0x54,0x9c,0x5a,0x8b,0xe6,0xb8,0x24, 0xbb,0x86,0xab,0xd1,0x0f,0xe9,0xa6,0xd8,0x79,0x9c,0xc8,0xd9,0x2a,0x42,0x54,0x9e, 0x5e,0x5c,0x1c,0xf2,0xa3,0x1c,0xc9,0x5e,0x71,0x82,0x30,0x00,0xd8,0x83,0xb9,0x23, 0xe3,0x71,0xe9,0x75,0x50,0x9a,0xd9,0x19,0x29,0xdf,0x77,0xc3,0xf9,0xb1,0x5f,0xd1, 0x07,0x4b,0x48,0xd4,0xdc,0x4b,0x43,0xa8,0x6d,0x4b,0x44,0x66,0xb0,0xa5,0x01,0xb0, 0x2a,0x3f,0xfa,0x0a,0xaa,0x65,0x95,0x23,0xed,0xa0,0xad,0xd1,0xd6,0x5d,0x17,0x65, 0x4d,0xa2,0xd0,0xda,0x79,0x70,0xa2,0x05,0x62,0x37,0x0e,0x0a,0x00,0xa0,0x0a,0x00, 0xa0,0x0a,0x01,0x87,0xc4,0x6e,0x06,0xe8,0x8e,0x2b,0xcc,0x87,0x37,0x5d,0x69,0xf8, 0x57,0x49,0xd0,0xd2,0x50,0xc4,0x87,0x0a,0x92,0xa4,0xa4,0x9c,0xe0,0xf2,0x91,0xcc, 0x33,0xbe,0x0e,0x40,0xde,0xa5,0x36,0xba,0x21,0xc5,0x3e,0xc6,0xec,0x6f,0x45,0xfd, 0x0b,0x0c,0x72,0xc5,0xd3,0xd6,0x46,0xd2,0x3a,0x01,0x11,0x04,0xfc,0xf1,0x4b,0x63, 0x6a,0x3c,0x99,0xe8,0xbf,0xa1,0x66,0xb6,0x52,0xee,0x9e,0xb2,0x12,0x7f,0xa8,0x44, 0x40,0x3f,0x30,0x29,0x6c,0x6d,0x44,0x79,0xab,0xbd,0x04,0xf4,0x75,0xe1,0xa5,0xaa, 0xce,0xd4,0x9b,0x53,0xc7,0x70,0xa8,0xae,0x92,0x33,0xe6,0x95,0x64,0x7c,0xb1,0x56, 0x53,0x68,0xa3,0xc7,0x16,0x56,0xfe,0x25,0xfa,0x12,0xea,0xbd,0x28,0xd3,0xcf,0xd9, 0x5b,0x45,0xf2,0x2a,0x72,0x7f,0x87,0x4f,0x2b,0xb8,0xf3,0x47,0x7f,0x81,0x27,0xca, 0xba,0x47,0x37,0xc9,0xce,0x58,0x9f,0xb1,0x57,0xdc,0xd0,0x77,0xab,0xc6,0xab,0x63, 0x4f,0x69,0xdb,0x54,0xa9,0xb7,0x99,0x0e,0xf8,0x48,0x86,0xd3,0x64,0xaf,0x9b,0xbe, 0x47,0x60,0x3b,0x93,0xd2,0xbb,0x39,0xa4,0xad,0x9c,0xb6,0x36,0xe8,0xe9,0xff,0x00, 0xa2,0x77,0xa2,0xf2,0x38,0x31,0xa4,0x99,0x37,0xdf,0x0d,0xfb,0xe4,0x9f,0xbd,0x96, 0xe2,0x77,0x01,0x47,0x1e,0xa2,0x4f,0xb0,0x6c,0x33,0xe5,0x59,0x67,0x37,0x26,0x69, 0xc7,0x8f,0x69,0x64,0x92,0x90,0x84,0x80,0x91,0x80,0x36,0x02,0xa8,0x74,0x3d,0xa0, 0x0a,0x00,0xa0,0x0a,0x00,0xa0,0x0a,0x00,0xa0,0x0a,0x00,0xa0,0x3e,0x5c,0x69,0x0e, 0x8c,0x3a,0x94,0xa8,0x79,0x8a,0x01,0x32,0x2e,0x94,0xb2,0xc2,0xba,0xbd,0x73,0x89, 0x6a,0xb7,0xb3,0x72,0x79,0x21,0x0e,0xcc,0x43,0x09,0x0e,0xb8,0x91,0xd0,0x29,0x58, 0xc9,0x1e,0xfa,0x01,0x56,0x80,0x28,0x02,0x80,0x28,0x02,0x80,0xff,0xd9 }; /* created by reswrap from file cy_ecom_b.jpg */ const unsigned char fxcj_icon_cy_ecom_b[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x02,0x01,0x00,0x60, 0x00,0x60,0x00,0x00,0xff,0xe2,0x1c,0x6d,0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46, 0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00,0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10, 0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47,0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce, 0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31,0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53, 0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45,0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01, 0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00, 0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65,0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00, 0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00,0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b, 0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00, 0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58,0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00, 0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00,0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d, 0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00,0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00, 0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75,0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00, 0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75, 0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00,0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00, 0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65,0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00, 0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00,0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54, 0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00,0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00, 0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65,0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f, 0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20,0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38, 0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74,0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64, 0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39, 0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3, 0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16,0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f,0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03, 0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7, 0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24, 0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6,0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f, 0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f, 0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32, 0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63, 0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52, 0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45, 0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61, 0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73, 0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66, 0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43, 0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36, 0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69, 0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20, 0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00, 0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00,0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00, 0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00,0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00, 0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00,0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d, 0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00,0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00, 0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00, 0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00, 0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00, 0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00, 0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00, 0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00, 0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01, 0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01, 0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01, 0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01, 0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01, 0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02, 0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02, 0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02, 0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03, 0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03, 0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03, 0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04, 0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04, 0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05, 0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05, 0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06, 0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06, 0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07, 0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07, 0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08, 0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09, 0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09, 0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a, 0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b, 0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b, 0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c, 0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d, 0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e, 0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f, 0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10, 0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10, 0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11, 0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12, 0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13, 0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14, 0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16, 0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17, 0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18, 0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19, 0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a, 0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b, 0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d, 0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e, 0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f, 0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21, 0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22, 0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23, 0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25, 0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26, 0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28, 0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a, 0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b, 0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d, 0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e, 0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30, 0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32, 0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34, 0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35, 0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37, 0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39, 0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b, 0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d, 0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f, 0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41, 0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43, 0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45, 0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48, 0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a, 0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c, 0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e, 0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51, 0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53, 0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55, 0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58, 0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a, 0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d, 0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f, 0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62, 0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64, 0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67, 0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a, 0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d, 0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f, 0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72, 0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75, 0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78, 0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b, 0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e, 0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81, 0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84, 0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87, 0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a, 0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d, 0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91, 0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94, 0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97, 0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b, 0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e, 0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2, 0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5, 0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9, 0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac, 0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0, 0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4, 0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7, 0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb, 0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf, 0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3, 0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7, 0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb, 0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf, 0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3, 0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7, 0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb, 0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf, 0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3, 0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8, 0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec, 0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0, 0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5, 0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9, 0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe, 0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0xff,0xc0,0x00,0x11,0x08,0x00,0xc8,0x00,0xc8,0x03,0x01,0x11,0x00, 0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xdb,0x00,0x84,0x00,0x03,0x02,0x02,0x03,0x02, 0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08,0x05,0x05,0x04,0x04,0x05, 0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b,0x0c,0x0c,0x0e,0x0f,0x14, 0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13,0x15,0x15,0x16,0x17,0x16, 0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15,0x01,0x03,0x03,0x03,0x05, 0x04,0x05,0x0a,0x05,0x05,0x0a,0x15,0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xff,0xc4,0x01,0xa2, 0x00,0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x10,0x00,0x02, 0x01,0x03,0x03,0x02,0x04,0x03,0x05,0x05,0x04,0x04,0x00,0x00,0x01,0x7d,0x01,0x02, 0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71, 0x14,0x32,0x81,0x91,0xa1,0x08,0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33, 0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28,0x29,0x2a, 0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53, 0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73, 0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x92, 0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9, 0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2,0xe3,0xe4, 0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa, 0x01,0x00,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x11,0x00,0x02, 0x01,0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,0x02,0x77,0x00,0x01, 0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22, 0x32,0x81,0x08,0x14,0x42,0x91,0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62, 0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26,0x27,0x28, 0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a, 0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a, 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89, 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5, 0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe2,0xe3, 0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa, 0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x3f,0x00,0xfd,0x4d, 0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x19,0x82,0x2e,0xe7, 0x21,0x54,0x77,0x27,0x02,0x80,0x05,0x3b,0xc6,0x50,0x86,0x1e,0xa0,0xe6,0x80,0x14, 0x8c,0x75,0xa0,0x04,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00, 0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00, 0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x08,0xaf,0x2f,0x20,0xd3,0xad,0x27,0xba, 0xbe,0x95,0x21,0xb7,0x81,0x0c,0x92,0x48,0xe7,0x01,0x54,0x0c,0x92,0x68,0x03,0xe2, 0xef,0x8b,0x7f,0xb4,0xc1,0xd4,0xaf,0x6e,0xef,0x9a,0xe9,0xec,0xf4,0x5b,0x62,0x45, 0xbc,0x25,0xb6,0xe4,0x0f,0xe2,0x3e,0xe7,0x19,0xf6,0xad,0xe2,0xa3,0x15,0xa9,0xcd, 0x26,0xe4,0xcf,0x92,0x7c,0x43,0xfb,0x68,0x7c,0x43,0xf1,0x4f,0x88,0x97,0x4b,0xf8, 0x5f,0x75,0x7d,0x09,0x66,0x22,0x05,0xb5,0x05,0xa4,0x94,0x8e,0xe0,0x7f,0x8d,0x4d, 0xb9,0x9e,0x85,0xec,0xae,0xce,0xc2,0xff,0x00,0xf6,0xd8,0xf8,0xd5,0xe0,0x68,0x22, 0xbb,0xb3,0xd5,0xad,0x75,0x6b,0x38,0x2d,0xe3,0xfb,0x6c,0x57,0x6b,0xe6,0x49,0x1c, 0x9d,0x19,0x8e,0x7b,0x64,0x80,0x71,0x90,0x0f,0xa5,0x69,0xec,0x1a,0x57,0x64,0x2a, 0x97,0x76,0x4c,0xe8,0xfc,0x2b,0xff,0x00,0x05,0x63,0xf1,0x3c,0x01,0x17,0xc5,0x1e, 0x12,0xd2,0xef,0xc7,0xf1,0x3d,0xbc,0x86,0x36,0xfc,0xba,0x54,0xfb,0x23,0x4e,0x76, 0x7a,0xb7,0x87,0x3f,0xe0,0xab,0x5e,0x07,0xbc,0xda,0xbe,0x25,0xf0,0xce,0xb5,0xa7, 0x39,0xea,0xd1,0x32,0xc8,0x07,0xe1,0x52,0xe9,0x31,0xa9,0x9e,0xa7,0xe1,0xaf,0xf8, 0x28,0x4f,0xc1,0x5f,0x11,0x84,0x12,0x78,0x8e,0x5d,0x2e,0x46,0xfe,0x0b,0xfb,0x76, 0x8f,0x1f,0x8d,0x4b,0x83,0x43,0xe7,0x47,0xa9,0xf8,0x7b,0xe3,0xe7,0xc3,0x9f,0x15, 0x05,0xfe,0xc1,0xf1,0x9e,0x81,0x74,0x5b,0xa2,0x8b,0x95,0x53,0xf9,0x1c,0x52,0xe5, 0x63,0xe6,0x47,0x6b,0x67,0xa8,0xda,0x6a,0x29,0xbb,0x4f,0xbb,0xb6,0xba,0x53,0xce, 0x61,0x91,0x5f,0xf9,0x54,0xd8,0xab,0x96,0x48,0xda,0x09,0x6e,0x00,0xe4,0x93,0xda, 0x80,0x21,0xb3,0xbd,0xb7,0xd4,0x60,0x13,0x69,0xd7,0x10,0x5d,0x42,0x7a,0x49,0x03, 0x87,0x53,0xf8,0x8a,0x02,0xf7,0x25,0xe9,0xd6,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02, 0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a, 0x00,0xf9,0xf3,0xf6,0xb9,0xf8,0x81,0x2e,0x97,0xe1,0xdb,0x7f,0x0a,0xe9,0x12,0x11, 0x75,0xa8,0x0f,0x36,0xec,0xa9,0xe5,0x61,0x07,0xe5,0x5f,0xf8,0x11,0x1f,0x92,0xfb, 0xd6,0x94,0xe1,0xcc,0xee,0x65,0x52,0x56,0xd0,0xfc,0xa7,0xf8,0xe9,0xe3,0x3b,0xed, 0x73,0x51,0x7d,0x2f,0x4d,0x79,0x4d,0x84,0x4d,0x86,0x28,0x4e,0x1f,0x1f,0xe2,0x79, 0xfa,0x62,0x89,0x35,0x70,0x8a,0xea,0x5f,0xf8,0x45,0xe1,0xff,0x00,0xf8,0x46,0xa1, 0x82,0xfe,0xf9,0x47,0xda,0xa7,0x53,0x72,0xe4,0x8e,0x52,0x35,0x52,0xca,0xb9,0xf7, 0xc0,0x27,0xea,0x3d,0x2b,0xaa,0x94,0x39,0x63,0x73,0x9a,0xac,0xae,0xec,0x49,0xa5, 0x6a,0x04,0xbc,0x72,0xdf,0x03,0x3c,0x72,0x02,0x25,0x8d,0xbf,0x8e,0x36,0xc8,0x65, 0x3f,0x50,0x48,0xae,0x85,0x1b,0xab,0x33,0x3b,0xd9,0x9c,0x8e,0x9f,0xf0,0xd8,0x45, 0xab,0xdd,0x7f,0x6a,0xce,0x0e,0x9b,0x14,0x84,0x42,0x62,0x61,0xbe,0xe1,0x73,0xf2, 0x9e,0x3e,0xe8,0xc6,0x33,0xdf,0xf9,0xd6,0x6a,0x9e,0xba,0x9a,0x3a,0xbd,0x8e,0xca, 0xda,0xd7,0x4d,0xb1,0x84,0x45,0x69,0xa6,0xe9,0xe8,0x8b,0xd3,0x30,0x2b,0x9f,0xcc, 0x82,0x4d,0x69,0xc8,0xac,0x67,0xcc,0xca,0x97,0xbe,0x1e,0xd1,0x35,0x20,0xde,0x7d, 0x90,0xb6,0x90,0xff,0x00,0xcb,0x5b,0x42,0x63,0x23,0xf0,0xe8,0x7f,0x2a,0x97,0x04, 0xc7,0xce,0xd1,0xcb,0xea,0x1f,0x0e,0x6f,0x6d,0xe4,0x32,0x78,0x7f,0x50,0x8a,0xed, 0x4f,0x44,0x90,0xf9,0x32,0x0f,0xd7,0x07,0xf3,0x15,0x0e,0x9b,0x45,0xaa,0xb7,0xdc, 0x76,0x93,0xae,0x7c,0x47,0xf0,0xb5,0xc2,0x8d,0x22,0xf3,0xc5,0x56,0x4c,0xa7,0x8f, 0x22,0x79,0x0a,0xfe,0x84,0x8a,0x8e,0x4f,0x22,0xfd,0xa2,0x3d,0xaf,0xc2,0xff,0x00, 0xb4,0x27,0xc5,0xcb,0x0d,0x16,0xea,0xcf,0xc4,0x1e,0x34,0xd5,0x8d,0xa5,0xcc,0x2d, 0x01,0xb2,0x91,0xc3,0x39,0x56,0x18,0x25,0x9b,0xb7,0x07,0xa7,0x5a,0xa8,0xd1,0x57, 0xbb,0x44,0xca,0xaf,0x44,0x67,0xf8,0x47,0xe2,0x5f,0x8a,0xfc,0x19,0x7d,0x25,0xcf, 0x84,0xb5,0xbf,0xec,0xb9,0x21,0x7e,0x90,0x6a,0x0d,0x6e,0x48,0xf5,0x20,0x8d,0xa4, 0x7d,0x4d,0x69,0x28,0x29,0x6e,0x66,0x9b,0x5b,0x1f,0x53,0xfc,0x2e,0xff,0x00,0x82, 0x82,0x6b,0xd6,0x76,0x11,0xdb,0x7c,0x48,0xd2,0xed,0x75,0x46,0xc7,0xc9,0x79,0x13, 0x08,0xa4,0xe3,0xb3,0xed,0xca,0x9c,0xff,0x00,0x78,0x62,0xb0,0x96,0x17,0xb3,0x35, 0x8e,0x21,0xad,0xcf,0x40,0xb1,0xff,0x00,0x82,0x93,0x7c,0x33,0x4b,0xe6,0xb2,0xf1, 0x55,0xbe,0xb7,0xe1,0xfb,0xb4,0x20,0x3c,0x77,0x30,0x6f,0x51,0x9e,0x84,0x32,0xf0, 0x41,0xec,0x47,0x06,0xb9,0xe5,0x49,0xa3,0xa1,0x55,0x4c,0xf4,0x9f,0x0c,0xfe,0xd9, 0x3f,0x08,0xfc,0x55,0xb4,0x69,0xbe,0x34,0xd2,0x15,0xdb,0xf8,0x27,0x7f,0x2c,0xfe, 0xb5,0x1c,0x8c,0xa5,0x34,0x7a,0x5e,0x91,0xe3,0xff,0x00,0x0e,0x6b,0xca,0x1b,0x48, 0xd6,0xb4,0xbb,0xb0,0xdd,0x3c,0x9b,0x94,0x6c,0xfe,0xb4,0xac,0xd0,0xee,0x8d,0xe4, 0x75,0x91,0x72,0x87,0x20,0xf7,0x14,0x86,0x3b,0x1e,0x94,0x00,0x94,0x00,0x50,0x01, 0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x08,0xce,0xb1,0xa3,0x3c,0xac,0x15,0x14, 0x16,0x2c,0x4e,0x00,0x02,0x80,0x3f,0x31,0x7e,0x3f,0x7e,0xd0,0x92,0x6b,0xff,0x00, 0x10,0x35,0xd6,0xd3,0xac,0xa1,0xba,0x8e,0x49,0x5a,0x3f,0x32,0x76,0x61,0xb6,0x30, 0x36,0xa2,0xae,0x08,0x23,0xe5,0x03,0xf1,0x26,0xbb,0xa9,0xc6,0xd1,0x38,0x6a,0x36, 0xe5,0x73,0xc6,0x0d,0xc7,0x85,0x6e,0x22,0x5b,0xad,0x5f,0xc2,0x58,0x05,0xc1,0x2f, 0x69,0xa8,0xba,0x96,0xe7,0xba,0x36,0x78,0x3d,0x28,0xf6,0x30,0xec,0x0a,0xa4,0xfb, 0x9b,0x33,0xd8,0x78,0x6a,0xfd,0xef,0xc5,0x96,0xbb,0x3e,0x9b,0x2c,0xf1,0xbc,0x22, 0x2b,0xab,0x32,0x52,0x2d,0xdd,0x81,0x42,0x78,0x03,0x8e,0x95,0xbe,0x96,0xb1,0x93, 0xbb,0x66,0x44,0x5f,0x0c,0x2e,0x66,0x8d,0x46,0x93,0xae,0xf8,0x6f,0x50,0x00,0x00, 0x02,0x5c,0xf9,0x4c,0x7f,0x07,0x02,0xa9,0x58,0x9b,0xb2,0x2b,0xcf,0x86,0x5e,0x29, 0xb2,0x4d,0xc7,0x45,0xbb,0x9a,0x21,0xce,0xfb,0x6d,0xb3,0x2f,0xe6,0xa4,0xd5,0x58, 0x2e,0x73,0xd7,0x96,0x17,0x96,0x0e,0x45,0xfd,0xad,0xd5,0xbb,0x0e,0xa2,0x68,0x99, 0x7f,0x98,0xa9,0xb1,0x45,0x54,0x98,0x93,0xc3,0x0f,0xad,0x3d,0x84,0xc7,0x89,0x48, 0x61,0x83,0xc5,0x00,0x85,0x5b,0xa6,0x45,0xc0,0x63,0x83,0xda,0x81,0x5c,0x68,0x9c, 0xb0,0x50,0xc7,0x39,0x3d,0x49,0xa4,0xc6,0x8b,0x17,0xd6,0x6e,0x06,0x6e,0x74,0xdb, 0xd8,0xe6,0x57,0x62,0x64,0x95,0x32,0x8c,0x09,0xe3,0x6f,0x14,0x58,0x61,0x25,0xff, 0x00,0x96,0x0a,0x83,0xf7,0x70,0x00,0xfa,0x53,0x02,0x0f,0x1d,0xda,0x59,0x6b,0x7f, 0x0e,0x6f,0x2f,0x6e,0x11,0x97,0x55,0xd2,0xde,0x29,0x60,0x94,0x1c,0xee,0x81,0x9f, 0x64,0x88,0x47,0xb1,0x64,0x61,0xe9,0xcf,0xad,0x67,0x51,0x17,0x4d,0xd9,0x9e,0x15, 0x71,0x74,0xcc,0xc1,0x94,0x67,0x1d,0xeb,0x06,0xae,0x6b,0xce,0xcd,0x3d,0x1f,0xc5, 0xba,0x8e,0x94,0xdb,0xb4,0xfb,0xfb,0xeb,0x37,0x1d,0x1a,0x09,0xd9,0x3f,0x91,0xa5, 0xca,0x52,0x95,0xf7,0x3b,0xbf,0x0d,0xfe,0xd2,0xbf,0x12,0x7c,0x2d,0x22,0x1d,0x0b, 0xc6,0xda,0xfd,0xba,0xaf,0x44,0x37,0x25,0xd7,0xf2,0x6c,0xd2,0x70,0x4c,0xa4,0xcf, 0xb7,0xbf,0x64,0x6f,0xda,0xcf,0xe2,0x36,0xbd,0xa8,0x5b,0x5b,0x78,0xcb,0x55,0x93, 0xc4,0x71,0x5d,0xcd,0x0c,0x4b,0x1d,0xc2,0xa8,0x2b,0xb9,0xb6,0x9c,0x10,0xb9,0xe8, 0x73,0xd6,0xb9,0xa7,0x1b,0x32,0xf9,0xb5,0x3f,0x46,0x08,0xc3,0x11,0x52,0x68,0x21, 0x18,0x34,0x00,0x94,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x01,0xc1,0x7c,0x71,0xf1, 0x18,0xf0,0xe7,0xc3,0x7d,0x48,0xac,0x86,0x29,0xef,0xb6,0xd8,0xc4,0xc3,0xa8,0xf3, 0x38,0x63,0xf8,0x20,0x73,0xf8,0x55,0x45,0x5d,0x91,0x51,0xd9,0x1f,0x90,0x7e,0x27, 0xd5,0xa1,0xd4,0x2f,0xaf,0x67,0x8e,0x12,0xf3,0xdc,0xdc,0xc9,0x26,0xf1,0x90,0x63, 0xf9,0xce,0x3d,0x88,0xc6,0x3d,0xeb,0xba,0x3a,0x23,0x88,0xad,0x1d,0x9b,0xcf,0x71, 0x6a,0xd7,0x57,0x30,0x14,0xb7,0x60,0x5a,0x0d,0xe4,0x30,0x19,0xe8,0x78,0xe4,0xfa, 0x0c,0xd5,0x01,0xbb,0xe1,0x7b,0x4b,0x0d,0x5b,0xc4,0x76,0x91,0xf8,0x8a,0xe2,0x5b, 0x5d,0x3c,0xca,0x5e,0x62,0x8f,0xe5,0x96,0x1c,0x9c,0x6e,0xed,0xce,0x32,0x7a,0xe3, 0x35,0x33,0xbb,0x5e,0xee,0xe3,0x8b,0x57,0xf7,0x8d,0x2d,0x67,0x4a,0xd3,0xb5,0xbf, 0x1c,0x26,0x9f,0xa0,0x5d,0xc5,0x6b,0x61,0x2c,0xeb,0x19,0xbb,0x23,0xcc,0x54,0x5e, 0xed,0x8e,0x33,0xfa,0x73,0x59,0xa9,0x4e,0x30,0xbc,0xb7,0x2d,0xc6,0x32,0x9d,0x96, 0xc3,0x7c,0x67,0x63,0xff,0x00,0x08,0x6f,0x88,0xa6,0xb2,0xd1,0x75,0x1b,0x92,0xb1, 0x63,0x32,0x46,0xe5,0x0e,0x7e,0x81,0x8e,0x3e,0x99,0xad,0x29,0x4d,0xc9,0x5d,0xa2, 0x2a,0x45,0x45,0xd9,0x32,0xb5,0xb7,0xc4,0x8f,0x11,0xd9,0xae,0xd8,0xf5,0x6b,0xb9, 0x54,0x75,0x49,0xc8,0x94,0x7e,0x4d,0x9a,0xd7,0x98,0xcc,0xb0,0x3c,0x7f,0x25,0xe1, 0xff,0x00,0x89,0xd6,0x8b,0xe1,0xfd,0x43,0x3d,0x5a,0x4b,0x35,0x46,0x3f,0x8a,0xe2, 0xab,0x9c,0x39,0x02,0x4d,0x4f,0xc2,0x57,0x83,0xfd,0x3f,0xc3,0x32,0xda,0x93,0xd5, 0xac,0x2f,0x59,0x71,0xff,0x00,0x01,0x6c,0x8a,0x39,0xc3,0x97,0xcc,0x81,0xb4,0x4f, 0x06,0x5e,0x8c,0x41,0xaa,0x6b,0x9a,0x6b,0x1e,0x8b,0x73,0x6e,0x93,0x28,0xfc,0x54, 0x83,0x45,0xd0,0xac,0x57,0x7f,0x87,0xb6,0x73,0xb6,0x74,0x8f,0x15,0xe8,0x77,0x19, 0xe7,0x65,0xc7,0x99,0x03,0x7f,0xe3,0xc3,0x1f,0xad,0x3d,0x18,0xc9,0x07,0xc3,0x9f, 0x16,0xc1,0x11,0x6d,0x20,0x47,0x78,0x84,0x7f,0xcc,0x3e,0xf9,0x1f,0x23,0xe8,0x1b, 0x34,0xec,0x26,0xce,0x73,0x50,0xf0,0x96,0xbb,0xa4,0x82,0xda,0x96,0x91,0xa9,0xdb, 0xe3,0xa9,0x7b,0x76,0xc0,0xfc,0x71,0x45,0x85,0x74,0x75,0xbf,0x08,0xbc,0x07,0x0f, 0xc5,0x1f,0x1a,0x69,0x5e,0x0d,0xd4,0x5e,0x58,0x2d,0xb5,0xc0,0xd6,0x32,0xba,0x0f, 0x99,0x15,0x94,0x92,0xc0,0x7b,0x60,0x1f,0xc2,0xb3,0xaa,0xed,0x16,0xcd,0x29,0xab, 0xc9,0x23,0xd7,0xfc,0x45,0xff,0x00,0x04,0x96,0x7b,0x76,0x7f,0xf8,0x47,0xbc,0x69, 0x39,0x19,0xe1,0x2e,0xad,0xf0,0x0f,0xe5,0x9a,0xf3,0xfd,0xb3,0x3b,0x1d,0x14,0x79, 0x67,0x8a,0x3f,0xe0,0x98,0x9f,0x12,0xf4,0xc0,0xe7,0x44,0xbd,0xd1,0xf5,0x30,0x3a, 0x00,0xe6,0x36,0x3f,0x9d,0x35,0x5b,0xc8,0x5e,0xc4,0xf2,0xbd,0x77,0xf6,0x26,0xf8, 0xcb,0xe1,0xc7,0x22,0xe3,0xc1,0xf7,0x97,0x51,0xaf,0x57,0xb5,0x60,0xe0,0xd3,0xf6, 0x81,0xec,0xda,0x3e,0xb1,0xfd,0x87,0xbe,0x13,0x6b,0xda,0x7f,0xc4,0x1d,0x31,0x3c, 0x41,0xa2,0xea,0x3a,0x7c,0x7a,0x6b,0x8b,0x99,0x4d,0xd4,0x25,0x07,0xc8,0xbf,0x2f, 0x27,0xd5,0xb1,0x59,0xcd,0xdc,0x69,0x5d,0x9f,0xa5,0xe4,0xe4,0x03,0xd3,0x35,0x06, 0xa2,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x1f,0x2a,0x7e,0xdb,0x3e, 0x39,0x1a,0x7c,0xda,0x56,0x89,0x04,0x98,0x6b,0x5b,0x1b,0x9d,0x4a,0x55,0x07,0xbb, 0x29,0x48,0xff,0x00,0x41,0x27,0xe7,0x5b,0x51,0x57,0xbb,0x39,0xeb,0xbd,0x91,0xf9, 0xc8,0xed,0x0c,0x9a,0x8d,0x8c,0x36,0x81,0x9f,0x18,0x92,0x49,0x01,0x38,0x23,0x19, 0x20,0x83,0xd0,0xe7,0xf4,0xae,0xa3,0x9c,0xe2,0xbe,0x17,0x78,0x63,0xfe,0x16,0x77, 0xed,0x23,0x7d,0xa7,0x6a,0x32,0xdd,0xff,0x00,0x67,0x59,0xc3,0xba,0x48,0xa1,0x99, 0x90,0x16,0xc0,0xeb,0x83,0xea,0x4f,0xe5,0x58,0xaf,0x7a,0xa5,0x8e,0x8f,0x86,0x9d, 0xcf,0xad,0xaf,0xff,0x00,0x66,0x1d,0x24,0x28,0x3a,0x3e,0xa7,0xab,0xd9,0x36,0x33, 0x81,0x3e,0xf0,0x3f,0x06,0xcd,0x6f,0xca,0x8e,0x5f,0x69,0xe4,0x73,0x1a,0x97,0xec, 0xf1,0xaf,0x58,0x31,0x6d,0x27,0x5e,0x82,0x6d,0xa7,0x83,0x73,0x6c,0x33,0xf9,0xa9, 0x14,0x72,0xf9,0x87,0xb4,0x5d,0x51,0xc8,0xea,0xbf,0x09,0xbc,0x69,0x60,0xec,0xcd, 0x63,0xa7,0xdf,0xf7,0x26,0x19,0xd9,0x09,0xfc,0x18,0x1f,0xe7,0x46,0xa5,0x73,0x45, 0xf5,0x39,0xbb,0xdd,0x1b,0x5d,0xd3,0x49,0x17,0xde,0x1e,0xd5,0xa3,0x03,0xab,0x46, 0xab,0x28,0xff,0x00,0xc7,0x4e,0x68,0xbb,0xec,0x34,0x93,0xd9,0x99,0x72,0x6b,0x56, 0xd6,0xad,0x8b,0xc6,0x9e,0xd5,0x81,0xfb,0xb7,0x30,0xbc,0x78,0xfc,0xc5,0x1c,0xc8, 0x39,0x59,0x34,0x1a,0xbd,0xad,0xef,0x16,0xb7,0x30,0x4d,0xec,0x92,0x02,0x45,0x3b, 0xa2,0x5a,0x64,0xe5,0x89,0x19,0x00,0x9c,0xd5,0x5c,0x40,0x27,0xc0,0xf4,0xa2,0xe1, 0x61,0x12,0x76,0x8d,0xf7,0x44,0x59,0x48,0xf4,0x38,0xa2,0xf7,0x03,0x5a,0xc3,0xc6, 0xda,0xee,0x99,0x81,0x61,0xab,0xea,0x10,0x81,0xfc,0x22,0x76,0xc7,0xe4,0x4d,0x3b, 0x8e,0xc6,0xf6,0x9f,0xf1,0x87,0xc4,0x96,0x37,0x09,0x33,0x5c,0xdb,0xdc,0x49,0x19, 0xca,0x3c,0xd6,0xe8,0x5d,0x4f,0xb3,0x00,0x08,0xfc,0xe8,0xbd,0xf4,0x17,0x29,0xf4, 0x4f,0xec,0xe7,0xfb,0x49,0xf8,0xa3,0x5e,0xd7,0x26,0xd2,0xee,0xef,0xd9,0x2e,0x22, 0x81,0xa7,0x8d,0x24,0x76,0x92,0x29,0x42,0xfd,0xe5,0x2a,0xc4,0xe3,0x8f,0x43,0x58, 0x55,0x84,0x7b,0x1a,0x46,0x52,0x8e,0xcc,0xfb,0xbf,0xc3,0x1a,0x95,0xbf,0x8a,0x34, 0x0b,0x3d,0x45,0x62,0x58,0xcc,0xc9,0xf3,0xc6,0x39,0xda,0xc3,0x82,0x3f,0x3a,0xe2, 0x92,0xb3,0xb1,0xd9,0x17,0xcc,0xae,0x68,0x36,0x95,0x6e,0xdf,0xc0,0x3f,0x0a,0x45, 0x0f,0x82,0xc6,0x18,0x0e,0x63,0x40,0x28,0x02,0xc1,0xa0,0x04,0xa0,0x02,0x80,0x0a, 0x00,0x28,0x00,0xa0,0x05,0x03,0x26,0x80,0x3f,0x32,0x7f,0x6a,0xef,0x88,0x71,0xf8, 0xa3,0xe3,0x3f,0xc4,0x28,0x63,0xb8,0xfd,0xcd,0x82,0xc3,0xa5,0x2f,0x39,0x08,0x14, 0xa2,0xbf,0xfe,0x3c,0x64,0x35,0xd3,0x47,0xe1,0xf9,0x9c,0xb5,0xb7,0x3e,0x6f,0x12, 0x47,0x1e,0xa3,0x74,0x6d,0x55,0xbc,0xbb,0x78,0x18,0xb3,0x33,0x06,0x5d,0xc7,0xe5, 0xe0,0x8f,0xa8,0xad,0xee,0x62,0x3b,0xf6,0x12,0xb2,0x1a,0xbf,0x8f,0x3c,0x65,0xe2, 0x09,0xc6,0xe3,0x25,0xc7,0x96,0x8f,0xea,0x32,0x4f,0xf5,0x15,0x95,0x1d,0x5b,0x66, 0xd5,0xb4,0x8a,0x47,0xdd,0x32,0xde,0x04,0x1d,0xb0,0x07,0xa5,0x74,0x1c,0x6d,0x99, 0x97,0x37,0x23,0xcb,0xf9,0x4e,0x77,0x50,0x41,0x9b,0x35,0xc1,0x66,0x62,0x47,0x18, 0xa0,0x66,0x64,0xeb,0x14,0x83,0x12,0x46,0xa4,0xe6,0x80,0x31,0xf5,0x0d,0x26,0xc2, 0xec,0x30,0x9a,0xde,0x26,0x07,0xb3,0x2e,0x68,0x1a,0x6d,0x1c,0x7e,0xb1,0xf0,0xb7, 0xc3,0x3a,0xa1,0xff,0x00,0x49,0xd2,0xac,0x99,0x8f,0xf1,0x79,0x60,0x1a,0x56,0x4f, 0x73,0x55,0x51,0xa3,0x8f,0xd4,0x3e,0x05,0xe8,0x6a,0x0b,0x69,0xb2,0x5f,0x58,0x9e, 0xc2,0xde,0xe5,0xd4,0x7e,0x59,0xc5,0x2e,0x54,0x35,0x51,0xf5,0x30,0xae,0xfe,0x0e, 0xea,0x76,0x81,0x8e,0x99,0xe2,0x0b,0x83,0x8e,0x89,0x75,0x12,0x48,0x3f,0x90,0x34, 0x72,0xbe,0x8c,0xa5,0x34,0xfa,0x18,0x57,0x9e,0x0b,0xf1,0x85,0x80,0x1e,0x50,0xd2, 0x2f,0xd4,0x7a,0x07,0x88,0x9f,0xe7,0x45,0xa4,0x87,0xee,0xb3,0x2c,0xa6,0xb3,0x69, 0x71,0x1c,0x7a,0xc6,0x85,0x75,0x02,0x33,0x05,0x69,0xed,0xe5,0x59,0x11,0x33,0xc6, 0x48,0xe0,0xe3,0xf0,0xa5,0xcc,0xd6,0xe8,0x7c,0xa9,0xec,0xcb,0x92,0x83,0x04,0xa5, 0x18,0xe7,0x6b,0x10,0x48,0xad,0x11,0x07,0xab,0x7e,0xcd,0x36,0x0d,0x79,0xf1,0x0d, 0x6e,0x06,0x76,0xdb,0xdb,0xc8,0xe4,0x83,0xeb,0xc7,0xf5,0xac,0xaa,0x30,0x3f,0x53, 0x3e,0x16,0xd9,0x1b,0x1f,0x01,0x69,0x2a,0xf9,0xdc,0xe8,0xd2,0x9c,0xff,0x00,0xb4, 0xc4,0x8f,0xd3,0x15,0xc5,0x37,0x76,0x76,0xd3,0xf8,0x51,0xd5,0x54,0x96,0x29,0x39, 0xeb,0x40,0x09,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x0c,0xc5,0x14, 0xb2,0x8d,0xc4,0x02,0x71,0xeb,0x40,0x1f,0x88,0x36,0x1a,0xbd,0xdf,0x8b,0xbc,0x53, 0xe3,0xcd,0x53,0x56,0x72,0xb2,0x5f,0x6b,0xb2,0x06,0x24,0xe0,0x96,0x53,0x23,0xb0, 0x04,0xfb,0xb2,0xd7,0x4e,0x1d,0xde,0x29,0x9c,0xb5,0x9e,0xb6,0x20,0x48,0x67,0xbf, 0xd3,0x35,0xb5,0xd2,0x14,0xc9,0x28,0x4d,0xb0,0xf9,0x9c,0x6e,0x1e,0xff,0x00,0x8e, 0x06,0x7a,0x56,0xe6,0x48,0xeb,0xbf,0x62,0x8d,0x12,0x3f,0x87,0x3e,0x17,0xbf,0xb7, 0xf1,0x8d,0xe5,0x9e,0x93,0xa9,0x5c,0x5d,0x33,0x18,0x6e,0x64,0x03,0x23,0xa0,0x21, 0xba,0x1e,0x9e,0xb5,0x9d,0x28,0xb8,0xad,0x4b,0xad,0x25,0x2d,0x8f,0xaa,0x05,0xca, 0x5f,0x29,0x6b,0x19,0x6d,0xae,0x94,0xff,0x00,0x14,0x13,0x2b,0x8f,0xd0,0xd6,0xd7, 0x39,0xb9,0x0a,0x37,0x51,0xc9,0x13,0x8f,0x36,0x37,0x03,0xd4,0x8a,0x2e,0x2e,0x53, 0x32,0x69,0xca,0x82,0x41,0xc1,0x34,0x5c,0x56,0x2a,0x49,0x33,0x17,0xe4,0xf4,0xef, 0x9a,0x63,0xb1,0x4a,0xe2,0xe0,0x81,0xc8,0xeb,0x40,0x25,0x63,0x3e,0x69,0xd4,0xb3, 0x10,0x08,0xf4,0xe6,0x81,0x94,0x25,0x94,0x10,0x37,0x75,0x27,0xad,0x03,0xb1,0x4a, 0x69,0xb2,0x1b,0x6b,0x0a,0x63,0x29,0x4a,0xc7,0x68,0xda,0x29,0x81,0xce,0x78,0x9e, 0x51,0x0e,0x9e,0xe4,0xaf,0x2e,0xca,0xb8,0xf6,0xce,0x7f,0xa5,0x41,0xa2,0x3c,0xce, 0x67,0xde,0xe5,0xbb,0x93,0x9f,0xc6,0x98,0x8f,0xa1,0xff,0x00,0x64,0xad,0x1c,0xcb, 0x2e,0xb5,0x7a,0x57,0x24,0x94,0x81,0x4f,0xea,0x6b,0x29,0xbd,0x40,0xfd,0x3f,0xd2, 0x2c,0xc6,0x9f,0xa4,0x59,0x5a,0x81,0x8f,0x26,0x14,0x4f,0xc8,0x0a,0xe2,0x7a,0xb3, 0xbd,0x2b,0x22,0xd5,0x21,0x85,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00, 0x50,0x02,0x8e,0xbc,0xd0,0x07,0xe5,0x0f,0xed,0x17,0xf0,0xc7,0x4a,0xf8,0x61,0xf1, 0x3b,0x5f,0xd1,0xb4,0x98,0x9e,0xd2,0xd6,0x4b,0xa9,0xb5,0x49,0x50,0x9d,0xdc,0xcc, 0x46,0x08,0x07,0xf8,0x70,0xa0,0xe3,0xde,0xba,0x70,0xea,0xd1,0x39,0x2b,0x3d,0x4f, 0x1f,0xb6,0x76,0x11,0xa4,0xb1,0xb1,0x8c,0xb0,0x38,0x74,0x25,0x4e,0x3f,0x9f,0x35, 0xd1,0x63,0x1b,0x97,0xa7,0x95,0xd6,0x3b,0x62,0x5e,0x42,0xc2,0x20,0x4b,0x33,0x64, 0xe4,0x92,0x7f,0x96,0x28,0x4a,0xc2,0x66,0x8a,0xe9,0x7a,0xa5,0xb3,0x40,0xf0,0x80, 0x4c,0xa0,0xb2,0xb2,0xb8,0x1b,0x70,0x81,0xce,0xe2,0x7a,0x7c,0xa4,0x1f,0xc6,0xaa, 0xd6,0x15,0xcd,0x2b,0x5f,0x1d,0x78,0x97,0x45,0x51,0xe5,0xde,0xdf,0x24,0x6b,0xfd, 0xe9,0x18,0xaf,0x52,0x3d,0x48,0xea,0x0f,0xe4,0x69,0x58,0x66,0xa5,0xb7,0xc6,0xbd, 0x64,0x1d,0xb7,0x86,0x1b,0x9c,0x75,0x12,0x44,0xa4,0x9f,0xc8,0x03,0x45,0x83,0x73, 0x46,0x1f,0x8c,0xc9,0x2f,0xfc,0x7e,0x69,0xb1,0x9c,0xff,0x00,0x14,0x4e,0xc9,0xfa, 0x73,0x4a,0xc1,0x64,0x5e,0x83,0xe2,0x66,0x89,0x73,0xb4,0x48,0x2e,0xa0,0x6f,0xf8, 0x0b,0x0f,0xe6,0x3f,0x95,0x30,0xe5,0x45,0x9f,0xf8,0x49,0x74,0x8b,0xb0,0x44,0x7a, 0x84,0x2a,0x4f,0xfc,0xf5,0x52,0x9f,0xcc,0x52,0x05,0x11,0x0c,0x91,0xdc,0xa8,0x36, 0x92,0xc1,0x30,0x23,0xac,0x6e,0x1b,0xf9,0x51,0x71,0xf2,0x94,0xa7,0x46,0x41,0x96, 0x56,0xe7,0xda,0x8b,0x87,0x29,0x4e,0x59,0x58,0x1f,0xa0,0xa7,0x70,0xb1,0xc9,0x78, 0xca,0xe8,0x9b,0x74,0x40,0xdd,0x99,0x88,0xfd,0x07,0xf3,0xa0,0xab,0x59,0x1c,0x1b, 0x36,0x0f,0x1c,0xe7,0xd6,0xa9,0x08,0xfb,0x27,0xf6,0x37,0xd0,0x3c,0xdd,0x0b,0x4f, 0x0c,0xb8,0x37,0xda,0x88,0x24,0xff,0x00,0xb2,0x08,0xfe,0x80,0xd7,0x35,0x47,0x66, 0xd9,0x51,0x57,0x68,0xfd,0x0a,0xdc,0xac,0x72,0xac,0x0d,0x72,0x1d,0xc2,0xe2,0x80, 0x12,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x01,0x47,0x26,0x80, 0x3f,0x2b,0xff,0x00,0x6c,0x0d,0x61,0x75,0xaf,0x8e,0x5e,0x33,0xbf,0x9a,0x45,0x68, 0xad,0x27,0x5b,0x34,0x0c,0xb9,0x07,0xcb,0x45,0x18,0xcf,0x6e,0x73,0x8a,0xeb,0xa2, 0xad,0x13,0x8e,0xab,0xbc,0x8f,0x18,0xbc,0xb8,0x79,0xf4,0xa6,0xb6,0x85,0x7c,0xb7, 0x91,0xb2,0xec,0x48,0xfb,0xbc,0x76,0xf5,0x18,0xe2,0xb6,0xd4,0xc9,0x13,0x5d,0x2e, 0xc9,0xda,0x2e,0xc8,0x02,0x7e,0x43,0x15,0x42,0x66,0x9c,0x1e,0x2d,0xbc,0x8e,0x55, 0x37,0x6b,0xf6,0x80,0xb1,0xb4,0x48,0x43,0xed,0x31,0x2b,0x28,0x52,0x17,0x21,0x80, 0x1f,0x28,0x38,0x23,0xb9,0xf5,0xa7,0x72,0x79,0x6c,0x48,0x7c,0x57,0x1b,0xd8,0x0b, 0x29,0xad,0xa6,0xfb,0x23,0x88,0xe3,0x9d,0x54,0xa9,0x2d,0x1a,0x87,0x3b,0x97,0x18, 0x01,0x83,0x39,0x70,0x38,0x1c,0x63,0xb9,0xa2,0xfd,0x01,0xae,0xa6,0x8d,0xce,0xbf, 0xa4,0x5d,0xdd,0x5b,0xb0,0x95,0x0d,0xa2,0x49,0x3b,0xbc,0x6c,0x98,0x67,0xc1,0x90, 0xc6,0x0a,0x32,0x60,0x92,0x04,0x60,0x7c,0xd8,0xe7,0x04,0x53,0xba,0x04,0x9d,0x8a, 0x13,0x58,0xe9,0xfa,0x85,0xd4,0xed,0x65,0x1c,0x4b,0x6a,0xd2,0x21,0x49,0x63,0x6e, 0x5d,0x4a,0xae,0x02,0x80,0x70,0xae,0x4e,0x72,0xa4,0x1c,0x6e,0xc0,0xfb,0xb4,0xac, 0x34,0x63,0x47,0x0d,0xac,0xcf,0x28,0xb9,0xb7,0xb9,0xb4,0xd8,0x81,0xb1,0xe6,0x0f, 0xef,0x05,0xe8,0xcb,0xee,0x7b,0xf6,0xa9,0x93,0xb2,0x6c,0xb4,0xae,0xec,0x3f,0xc5, 0x1a,0x54,0x1e,0x1d,0xd4,0xd6,0xdf,0x4d,0xd5,0x21,0xd5,0x21,0x31,0x89,0x05,0xc5, 0xbf,0x00,0x64,0x91,0x8e,0x09,0xe7,0x8c,0xfe,0x35,0xc7,0x81,0xc5,0x4b,0x11,0x4f, 0x9e,0x70,0x71,0x77,0xd9,0x9b,0xe2,0x28,0xc6,0x94,0xb9,0x63,0x2b,0x99,0x62,0xfe, 0x55,0x6c,0xf9,0x8d,0x93,0xce,0x4f,0x35,0xda,0x61,0xb1,0x6e,0x0f,0x12,0xea,0x36, 0x84,0x79,0x37,0x52,0x81,0xc1,0xc6,0xe3,0x8f,0xcb,0x34,0xac,0x87,0x72,0xf4,0x5e, 0x3c,0xbf,0x07,0x17,0x18,0x94,0x7a,0x90,0x3f,0xc2,0x8b,0x0f,0x98,0xa9,0xaf,0xeb, 0xc9,0xab,0x42,0xbb,0x63,0x2b,0x21,0xe0,0x9c,0x00,0x00,0xfc,0xf9,0xa2,0xd6,0x07, 0x2b,0x9c,0xf1,0x46,0x3c,0xf1,0x4c,0x93,0xf4,0x13,0xf6,0x68,0xb1,0x5f,0x0f,0x78, 0x73,0xc3,0x86,0x41,0xb4,0xc5,0x6e,0x66,0x3f,0xef,0x10,0x7f,0xc6,0xb9,0x2a,0xbd, 0x0d,0x68,0xab,0xc8,0xfa,0x4a,0xd7,0xc5,0xc1,0x80,0xc3,0xd7,0x39,0xd6,0x6a,0xda, 0xf8,0xa0,0x39,0x19,0x6e,0x3e,0xb4,0x01,0xb7,0x67,0xaa,0xa5,0xc8,0x19,0x20,0xe6, 0x80,0x2f,0xfd,0x28,0x01,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0x69,0x16, 0x25,0x67,0x90,0xe1,0x54,0x16,0x24,0xf6,0x02,0x80,0x3f,0x1a,0x3e,0x27,0x6b,0x87, 0x5a,0xf1,0x9e,0xb9,0xab,0xdc,0x3a,0xc8,0x75,0x0d,0x4a,0x69,0x95,0x4e,0x79,0x0d, 0x23,0x60,0x8e,0xc7,0xa5,0x77,0x41,0x7b,0xa8,0xe1,0x93,0xbb,0x66,0x05,0xd3,0x7d, 0xb2,0x5d,0x36,0x08,0x10,0x46,0x15,0xd4,0xca,0xcc,0x06,0x49,0xef,0x83,0xd7,0x9f, 0x7a,0xb4,0xc9,0x23,0x69,0x4d,0xc5,0xd4,0x92,0x0e,0x4b,0x31,0x3f,0x5a,0x64,0x91, 0xdd,0x5f,0xc3,0x68,0x01,0x99,0x8a,0x8f,0xef,0x10,0x76,0xfe,0x7d,0x28,0xb8,0xd6, 0xc4,0x22,0xfe,0x37,0x00,0xa3,0x0e,0x69,0x8a,0xc4,0xa8,0xdb,0xd4,0x71,0x9a,0x06, 0x90,0x8c,0x88,0x41,0xdc,0x01,0xcf,0x5c,0x8e,0xb4,0x03,0x23,0x92,0x79,0x24,0x73, 0xe6,0x4b,0x2b,0xe4,0x63,0xe6,0x72,0x78,0x1d,0xb9,0xa0,0x2c,0x44,0xe4,0x81,0x40, 0xc0,0x5c,0x61,0x30,0x40,0xe2,0x80,0x18,0xcd,0xc7,0x4c,0x50,0x03,0x55,0xb2,0x39, 0xfd,0x68,0x01,0x0b,0x03,0xc0,0xf5,0xa0,0x09,0xac,0xed,0xda,0xf2,0xfa,0xda,0x04, 0xeb,0x24,0xaa,0xb8,0x1e,0xe6,0x93,0x03,0xef,0xbd,0x32,0xfd,0x3c,0x37,0xa5,0xe9, 0xf0,0x29,0x08,0x56,0x15,0x41,0xf8,0x01,0x5c,0x55,0x0d,0xe8,0x2d,0xce,0x8b,0x4e, 0xf1,0x6f,0x98,0x46,0x1f,0x3f,0x8d,0x64,0x74,0x9d,0x56,0x95,0xaf,0x34,0x85,0x70, 0xd9,0xcd,0x00,0x77,0xde,0x1c,0xd4,0x1e,0x56,0x5c,0x13,0x83,0x40,0x1e,0x83,0x6e, 0xc5,0xa0,0x42,0x68,0x01,0xf4,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x01,0xcb,0xfc, 0x52,0xd7,0x47,0x86,0x3e,0x1a,0x78,0xa7,0x55,0x63,0xb4,0xda,0x69,0xb7,0x12,0x03, 0xee,0x10,0xe3,0xf5,0xc5,0x0b,0x51,0x4b,0x44,0x7e,0x38,0xdd,0xaf,0x93,0x71,0x0c, 0x37,0x6c,0x1e,0x66,0x0c,0x42,0xe4,0x9d,0x87,0xa9,0xe0,0xf4,0xeb,0xd4,0x57,0xa0, 0x91,0xc1,0x71,0xb3,0x2f,0x99,0xad,0x89,0xac,0x94,0x25,0xb4,0x11,0x3b,0x67,0x1b, 0x4b,0x1c,0x71,0x9f,0xa7,0x03,0x3e,0xf4,0xee,0x03,0xb4,0xb8,0x42,0x5b,0x5d,0x4c, 0x46,0x5a,0x34,0xc8,0x07,0xdc,0x81,0xfd,0x6a,0x6a,0x3b,0x21,0xc1,0x6a,0x6c,0xdf, 0x69,0x16,0x10,0xfc,0x3d,0xb4,0xd6,0x52,0xee,0xe5,0xf5,0x6b,0x8d,0x42,0x5b,0x57, 0xb6,0x7d,0xbe,0x58,0x89,0x23,0x56,0xdc,0x06,0x49,0x39,0x2e,0x07,0x38,0x1d,0x7a, 0xd7,0x3d,0xf5,0x37,0xb1,0xe6,0x76,0x4e,0xb2,0xde,0xdc,0xc7,0x6b,0xc4,0x29,0x31, 0x45,0x03,0xa0,0xf6,0xfc,0x3a,0x7e,0x15,0xd5,0x07,0x74,0x61,0x25,0x66,0x76,0x96, 0xba,0x45,0xc5,0xe5,0xcd,0xa6,0x9f,0xa7,0xc5,0x3d,0xcd,0xf5,0xce,0x04,0x70,0x42, 0x40,0x62,0x4f,0x4e,0xbe,0xdc,0xd4,0x4a,0xa5,0x8a,0x50,0xba,0x30,0xf5,0xfb,0x4b, 0xff,0x00,0x0e,0xdf,0x4b,0x0d,0xe0,0x9e,0x29,0x21,0x97,0xc9,0xb8,0xb6,0xb8,0x00, 0x49,0x13,0x7e,0x18,0xc8,0xcf,0x1f,0x97,0x5c,0xd3,0x84,0xd4,0x82,0x51,0x68,0x65, 0x8c,0x92,0x5d,0xcc,0x40,0xed,0x5a,0x10,0x5b,0xb9,0x69,0x22,0x25,0x63,0x82,0x69, 0x70,0x39,0xd8,0x01,0x3f,0x96,0x73,0xfa,0x54,0xf3,0x21,0xf2,0xb2,0x9c,0x17,0xf0, 0xdc,0x20,0x68,0xdf,0x76,0x6a,0x84,0x4e,0xac,0xad,0xe9,0x40,0x08,0x40,0xcf,0x07, 0x9f,0x7a,0x00,0x8c,0xb6,0x1b,0xb7,0x14,0x01,0xd4,0x7c,0x2c,0xd3,0x0e,0xaf,0xf1, 0x03,0x45,0xb7,0x23,0x70,0x37,0x0a,0xc4,0x7b,0x0e,0x6a,0x27,0xb0,0x1f,0x51,0x7c, 0x46,0xf1,0x01,0xb4,0xd7,0x6d,0x6d,0xa2,0x6c,0x08,0xe0,0x0c,0x7e,0xa4,0xff,0x00, 0xf5,0x85,0x71,0xd4,0x5a,0x9d,0x34,0x95,0x90,0xbe,0x1d,0xd7,0x5e,0x57,0x50,0x49, 0xac,0xcd,0x93,0x3d,0x73,0xc2,0xd3,0x34,0xe5,0x73,0xcd,0x03,0x3d,0xa3,0xc2,0x16, 0x45,0x82,0x64,0x50,0x07,0xa1,0xa2,0x6c,0x45,0x5f,0x41,0x40,0x0b,0x40,0x05,0x00, 0x14,0x00,0x50,0x01,0x40,0x1e,0x35,0xfb,0x5f,0xeb,0x07,0x49,0xfd,0x9f,0x3c,0x4e, 0x91,0xe7,0xcd,0xbe,0x11,0x59,0x20,0x07,0x92,0x5e,0x45,0xcf,0xe8,0x0d,0x5c,0x15, 0xe4,0x8c,0xea,0xbb,0x45,0x9f,0x96,0xf2,0xb4,0x29,0xac,0x88,0xef,0x49,0x2c,0xaa, 0xbb,0xa4,0x1f,0x39,0x11,0xf6,0xc7,0xe5,0xd2,0xbb,0x4e,0x3b,0x94,0x62,0x92,0x41, 0x3e,0xa9,0x28,0x50,0x90,0x15,0x58,0xe3,0x03,0x3c,0x92,0x46,0x4f,0x3d,0x33,0x83, 0xc5,0x17,0xb8,0x89,0xec,0xe6,0x78,0x94,0x18,0x15,0x49,0x65,0x21,0x94,0xf4,0x60, 0x7b,0x1a,0x1a,0xba,0xb1,0x49,0xd8,0xc1,0xd5,0xae,0x2f,0x26,0x76,0x82,0xcd,0x63, 0xb7,0xcf,0x06,0x52,0x77,0x15,0xfa,0x0f,0xf1,0xac,0x7d,0x9b,0x34,0x73,0x43,0x74, 0xdd,0x12,0x2d,0x3a,0xd1,0x20,0x80,0xb1,0x6e,0x49,0x76,0x39,0x24,0x9e,0xa4,0xfb, 0xd7,0x42,0x56,0x46,0x4f,0x53,0xa8,0xd2,0x3c,0x51,0x07,0x86,0xbc,0x43,0x61,0xac, 0xcb,0x67,0xa6,0xea,0x66,0xdb,0x05,0xac,0xf5,0x25,0x2d,0x13,0xb0,0x18,0x05,0x80, 0x23,0x23,0xa1,0x1e,0xe3,0x9a,0xe6,0x9a,0xd4,0xda,0x2e,0xe8,0xe3,0x7c,0x59,0xe2, 0x79,0xfc,0x69,0xe2,0x7b,0x89,0x6d,0xfc,0xc9,0x5a,0xe2,0xe1,0xae,0x6e,0xa7,0x2c, 0xce,0xab,0x93,0xb8,0x28,0x63,0xcb,0x1c,0xe3,0xf0,0x15,0x54,0xd6,0xa2,0x9b,0xe8, 0x6b,0xe9,0x91,0x1b,0x7b,0x6b,0xa6,0x41,0xfb,0xdf,0x2c,0x95,0x3d,0xc7,0x23,0x3f, 0xa6,0x6b,0x4a,0x8e,0xc8,0x88,0x6e,0x74,0x56,0xfa,0x7e,0x85,0x1f,0xc2,0xdb,0x9b, 0xdb,0x99,0xac,0x5b,0xc4,0x4f,0xa8,0x46,0xb6,0xc9,0x1d,0xc3,0x79,0xc9,0x16,0x1b, 0xcc,0xdf,0x1f,0x4d,0xbc,0x29,0x07,0x1f,0xc5,0xd7,0x8c,0x57,0x3e,0xb7,0x37,0x3c, 0xea,0x5b,0x84,0xb9,0xd5,0xae,0xe4,0xb7,0xc0,0x56,0x65,0xdd,0xb7,0xa1,0x7d,0xa3, 0x77,0xeb,0x93,0xf5,0x26,0xba,0x69,0xbd,0x0c,0x27,0xb9,0xa5,0x00,0x25,0x72,0x41, 0xfa,0x8a,0xb2,0x4b,0x04,0x83,0xc9,0xcd,0x00,0x41,0x20,0xe7,0x82,0x47,0xbd,0x00, 0x7a,0xa7,0xec,0xd5,0xa7,0x8b,0xff,0x00,0x88,0xf1,0xcc,0xc3,0x2b,0x6d,0x0b,0xbe, 0x7d,0xfa,0x0a,0xca,0xa3,0xd0,0x0f,0x4b,0xf1,0xed,0xd9,0xbc,0xf1,0xae,0xa2,0x54, 0xe4,0x46,0xcb,0x10,0xc7,0xfb,0x20,0x0f,0xe7,0x9a,0xe4,0x96,0xac,0xeb,0xa7,0xa4, 0x4d,0xbf,0x07,0xda,0xb3,0xc8,0x9d,0x7b,0x54,0x1a,0x23,0xe8,0x0f,0x02,0x69,0xa5, 0xda,0x3c,0x83,0xda,0x81,0x9e,0xfb,0xe1,0x7d,0x3c,0x43,0x0a,0x96,0x1d,0x05,0x00, 0x74,0x24,0xe4,0xd0,0x02,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x07,0xcb,0x3f, 0xf0,0x50,0x3d,0x72,0x4b,0x4f,0x87,0x9e,0x1c,0xd2,0x6d,0x5c,0xac,0xb7,0xba,0x91, 0x98,0xed,0x38,0xc2,0xc4,0x84,0xe7,0xf3,0x61,0x5a,0x52,0x57,0x91,0x8d,0x6d,0x8f, 0xcf,0x68,0x9a,0xd5,0xb5,0x0b,0xb9,0x2e,0xf9,0x90,0x13,0xbc,0xb6,0x70,0xce,0x3a, 0x02,0x47,0x6c,0x67,0xa5,0x76,0x25,0x64,0x72,0x3d,0x4c,0xe8,0x5e,0x51,0xa5,0x4c, 0xd2,0xa3,0x46,0x26,0xb9,0x3b,0x15,0xba,0xed,0x51,0xc6,0x7f,0xef,0xaa,0x10,0xcd, 0x4b,0x2d,0x1a,0xe7,0x56,0x9f,0x4f,0xd3,0xb4,0xcb,0x77,0xbb,0xbd,0xbd,0x61,0x1c, 0x50,0x27,0x57,0x62,0x70,0x07,0xbe,0x4d,0x65,0x52,0x4e,0xf6,0x34,0x84,0x7a,0x94, 0x3e,0x29,0x78,0x12,0x5f,0x87,0xba,0xe6,0xa3,0xa6,0xdd,0xc9,0x6e,0x35,0x1d,0x3c, 0x2b,0x4a,0xf6,0xa4,0xf9,0x6e,0x4a,0x06,0x2b,0xc8,0x19,0xe0,0xe3,0x38,0xea,0x3d, 0x2a,0x69,0xcd,0x95,0x28,0xa3,0x2b,0x47,0x95,0xee,0xf6,0x13,0x9c,0x90,0x30,0x3d, 0x6b,0xa5,0xbb,0x18,0x92,0x6a,0xb1,0x34,0xc8,0x63,0x89,0x6d,0x5b,0x1f,0xc3,0x23, 0x1e,0x7f,0x10,0x2b,0x37,0x34,0xcb,0x50,0x66,0x5d,0x85,0xf0,0x8a,0x49,0x20,0x96, 0x1f,0x22,0x58,0xce,0x19,0x38,0xe3,0xf1,0xee,0x3d,0xea,0xe3,0x67,0xb1,0x2e,0xfd, 0x4d,0x54,0x90,0xb2,0x16,0x46,0x29,0x8f,0xe2,0xf4,0xa6,0xd5,0xc4,0x9d,0x8c,0x2b, 0xc8,0xee,0x2e,0xe4,0x68,0xe2,0xbe,0x8a,0x24,0xe8,0x4c,0x40,0x6e,0xff,0x00,0xeb, 0x56,0x5e,0xc8,0xd5,0x4c,0xbd,0xa5,0x68,0xa8,0x64,0xb5,0xb1,0xd3,0x90,0xc9,0x2c, 0xae,0x11,0x17,0x3c,0xb3,0x13,0xc7,0xea,0x6a,0xa7,0x25,0x4e,0x2e,0x4f,0x64,0x87, 0x42,0x8c,0xeb,0xd4,0x54,0xe0,0xae,0xdb,0xb2,0xf9,0x9e,0xe5,0xa6,0x7c,0x13,0xb0, 0xb1,0xb1,0x8d,0xb5,0x68,0xb5,0x3d,0x4a,0x42,0xb9,0x67,0xb6,0x6d,0x91,0x8e,0x48, 0x38,0xc0,0x24,0x8c,0x83,0xc9,0xc6,0x71,0x5f,0x23,0x5b,0x3e,0xc4,0x4d,0xde,0x94, 0x6c,0xbe,0xf3,0xf6,0x8c,0xb7,0xc3,0xcc,0xb6,0x94,0x79,0x71,0xb5,0x6f,0x3e,0xba, 0xd9,0x27,0xd8,0xc8,0xf1,0x2f,0xc1,0xc8,0xa6,0xb1,0x9a,0x7f,0x06,0x4f,0x76,0x2f, 0x22,0x53,0x27,0xf6,0x75,0xe9,0x04,0xca,0xa0,0x64,0xec,0x6c,0x0e,0x71,0xd8,0x8e, 0x7d,0x6b,0x7c,0x1f,0x10,0x4b,0x9d,0x43,0x10,0xb7,0xea,0x70,0xe7,0xfe,0x1b,0xd3, 0xa5,0x49,0xd6,0xc0,0x4a,0xf6,0xe8,0xf5,0xfc,0x4f,0x1a,0xfb,0x5f,0x98,0x7e,0x6e, 0x2b,0xea,0x8f,0xc8,0x64,0xac,0xec,0xcf,0xa1,0x3f,0x64,0xdb,0x10,0xd7,0xfa,0xcd, 0xf3,0x74,0x44,0x58,0xc1,0x3d,0xb3,0xc9,0xfe,0x55,0x9d,0x42,0x4d,0x92,0x4e,0xa9, 0xac,0xdd,0x5c,0x1e,0x7c,0xe9,0x9e,0x4f,0xc0,0x93,0x5c,0x6d,0x9d,0xa9,0x1e,0xad, 0xe0,0x7d,0x1c,0x93,0x1e,0x47,0x5a,0x92,0xcf,0xa2,0xbc,0x05,0xa2,0xed,0x58,0xc8, 0x5f,0x4a,0x00,0xf6,0x1b,0x28,0x05,0xbd,0xb2,0xa8,0x1d,0x45,0x00,0x4d,0x40,0x05, 0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x7c,0x29,0xff,0x00,0x05,0x0d,0xd7,0xa5, 0x93,0xc6,0xde,0x16,0xd2,0xec,0x99,0x89,0xb4,0xd3,0xe5,0x9d,0xd5,0x40,0x38,0xf3, 0x1b,0x6f,0x20,0xf1,0xd1,0x6b,0x7a,0x0a,0xf7,0x39,0xeb,0xbd,0x51,0xf1,0x9c,0x3f, 0x64,0x87,0x4e,0xba,0x99,0x59,0x8b,0xf2,0xea,0x01,0xf9,0x9d,0x8e,0x72,0x7d,0xce, 0x40,0xe3,0xde,0xba,0x76,0x39,0xc8,0xcb,0x48,0xfa,0x7e,0x9e,0x97,0x2a,0x12,0x56, 0x43,0x2b,0xa8,0xec,0x49,0xc7,0xf4,0x14,0x01,0x25,0xdd,0xf0,0x86,0xde,0x22,0xe5, 0xd5,0xa2,0xce,0xc9,0x13,0x9e,0x3a,0xe3,0xd7,0xaf,0xf3,0xac,0xaa,0x26,0xdd,0xd1, 0xa4,0x1f,0x46,0x73,0x7e,0x2c,0xd6,0xb5,0x4f,0x1c,0xdf,0xc9,0xf6,0xa9,0xae,0xae, 0x5e,0xe1,0x83,0x5d,0x5f,0x5d,0x39,0x67,0x90,0x0e,0xc3,0x3c,0xf4,0x00,0x64,0xf6, 0xa9,0x8c,0x5d,0xc7,0x29,0x69,0xa1,0xb1,0xa3,0xc4,0xb6,0x72,0x00,0xc4,0x00,0x54, 0xa8,0x63,0xd1,0x49,0x18,0x06,0xb6,0x96,0xa8,0xce,0x3b,0x9d,0x6e,0x83,0xe2,0xbd, 0x27,0x47,0xf8,0x6d,0xe2,0x6d,0x0e,0xfe,0xda,0x47,0xd5,0xf5,0x19,0xe3,0x78,0x64, 0x5b,0x74,0xc4,0x61,0x4a,0xe3,0xf7,0x84,0xe5,0x54,0x0d,0xff,0x00,0x28,0x1c,0x96, 0x53,0xb8,0x60,0x8a,0xe6,0xb5,0xcd,0xcf,0x28,0xb7,0xbd,0x5d,0x53,0x5a,0xba,0x96, 0xd3,0x0f,0x0c,0x2a,0xb0,0xf9,0x83,0xa3,0x30,0x24,0x9c,0x7d,0x33,0x8a,0xe8,0xa7, 0xa2,0x32,0x9b,0xd4,0xec,0x34,0xdb,0x09,0x6f,0xae,0x34,0xcd,0x3e,0xc9,0x90,0x5c, 0x5f,0xcc,0x91,0x2b,0xb1,0xc0,0x05,0x98,0x28,0xe7,0xb0,0xc9,0xa9,0xa9,0x27,0xb1, 0x50,0x8f,0x52,0x7f,0x8d,0x7e,0x09,0x4f,0x87,0xda,0xe6,0xa3,0xa3,0xc9,0x7c,0x75, 0x06,0xb4,0x81,0x67,0x4b,0xc3,0x17,0x96,0x49,0x2b,0xb8,0x60,0x64,0xfc,0xa4,0x7a, 0x9e,0x87,0xa0,0x35,0x10,0x9b,0x2a,0x49,0x33,0x92,0xf0,0xb6,0xab,0x3d,0x85,0xed, 0x8d,0xfc,0x0d,0x89,0xed,0xe4,0x49,0x90,0x37,0x42,0x41,0xce,0x0d,0x6b,0x5a,0x9a, 0xa9,0x07,0x07,0xb3,0x56,0x2b,0x09,0x89,0x96,0x1a,0xb4,0x2b,0x43,0x78,0xb4,0xfe, 0xe3,0xe9,0x9f,0x0c,0xfc,0x64,0x98,0xdb,0xa4,0x9e,0x1d,0xd5,0x61,0x81,0x78,0x26, 0xce,0xe0,0x26,0xf8,0xc8,0xdd,0xc1,0xc8,0xcb,0x01,0xb9,0xb0,0x47,0x18,0x3f,0x85, 0x7c,0x34,0xe9,0xe2,0x70,0x2f,0x95,0xad,0x3b,0xdb,0x43,0xfa,0x1b,0x05,0x88,0xc9, 0x38,0x92,0x9a,0xa9,0x27,0x69,0xbd,0xd5,0xec,0xd3,0xf4,0xf9,0x74,0x19,0xe2,0x6f, 0x8e,0x96,0x76,0x96,0x91,0x0d,0x41,0x6d,0xda,0xee,0xde,0x5f,0x36,0x24,0xb5,0x90, 0xb3,0xbb,0x64,0x9c,0x60,0xe7,0x00,0xe4,0x75,0x3c,0x00,0x3e,0x94,0xe3,0x4a,0xb6, 0x31,0x28,0x28,0xf5,0xdc,0xd3,0x13,0xfd,0x9d,0x90,0x46,0x78,0x8a,0x95,0xd3,0xbc, 0x6d,0xcb,0xa3,0x6f,0xb5,0xad,0xfe,0x47,0xcd,0x57,0x19,0xb9,0xb9,0x9a,0x79,0x02, 0xab,0xc8,0xed,0x23,0x04,0x18,0x00,0x93,0x9e,0x05,0x7d,0xd5,0x38,0xf2,0xc5,0x47, 0xb2,0x3f,0x9c,0xf1,0x35,0xbd,0xb5,0x49,0x54,0xb5,0xae,0xee,0x7d,0x31,0xfb,0x39, 0xdb,0x1d,0x2b,0xe1,0xae,0xb5,0xa8,0x91,0xb5,0xa4,0x32,0x15,0x23,0xd9,0x70,0x3f, 0x53,0x59,0x55,0x7a,0x99,0x41,0x5d,0xa3,0x63,0xc2,0xba,0x61,0x9a,0x54,0xc8,0x3d, 0xab,0x95,0x9d,0x88,0xf7,0xdf,0x01,0xe8,0xb9,0x31,0xe0,0x7a,0x52,0x28,0xfa,0x1f, 0xc1,0xda,0x50,0x86,0x14,0x25,0x7a,0x0a,0x00,0xeb,0xfe,0x94,0x00,0x94,0x00,0x50, 0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x07,0xe6,0x67,0xed,0xb7,0xe2,0x19,0x75,0x8f, 0x8e,0x9e,0x23,0x8e,0x17,0x61,0x6d,0x63,0x04,0x16,0x6c,0xe0,0x64,0x26,0xd4,0x04, 0xf3,0xd8,0xe5,0x8d,0x74,0xd1,0x5a,0x1c,0x95,0x5f,0xbc,0x7c,0xeb,0x78,0x90,0xe9, 0xba,0x20,0x7b,0x52,0xcf,0x31,0x6d,0x91,0xc6,0xa7,0x3c,0xe4,0x75,0x1d,0x79,0x19, 0x39,0xad,0xcc,0x89,0x6e,0x63,0x76,0xbd,0x8a,0x14,0x18,0x2b,0x1c,0x71,0xe3,0xdf, 0x03,0x3f,0xad,0x00,0x59,0xb4,0xf0,0xce,0xa7,0xe2,0xab,0xe9,0x6c,0x3c,0x3d,0x05, 0xe5,0xed,0xc4,0x48,0xce,0xd0,0xda,0x2a,0xb3,0x10,0x3a,0x90,0x08,0x24,0xe3,0xd0, 0x56,0x2e,0xa5,0x8d,0x14,0x3b,0x9c,0x54,0xb7,0x37,0x1a,0x4e,0xa0,0xb0,0x4c,0xcb, 0x34,0x72,0x02,0xd1,0xca,0x06,0x09,0x03,0xa8,0x23,0xd4,0x71,0xf9,0xd6,0xb0,0x97, 0x32,0x22,0x4a,0xc6,0xcd,0x9c,0xe6,0xe2,0x0c,0xbe,0x71,0xec,0x32,0x7f,0x2a,0x7b, 0x08,0xc3,0xd6,0x52,0x37,0x6c,0x5d,0x1b,0xd8,0x6d,0xdb,0x0b,0xf3,0x64,0x21,0xf6, 0x24,0x74,0xfa,0x56,0x7c,0xb1,0x6c,0xbb,0xb4,0x5c,0xd3,0xd2,0xda,0xd2,0xd9,0x62, 0xb2,0x54,0x44,0x03,0x80,0xa3,0x00,0x56,0xa9,0x58,0x8d,0xc9,0xef,0x2e,0xe5,0x86, 0x15,0xd9,0x19,0x91,0x53,0x95,0x2a,0x70,0x54,0xd6,0x73,0x8b,0x7a,0xa2,0xe3,0x2b, 0x18,0x3a,0xd5,0xde,0xad,0xe2,0xeb,0xa6,0xfe,0xd2,0x79,0x44,0x72,0x30,0x33,0xcd, 0x71,0x29,0x92,0x59,0x80,0xec,0x49,0xed,0xc7,0xbf,0x14,0x94,0x5d,0xf5,0x29,0xc8, 0xec,0x7c,0x01,0xf0,0xe3,0x59,0xf8,0x81,0xe2,0x28,0x34,0x7f,0x08,0xda,0x35,0xe5, 0xf4,0x8a,0x5b,0x1b,0x82,0xa4,0x68,0x3a,0xbb,0xb1,0xe1,0x54,0x7a,0xd6,0x38,0xdc, 0x75,0x2c,0x1d,0x27,0x56,0xb3,0xb2,0x43,0xa3,0x46,0x55,0xa5,0xc9,0x05,0xa9,0xee, 0xef,0xfb,0x06,0xf8,0x92,0xea,0xcf,0x73,0x78,0xb3,0xc3,0x0b,0x79,0x8c,0x8b,0x76, 0x8e,0x62,0xa0,0xfa,0x6f,0xdb,0xfd,0x2b,0xe4,0xa5,0xc6,0xb4,0x1c,0xad,0xc8,0xed, 0xf2,0x3d,0x98,0xe4,0xd3,0x4b,0x7d,0x4f,0x13,0xf8,0x89,0xf0,0x9f,0xc4,0x5f,0x07, 0xb5,0xa4,0xd3,0x7c,0x6f,0xa7,0xfd,0x92,0x49,0x94,0xbc,0x17,0x11,0xb8,0x92,0x1b, 0x85,0x1f,0xc4,0x8e,0x38,0x3f,0x4e,0xa3,0xb8,0x15,0xf4,0xf9,0x76,0x67,0x43,0x1d, 0x0e,0x6a,0x0e,0xff,0x00,0x9a,0x3c,0xbc,0x56,0x1e,0x74,0x65,0x69,0xa3,0x94,0xde, 0x09,0x20,0x1e,0xb5,0xe8,0xdc,0xe4,0x67,0xd6,0x7e,0x07,0xd3,0x7f,0xb1,0x3e,0x0a, 0x59,0xc0,0x38,0x7b,0xa5,0x4c,0xfb,0xee,0x6c,0x9f,0xd0,0x57,0x35,0x59,0x1a,0x52, 0x57,0x91,0xd7,0x78,0x23,0x47,0x2c,0xc8,0x48,0xeb,0x8a,0xe7,0x3a,0xd1,0xf4,0x4f, 0x80,0xb4,0x3c,0x08,0xc9,0x5f,0x4e,0x94,0x0c,0xf6,0xcd,0x2e,0xd4,0x5a,0xda,0xa8, 0x03,0x06,0x80,0x2d,0xd0,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x0a,0xbd, 0x45,0x00,0x7e,0x40,0xfc,0x72,0xd7,0x64,0xf1,0x5f,0xc4,0x8f,0x17,0x5c,0x4d,0x21, 0x16,0xd7,0x5a,0xb5,0xc1,0x59,0x00,0xc1,0x20,0x31,0x5d,0xa0,0xfb,0x85,0x15,0xd9, 0x4d,0x5a,0x28,0xe2,0x9b,0xbb,0x67,0x07,0x7e,0x91,0xdb,0xcf,0xa7,0x41,0x09,0x32, 0x49,0x74,0xc1,0x4a,0xa8,0xc8,0x0a,0x7b,0xe7,0xdb,0xa1,0xad,0x0c,0xc9,0x24,0xb9, 0xc6,0xa9,0x25,0xca,0x0c,0xfe,0xf4,0xb8,0x53,0xdf,0x9c,0x8a,0x06,0x4b,0x63,0xe2, 0x49,0x3c,0x2f,0x26,0xa5,0x36,0x9e,0x61,0x56,0xbc,0xb6,0x7b,0x65,0xb9,0x7e,0x1e, 0x04,0x72,0x37,0x6d,0xe7,0x86,0x2a,0x0a,0x93,0xe8,0xc7,0xd6,0xb9,0x9a,0xb1,0xbe, 0xe7,0x9f,0xc9,0x33,0xeb,0x7a,0xc7,0x99,0x6c,0x8d,0xf6,0x4b,0x75,0x2a,0xae,0x46, 0x37,0xb1,0xc6,0x48,0xf6,0x18,0x02,0xb5,0xa4,0xad,0xa9,0x13,0x3a,0x58,0xd3,0xec, 0xfa,0x4a,0xf9,0x67,0xe7,0x67,0xc3,0x1f,0x6c,0x71,0xfd,0x7f,0x2a,0x2a,0x04,0x0e, 0xbb,0xe3,0x26,0x95,0xe1,0x2f,0x0f,0x49,0xa4,0x47,0xe0,0xbb,0xc8,0x6f,0x6d,0xa4, 0xd3,0x55,0xf5,0x09,0x12,0x7f,0x35,0x4c,0x9c,0x86,0x3d,0x4e,0xdc,0x81,0x9c,0x70, 0x46,0x46,0x42,0x9a,0xc9,0x5d,0x33,0x4d,0xcf,0x2d,0xf0,0xe2,0x34,0xf0,0x5b,0x75, 0x3b,0xc0,0x23,0x3d,0xf3,0xd2,0xba,0xae,0x73,0xb3,0xaf,0xd2,0x7c,0x23,0xa9,0xf8, 0xc6,0xee,0xee,0xd3,0xc3,0x96,0x17,0x1a,0x8c,0x96,0x91,0x19,0xa5,0x58,0xa4,0x29, 0xb5,0x41,0x00,0x9e,0x08,0xc9,0xc9,0x00,0x0e,0x49,0x27,0x81,0x58,0xca,0xa3,0x46, 0xaa,0x08,0xe3,0x6e,0xe6,0x6d,0x3a,0xf2,0x05,0x8e,0x56,0x78,0x66,0x0d,0xb4,0x39, 0xcb,0x2b,0x0c,0x64,0x67,0xb8,0xe4,0x11,0xf8,0xd6,0x90,0x97,0x36,0xe4,0xce,0x36, 0x3e,0x9f,0xfd,0x88,0xfc,0x73,0xa5,0xf8,0x7f,0xc6,0x3a,0xc6,0x97,0xab,0xbc,0x16, 0xf7,0x9a,0xbd,0xbc,0x49,0x67,0x34,0xc7,0x01,0xde,0x36,0x24,0xc5,0x9e,0xc5,0xb2, 0x08,0xf5,0x2b,0x8f,0x4a,0xf9,0x3e,0x2f,0xc2,0xd4,0xa9,0x46,0x15,0x60,0xae,0xa1, 0x2b,0xb4,0x7a,0x79,0x4d,0x58,0xc6,0x6e,0x32,0x76,0xba,0x3e,0xd2,0x6b,0xd8,0x15, 0xcf,0xda,0x6d,0xdc,0xb1,0x23,0x3c,0x8c,0xf4,0x3d,0xfe,0xa7,0x35,0xf1,0x11,0xc5, 0x61,0xa7,0xfc,0x48,0x6e,0x7b,0x6e,0x9d,0x45,0xf0,0xc8,0xf0,0x5f,0xdb,0x77,0x5a, 0xd1,0x1b,0xe0,0xe5,0xb5,0x85,0xf1,0x8f,0xfb,0x4e,0x4d,0x4a,0x19,0x34,0xd8,0xdc, 0xe6,0x45,0x0a,0xa7,0xce,0x61,0xe8,0xb8,0x20,0x1e,0xd9,0xc5,0x7b,0x5c,0x2e,0xaf, 0x98,0x39,0x50,0x4d,0x41,0x47,0x5f,0xeb,0xd4,0xe2,0xcc,0xe5,0xfb,0x94,0xa6,0xfd, 0xeb,0x9f,0x0c,0xe9,0xb0,0xb5,0xcd,0xd4,0x11,0x28,0x24,0xc8,0xea,0xa0,0x7d,0x4d, 0x7e,0x94,0x7c,0xd9,0xf6,0xc5,0xed,0x97,0xd9,0xf4,0x2d,0x1b,0x4e,0x8c,0x60,0x26, 0x38,0x1f,0xec,0xa8,0x1f,0xd6,0xb9,0x2a,0x9b,0xd0,0x5d,0x4f,0x44,0xf0,0x26,0x8b, 0x93,0x1f,0xcb,0x59,0x1d,0x27,0xd1,0x5e,0x0a,0xd2,0x04,0x51,0xa7,0x14,0x01,0xdd, 0xe3,0x00,0x01,0xd0,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00, 0x66,0x78,0xa3,0x56,0x4d,0x07,0xc3,0x3a,0xb6,0xa5,0x33,0x6c,0x4b,0x4b,0x49,0x67, 0x2c,0x7b,0x6d,0x52,0x68,0x62,0x7a,0x23,0xf1,0x8f,0x5e,0xbd,0x93,0x57,0xb8,0x47, 0xb9,0x7d,0xa0,0x39,0x94,0x85,0xfe,0x32,0x49,0x23,0x3f,0x89,0xae,0xf8,0xab,0x23, 0x85,0xea,0x56,0x2e,0xb6,0x1e,0x20,0x8e,0xdd,0x5b,0x7b,0xc6,0x8d,0x2b,0x90,0xb8, 0xdb,0xb4,0x1f,0xcc,0x1c,0x70,0x6a,0x88,0xd8,0x82,0x37,0xc2,0x33,0x30,0x24,0x75, 0x20,0x52,0x6e,0xc8,0xa4,0x9b,0x32,0xaf,0xda,0xe6,0xe1,0x0a,0xc4,0x96,0xd2,0x8f, 0xf9,0xe7,0xb8,0xee,0x3f,0x4c,0x8c,0x66,0xb3,0xe7,0x4c,0xbe,0x46,0x66,0xda,0xea, 0x22,0x64,0x51,0x10,0xd9,0x8e,0x0a,0xe3,0x91,0x5a,0x5a,0xdb,0x12,0xdd,0xcd,0x59, 0x67,0x29,0x66,0x4b,0x48,0x91,0x29,0x18,0xf9,0xf1,0x83,0x4a,0x51,0xb8,0x45,0xd8, 0xe6,0xef,0x2c,0x25,0xd6,0x4f,0x97,0x79,0x74,0xbf,0x64,0xce,0x4c,0x70,0xf0,0x24, 0xfa,0x9f,0x4f,0x6a,0x85,0x0b,0x32,0xdc,0xee,0x6a,0x5a,0xb2,0xdb,0x4a,0xbe,0x56, 0x06,0xcc,0x15,0xad,0x0c,0xce,0x87,0xc2,0x9f,0x15,0x6e,0xfe,0x1a,0x5f,0xea,0x77, 0x7a,0x0b,0xda,0x47,0x3d,0xed,0xb3,0xdb,0x17,0xb8,0x42,0xcd,0x10,0x6e,0xa5,0x70, 0x47,0x23,0xb6,0x72,0x3a,0x1c,0x64,0x0a,0xc1,0xab,0x1b,0x5f,0x98,0xf3,0xb5,0x92, 0x5d,0x63,0x51,0x59,0xd1,0x1d,0x2d,0x6d,0xd4,0xac,0x7b,0xc6,0x0b,0xb1,0xc6,0x4e, 0x3f,0x0a,0xd2,0x9a,0xea,0x4c,0xd9,0xb9,0x6c,0x92,0x24,0x6b,0xf7,0xc3,0x75,0x50, 0x80,0x93,0xf5,0xe2,0xb4,0x95,0xba,0x90,0x8e,0xde,0xd3,0xe3,0xe7,0xc4,0x9d,0x0a, 0xc8,0x5a,0xda,0xf8,0xaf,0x5b,0x8a,0xd5,0x46,0xd5,0x37,0x0a,0x24,0xda,0x3d,0x03, 0x30,0x24,0x7e,0x75,0xe3,0x55,0xc8,0xb0,0x15,0x65,0xcd,0x2a,0x6a,0xff,0x00,0x77, 0xe4,0x76,0x47,0x19,0x5e,0x1a,0x73,0x1c,0xb6,0xad,0xaf,0x6a,0x7e,0x28,0xbf,0x6b, 0xff,0x00,0x12,0xea,0x37,0x7a,0xad,0xeb,0x8c,0x19,0xee,0xa4,0x2e,0xd8,0xf4,0x19, 0xe8,0x3d,0xab,0xd1,0xc3,0x61,0x29,0xe1,0xe3,0xc9,0x4a,0x29,0x2f,0x23,0x9a,0xa5, 0x59,0x54,0x77,0x93,0xb9,0xb3,0xf0,0xe6,0xc7,0xfb,0x5b,0xc6,0xda,0x35,0xb0,0x5c, 0x83,0x72,0xa4,0xe3,0xd0,0x1c,0xff,0x00,0x4a,0xdd,0xec,0x66,0x7d,0xa9,0xf6,0x3f, 0xb6,0x6a,0x56,0xaa,0x07,0x08,0x99,0xfc,0xcf,0xff,0x00,0x5a,0xb8,0xea,0xee,0x75, 0x50,0x56,0x47,0xb3,0xf8,0x07,0x43,0xc9,0x8c,0x95,0xac,0xcd,0x8f,0x75,0xd0,0xec, 0xc5,0xad,0xa8,0x38,0xc7,0x14,0x01,0xa3,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40, 0x05,0x00,0x14,0x01,0xe6,0x9f,0xb4,0xb5,0xf3,0xe9,0xdf,0x01,0x7c,0x6d,0x3c,0x24, 0xab,0x8d,0x3d,0xd3,0x23,0xb6,0xe2,0x07,0xf5,0xa1,0x6e,0x89,0x9e,0xc7,0xe4,0x8d, 0xd1,0x97,0x55,0xd4,0xa2,0x2e,0xe1,0x15,0x46,0xd4,0x88,0x1e,0x01,0x3d,0x7e,0x83, 0x8e,0x95,0xe8,0x23,0x84,0xad,0x6b,0x34,0x71,0x4f,0xa8,0xac,0x4c,0x1c,0xc5,0x10, 0x4d,0xe0,0x63,0x25,0xb1,0xfd,0x33,0x40,0x86,0x47,0x2e,0xeb,0x49,0xe3,0x53,0xf3, 0x90,0x08,0xf7,0xc1,0xe4,0x7f,0x9f,0x4a,0x8a,0x9b,0x17,0x0d,0xce,0x97,0xc6,0x7e, 0x2c,0xf0,0xc5,0xe7,0x80,0xf4,0x6d,0x3f,0x45,0x82,0xe2,0xce,0xef,0x4d,0x72,0xf2, 0x3c,0xf0,0x22,0xee,0x0e,0x83,0xcd,0x66,0x94,0x31,0x2f,0x99,0x14,0x15,0x04,0x0d, 0xab,0xc7,0xd7,0x0b,0x6b,0x73,0x54,0x79,0x46,0x94,0xed,0x7f,0x39,0xb9,0x60,0x51, 0x2e,0x25,0x67,0x00,0xf1,0xf2,0x93,0xc7,0xe7,0xd7,0xf1,0xae,0x98,0xec,0x62,0xf5, 0x67,0xa5,0x78,0x23,0xc1,0x72,0xf8,0xef,0xc5,0x8b,0xa3,0xda,0xdd,0x25,0x8a,0xa4, 0x2d,0x2c,0x97,0x2d,0x11,0x90,0xaa,0xa8,0x1d,0x14,0x72,0x49,0x25,0x40,0x03,0xd6, 0xb1,0x9c,0x8d,0x62,0x92,0x38,0x3f,0x13,0xd8,0x0d,0x1f,0x56,0x96,0x1c,0xc4,0xb7, 0x30,0x5d,0x35,0xac,0xad,0x17,0xdd,0x97,0x04,0x8c,0xfb,0xf2,0xbd,0x7d,0x0d,0x5d, 0x39,0x0a,0x6a,0xc2,0xe9,0x71,0x99,0xbc,0xc7,0x73,0xf2,0x27,0x24,0x9e,0x82,0xb5, 0x93,0x48,0xcd,0x2b,0x92,0xde,0x69,0x73,0xcf,0x6b,0x15,0xda,0x28,0x16,0xf2,0x48, 0xd1,0x24,0x92,0x42,0x44,0x6e,0xea,0x01,0x2a,0x1f,0x27,0x90,0x19,0x7b,0x77,0x1d, 0x2b,0x2e,0x73,0x4e,0x4b,0x19,0xb0,0xde,0x09,0x09,0x42,0x86,0x36,0x56,0xda,0xca, 0x7b,0x11,0xda,0xb6,0x56,0x33,0x66,0xf5,0x94,0x36,0xf7,0xda,0xbe,0x9d,0x69,0x73, 0x70,0x2d,0x2c,0xe7,0x96,0x24,0x96,0x73,0xd1,0x15,0x88,0x0c,0xc7,0xe9,0x93,0xf9, 0x57,0x3c,0x9b,0x6c,0xd6,0x3b,0x1e,0x93,0xf1,0xb3,0xc0,0x3a,0x0f,0xc3,0xab,0x3d, 0x16,0xe7,0xc2,0x57,0x17,0x42,0x6b,0xa6,0x91,0x5e,0x39,0x64,0x12,0xab,0xa2,0x9c, 0x06,0xcf,0xbf,0x1c,0x74,0x21,0xba,0x70,0x6a,0x52,0x63,0x4e,0xe7,0x8f,0xde,0xcb, 0x0f,0xf6,0x93,0x9b,0x05,0x58,0xe1,0x92,0x34,0x90,0xc4,0xbd,0x23,0x72,0x3e,0x65, 0x1e,0xd9,0xe4,0x7b,0x11,0x5b,0xd3,0x77,0x46,0x53,0xdc,0xf5,0x2f,0xd9,0xdb,0x4e, 0xfb,0x77,0xc4,0x08,0xa6,0x61,0x91,0x6d,0x0b,0xc9,0x9f,0x7e,0x83,0xf9,0xd3,0x91, 0x27,0xda,0x9e,0x1b,0xd2,0xcd,0xc6,0xa0,0x18,0x8e,0x81,0x47,0xe9,0x5c,0x33,0x77, 0x67,0x6d,0x35,0x68,0xa3,0xdf,0xfc,0x0d,0xa3,0x79,0x71,0xc7,0xc5,0x49,0x67,0xa4, 0x22,0x08,0xd0,0x28,0xed,0x40,0x0b,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05, 0x00,0x14,0x01,0xe7,0x1f,0xb4,0x85,0x83,0x6a,0x7f,0x02,0x3c,0x6d,0x6f,0x10,0xcb, 0x9d,0x39,0xdc,0x0f,0xf7,0x70,0x7f,0xa5,0x0b,0x72,0x67,0xb3,0x3f,0x22,0xae,0x0c, 0xba,0x9e,0xa0,0x1e,0x22,0xb6,0xd0,0x42,0x9f,0x74,0xff,0x00,0x0f,0x4f,0x4e,0x71, 0x9e,0x9f,0x5a,0xf4,0x0e,0x16,0x53,0xb6,0x74,0x1a,0x6d,0xd3,0x42,0x17,0x2f,0x3e, 0xd2,0x47,0x39,0x2b,0x9c,0xf3,0xdf,0x92,0x28,0x12,0x77,0x33,0xe4,0x56,0x00,0x93, 0x90,0x0d,0x0d,0x5c,0xa4,0xec,0x67,0xdd,0x69,0xc9,0x77,0xff,0x00,0x1f,0x45,0xa6, 0x50,0x73,0xb1,0xd8,0x91,0xf9,0x54,0x7b,0x34,0x3e,0x76,0xc7,0x3a,0xec,0x2b,0xe5, 0x80,0x02,0xf4,0x02,0xae,0xd6,0x24,0xb9,0x6b,0xe2,0x4d,0x4b,0x43,0xbd,0x8e,0xf7, 0x45,0x9e,0xf6,0xce,0xf5,0x14,0xaa,0xdc,0x5a,0x48,0x63,0x70,0x08,0xc1,0xe4,0x10, 0x47,0x1c,0x56,0x52,0x8b,0x4e,0xe8,0xd2,0x32,0xd3,0x53,0x9f,0x16,0xb7,0x5a,0x85, 0xf0,0xb8,0xbd,0xc4,0x71,0xc7,0x9d,0x91,0xe7,0x24,0x93,0xfc,0x44,0xd3,0x84,0x5e, 0xec,0x52,0x95,0xcd,0x7b,0x52,0xb0,0xda,0xcd,0x08,0xc2,0x96,0xc1,0x19,0xee,0x41, 0xe9,0x55,0x3d,0x50,0x41,0xd9,0x9d,0x97,0x8c,0x7c,0x7b,0xa1,0xdd,0xfc,0x34,0xd0, 0x74,0xab,0x6b,0x2b,0x64,0xd4,0xed,0xd4,0x7d,0xb2,0xe5,0xad,0x92,0x2f,0xb3,0xec, 0x2c,0xa3,0x63,0x0c,0x17,0x32,0x2e,0xc2,0xe5,0xb3,0xf7,0x00,0x1d,0xeb,0x1b,0x1a, 0x6a,0x79,0x2d,0x8d,0xc4,0x97,0x2c,0xf7,0x0c,0x08,0x33,0x48,0x5c,0x29,0xea,0x17, 0xb6,0x6b,0xa2,0x0a,0xc8,0xc6,0x4e,0xec,0xd0,0xb9,0xba,0x96,0x34,0xca,0x32,0x02, 0x79,0xda,0xfd,0x2a,0x65,0x0b,0x95,0x19,0x34,0x53,0x92,0xe7,0x54,0xba,0x01,0x23, 0x30,0x44,0xbd,0x03,0x60,0xb1,0x03,0xda,0x97,0x23,0x0e,0x72,0xf5,0x8d,0x90,0xb3, 0x88,0x2b,0x3b,0x4b,0x21,0x39,0x67,0x6e,0xa4,0xd6,0x91,0x56,0x44,0xb7,0x73,0xe8, 0x7f,0xd9,0x6b,0x4c,0xf3,0x6f,0xb5,0x6b,0xc2,0xa4,0x10,0xb1,0xc2,0xa7,0xea,0x72, 0x6a,0x24,0xc4,0x7d,0xbf,0xe0,0x7d,0x1b,0xcc,0x98,0x36,0xde,0xa7,0xbd,0x70,0xb3, 0xbd,0x68,0x8f,0x7a,0xf0,0xdd,0x80,0xb6,0xb6,0x0c,0x40,0xe9,0x40,0xcd,0x9a,0x00, 0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x33,0xfc,0x45,0xa3, 0xa7,0x88,0x7c,0x3f,0xa9,0xe9,0x73,0xe3,0xcb,0xbd,0xb6,0x92,0xdc,0xe7,0xfd,0xa5, 0x23,0xfa,0xd0,0x26,0xae,0x7e,0x32,0x78,0xab,0xc3,0x57,0x7e,0x1d,0xd7,0xf5,0x6d, 0x36,0xf3,0xfd,0x1a,0x5b,0x2b,0x87,0xb6,0x93,0x7b,0x6c,0x39,0x04,0x8c,0x7e,0x38, 0xae,0xe8,0x3e,0x68,0xdc,0xe1,0x6a,0xcc,0xc5,0x31,0xc7,0x6d,0xa4,0xda,0x24,0x40, 0x00,0xdb,0x9f,0x0a,0x3b,0x13,0x81,0xfc,0xaa,0x9b,0x11,0x41,0xce,0x54,0xf7,0x1e, 0x94,0x5e,0xe0,0x40,0xe0,0x1f,0xbb,0x9c,0x50,0x04,0x2d,0x1b,0x13,0x95,0x52,0x7d, 0x85,0x01,0x61,0x44,0x53,0x05,0x19,0x53,0x8f,0xa5,0x17,0x1d,0x86,0x95,0x60,0x7e, 0x70,0x47,0xe1,0x40,0x58,0x64,0x91,0x2c,0x80,0x86,0xe8,0x7b,0x50,0x06,0x6d,0xd6, 0x8d,0x0c,0x8e,0x1a,0x54,0x32,0x60,0xe4,0x07,0x24,0x81,0x49,0x45,0x5c,0x7c,0xcc, 0xd0,0xf0,0xee,0x86,0x9a,0xbe,0xb1,0x6d,0x69,0x23,0xf9,0x69,0x2b,0x80,0xcc,0x3b, 0x28,0xe4,0xe3,0xdf,0x02,0xac,0xe3,0xc6,0xe2,0x3e,0xaf,0x46,0x55,0x52,0xbd,0x91, 0xef,0x5e,0x10,0xf8,0x78,0xda,0xae,0x90,0x66,0xf0,0xdd,0xb6,0x97,0x00,0x32,0xbc, 0x30,0x5b,0xc9,0x6e,0x64,0x79,0xd9,0x15,0x59,0xf7,0x3e,0xd2,0x07,0x0e,0xb8,0xdc, 0x46,0x4f,0x02,0xa5,0xb4,0x8f,0x89,0x8d,0x3c,0x4e,0x35,0x7b,0x49,0x54,0x77,0xbf, 0x9f,0xe9,0xb1,0x87,0xe3,0xcf,0x85,0x71,0xad,0xd5,0xfe,0x95,0x7b,0x65,0x67,0xa3, 0xf8,0xa2,0xd2,0x36,0x94,0x0b,0x36,0x5d,0x92,0x10,0x37,0x79,0x72,0x2a,0xf0,0x18, 0x81,0x90,0x78,0x23,0x23,0x3d,0x69,0x5f,0xaa,0x3a,0x30,0xb8,0xec,0x4e,0x02,0xba, 0xa3,0x5e,0x57,0x8b,0x7e,0xb6,0x3c,0x4a,0x19,0xc4,0xb1,0xab,0x0c,0x8c,0x8c,0xe0, 0xd6,0x87,0xdc,0x2d,0x4f,0xad,0x7f,0x65,0x2d,0x15,0x8f,0x87,0xa2,0x7c,0x1d,0xf7, 0x57,0x45,0xbf,0xe0,0x2b,0x5c,0xf5,0x5d,0x8a,0x82,0xbb,0x47,0xdd,0x5e,0x04,0xd1, 0x02,0x2a,0x12,0xb5,0xc8,0x77,0x1e,0xa9,0x04,0x42,0x18,0x55,0x47,0x6a,0x00,0x7d, 0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x00,0xe3,0xa5, 0x00,0x7e,0x7b,0x7f,0xc1,0x40,0x7e,0x0a,0x4d,0xa0,0x78,0x8d,0xbc,0x6f,0xa2,0xc2, 0x5b,0x48,0xd5,0xca,0xad,0xf2,0x20,0xe2,0x3b,0x80,0x3a,0x9f,0xf7,0x87,0x3f,0x5c, 0xd6,0xd4,0xa7,0x6d,0x19,0xcf,0x56,0x17,0xd5,0x1f,0x1c,0x4b,0x78,0x66,0x58,0x94, 0x00,0x16,0x35,0xd8,0x00,0x1d,0xb9,0x3f,0xd6,0xb7,0x6c,0xc5,0x22,0x5b,0x6b,0x63, 0x36,0x32,0xbf,0x95,0x17,0x02,0xda,0x69,0x00,0x9e,0x45,0x17,0x02,0xcc,0x1a,0x4a, 0x67,0xe6,0x20,0x7e,0x14,0xae,0x87,0xb1,0x69,0xf4,0xd8,0x90,0x61,0x48,0xa3,0x99, 0x01,0x42,0xe7,0x4c,0x57,0x38,0x00,0x66,0x8b,0xa1,0x19,0x73,0x69,0xbe,0x53,0x64, 0x0a,0xa1,0x95,0xa5,0xb5,0x27,0xb5,0x3b,0x8b,0x72,0x9a,0x99,0xb4,0xe9,0xd2,0x7b, 0x66,0x64,0x92,0x36,0x0c,0xac,0x3b,0x11,0xd2,0xaa,0xe6,0x55,0x29,0xc6,0xa4,0x5c, 0x24,0xb4,0x67,0x5d,0xa5,0x7c,0x57,0x6d,0x3e,0x32,0x05,0xce,0xa3,0xa5,0xc8,0xcc, 0xae,0xeb,0x6a,0xed,0xe5,0xbb,0xa9,0xca,0xb6,0x01,0xea,0x0f,0x23,0x23,0x8a,0x7c, 0xd6,0x3e,0x52,0xae,0x49,0x88,0xa2,0xff,0x00,0xd9,0xdd,0xd7,0xad,0x99,0x4b,0x5d, 0xf8,0xb7,0x2d,0xfb,0xb7,0xd8,0xcd,0xd5,0xdd,0xd9,0x80,0x5b,0x2d,0xdc,0xc0,0x2f, 0x96,0x81,0x76,0x8c,0x77,0x24,0x0e,0x07,0xff,0x00,0x5a,0x93,0x77,0x2e,0x86,0x47, 0x5a,0xad,0x48,0xcf,0x12,0xf4,0x5f,0x7b,0xb1,0xc5,0x5a,0x40,0xd2,0x4b,0x14,0x36, 0xe0,0xb3,0xb9,0x08,0x8a,0x3b,0x93,0xc0,0xa6,0xdd,0x91,0xf5,0x67,0xe8,0xe7,0xec, 0xd5,0xe0,0x07,0xd2,0xb4,0x4b,0x15,0x91,0x30,0x2d,0xa2,0x11,0xe7,0xd5,0xcf,0x2d, 0xfc,0xeb,0x8a,0xa4,0xae,0x6f,0x46,0x3d,0x4f,0xaf,0x7c,0x2f,0xa6,0x0b,0x68,0x15, 0x8a,0xe3,0x02,0xb2,0x3a,0x4e,0x84,0x9c,0x9a,0x00,0x4a,0x00,0x28,0x00,0xa0,0x02, 0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0xc9,0xf1,0x67,0x85,0x34,0xbf, 0x1c,0x78,0x76,0xfb,0x43,0xf1,0x3d,0xaa,0x5e,0x69,0xb7,0x91,0x98,0xe5,0x89,0xbf, 0x42,0x0f,0x62,0x3a,0x83,0x40,0x9a,0xb9,0xf2,0x4c,0x9f,0xf0,0x4d,0xff,0x00,0x08, 0xe9,0xf7,0xd3,0x5c,0x4d,0xe2,0x3f,0x10,0xdd,0xdb,0x17,0x2d,0x1d,0xb2,0xa4,0x51, 0xed,0x5e,0xc0,0xb6,0x09,0x3f,0xa5,0x57,0x3b,0x23,0xd9,0x23,0x4a,0xd3,0xf6,0x35, 0xf0,0x56,0x96,0x71,0x16,0x95,0x71,0x73,0x8f,0xe2,0xb8,0xb8,0x76,0xcf,0xe4,0x45, 0x1c,0xec,0xae,0x44,0x6a,0xc1,0xfb,0x2d,0x78,0x46,0x31,0x81,0xe1,0xdb,0x13,0xfe, 0xf2,0xb1,0xfe,0x66,0x97,0x33,0x0e,0x48,0xf6,0x1d,0x3f,0xec,0xab,0xe0,0xe9,0x97, 0x0f,0xe1,0xdb,0x21,0xee,0x9b,0x94,0xfe,0x86,0x8e,0x66,0x1c,0x8b,0xb1,0x89,0xa9, 0x7e,0xc7,0x5e,0x10,0xb9,0x56,0xf2,0x74,0xeb,0xab,0x52,0x7f,0x8a,0x0b,0x97,0x18, 0xfc,0x09,0x22,0x9f,0x3b,0x13,0x82,0x67,0x09,0xe2,0x1f,0xd8,0x86,0xdc,0x86,0x7f, 0x0f,0xeb,0x17,0xb6,0xed,0xda,0x3b,0xb8,0x96,0x45,0x3f,0x88,0xc1,0xfe,0x74,0xf9, 0xd9,0x2e,0x92,0xe8,0x79,0x27,0x8b,0xbf,0x65,0xef,0x1b,0x78,0x6d,0x5d,0xd3,0x4f, 0x4d,0x56,0xdd,0x79,0xf3,0x2c,0x1b,0x79,0xc7,0xfb,0x87,0x0d,0xf9,0x03,0x56,0xaa, 0x58,0x87,0x49,0xa3,0xca,0xef,0x7c,0x35,0x2d,0xac,0xef,0x0d,0xdc,0x12,0xc1,0x32, 0x1c,0x34,0x72,0xa9,0x56,0x07,0xdc,0x1e,0x95,0xa2,0x9d,0xcc,0xdc,0x5a,0x31,0xef, 0xb4,0x66,0x88,0x9d,0xcb,0xc5,0x5a,0x64,0x9c,0xd6,0xa1,0xa7,0x88,0xd8,0xed,0x02, 0xa9,0x31,0x34,0x63,0x4a,0xe9,0x19,0x3c,0x0c,0xfa,0x55,0x08,0xf6,0xaf,0xd9,0x6b, 0xe1,0x0d,0xff,0x00,0xc4,0x8f,0x1a,0x43,0xa8,0x1b,0x72,0xd6,0x56,0x8d,0x95,0x76, 0x1f,0x29,0x7f,0x5f,0xa0,0xfe,0x78,0xac,0x2a,0xd4,0xb6,0x85,0xc6,0x1c,0xce,0xc7, 0xea,0x4f,0x80,0x3c,0x11,0x16,0x8b,0x63,0x6f,0x6f,0x02,0x10,0x91,0xae,0x32,0x47, 0x24,0xf7,0x26,0xb9,0x4e,0xc8,0xab,0x2b,0x1e,0x93,0x0c,0x42,0x08,0xc2,0x2f,0x6a, 0x06,0x3a,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02, 0x80,0x0a,0x00,0x28,0x00,0x65,0x0c,0x30,0xe0,0x11,0xef,0x40,0x11,0x9b,0x58,0x49, 0xe6,0x31,0x40,0x00,0xb5,0x88,0x74,0x41,0x40,0x07,0xd9,0xa2,0xfe,0xe0,0xa0,0x04, 0x6b,0x38,0x5b,0xac,0x62,0x80,0x20,0x97,0x48,0xb6,0x94,0x72,0xa0,0x7e,0x14,0x01, 0x9f,0x75,0xe1,0x48,0x27,0x53,0xb5,0x54,0xd0,0x07,0x9f,0xf8,0xe3,0xe0,0x7e,0x83, 0xe3,0x08,0x19,0x35,0xfd,0x2a,0xda,0xf3,0x8e,0x24,0x65,0xc3,0xaf,0xd1,0x87,0x23, 0xf3,0xa1,0x3b,0x09,0xab,0x9f,0x34,0x7c,0x49,0xfd,0x8c,0xae,0xad,0xa3,0x9a,0x7f, 0x03,0xce,0x6e,0x94,0x64,0xfd,0x8a,0xec,0x80,0xff,0x00,0x45,0x7e,0x87,0xf1,0xc7, 0xd6,0xb4,0x8c,0xec,0x66,0xe9,0xa6,0x7c,0x7f,0xf1,0x03,0xc2,0x77,0x9e,0x14,0xbf, 0x9a,0xcf,0x57,0xb5,0x9e,0xce,0xea,0x22,0x43,0xc3,0x3a,0x15,0x65,0xfc,0x0d,0x6f, 0x19,0x5c,0xc1,0xab,0x16,0x3e,0x06,0x7e,0xcd,0xfe,0x26,0xf8,0xf7,0xe2,0x45,0x8f, 0x47,0xb6,0x96,0xd7,0x41,0x85,0xc0,0xbb,0xd5,0x25,0x52,0x23,0x41,0xdd,0x54,0xff, 0x00,0x13,0x7b,0x0a,0x89,0xd6,0xb6,0x88,0xb8,0xd3,0x6c,0xfd,0x55,0xf8,0x45,0xf0, 0x4b,0x47,0xf8,0x61,0xe1,0xbb,0x5d,0x27,0x40,0xb7,0x11,0xc3,0x0a,0x80,0xd2,0xb0, 0xf9,0xa4,0x23,0xb9,0xae,0x7f,0x36,0x74,0x25,0x63,0xd4,0xa0,0xb7,0x4b,0x64,0x0b, 0x18,0xe9,0xde,0x81,0x92,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05, 0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14, 0x00,0x50,0x01,0x40,0x05,0x00,0x29,0x39,0x18,0x6e,0x45,0x00,0x57,0x9a,0xc2,0x09, 0xc7,0xce,0x80,0x50,0x07,0x29,0xe2,0xef,0x83,0xde,0x11,0xf1,0xec,0x51,0xc7,0xe3, 0x4d,0x07,0x4a,0xd6,0x52,0x23,0x94,0xfb,0x64,0x01,0xca,0xfd,0x0f,0x5f,0xc2,0x81, 0x58,0xdd,0xd0,0x7c,0x29,0xa5,0x78,0x67,0x4e,0x82,0xc3,0x42,0xb1,0xb5,0xb0,0xb2, 0x81,0x76,0xc5,0x6d,0x6d,0x10,0x8d,0x10,0x7b,0x01,0xc5,0x03,0x35,0x47,0x03,0x0a, 0x30,0x3d,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40, 0x05,0x00,0x7f,0xff,0xd9 }; /* created by reswrap from file cy_ecom_plus_s.jpg */ const unsigned char fxcj_icon_cy_ecom_plus_s[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x01,0x2c, 0x01,0x2c,0x00,0x00,0xff,0xdb,0x00,0x43,0x00,0x03,0x02,0x02,0x03,0x02,0x02,0x03, 0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08,0x05,0x05,0x04,0x04,0x05,0x0a,0x07, 0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b,0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e, 0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13,0x15,0x15,0x16,0x17,0x16,0x0d,0x11, 0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15,0xff,0xdb,0x00,0x43,0x01,0x03,0x03, 0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15,0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xff,0xc0, 0x00,0x11,0x08,0x00,0x28,0x00,0x28,0x03,0x01,0x11,0x00,0x02,0x11,0x01,0x03,0x11, 0x01,0xff,0xc4,0x00,0x1a,0x00,0x00,0x02,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x09,0x04,0x07,0x08,0x00,0x05,0xff,0xc4,0x00, 0x30,0x10,0x00,0x01,0x03,0x02,0x04,0x04,0x03,0x08,0x03,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x11,0x00,0x06,0x12,0x31,0x07,0x08,0x21,0x41, 0x13,0x14,0x51,0x09,0x22,0x32,0x42,0x61,0x81,0xa1,0xc1,0x16,0x33,0x92,0xb1,0xff, 0xc4,0x00,0x18,0x01,0x00,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0xff,0xc4,0x00,0x1c,0x11,0x00,0x03, 0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01, 0x11,0x02,0x03,0x31,0x04,0x21,0x32,0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11, 0x03,0x11,0x00,0x3f,0x00,0x6a,0x58,0x00,0xcb,0xdc,0xc3,0x71,0xca,0x05,0x33,0x3e, 0x3f,0x96,0x23,0xe6,0x4c,0xd9,0x40,0x91,0x49,0x61,0xb5,0xc8,0x7a,0x8a,0xd0,0x52, 0x52,0xb7,0x53,0xac,0x6b,0xba,0x54,0x0f,0xba,0x53,0x60,0x7a,0x75,0x38,0xa4,0x9b, 0x29,0x45,0xe8,0x1b,0x17,0x8b,0x79,0xa1,0x9d,0x2a,0xa2,0x71,0xc0,0x3e,0x94,0x9d, 0x21,0xaa,0xbd,0x32,0x0b,0xe9,0x27,0xd0,0xa9,0xa4,0x25,0x5e,0x9f,0x37,0x7c,0x28, 0x54,0x41,0x9e,0x43,0xe3,0x7f,0x12,0x6a,0x39,0x9e,0x8f,0x02,0x75,0x53,0x86,0xf9, 0x96,0x9f,0x2a,0x6b,0x2c,0x3c,0xba,0x73,0x2f,0x47,0x90,0x1b,0x52,0xc0,0x5a,0x92, 0x0b,0xcb,0x17,0x48,0x25,0x56,0xb7,0x6c,0x10,0x4f,0x28,0xd4,0x18,0x44,0x1d,0x80, 0x05,0x63,0xc4,0x5e,0x62,0x2a,0xd9,0x63,0x8e,0x5c,0x49,0xa9,0xd1,0x18,0xa5,0xcb, 0x66,0x7d,0x61,0x71,0x8a,0xe5,0xa1,0x6a,0xba,0x23,0x95,0x32,0xde,0x92,0x95,0x26, 0xd7,0x4a,0x6f,0x8d,0xb9,0xf4,0x78,0xf0,0x5b,0xe4,0xb7,0x28,0x2b,0x5f,0xe6,0x3b, 0xf9,0x2a,0xb4,0x66,0x4c,0xbb,0x19,0xfd,0x36,0x05,0x28,0x91,0x60,0x08,0xfa,0x14, 0x9f,0xce,0x3a,0x33,0xf5,0x4f,0x51,0xcd,0xaf,0x8a,0xff,0x00,0x3a,0x81,0x0f,0x2d, 0xd3,0xe0,0x67,0x4e,0x3c,0x50,0xe4,0x50,0x69,0x86,0x03,0x14,0x88,0x8f,0xcd,0x79, 0xa0,0x12,0x3c,0x65,0xdd,0x2d,0xa4,0x1d,0x3b,0xf5,0x71,0x3d,0xbd,0x4e,0xd7,0xc6, 0x5d,0xba,0x67,0x6d,0x34,0xa1,0xb7,0x0e,0x5a,0xe4,0x9a,0xd6,0xa8,0xd4,0x29,0xf2, 0x04,0xa8,0x4c,0xba,0x92,0x48,0x52,0x41,0xeb,0xbd,0xf1,0xcc,0x68,0x43,0xcd,0x15, 0xd6,0x72,0xb6,0x59,0xab,0xd6,0xa6,0x5b,0xcb,0xd3,0xa1,0xbd,0x31,0xcb,0x9f,0x95, 0xb4,0x15,0x1f,0xc0,0xc0,0x02,0x2c,0x9d,0x52,0x54,0xe9,0x4d,0x3b,0x3d,0xc6,0x8b, 0xcf,0xbc,0x5c,0x79,0xe7,0x52,0xa1,0x72,0x7a,0x92,0xa2,0x3b,0x5c,0x93,0xd0,0x5f, 0x7f,0xa6,0x2c,0xd2,0x1e,0x7a,0x65,0xaa,0x7a,0x9a,0x65,0x25,0x4a,0x72,0x64,0xc0, 0x34,0x79,0x90,0x0a,0x88,0xd8,0x90,0xae,0xfe,0xf5,0x82,0xd4,0x6d,0xbf,0xd7,0x09, 0xd9,0xf8,0x34,0x6b,0xbf,0x67,0x15,0x28,0x4b,0xcd,0xb9,0xfa,0xb4,0x11,0xe2,0xa5, 0x98,0xac,0x41,0x42,0x9e,0x48,0x24,0x07,0x56,0xa5,0x2b,0x6e,0x80,0xdd,0x84,0xed, 0x89,0x56,0x2a,0x2e,0x8e,0xba,0x32,0x3c,0xaa,0xb2,0xaa,0x52,0x50,0x4f,0xf5,0xa8, 0xa7,0xf7,0xfb,0xc0,0x66,0x04,0x73,0x3b,0x4c,0xae,0xd6,0x79,0x7e,0xcf,0xb4,0xfc, 0x93,0x11,0xc9,0xf5,0x79,0x74,0xa7,0x58,0x6e,0x33,0x44,0x6a,0x75,0x0a,0x16,0x75, 0x29,0xf5,0x3e,0x19,0x5d,0x86,0xe4,0xd8,0x0d,0xf0,0x21,0xaf,0x44,0xb7,0x58,0xa3, 0xd6,0xb2,0xfb,0xda,0xaa,0xf4,0xba,0xcd,0x31,0xe6,0xee,0x2f,0x26,0x3b,0xac,0x94, 0x7a,0xfc,0x40,0x5b,0x16,0x68,0x0d,0x99,0xfe,0x19,0x6f,0xc2,0x5a,0x14,0x96,0xee, 0x52,0x85,0xa5,0x2b,0x1b,0x77,0x04,0x75,0xfb,0xe1,0x35,0x54,0x13,0x55,0x41,0x8c, 0xfb,0x35,0x32,0xef,0x92,0xe0,0xe5,0x72,0xae,0xe2,0x6c,0xaa,0x85,0x6d,0xc4,0x85, 0xdb,0xe2,0x43,0x4d,0x36,0x07,0xd8,0x29,0x6e,0x61,0x32,0x74,0x6e,0xbc,0xbf,0x11, 0x51,0x60,0x02,0xe0,0xb2,0x9c,0x3a,0xed,0xe8,0x3b,0x61,0x12,0x4c,0x9f,0x17,0xcf, 0x41,0x93,0x18,0x9d,0x21,0xe6,0xd4,0xdd,0xfd,0x2e,0x2d,0x80,0x0a,0x53,0x30,0xf2, 0xfa,0xcd,0x5d,0xdd,0x72,0xa2,0x32,0xfa,0x86,0xcb,0x65,0xd2,0x83,0xfa,0xc0,0x00, 0xb2,0xf9,0x5b,0xcb,0x69,0x5a,0x95,0x59,0xcb,0x31,0xaa,0x48,0x3b,0xa2,0x74,0x64, 0x49,0x49,0xff,0x00,0x40,0xe0,0xa0,0x5a,0x3c,0x36,0xc8,0xf1,0xa8,0x10,0xe3,0xd3, 0xe9,0xd4,0xe6,0x69,0x94,0x98,0x69,0xb3,0x31,0x23,0xc7,0x0c,0x34,0x81,0x7b,0xe9, 0x4a,0x00,0x00,0x0b,0x92,0x7a,0x0f,0xfb,0x80,0x0b,0x28,0x0c,0x00,0x7f,0xff,0xd9 }; /* created by reswrap from file cy_ecom_plus_n.jpg */ const unsigned char fxcj_icon_cy_ecom_plus_n[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x01,0x2c, 0x01,0x2c,0x00,0x00,0xff,0xdb,0x00,0x43,0x00,0x03,0x02,0x02,0x03,0x02,0x02,0x03, 0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08,0x05,0x05,0x04,0x04,0x05,0x0a,0x07, 0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b,0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e, 0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13,0x15,0x15,0x16,0x17,0x16,0x0d,0x11, 0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15,0xff,0xdb,0x00,0x43,0x01,0x03,0x03, 0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15,0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xff,0xc0, 0x00,0x11,0x08,0x00,0x64,0x00,0x64,0x03,0x01,0x11,0x00,0x02,0x11,0x01,0x03,0x11, 0x01,0xff,0xc4,0x00,0x1d,0x00,0x00,0x01,0x04,0x03,0x01,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x05,0x06,0x08,0x02,0x07,0x09,0x03,0x01, 0xff,0xc4,0x00,0x3f,0x10,0x00,0x01,0x03,0x03,0x02,0x03,0x05,0x05,0x05,0x06,0x04, 0x07,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x00,0x05,0x11,0x06,0x12,0x07,0x21, 0x31,0x08,0x13,0x22,0x41,0x51,0x14,0x61,0x71,0x91,0xa1,0x09,0x15,0x32,0x81,0xb1, 0x16,0x18,0x23,0x42,0x92,0xa2,0x24,0x33,0x34,0x52,0x62,0x72,0x93,0xb3,0xc1,0xe1, 0xf0,0xff,0xc4,0x00,0x19,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0xff,0xc4,0x00,0x29, 0x11,0x01,0x00,0x02,0x01,0x03,0x04,0x00,0x04,0x07,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x11,0x03,0x04,0x21,0x12,0x31,0x41,0x51,0x05,0x14,0x32,0xf0, 0x13,0x15,0x61,0x81,0x91,0xa1,0xd1,0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11, 0x03,0x11,0x00,0x3f,0x00,0xea,0x8d,0x01,0x40,0x50,0x41,0xb8,0xc1,0xc4,0x87,0xb8, 0x69,0xa6,0x04,0xdb,0x5d,0xb7,0xef,0x7b,0xa3,0xee,0x77,0x51,0xa2,0x15,0xec,0x49, 0xf3,0x52,0x94,0x70,0x70,0x90,0x3e,0x64,0x81,0xcb,0x39,0xa2,0xc4,0x65,0x5c,0x27, 0x76,0xd9,0xd7,0x9a,0x75,0x0d,0xae,0xe9,0xc3,0x38,0xf7,0x94,0xa9,0x64,0x29,0x16, 0xc9,0x6b,0x69,0x48,0x1e,0xa7,0x72,0x55,0xf0,0xab,0x86,0xe6,0x8f,0x58,0x7f,0x68, 0xfd,0xa2,0x39,0x09,0xd5,0x7c,0x37,0xd6,0xb6,0xb3,0xfc,0xc5,0x94,0xa1,0xf4,0xa7, 0xf3,0x3b,0x69,0x86,0x7a,0x52,0x6b,0x57,0xda,0x2d,0xc1,0xd9,0xeb,0x4a,0x2e,0x13, 0x6f,0xd6,0x95,0x9f,0xc5,0xed,0x96,0xe5,0x60,0x7f,0x49,0x34,0xc1,0xd3,0x29,0xdd, 0x97,0xb6,0x0f,0x06,0xaf,0xfb,0x7d,0x87,0x88,0x16,0x36,0xca,0xba,0x09,0x65,0x71, 0xbf,0xee,0x25,0x34,0xc2,0x62,0x53,0xfb,0x47,0x12,0xb4,0x96,0xa0,0x09,0xfb,0x8f, 0x54,0x69,0xf9,0xe5,0x5d,0x04,0x79,0xed,0x2c,0x9f,0xc8,0x2b,0x35,0x13,0x09,0x18, 0x20,0x8c,0x8e,0x62,0x80,0xa0,0x28,0x03,0x40,0x50,0x14,0x05,0x05,0x5a,0xe3,0xc7, 0x1f,0xad,0x36,0x0e,0x25,0xca,0xb0,0x4c,0xd8,0xb3,0x6e,0x69,0xb4,0x2f,0x3e,0x4b, 0x5a,0x42,0xcf,0xd1,0x49,0xab,0x10,0xdd,0x6b,0xc2,0x25,0x13,0x8c,0x9a,0x4e,0xe4, 0x07,0xb4,0x21,0x8e,0x7d,0x72,0x05,0x5c,0x2f,0x4c,0x9e,0x1e,0x99,0xa4,0xa7,0x24, 0xfb,0x6c,0x5e,0xe0,0x1e,0x59,0x75,0xb2,0x91,0x9e,0x5e,0xbf,0x11,0xf3,0x14,0xc1, 0xc9,0xbe,0x5f,0x0f,0x74,0x25,0xf5,0x24,0x38,0x98,0x6b,0x07,0xc9,0x40,0x1f,0xd6, 0x9c,0xaf,0x54,0xa2,0xf7,0x7e,0xcb,0x7a,0x1e,0xef,0x95,0x31,0x16,0x06,0x4f,0x9a, 0x50,0x07,0xe9,0x4c,0xa7,0x52,0x19,0x2f,0xb1,0xb5,0x9a,0x24,0xa1,0x22,0xce,0x03, 0x6b,0x19,0x23,0x0b,0x38,0xe9,0x8e,0x99,0xc5,0x32,0xb9,0x86,0xce,0xec,0xab,0xc3, 0x7d,0x43,0xc3,0xee,0x32,0xc7,0x8e,0xcd,0xca,0x68,0xb4,0x3b,0x6f,0x92,0xb9,0x30, 0xbb,0xd3,0xdd,0x29,0x29,0xd8,0x12,0xa2,0x8e,0x99,0x0b,0x5a,0x70,0x7a,0xf3,0x34, 0x94,0xb4,0xc6,0x17,0x5e,0xb2,0xe6,0x28,0x03,0x40,0x50,0x14,0x05,0x07,0x28,0xee, 0xcd,0xb3,0xc6,0x3e,0xd3,0x77,0xa1,0x2c,0xba,0xe4,0x0b,0x8d,0xea,0x52,0x96,0x5b, 0x56,0x09,0x61,0xb2,0xac,0x60,0xf9,0x78,0x50,0x00,0x3e,0xfa,0xeb,0xa7,0x5c,0xce, 0x17,0x52,0xf3,0x5a,0xf0,0xda,0x17,0x2e,0xcb,0xfa,0x6b,0x7a,0x8d,0xb6,0x76,0xa1, 0x85,0xe9,0xb1,0xe4,0xb8,0x3c,0xbd,0x53,0x5e,0xaf,0xc0,0xac,0xbc,0x71,0xba,0xbc, 0x3d,0x67,0x68,0x1d,0x53,0x01,0x9f,0x68,0x87,0xae,0xdd,0x5a,0x52,0xb0,0x15,0xf7, 0x8d,0xb1,0xb5,0x15,0x9e,0xb8,0x52,0x81,0x05,0x43,0x38,0xeb,0xe6,0x91,0xe8,0x2a, 0x7c,0xb4,0x4f,0x69,0x5f,0x9c,0x98,0xef,0x08,0xae,0xa5,0x95,0xad,0x23,0x3a,0x37, 0xdc,0xf4,0xcc,0xe5,0x7f,0x13,0x6f,0xb3,0x15,0x47,0x58,0xdc,0xad,0xc4,0x8d,0xc0, 0xe7,0x04,0xf2,0xce,0x40,0x03,0x1e,0x43,0x13,0xe4,0xed,0xe2,0x57,0xf3,0x0a,0x47, 0x78,0x46,0x5d,0xd6,0x9c,0x41,0x82,0x12,0x11,0x05,0xa7,0x42,0x36,0xe5,0xc8,0xcf, 0xa1,0x45,0x47,0x68,0x1c,0xf0,0x7c,0xcf,0x3e,0x9e,0x75,0x27,0x69,0xa9,0x0d,0xc6, 0xff,0x00,0x4a,0x59,0xfe,0xf0,0x3a,0xb2,0xc0,0xd7,0x79,0x79,0x85,0x31,0x86,0x81, 0x00,0xad,0xc4,0xf8,0x73,0xf1,0xae,0x57,0xd2,0xbd,0x23,0x36,0x87,0x6a,0x6b,0xe9, 0x5e,0x71,0x59,0x59,0x1e,0xc8,0x9c,0x5a,0x5e,0xae,0xb8,0xcf,0xbc,0xdc,0x22,0xa9, 0xe2,0xfa,0xcd,0xb1,0x97,0x02,0xb1,0xdd,0x21,0xa6,0xd4,0xfb,0xca,0xe9,0xcf,0x39, 0x69,0x38,0xf5,0x02,0xb9,0x4c,0x37,0x6f,0xd1,0x70,0x92,0xa0,0xb4,0x05,0x20,0xe5, 0x24,0x64,0x1a,0xcb,0x0f,0xb4,0x01,0xa0,0x28,0x0a,0x06,0x0e,0x20,0x6a,0x31,0xa4, 0x34,0x2e,0xa1,0xbe,0x29,0x49,0x47,0xdd,0xd6,0xf7,0xe5,0x02,0xae,0x99,0x42,0x14, 0xa1,0xf5,0x02,0x8b,0x0e,0x3f,0x68,0x0e,0x20,0x4e,0xe1,0xe6,0xa1,0x6e,0xf7,0x6c, 0x8f,0x12,0x54,0xb0,0xd2,0x9b,0xdb,0x2c,0x28,0xa7,0xc5,0x8c,0x9e,0x44,0x1c,0xf2, 0xeb,0x5d,0x6b,0x69,0xac,0xe6,0x17,0x52,0x95,0xb4,0x62,0x5b,0x6a,0x37,0x6b,0xf9, 0x24,0x1f,0xbd,0x74,0xbc,0x65,0x28,0xf5,0x5c,0x39,0xcb,0x6f,0x9f,0xae,0x14,0x95, 0x7e,0xb5,0xda,0x37,0x13,0xe9,0xe6,0x9d,0xac,0x78,0x92,0xff,0x00,0xde,0xa6,0xc7, 0x25,0x95,0x07,0x61,0xea,0x28,0x2f,0x11,0x8c,0xe5,0xa7,0x91,0xfa,0x83,0xf4,0xae, 0x91,0xb9,0xaf,0x98,0x72,0xb6,0xce,0xde,0x24,0xde,0xbe,0x31,0xe9,0x0b,0xc2,0x7f, 0xc6,0xce,0x50,0x70,0x8c,0x15,0x49,0x88,0xa4,0x92,0x33,0xd3,0xc2,0x08,0x15,0xda, 0x37,0x34,0x79,0xad,0xb2,0xd4,0xf5,0x97,0x81,0xbe,0xe9,0x0b,0x8a,0x91,0xec,0xd7, 0x1b,0x5a,0x8a,0x4e,0x52,0x91,0x23,0x66,0x0e,0x3d,0x09,0x15,0xde,0x37,0x14,0xf1, 0x2f,0x3d,0xf6,0x97,0x8e,0xf5,0x43,0x78,0xc7,0x75,0x8e,0xde,0x96,0x81,0x0e,0x0c, 0x86,0x9f,0x43,0xb2,0x77,0x78,0x1c,0x0b,0xe4,0x90,0x4e,0x72,0x3d,0xea,0x15,0xe6, 0xde,0x5e,0x26,0xb1,0x11,0xed,0xeb,0xf8,0x76,0x9c,0xd6,0xd3,0x33,0x1e,0x16,0x6f, 0xb1,0x85,0xad,0x36,0x7e,0x16,0xc4,0x9c,0xf8,0x08,0x0b,0x87,0x2e,0x5e,0xe3,0xfe, 0xe9,0x12,0x83,0x29,0xfe,0xc8,0xab,0xf9,0xd7,0x82,0x1f,0x56,0xdd,0xd7,0x66,0xce, 0xa6,0xcd,0xaa,0x28,0x65,0x5b,0xd2,0x96,0xd2,0x9c,0x9e,0xb9,0x03,0x15,0xcd,0x82, 0xca,0x00,0xd0,0x14,0x05,0x06,0x88,0xed,0xbd,0xa9,0x86,0x9b,0xec,0xdf,0xa9,0xd2, 0x17,0xb1,0xdb,0x89,0x62,0xdc,0x8f,0x7f,0x78,0xea,0x77,0x8f,0xe8,0x0b,0xab,0x0b, 0x0e,0x56,0xb2,0x93,0x21,0xc2,0x84,0x14,0xee,0x08,0x5b,0x84,0xa9,0x61,0x20,0x04, 0xa4,0xa8,0xf5,0xf3,0xc0,0x3c,0xbc,0xfa,0x56,0x9a,0x37,0xaa,0x72,0x15,0x21,0x4d, 0x65,0x40,0xa5,0x01,0x65,0x44,0x7a,0x92,0x3f,0xf1,0x45,0xee,0x26,0x95,0x40,0x75, 0x2d,0x4c,0x4b,0x8c,0xb8,0xa2,0x90,0x10,0xe2,0x4a,0x4f,0x88,0x65,0x3c,0x8f,0xa8, 0x20,0xfc,0x28,0x70,0x4e,0xa7,0xb3,0x9c,0x10,0x7e,0x04,0x53,0x24,0x4f,0xa7,0x89, 0x73,0xbc,0x40,0x50,0x1b,0x92,0x46,0x41,0x03,0x20,0xd1,0x79,0xf0,0x4e,0xe3,0xc1, 0x08,0x51,0x00,0x0c,0x0c,0xd0,0x75,0x1b,0x84,0x5a,0x69,0x7a,0x7b,0x41,0x68,0x6b, 0x35,0xbe,0x3b,0xee,0x32,0xe5,0xaa,0x0b,0x97,0x37,0x9d,0x4e,0xd0,0xd3,0x8d,0xa0, 0xad,0x29,0x4f,0x4c,0x82,0x5c,0x56,0x7a,0xf3,0x35,0x32,0xe7,0x32,0xb0,0xfa,0x3a, 0x49,0x5b,0x0f,0xb2,0xa3,0xf8,0x55,0xb8,0x7e,0x75,0x94,0x48,0xa8,0x03,0x40,0x50, 0x14,0x14,0xc3,0xed,0x34,0xd4,0xc6,0x26,0x88,0xd1,0xb6,0x04,0x2f,0x06,0x75,0xc1, 0xd9,0x8b,0x4e,0x7a,0xa5,0x96,0xc2,0x7f,0x57,0x87,0xca,0xac,0x2c,0x39,0xee,0xdc, 0x21,0x39,0x13,0x1d,0x12,0x99,0x8f,0xec,0xcd,0x07,0x76,0xb8,0xf6,0xc5,0x3b,0xe2, 0x4a,0x76,0xa0,0x7f,0x32,0xbc,0x59,0xc7,0xa0,0x26,0xb4,0xde,0x7d,0x1a,0xed,0xf1, 0xdd,0xb8,0xdc,0x17,0x1e,0x19,0x5a,0xe4,0xbc,0xfa,0x23,0xa0,0x1c,0x78,0xc9,0x03, 0x03,0xc8,0x0e,0x6a,0xc7,0xeb,0x43,0xbf,0x2c,0xb5,0x03,0xf3,0xdf,0xbe,0x29,0x17, 0xe7,0xd4,0xf4,0xf6,0x9d,0x58,0x74,0xb9,0xcd,0x5b,0xdb,0x1b,0x30,0x4e,0x48,0xe5, 0xd3,0x97,0xa0,0xa0,0xc2,0xe9,0x77,0x9c,0xd5,0x81,0x98,0x2f,0xb0,0xd3,0x51,0xd0, 0x5c,0x90,0xcb,0x9b,0x48,0x51,0x2b,0x01,0x3b,0xb2,0x47,0x34,0xf8,0x47,0x4f,0x7f, 0x5a,0x2c,0x92,0x31,0x29,0x11,0x23,0x29,0x85,0x30,0xa5,0x14,0xa5,0x28,0x4a,0xc6, 0x0e,0xdc,0x7c,0x3f,0xf5,0x59,0x9a,0xcc,0xcc,0x4b,0xad,0x2f,0x5a,0xd6,0xd1,0x31, 0x99,0x9f,0xeb,0xef,0xef,0x8c,0xc3,0x3d,0x33,0x6f,0x7b,0x50,0xea,0x28,0xb6,0xf6, 0xf7,0x6f,0xb8,0x4d,0x66,0x23,0x40,0x8f,0xf7,0x94,0xa3,0xa7,0xc4,0x9a,0xd3,0x96, 0x7c,0xbb,0x53,0x2a,0xd5,0x6d,0x61,0x80,0x9b,0x5a,0x4b,0x2b,0x8e,0x90,0x84,0x84, 0xa8,0x90,0xa4,0xa7,0x96,0x3e,0x42,0xb0,0xe4,0x76,0xd2,0x0f,0x77,0x53,0xf6,0x13, 0xf8,0xd3,0x8a,0x09,0xad,0x00,0x68,0x0a,0x02,0x83,0x9a,0x5f,0x69,0x3e,0xa9,0x17, 0x2e,0x35,0x59,0xec,0xed,0xac,0xf7,0x76,0xab,0x3a,0x0a,0xc6,0x79,0x05,0xba,0xb5, 0x28,0xff,0x00,0x6a,0x51,0xf4,0xad,0x43,0x55,0x54,0x62,0x20,0xbd,0x0d,0xd7,0x4b, 0xa3,0xda,0xc3,0xa9,0x4a,0x59,0x42,0x39,0x14,0x60,0xee,0x51,0x50,0x23,0x18,0x38, 0x18,0xc1,0xce,0x7c,0xb1,0x55,0xb7,0x86,0x99,0xb5,0xbb,0xa8,0x1f,0x43,0x30,0x1f, 0x8f,0x0d,0xd2,0x87,0xa4,0x77,0xaf,0xbe,0x1a,0x4e,0x10,0x14,0xbf,0xc4,0x73,0xe2, 0x21,0x3c,0xbc,0xc9,0x20,0x51,0x32,0x6a,0x2e,0x95,0xcc,0x52,0xbb,0xd7,0x14,0xb4, 0xb6,0x08,0x52,0xc0,0x3f,0x88,0xe4,0xe4,0x72,0xe7,0xe1,0x14,0x52,0xed,0x5e,0xbb, 0xd3,0x72,0x59,0xb5,0x6a,0xc2,0xf3,0x52,0x61,0x25,0xb8,0x69,0x8f,0x21,0x05,0x2b, 0x61,0x03,0x04,0x23,0x1e,0x98,0xfa,0x51,0x31,0xc1,0x44,0x6d,0x52,0xe4,0x48,0x6c, 0xb7,0x2a,0xcf,0x6e,0x98,0xdb,0x69,0x52,0x1b,0x71,0xc4,0xe7,0x39,0x0a,0x07,0xcc, 0x64,0x8d,0xf9,0xf8,0x84,0x9a,0xf0,0xea,0xec,0x7a,0xed,0x36,0xad,0xed,0x19,0xf5, 0xfb,0x7f,0x9f,0xc4,0xcc,0x3b,0xd7,0x5b,0x11,0x89,0x88,0x94,0xbb,0xb2,0x95,0x8c, 0xea,0x1e,0x3d,0x68,0x38,0xae,0xa4,0x38,0x91,0x73,0xf6,0xd7,0x00,0x39,0xf0,0xb4, 0x14,0xe9,0xfa,0x22,0xbd,0xce,0x18,0xc4,0x3a,0xd2,0xca,0x33,0xcc,0xe7,0x26,0xb0, 0xe6,0x77,0xb4,0xab,0xb8,0x9a,0xc2,0x87,0x92,0x85,0x04,0xfb,0x39,0x19,0xa0,0x0d, 0x01,0x40,0x50,0x71,0xbb,0xb5,0xd6,0xaf,0xfd,0xa9,0xed,0x1d,0xaf,0xa7,0x6f,0xdc, 0xdb,0x17,0x03,0x09,0xb2,0x0e,0x46,0xd6,0x10,0x96,0xb9,0x7e,0x68,0x26,0xb5,0x0e, 0x95,0x86,0x95,0xb8,0xcc,0x83,0xf7,0x78,0x5b,0x7b,0xdc,0x96,0x94,0xac,0xb8,0x1c, 0x4a,0x76,0xff,0x00,0xc3,0xb7,0xcf,0x3e,0xb9,0xaa,0xb2,0xce,0xdf,0x6f,0x8d,0x32, 0x14,0xb5,0xca,0x98,0xcc,0x47,0x23,0x47,0x4a,0xd0,0x85,0x12,0x0b,0xea,0xe4,0x36, 0xa4,0x03,0xd7,0xff,0x00,0xba,0x64,0x80,0x6b,0x8e,0x90,0xf3,0x92,0x4a,0x16,0x50, 0xa4,0xaf,0x6e,0xe5,0x2c,0x73,0x00,0x0f,0x5f,0x79,0x34,0x19,0x5e,0xd1,0x31,0x17, 0x82,0xd5,0xde,0x42,0xde,0x98,0x95,0xa9,0x6e,0x29,0x6a,0x0e,0x12,0xb0,0x31,0xcd, 0x41,0x47,0x77,0x5a,0x24,0x7a,0x3b,0xea,0x3d,0x51,0xa8,0x3f,0x65,0x2d,0xd6,0x1b, 0xcb,0x2d,0x35,0x6c,0xb6,0xad,0xc7,0xa3,0x02,0xde,0xc5,0x6e,0x56,0x4a,0xb2,0xac, 0x78,0xb1,0x93,0xf0,0xcd,0x73,0xa6,0xa5,0x6f,0xf4,0xce,0x59,0xad,0xe2,0xdc,0xc4, 0xb7,0xb7,0xd9,0xe3,0x60,0xf6,0xfe,0x39,0xaa,0x52,0x86,0xe6,0xed,0x16,0x59,0x0e, 0x6e,0xf4,0x5a,0xf6,0x34,0x0f,0xc9,0x6a,0xad,0xcb,0x56,0xec,0xe9,0x8c,0x76,0xf2, 0x2b,0x2e,0x65,0x8c,0x82,0x1c,0x46,0x3d,0x45,0x04,0xf9,0xa3,0x96,0x92,0x7d,0xd4, 0x19,0x1a,0x02,0x81,0x35,0xce,0xe0,0xd5,0xa6,0xdd,0x2e,0x74,0xc2,0x52,0xc4,0x56, 0x96,0xfb,0x84,0x79,0x25,0x20,0x93,0xf4,0x14,0x1c,0x19,0xbd,0xde,0xdd,0xbf,0xde, 0x67,0xdd,0x26,0x12,0xa9,0x13,0xe4,0x39,0x29,0xc3,0x9f,0xe6,0x71,0x45,0x67,0xea, 0x4d,0x6d,0xd4,0xdc,0xb7,0x07,0x53,0x40,0x99,0xd4,0x36,0xac,0xf8,0x00,0x27,0xcc, 0x72,0xa0,0x4e,0xb4,0x21,0x09,0x21,0xb2,0xa4,0x73,0x27,0xc2,0x7c,0xe8,0x12,0xa9, 0x04,0x38,0x16,0x1c,0x3b,0x82,0x4a,0x46,0x40,0xe4,0x0e,0x33,0xd3,0xe1,0x41,0xf6, 0xe7,0x3e,0x7d,0xd1,0x9e,0xea,0x74,0xa5,0x3e,0x8e,0x60,0x15,0x92,0x76,0xe7,0xae, 0x07,0xe5,0x5c,0xe9,0xa5,0x5a,0x7d,0x31,0x86,0x62,0x95,0x8e,0xd0,0xbc,0x5f,0x66, 0x75,0x8b,0xbc,0x77,0x5f,0xde,0xd4,0x9e,0x82,0x1c,0x04,0x2b,0xfe,0xa3,0x8a,0x1f, 0x44,0x56,0xe4,0xb2,0xf9,0xb0,0x8d,0x89,0xe7,0x59,0x60,0xb2,0x0b,0x26,0x44,0xa6, 0xd0,0x91,0x9e,0x7c,0xe8,0x27,0x09,0x4e,0xd4,0x01,0xe8,0x28,0x3e,0x9a,0x02,0x83, 0xce,0x4c,0x66,0xa6,0x47,0x75,0x89,0x4d,0xa5,0xd6,0x5d,0x41,0x43,0x8d,0xa8,0x64, 0x29,0x24,0x60,0x83,0xee,0xc5,0x07,0x28,0x78,0xe7,0xd8,0x63,0x51,0xe8,0x4d,0x5d, 0x71,0x47,0x0f,0xa6,0x5b,0xef,0x5a,0x7c,0xac,0xb9,0x19,0xb7,0xdf,0xee,0x64,0x30, 0x83,0xcc,0x36,0xbd,0xde,0x15,0x10,0x0e,0x37,0x64,0x67,0x19,0x20,0x1e,0x55,0xac, 0xb7,0x16,0x68,0xdb,0xc7,0x05,0xf5,0xcd,0xa3,0xfd,0x4e,0x9d,0x98,0xa4,0xf9,0xaa, 0x3a,0xdb,0x78,0x7f,0x62,0x8d,0x17,0x30,0x87,0xdc,0xec,0x77,0x5b,0x4e,0x45,0xd6, 0xd9,0x71,0x87,0xcf,0xab,0xf1,0xd6,0x81,0xf3,0x22,0xaa,0x9a,0x17,0x20,0x0e,0x5b, 0x80,0x3e,0x99,0xa0,0xf3,0x53,0x99,0xf3,0xa0,0xc0,0x2f,0x26,0x83,0xa6,0xdf,0x67, 0x36,0x99,0x55,0xa3,0x80,0x6f,0x5c,0xe4,0x36,0x5b,0x55,0xe6,0xee,0xfc,0x94,0x15, 0x0f,0xc6,0xda,0x02,0x5a,0x49,0x1e,0xec,0xa1,0x5f,0x23,0x59,0x96,0x2d,0x2b,0x55, 0x9e,0x42,0xa3,0x29,0x46,0x9e,0xb6,0xf7,0x2c,0xf7,0xee,0x8f,0x1a,0xba,0x67,0xd2, 0x81,0xea,0x80,0x34,0x05,0x01,0x41,0xa4,0x38,0x83,0x69,0x33,0xb5,0x1c,0xdd,0xdc, 0xf9,0x8c,0x7c,0x85,0x06,0xad,0xd4,0xbc,0x37,0x55,0xcd,0x27,0xbb,0x52,0x90,0x7c, 0x88,0xa0,0x82,0xcb,0xe1,0x3d,0xe1,0x92,0x7d,0x9a,0x53,0x84,0x7a,0x1a,0x06,0x49, 0x5c,0x1b,0x91,0x35,0x44,0x5d,0x6c,0xf6,0x89,0xe9,0x3d,0x7b,0xf8,0x88,0x51,0x3f, 0x99,0x15,0x73,0x26,0x58,0x47,0xec,0xb1,0xa3,0xef,0x8b,0xdb,0x78,0xd2,0x76,0xe6, 0x09,0xea,0xa8,0x85,0xc6,0x31,0xfd,0x0a,0x02,0x99,0x5c,0xc9,0xc2,0x0f,0x61,0x4e, 0x17,0x46,0xb8,0x33,0x2e,0x5c,0x1b,0xec,0xa6,0xd2,0x77,0x18,0x4e,0x5c,0x55,0xdd, 0x2f,0xdc,0xac,0x00,0xac,0x7b,0x82,0x87,0xc6,0x9d,0x4b,0xd5,0x2b,0x43,0xa5,0xe2, 0xc7,0xb4,0xda,0xe2,0xc0,0xb5,0xc5,0x8f,0x06,0x0c,0x56,0xd2,0xcb,0x11,0x63,0xa0, 0x21,0xb6,0x9b,0x48,0xc0,0x4a,0x40,0xe8,0x05,0x46,0x53,0x5b,0x15,0xb9,0x57,0x07, 0xc2,0x96,0x3f,0x84,0x83,0x93,0xef,0xa0,0x99,0x84,0x84,0xa4,0x04,0xf2,0x02,0x80, 0xa0,0x0d,0x01,0x41,0xf6,0x82,0x35,0xa8,0x34,0x5b,0x37,0x89,0x0a,0x92,0xdb,0x8a, 0x65,0xf2,0x39,0xe3,0x98,0x34,0x11,0x89,0x3a,0x0a,0x63,0x59,0xee,0xd4,0xdb,0x83, 0xdf,0xca,0x81,0xb9,0xdd,0x23,0x35,0xa2,0x4a,0xe2,0x95,0x7f,0xcb,0x83,0x40,0x95, 0x56,0x35,0xb7,0xfe,0x74,0x55,0xa3,0x1e,0xa9,0xa0,0xcd,0xbb,0x73,0x28,0xfe,0x40, 0x3f,0x2a,0x01,0xc8,0xad,0x82,0x0e,0x05,0x02,0xdb,0x74,0x72,0xeb,0xa8,0x69,0x91, 0x95,0xa8,0xe0,0x50,0x6c,0xcb,0x6c,0x24,0xc0,0x88,0x86,0x90,0x39,0x81,0xcc,0xfa, 0x9a,0x05,0x54,0x05,0x00,0x68,0x0a,0x02,0x80,0xa0,0x28,0x3e,0x14,0xa4,0xf5,0x00, 0xd0,0x60,0xa8,0xed,0xa8,0x73,0x40,0xa0,0x49,0x26,0xd3,0x11,0xd0,0x7b,0xc6,0x50, 0xaf,0x88,0xa0,0x6e,0x5e,0x98,0xb7,0x38,0x7c,0x51,0xc7,0xe4,0x48,0xa0,0x5d,0x6e, 0xb3,0x43,0x84,0xad,0xd1,0xd9,0x4a,0x55,0xeb,0x40,0xe5,0x40,0x50,0x14,0x01,0xa0, 0xff,0xd9 }; /* created by reswrap from file cy_ecom_plus_b.jpg */ const unsigned char fxcj_icon_cy_ecom_plus_b[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x01,0x2c, 0x01,0x2c,0x00,0x00,0xff,0xdb,0x00,0x43,0x00,0x03,0x02,0x02,0x03,0x02,0x02,0x03, 0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08,0x05,0x05,0x04,0x04,0x05,0x0a,0x07, 0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b,0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e, 0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13,0x15,0x15,0x16,0x17,0x16,0x0d,0x11, 0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15,0xff,0xdb,0x00,0x43,0x01,0x03,0x03, 0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15,0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xff,0xc0, 0x00,0x11,0x08,0x00,0xc8,0x00,0xc8,0x03,0x01,0x11,0x00,0x02,0x11,0x01,0x03,0x11, 0x01,0xff,0xc4,0x00,0x1d,0x00,0x00,0x01,0x04,0x03,0x01,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x05,0x06,0x02,0x07,0x09,0x08,0x01, 0xff,0xc4,0x00,0x43,0x10,0x00,0x01,0x03,0x03,0x03,0x01,0x04,0x08,0x04,0x03,0x04, 0x09,0x05,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x00,0x05,0x11,0x06,0x12,0x21,0x31, 0x07,0x13,0x41,0x51,0x08,0x14,0x22,0x61,0x71,0x81,0x91,0xa1,0x15,0x32,0xb1,0xc1, 0x09,0x16,0x42,0x23,0x62,0x92,0xa2,0x24,0x33,0x43,0x52,0x63,0x72,0x82,0xb2,0xd1, 0x34,0x53,0x93,0xc2,0xd2,0xff,0xc4,0x00,0x1a,0x01,0x01,0x01,0x01,0x01,0x01,0x01, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05, 0x06,0xff,0xc4,0x00,0x29,0x11,0x01,0x01,0x00,0x02,0x01,0x04,0x02,0x02,0x00,0x07, 0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x11,0x03,0x12,0x21,0x31,0x41,0x04, 0x51,0x05,0x61,0x13,0x14,0x71,0xa1,0xb1,0xc1,0xf0,0x22,0x91,0xff,0xda,0x00,0x0c, 0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x3f,0x00,0xea,0x8d,0x01,0x40,0x50,0x14, 0x05,0x01,0x40,0x1a,0x06,0x57,0x7b,0xdd,0xbf,0x4f,0xc1,0x72,0x6d,0xf6,0x74,0x4b, 0x74,0x34,0x7e,0x69,0x12,0x9d,0x4b,0x68,0x1f,0xf5,0x13,0x8a,0x0a,0x8c,0x4e,0xde, 0x3b,0x39,0x9c,0xf9,0x66,0x2e,0xb8,0xd2,0xeb,0x70,0x1c,0x14,0xfa,0xfb,0x63,0xf5, 0x34,0x5d,0x55,0xa2,0xdb,0xaa,0x2c,0xd7,0xac,0x7e,0x0d,0x76,0xb6,0x4f,0xcf,0x4f, 0x55,0x92,0x87,0x33,0xf4,0x26,0x88,0x93,0xfa,0xd0,0x06,0x80,0xc8,0x34,0x06,0x72, 0x28,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28, 0x0a,0x02,0x80,0xa0,0x28,0x0a,0x01,0x47,0x03,0x8e,0xb4,0x1e,0x27,0xf4,0x85,0x8f, 0x70,0xed,0x5b,0x5a,0x3d,0x21,0xc5,0xba,0xe5,0x9e,0x0e,0x58,0x82,0xc6,0x7d,0x80, 0x9f,0xea,0x73,0x1e,0x6a,0x3c,0xe7,0xcb,0x03,0xc2,0xac,0x75,0xc7,0xb4,0x69,0xd9, 0x7d,0x94,0x3a,0x32,0x0b,0x3b,0x87,0x86,0x47,0x4a,0xd3,0x4d,0x57,0x7c,0xec,0x4f, 0x5a,0xa2,0xed,0x32,0x5d,0xbe,0x64,0x31,0x1d,0xc7,0x09,0x65,0x84,0x2d,0x48,0xee, 0xd0,0x30,0x12,0x39,0x18,0xcf,0x9f,0xbc,0xd1,0x34,0xc2,0x23,0x5d,0xb0,0xe9,0x42, 0x3f,0x09,0xbb,0x5f,0x19,0x4a,0x3a,0x08,0xb3,0xf6,0x8f,0xa0,0x22,0xa2,0x69,0x3d, 0x0b,0xd2,0x43,0xb7,0xdd,0x2e,0x41,0x72,0xf7,0xa9,0x9c,0x09,0x18,0x01,0xf0,0x5e, 0x4f,0xf9,0xb7,0x53,0x46,0xbf,0x4b,0x14,0x0f,0xe2,0x13,0xda,0xfd,0x94,0x81,0x75, 0x76,0x1c,0xb2,0x3c,0x26,0x40,0x6d,0x3f,0xf6,0xa1,0x26,0x9a,0x4d,0x45,0xce,0xcf, 0xfc,0x50,0xb5,0x43,0x1b,0x13,0x7b,0xd3,0x16,0x39,0x58,0xfc,0xc5,0xae,0xf1,0xb2, 0x7e,0x1e,0xd9,0xfd,0x2a,0x69,0x3a,0x62,0xfb,0x66,0xfe,0x28,0x96,0x17,0xca,0x53, 0x7c,0xd1,0xd3,0x23,0xf9,0xaa,0x34,0xdd,0xff,0x00,0x65,0x36,0x31,0xf5,0xa6,0x8e, 0x95,0xf6,0xcb,0xfc,0x46,0x3b,0x29,0xb9,0xec,0x4c,0xd1,0x7d,0xb7,0xad,0x5f,0xfb, 0x8c,0x21,0xc0,0x3e,0x25,0x2b,0x27,0xed,0x4d,0x25,0xc7,0x4d,0x81,0x67,0xf4,0xc1, 0xec,0x86,0xf6,0x13,0xea,0xfa,0xce,0x14,0x72,0xae,0xa2,0x63,0x0f,0x31,0x8f,0x9a, 0x90,0x13,0xf7,0xa6,0x93,0xa6,0xaf,0x16,0x7e,0xd6,0xb4,0x4d,0xfc,0x20,0xd9,0x75, 0x76,0x9b,0x9b,0xbf,0xf2,0xa5,0xab,0x83,0x44,0x9f,0x96,0xec,0xd4,0x4d,0x2d,0x4d, 0xba,0x97,0x90,0x95,0xb4,0xa4,0xad,0x0a,0x19,0x0a,0x49,0xc8,0x3f,0x3a,0x0c,0xa8, 0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0x34,0x15,0xfd, 0x7b,0x7c,0x6e,0xc1,0xa5,0xa6,0xc9,0x71,0xc0,0xda,0x96,0x03,0x28,0x3f,0xde,0x57, 0x1c,0x7c,0xb2,0x7e,0x54,0x1a,0x31,0x12,0xed,0xef,0x24,0x8f,0xec,0x4d,0x5d,0x36, 0x15,0x6f,0x81,0x23,0xfa,0x10,0x41,0x3e,0x06,0x81,0x07,0x34,0xb5,0xbe,0x40,0x3e, 0xc0,0xe7,0xcc,0x53,0x66,0xcc,0x64,0xe8,0x18,0x0f,0x67,0xd8,0x41,0x27,0xc3,0x18, 0xa6,0xd7,0xaa,0xa2,0x26,0x76,0x51,0x0d,0xdc,0xed,0x42,0x73,0xee,0xa6,0xce,0xa4, 0x0d,0xc3,0xb1,0x86,0x1d,0xc8,0xee,0xc1,0x1f,0x0c,0xd5,0xdb,0x5d,0x4a,0x9d,0xd7, 0xd1,0xde,0xdd,0x2f,0x7f,0x7d,0x6d,0x88,0xe7,0xbc,0xb2,0x9a,0x6c,0xea,0x8a,0x6d, 0xdb,0xd1,0x7a,0xd2,0xee,0xe2,0x8b,0x6b,0x48,0x3f,0xf0,0x94,0xa4,0x7e,0x86,0x8b, 0xd9,0x50,0xb9,0xfa,0x2e,0x46,0x49,0x3e,0xae,0x99,0xad,0x1f,0x24,0xb9,0xbb,0xf5, 0xa2,0x6a,0x2a,0x93,0xfd,0x1b,0xe5,0xc5,0x59,0x31,0xa5,0xc8,0x46,0x0f,0x1b,0xdb, 0x07,0xf4,0x22,0x86,0x8d,0xed,0x9d,0x93,0xdc,0xec,0xae,0x48,0x33,0x9e,0x32,0x82, 0x80,0x08,0xc8,0x3e,0xce,0x33,0x9e,0x0e,0x6a,0x9d,0x29,0x4b,0x7b,0x3a,0x8b,0x4b, 0xbc,0x1d,0xd3,0xb7,0x2b,0xa5,0xad,0xd4,0x9c,0x85,0xc1,0x90,0xb6,0x4e,0x7f,0xe9, 0x23,0xef,0x51,0x75,0xe9,0xd0,0x8f,0x43,0x0e,0xd4,0x35,0x17,0x69,0x9d,0x99,0xcf, 0xfe,0x7c,0x90,0x67,0x5c,0xad,0x13,0xcc,0x21,0x39,0x78,0x0b,0x7d,0xbe,0xed,0x0b, 0x49,0x5e,0x3a,0xa8,0x6e,0xc6,0x7c,0x40,0x19,0xe7,0x24,0xca,0xe5,0x9c,0xd5,0xec, 0xf4,0x0d,0x46,0x45,0x01,0x40,0x50,0x14,0x05,0x01,0x40,0x50,0x14,0x05,0x01,0x41, 0xe5,0xcf,0x4d,0xee,0xd2,0xff,0x00,0x94,0x61,0x69,0x5b,0x3b,0x0e,0xed,0x76,0x5b, 0xaf,0x4c,0x71,0x20,0xff,0x00,0x4b,0x61,0x29,0x4e,0x7e,0x25,0x6a,0xff,0x00,0x0d, 0x58,0xde,0x0f,0x31,0xc2,0xed,0x95,0xc4,0x90,0x0b,0xa7,0xeb,0x5a,0x6f,0x4b,0x04, 0x1e,0xda,0x88,0xdb,0xb9,0xd3,0xf5,0xa1,0x71,0x4f,0xc2,0xed,0xa9,0x20,0x7b,0x4f, 0x0c,0x7b,0xcd,0x13,0xa5,0x79,0x8d,0xac,0xae,0xfd,0xe3,0x0d,0x2a,0xdf,0x29,0xd7, 0x1e,0x68,0xbc,0x84,0xb6,0x9d,0xe5,0x48,0x1b,0x49,0x3c,0x67,0x18,0xde,0x8c,0x83, 0x82,0x37,0x27,0x8e,0x45,0x44,0xd1,0x76,0xfb,0x4e,0x6d,0xb5,0x04,0xcc,0x4a,0xda, 0x27,0xc1,0xc4,0x94,0x9e,0x80,0xf8,0xfc,0x73,0x4d,0x1a,0x49,0x46,0xed,0x1a,0x03, 0xbc,0x77,0x88,0x1e,0x1c,0x2a,0xa6,0x8d,0x25,0x19,0xd6,0x30,0x5d,0x03,0x0b,0x4f, 0xce,0x9a,0x43,0x8f,0xc5,0xad,0xf2,0xf9,0xcb,0x64,0xfb,0xe9,0xa4,0x60,0xe4,0x7b, 0x74,0x91,0x94,0x84,0x7c,0x8d,0x4d,0x29,0x94,0x8d,0x37,0x02,0x46,0x70,0x94,0xe0, 0xd0,0xda,0x1e,0x56,0x82,0x80,0xf8,0x20,0xa1,0x07,0xe2,0x31,0x57,0xba,0xed,0x5c, 0xb9,0x76,0x55,0x15,0xc0,0x49,0x42,0x76,0xf5,0x27,0x15,0x62,0xf5,0x37,0x67,0xa1, 0xee,0x98,0x6e,0xcd,0xd9,0x08,0xb9,0xa5,0x01,0x0a,0xbe,0xcf,0x91,0x70,0x4f,0x9f, 0x75,0xbb,0xbb,0x6b,0xfc,0x88,0x07,0xfe,0xaa,0x95,0x8c,0xae,0xeb,0x78,0xd4,0x64, 0x50,0x14,0x05,0x01,0x40,0x50,0x14,0x05,0x01,0x40,0x50,0x14,0x1c,0xdb,0xf4,0xfa, 0xd4,0x86,0xef,0xdb,0xb1,0xb7,0xa1,0x59,0x45,0xa6,0xd8,0xc4,0x7c,0x0f,0x05,0xaf, 0x2e,0x9f,0xb2,0xd1,0x5a,0x8e,0xb8,0x76,0x8d,0x21,0xa0,0x74,0x3d,0xc7,0xb4,0x4b, 0xff,0x00,0xe1,0x36,0x47,0x58,0x65,0xf0,0xca,0x9f,0x53,0x8f,0x92,0x12,0x94,0xa7, 0x1e,0x5e,0x39,0x22,0xba,0x71,0xe1,0xd5,0x74,0xc7,0x2f,0x2f,0x44,0xda,0xef,0x3b, 0xd1,0xbb,0x5d,0x40,0x19,0x8c,0x20,0xcb,0x1f,0xf0,0x5f,0x00,0x9f,0xad,0x74,0xbf, 0x1f,0x2f,0x55,0xc3,0xf9,0xcc,0x7d,0xc4,0x04,0xce,0xcb,0x75,0xfd,0xac,0x1e,0xfa, 0xc5,0x39,0xc4,0x8e,0xa1,0xac,0x2f,0xf4,0x35,0x9b,0xc1,0x9c,0xf4,0xdc,0xf9,0x38, 0x7d,0xae,0xb2,0xfb,0x65,0xd5,0x09,0x13,0xbf,0x9b,0xf4,0xc5,0xc4,0x3c,0xec,0x77, 0x22,0x36,0xeb,0x09,0x4a,0x52,0xc3,0x4a,0x75,0x0e,0xa5,0x1b,0x1c,0x69,0x68,0x50, 0x49,0x40,0x4e,0x48,0xdc,0x53,0xb7,0x9c,0xa4,0x56,0x6f,0x1e,0x53,0xcc,0x6a,0x72, 0xe1,0x7c,0x57,0xd4,0x7a,0x47,0xc5,0x54,0xc6,0x19,0xbb,0x5a,0x67,0xb5,0x6d,0x88, 0xd3,0x8f,0xc5,0x6c,0x14,0x97,0x19,0x98,0x94,0xed,0x65,0x40,0xf1,0x94,0x14,0x25, 0xb4,0x28,0x7b,0xb2,0x3f,0x28,0xac,0xea,0xba,0x4b,0xbf,0x0b,0x22,0xfb,0x7f,0xd2, 0x92,0x24,0x5c,0x5b,0x12,0x51,0x21,0xa9,0x0d,0x08,0xd0,0x0b,0xf1,0xd6,0x11,0x19, 0x29,0x65,0xec,0x29,0xc4,0xa9,0x24,0x8c,0xac,0x30,0x08,0x6c,0xf0,0x4e,0xe0,0x70, 0x08,0x38,0x9e,0x5a,0xd5,0xf6,0x85,0x8f,0xda,0x4b,0x4f,0x5b,0xe3,0xaa,0xd0,0x6d, 0x93,0x6e,0x69,0x69,0xad,0xd0,0x04,0x84,0x90,0x84,0xfb,0x41,0x6b,0xde,0x95,0x24, 0xb8,0x49,0x4a,0x0e,0xd2,0x77,0x27,0x79,0xc8,0xe3,0x8d,0x14,0xbc,0x2e,0xd7,0xe1, 0xa2,0x0c,0x07,0x2e,0x3f,0xe8,0xab,0x93,0x25,0xd4,0x2d,0xc6,0x5d,0x52,0xfb,0xb6, 0x93,0xb3,0x9d,0xa7,0x39,0xe4,0xa8,0x7c,0x05,0x0d,0x6c,0xb3,0x5d,0xb6,0xa5,0xa9, 0x0b,0x4b,0x32,0x0b,0x8d,0x03,0x84,0xaf,0xa6,0xe1,0xe7,0x43,0x49,0xb8,0x5d,0xb7, 0xa4,0x80,0x0b,0xa4,0x67,0xc3,0x34,0x4e,0x94,0xf4,0x3e,0xd9,0xd9,0x70,0xe1,0x6e, 0x83,0x9f,0x7d,0x0e,0x96,0x7a,0x83,0xb5,0x86,0xdd,0xd3,0x77,0x31,0x11,0x41,0x52, 0x97,0x1d,0x6d,0xb2,0x94,0xf5,0x2b,0x50,0xda,0x9c,0x7b,0xf2,0x45,0x13,0x4f,0x6a, 0xe8,0x4d,0x3e,0xd6,0x93,0xd1,0x56,0x2b,0x2c,0x74,0x84,0xa2,0xdf,0x09,0x98,0xd8, 0x1d,0x32,0x94,0x00,0x4f,0xd4,0x56,0x6b,0x15,0x3b,0x51,0x05,0x01,0x40,0x50,0x14, 0x05,0x01,0x40,0x50,0x14,0x05,0x01,0x41,0xc8,0x4f,0x48,0x0d,0x4d,0xfc,0xd9,0xdb, 0x6e,0xb7,0xb9,0xa5,0x65,0xc6,0xdc,0xba,0xbc,0xd3,0x6a,0xeb,0xec,0x36,0x7b,0xb4, 0xfd,0x90,0x2b,0x51,0xa6,0xc5,0xf4,0x45,0xb4,0x77,0xb3,0xb5,0x0d,0xd5,0x49,0x04, 0x21,0x0d,0x45,0x42,0xbd,0xe4,0x95,0x1f,0xd1,0x3f,0x5a,0xf4,0xf0,0x4e,0xd6,0xbc, 0xdf,0x26,0xf8,0x8f,0x47,0xcb,0x8c,0xa7,0xd6,0x8d,0xbb,0x48,0x00,0xf5,0xf9,0x57, 0xa1,0xe3,0x35,0x5a,0x24,0x90,0x85,0xa1,0x4a,0xce,0x1c,0x38,0xdc,0x08,0x24,0xfe, 0x5c,0xd6,0x8b,0xb3,0x46,0xde,0x92,0xb7,0xda,0x8e,0xfb,0x05,0x6d,0x84,0x0d,0xce, 0x38,0x39,0x3c,0x75,0xf2,0xeb,0xc6,0x2b,0x5b,0xfa,0x63,0x5f,0x71,0x09,0xa8,0xa3, 0xdb,0x51,0x25,0x28,0x9b,0x02,0x03,0xcd,0x80,0x92,0xa0,0xe3,0x29,0x52,0x95,0x92, 0x73,0x8f,0x1e,0x30,0x3a,0x67,0xad,0x6a,0x6e,0xb3,0x75,0x14,0x7b,0xce,0x9d,0xd1, 0x53,0x72,0x65,0x69,0xd8,0xcd,0x34,0x94,0xee,0x5b,0x81,0xa2,0x9d,0xb9,0x50,0x09, 0xe9,0xe0,0x72,0x7e,0x9d,0x2a,0xf4,0x4b,0xe6,0x2f,0xf1,0xb2,0xc7,0xc5,0xad,0x6f, 0x73,0xec,0xdf,0x46,0x5d,0x57,0xde,0x5b,0x95,0x21,0x84,0x2d,0x7b,0x30,0xda,0xbd, 0x91,0xec,0x95,0x67,0xda,0x1d,0x36,0x82,0x73,0x9e,0x7e,0xb5,0x2f,0xc5,0xc2,0xf9, 0x89,0x3e,0x6f,0x27,0x99,0x92,0x0a,0x57,0x64,0x56,0x97,0x02,0x15,0x6f,0xbf,0x21, 0x01,0x7c,0x37,0xbf,0x6f,0xb7,0xd3,0x8f,0xcc,0x33,0xd4,0x7d,0x6b,0x1f,0xc9,0xe1, 0x7e,0xdb,0x9f,0x90,0xce,0x79,0xd2,0x36,0x4f,0x64,0x37,0x06,0x16,0x94,0xc4,0xba, 0xc7,0x71,0x6a,0xce,0xc4,0xab,0x29,0xce,0x3a,0xe0,0x73,0x9c,0x7c,0x6b,0x17,0xe1, 0x4f,0x55,0xd6,0x7e,0x4a,0xfb,0xc7,0xfb,0xa3,0x9c,0xd0,0x1a,0x92,0x39,0x3e,0xac, 0xe3,0x12,0x12,0x92,0x41,0xee,0xdc,0x1d,0x47,0x51,0xd6,0xb1,0x7e,0x16,0x5f,0x6e, 0xb3,0xf2,0x78,0x5f,0x57,0xfc,0xa0,0xee,0xd3,0x6f,0x1a,0x6a,0x52,0x23,0xdc,0x82, 0x9b,0x75,0x48,0x0b,0x09,0xcf,0x3b,0x7a,0x67,0xf5,0xaf,0x2f,0x27,0x1d,0xe3,0xba, 0xaf,0x5f,0x17,0x3c,0xe4,0xc7,0xab,0x15,0xcf,0xb0,0xb9,0xd2,0x75,0x9f,0x6c,0x3a, 0x36,0xcc,0xf9,0x2a,0x8e,0xf5,0xc9,0xa7,0x5e,0x04,0xf1,0xb1,0xb3,0xde,0x1c,0xff, 0x00,0x82,0xb1,0x1d,0x6e,0x4e,0x82,0x76,0x49,0x78,0x97,0x32,0x66,0xbf,0xd4,0x0a, 0x7d,0xe5,0x36,0x89,0xad,0x42,0x8a,0xd9,0x51,0xd8,0x92,0x91,0x95,0x60,0x74,0xe4, 0xaa,0x97,0xbf,0x66,0x2b,0x7c,0x46,0x90,0x99,0x51,0xdb,0x79,0xae,0x50,0xe2,0x42, 0xc7,0xc0,0xd6,0x19,0x29,0x40,0x50,0x14,0x05,0x01,0x40,0x50,0x14,0x05,0x01,0x41, 0x13,0xab,0x6f,0x88,0xd3,0x1a,0x5e,0xf1,0x78,0x7b,0x1b,0x2d,0xf0,0xde,0x96,0x77, 0x74,0x3b,0x10,0x55,0xfb,0x50,0x71,0x65,0xe9,0x2b,0x96,0xea,0xdf,0x7d,0x5b,0x9c, 0x74,0x97,0x16,0xa3,0xd4,0xa8,0x9c,0x93,0xf5,0xad,0xba,0x74,0xbd,0x13,0xe8,0xef, 0xda,0x5e,0x8e,0xd1,0x3a,0x45,0xd8,0x3a,0x86,0xf0,0xdd,0xbe,0xe4,0xfc,0xa5,0xba, 0xb4,0xba,0xcb,0x9b,0x71,0x80,0x13,0xed,0x04,0x91,0xd0,0x79,0xd7,0xa3,0x8f,0x93, 0x1c,0x66,0x9e,0x5e,0x7e,0x1c,0xb2,0xbb,0x8d,0xcf,0x13,0xb4,0x1d,0x29,0x7b,0x74, 0xae,0xd7,0xaa,0xac,0x4f,0x29,0x49,0xc0,0x47,0xae,0x21,0x18,0xe3,0xc7,0x24,0x1a, 0xeb,0x39,0x31,0xbe,0xde,0x6b,0xc5,0x9c,0xf4,0x95,0x52,0x9c,0x5c,0x6e,0xfa,0x04, 0x84,0xca,0x48,0xc0,0x3e,0xae,0xbe,0xf0,0x6d,0xc0,0x1c,0x63,0x3c,0xe7,0x27,0x35, 0xd6,0x59,0x5c,0xec,0xb0,0xc2,0x4a,0xae,0xe1,0x95,0xec,0x43,0x81,0x05,0x0a,0x29, 0xde,0x06,0xec,0x1c,0x81,0xd3,0xc4,0x02,0x0f,0x87,0x4a,0xd4,0xd3,0x9d,0xda,0x2a, 0xef,0xa8,0xe5,0xc1,0x49,0xef,0x61,0xf7,0x8d,0xa1,0x2a,0x5e,0xf2,0x92,0x92,0xa0, 0x3d,0xdf,0xd2,0x7d,0xc7,0x24,0xfc,0xeb,0x52,0x46,0x6e,0x56,0x2a,0xb2,0x2e,0x28, 0xbb,0x07,0xdb,0x7e,0x23,0x0c,0xa5,0x95,0x84,0x16,0xd3,0x85,0x24,0xe3,0x0b,0x1e, 0x03,0xa1,0x56,0x7e,0x39,0xeb,0x5b,0xd6,0x9c,0xed,0xda,0x12,0x4d,0x96,0x12,0x9a, 0x4b,0x69,0x43,0x88,0x42,0x77,0x80,0x94,0x38,0xa1,0xf9,0x93,0xb4,0xe7,0x9e,0x78, 0x24,0x73,0xd3,0x3c,0x56,0xb7,0x5c,0xee,0x32,0xa2,0x97,0xa6,0xa3,0xb4,0xea,0x14, 0xc3,0xef,0xa1,0xb0,0xbe,0xf0,0xb4,0xa0,0x85,0xa4,0xab,0x8e,0x79,0x1d,0x46,0x38, 0xf2,0x24,0x9a,0xde,0xd9,0xb8,0x7d,0x22,0x46,0x8f,0xee,0xdd,0x92,0xea,0xa7,0x2d, 0xc7,0x56,0x14,0x5b,0x3b,0x4a,0x76,0x2c,0x94,0xfb,0x5c,0x1e,0x4f,0xb3,0xf0,0xcf, 0xc0,0x56,0xba,0xdc,0xff,0x00,0x87,0xae,0xe7,0xd0,0x23,0x3b,0x15,0x32,0x0c,0x9e, 0xe7,0xbc,0x75,0xf5,0xba,0x4b,0x44,0xe3,0x04,0xf1,0xd4,0x0e,0x70,0x00,0xf9,0x54, 0xf2,0xb8,0xcb,0xed,0xa3,0xbb,0x5c,0x9b,0xeb,0x5a,0xe6,0x62,0x47,0xe5,0x8e,0xdb, 0x6c,0x0f,0x71,0x08,0x04,0xfd,0xd4,0x6b,0xe3,0xfc,0x9b,0xbe,0x4a,0xfd,0x17,0xc3, 0xc2,0x4e,0x28,0xd9,0x5e,0x85,0x56,0xd4,0xc9,0xed,0x86,0x55,0xd1,0xd0,0x3b,0xbb, 0x3d,0x9a,0x5c,0xad,0xde,0x4a,0x52,0x43,0x43,0xfe,0xf3,0xf4,0xae,0x0f,0x4e,0x5f, 0xa7,0xb9,0x7b,0x2a,0x8e,0x60,0xf6,0x31,0x69,0x79,0xc1,0x87,0xae,0xf3,0x5f,0xb8, 0xaf,0x3e,0x4a,0x51,0xc7,0xdb,0x15,0x7d,0xb1,0xed,0xb9,0xf4,0x8a,0x1c,0x46,0x9e, 0x87,0xdf,0x12,0x49,0x41,0x23,0x3e,0x09,0x24,0xe3,0xed,0x58,0xcb,0xcb,0x35,0x31, 0x50,0x14,0x05,0x01,0x40,0x50,0x14,0x05,0x01,0x40,0x50,0x69,0x7f,0x4c,0x7d,0x48, 0x34,0xcf,0xa3,0xae,0xae,0x70,0x38,0x10,0xec,0xd6,0x5b,0xb7,0xb7,0xef,0x2e,0xb8, 0x94,0xa8,0x7f,0x80,0xac,0xfc,0xa9,0x1a,0xc7,0xcb,0x94,0x8a,0x5e,0x33,0x8e,0x95, 0xb6,0xee,0x44,0xd4,0xbe,0x30,0x3e,0x94,0x67,0x64,0xd6,0x52,0xa1,0xc8,0x18,0xf8, 0x50,0x7d,0x62,0x53,0xb1,0x17,0xbe,0x2b,0xae,0xb0,0xb1,0xd1,0x4d,0x28,0xa4,0x8f, 0x98,0xa8,0x49,0xb4,0xf5,0xbf,0xb4,0xed,0x5d,0x69,0xdb,0xf8,0x76,0xa7,0xbf,0x33, 0x8e,0x40,0xf5,0xc5,0x91,0xf4,0x24,0xd6,0xa6,0x57,0xed,0x2e,0x18,0xfb,0x89,0x94, 0xf6,0xfb,0xad,0xc2,0x12,0x99,0x37,0x8f,0x5c,0x48,0xf0,0x91,0x1d,0xb5,0x67,0xe6, 0x12,0x0f,0xde,0xba,0x63,0xcd,0x9c,0xf1,0x5c,0xb2,0xe0,0xe3,0xcb,0xd1,0xec,0x7f, 0x48,0x4b,0xe3,0x7c,0x4e,0x81,0x6a,0x93,0xf0,0x4a,0xdb,0xfd,0x0d,0x74,0x9f,0x2b, 0x37,0x1b,0xf0,0xb8,0xef,0x78,0x93,0x63,0xd2,0x15,0x95,0xff,0x00,0xeb,0xac,0x4e, 0xa4,0xf8,0xa9,0x89,0x40,0xfd,0x8a,0x7f,0x7a,0xdc,0xf9,0x97,0xdc,0x73,0xbf,0x8f, 0x9e,0xa9,0xfb,0x5d,0xb9,0xe9,0xd9,0x20,0x7a,0xc3,0x57,0x48,0xbe,0x7b,0x9a,0x4a, 0xff,0x00,0x45,0x57,0x59,0xf3,0x31,0xf7,0x1c,0xef,0xe3,0xf3,0xf5,0x61,0xf3,0x3d, 0xa8,0xe9,0x89,0x5c,0x26,0xec,0x86,0x89,0xe8,0x1e,0x69,0xc4,0x7d,0xf6,0xe3,0xef, 0x5d,0x27,0xca,0xe3,0xbe,0xde,0x7c,0xbe,0x17,0x2c,0xf4,0x7d,0x1b,0x54,0x59,0xa7, 0xa8,0x08,0xb7,0x8b,0x5b,0x80,0x9c,0x12,0x24,0x24,0x7e,0xf5,0xd3,0x1e,0x6c,0x2f, 0xb7,0x1b,0xf1,0xb9,0x27,0x9c,0x6b,0xce,0xda,0xa2,0xe7,0xf8,0xa6,0xa4,0xba,0xcc, 0x4a,0xb7,0x87,0xa5,0x38,0xa4,0xab,0x3d,0x53,0xb8,0xe0,0xfd,0x2b,0xe3,0xe7,0x7a, 0xb2,0xb5,0xfa,0x0c,0x27,0x4e,0x32,0x3d,0x0d,0xe8,0x95,0x15,0x56,0xde,0xce,0x7b, 0x56,0xd4,0x29,0x1b,0x5c,0x31,0xa3,0xda,0xd9,0x57,0xf7,0x96,0x56,0xa3,0x8f,0x98, 0x4f,0xd6,0xa4,0x6e,0xbd,0xc7,0x3d,0xb6,0xf4,0xa6,0x97,0xd2,0xd6,0x64,0x27,0x2b, 0x8b,0x6e,0x69,0x94,0xa0,0x7f,0xbe,0x40,0xfd,0xea,0xcf,0x75,0x98,0xd9,0xda,0x72, 0xe4,0x99,0x10,0xdb,0x65,0x5c,0x2d,0xa4,0x84,0xe3,0xcc,0x01,0x8a,0xe6,0xca,0x6a, 0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x83,0xc8,0x1f,0xc4,0x97,0x52, 0x18,0x3d,0x9d,0x69,0x6b,0x1a,0x15,0x83,0x70,0xb9,0xaa,0x4a,0x92,0x3c,0x50,0xcb, 0x7f,0xfe,0x9d,0x4d,0x58,0xb1,0xcf,0x50,0x4a,0x8e,0x00,0xc9,0xfd,0xab,0x4d,0x69, 0xf1,0x48,0x58,0xce,0x52,0xac,0x79,0xe2,0x8b,0xa2,0x45,0x5d,0x3c,0x78,0xa1,0xb2, 0x6b,0x73,0xa7,0x34,0x4a,0x4c,0xa8,0xe7,0x3c,0x50,0x60,0xa5,0x9f,0x0e,0x71,0x4d, 0x2e,0x98,0x15,0xd5,0xf0,0xb2,0x30,0x2e,0x71,0x4b,0x4b,0x58,0xa9,0xce,0x9f,0xa5, 0x44,0xfd,0xd6,0x0a,0x5f,0x14,0x36,0x49,0x44,0x1f,0x01,0xf4,0xa2,0xde,0xec,0x4a, 0xbc,0x41,0xa1,0x1e,0xe4,0xf4,0x54,0xd0,0x73,0xee,0x1e,0x8d,0xcd,0xc9,0x8b,0x11, 0x6e,0x41,0x9f,0xa8,0xcc,0xb9,0xef,0x02,0x3d,0x88,0xec,0x96,0xc7,0x4e,0xa7,0x38, 0x57,0x02,0x9b,0x61,0xe9,0x6b,0xad,0xea,0x1e,0xb1,0xd7,0x71,0x5f,0xb4,0x3c,0x24, 0x40,0x69,0x1b,0xd2,0xa4,0x82,0x38,0x48,0xe9,0x83,0xd3,0x9c,0x53,0xc4,0x4f,0x0b, 0xbd,0x82,0x51,0x8f,0x71,0x40,0xce,0x02,0x8e,0x0d,0x61,0x17,0xa4,0x9c,0xa7,0x34, 0x1f,0x68,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0x3c,0x50,0x73,0x9f,0xf8,0x90, 0xea,0x6f,0xc4,0x3b,0x58,0xd3,0xf6,0x66,0xd6,0x54,0x8b,0x6d,0xa7,0xbd,0x52,0x7c, 0x02,0xde,0x70,0xfe,0xcd,0xa7,0xed,0x5a,0x8d,0xe3,0xd9,0xe4,0x85,0x39,0xb5,0x2a, 0xf0,0xaa,0x6c,0xf2,0xdf,0x12,0x1c,0x8b,0x1d,0xea,0x5c,0xc9,0x4f,0x33,0x32,0x22, 0x59,0x31,0x59,0x48,0x4e,0xd7,0x8a,0xdc,0xda,0xa0,0x49,0x39,0xe1,0x39,0x3c,0x03, 0xef,0x23,0xc4,0x2b,0x97,0xe9,0xee,0xb1,0x69,0x96,0xe2,0x56,0xa0,0xe7,0x76,0x52, 0x92,0x4f,0x20,0x9e,0x01,0x1f,0x5a,0x1a,0x3a,0x4c,0x82,0xdb,0x68,0x0e,0x04,0xa8, 0x84,0x8d,0xc4,0x8e,0xa7,0x1c,0xd1,0x75,0x12,0x57,0x5b,0x25,0xc2,0xcd,0x0a,0x0c, 0xbb,0x9c,0x20,0xd4,0x69,0x89,0x25,0x87,0x12,0xea,0x54,0x14,0x40,0x4a,0x8a,0x4e, 0x09,0xda,0xa0,0x16,0x82,0x52,0x70,0x40,0x50,0xe3,0x9a,0x2d,0xa8,0x0f,0xc4,0x12, 0x6e,0x62,0x29,0x49,0x09,0x2c,0xf7,0xa4,0x8f,0x0e,0x70,0x07,0xcf,0x9f,0xa5,0x19, 0xb7,0x65,0x54,0xeb,0x40,0x64,0xb8,0x52,0x07,0x8a,0x93,0x42,0x5d,0x3e,0x29,0x43, 0x04,0x85,0xa5,0x43,0xe0,0x73,0x45,0xf2,0x49,0x87,0x44,0xb6,0x50,0xec,0x72,0x1c, 0x6d,0x43,0x29,0x50,0x3d,0x45,0x14,0x29,0x2b,0x1f,0xd0,0xbf,0x8e,0xda,0x26,0x88, 0xa9,0x79,0x3e,0xea,0x2b,0x15,0x2f,0x09,0x24,0x70,0x05,0x07,0x51,0x7b,0x01,0x66, 0xe5,0xa7,0x3d,0x1c,0xf4,0x7e,0x9d,0x85,0x1a,0x08,0x66,0x65,0xb1,0x32,0xde,0x5b, 0xae,0xa9,0xb7,0x02,0xdd,0x5a,0x9c,0xc7,0x09,0x23,0x18,0x50,0xa9,0x75,0xb6,0x2d, 0xee,0xb6,0x76,0x77,0xa3,0x24,0xe9,0x87,0x67,0xbf,0x70,0x95,0x1a,0x42,0xe4,0x28, 0x77,0x6d,0xb2,0x0e,0x1b,0x1e,0x3c,0x90,0x32,0x4f,0x1e,0x03,0xa5,0x2e,0x5b,0x4b, 0x57,0x78,0xeb,0xee,0x64,0x21,0x60,0xf4,0x55,0x65,0x1b,0x16,0x2a,0xc3,0x8c,0xa5, 0x43,0xc4,0x66,0x81,0x5a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x0d,0x07,0x23, 0xfd,0x30,0x75,0x37,0xf3,0x3f,0xa4,0x6e,0xb5,0x7d,0x27,0x2d,0xc6,0x94,0x98,0x28, 0xc1,0xc8,0x01,0x96,0xd2,0xd9,0xff,0x00,0x32,0x54,0x7e,0x75,0xa8,0xd4,0x8d,0x2c, 0xfa,0x56,0xa4,0x24,0xb4,0xf2,0x5a,0x57,0x92,0x91,0xb8,0x1a,0xad,0xeb,0x46,0x67, 0xd7,0x52,0x3d,0x93,0x09,0xcf,0x2f,0xcc,0x93,0xf5,0xa1,0x6e,0x8c,0x2e,0x68,0x93, 0x3c,0x33,0x15,0xe6,0xda,0x64,0x29,0xd4,0xac,0xa8,0x3b,0xbb,0x70,0x49,0xdd,0x80, 0x31,0xd7,0x20,0x51,0x37,0xb3,0x97,0xe6,0x77,0x65,0x41,0xf6,0x25,0x36,0x3a,0x13, 0xdd,0xe4,0x7d,0xa8,0x69,0x2d,0xa9,0x3b,0x42,0x7b,0x55,0xfa,0x82,0x2e,0xee,0x42, 0x65,0x30,0x58,0x11,0x98,0x6a,0x3c,0x61,0x1d,0x09,0x47,0xfc,0x89,0x01,0x39,0x3c, 0x64,0x80,0x09,0xea,0x72,0x79,0xa1,0x22,0xaf,0x09,0xc4,0xc9,0xbb,0xcf,0x92,0x82, 0x14,0xd8,0x4b,0x6c,0xa1,0x60,0xe4,0x2b,0x1c,0x9c,0x1f,0x1e,0x4d,0x0b,0xdd,0x77, 0xec,0xeb,0x50,0xdb,0x34,0xbe,0xaa,0x8f,0x72,0xd4,0x4c,0xc9,0x91,0x11,0x90,0x09, 0x65,0x98,0xed,0xbd,0xde,0x7b,0x49,0xdc,0x82,0x16,0x46,0x02,0x92,0x14,0x37,0x24, 0x85,0x02,0x47,0x86,0x45,0x16,0xaa,0x77,0xd9,0xe8,0x43,0x57,0x19,0x8c,0xb6,0x96, 0x51,0x87,0x1d,0x43,0x40,0x60,0x24,0x72,0x40,0xe3,0x8e,0x3a,0x71,0x43,0x7a,0x34, 0xb6,0x37,0xea,0xd6,0xb8,0x8d,0x0e,0x4a,0x1a,0x4a,0x7e,0xd4,0x89,0x7b,0x44,0xe5, 0xd6,0x0b,0x10,0x18,0x6d,0x71,0x94,0xea,0x89,0x20,0x25,0xc2,0xea,0x14,0x97,0x06, 0xdc,0x95,0x24,0x0e,0x52,0x01,0xe3,0x07,0x3f,0x11,0xd2,0xbc,0xdc,0x1c,0xd9,0x67, 0x7b,0xfd,0x7f,0xbf,0xfe,0x3e,0xb7,0xcf,0xf8,0x3c,0x7f,0x1f,0x09,0x97,0x1e,0xee, 0xef,0x9d,0xcb,0x2f,0x6d,0xee,0x49,0xde,0x6b,0xc6,0xae,0xf7,0xf7,0x3c,0x5a,0xdd, 0xd6,0x5b,0x9e,0xb7,0x6f,0x6d,0x2b,0x56,0xe5,0xbc,0x4a,0x8e,0x7a,0xa4,0x24,0xe4, 0x7d,0xc5,0x7a,0x5f,0x26,0xa4,0x19,0x69,0x53,0x5f,0x6a,0x3b,0x79,0x2a,0x79,0x41, 0xb4,0xe3,0xa9,0x24,0xe3,0xf7,0xa2,0xbb,0x47,0x6b,0xd0,0x0d,0xc0,0xd3,0xf6,0xa8, 0x6d,0x48,0xee,0x8c,0x38,0x6c,0xc6,0xd8,0x53,0xc0,0xd8,0x80,0x9f,0xdb,0xef,0x58, 0xbe,0x5c,0xa9,0xa9,0x85,0x22,0xd7,0x20,0xb3,0x23,0xaf,0x81,0x1d,0x08,0xf3,0xa0, 0x72,0xca,0x8a,0xb0,0x49,0xa0,0xd8,0x56,0x37,0xbb,0xd8,0x4d,0xe7,0xca,0x82,0x46, 0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28,0x12,0x97,0x25,0xa8,0x51,0x9e,0x91,0x25, 0x41,0x0c,0xb2,0x82,0xe2,0xd6,0x7f,0xa5,0x23,0x92,0x7e,0x82,0x83,0x87,0xda,0xa6, 0xf8,0xe6,0xa5,0xd4,0xb7,0x5b,0xc4,0x92,0x4b,0xb7,0x09,0x8f,0x4b,0x56,0x4e,0x79, 0x71,0x65,0x5f,0xbd,0x69,0xd3,0xab,0xe9,0x0e,0xf2,0xba,0x60,0x13,0x55,0x13,0xd7, 0x85,0xe9,0x71,0xa2,0xec,0xc8,0xb1,0x09,0xca,0xd4,0x3d,0xfb,0xca,0xb8,0xaa,0x4b, 0x64,0x0d,0xbb,0x1b,0xd8,0x10,0x42,0x8a,0x4a,0x77,0x6f,0xc7,0x01,0x5e,0x27,0x1c, 0x0a,0x82,0x8f,0x2d,0x7d,0xed,0xfa,0xde,0xdf,0x5e,0xe9,0xb7,0x1e,0x3f,0x64,0x8f, 0xde,0xaa,0xc5,0x8b,0x4b,0x5a,0x95,0xa8,0xf5,0x14,0x2b,0x60,0x90,0x62,0x07,0xd4, 0x77,0xca,0x2d,0xa9,0x61,0xa4,0x00,0x54,0xa5,0x61,0x3c,0x9c,0x00,0x4e,0x05,0x16, 0x8d,0x55,0x65,0x7b,0x4d,0x6a,0x3b,0x85,0x9e,0x53,0xbd,0xf3,0x91,0x1d,0x2d,0x15, 0xa9,0x20,0x6e,0xe0,0x10,0x71,0x93,0x8c,0x82,0x0f,0x53,0x52,0x24,0xaa,0xc5,0xb1, 0xf4,0xcd,0x82,0xea,0xa4,0xa1,0xb7,0x5b,0x2f,0xb8,0x1b,0x4a,0xc7,0x01,0x21,0x47, 0x1d,0x2a,0xa9,0xf3,0x5a,0x71,0xe9,0x16,0xe9,0x17,0x18,0xb6,0xc9,0xde,0xa0,0xc2, 0x82,0x1e,0x96,0xc8,0x5f,0x74,0xda,0x8e,0x30,0x09,0x1c,0x03,0xc8,0xfa,0x8f,0x31, 0x41,0x0b,0x74,0x69,0x96,0xa3,0xa4,0x3c,0xec,0xb7,0x19,0x5b,0x88,0x6d,0x4d,0xa9, 0xcc,0xee,0xc9,0x03,0xf7,0xcf,0x14,0x4a,0x78,0xe3,0x4e,0x20,0x90,0xc4,0x86,0xc2, 0x47,0x01,0x0b,0x6c,0x9c,0x7b,0xb3,0x45,0x24,0x4c,0xb4,0xe7,0x02,0x23,0x9f,0x05, 0x94,0x7e,0xbd,0x69,0x6d,0xa9,0xd3,0x21,0xa7,0x76,0xe4,0x8b,0xab,0x4e,0xbe,0x10, 0xd0,0x8e,0xda,0x86,0xc0,0xbd,0xc4,0x95,0x11,0xcf,0xc3,0x8a,0x11,0xb2,0x3b,0x0a, 0xb1,0x7f,0x35,0x76,0xd1,0xa2,0x2d,0x45,0x3b,0xd3,0x22,0xef,0x1c,0x2d,0x27,0x9c, 0xa5,0x2a,0x0a,0x3f,0x64,0xd1,0x6d,0x76,0x1c,0xde,0x42,0x9c,0x24,0x1e,0x33,0x58, 0x72,0x21,0x74,0x90,0x99,0x91,0xd1,0xc0,0x2a,0x41,0xc8,0xa0,0x66,0xd2,0x70,0x3c, 0xa8,0x2e,0x1a,0x51,0xfc,0xb2,0xa4,0x1e,0xa0,0xd0,0x58,0x68,0x0a,0x02,0x80,0xa0, 0x28,0x0a,0x02,0x83,0x5b,0x7a,0x49,0xea,0x7f,0xe4,0xfe,0xc1,0xb5,0xd5,0xd1,0x2a, 0x09,0x71,0x16,0xa7,0x99,0x6c,0xff,0x00,0x7d,0xd1,0xdd,0xa7,0xfc,0xcb,0x14,0x83, 0x8d,0x44,0xed,0x01,0x23,0x20,0x01,0x81,0x8a,0xdb,0x66,0xef,0xc5,0x8e,0xf3,0xbf, 0x91,0xc4,0xa8,0x9e,0x0b,0x4e,0x11,0x9f,0x95,0x1a,0xa6,0xcb,0x8b,0xb0,0x90,0xdc, 0xb9,0x8d,0xff,0x00,0x75,0x58,0x57,0xeb,0x42,0x19,0x46,0x68,0x2e,0x74,0xb7,0x3b, 0xfe,0xf2,0x5b,0x69,0x4b,0x45,0x4e,0x27,0x09,0x09,0xfc,0xc0,0x60,0x7c,0x73,0xf3, 0xa1,0xb3,0x86,0x65,0x5c,0x61,0xbe,0x87,0xa2,0x16,0x90,0xf3,0x6a,0x0a,0x6d,0xd8, 0xef,0xec,0x5a,0x48,0xe8,0x41,0x1c,0x83,0xf3,0x14,0x08,0x4a,0xb8,0x4b,0xde,0xb7, 0x64,0xc5,0x94,0xb7,0x56,0x4a,0x8a,0xca,0xc2,0x8a,0x94,0x7c,0xce,0x7c,0x49,0xeb, 0xef,0xa1,0x4c,0xa0,0xa8,0x5a,0xad,0xd1,0xe3,0x4b,0x51,0x0e,0x21,0x3e,0xd2,0x82, 0x49,0x49,0x51,0xeb,0xcf,0xc6,0x84,0x5c,0x62,0x76,0xac,0xfb,0x1a,0x02,0x46,0x92, 0x40,0xb7,0x2e,0x0b,0xce,0x29,0xc4,0xbc,0xe1,0x21,0x68,0xdc,0xb6,0x96,0xac,0x0c, 0xed,0x24,0x96,0x50,0x02,0x88,0xc8,0x49,0x50,0xe8,0x78,0x89,0x22,0x8d,0x75,0x71, 0x2f,0x4a,0xb6,0x32,0x92,0x08,0x53,0xdd,0xe1,0xc1,0xcf,0x09,0x49,0xff,0x00,0xcd, 0x52,0xae,0x9a,0x76,0xe1,0x67,0x8d,0x6d,0x98,0x2e,0xed,0xc6,0x54,0xb5,0x2c,0xa8, 0x19,0x31,0x54,0xf6,0xf6,0xf6,0x11,0xb1,0xb2,0x95,0x0d,0x8b,0xdf,0x83,0xbb,0x8e, 0x31,0xcf,0x04,0x2b,0xe5,0xfc,0xee,0x2f,0x91,0x97,0x26,0x37,0x8a,0xde,0x9d,0x7a, 0xba,0xef,0xbf,0x37,0x72,0xee,0x6b,0xb6,0xbc,0x7e,0xbc,0x59,0xe9,0xe1,0xcf,0x8e, 0x61,0x7a,0xbf,0xc6,0xfb,0x7e,0xbe,0xaf,0xfa,0x4b,0xbb,0x0b,0x46,0x37,0x1f,0x50, 0x15,0x4b,0x69,0xf7,0x55,0xb9,0x56,0xa4,0xc7,0x5b,0xa0,0x25,0x29,0x6d,0x44,0x05, 0x15,0x84,0xe1,0x4a,0x56,0xd3,0x82,0x95,0x03,0xb4,0xa4,0x60,0x90,0x6b,0xe7,0xce, 0x6f,0xc9,0x5c,0xb8,0xbf,0xf3,0xa9,0xda,0x67,0xbd,0x5f,0x39,0x7a,0xd6,0xfb,0x6b, 0xea,0xcd,0x6f,0x7d,0xfb,0xbd,0x17,0x0f,0x8f,0x26,0x7d,0xf7,0xf5,0xe7,0xd4,0xbf, 0xdf,0xc7,0xdf,0xd3,0x58,0x44,0x5f,0x79,0x77,0x9c,0xb5,0x74,0x40,0x43,0x7c,0x7c, 0x37,0x7e,0xf5,0xfa,0x47,0xcd,0x8f,0x47,0xfa,0x0c,0x59,0x7f,0x19,0xf4,0x89,0xb4, 0xbe,0xa4,0xee,0x45,0xb2,0x1c,0xa9,0xc7,0xdc,0x43,0x65,0x09,0xff,0x00,0x32,0xc5, 0x17,0x2a,0xe9,0x3b,0x69,0xe3,0x81,0x9a,0xc3,0x99,0xd2,0x52,0x53,0xe3,0x9a,0x05, 0xda,0x48,0x03,0xa5,0x04,0xf6,0x9b,0x73,0x64,0xb5,0x24,0x9e,0xa2,0x82,0xde,0x39, 0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x0d,0x07,0x97,0x3f,0x88,0xb6,0xa8,0xfc, 0x17,0xb0,0x04,0x5b,0x9b,0x73,0x63,0x97,0x7b,0xac,0x78,0xe5,0x3f,0xef,0x21,0x19, 0x74,0xfd,0xdb,0x4d,0x58,0xb1,0xcb,0xf5,0xbb,0xb4,0xee,0x51,0xc0,0x1c,0xf3,0x5a, 0x6e,0x43,0x78,0x97,0x36,0x5a,0x9a,0xcb,0xa9,0x78,0xe5,0xb7,0x12,0xbf,0xec,0x1e, 0xee,0xdc,0xe0,0xe7,0xd9,0x50,0xe5,0x27,0xc8,0xe3,0x83,0xcd,0x15,0x25,0xab,0x75, 0x4c,0xcd,0x67,0xa8,0x26,0xdd,0xae,0x6b,0x71,0x4f,0x48,0x57,0xb2,0x95,0x38,0xa7, 0x3b,0xb6,0xd2,0x02,0x50,0x80,0xa5,0x64,0xa8,0x25,0x21,0x29,0xc9,0x39,0x38,0xc9, 0xe6,0x82,0xa7,0x68,0x7b,0xbc,0x13,0x5e,0x27,0x87,0x64,0xab,0x1f,0x04,0xfb,0x23, 0xec,0x05,0x12,0x36,0x26,0x8c,0xb2,0xe9,0x6b,0x86,0x8f,0xd4,0xd3,0xb5,0x55,0xc0, 0x31,0x74,0x8e,0xd2,0xbf,0x0f,0x8e,0x24,0xa5,0xb5,0x15,0x06,0x9c,0x50,0x3b,0x49, 0x05,0x7b,0x9c,0xee,0x90,0x36,0x85,0x63,0xda,0xdc,0x12,0x08,0x50,0x16,0xb5,0xbd, 0xf1,0xf2,0x8b,0x54,0x80,0x93,0x85,0x2c,0x04,0x0f,0x0e,0x54,0x40,0xfd,0xe8,0xb4, 0xf7,0xbf,0x52,0x42,0x52,0x95,0x1c,0x00,0x00,0x04,0xfb,0xbd,0xf4,0x16,0x0d,0x7b, 0xa0,0x2e,0x9d,0x9f,0xce,0x8d,0x1b,0x52,0x37,0x09,0xd5,0x49,0x43,0x8a,0x6d,0xd6, 0x50,0xad,0xaa,0xd8,0xb2,0xda,0xf0,0x56,0x84,0x92,0x02,0x92,0x40,0x50,0x05,0x2a, 0x18,0x29,0x51,0x07,0x35,0x36,0x4a,0xa5,0x36,0xa6,0x91,0x76,0x2c,0x36,0xc3,0x28, 0x4a,0x98,0xef,0x16,0x52,0x30,0x7a,0x9c,0x0c,0xfb,0xf1,0x54,0xb0,0xee,0x3d,0xa5, 0x53,0x5d,0x2d,0x5b,0x5b,0xb8,0xb8,0xe8,0x05,0x65,0x11,0xc9,0x70,0x80,0x3c,0x70, 0x06,0x70,0x3c,0xe8,0x68,0xdd,0x4c,0xb9,0x8c,0xb3,0x31,0xc3,0xe1,0x87,0x1b,0x06, 0x81,0x0b,0x62,0x1b,0x0d,0x3a,0xe3,0x6e,0x97,0x14,0xeb,0x85,0x4b,0x59,0x18,0xf6, 0x87,0x18,0xf8,0x71,0x8a,0x1a,0x7b,0x3f,0xf8,0x6f,0xd8,0xfb,0xfd,0x57,0xad,0xef, 0x4a,0x4f,0xb3,0x16,0xde,0xcc,0x44,0x2b,0xc9,0x4e,0xb8,0x49,0xfb,0x36,0x6a,0x5f, 0x0c,0xe4,0xf7,0x7b,0x43,0x18,0xe2,0xb2,0xc1,0x74,0x0f,0xa5,0x03,0x84,0x0c,0x50, 0x48,0xda,0x17,0xdd,0xcd,0x41,0x3f,0x0a,0x0b,0xab,0x67,0x28,0x04,0x79,0x50,0x65, 0x40,0x50,0x14,0x05,0x01,0x40,0x50,0x73,0xff,0x00,0xf8,0xa0,0xea,0x8d,0xd7,0x7d, 0x09,0xa7,0x5b,0x51,0xfe,0xc9,0x89,0x37,0x07,0x13,0xe6,0x56,0xa4,0x36,0x83,0xf2, 0xd8,0xe7,0xd6,0xb5,0x1a,0xc6,0x3c,0x2b,0xde,0x94,0x15,0xa8,0x1e,0x71,0xc6,0x6a, 0xb7,0x23,0xe4,0x6b,0x7c,0x8b,0xd3,0x8f,0x37,0x06,0xdc,0xe4,0xf7,0x1b,0x69,0x6f, 0xb8,0x86,0x63,0x97,0x0a,0x1b,0x4f,0x2a,0x59,0xda,0x32,0x12,0x07,0x52,0x78,0x14, 0x11,0x12,0x63,0xc3,0x43,0x2b,0x75,0x2d,0x21,0xa4,0xa5,0x25,0x5b,0x9b,0x52,0x80, 0xc0,0x19,0xf3,0xa0,0x4a,0x23,0x68,0x76,0xdd,0x10,0xb7,0xde,0x44,0x25,0xb0,0xa2, 0x86,0xb0,0x52,0x33,0xe1,0x83,0xfa,0xd0,0x64,0x50,0xf0,0x24,0x35,0x31,0xb2,0x7c, 0x9c,0x6b,0x9f,0x99,0x14,0x0c,0xe6,0x32,0xf4,0xa7,0x63,0x31,0x25,0xc8,0xc1,0x25, 0xc0,0xb1,0xb0,0x2b,0x2b,0x29,0xe7,0x1c,0xf4,0xf3,0xf9,0x51,0x29,0xc2,0x9c,0x90, 0xda,0xb7,0x2e,0x2b,0xc7,0x9f,0xcc,0xd9,0x0a,0xfd,0xe8,0xb0,0xea,0xff,0x00,0xac, 0x6e,0x1a,0x8a,0x68,0x95,0xa9,0xa5,0xce,0x99,0x29,0x28,0x0d,0x87,0x24,0xa0,0xe5, 0x29,0xc9,0x38,0xe0,0x60,0x0c,0x92,0x7d,0xe4,0x92,0x79,0x34,0x66,0x20,0xa1,0xbe, 0x1c,0xb8,0x4b,0x92,0xbf,0x65,0xa5,0x04,0x36,0xda,0xd5,0xc0,0x50,0x03,0x27,0x19, 0xf7,0x9a,0x34,0xdc,0xdd,0x85,0xf6,0xb1,0x65,0xec,0xe7,0xf1,0x26,0xf5,0x04,0x59, 0x6e,0x09,0x4f,0x30,0xf2,0x64,0xc4,0x09,0x51,0xc3,0x64,0x92,0xda,0xb2,0x0f,0x07, 0x23,0xc0,0xf8,0x83,0xd4,0x11,0x13,0xcb,0x5c,0x6a,0xdb,0xe8,0xbe,0x6a,0x2b,0xb5, 0xd8,0x24,0xa1,0x12,0xa4,0x38,0xf8,0x0a,0x4e,0xd3,0x8c,0xe7,0x2a,0xe4,0xfb,0x58, 0xe4,0x9c,0x9e,0x73,0xc9,0xaa,0x78,0x57,0xec,0x80,0xa6,0xd5,0x1b,0x78,0xf6,0x96, 0x9d,0xea,0xf8,0x9e,0x4f,0xeb,0x42,0x47,0x46,0x7f,0x87,0x4d,0x8b,0xd4,0xfb,0x22, 0xd4,0x57,0x65,0x8c,0x2e,0xe3,0x78,0x0d,0xa5,0x44,0x75,0x43,0x2d,0xe3,0xf5,0x70, 0xd4,0xc9,0x9c,0xde,0xb1,0x6d,0x38,0xac,0xb2,0x70,0x84,0xe3,0xe1,0x40,0xb8,0x1c, 0x0c,0xd0,0x2f,0x11,0x45,0x32,0x10,0x7a,0x1c,0xd0,0x5e,0x63,0x9c,0xb2,0x9f,0x85, 0x02,0x94,0x05,0x01,0x40,0x50,0x14,0x05,0x07,0x28,0x3f,0x88,0x1e,0xa8,0xfc,0x7f, 0xd2,0x52,0xf1,0x1d,0x0b,0xde,0xd5,0xa6,0x1c,0x58,0x09,0xc7,0x82,0xb6,0x77,0xaa, 0xfb,0xba,0x47,0xca,0xb5,0x1b,0xc5,0xe6,0x77,0xde,0x28,0x6c,0x14,0xa1,0x4b,0x07, 0xae,0xcc,0x64,0x55,0x69,0x9d,0xb7,0x56,0x4f,0xb0,0xac,0xae,0xd3,0x36,0xe1,0x6e, 0x51,0x5a,0x1c,0x25,0x92,0xa4,0xe5,0x48,0x39,0x41,0x3b,0x7a,0xe0,0xf2,0x05,0x04, 0x1d,0xe2,0x6a,0x64,0x5b,0xa4,0x37,0x1d,0x69,0x71,0xe7,0x86,0xc4,0xa5,0x3d,0x49, 0x51,0xc7,0x4f,0x81,0xfa,0x0a,0x25,0x3d,0x40,0xda,0xd2,0x12,0x01,0x01,0x20,0x0f, 0xa0,0xa2,0xae,0x5a,0x97,0x55,0x59,0x2e,0x3a,0x12,0xcb,0x69,0xb4,0xc3,0x53,0x77, 0x18,0xc5,0xa5,0x3c,0xb5,0x45,0x6d,0x1d,0xd1,0x4b,0x6b,0x4b,0xb8,0x74,0x1d,0xce, 0xf7,0xae,0x29,0x2e,0x1d,0xc0,0x6c,0xee,0xd2,0x91,0x9e,0xb4,0x1a,0xed,0xe7,0x3b, 0xcb,0xdc,0x54,0x9c,0x10,0xd3,0x4b,0x70,0xfc,0x4e,0x00,0xfd,0x0d,0x13,0xda,0x48, 0x08,0xdd,0xc2,0x4b,0x8e,0x3e,0x97,0xfb,0xc0,0x08,0x4b,0x60,0xa4,0x37,0x8e,0x4e, 0x77,0x64,0xab,0x3f,0xd3,0x8c,0x7b,0xe8,0xa9,0x0d,0x4b,0x68,0x6b,0x4f,0x4c,0x44, 0x58,0x77,0xcb,0x75,0xe5,0x2b,0x05,0x7d,0xed,0xb9,0x6a,0x53,0x69,0x49,0x3e,0xc6, 0x49,0x00,0x6e,0x23,0x92,0x9e,0x4a,0x7a,0x1f,0x68,0x10,0x09,0xa5,0x62,0xd9,0x25, 0x52,0x63,0x3a,0xa5,0x00,0xe0,0x71,0xf5,0xec,0x0a,0x48,0x3c,0x6e,0x38,0x03,0x34, 0x22,0xc3,0x23,0x41,0x4d,0xdc,0xe7,0xab,0xc0,0x89,0x35,0x4d,0x2d,0x4d,0x3d,0xea, 0x4e,0xee,0x53,0x2e,0x02,0x02,0x90,0xac,0x1e,0x08,0x2a,0x19,0xf0,0xea,0x73,0x80, 0x71,0xe3,0xc7,0xe7,0xf0,0xdd,0x6e,0xeb,0x73,0x73,0x72,0xcd,0xcb,0xee,0x7f,0xdb, 0xfd,0x77,0x70,0xc7,0xe4,0xe1,0x7f,0x5f,0xd7,0xfd,0x2a,0xf7,0x36,0x58,0x8b,0x15, 0xf3,0xfd,0xbe,0xd4,0xe5,0x2a,0x68,0x3c,0x48,0x57,0x38,0xc7,0x15,0xeb,0x97,0x7d, 0xdd,0xef,0x8d,0x9e,0x27,0x6a,0x50,0x03,0x7c,0x24,0x0e,0x00,0xaa,0xae,0xaa,0x7a, 0x1a,0xd8,0xbf,0x00,0xf4,0x6e,0xd1,0xcd,0xad,0x3b,0x5c,0x9a,0x97,0xe7,0xa8,0x79, 0xf7,0x8e,0xab,0x07,0xfc,0x29,0x4d,0x66,0xb1,0x97,0x96,0xf1,0x69,0x39,0x02,0xa3, 0x27,0x69,0x4e,0x28,0x33,0xdb,0xc0,0xa0,0x56,0x38,0x3d,0xfa,0x3c,0xf3,0x41,0x77, 0x87,0xfe,0xa0,0x67,0xca,0x81,0x6a,0x02,0x80,0xa0,0x28,0x0a,0x00,0x9e,0x68,0x38, 0x7b,0xdb,0x66,0xa9,0xfe,0x73,0xed,0x77,0x5a,0x5e,0xc2,0xf7,0xb7,0x36,0xf1,0x29, 0xd6,0xce,0x72,0x0a,0x3b,0xc2,0x13,0xf2,0xda,0x13,0x5a,0x8e,0x92,0x69,0x47,0x51, 0x3f,0x43,0xd6,0xaa,0xb1,0x52,0xbc,0x89,0xf9,0x9a,0x0c,0x0e,0x0a,0xb2,0x31,0x91, 0xe4,0x28,0x1b,0xb9,0x19,0xa7,0x17,0xb9,0x68,0x1b,0x8f,0x52,0x38,0x26,0x81,0x05, 0xc5,0x03,0xfd,0x5b,0xaf,0xa3,0xe0,0xbc,0xfd,0x8d,0x02,0x69,0x89,0xdd,0xba,0xe3, 0xa1,0xc5,0x2d,0xf5,0x00,0x9d,0xeb,0x03,0xa0,0xcf,0x18,0x1c,0x78,0x9a,0x24,0x8c, 0x56,0xa9,0x29,0xe4,0x86,0x57,0xf0,0x25,0x3f,0xf9,0xa2,0x91,0x5c,0xc7,0xd2,0x39, 0x8c,0x54,0xac,0x71,0xb5,0x63,0x06,0x81,0xbc,0x35,0x7e,0x1d,0x05,0x86,0x1f,0x2a, 0xde,0x84,0xfb,0x4b,0x42,0x49,0x19,0xf1,0xe9,0xef,0xa1,0x6a,0xc6,0x8e,0xd2,0x6e, 0x88,0x2e,0x14,0x5c,0x1a,0x40,0x74,0xee,0x7d,0x21,0xb4,0x36,0x24,0x12,0x41,0x57, 0x79,0x80,0x37,0xee,0xc0,0xdd,0x9e,0x4e,0x06,0x6b,0xc5,0x7f,0x1d,0xc1,0x75,0xbc, 0x7c,0x78,0xef,0x7b,0x7f,0x4f,0xad,0x7a,0xd6,0xb4,0xf3,0xdf,0x8b,0xc7,0x7d,0x78, 0xff,0x00,0xbb,0x7d,0x7e,0x95,0x4b,0xbb,0xa9,0x75,0x86,0x5b,0x69,0x49,0x57,0x78, 0xfa,0x13,0xec,0x9c,0xf0,0x0e,0xef,0xfe,0xbf,0x7a,0xf6,0x3d,0x16,0x24,0x14,0x49, 0x4e,0xc4,0x8f,0x68,0xf0,0x31,0xe7,0xe1,0x54,0x76,0x7f,0xb3,0x2b,0x10,0xd3,0x5d, 0x9c,0x69,0x1b,0x4a,0x13,0xb3,0xd4,0xad,0x11,0x5a,0x23,0xc8,0xf7,0x69,0x27,0xee, 0x4d,0x66,0xb9,0xd5,0xb9,0x91,0x8c,0x62,0xa2,0x1d,0xa4,0x73,0xc5,0x06,0x43,0x8f, 0x85,0x03,0x88,0x2d,0xef,0x92,0x81,0x8f,0x1a,0x0b,0x9c,0x61,0xb5,0xa1,0xf0,0xa0, 0x56,0x80,0xa0,0x28,0x0a,0x02,0x82,0xb7,0xda,0x55,0xfd,0x7a,0x53,0xb3,0xdd,0x51, 0x7a,0x64,0x94,0xbb,0x6f,0xb6,0x49,0x94,0x82,0x3c,0x14,0x86,0xd4,0xa1,0xf7,0x14, 0x1c,0x26,0x2f,0x29,0x41,0x2a,0x24,0x92,0x40,0xcd,0x6d,0xd5,0x80,0x3d,0x48,0xe0, 0x50,0x7c,0x2a,0xc7,0x5c,0xfc,0xe8,0x30,0x2e,0x70,0x49,0x38,0xf2,0xa0,0xc0,0xaf, 0x9e,0xb9,0xf2,0xa0,0x4c,0xab,0x9e,0x4e,0x28,0x31,0x52,0xf9,0xe7,0xed,0x40,0x8a, 0xd6,0x0e,0x47,0x5a,0x0c,0x14,0xaf,0x7e,0x7e,0x3e,0x34,0x18,0x15,0x80,0x3c,0xb1, 0x40,0x9a,0xb6,0x2c,0x7b,0x49,0x07,0xe5,0x40,0x92,0x58,0x6d,0xb5,0xee,0x43,0x68, 0x0a,0x3e,0x20,0x73,0x41,0x63,0xd0,0x36,0x55,0x6a,0x7d,0x75,0xa7,0x2d,0x08,0x04, 0x99,0xd7,0x16,0x23,0x60,0x73,0xf9,0x96,0x01,0xa4,0x1d,0xaf,0x53,0x41,0x2f,0x38, 0x96,0xc0,0x08,0x4a,0x8a,0x52,0x07,0x80,0x1d,0x2b,0x0e,0x47,0x2d,0xa3,0x09,0x19, 0xa0,0x58,0x74,0xc9,0xa0,0x33,0xce,0x28,0x25,0xec,0x91,0x4a,0xdd,0xde,0x73,0x8a, 0x0b,0x4a,0x46,0x12,0x28,0x3e,0xd0,0x14,0x05,0x01,0x40,0x50,0x47,0x6a,0x4b,0x14, 0x6d,0x51,0xa7,0xee,0x76,0x6b,0x98,0x26,0x1d,0xc2,0x2b,0xb1,0x1e,0x09,0xeb,0xb1, 0x69,0x29,0x38,0xf7,0xe0,0xd0,0x70,0xf3,0xb5,0x6e,0xcd,0x2f,0x3d,0x8f,0xeb,0xbb, 0xb6,0x94,0xd5,0x6c,0x29,0x99,0xb0,0x1c,0x29,0x43,0x84,0x61,0x32,0x1a,0x27,0xd8, 0x75,0x1e,0x69,0x50,0xc1,0xf8,0xe4,0x75,0x15,0xb7,0x59,0x76,0xa7,0x29,0x5e,0x63, 0xdf,0x41,0xf0,0x9c,0x1a,0x04,0x54,0xef,0x3c,0xd0,0x26,0x57,0xb8,0xd0,0x60,0xa5, 0x64,0xfb,0xbc,0x85,0x06,0x25,0x58,0x07,0xad,0x06,0x05,0xd3,0x8c,0x64,0x62,0x81, 0x35,0x2f,0x23,0x3f,0x6a,0x0c,0x37,0x7b,0xe8,0x31,0x24,0x1c,0xe2,0x80,0xcf,0x14, 0x1b,0xa3,0xd0,0xda,0xc3,0xfc,0xc7,0xe9,0x27,0xa2,0x5a,0x52,0x77,0x37,0x16,0x52, 0xa6,0xac,0x7b,0x9a,0x42,0x97,0xfb,0x50,0xae,0xb6,0xb2,0x8c,0x92,0x4f,0xc6,0xb0, 0xe4,0x74,0x9e,0x01,0xf3,0xf2,0xa0,0xfb,0x92,0x73,0x40,0xac,0x66,0x0c,0x87,0x42, 0x40,0xeb,0x41,0x6f,0xb7,0x43,0x11,0xda,0x1c,0x73,0x8a,0x07,0xb4,0x05,0x01,0x40, 0x50,0x14,0x05,0x00,0x7a,0x1a,0x0d,0x25,0xe9,0x1d,0xd9,0x9e,0x91,0xed,0x3e,0xcd, 0x16,0x16,0xbb,0xb2,0xc6,0xb8,0xad,0xb2,0xaf,0x57,0x95,0x92,0xdb,0xf1,0xf2,0x39, 0xd8,0xe2,0x70,0xa0,0x0f,0x88,0xce,0x0f,0x88,0xa4,0x59,0x74,0xf1,0x66,0xa9,0xf4, 0x30,0xd2,0x6c,0x29,0x46,0xc9,0x77,0xd4,0xb0,0xf9,0xf6,0x77,0x77,0x52,0x52,0x9f, 0x76,0x3d,0x83,0xf7,0xab,0xb5,0xea,0x6b,0xbb,0xaf,0xa2,0x23,0xe8,0xdd,0xf8,0x6e, 0xad,0x60,0x0f,0xe9,0x4c,0xdb,0x73,0x88,0xfa,0x94,0x29,0x75,0x77,0x17,0xa9,0x49, 0xb9,0x7a,0x35,0xea,0xb8,0x2b,0x57,0xaa,0xc8,0xb1,0x4f,0x00,0xf1,0xdd,0xcb,0xee, 0xc9,0xf8,0x07,0x02,0x4f,0xda,0xaf,0x65,0xea,0x56,0x6e,0x3d,0x8e,0x6b,0x6b,0x76, 0x4b,0xda,0x76,0x7b,0xa9,0x1d,0x4c,0x60,0x97,0x7f,0xed,0x26,0x8b,0xb5,0x52,0x7d, 0x9a,0xe5,0x6d,0x5a,0x93,0x71,0xb7,0x4e,0x8a,0x53,0xc1,0x0f,0x30,0xa4,0xe0,0xfc, 0xc5,0x34,0x23,0xbb,0xc4,0x83,0x8c,0x8c,0xf8,0x66,0x83,0x02,0xae,0x39,0xc6,0x28, 0x3e,0x15,0x13,0xd6,0x83,0x02,0x7c,0xa8,0x5b,0xa6,0x3b,0xb3,0xe3,0x41,0xf4,0x1c, 0x74,0xe2,0x85,0x9b,0x7a,0xff,0x00,0xf8,0x6c,0x68,0xc9,0x17,0x3e,0xd3,0xaf,0xfa, 0xa1,0xd6,0x55,0xea,0x16,0xab,0x72,0xa2,0xa5,0xe2,0x38,0x2f,0xbc,0x70,0x12,0x0f, 0x9e,0xd0,0xba,0x5f,0x0c,0xe5,0x5d,0x1d,0x6c,0x83,0xd2,0xb0,0xc1,0x64,0x9c,0x63, 0xc6,0x80,0xc6,0x78,0xa0,0xb1,0xd8,0x6d,0xf8,0x48,0x71,0x63,0x19,0xe7,0x9a,0x09, 0xfc,0x60,0x60,0x74,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x00,0xf4,0x34,0x1a, 0xbb,0xb5,0x3c,0xad,0xf8,0xc8,0x4e,0x7a,0x28,0xe3,0xe9,0x41,0xaa,0x67,0xdb,0x94, 0xe6,0x72,0x33,0xee,0xa0,0xac,0xdd,0x6d,0x0b,0xd8,0xa0,0x94,0xd0,0x6b,0xeb,0xe5, 0x9a,0x60,0x5a,0x8b,0x69,0x3f,0x4a,0x0a,0xd3,0xcd,0x4e,0x60,0x9c,0xb5,0x9f,0x95, 0x02,0x66,0xe5,0x28,0x00,0x97,0xd0,0xe2,0x90,0x06,0x02,0x54,0x49,0x4f,0xd0,0xf1, 0x40,0xc2,0x5d,0xba,0xcb,0x74,0xcf,0xe2,0xb6,0x5b,0x74,0x92,0x7a,0xa9,0xe8,0x8d, 0xa8,0xfd,0x4a,0x73,0x57,0xaa,0xae,0xd1,0x4e,0xf6,0x47,0xa0,0x6e,0xc4,0xfa,0xce, 0x9b,0x88,0xd6,0x7a,0x98,0xce,0x3a,0xd1,0xfb,0x2b,0xf6,0xa7,0x55,0x3a,0xa9,0x9b, 0xfe,0x8b,0x9a,0x0e,0xe8,0x09,0x86,0xbb,0xfd,0xbd,0x67,0xa7,0x73,0x31,0x2e,0x24, 0x7c,0x96,0x8c,0x9f,0xa8,0xa6,0xd7,0xa9,0x15,0x27,0xd0,0x95,0x89,0x89,0x51,0xb1, 0xea,0xd9,0x0d,0x9e,0xa9,0x4c,0xeb,0x7e,0x7e,0xe8,0x59,0xfd,0x2a,0xee,0x1d,0x48, 0x19,0xfe,0x82,0xbd,0xa0,0x37,0x93,0x66,0x9f,0xa6,0xee,0x69,0x3f,0x94,0x7a,0xc2, 0xd8,0x27,0xff,0x00,0x91,0x20,0x0f,0xad,0x5d,0xc6,0xba,0xa2,0x73,0x42,0xff,0x00, 0x0f,0x8d,0x67,0x78,0xb8,0xb6,0xad,0x7f,0x79,0xb1,0xe9,0xdb,0x60,0x39,0x70,0xc6, 0x90,0x26,0x3e,0xa1,0xe4,0x94,0xa3,0xd9,0x1f,0x12,0x45,0x37,0x12,0xe4,0xf7,0x97, 0x65,0xda,0x17,0x4f,0x76,0x55,0xa4,0xe1,0xe9,0x9d,0x09,0x0c,0xc4,0xb6,0x47,0x25, 0x6a,0x5a,0xce,0xe7,0x24,0x38,0x7f,0x33,0x8e,0x1f,0x15,0x1f,0xa0,0x03,0x02,0xb3, 0x6e,0xd9,0xb7,0x6b,0xeb,0x2e,0x64,0x0a,0x88,0x74,0x85,0x50,0x3f,0xb4,0xc1,0x54, 0xc9,0x03,0x23,0xd9,0x1d,0x68,0x2e,0x4c,0x34,0x19,0x6c,0x25,0x23,0xc2,0x81,0x4a, 0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x0f,0x43,0x41,0xae,0x7b,0x47,0x63,0x7c, 0x98,0xe4,0x80,0x40,0x06,0x82,0x8e,0xb8,0x49,0x58,0xe0,0x50,0x32,0x91,0x67,0x4b, 0x83,0x94,0x8a,0x08,0x89,0x7a,0x5d,0xb7,0x7f,0x32,0x07,0xce,0x82,0x1e,0x4e,0x87, 0x65,0x79,0xc3,0x63,0xe9,0x41,0x19,0x23,0xb3,0xb6,0x55,0xfe,0xc8,0x7d,0x28,0x23, 0xdd,0xec,0xd1,0xb5,0x9e,0x1b,0xc7,0xca,0x83,0x01,0xd9,0xa2,0x13,0x82,0x94,0x7d, 0xa8,0x1e,0x46,0xd0,0x5d,0xc7,0x44,0xf3,0xe5,0x8a,0x0b,0x3d,0xa3,0x4f,0x18,0xfb, 0x72,0x9a,0x0b,0x2b,0x10,0x42,0x13,0x82,0x05,0x06,0x45,0xb5,0x15,0x00,0x9a,0x68, 0x49,0xc0,0x41,0x6c,0xd0,0x4e,0xc6,0x3c,0x75,0xa0,0x92,0x86,0xca,0xa4,0x38,0x96, 0xdb,0xe4,0x9a,0x0b,0xb5,0xb2,0x02,0x62,0x32,0x90,0x00,0xe9,0xcd,0x03,0xea,0x02, 0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x0a,0xde,0xae,0xb0,0xae,0xec,0xc0, 0x53,0x18,0xef,0x13,0xd3,0x3e,0x34,0x1a,0xf6,0x45,0xa6,0x54,0x45,0x10,0xfb,0x0b, 0x03,0xdc,0x28,0x1a,0x94,0x63,0xf3,0x03,0x9f,0x7d,0x06,0x25,0x90,0x73,0xe3,0x40, 0x99,0x8c,0x92,0x4f,0x02,0x83,0xe8,0x82,0x9c,0xf2,0x05,0x00,0x2d,0xcd,0xf8,0xa4, 0x50,0x02,0xd8,0x82,0x7f,0x28,0xa0,0xcd,0x36,0x94,0x67,0x94,0xd0,0x38,0x45,0xb5, 0x29,0x23,0x8a,0x0c,0x95,0x0c,0x63,0x00,0x60,0x50,0x26,0x22,0x00,0xae,0x45,0x03, 0x96,0x59,0x00,0xf0,0x38,0xa0,0x90,0x65,0x21,0x18,0xa0,0xb7,0xe9,0xbb,0x6e,0xc4, 0x07,0x5c,0x1e,0xd1,0xe9,0x41,0x64,0x03,0x03,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80, 0xa0,0x28,0x0a,0x02,0x80,0xa0,0x08,0xcf,0x06,0x81,0xbb,0xf0,0x5b,0x7c,0x1d,0xc0, 0x7c,0xe8,0x22,0xa4,0x69,0xd6,0x1d,0xfc,0xcd,0x21,0x40,0xfb,0xa8,0x23,0x1f,0xd1, 0xd1,0x97,0x9c,0x36,0x53,0xf0,0xa0,0x60,0xee,0x89,0x19,0xcb,0x6b,0x58,0xf8,0xd0, 0x35,0x77,0x47,0xc8,0x40,0x3d,0xda,0xc2,0xbe,0x23,0x14,0x0d,0x17,0xa7,0x26,0xb5, 0xfe,0xcf,0x77,0xfc,0xb4,0x08,0xaa,0xdf,0x21,0xaf,0xce,0xca,0xd3,0xf2,0xa0,0x36, 0x29,0x3f,0x98,0x10,0x7d,0xf4,0x1f,0x41,0x00,0xf9,0x8a,0x0c,0x55,0x8f,0x85,0x02, 0x44,0xe5,0x54,0x19,0xa0,0x8c,0x50,0x4b,0xd9,0x60,0xaa,0x7c,0x94,0xf1,0xec,0x24, 0xe4,0x9a,0x0d,0x81,0x19,0x90,0xcb,0x49,0x03,0x03,0x03,0x8a,0x05,0xa8,0x0a,0x02, 0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0x0d,0x07,0xc2,0x90, 0x7c,0x28,0x3e,0x16,0xd2,0x7a,0x8a,0x0c,0x4b,0x08,0x3d,0x52,0x28,0x30,0x54,0x44, 0x1f,0x0a,0x04,0xd7,0x6f,0x41,0x1d,0x01,0xf8,0xd0,0x36,0x76,0xcc,0xd3,0x9f,0x99, 0x09,0x3f,0x2a,0x06,0x0f,0xe9,0x88,0xce,0x7f,0xb3,0xc7,0xc2,0x81,0x8b,0x9a,0x3d, 0xb3,0xf9,0x54,0xb1,0x40,0x87,0xf2,0x49,0x27,0x3d,0xf2,0xfe,0x18,0xa0,0x71,0x1f, 0x46,0xb6,0x83,0xfd,0xa2,0xd6,0xba,0x0b,0x05,0xba,0xd4,0xd4,0x24,0x61,0xb4,0x81, 0x41,0x21,0x8c,0x0a,0x02,0x80,0xa0,0x28,0x0a,0x02,0x80,0xa0,0xff,0xd9 }; /* created by reswrap from file cy_pinpad_s.jpg */ const unsigned char fxcj_icon_cy_pinpad_s[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x00,0x60, 0x00,0x60,0x00,0x00,0xff,0xe1,0x00,0x16,0x45,0x78,0x69,0x66,0x00,0x00,0x4d,0x4d, 0x00,0x2a,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe2,0x1c,0x6d, 0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46,0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00, 0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10,0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47, 0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce,0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31, 0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53,0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45, 0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01,0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50, 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65, 0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00,0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00, 0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b,0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00, 0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00,0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58, 0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00,0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00, 0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d,0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00, 0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00,0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75, 0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00,0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00, 0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75,0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00, 0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00,0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65, 0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00,0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00, 0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54,0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00, 0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00,0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65, 0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20, 0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38,0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74, 0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47, 0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49, 0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16, 0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f, 0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03,0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7,0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6, 0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43, 0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e, 0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45, 0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63, 0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43, 0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75, 0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70, 0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20, 0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73, 0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56, 0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e, 0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65, 0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f, 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31, 0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76, 0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00, 0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00,0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00, 0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00, 0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d,0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00, 0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, 0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00, 0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00, 0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00, 0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00, 0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00, 0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00, 0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01, 0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01, 0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01, 0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01, 0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02, 0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02, 0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02, 0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02, 0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03, 0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03, 0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04, 0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04, 0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04, 0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05, 0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05, 0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06, 0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06, 0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07, 0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08, 0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08, 0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09, 0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a, 0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a, 0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b, 0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c, 0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d, 0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d, 0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e, 0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f, 0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10, 0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11, 0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12, 0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13, 0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14, 0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15, 0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16, 0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17, 0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18, 0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a, 0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b, 0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c, 0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d, 0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f, 0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20, 0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21, 0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23, 0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24, 0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26, 0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27, 0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29, 0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a, 0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c, 0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e, 0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f, 0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31, 0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33, 0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35, 0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36, 0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38, 0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a, 0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c, 0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e, 0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40, 0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42, 0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44, 0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46, 0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49, 0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b, 0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d, 0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f, 0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52, 0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54, 0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56, 0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59, 0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b, 0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e, 0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60, 0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63, 0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66, 0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68, 0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b, 0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e, 0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71, 0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74, 0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76, 0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79, 0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c, 0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f, 0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82, 0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86, 0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89, 0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c, 0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f, 0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92, 0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96, 0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99, 0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c, 0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0, 0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3, 0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7, 0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab, 0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae, 0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2, 0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6, 0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9, 0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd, 0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1, 0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5, 0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9, 0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd, 0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1, 0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5, 0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9, 0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd, 0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1, 0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6, 0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea, 0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee, 0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3, 0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7, 0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc, 0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0xff,0xdb,0x00,0x43,0x00, 0x03,0x02,0x02,0x03,0x02,0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08, 0x05,0x05,0x04,0x04,0x05,0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b, 0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13, 0x15,0x15,0x16,0x17,0x16,0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15, 0xff,0xdb,0x00,0x43,0x01,0x03,0x03,0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15, 0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0xff,0xc0,0x00,0x11,0x08,0x00,0x28,0x00,0x28,0x03,0x01, 0x11,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xc4,0x00,0x19,0x00,0x00,0x02,0x03, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x09,0x04, 0x06,0x08,0x02,0xff,0xc4,0x00,0x30,0x10,0x00,0x01,0x03,0x02,0x04,0x04,0x04,0x06, 0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x11,0x00,0x06, 0x07,0x21,0x08,0x12,0x31,0x41,0x09,0x13,0x22,0x61,0x14,0x16,0x23,0x51,0x71,0x81, 0x45,0x91,0x62,0xa1,0xb1,0xff,0xc4,0x00,0x19,0x01,0x00,0x02,0x03,0x01,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x04,0x00,0x01,0x02,0x05, 0xff,0xc4,0x00,0x25,0x11,0x00,0x02,0x02,0x01,0x03,0x03,0x04,0x03,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x31,0x11,0x12,0x21,0x04,0x05,0x22, 0x13,0x41,0x51,0xf0,0x14,0x61,0x71,0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11, 0x03,0x11,0x00,0x3f,0x00,0x69,0xb8,0x84,0x32,0x9f,0x15,0x5c,0x5a,0xd7,0x74,0x97, 0x39,0x41,0xca,0xfa,0x6d,0x16,0x8d,0x32,0xa0,0xdb,0x22,0x45,0x45,0xca,0x8d,0xd4, 0x1a,0x04,0x5d,0x08,0x4a,0x42,0x93,0x72,0x45,0x8d,0xef,0xb0,0x3f,0xd9,0xab,0xab, 0x77,0x2c,0x0d,0x96,0xed,0xe1,0x02,0xfa,0x27,0x88,0xde,0x75,0x82,0xd2,0x7e,0x6b, 0xc8,0x14,0x5a,0x9b,0x83,0x67,0x0d,0x3a,0x53,0xd1,0x53,0xf9,0x05,0x49,0x76,0xff, 0x00,0x8f,0xf7,0x82,0xbe,0x97,0xe1,0x98,0xfc,0x9f,0x94,0x5e,0xa9,0x1e,0x25,0xd9, 0x2c,0x45,0x75,0xec,0xdd,0x95,0xf3,0x25,0x34,0x21,0x5f,0xc7,0xf2,0x4c,0x01,0x1d, 0x39,0x95,0xba,0x08,0xdf,0xb0,0x07,0x18,0x9f,0x4e,0xe2,0xb5,0x35,0x1b,0xd3,0xe0, 0x3e,0x68,0x9f,0x10,0x39,0x2b,0x88,0x3a,0x24,0xda,0xae,0x98,0xd4,0x24,0x4e,0x8d, 0x09,0xd0,0xc4,0x90,0xfc,0x57,0x18,0x53,0x6b,0x22,0xe0,0x7a,0x80,0x07,0x6f,0xb1, 0x38,0x03,0x4d,0x64,0x32,0x7a,0x84,0x6c,0x51,0x62,0x8f,0xd7,0xe9,0x93,0xeb,0xba, 0xef,0x9e,0xa4,0x56,0x14,0x84,0xcb,0x45,0x5a,0x44,0x74,0xa5,0x0b,0x04,0x25,0xb6, 0xd6,0x50,0x81,0x7e,0xfe,0x90,0x30,0xf5,0x4b,0xc5,0x08,0xda,0xfc,0x98,0x3b,0x97, 0x11,0x6d,0xad,0x4b,0x77,0xcc,0x4a,0xaf,0xcc,0xa5,0xaa,0xe2,0xe7,0xef,0xfd,0xe0, 0x9a,0xe9,0xc1,0x8c,0x97,0x3d,0x0e,0x99,0x56,0x5e,0xb1,0x65,0x16,0x28,0xf5,0x39, 0xd1,0x1d,0x7e,0xa0,0xd3,0x6a,0x71,0xb7,0x88,0xfa,0x77,0xba,0xc1,0xf6,0x29,0x06, 0xfe,0xd8,0xab,0x1f,0x8b,0xd4,0xd4,0x57,0x3c,0x0d,0xd6,0x9d,0x0a,0x04,0x40,0xea, 0xe9,0x31,0xe2,0x32,0x1e,0x57,0x33,0x8a,0x8e,0x84,0xa7,0x9d,0x5f,0x73,0x6e,0xa7, 0x1c,0xe1,0xf2,0x5a,0xd6,0x96,0xd0,0xa5,0x2c,0x84,0xa5,0x22,0xe4,0x9e,0xc3,0x10, 0x82,0x5b,0xcf,0xd5,0xc5,0x66,0x1c,0xcb,0x98,0x6a,0xe5,0x43,0xcc,0x9f,0x35,0xe9, 0x00,0xa8,0x9b,0xfd,0x47,0x09,0xb8,0x1d,0xcf,0xaa,0xff,0x00,0xac,0x3c,0xb8,0x49, 0x08,0xe5,0xb6,0x56,0xe5,0x38,0xb1,0xf1,0x25,0x29,0x50,0x4b,0x65,0xb4,0x24,0xf3, 0x85,0x25,0x24,0xdb,0x75,0x11,0xd2,0xf7,0xe9,0xdb,0xa6,0x26,0xe2,0xd4,0x75,0x7a, 0x04,0x5d,0x2d,0xa3,0xcd,0xa0,0xea,0x32,0x7c,0x87,0xe2,0xbf,0x36,0x2c,0x35,0x3e, 0xd3,0x91,0x1d,0x0e,0xa4,0x29,0x64,0x36,0x37,0x1d,0x0f,0xac,0xed,0x85,0xe1,0xd4, 0xc6,0xfa,0xdc,0xa2,0x9a,0xe7,0xdc,0xe9,0x77,0x0e,0xd7,0x67,0x6f,0xbd,0x55,0x63, 0x4d,0xe9,0xaf,0x0f,0x55,0xf7,0xee,0x06,0x9b,0xa4,0x14,0xb9,0x94,0xec,0x99,0x11, 0x75,0x77,0x16,0xe4,0xa7,0xd2,0x16,0xae,0x63,0xd3,0x01,0x04,0x4e,0xd5,0x5a,0x93, 0xb4,0x6d,0x2f,0xcd,0xf3,0xe2,0x82,0xa7,0xa2,0xd1,0xe5,0xbc,0x80,0x3a,0xf3,0x25, 0x95,0x11,0xff,0x00,0x31,0x71,0xc9,0x52,0xc0,0x97,0xaa,0x53,0x12,0xa4,0x36,0x82, 0x40,0x3e,0x6a,0x4a,0xbd,0x17,0xdb,0x73,0x7b,0xf5,0x1d,0xb6,0x1d,0x6f,0x87,0x5e, 0x44,0x96,0x08,0x11,0xea,0x2a,0x89,0x51,0x8b,0x25,0xa6,0xa1,0xbc,0xe2,0x27,0x79, 0xcd,0xa1,0x4d,0x97,0x12,0x79,0x49,0x36,0xf2,0x8e,0xe5,0x07,0x6e,0xa3,0xdb,0xb9, 0xc6,0x27,0x1d,0xd1,0x71,0xfd,0x17,0xbd,0x43,0xc9,0x9a,0xcb,0x84,0xc8,0x2e,0xeb, 0x46,0xae,0xd7,0x6b,0x53,0x29,0xf4,0xb8,0x48,0x6d,0x4c,0x34,0xa4,0x53,0x62,0x98, 0xec,0x90,0x9e,0x6b,0x90,0x83,0xb8,0x27,0x95,0x24,0xdf,0x7c,0x29,0x57,0x4c,0xba, 0x6a,0x55,0x49,0xb7,0xfd,0xc8,0xc2,0xb7,0xd6,0x9e,0xfe,0x31,0xec,0x32,0x46,0x59, 0x4c,0x76,0x50,0xd3,0x40,0x25,0x08,0x01,0x20,0x0e,0xc0,0x62,0x05,0x39,0x99,0x11, 0x99,0xf1,0x1f,0x8b,0x35,0xa4,0x3d,0x1d,0xf4,0x29,0xb7,0x1a,0x58,0xb8,0x5a,0x48, 0xb1,0x07,0xd8,0x83,0x88,0x43,0x30,0xaf,0xc3,0xbf,0x4d,0x4b,0xef,0x2d,0x12,0xf3, 0x09,0x4a,0xd4,0x54,0x94,0xb8,0xfa,0x15,0xe5,0x83,0xd0,0x0f,0x4f,0x41,0xd3,0x7b, 0x9f,0x73,0x82,0x7a,0xb2,0x05,0xe9,0x44,0x1a,0xea,0x1f,0x87,0x14,0x9a,0x72,0x15, 0x51,0xd2,0x1c,0xc4,0xb3,0x50,0x66,0xeb,0x66,0x3c,0xfb,0x36,0xae,0x6f,0xf1,0x71, 0x22,0xc0,0xfe,0x47,0xef,0x1b,0x8d,0xcd,0x64,0x15,0xdd,0x2c,0x6c,0x8b,0x8c,0xb0, 0x1d,0xf8,0x4f,0xe1,0xcd,0xed,0x06,0xc9,0xef,0xfc,0xcb,0x31,0xaa,0x96,0x68,0xa9, 0xb9,0xf1,0x13,0xdf,0x68,0x92,0x84,0x28,0x8d,0x90,0x92,0x77,0x20,0x0e,0xfb,0x5c, 0xdf,0x03,0xb2,0x7b,0x98,0x4a,0x28,0x8d,0x31,0x51,0x88,0x76,0xc6,0x03,0x1f,0xff, 0xd9 }; /* created by reswrap from file cy_pinpad_n.jpg */ const unsigned char fxcj_icon_cy_pinpad_n[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x00,0x60, 0x00,0x60,0x00,0x00,0xff,0xe1,0x00,0x16,0x45,0x78,0x69,0x66,0x00,0x00,0x4d,0x4d, 0x00,0x2a,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe2,0x1c,0x6d, 0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46,0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00, 0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10,0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47, 0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce,0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31, 0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53,0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45, 0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01,0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50, 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65, 0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00,0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00, 0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b,0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00, 0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00,0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58, 0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00,0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00, 0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d,0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00, 0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00,0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75, 0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00,0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00, 0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75,0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00, 0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00,0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65, 0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00,0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00, 0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54,0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00, 0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00,0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65, 0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20, 0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38,0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74, 0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47, 0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49, 0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16, 0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f, 0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03,0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7,0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6, 0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43, 0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e, 0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45, 0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63, 0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43, 0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75, 0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70, 0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20, 0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73, 0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56, 0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e, 0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65, 0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f, 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31, 0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76, 0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00, 0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00,0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00, 0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00, 0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d,0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00, 0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, 0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00, 0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00, 0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00, 0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00, 0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00, 0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00, 0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01, 0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01, 0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01, 0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01, 0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02, 0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02, 0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02, 0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02, 0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03, 0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03, 0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04, 0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04, 0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04, 0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05, 0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05, 0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06, 0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06, 0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07, 0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08, 0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08, 0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09, 0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a, 0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a, 0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b, 0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c, 0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d, 0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d, 0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e, 0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f, 0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10, 0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11, 0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12, 0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13, 0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14, 0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15, 0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16, 0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17, 0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18, 0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a, 0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b, 0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c, 0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d, 0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f, 0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20, 0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21, 0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23, 0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24, 0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26, 0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27, 0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29, 0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a, 0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c, 0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e, 0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f, 0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31, 0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33, 0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35, 0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36, 0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38, 0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a, 0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c, 0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e, 0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40, 0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42, 0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44, 0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46, 0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49, 0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b, 0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d, 0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f, 0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52, 0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54, 0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56, 0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59, 0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b, 0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e, 0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60, 0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63, 0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66, 0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68, 0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b, 0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e, 0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71, 0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74, 0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76, 0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79, 0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c, 0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f, 0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82, 0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86, 0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89, 0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c, 0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f, 0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92, 0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96, 0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99, 0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c, 0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0, 0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3, 0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7, 0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab, 0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae, 0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2, 0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6, 0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9, 0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd, 0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1, 0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5, 0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9, 0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd, 0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1, 0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5, 0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9, 0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd, 0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1, 0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6, 0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea, 0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee, 0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3, 0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7, 0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc, 0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0xff,0xdb,0x00,0x43,0x00, 0x03,0x02,0x02,0x03,0x02,0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08, 0x05,0x05,0x04,0x04,0x05,0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b, 0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13, 0x15,0x15,0x16,0x17,0x16,0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15, 0xff,0xdb,0x00,0x43,0x01,0x03,0x03,0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15, 0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0xff,0xc0,0x00,0x11,0x08,0x00,0x64,0x00,0x64,0x03,0x01, 0x11,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xc4,0x00,0x1d,0x00,0x00,0x01,0x03, 0x05,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x08, 0x09,0x01,0x02,0x04,0x05,0x06,0x03,0xff,0xc4,0x00,0x3d,0x10,0x00,0x01,0x03,0x03, 0x03,0x02,0x03,0x05,0x04,0x08,0x05,0x05,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04, 0x00,0x05,0x11,0x06,0x12,0x21,0x07,0x31,0x08,0x41,0x51,0x13,0x14,0x61,0x71,0x81, 0x09,0x22,0x32,0xa1,0x15,0x23,0x42,0x82,0x91,0xa2,0xb1,0xc1,0x16,0x33,0x62,0x72, 0x92,0x52,0x53,0xc2,0xd2,0xe1,0xff,0xc4,0x00,0x1a,0x01,0x01,0x00,0x03,0x01,0x01, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04,0x03, 0x05,0x06,0xff,0xc4,0x00,0x25,0x11,0x00,0x02,0x02,0x02,0x01,0x04,0x02,0x03,0x01, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x11,0x03,0x21,0x04,0x05,0x12, 0x31,0x41,0x13,0x51,0x06,0x22,0x61,0x71,0x32,0xff,0xda,0x00,0x0c,0x03,0x01,0x00, 0x02,0x11,0x03,0x11,0x00,0x3f,0x00,0x94,0xec,0xd0,0x06,0x68,0x03,0x34,0x07,0x8c, 0xb9,0x8c,0xc0,0x8c,0xec,0x89,0xaf,0x36,0xc3,0x0d,0x24,0xa9,0x6e,0x38,0xad,0xa9, 0x48,0x1e,0x64,0xd0,0x1c,0x99,0xeb,0x2e,0x85,0x44,0xb4,0xc5,0x7f,0x57,0x69,0xf8, 0xf2,0x54,0x37,0x25,0x99,0x13,0x10,0xd2,0x88,0xf5,0xc2,0x88,0xa9,0x69,0xa2,0xaa, 0x49,0x9d,0x4c,0x1b,0x9c,0x4b,0xa3,0x21,0xdb,0x6c,0xb8,0xf2,0xda,0x23,0x21,0x6c, 0x38,0x16,0x0f,0xd4,0x1a,0x82,0xc9,0xd9,0x93,0x93,0x40,0x19,0xa0,0x0c,0xd0,0x06, 0x68,0x03,0x34,0x01,0x9a,0x00,0xcd,0x01,0x4a,0x00,0xa0,0x0a,0x01,0xa5,0x78,0xe9, 0xea,0xdd,0xce,0xc5,0x65,0x6b,0x4c,0xe8,0xed,0xcf,0xcf,0x28,0x12,0x1e,0x61,0xa3, 0x95,0x38,0xb3,0xfe,0x5a,0x30,0x39,0xc0,0xfc,0x47,0xf7,0x6b,0xac,0x22,0xeb,0xb9, 0x1c,0x72,0x4d,0x5d,0x32,0x3a,0x18,0xb4,0xdc,0xad,0xd1,0x64,0xcf,0xd6,0xcd,0xae, 0x45,0xf6,0xe4,0xe8,0x2f,0x2a,0x62,0x32,0x43,0x64,0x28,0xec,0x01,0x5f,0xbb,0x91, 0xf1,0xc7,0x95,0x6a,0xc5,0x8f,0xdb,0x38,0x64,0xc9,0xba,0x46,0x16,0x9d,0xb6,0x3f, 0xa6,0xa7,0x3f,0x26,0xd9,0x79,0xbb,0xc3,0x4f,0xb4,0x2a,0x61,0x10,0xa5,0x2d,0x92, 0xda,0x7c,0xb2,0xa0,0x41,0x24,0x7c,0x3f,0xbd,0x74,0x58,0x57,0xb2,0x1e,0x57,0xe8, 0x52,0x2d,0x7d,0x7e,0xea,0xb6,0x9b,0x4a,0x4e,0x92,0xea,0x6e,0xa9,0x8f,0xb4,0xf0, 0xc5,0xc6,0x47,0xbe,0x37,0xf2,0xfd,0x66,0x70,0x3e,0x86,0xaa,0xf0,0x45,0x92,0xb3, 0x34,0x28,0x5a,0x5f,0xc7,0x8f,0x5b,0xe0,0x32,0xec,0x7d,0x45,0x78,0xd3,0x77,0x14, 0x29,0xb5,0x21,0x0f,0x98,0x03,0xda,0xa4,0x91,0x80,0xa1,0xb7,0x6a,0x72,0x0f,0x3c, 0x83,0xf2,0xae,0x6b,0x8c,0xbd,0x92,0xf3,0xbf,0x42,0x8d,0xd3,0x6f,0xb4,0x3f,0x55, 0xda,0x52,0x63,0xf5,0x1a,0xd5,0x02,0xfc,0xd8,0x48,0x09,0x90,0xd9,0xf7,0x57,0xb7, 0x7f,0xab,0x09,0x29,0x23,0xe4,0x91,0xdf,0xe9,0x49,0x71,0x53,0xf0,0x4c,0x73,0xb5, 0xe4,0x50,0x2d,0xdf,0x6a,0x37,0x4d,0x1a,0x9e,0xb8,0x3a,0xca,0xc9,0xaa,0xf4,0xf4, 0xa4,0x2b,0x6a,0xc3,0x8c,0x21,0xf4,0xa4,0xf7,0xce,0x50,0xac,0x91,0x8c,0x10,0x71, 0xc8,0xac,0xef,0x0c,0x91,0xdd,0x65,0x4c,0x54,0x34,0xcf,0x8e,0x8e,0x87,0xea,0x95, 0x36,0x88,0x7a,0xf2,0xdd,0x11,0xe5,0xe3,0x0d,0x4f,0x69,0xd8,0xe7,0x27,0xcb,0x2b, 0x48,0x1f,0x9d,0x51,0xc1,0xa2,0xca,0x48,0x5c,0xa0,0xce,0x8d,0x73,0x88,0xd4,0xab, 0x73,0xed,0x4a,0x8c,0xea,0x77,0x36,0xf3,0x4a,0x0a,0x4a,0xc7,0xa8,0x23,0xbd,0x54, 0xb1,0xef,0x40,0x14,0x01,0x40,0x5a,0xe3,0x89,0x69,0xb5,0x2d,0xd5,0x04,0x21,0x20, 0xa9,0x4a,0x51,0xc0,0x00,0x79,0xd0,0x11,0x05,0xe2,0x1b,0x59,0xb9,0xae,0x7a,0xc9, 0xa8,0x2f,0x01,0x6b,0xd8,0xfb,0xf9,0x68,0xab,0xef,0x14,0xb6,0x02,0x52,0x94,0x80, 0x7d,0x33,0x8f,0xa5,0x6e,0xc6,0xaa,0x34,0x61,0x9b,0xb7,0x67,0x37,0x69,0xbe,0x2e, 0xdd,0x6d,0x94,0xca,0x65,0xdc,0xdb,0x7b,0x62,0x13,0x1d,0x2d,0x3d,0xb5,0xb0,0x7f, 0x68,0xac,0x79,0xf0,0x3b,0x7c,0xea,0xf6,0xfd,0x15,0xd7,0xb2,0xb7,0x9b,0xfb,0x3e, 0xfa,0xb4,0xc4,0x6a,0x2c,0xe8,0xa0,0x27,0x0e,0x4a,0x84,0xd2,0x56,0xa3,0x81,0x9c, 0x90,0x37,0x77,0xcf,0x9d,0x5a,0x32,0x95,0x6c,0x89,0x25,0x7a,0x30,0x04,0xcb,0x53, 0xe9,0x3e,0xf3,0x68,0x65,0xa3,0xeb,0x15,0xf7,0x10,0x7f,0x98,0xa8,0x7e,0x55,0x6e, 0xf2,0xb4,0x79,0x2e,0x25,0x91,0xe5,0x02,0xdb,0xb7,0x48,0x44,0x79,0x29,0x28,0x91, 0xff,0x00,0xa5,0x5b,0xb9,0x04,0x8b,0x5e,0xb3,0x45,0x94,0x41,0x8b,0x7a,0x80,0xda, 0x47,0x01,0x0f,0xc7,0x5b,0x24,0xfd,0x10,0x95,0x0f,0xce,0xa6,0xd0,0xd8,0xaa,0xe8, 0x7f,0x07,0xda,0x0f,0xaf,0xb1,0x63,0x3e,0xff,0x00,0x51,0xdc,0xb4,0xeb,0x37,0x93, 0xb5,0xfb,0x7b,0x6c,0xa5,0xe6,0x70,0x93,0xb1,0xb2,0x0f,0x04,0x65,0x21,0x1e,0x7d, 0xcd,0x64,0xcc,0xe4,0x9d,0xa5,0xa3,0xbe,0x35,0x16,0xa9,0xf9,0x36,0xd2,0x3e,0xc9, 0xed,0x73,0x63,0xbc,0x47,0x95,0x61,0xd5,0xf6,0x3b,0xa4,0x66,0x5c,0x0b,0xf6,0x72, 0x99,0x72,0x3a,0x88,0x1e,0x5c,0x6e,0x15,0x9f,0xe5,0xbf,0x27,0x75,0x8e,0x89,0x28, 0xe9,0xa6,0x96,0x5e,0x89,0xd0,0x36,0x2b,0x1b,0xe5,0x0a,0x7a,0x14,0x54,0x34,0xea, 0x91,0xd8,0xaf,0xba,0x88,0xf8,0x6e,0x26,0xb9,0x1d,0x12,0xa4,0x74,0xb4,0x24,0x28, 0x02,0x80,0x4c,0x3c,0x4e,0x6b,0x71,0xd3,0xbe,0x82,0x6b,0x5b,0xe0,0x24,0x38,0xd4, 0x05,0x47,0x6b,0x1d,0xfd,0xa3,0xc4,0x32,0x9c,0x7c,0x72,0xe0,0xa9,0x5e,0x48,0x97, 0x82,0x26,0xae,0x0b,0x54,0xfb,0xec,0xd9,0x07,0x68,0xde,0xf1,0x24,0xf7,0xce,0x4a, 0x8f,0xf7,0x1c,0x56,0xff,0x00,0x06,0x06,0x5d,0xee,0xf8,0x38,0x07,0x39,0xf2,0xab, 0x15,0x28,0xa6,0xb1,0xc9,0x18,0xa1,0x26,0x33,0xad,0x24,0x9f,0xc2,0x33,0xf2,0xa9, 0x0c,0xb0,0x30,0x82,0x0e,0x41,0xcf,0xce,0xa0,0x93,0xc4,0xb0,0x92,0xae,0x54,0xa0, 0x3b,0xfd,0x2a,0x48,0x16,0x5f,0x07,0xf6,0xa7,0xef,0x3d,0x63,0x86,0x86,0x14,0xe2, 0x02,0x1b,0xda,0xad,0xa7,0x19,0xdc,0xb4,0xa7,0x9f,0xe3,0x9f,0xa5,0x73,0xca,0xf4, 0x5e,0x2a,0xd9,0x2c,0x35,0x80,0xdc,0x52,0x80,0x28,0x02,0x80,0x28,0x04,0xd3,0xc4, 0xa5,0xa2,0xdd,0x7a,0xe8,0x4e,0xb4,0x8f,0x7f,0x68,0x3d,0x11,0xbb,0x7a,0xa4,0x84, 0x1c,0xf2,0xe3,0x44,0x38,0xdf,0x6f,0xf5,0xa1,0x35,0x31,0x56,0xd1,0x59,0xf8,0x64, 0x4b,0xa3,0x0d,0x38,0xe1,0x6d,0x58,0x42,0x94,0xa0,0x52,0x93,0x9c,0x60,0x60,0x13, 0xeb,0xcd,0x7a,0x14,0x60,0x66,0xca,0x2b,0x51,0x1c,0x42,0x4a,0xa7,0x25,0x95,0x24, 0x24,0x39,0xed,0x1b,0xce,0x3b,0xe7,0x1e,0xb8,0xe0,0x7f,0x1a,0xb5,0x15,0xd9,0x73, 0x96,0xa7,0x94,0xd8,0x53,0x6b,0x86,0xee,0x40,0x38,0x69,0xc2,0x49,0xce,0x47,0x18, 0xce,0x70,0x46,0x3e,0xa3,0xd6,0x94,0x11,0xae,0x54,0x67,0x3d,0xd9,0xd9,0x01,0xb5, 0x7b,0x06,0x94,0x12,0xb5,0xa5,0x41,0x40,0x13,0xdb,0x38,0xaa,0x3c,0x91,0x52,0x51, 0x6f,0x6c,0xe8,0xa2,0xda,0x72,0xf4,0x61,0x97,0xda,0x39,0xfb,0xd8,0x04,0xfa,0x1a, 0xb9,0x07,0x8b,0xdb,0x43,0x4b,0x5a,0x14,0x82,0x00,0xe0,0x05,0x0c,0xf3,0xf0,0xa0, 0x1c,0xff,0x00,0x80,0x2b,0x73,0x6d,0x6b,0x2b,0x85,0xde,0x60,0x09,0x65,0x95,0x21, 0xb0,0xa3,0xea,0x12,0xa5,0x7f,0x5d,0xb5,0xc3,0x3b,0xd1,0xd3,0x12,0xb9,0x12,0x25, 0x1a,0xff,0x00,0x0e,0x51,0x01,0xb7,0x46,0x4d,0x63,0x36,0x1b,0x04,0xa8,0x28,0x02, 0x92,0x08,0x3e,0x62,0x80,0xad,0x00,0x50,0x05,0x00,0x87,0xf8,0xd0,0xbf,0x7e,0x83, 0xf0,0xf5,0xa8,0x52,0x85,0x10,0xe4,0xe7,0x23,0xc4,0x4e,0x0e,0x33,0x97,0x52,0xa5, 0x7f,0x2a,0x55,0x5d,0x31,0x2b,0x92,0x39,0xe5,0x75,0x12,0x2d,0x72,0xa2,0x94,0x24, 0x61,0x59,0x40,0x00,0xa3,0x80,0x4a,0x95,0x9e,0x7f,0xe3,0x5b,0x51,0x89,0x96,0x5f, 0x03,0xf6,0x88,0x91,0xa4,0xac,0xb4,0xa6,0x5f,0x5a,0x9b,0x4a,0x72,0x37,0x12,0x93, 0x82,0x71,0x9f,0x53,0xe7,0xf1,0xaa,0xc7,0x25,0xba,0x2e,0xe1,0xa3,0xcd,0xc2,0xf3, 0x50,0x4c,0xa5,0xc7,0x75,0x6d,0x20,0x27,0xda,0x2d,0x29,0xc8,0x46,0xe0,0x48,0xc9, 0xf5,0x20,0x1e,0x3b,0x9c,0x1a,0xb7,0x7a,0xba,0x23,0xb5,0xd1,0x8f,0xef,0x46,0x53, 0x6a,0x74,0x97,0x14,0x33,0x8c,0x9c,0x9a,0x9b,0x20,0xf3,0x4c,0x80,0xf2,0x41,0x4a, 0xd2,0xa0,0x47,0x04,0x54,0x82,0xd2,0xbc,0x01,0x9c,0x50,0x0e,0x73,0xa0,0x77,0xaf, 0xf0,0x47,0x4e,0x22,0xcc,0xce,0xd7,0xae,0x73,0x9d,0x58,0x3e,0x65,0x29,0x01,0x3f, 0xd4,0x56,0x5c,0xec,0xed,0x87,0xcd,0x8e,0x67,0xa7,0xfa,0xb6,0x4d,0xe5,0x6d,0x6c, 0x5a,0x8e,0x71,0xe7,0x59,0x8d,0x43,0x8d,0xb3,0x25,0x62,0xdc,0xd7,0xb6,0x24,0xa8, 0x8c,0xf3,0x40,0x66,0xd0,0x05,0x00,0x50,0x0d,0x37,0xed,0x14,0xbe,0x88,0x9d,0x36, 0xd3,0xf6,0x90,0xac,0x2a,0x5c,0xf5,0xc8,0xe7,0xb6,0x1b,0x6c,0xa7,0x9f,0x86,0x5e, 0x15,0xdb,0x02,0xfd,0x8e,0x19,0xde,0x88,0xfb,0x20,0xad,0xf5,0x04,0xf2,0x33,0x82, 0x47,0xe1,0x21,0x09,0x07,0x23,0xf8,0x9a,0xd4,0xf4,0x66,0x4a,0xcc,0x0d,0x45,0x6c, 0x95,0x6a,0xbe,0xb0,0xcd,0xf1,0x82,0x97,0x9d,0x69,0x12,0x1a,0x42,0x96,0x0e,0xd0, 0xb4,0x05,0x25,0x44,0x0f,0x32,0x95,0x83,0xeb,0xcf,0x38,0xaa,0x63,0x69,0xbd,0x17, 0x9d,0xa3,0xca,0xf5,0x36,0x62,0x60,0x1b,0x79,0x79,0x71,0xed,0xd2,0x1c,0x41,0x74, 0xa5,0x00,0xee,0x52,0x01,0x03,0x9f,0x23,0x85,0x11,0xf5,0xf5,0xa7,0x6a,0x72,0x16, 0xd2,0x2a,0xd5,0xd7,0xf4,0x3c,0x75,0x29,0xb8,0x71,0xa5,0x85,0xb2,0xe3,0x29,0x4c, 0x80,0x0a,0x50,0x56,0x31,0xbc,0x73,0xc2,0x87,0x91,0xe7,0x07,0xcb,0x8a,0x99,0xc5, 0xb6,0x4c,0x25,0x46,0xcb,0x42,0xf4,0xe6,0xf3,0xac,0x53,0x25,0xeb,0x70,0x64,0xa5, 0xb5,0x92,0xe3,0x87,0x71,0x4e,0xe3,0xf7,0x88,0x01,0x20,0x9e,0x3e,0x5d,0xab,0x27, 0x2f,0xa8,0x63,0xe2,0xd4,0x64,0x9b,0x7f,0xc3,0xde,0xe8,0xbf,0x8d,0xf2,0x3a,0xb2, 0x94,0xf1,0xca,0x31,0x8a,0x75,0x72,0x74,0xaf,0xe8,0xc3,0xd5,0x9a,0x7e,0x76,0x92, 0xb8,0xa6,0x15,0xe1,0xa4,0xa5,0xc5,0x27,0x7b,0x6b,0x41,0xca,0x56,0x9f,0x51,0xc0, 0x3d,0xfc,0x88,0x06,0xbb,0x71,0x39,0x90,0xe4,0xc7,0xba,0x06,0x3e,0xb1,0xd1,0x79, 0x1d,0x2b,0x37,0xc3,0xc8,0xad,0xab,0x4d,0x3b,0x4d,0x7f,0x18,0xe0,0xad,0x56,0xf5, 0x37,0xa5,0xf4,0x55,0xb1,0xb1,0xca,0x20,0x09,0x0a,0x1f,0x17,0x55,0xb8,0xff,0x00, 0x4a,0xa6,0x67,0xb3,0x0e,0x15,0xa1,0xda,0x74,0x1f,0x49,0x28,0x25,0x95,0xb8,0x93, 0x80,0x07,0x71,0x5c,0x4d,0x03,0x8c,0x42,0x42,0x12,0x12,0x9e,0x00,0x18,0x14,0x05, 0x68,0x02,0x80,0x28,0x06,0x0f,0xf6,0x8c,0xdf,0x7d,0xe7,0x5c,0xe9,0x6b,0x3a,0x54, 0x90,0x22,0xc1,0x2f,0xe5,0x47,0x80,0x5d,0x70,0x83,0xf9,0x34,0x2b,0x46,0x05,0xe5, 0x99,0xb3,0xbd,0x8c,0xf9,0x2a,0x52,0x89,0x71,0x39,0x4f,0x0a,0x5f,0x3c,0x77,0x51, 0x1f,0xc3,0xb7,0xd2,0xbb,0xb7,0x48,0xe3,0x15,0xb3,0x4f,0x22,0x33,0xb6,0xfd,0x49, 0x22,0x25,0xd9,0xb5,0x7b,0xfb,0x04,0xb7,0x8d,0xe1,0x41,0x1c,0x90,0x40,0xc7,0x1d, 0xd3,0xf9,0x55,0x61,0x55,0x68,0xb4,0xaf,0xc3,0x0b,0xd5,0xee,0x65,0xd1,0x30,0xed, 0xb3,0x64,0x84,0x40,0x8a,0xb5,0xba,0xd3,0x7b,0x31,0x92,0xa2,0x14,0xa0,0x0e,0x3d, 0x40,0x3e,0x7d,0xbc,0xaa,0x23,0x15,0x76,0x89,0x93,0x75,0x45,0x6e,0x17,0xb6,0xdb, 0xb2,0x4d,0xb6,0x33,0x6f,0x69,0xf9,0x72,0x4b,0x5e,0xce,0x52,0x95,0x82,0xca,0x52, 0x14,0x14,0x07,0xc1,0x5b,0x81,0x3f,0xed,0xa4,0xa2,0xdb,0x11,0x92,0x48,0x55,0xfa, 0x2b,0xd2,0x8e,0xa5,0xdc,0xb4,0xda,0xae,0xda,0x1a,0x3c,0x44,0xdb,0x5d,0x59,0x0d, 0xae,0x64,0x8f,0x64,0x1e,0x5a,0x78,0x25,0x18,0x20,0xf0,0x46,0x33,0xc0,0xc8,0xf8, 0x71,0xf3,0x9d,0x6f,0x9f,0xc2,0x8e,0x45,0x0c,0xcd,0xa9,0x2f,0xaf,0x5f,0xe9,0xf5, 0x9f,0x8c,0xf5,0x6e,0x6f,0x4e,0x52,0xf8,0x63,0x19,0x42,0x5e,0x63,0x25,0x69,0xd7, 0xbf,0xf4,0xe0,0xb5,0xe9,0xd4,0xb3,0xb5,0x8b,0x96,0xbd,0x76,0xdb,0xec,0xde,0xe3, 0xb8,0x23,0xaa,0x33,0xa3,0x96,0xd4,0x71,0x8c,0x72,0x73,0x90,0x41,0x0a,0xc9,0xc8, 0xc6,0x09,0x18,0xaf,0x5f,0xa6,0x43,0x04,0x71,0x77,0xe0,0x76,0xa5,0xbb,0xfb,0x3c, 0xdf,0xc8,0x3a,0xcf,0x23,0xa9,0x66,0x4f,0x3c,0x54,0x7b,0x55,0x28,0xc5,0x52,0x5e, 0xff,0x00,0xbe,0x47,0x69,0xa5,0xf4,0xd7,0xbe,0xea,0x96,0x98,0x6d,0x39,0x6a,0x23, 0x4c,0xc7,0x47,0xc9,0x28,0x1f,0xdf,0x35,0x7c,0x8f,0x67,0x99,0x89,0x7e,0xa3,0xd3, 0xe9,0xc5,0x81,0x36,0x8b,0x3b,0x67,0x6e,0x14,0x47,0xa5,0x50,0xea,0x75,0xf4,0x01, 0x40,0x14,0x01,0x40,0x45,0xff,0x00,0x8d,0xbd,0x46,0x2e,0x9e,0x21,0x6f,0xa9,0x42, 0x90,0x51,0x05,0xa6,0xa3,0x27,0x77,0x39,0xd8,0xd2,0x49,0x00,0x7f,0xb9,0x4a,0x1f, 0x3a,0xd7,0x85,0x7e,0xb6,0x63,0xcc,0xff,0x00,0x61,0x05,0x6d,0xa9,0x0f,0x94,0xb1, 0x01,0xa7,0x9f,0x7c,0xa5,0x28,0x0d,0xa4,0x15,0x28,0x94,0xa7,0x27,0xb0,0xf2,0xc1, 0x3f,0x4a,0xb4,0xda,0xad,0x95,0x8a,0x7e,0x8e,0x76,0x0b,0xc1,0x57,0x19,0x0e,0xbd, 0xed,0x1c,0x92,0x73,0xed,0x14,0xb3,0x92,0x06,0x3f,0xfb,0xf9,0xd1,0x25,0x44,0xb6, 0xec,0xad,0xe6,0xf7,0x2f,0x50,0x5c,0xe2,0xb9,0x73,0x5b,0x29,0x4c,0x36,0x1b,0x8a, 0xd3,0x4d,0xa3,0x69,0x29,0x40,0x09,0x49,0x3c,0x0f,0x21,0xf5,0xc9,0x34,0x84,0x6b, 0x62,0x6c,0xb3,0x50,0x5d,0x22,0xcc,0xb5,0xc3,0x85,0x02,0xde,0xeb,0x77,0x16,0xe4, 0x38,0xe3,0xf3,0x14,0xe1,0x29,0x53,0x67,0x61,0x42,0x42,0x4f,0x09,0x23,0x0b,0x19, 0x1d,0xf7,0xf3,0xda,0xa2,0x29,0xa9,0x16,0x6d,0x34,0x2c,0x5d,0x28,0xf1,0x45,0xa9, 0xfa,0x5b,0xa6,0x1a,0xb0,0xb3,0x6d,0x8b,0x77,0x80,0xc2,0x94,0x63,0x87,0x1d,0x53, 0x6b,0x64,0xa8,0x95,0x14,0xf1,0x9d,0xc0,0xa8,0x93,0x8c,0x67,0x24,0xf3,0xe4,0x3c, 0x2e,0xa5,0xd0,0x61,0xca,0xcd,0xf3,0x42,0x6e,0x32,0x7e,0x6b,0xc3,0x36,0x71,0xb9, 0xb2,0xc7,0x0e,0xc7,0x1b,0x46,0x82,0xd9,0xaa,0xee,0x1d,0x62,0xeb,0x7d,0xbe,0xf9, 0xa8,0x03,0x26,0x6c,0xc9,0x6d,0x2d,0x6d,0xb0,0x9c,0x21,0x08,0x69,0x20,0x04,0x8c, 0xf3,0xc2,0x50,0x3b,0xd7,0xab,0xc1,0xe1,0xc3,0x87,0x85,0x61,0x83,0xba,0xfb,0xfe, 0xec,0xc9,0x9f,0x33,0xcb,0x37,0x36,0x3f,0x4e,0x8b,0xe9,0x33,0x36,0xe6,0xa9,0x2e, 0x23,0x3e,0xd1,0xd2,0xbc,0xe3,0xd4,0xd5,0x1b,0xb6,0x69,0x8a,0xa5,0x43,0xa3,0x8c, 0xc2,0x63,0x30,0x86,0xd0,0x30,0x12,0x31,0x50,0x49,0xe9,0x40,0x14,0x01,0x40,0x14, 0x04,0x4b,0x78,0xb4,0x84,0xec,0x2f,0x10,0x9a,0xdd,0x87,0x86,0xc5,0x3d,0x37,0x70, 0x24,0x65,0x45,0x2e,0x04,0xa9,0x38,0xf4,0xc0,0x35,0xb3,0x0f,0xfc,0x98,0xb2,0xff, 0x00,0xd0,0x8f,0x1b,0xb4,0xeb,0x7c,0xb5,0x48,0xb5,0x49,0x76,0x1b,0xe1,0x44,0xa5, 0xd6,0x94,0x52,0xa4,0xe7,0x20,0xf2,0x08,0x3d,0x89,0x15,0x69,0x46,0xca,0xa7,0x46, 0x9e,0x02,0x95,0x6d,0x75,0x4e,0x25,0x29,0x90,0xb2,0x77,0x2b,0xda,0xf2,0x14,0x73, 0x9e,0x47,0xa7,0x96,0x3d,0x28,0xe3,0xaa,0x44,0xa9,0x6e,0xca,0xce,0x98,0xfd,0xdb, 0x50,0x4b,0xba,0xcf,0x66,0x34,0x72,0xfb,0xca,0x77,0xd8,0x47,0x4e,0x10,0x8c,0x92, 0x70,0x07,0x90,0xc9,0xe0,0x52,0x29,0xa4,0x4b,0x95,0xb3,0x1f,0x51,0x4e,0x81,0x22, 0x54,0x04,0x69,0xe8,0xf3,0x10,0x51,0x1d,0x02,0x53,0x8f,0x91,0xf7,0xde,0xc7,0xde, 0xdb,0x81,0xf8,0x72,0x78,0x1e,0x83,0xe3,0x4c,0x77,0x62,0x6d,0x1b,0x97,0xae,0x5a, 0xb2,0xd3,0xa5,0x6e,0x36,0xc4,0x43,0x2d,0x5a,0x67,0x38,0xdb,0xd2,0x14,0xe2,0x39, 0x4a,0x92,0x46,0x09,0xc0,0xc8,0xe7,0x1c,0x1c,0x54,0x3c,0x66,0x4c,0x5d,0x4b,0x8f, 0x92,0x7f,0x1c,0x26,0x9b,0xff,0x00,0x4e,0xef,0xc2,0xfd,0xa5,0x57,0x3e,0xa7,0x30, 0xe3,0x87,0xda,0x2d,0x86,0x96,0xe9,0x56,0x3b,0xa9,0x44,0x27,0xff,0x00,0x23,0x53, 0x91,0xd2,0x34,0xa5,0x6c,0x95,0x3e,0x92,0xe9,0xa4,0xda,0xad,0x48,0x75,0x48,0xc1, 0xda,0x31,0x58,0x4d,0xe2,0x85,0x40,0x14,0x01,0x40,0x14,0x01,0x40,0x32,0x0f,0x1f, 0xbd,0x0b,0xba,0xdc,0x2e,0x70,0xba,0x83,0xa3,0x6d,0xf2,0x2e,0x04,0xa1,0x11,0x6e, 0x6c,0x46,0x68,0xad,0x69,0x29,0xc8,0x6d,0xdc,0x01,0x92,0x30,0x42,0x4f,0xa6,0xd4, 0xfa,0xd7,0x6c,0x59,0x3b,0x74,0xce,0x19,0x61,0x7b,0x43,0x45,0xb7,0x74,0x4b,0x5b, 0xdd,0x10,0x16,0x74,0xad,0xf9,0xa0,0x79,0x1e,0xd6,0x22,0xdb,0xcf,0xfc,0x80,0xae, 0xbf,0x22,0xfb,0x39,0x2c,0x6c,0xcf,0x57,0x87,0xdd,0x5d,0x19,0x05,0x72,0xb4,0xc5, 0xe5,0x5c,0x7e,0xc4,0x72,0xbf,0xe9,0x9a,0x7c,0xa8,0x9f,0x8d,0xfd,0x1c,0x95,0xf3, 0x42,0xcf,0xb3,0x3a,0x5b,0xb8,0x40,0x9b,0x01,0xcf,0xfb,0x72,0x59,0x53,0x64,0xfd, 0x08,0xa9,0x53,0x4c,0xab,0x8d,0x1c,0xfb,0x96,0xe9,0x10,0x64,0x37,0x21,0x94,0x7e, 0xb1,0xa5,0x05,0xa7,0x70,0xe0,0x90,0x73,0x5d,0x13,0x39,0xe4,0xc6,0xa7,0x17,0x17, 0xed,0x1d,0x0d,0xdf,0xab,0xb2,0xe5,0x58,0xd3,0x6c,0x5d,0xb6,0x3a,0x54,0x94,0x16, 0xc3,0xa5,0x09,0x0a,0x09,0x29,0x29,0x23,0x76,0x32,0x53,0x83,0x9d,0xbd,0x89,0xe7, 0xbe,0x49,0x1f,0x3b,0x0e,0x89,0x35,0x28,0xa7,0x25,0x51,0x69,0xad,0x6f,0x43,0x80, 0xf0,0x0b,0xd3,0x29,0x77,0xbb,0x84,0xdb,0xfb,0xcc,0xab,0xdd,0x4a,0xc3,0x2d,0x2c, 0x8f,0xc5,0xb7,0x39,0xc7,0xd4,0xff,0x00,0x2d,0x70,0xcf,0x3f,0x47,0xd4,0xe1,0x8d, 0xbb,0x24,0xb6,0xdd,0x0d,0x30,0x21,0xb4,0xca,0x06,0x36,0x8e,0x6b,0x31,0xa8,0xc9, 0xa0,0x0a,0x00,0xa0,0x0a,0x00,0xa0,0x02,0x32,0x30,0x79,0x14,0x06,0x0b,0x96,0x38, 0x2e,0xac,0xad,0xc8,0xed,0x95,0x1f,0x3c,0x50,0x14,0x36,0x18,0x04,0x60,0xc6,0x6f, 0x1f,0x2a,0x03,0x55,0x78,0xe9,0xe5,0x8a,0xf9,0x19,0x71,0xee,0x50,0x23,0xc8,0x65, 0x7c,0x29,0xb7,0x5b,0x0b,0x49,0xf9,0x83,0x40,0x20,0x9d,0x49,0xf0,0x35,0xa5,0xb5, 0x2b,0x4f,0x3d,0xa5,0x01,0xb2,0xcb,0x56,0x48,0x0c,0x8d,0xcd,0x13,0xf1,0x41,0xed, 0xfb,0xa4,0x55,0xe3,0x36,0x8e,0x72,0xc6,0x98,0xd9,0x6d,0x1f,0x67,0x56,0xbc,0xd4, 0x1d,0x41,0x10,0xb5,0x29,0x89,0x69,0xd3,0x2c,0xac,0x29,0xdb,0xa3,0x4f,0xa5,0xc5, 0x3e,0x8f,0xfa,0x5b,0x40,0xfb,0xc0,0x9f,0x55,0x00,0x07,0xc7,0xb5,0x74,0xf9,0xb5, 0xa3,0x9a,0xc3,0xbd,0x92,0x1b,0xd3,0xae,0x9a,0x59,0x7a,0x65,0xa7,0x21,0x59,0xb4, 0xcc,0x46,0xe3,0xc4,0x8a,0xd8,0x6d,0x09,0x03,0x9e,0x3c,0xc9,0xf3,0x3f,0x1a,0xe0, 0xdd,0x9d,0xd2,0xad,0x23,0xac,0xa1,0x21,0x40,0x14,0x01,0x40,0x5d,0xb6,0x80,0x36, 0xd0,0x06,0xda,0x00,0xdb,0x40,0x1b,0x68,0x03,0x6d,0x00,0x6d,0xa0,0x0c,0x7c,0xe8, 0x03,0x6d,0x00,0x6d,0xa0,0x0d,0xb4,0x01,0xb6,0x80,0x36,0xd0,0x1f,0xff,0xd9 }; /* created by reswrap from file cy_pinpad_b.jpg */ const unsigned char fxcj_icon_cy_pinpad_b[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x02,0x01,0x00,0x60, 0x00,0x60,0x00,0x00,0xff,0xe2,0x1c,0x6d,0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46, 0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00,0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10, 0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47,0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce, 0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31,0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53, 0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45,0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01, 0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00, 0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65,0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00, 0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00,0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b, 0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00, 0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58,0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00, 0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00,0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d, 0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00,0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00, 0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75,0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00, 0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75, 0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00,0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00, 0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65,0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00, 0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00,0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54, 0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00,0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00, 0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65,0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f, 0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20,0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38, 0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74,0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64, 0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39, 0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3, 0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16,0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f,0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03, 0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7, 0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24, 0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6,0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f, 0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f, 0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32, 0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63, 0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52, 0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45, 0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61, 0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73, 0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66, 0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43, 0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36, 0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69, 0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20, 0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00, 0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00,0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00, 0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00,0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00, 0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00,0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d, 0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00,0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00, 0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00, 0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00, 0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00, 0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00, 0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00, 0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00, 0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01, 0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01, 0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01, 0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01, 0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01, 0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02, 0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02, 0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02, 0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03, 0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03, 0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03, 0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04, 0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04, 0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05, 0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05, 0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06, 0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06, 0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07, 0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07, 0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08, 0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09, 0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09, 0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a, 0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b, 0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b, 0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c, 0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d, 0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e, 0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f, 0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10, 0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10, 0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11, 0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12, 0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13, 0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14, 0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16, 0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17, 0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18, 0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19, 0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a, 0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b, 0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d, 0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e, 0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f, 0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21, 0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22, 0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23, 0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25, 0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26, 0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28, 0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a, 0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b, 0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d, 0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e, 0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30, 0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32, 0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34, 0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35, 0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37, 0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39, 0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b, 0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d, 0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f, 0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41, 0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43, 0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45, 0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48, 0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a, 0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c, 0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e, 0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51, 0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53, 0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55, 0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58, 0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a, 0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d, 0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f, 0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62, 0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64, 0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67, 0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a, 0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d, 0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f, 0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72, 0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75, 0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78, 0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b, 0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e, 0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81, 0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84, 0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87, 0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a, 0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d, 0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91, 0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94, 0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97, 0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b, 0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e, 0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2, 0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5, 0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9, 0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac, 0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0, 0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4, 0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7, 0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb, 0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf, 0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3, 0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7, 0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb, 0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf, 0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3, 0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7, 0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb, 0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf, 0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3, 0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8, 0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec, 0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0, 0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5, 0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9, 0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe, 0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0xff,0xc0,0x00,0x11,0x08,0x00,0xc8,0x00,0xc8,0x03,0x01,0x11,0x00, 0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xdb,0x00,0x84,0x00,0x03,0x02,0x02,0x03,0x02, 0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08,0x05,0x05,0x04,0x04,0x05, 0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b,0x0c,0x0c,0x0e,0x0f,0x14, 0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13,0x15,0x15,0x16,0x17,0x16, 0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15,0x01,0x03,0x03,0x03,0x05, 0x04,0x05,0x0a,0x05,0x05,0x0a,0x15,0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xff,0xc4,0x01,0xa2, 0x00,0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x10,0x00,0x02, 0x01,0x03,0x03,0x02,0x04,0x03,0x05,0x05,0x04,0x04,0x00,0x00,0x01,0x7d,0x01,0x02, 0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71, 0x14,0x32,0x81,0x91,0xa1,0x08,0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33, 0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28,0x29,0x2a, 0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53, 0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73, 0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x92, 0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9, 0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2,0xe3,0xe4, 0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa, 0x01,0x00,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x11,0x00,0x02, 0x01,0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,0x02,0x77,0x00,0x01, 0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22, 0x32,0x81,0x08,0x14,0x42,0x91,0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62, 0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26,0x27,0x28, 0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a, 0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a, 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89, 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5, 0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe2,0xe3, 0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa, 0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x3f,0x00,0xfd,0x4e, 0xdc,0x7d,0x4d,0x00,0x1b,0x8f,0xa9,0xa0,0x03,0x71,0xf5,0x34,0x00,0x6e,0x3e,0xa6, 0x80,0x0d,0xc7,0xd4,0xd0,0x01,0xb8,0xfa,0x9a,0x00,0x37,0x1f,0x53,0x40,0x06,0xe3, 0xea,0x68,0x00,0xdc,0x7d,0x4d,0x00,0x1b,0x8f,0xa9,0xa0,0x03,0x71,0xf5,0x34,0x00, 0x6e,0x3e,0xa6,0x80,0x0d,0xc7,0xd4,0xd0,0x01,0xb8,0xfa,0x9a,0x00,0x37,0x1f,0x53, 0x40,0x06,0xe3,0xea,0x68,0x00,0xdc,0x7d,0x4d,0x00,0x1b,0x8f,0xa9,0xa0,0x03,0x71, 0xf5,0x34,0x00,0x6e,0x3e,0xa6,0x80,0x0d,0xc7,0xd4,0xd0,0x01,0xb8,0xfa,0x9a,0x00, 0x37,0x1f,0x53,0x40,0x06,0xe3,0xea,0x68,0x00,0xdc,0x7d,0x4d,0x00,0x25,0x00,0x14, 0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x06,0x6f,0x88,0xbc,0x47,0xa7,0xf8, 0x57,0x4b,0x7b,0xfd,0x72,0xe1,0x6d,0xed,0xd4,0xe0,0x67,0xab,0xb7,0x60,0x07,0x73, 0x4d,0x26,0xf6,0x13,0x76,0x57,0x67,0x9c,0xdf,0x7e,0xd3,0x3e,0x0d,0xd1,0xed,0x9a, 0xe3,0x5d,0xb8,0x92,0xc2,0xdd,0x79,0xdf,0x21,0x5e,0x9f,0x9d,0x53,0x83,0x44,0x2a, 0x89,0x91,0xe8,0x5f,0xb5,0x97,0xc2,0x8f,0x10,0xc4,0xb2,0x59,0xf8,0xc7,0x4e,0x89, 0x1a,0x43,0x10,0x6b,0x8d,0xc8,0xa5,0xc0,0xce,0xdd,0xd8,0xc6,0x71,0xcf,0x5a,0x9b, 0x5c,0xae,0x74,0x7a,0x0e,0x8f,0xe3,0x9f,0x0e,0xf8,0x82,0x35,0x7d,0x0f,0x5d,0xd2, 0x6f,0x95,0xba,0x79,0x37,0x28,0xd9,0xfd,0x68,0xb3,0x43,0x52,0x4c,0xdc,0x5f,0x99, 0x41,0x5c,0x10,0x7a,0x11,0xcd,0x21,0x81,0x18,0xeb,0x40,0x09,0x40,0x05,0x00,0x14, 0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50, 0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x1d,0x07,0x3c,0x01,0xdc, 0xd0,0x07,0xc1,0x9f,0xb4,0xe7,0xed,0x07,0x1e,0xab,0xe2,0x3b,0xc9,0x21,0xb8,0x2b, 0xa0,0xe9,0x45,0xa1,0xb7,0x00,0xfc,0xb2,0xb8,0xfb,0xcf,0xf8,0xe0,0xfe,0x02,0xb5, 0x87,0xba,0xae,0x63,0x3f,0x79,0x9f,0x00,0xf8,0xb7,0xe2,0x1e,0xb7,0xf1,0x93,0xc5, 0x49,0x6d,0x1d,0xc3,0xc3,0x65,0xbc,0xec,0x46,0xce,0xd4,0x41,0xd5,0xd8,0x7f,0x4f, 0xc2,0x9c,0x53,0x9b,0xb0,0x3b,0x41,0x5c,0xec,0x75,0x3f,0x0e,0x68,0x3a,0x5d,0xa4, 0x7a,0x03,0x45,0x73,0x73,0x6a,0xa2,0x3b,0x99,0x5e,0x67,0x1e,0x6a,0xc8,0xea,0x32, 0xca,0x46,0x00,0xc0,0xe8,0x3f,0x3c,0xd7,0x54,0x69,0x23,0x99,0xd5,0x6f,0x53,0xcb, 0xaf,0x64,0xd6,0x7c,0x1b,0xe2,0x0b,0x8d,0x3e,0xcf,0x51,0xbd,0x8e,0x58,0xa4,0x02, 0x37,0xb6,0x95,0xd0,0xc8,0xa7,0x94,0x61,0x83,0xdc,0x10,0x7f,0x1a,0xcf,0x97,0x53, 0x7b,0xdd,0x5c,0xf5,0x9f,0x07,0x7c,0x47,0xf8,0xc9,0xa0,0x46,0x92,0xe9,0x7e,0x37, 0xd5,0x34,0xac,0x74,0x8a,0xe6,0xf1,0x9d,0xb1,0xee,0x30,0xd8,0xfa,0x1a,0xaf,0x63, 0x72,0x3d,0xaa,0x47,0xa6,0xe8,0xff,0x00,0xb6,0x97,0xed,0x07,0xe1,0x1c,0x6e,0xd6, 0x2c,0xbc,0x47,0x04,0x7d,0x4c,0x96,0xe9,0x2b,0x63,0xe8,0x30,0x7f,0x4a,0x87,0x40, 0xa5,0x5b,0xcc,0xec,0x3c,0x3d,0xff,0x00,0x05,0x61,0xf1,0x6e,0x9f,0x2f,0x95,0xe2, 0xcf,0x08,0xe9,0x17,0xc5,0x38,0x73,0x03,0xb4,0x2f,0x9f,0xa1,0xa8,0x74,0x51,0x6a, 0xa5,0xcf,0x56,0xf0,0xc7,0xfc,0x15,0x77,0xc1,0x17,0xfb,0x13,0xc4,0xde,0x16,0xd7, 0x74,0xd6,0x3d,0x5e,0x16,0x59,0x54,0x7e,0x15,0x2e,0x8b,0x2b,0xda,0x1e,0x91,0x27, 0xfc,0x14,0x2b,0xe1,0x7e,0xa1,0xe1,0x8d,0x42,0xfb,0xc2,0xb7,0x17,0xba,0x86,0xab, 0x6f,0x10,0x68,0xb4,0xd9,0xa1,0x68,0x8c,0x8c,0x4e,0x00,0x2d,0xc8,0x03,0xfc,0x28, 0x8d,0x09,0x49,0xd8,0x52,0xaa,0x92,0x1d,0xe0,0x1f,0xdb,0xe7,0xc0,0xde,0x27,0x92, 0x28,0x3c,0x57,0x67,0x7f,0xe1,0xb9,0x98,0x80,0x66,0x38,0xb8,0x80,0x1f,0x76,0x5f, 0x98,0x7f,0xdf,0x34,0xe5,0x87,0x92,0xdb,0x52,0x63,0x5d,0x3d,0xcf,0xa2,0xb4,0x3f, 0x11,0xe9,0x3e,0x27,0xd3,0xe1,0xbe,0xf0,0xee,0xa5,0x65,0xa9,0x5a,0x4c,0x37,0x24, 0xd6,0xd2,0xab,0xab,0x0f,0xc2,0xb1,0x6a,0xdb,0x9b,0x26,0x9e,0xc6,0x8e,0xe5,0xfe, 0xf0,0xa4,0x31,0x40,0xcf,0x42,0x0d,0x00,0x18,0x34,0x00,0x98,0xc7,0x5a,0x00,0x28, 0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x03,0xcd, 0xff,0x00,0x68,0x0f,0x1b,0x0f,0x05,0xfc,0x3b,0xbc,0x30,0xdc,0x25,0xb5,0xe6,0xa1, 0x9b,0x48,0xa4,0x66,0xc6,0xc5,0x23,0x2e,0xdf,0x82,0x83,0xf8,0x91,0x57,0x4e,0x1c, 0xd2,0xb1,0x9d,0x59,0xf2,0xc4,0xfc,0xc0,0xf8,0xb9,0xe1,0xbb,0xaf,0x1f,0x48,0x9a, 0x7f,0x85,0xef,0x74,0xab,0xab,0x48,0xc7,0xcf,0xb6,0xfa,0x24,0x67,0x63,0xd7,0x86, 0x61,0xec,0x3f,0x3f,0x5a,0xe8,0xa9,0x4e,0x4f,0x48,0x98,0x42,0xaa,0x5b,0x9c,0x5f, 0x87,0xbe,0x13,0x6a,0x7e,0x07,0xb3,0x2f,0x7f,0x61,0x3f,0xda,0x2f,0x58,0x2e,0xf4, 0x5f,0x33,0xcb,0x40,0xd8,0x00,0xb2,0xe4,0x0c,0x9e,0x7a,0xf4,0xc5,0x69,0x42,0x9b, 0x8d,0xdb,0x22,0xb5,0x45,0x2d,0x8a,0x7a,0xcd,0xd8,0xb8,0xf1,0x0e,0xa4,0xe5,0x80, 0x3e,0x79,0x45,0x07,0xae,0xd5,0x00,0x0f,0xe5,0x5b,0x43,0x63,0x2b,0x91,0xe2,0x07, 0xbc,0x86,0xfa,0x4b,0x78,0x9a,0xf6,0x28,0xc4,0x31,0xdc,0x11,0x96,0x0a,0x33,0x8f, 0xc7,0x92,0x33,0xd7,0x15,0x56,0x57,0xb8,0x73,0x12,0x35,0xd3,0x13,0xc1,0x34,0xc3, 0x71,0x12,0xf0,0xab,0x0c,0x31,0x18,0xa0,0x18,0xdd,0x41,0x6d,0x35,0x80,0xab,0xac, 0xda,0x5b,0xde,0xf6,0x0f,0x22,0xfc,0xe3,0xfe,0x04,0x30,0x7f,0x5a,0x4e,0x29,0x82, 0x6c,0xc5,0x6f,0x03,0xe8,0x0d,0x27,0x98,0x91,0x5f,0x47,0x8e,0x7c,0xb5,0xb8,0xc8, 0xfd,0x46,0x6a,0x3d,0x9a,0x1f,0x39,0xbb,0x61,0xf6,0x7b,0x18,0xa2,0xb6,0xd3,0xe1, 0x58,0x2d,0xc3,0x03,0xb4,0x72,0x49,0xf5,0x24,0xf5,0xfc,0x6a,0xad,0x6d,0x81,0xb6, 0xf5,0x63,0x7c,0x86,0x81,0x21,0x8e,0x6d,0x3e,0xc5,0x16,0x55,0xdc,0x93,0xf9,0x65, 0x24,0xda,0x7b,0x82,0xa4,0x67,0xea,0x68,0xb0,0x8e,0xab,0x47,0xf1,0xa6,0xa1,0xa2, 0x23,0x43,0xa6,0x6a,0x17,0xd6,0x70,0x48,0x7e,0x6f,0xb3,0x4e,0xd1,0xb0,0x23,0xa1, 0x0c,0x3a,0x1f,0x7f,0xcf,0x34,0x4a,0x29,0x85,0xec,0x26,0xad,0xfb,0x52,0x7c,0x6a, 0xf8,0x49,0xaa,0x5b,0x5b,0xc7,0xe3,0x6d,0x46,0xf2,0xc6,0xe2,0x11,0x73,0x69,0x2d, 0xe0,0x59,0x44,0xb1,0x12,0x47,0x3e,0x84,0x10,0x41,0x19,0xea,0x2b,0x96,0x54,0x92, 0x3a,0xa1,0x52,0xe8,0xeb,0x7c,0x2f,0xff,0x00,0x05,0x4c,0xf8,0x9f,0xa4,0xb2,0xa6, 0xbd,0x65,0xa1,0x6a,0xea,0xbc,0x12,0xd1,0x98,0x98,0xfe,0x22,0xb3,0x74,0x91,0x6a, 0xa7,0x99,0xeb,0xfe,0x1a,0xff,0x00,0x82,0xb5,0x5b,0x84,0x8f,0xfe,0x12,0xaf,0x03, 0xcc,0x0f,0xf1,0x35,0x95,0xd0,0xfd,0x03,0x54,0xba,0x45,0x29,0xb3,0xd6,0x3c,0x27, 0xff,0x00,0x05,0x3c,0xf8,0x53,0xe2,0x29,0x22,0x8a,0xfe,0xdf,0xc4,0x3a,0x6c,0xee, 0x70,0x11,0xed,0xbc,0xcf,0xd4,0x54,0x38,0x34,0x35,0x23,0xea,0x6f,0x0b,0xf8,0xb3, 0x4a,0xf1,0xa6,0x93,0x1e,0xa3,0xe1,0xbb,0xb8,0xee,0xed,0x5f,0x1f,0x32,0xf0,0x54, 0x91,0x9c,0x11,0xdb,0x82,0x2a,0x2f,0x72,0x93,0xb9,0xaf,0x8e,0x28,0x18,0x94,0x00, 0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x1f,0x04,0x7f,0xc1,0x41,0xfc, 0x67,0x36,0xad,0xe2,0x4d,0x37,0xc3,0xf6,0x73,0xec,0xb5,0xb2,0x05,0x24,0xf9,0x8e, 0xd2,0xc5,0x55,0xdc,0x9c,0x7f,0xbd,0x18,0xfc,0x2b,0xa6,0x82,0x39,0x6b,0xca,0xee, 0xc7,0xc6,0x09,0x79,0x15,0x93,0xdc,0x1b,0x88,0xa3,0x99,0xe3,0xc8,0x54,0xe1,0x95, 0x8f,0xf9,0xef,0x5d,0x37,0x30,0xb1,0xaf,0xa3,0x6b,0xfa,0x9e,0x89,0x61,0x6e,0xda, 0x6d,0xfd,0xe5,0xab,0x3a,0xb4,0x85,0x20,0x94,0xe0,0x9c,0x91,0xf8,0xf4,0xa7,0x7b, 0x09,0x9d,0xb6,0xb9,0xac,0x78,0xa3,0xc3,0xda,0x65,0x95,0xc7,0x8a,0xe2,0xd3,0xee, 0x85,0xcc,0x7b,0xfc,0x9b,0xeb,0x78,0x66,0x64,0x18,0xc8,0xdc,0x47,0x23,0x8e,0xdd, 0x45,0x45,0x3a,0xea,0x6d,0xa4,0xf6,0x2e,0x74,0x5c,0x55,0xd9,0x9f,0x7d,0x7b,0x65, 0x1d,0x95,0xad,0xcf,0x89,0x3c,0x11,0x67,0x0c,0x77,0x49,0xbe,0x39,0x21,0xf3,0x6c, 0xd9,0xc7,0x62,0x06,0x71,0x8f,0xc2,0xb4,0x8d,0x54,0xc8,0x74,0xda,0x32,0xda,0x2f, 0x05,0xdd,0x9f,0x9e,0xdf,0xc4,0x3a,0x61,0xff,0x00,0xa6,0x53,0x47,0x3a,0x8f,0xc0, 0x80,0x6a,0xee,0x2b,0x0c,0x3e,0x0f,0xf0,0xf5,0xd9,0xff,0x00,0x89,0x67,0x8a,0xe3, 0x84,0x9e,0x89,0xa8,0x59,0xba,0x7e,0xab,0x91,0x4e,0xe8,0x4e,0xe2,0x37,0xc3,0x1d, 0x46,0x63,0x9d,0x27,0x51,0xd0,0xf5,0x2f,0x41,0x05,0xea,0xa9,0x3f,0x83,0x62,0x8d, 0x04,0x67,0x5f,0x7c,0x3e,0xf1,0x35,0x84,0x7b,0xae,0x34,0x4d,0x47,0x60,0xfe,0x38, 0xe3,0xf3,0x17,0xf3,0x5c,0xd1,0x60,0xdc,0xc1,0x65,0x96,0xca,0xe5,0x45,0xe5,0xbc, 0x88,0x54,0xf2,0x92,0xa9,0x4c,0x8a,0x2c,0x52,0xd0,0x95,0xae,0x34,0xf4,0x89,0x8d, 0xb5,0xb5,0xcc,0x52,0xe7,0x2b,0xfe,0x91,0xbd,0x41,0xfa,0x11,0x9f,0xd6,0x81,0x15, 0x16,0x66,0x91,0xc0,0x6c,0xf5,0xa0,0x65,0xef,0x18,0xfc,0x3a,0xf1,0x57,0xc5,0x0f, 0x0f,0x58,0x9f,0x03,0x68,0xf7,0xda,0xe4,0xda,0x3c,0xb2,0xac,0xd0,0xda,0xae,0xe3, 0x1c,0x32,0x60,0x83,0x8f,0x4d,0xca,0xdf,0x9d,0x61,0x59,0xa8,0xea,0xcd,0x29,0xc5, 0xcb,0x63,0xc9,0x35,0x7f,0x85,0x9e,0x30,0xd1,0x19,0xbf,0xb6,0x7c,0x2f,0xae,0x59, 0x15,0xea,0x64,0xb6,0x6f,0xe9,0x58,0xaa,0x91,0x7d,0x4d,0x1c,0x24,0xba,0x1c,0xd5, 0xc3,0xdd,0x58,0xbf,0x97,0x75,0x14,0x91,0x30,0xec,0xea,0x46,0x3f,0x3a,0x1c,0x87, 0xaa,0x3a,0xaf,0x86,0x25,0xaf,0x7c,0x4d,0x00,0x18,0x2a,0xbc,0xfe,0x24,0xe2,0xa6, 0x4e,0xe5,0xa3,0xf6,0x9f,0xf6,0x35,0xd1,0xcd,0x87,0xc2,0x87,0xbb,0x91,0x76,0xb5, 0xed,0xd3,0x15,0x1d,0x32,0x88,0xa1,0x47,0xea,0x0d,0x73,0xb3,0x48,0x6c,0x7b,0xc6, 0x78,0xa4,0x58,0x94,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x04,0x57,0x77, 0x91,0x69,0xf6,0x93,0xdd,0x5e,0x30,0x48,0x20,0x8d,0xa5,0x91,0xcf,0xf0,0xaa,0x8c, 0x93,0xf9,0x0a,0x00,0xfc,0x97,0xfd,0xa2,0x3c,0x4b,0x71,0xe3,0x2f,0x17,0x25,0xf4, 0xb2,0x79,0x6d,0x24,0x72,0xdd,0x39,0x67,0x20,0x06,0x9a,0x46,0x6d,0xb9,0x1e,0xc3, 0x1f,0x85,0x76,0xc2,0x36,0x47,0x0c,0x9d,0xdd,0xcf,0x23,0xd3,0xe4,0x6b,0x78,0xad, 0x45,0x8b,0x18,0x04,0xaa,0xd2,0x31,0x50,0x09,0x2a,0x0e,0x00,0xfe,0x75,0xa2,0x24, 0xba,0xcc,0xe2,0x41,0x23,0xb6,0x5c,0x63,0x91,0xc6,0x3f,0x0a,0x62,0xb9,0xa9,0xab, 0xeb,0xf7,0xda,0xe2,0xdb,0x8d,0x5e,0xe5,0xe7,0x8e,0x05,0xf2,0xe3,0x46,0x03,0x0a, 0xbe,0x9c,0x62,0x95,0xad,0xb2,0x1d,0xcb,0x1e,0x2c,0xf1,0xa6,0xa3,0xe2,0xa4,0xb3, 0x4d,0x43,0x66,0xdb,0x58,0xfc,0xb4,0xda,0xbc,0xb6,0x3b,0x9f,0x5a,0x8a,0x74,0xe3, 0x0b,0xd9,0x15,0x39,0xb9,0xee,0x73,0x4e,0xd8,0xfb,0xd8,0xe6,0xb4,0xb9,0x9d,0x87, 0x24,0x9b,0x40,0xc0,0x38,0xf5,0x02,0x9d,0xc7,0x61,0xef,0x36,0xe0,0x30,0x70,0x45, 0x17,0x06,0xec,0x59,0xb5,0xd6,0xaf,0xb4,0xe7,0xdd,0x63,0x79,0x75,0x6c,0x47,0x4f, 0x2a,0x56,0x5f,0xe4,0x6a,0x93,0x15,0xcd,0x88,0xbe,0x24,0x78,0x81,0x13,0x6c,0xda, 0x94,0x97,0x49,0xfd,0xcb,0xa4,0x59,0x41,0xff,0x00,0xbe,0x81,0xa7,0xcd,0x61,0x59, 0x03,0xf8,0xde,0x1b,0xb3,0x8d,0x6b,0xc3,0xde,0x1d,0xbd,0x1d,0xd8,0x5b,0x79,0x2c, 0x7f,0x14,0x22,0x9f,0x33,0x0e,0x54,0x33,0xed,0xde,0x0e,0xbc,0x75,0x37,0x7e,0x1e, 0xbf,0xb1,0x71,0xce,0xeb,0x1b,0xf2,0x47,0xfd,0xf2,0xe0,0xff,0x00,0x3a,0x7c,0xc1, 0xca,0x7b,0x3f,0xec,0xf5,0xf1,0xdb,0xc2,0xdf,0x03,0xaf,0xb5,0x6b,0x8d,0x2e,0x2b, 0xdb,0xa5,0xd4,0xd2,0x28,0xa4,0x8f,0x51,0x8f,0x98,0xc2,0x92,0x7e,0x56,0x43,0xdf, 0x3d,0xc7,0x6a,0xc6,0xb4,0x15,0x43,0x4a,0x73,0x94,0x0f,0xb5,0x3e,0x1c,0xfc,0x4e, 0xf0,0xb7,0xc5,0xcb,0x5b,0x61,0xf6,0x48,0xe1,0x7b,0xb0,0x7c,0x92,0xf8,0x96,0x29, 0x48,0xea,0x01,0x23,0x83,0xec,0x45,0x71,0x54,0xa4,0xe2,0x74,0xc2,0xb2,0x96,0x86, 0xdf,0x88,0x3f,0x67,0x9f,0x03,0xf8,0x95,0x58,0x6b,0x5e,0x18,0xd0,0xee,0xf7,0x75, 0x32,0x5a,0xa6,0x7f,0x30,0x2b,0x2d,0x8d,0x8f,0x3e,0xba,0xfd,0x83,0xfe,0x13,0x4f, 0x74,0x67,0xb6,0xf0,0xbd,0xbe,0x9f,0x29,0x39,0x32,0x59,0x3b,0x46,0x7d,0x69,0xf3, 0x32,0x79,0x51,0xee,0xde,0x11,0xf0,0xad,0x97,0x83,0x34,0x0b,0x3d,0x27,0x46,0x8f, 0xc9,0xb3,0xb4,0x8c,0x47,0x1a,0x67,0x27,0x1e,0xe7,0xb9,0xef,0x48,0xa3,0x5e,0x80, 0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x03,0xca,0x7f,0x6a,0x6f,0x17, 0x8f,0x05,0xfc,0x0a,0xf1,0x3d,0xd8,0x93,0xcb,0x9a,0xea,0x24,0xb0,0x84,0xe7,0x04, 0xb4,0xcc,0x10,0xfe,0x4a,0x58,0xfe,0x15,0x51,0x57,0x92,0x44,0xc9,0xd9,0x33,0xf2, 0xbf,0xe2,0x5c,0xc6,0xf3,0x55,0xbc,0x95,0xe4,0x55,0xb7,0x48,0x62,0x84,0xa1,0x62, 0x37,0x80,0xa0,0x91,0xef,0xcb,0x57,0x76,0xe7,0x09,0x8f,0x08,0x55,0x9b,0xcb,0x55, 0xc1,0x8e,0x38,0xd7,0x38,0xe3,0x91,0x92,0x3f,0x5a,0xa4,0x22,0x69,0x14,0x82,0x3b, 0x7b,0xd0,0x48,0xa0,0x16,0x00,0x1e,0xc2,0x98,0xec,0x38,0xa9,0x0a,0x70,0x3a,0x0e, 0xa2,0x90,0xd6,0x83,0x55,0x3e,0x4f,0x9b,0x07,0x34,0xc5,0x72,0x29,0x20,0x46,0x53, 0xf2,0x8e,0x7a,0xd0,0x36,0xc8,0x5e,0xdd,0x15,0xf8,0x2e,0x38,0xec,0x7a,0x50,0x17, 0x1a,0x60,0x3c,0x80,0xde,0xdc,0x8a,0x05,0xa0,0xa6,0xd1,0xca,0xe7,0x2a,0x41,0xe8, 0x01,0xc5,0x05,0x58,0x85,0xd1,0xd7,0x80,0x84,0xf7,0xc8,0xa0,0x43,0x44,0x72,0x16, 0x38,0x52,0x76,0x82,0x48,0xee,0x05,0x17,0x18,0x82,0x4c,0x83,0x54,0x80,0xfb,0x0f, 0xf6,0x36,0x96,0xfa,0x6d,0x0e,0xc2,0xdc,0x3f,0xee,0xbf,0xb5,0x83,0x40,0x3b,0xae, 0x4a,0xee,0xc7,0xe5,0x5c,0xd5,0x35,0xb9,0x50,0xdd,0x1f,0xa1,0x4c,0x7e,0x63,0x8a, 0xe3,0x3b,0x83,0x39,0xea,0x28,0x00,0xcf,0x14,0x00,0x94,0x00,0x50,0x01,0x40,0x05, 0x00,0x14,0x00,0x50,0x01,0x40,0x1f,0x12,0x7f,0xc1,0x52,0x7c,0x6d,0x36,0x8b,0xe0, 0x0f,0x03,0x78,0x7a,0xc9,0x9c,0x49,0xac,0x6b,0x05,0xc8,0x5e,0xe2,0x35,0xda,0x07, 0xe7,0x26,0x7f,0x0a,0xa8,0x3f,0x78,0x99,0xec,0x7c,0x45,0xe2,0x48,0xcd,0xce,0xa2, 0xc6,0x76,0x06,0x3b,0x9b,0xa3,0xb2,0x22,0xc7,0x23,0x27,0x0a,0xd8,0xe9,0xd0,0x0a, 0xee,0xb1,0xc4,0xc9,0x55,0x01,0xba,0xb8,0x62,0xa5,0x4b,0xca,0xdc,0x1f,0x41,0xc0, 0xc7,0xe0,0x05,0x32,0x59,0x33,0x2e,0x32,0x76,0xe4,0xfb,0x53,0x16,0xc2,0x08,0xc4, 0x84,0xec,0xea,0x3a,0xfb,0x50,0x3b,0x8d,0x30,0x90,0x08,0xe8,0x07,0x5c,0xd0,0x21, 0xac,0x98,0xe0,0xf3,0x4c,0x11,0x0b,0x8d,0xab,0xcf,0x53,0xde,0x82,0x86,0x3a,0x12, 0xc4,0x9c,0xe2,0x82,0x77,0x11,0x46,0x5b,0x9e,0x07,0xbd,0x03,0x1c,0xdc,0x9c,0xf4, 0xef,0x40,0xc8,0x18,0xe4,0x6e,0x23,0x00,0x7b,0xd0,0x02,0xab,0xed,0x49,0x09,0xfe, 0xe1,0xe4,0x7b,0xf1,0xfd,0x68,0x03,0x35,0xba,0x9c,0x8c,0xd3,0x03,0xf4,0x0f,0xf6, 0x2f,0xf0,0xe1,0x8b,0x4e,0xf0,0xbf,0x98,0xbc,0x91,0x25,0xe3,0x71,0xf5,0x23,0xfa, 0x57,0x25,0x57,0xa3,0x66,0x94,0x95,0xe4,0x7d,0xa0,0x79,0x35,0xcc,0x76,0x09,0x40, 0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x1f,0x2a, 0x7f,0xc1,0x40,0xbe,0x15,0xc3,0xe3,0x7f,0x06,0x78,0x53,0xc4,0x93,0xce,0xd0,0x9f, 0x0b,0x6a,0x2d,0x78,0x54,0x2e,0xe1,0x22,0x95,0xc9,0x53,0xe9,0xca,0x0e,0x69,0xc1, 0x7b,0xc9,0x91,0x51,0xda,0x27,0xe7,0x8d,0xf5,0xb1,0x4b,0x98,0x16,0xe0,0xef,0x95, 0x55,0x8a,0x8d,0xc4,0x98,0xf9,0xe4,0x63,0xb7,0x5e,0xd5,0xe8,0x58,0xe1,0xb9,0x6d, 0x6e,0xa4,0xba,0x8e,0xe1,0xee,0x44,0x4c,0x55,0x41,0x07,0xcb,0x00,0xe4,0x90,0x3f, 0xc6,0x85,0xa0,0x0e,0x89,0x26,0x96,0xdd,0xe5,0x8e,0xd8,0xbc,0x31,0x60,0x3c,0x8a, 0x0e,0x17,0xd3,0x35,0x42,0xb8,0xe1,0x34,0x70,0x9d,0xb7,0x10,0xcd,0x1b,0x1e,0x71, 0x9c,0x1f,0xc8,0x8a,0x42,0x14,0xcb,0x6a,0xe3,0xe5,0x9e,0x45,0xf6,0x91,0x3f,0xc2, 0x8b,0x0c,0x8d,0xa3,0x05,0xbf,0x75,0x3c,0x4d,0xf4,0x6c,0x7f,0x3a,0x00,0x8d,0xad, 0xa4,0x50,0x58,0xc6,0xc4,0x7a,0x8e,0x69,0xd8,0x08,0x49,0xc1,0x21,0xce,0x31,0xc7, 0x22,0x81,0x88,0x50,0x16,0xc8,0xe7,0x34,0x0c,0x49,0x10,0xbf,0x4e,0xdd,0xc0,0xa0, 0x08,0x1e,0x3c,0x75,0xe6,0x80,0x22,0x98,0x6c,0x81,0xcf,0x66,0x21,0x46,0x7f,0x3a, 0x00,0xa7,0x12,0xf9,0xb2,0xa2,0x0e,0x59,0x98,0x2f,0x1e,0xf4,0x3d,0x80,0xfd,0x4c, 0xfd,0x96,0x34,0x41,0x61,0x6f,0x10,0x0a,0x00,0xb4,0xd3,0xa3,0x8b,0xe8,0xcd,0x8f, 0xf0,0x35,0xc3,0x51,0xe8,0x6f,0x41,0x6a,0xcf,0xa1,0xb1,0x59,0x1d,0x22,0x63,0x1d, 0x68,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x03, 0xc2,0x7f,0x6d,0x9d,0x61,0xb4,0xcf,0xd9,0xfb,0x57,0xb7,0x88,0x8f,0x33,0x51,0xb8, 0xb7,0xb3,0x50,0x7b,0xe5,0xc3,0x1f,0xd1,0x4d,0x5d,0x35,0x79,0x23,0x3a,0xae,0xd1, 0x3f,0x31,0x63,0x68,0x13,0x54,0x6f,0xb4,0x0f,0x35,0x94,0x0d,0xd2,0x02,0x5b,0x23, 0x07,0x68,0xe7,0xb6,0x7b,0x57,0x76,0xc7,0x11,0x0d,0xb1,0x90,0x41,0x73,0x2c,0x8a, 0x10,0x4b,0x3f,0xcb,0x18,0xe8,0xaa,0x07,0xff,0x00,0x5c,0x53,0x06,0x69,0x59,0xeb, 0x6d,0x61,0xa7,0xcd,0x66,0x21,0x56,0x86,0x6d,0xfb,0xd9,0x71,0xbf,0xe6,0x55,0x1c, 0x12,0x38,0xfb,0xbc,0xfa,0x86,0x3e,0xd5,0x49,0x91,0x6e,0xa6,0xbc,0xbe,0x2e,0xb3, 0x92,0xe2,0xf2,0xe1,0xed,0xfc,0xe7,0x95,0xde,0x44,0x86,0x78,0xce,0xdf,0xb8,0xe0, 0x29,0xcb,0x36,0x3e,0xf9,0xe4,0x60,0x70,0x08,0x00,0xd1,0x70,0xb5,0xc8,0xde,0x1d, 0x12,0x5d,0x39,0x53,0x4d,0x92,0xda,0x69,0x9b,0xcb,0x1b,0xe6,0x00,0x3a,0x06,0x2e, 0x48,0x60,0x59,0x70,0x57,0x72,0x29,0x20,0x30,0xf9,0x3a,0x62,0x8d,0x01,0x36,0x45, 0xa9,0x68,0x96,0x13,0x5f,0x32,0xe8,0xbe,0x73,0xc3,0x22,0x66,0x39,0x03,0x11,0x1e, 0x77,0xb2,0x9e,0x48,0x27,0x20,0x01,0x90,0x71,0x9c,0x36,0x38,0xc6,0x46,0x8a,0x4d, 0xb3,0x0c,0x5b,0x5a,0xc9,0x71,0x2a,0x43,0x73,0x70,0x86,0x25,0x66,0x2e,0xd1,0x0e, 0x76,0xfb,0x06,0xe3,0x34,0x87,0x62,0xcf,0x89,0xb4,0x9b,0xef,0x0b,0xde,0x43,0x6d, 0x7f,0x73,0x05,0xc1,0x96,0x21,0x32,0x34,0x4d,0xbc,0x6d,0x24,0x8e,0xe3,0xda,0xb8, 0xf0,0x78,0xd8,0x62,0xa2,0xe7,0x04,0xd5,0x9d,0xb5,0x37,0xaf,0x87,0x95,0x17,0xcb, 0x2e,0xc6,0x41,0xbe,0x24,0x9d,0xeb,0x19,0xfa,0x0c,0x7f,0x2a,0xec,0x31,0x10,0x5e, 0x00,0xc7,0x7a,0x37,0xb8,0x0d,0xff,0x00,0xd6,0xa0,0x07,0x2d,0xc4,0x12,0x9f,0x99, 0xdd,0x33,0xfd,0xe4,0xc8,0xfd,0x0d,0x00,0x45,0xa9,0x3c,0x7b,0x52,0x3b,0x67,0xf3, 0x71,0xcb,0x30,0x52,0x06,0x7d,0x39,0xa0,0x0b,0x9e,0x06,0xd3,0x1b,0x56,0xf1,0x8e, 0x8f,0x68,0x57,0x22,0x5b,0x94,0x04,0x7b,0x66,0x94,0xdd,0x90,0x1f,0xa8,0x9f,0x09, 0x75,0x04,0xd0,0xf4,0xdb,0xb2,0x08,0x53,0x2c,0x8a,0xa3,0xe8,0xa3,0x8f,0xe7,0x5c, 0x55,0x5e,0xa7,0x55,0x05,0xa1,0xe9,0x56,0xfe,0x2c,0x56,0xe8,0xc2,0xb2,0x36,0x35, 0x6d,0x75,0xf8,0xe6,0xc6,0xe2,0x0e,0x68,0x03,0x4e,0x39,0x56,0x65,0xdc,0x87,0xf0, 0xa0,0x07,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x7c,0x8f, 0xff,0x00,0x05,0x13,0xd7,0x1a,0x0f,0x05,0xf8,0x4f,0x48,0x82,0x4d,0x8f,0x73,0x7f, 0x25,0xd3,0x72,0x78,0x58,0xd3,0x00,0xf1,0xee,0xf5,0xb5,0x05,0x79,0x18,0xd7,0x7a, 0x1f,0x00,0xd9,0xdc,0x40,0xad,0x76,0xf3,0x47,0xe6,0x3f,0xcc,0x32,0xbf,0x30,0x77, 0xcf,0x73,0xf4,0xef,0x5d,0x77,0xb6,0xc7,0x29,0x0a,0x34,0x91,0xe9,0xd6,0xb1,0xce, 0x73,0x23,0x17,0x73,0x83,0x9c,0x73,0x8f,0xe9,0x4d,0x3b,0x89,0x8e,0x96,0x74,0x82, 0x2d,0xd3,0xbe,0xde,0x3a,0x9a,0x36,0x04,0x57,0x1a,0x84,0x32,0x8c,0xc4,0xea,0xc0, 0xf7,0x07,0xad,0x00,0xc7,0x24,0x82,0x51,0xc8,0x07,0x9e,0xb4,0xc4,0x85,0x03,0x68, 0x6d,0xa4,0xae,0xf1,0x86,0x00,0xe3,0x23,0xdf,0xd6,0x81,0xb0,0x9e,0xfa,0x79,0x9c, 0x79,0xf3,0xcb,0x21,0x0a,0x53,0x2e,0x72,0x71,0xd4,0x8c,0xf5,0xec,0x28,0x04,0xac, 0x56,0x76,0x20,0x7d,0x3b,0x52,0x18,0x82,0x61,0xb0,0x0d,0xa3,0x34,0xc0,0x6b,0xbe, 0x07,0x39,0xe2,0x80,0x1a,0x1b,0x23,0x9a,0x00,0x4d,0xdb,0xba,0x76,0xa0,0x0f,0x44, 0xfd,0x9f,0xf4,0xdf,0xed,0x2f,0x8a,0x3a,0x69,0x61,0x94,0x81,0x5e,0x53,0xf8,0x0a, 0x89,0xec,0x07,0xda,0x16,0xbe,0x2a,0x5b,0x09,0x9a,0xde,0x37,0x00,0x21,0xe4,0x7b, 0xd7,0x0c,0xf7,0x3b,0x29,0x2b,0x44,0xe9,0x34,0xcf,0x15,0x19,0x48,0xc3,0xfe,0xb5, 0x26,0x87,0x61,0xa3,0x6b,0x8f,0x2b,0x28,0x0c,0x68,0x03,0xd3,0x3c,0x3b,0x72,0xd3, 0x20,0xdc,0x7b,0x50,0x06,0xd9,0xeb,0x40,0x09,0x40,0x05,0x00,0x14,0x00,0x50,0x01, 0x40,0x05,0x00,0x7c,0x01,0xff,0x00,0x05,0x12,0xd6,0xde,0xf3,0xe2,0x4e,0x81,0xa7, 0x41,0x2f,0x97,0x1e,0x9b,0xa5,0x99,0x5c,0xee,0x23,0x0d,0x2b,0x9e,0x38,0xf5,0x09, 0x5d,0x14,0x16,0xe7,0x35,0x77,0xa9,0xf2,0x13,0xb4,0x2d,0xa3,0x48,0x6d,0x22,0xfd, 0xec,0x83,0xf7,0x60,0x8c,0x00,0x08,0xeb,0x9e,0xd8,0x3c,0xd7,0x46,0xc6,0x03,0xbe, 0xce,0xc6,0xe6,0xd6,0x09,0x9b,0xee,0x46,0x8a,0x4f,0xb9,0x19,0x3f,0xa9,0x34,0xee, 0x23,0xa4,0xf0,0xf6,0x91,0x61,0xab,0x6a,0x1a,0xdc,0x7a,0xb5,0xdd,0xc5,0x8c,0x56, 0x36,0x37,0x37,0x30,0x88,0x76,0xfe,0xf2,0x48,0xd7,0xe4,0x42,0x49,0x1d,0x4e,0x07, 0x19,0x3c,0xfe,0x23,0x96,0x52,0x6c,0xe8,0x4a,0xc7,0x99,0x6a,0x73,0x2a,0xeb,0x2a, 0x90,0x7c,0xb2,0x3c,0x45,0xe4,0x55,0x1d,0x70,0x70,0x0f,0xd4,0xff,0x00,0x4a,0xde, 0x9b,0xb9,0x9c,0xd5,0x8e,0x86,0xce,0xd8,0xc3,0xa7,0xc5,0x24,0x85,0xb7,0x48,0x4a, 0xa2,0xae,0x32,0x4d,0x39,0x4f,0x94,0x51,0x8d,0xc8,0xfc,0x59,0xa3,0x6a,0xde,0x14, 0xba,0x78,0xb5,0x48,0xae,0x6d,0x6e,0x23,0x55,0x91,0xed,0xae,0x42,0xe4,0xc6,0x7f, 0x89,0x48,0xeb,0xff,0x00,0xd6,0x3e,0x94,0xa1,0x52,0xe3,0x94,0x2c,0x50,0xb3,0x9e, 0x4b,0xb9,0x82,0xad,0x6a,0x41,0x72,0xe0,0xbc,0x44,0xaa,0x43,0x2c,0xa4,0x75,0xd9, 0x82,0x7f,0x2c,0xe4,0xfe,0x55,0x3c,0xc8,0x7c,0xac,0xa9,0x0d,0xf4,0x33,0xa0,0x31, 0xbe,0x73,0x54,0x22,0x60,0xca,0xc3,0x04,0xd0,0x02,0x10,0x01,0xc0,0x3c,0xd0,0x04, 0x7b,0xbd,0x31,0x9a,0x00,0xf7,0x4f,0xd9,0x43,0x4d,0xf3,0xbc,0x49,0xaa,0x5f,0x38, 0xc8,0x86,0x11,0x18,0x3e,0xe4,0xff,0x00,0xf5,0xab,0x2a,0x80,0x77,0x6f,0xe2,0xb7, 0xb9,0xd5,0xae,0x9c,0x31,0xc3,0x4c,0xc4,0x7d,0x33,0xc5,0x71,0x3d,0xce,0xd8,0xe8, 0xac,0x77,0xde,0x15,0xd5,0x9e,0xe0,0xae,0x4e,0x69,0x16,0x7b,0x3f,0x83,0xe2,0x6b, 0x86,0x8c,0x9f,0x6a,0x00,0xf6,0x9f,0x0f,0x5a,0xf9,0x36,0xc0,0x9f,0x4a,0x00,0xd6, 0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0xfc,0xc2,0xfd,0xb5, 0xf5,0x9f,0xed,0x5f,0x8e,0x3e,0x29,0xb9,0x76,0xff,0x00,0x46,0xb3,0x58,0x6c,0x76, 0xee,0x3f,0x30,0x44,0x5d,0xc3,0xf3,0x6e,0x95,0xd5,0x46,0x2b,0x94,0xe3,0xac,0xfd, 0xe3,0xc0,0xf5,0x0f,0xf4,0x8b,0x3b,0x58,0x6c,0x17,0x13,0xb4,0x80,0x33,0x11,0x8d, 0xa3,0x3c,0x63,0xd7,0x23,0x8c,0x56,0xd7,0xb1,0x9e,0xe3,0xe6,0x94,0x4b,0x7f,0x70, 0xd8,0xe0,0x31,0x03,0x3e,0x9d,0x05,0x31,0x14,0xf5,0xcb,0xf9,0xc3,0x7c,0x82,0xdd, 0xa6,0x60,0x32,0xcc,0x70,0x7e,0xa4,0x7a,0xd6,0x2e,0x9e,0xba,0x1a,0xa9,0xf7,0x32, 0x34,0xed,0x1d,0x62,0x96,0x6b,0xbb,0xb9,0x0d,0xc5,0xd4,0xd8,0xdc,0xe7,0xa0,0x03, 0xa0,0x03,0xb0,0x15,0xac,0x23,0x64,0x43,0x77,0x36,0xd6,0xee,0x3b,0x28,0x2d,0x8c, 0xc2,0x39,0x0d,0xb4,0x9b,0xc2,0x4c,0x09,0x47,0x19,0x07,0x07,0xdb,0x8f,0xc4,0x1a, 0xce,0xa2,0xea,0x5c,0x1f,0x43,0x3b,0xe2,0x47,0x8f,0x2e,0xfe,0x22,0xeb,0xd2,0x4d, 0x6f,0x6d,0x6f,0x14,0xd7,0x01,0x23,0x90,0x59,0xa3,0x2c,0x16,0xf1,0x28,0x03,0x6a, 0x02,0x4e,0x06,0x06,0x02,0x8e,0x06,0x7b,0x54,0x42,0x3a,0x95,0x37,0x64,0x4d,0xa4, 0x43,0xf6,0x7f,0x34,0xae,0x3c,0xdf,0x2d,0xb6,0x67,0xae,0x71,0xc5,0x6f,0x3d,0x8c, 0xe3,0xb9,0xbf,0x66,0x9e,0x1f,0x8b,0xe1,0xb6,0xa1,0x25,0xdc,0xb6,0x92,0x78,0x91, 0xef,0x62,0xfb,0x2a,0x29,0x94,0x4d,0x14,0x40,0x1f,0x30,0x9f,0xe0,0x2a,0x7e,0x5c, 0x77,0xc9,0x35,0xcd,0xad,0xcd,0x8f,0x3e,0xfb,0x4a,0xdd,0xea,0x57,0x73,0x5b,0xe3, 0x63,0xc8,0x32,0x57,0xa1,0x6c,0x0d,0xc7,0xfe,0xfa,0xcd,0x74,0xc3,0x63,0x19,0xee, 0x6a,0xc0,0x18,0x28,0x24,0x1a,0xb2,0x6c,0x4c,0xd8,0xc7,0x3d,0x68,0x02,0xbb,0x90, 0x0f,0x5a,0x00,0xfa,0x57,0xf6,0x69,0x87,0xfb,0x2f,0xc0,0x1a,0xfe,0xa8,0xe0,0x06, 0x66,0x7c,0x13,0xfe,0xca,0x1f,0xea,0x6b,0x0a,0x8e,0xc5,0x45,0x5d,0x94,0x74,0xa4, 0x69,0x25,0x4c,0x67,0x39,0xae,0x43,0xb0,0xf6,0x4f,0x02,0xd8,0x33,0x98,0xf2,0x0f, 0x38,0xa4,0x51,0xf4,0x7f,0x80,0xb4,0x93,0xb2,0x32,0x47,0xa5,0x00,0x7a,0xd5,0xb4, 0x42,0x08,0x15,0x40,0xc7,0x14,0x01,0x25,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00, 0x14,0x00,0xa0,0x85,0x39,0x63,0x80,0x39,0x24,0xd0,0x07,0xe3,0xe7,0xc6,0x5d,0x77, 0xfb,0x7b,0xc7,0x7e,0x20,0xd5,0x6e,0xdb,0xcc,0x8b,0x50,0xd5,0x66,0x92,0x34,0x2d, 0x9c,0xfc,0xec,0x14,0xe3,0xa7,0x41,0x5d,0x94,0xe3,0xa2,0x38,0x66,0xf5,0x67,0x1b, 0x29,0x13,0xea,0x9a,0x6f,0xd8,0xd0,0x47,0x1c,0x5f,0xbc,0x95,0xdb,0x82,0x48,0x19, 0x23,0xdf,0x90,0x4e,0x6b,0x42,0x48,0xf4,0xe4,0xdd,0x15,0xd4,0xce,0x33,0xb5,0x77, 0x63,0xea,0x40,0xfe,0xb4,0xa6,0xda,0x43,0x82,0xbb,0x37,0x7c,0x4f,0xf0,0xde,0x3d, 0x33,0xe1,0xf6,0x85,0xe2,0x2b,0xfb,0x8b,0x2b,0x91,0xab,0xcf,0x34,0x69,0x6b,0x00, 0x52,0xd0,0xac,0x61,0x4e,0x59,0xc1,0xe1,0x8e,0xef,0xbb,0xd4,0x60,0x67,0xae,0x2b, 0x9f,0x99,0xa6,0x6d,0x64,0xcf,0x3a,0xd0,0xe6,0x67,0x79,0x22,0x32,0x19,0x12,0x39, 0x5a,0x30,0xfe,0xb8,0x38,0xae,0xa4,0xee,0xae,0x62,0xf4,0x67,0x45,0x35,0x8d,0xcd, 0xd9,0x7b,0x7b,0x14,0x79,0x26,0x54,0x2c,0xcb,0x14,0x26,0x52,0xa0,0x75,0x24,0x0e, 0x80,0x77,0xa8,0x75,0x15,0xca,0x50,0x6c,0xe7,0x12,0xe6,0x5b,0x0b,0xcf,0x22,0xe5, 0x23,0x3b,0x86,0xe4,0x92,0x31,0x80,0xc3,0xbf,0x1d,0x8f,0xb5,0x54,0x64,0x9e,0xc2, 0x92,0xb1,0xad,0x09,0x69,0x50,0x95,0x0c,0x31,0xcf,0x1d,0x6a,0x9f,0x99,0x26,0x1e, 0xa7,0x6c,0x66,0x98,0xc7,0x75,0x77,0x71,0x14,0x6d,0xfc,0x3b,0x76,0x6e,0xfc,0x71, 0xcd,0x64,0xa9,0xa7,0xb1,0xa7,0x33,0x5b,0x9a,0xfe,0x1b,0xd0,0x53,0x55,0xd5,0x2c, 0x34,0x9d,0x2f,0x62,0x34,0xee,0x23,0x52,0x7a,0x2e,0x7a,0x93,0xf4,0x19,0x34,0xb1, 0x15,0x95,0x0a,0x52,0xa8,0xf6,0x48,0xea,0xcb,0xb0,0x53,0xc7,0x62,0x61,0x86,0x86, 0xf2,0x76,0x3e,0x85,0xd3,0x7e,0x08,0x58,0x5b,0xd8,0x23,0xdb,0xe8,0x33,0x6b,0x11, 0xed,0x05,0xae,0x24,0x99,0xf2,0x72,0x33,0xf7,0x55,0x80,0x1c,0x10,0x7b,0xe3,0x23, 0x9a,0xf8,0xf9,0xe6,0x58,0xea,0xaf,0x9a,0x1a,0x2f,0x23,0xf6,0xbc,0x37,0x0c,0x70, 0xf6,0x11,0x7b,0x1c,0x43,0xbc,0xb6,0xbc,0xaf,0xaf,0x4f,0x4d,0xce,0x2b,0xe2,0x2f, 0xc2,0x28,0xf4,0xdd,0x1e,0xe3,0x54,0xf0,0xe4,0x57,0x76,0x32,0xda,0xc6,0x66,0x9f, 0x4f,0xb8,0x25,0xc3,0x44,0x3a,0xbc,0x6c,0x79,0xe3,0xa9,0x07,0x3c,0x72,0x0d,0x77, 0xe5,0xd9,0xc5,0x57,0x51,0x51,0xc4,0x2d,0xf6,0x67,0xcf,0x71,0x3f,0x04,0xe1,0x69, 0xe1,0xe5,0x8c,0xcb,0x65,0x75,0x1d,0xd5,0xef,0xff,0x00,0x05,0x1e,0x34,0x97,0x3e, 0x67,0x2d,0x9e,0x6b,0xea,0x0f,0xc9,0xd9,0xf5,0x77,0xc3,0xe8,0xbf,0xb1,0xbe,0x01, 0xa1,0x1c,0x3d,0xdf,0x1f,0x5d,0xcf,0x8f,0xe4,0x2b,0x96,0xab,0x34,0xa4,0xbd,0xe0, 0xf0,0xbe,0x9a,0x67,0x9d,0x0e,0x2b,0x9d,0x9d,0x48,0xfa,0x03,0xc0,0x1a,0x19,0x26, 0x3c,0xaf,0xe9,0x48,0xa3,0xe8,0xdf,0x07,0xe9,0x42,0x08,0x10,0x91,0xd0,0x50,0x07, 0x56,0x4e,0x4d,0x00,0x25,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x01,0x87, 0xe3,0xbd,0x65,0x7c,0x3b,0xe0,0x8f,0x10,0x6a,0x92,0xb6,0xd1,0x67,0x61,0x3c,0xd9, 0xf4,0x2a,0x84,0x8a,0x04,0xf6,0x3f,0x1b,0x75,0x49,0x3c,0xab,0xf8,0x12,0xf7,0xe7, 0x91,0xb2,0xea,0xbb,0xb2,0x53,0x3c,0x9f,0xa6,0x73,0xd4,0x57,0x7a,0x47,0x03,0x2b, 0xbc,0x9b,0xf5,0x2b,0xd9,0xed,0xd4,0x45,0x69,0x1d,0xb9,0x58,0xd4,0xf0,0x58,0x93, 0x8c,0xe3,0xe8,0x69,0xa0,0x1b,0x68,0xed,0x04,0x6d,0xe5,0xa8,0x6d,0xca,0x43,0x29, 0xfe,0x21,0x4a,0x4a,0xea,0xc3,0x4e,0xcc,0xc0,0xd5,0x6f,0x6f,0x66,0x56,0xb6,0xb0, 0x5f,0x24,0x9c,0x8f,0x32,0x53,0xbb,0x66,0x7b,0x81,0xdc,0xd6,0x3e,0xcd,0x9a,0x73, 0xa2,0x4d,0x17,0x4a,0x4d,0x26,0xda,0x28,0xa2,0x25,0xf6,0x73,0xb9,0xb9,0xc9,0xea, 0x49,0xad,0xd6,0x88,0xc9,0x9d,0xb7,0x83,0xfe,0x22,0xa7,0x80,0xb5,0x6d,0x62,0xfe, 0x3b,0x74,0xbc,0xfb,0x7d,0x9c,0x96,0x85,0x5e,0x73,0x10,0x40,0xdc,0x90,0xd8,0x1c, 0x8c,0xf5,0x1c,0x67,0x03,0x91,0x5c,0xcd,0x74,0x66,0xe9,0xdc,0xf2,0xe4,0xbd,0x3a, 0xd6,0xb0,0x0d,0x90,0x2d,0x6b,0x6a,0xac,0xbe,0x76,0x38,0x91,0xdb,0x19,0xc7,0xa8, 0x18,0xad,0xa9,0x68,0x44,0xd9,0xd4,0x42,0xa1,0x2c,0xa0,0x4f,0x33,0xcb,0x12,0x4b, 0xb6,0x47,0x3f,0xc2,0x38,0xeb,0xf9,0x93,0x4a,0xa3,0xe8,0x10,0x35,0xbe,0x3b,0xe8, 0x7e,0x1f,0xf0,0x86,0xaf,0x7f,0x61,0xe1,0x1b,0xff,0x00,0xed,0x1d,0x2e,0x3b,0x55, 0x91,0x6e,0x0c,0xeb,0x2e,0xe9,0x30,0x48,0x39,0x5e,0x01,0x3f,0x29,0xc0,0xce,0x33, 0x8c,0xf6,0x19,0xc5,0xb4,0x5b,0x57,0x47,0x19,0xe1,0x6d,0x46,0xe3,0x4a,0xbc,0xb3, 0xbc,0xb6,0x6d,0x97,0x56,0xec,0xb2,0xa1,0x3c,0x80,0x47,0x38,0x35,0xb5,0x7a,0x51, 0xab,0x07,0x09,0x6c,0xd1,0x58,0x3c,0x54,0xf0,0xb5,0xa1,0x5e,0x9f,0xc5,0x17,0x74, 0x7b,0x9e,0x95,0xf1,0xba,0xde,0x28,0x91,0xd3,0x56,0xbd,0xd2,0x65,0x03,0x9b,0x69, 0x19,0xd9,0x17,0xd4,0x29,0xe4,0x11,0xc9,0xeb,0x5f,0x1d,0x53,0x2c,0xc5,0xe1,0xdd, 0xa9,0xea,0xbc,0xbf,0xc8,0xfd,0xe3,0x03,0xc6,0x19,0x0e,0x69,0x49,0x3c,0x74,0x54, 0x27,0xd6,0xeb,0xf1,0x4d,0x7f,0xc3,0x98,0xfe,0x35,0xf8,0xe5,0x36,0xbb,0xa5,0x49, 0x61,0xa7,0x91,0x71,0x23,0x42,0xd6,0xdf,0x6b,0x11,0x08,0xc2,0x46,0xc0,0x02,0x00, 0xe3,0x3c,0x0c,0x0e,0x2b,0xab,0x09,0x95,0xd7,0xa9,0x52,0x33,0xaf,0xa2,0x8f,0xde, 0x78,0xdc,0x41,0xc5,0x79,0x4e,0x17,0x09,0x57,0x0d,0x96,0x37,0x39,0x54,0xdf,0x7e, 0x55,0xe7,0xae,0xb7,0x3c,0x8d,0x61,0xe4,0x6d,0x18,0x24,0xe0,0x57,0xd5,0x9f,0x8b, 0x9f,0x5f,0xdf,0x59,0xff,0x00,0x65,0xfc,0x36,0xf0,0xd6,0x98,0xa3,0x05,0x82,0x12, 0x3e,0x8b,0xfe,0x26,0xb9,0x2a,0x33,0x6a,0x2b,0x56,0xcd,0xff,0x00,0x03,0x68,0xdb, 0xdd,0x09,0x5f,0x4a,0xc0,0xe9,0x47,0xd2,0x3f,0x0f,0xb4,0x3c,0x08,0xc9,0x5a,0x06, 0x7b,0x66,0x9d,0x6e,0x2d,0xad,0x54,0x01,0x82,0x68,0x02,0xcd,0x00,0x14,0x00,0x50, 0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x07,0x90,0xfe,0xd6,0x9a,0xd3,0x68,0x9f,0x00, 0x3c,0x54,0x62,0x38,0x9a,0xf2,0x38,0xec,0xa3,0xc1,0xea,0xd2,0x3a,0xae,0x3f,0x2c, 0xd5,0x43,0x56,0x88,0xa8,0xed,0x13,0xf2,0xb6,0x56,0x82,0x3d,0x60,0xa5,0xd7,0xef, 0x5a,0x35,0x50,0xcc,0xb9,0x6c,0x2f,0x38,0x1c,0xfa,0x1e,0xd5,0xdc,0x71,0x14,0x90, 0x4a,0x60,0xd4,0x26,0x91,0x56,0x34,0x9a,0x54,0x48,0xd0,0x76,0x50,0x09,0x3f,0xa8, 0x07,0x1e,0xf4,0x01,0x24,0xb0,0xa2,0x5a,0xc2,0xb2,0x1f,0xf5,0xc4,0xe7,0xa9,0xc0, 0x07,0x1d,0xba,0xfd,0x2b,0x39,0xca,0xda,0x22,0xe1,0x14,0xf5,0x65,0x2f,0x89,0xde, 0x10,0x1e,0x03,0xd5,0x6e,0x2d,0xa0,0xbd,0xb6,0x9a,0xe6,0xd1,0x51,0xe5,0x36,0xbb, 0xd5,0x0e,0xe0,0x09,0x46,0x56,0x00,0xab,0xae,0x79,0x18,0xe0,0x82,0x2a,0x69,0xcd, 0xdf,0x52,0xa7,0x15,0x6b,0xa2,0x86,0x8f,0x3c,0x97,0x0c,0x77,0x64,0x9c,0x66,0xb7, 0x7a,0x19,0x2d,0x48,0xb5,0x5b,0x77,0xbb,0x3f,0xbb,0x82,0xd6,0x6c,0x74,0x42,0xe4, 0x31,0xfc,0x48,0xc5,0x65,0xce,0x99,0xa7,0x23,0x2b,0xe9,0xfa,0x94,0x4f,0x08,0x58, 0xa3,0x31,0x91,0xf2,0x95,0x23,0x04,0x1f,0x4a,0xd5,0x23,0x32,0xd5,0xed,0xc3,0x43, 0x6f,0xb9,0x66,0x8e,0x20,0x7b,0x4b,0xd0,0xd4,0xca,0x37,0x2a,0x2e,0xc6,0x0b,0x69, 0xf2,0x6a,0xb3,0x46,0xda,0x85,0xd2,0xc9,0x6e,0x8d,0xbd,0x61,0x84,0x00,0xa4,0x8e, 0x84,0xfa,0xd4,0xc6,0x16,0xd4,0x72,0x9d,0xcf,0x68,0xf8,0x09,0xf0,0x2a,0xe7,0xe3, 0x37,0x88,0x2e,0xa0,0x8a,0xe8,0x69,0xba,0x55,0x8a,0x2b,0xde,0x5e,0x04,0xde,0xc3, 0x71,0x21,0x51,0x17,0xa1,0x63,0x83,0xd7,0x80,0x01,0x3e,0xd5,0xe4,0xe7,0x59,0xba, 0xcb,0xe9,0xab,0x2e,0x69,0x49,0xe8,0x8e,0xac,0x16,0x11,0xe2,0x24,0xee,0xec,0x96, 0xe7,0xd1,0xd7,0x5f,0xb1,0x07,0xc3,0xfb,0x8b,0x23,0x0a,0x6a,0x5e,0x2d,0xb5,0xb9, 0xe9,0xf6,0xb3,0x34,0x6e,0x03,0x7b,0xa6,0xc0,0x3f,0x0c,0x8a,0xf8,0xc7,0xc5,0x98, 0xe8,0xca,0xf3,0x82,0xb5,0xfb,0x33,0xdc,0x59,0x5d,0x06,0xac,0x9e,0xa7,0xcc,0x1f, 0x1b,0x3e,0x0b,0xea,0xdf,0x03,0xbc,0x47,0x0e,0x9d,0xab,0xcb,0x0d,0xfe,0x9d,0x7b, 0x19,0x96,0xc7,0x52,0x81,0x4a,0xa5,0xc2,0x03,0x82,0x0a,0x9f,0xba,0xc3,0x23,0x2b, 0xee,0x39,0x20,0xd7,0xda,0x64,0xf9,0xc5,0x3c,0xca,0x9b,0x94,0x55,0x9a,0xdd,0x1e, 0x26,0x33,0x09,0x2c,0x3c,0xac,0xce,0x43,0xc2,0x96,0x07,0x59,0xf1,0x16,0x99,0x66, 0xa0,0x9f,0x3a,0xe1,0x17,0x03,0xd3,0x35,0xec,0x37,0xa1,0xc2,0x7d,0x81,0xe2,0xab, 0x71,0x36,0xa3,0xa5,0xda,0x47,0xca,0xc1,0x0e,0x71,0xe9,0x93,0xfe,0x02,0xb8,0xea, 0xee,0x74,0x51,0x5a,0x1e,0x8d,0xe0,0x0d,0x0f,0x26,0x3f,0x97,0xd2,0xb3,0x3a,0x0f, 0xa4,0x7c,0x13,0xa3,0x88,0x62,0x42,0x57,0xa0,0xa0,0x0e,0xe0,0x8c,0x70,0x3a,0x0a, 0x00,0x4a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x0f,0x98,0x3f, 0xe0,0xa0,0x5a,0xab,0x43,0xf0,0xa3,0x47,0xd2,0xa2,0x6d,0xaf,0x7d,0xa9,0x87,0x3c, 0xe3,0xe5,0x89,0x19,0x8f,0xf3,0x15,0xa5,0x2f,0x88,0xca,0xb3,0xb2,0x3f,0x3a,0xa0, 0xba,0xb7,0x59,0xae,0xda,0x44,0x13,0x48,0x0b,0x02,0xdf,0x7b,0x7b,0x8c,0x72,0x7d, 0x78,0xae,0xcb,0x58,0xe3,0x6c,0xaf,0x6e,0xb2,0xa6,0x93,0x6c,0x97,0x5b,0x77,0xc9, 0x24,0x92,0x15,0x07,0x38,0x1c,0x00,0x3f,0x4a,0x60,0x2c,0xb7,0x0e,0x23,0x40,0x09, 0x57,0x84,0xee,0x8d,0xd7,0xaa,0x9f,0xff,0x00,0x58,0xac,0xa7,0x0b,0xea,0x8d,0x23, 0x2b,0x1c,0xbe,0xbd,0x2d,0xf7,0x89,0x2f,0x98,0x5d,0x34,0x82,0x37,0x97,0xce,0xb9, 0x9a,0x56,0xdc,0xf3,0x36,0x73,0xcf,0xd4,0xf2,0x4d,0x4c,0x22,0xef,0xa9,0x52,0x6a, 0xc6,0xb6,0x99,0x12,0xc1,0x0c,0xe8,0x08,0xcc,0x88,0x54,0x31,0xec,0x7f,0xcf,0x15, 0xa4,0xd5,0xd1,0x10,0xdc,0xe9,0xfc,0x47,0xf1,0x13,0x4a,0x6f,0x84,0x9a,0x4f,0x86, 0xc5,0x81,0xb4,0xbb,0xd3,0xee,0xe4,0xbb,0xb8,0xbe,0x93,0x6e,0x1c,0x1d,0xfd,0x0f, 0x5e,0x8c,0xa3,0x1f,0xec,0x75,0x39,0x00,0x61,0x6d,0x6e,0x6c,0x79,0x9e,0x88,0xef, 0x7a,0x0d,0xd4,0xa8,0x53,0xcf,0x91,0xa4,0x08,0xc3,0x9d,0xa4,0xf1,0xfe,0x35,0xd3, 0x1d,0x11,0x84,0xb7,0x3d,0x3f,0xe1,0xb7,0x80,0x5f,0xe2,0x57,0x8d,0x4e,0x85,0x6f, 0x7f,0xfd,0x9a,0xab,0x03,0xc8,0x6e,0x7c,0xad,0xff,0x00,0x77,0x03,0x9e,0x46,0x06, 0x4e,0x49,0x24,0x00,0x01,0xea,0x70,0x0e,0x12,0x93,0x6c,0xd9,0x24,0x91,0xe5,0xba, 0xd3,0xc7,0x6b,0xaa,0x5b,0x79,0x1b,0x44,0x92,0x97,0x47,0xf2,0xf8,0x57,0x03,0x04, 0x36,0x3f,0x3e,0x7b,0xf1,0x5a,0x53,0x6f,0x62,0x26,0xba,0x9e,0xf7,0xfb,0x2e,0x7c, 0x72,0xb3,0xf8,0x4d,0xae,0xdf,0xdb,0x78,0x90,0xca,0xba,0x26,0xac,0xb1,0x89,0x6e, 0x23,0x52,0xcd,0x6d,0x2a,0x67,0x6b,0xe3,0xa9,0x5c,0x31,0x07,0x1c,0xf7,0xaf,0x03, 0x88,0xf2,0x9a,0x98,0xda,0x71,0x9d,0x1f,0x8e,0x0f,0x4f,0x33,0xb7,0x2f,0xc5,0x2a, 0x12,0x6a,0x7b,0x33,0xec,0xdb,0x4f,0x8c,0x7e,0x16,0x9a,0xcb,0xed,0x96,0x9e,0x2a, 0xf0,0xdc,0xb6,0xa4,0x67,0xcc,0x37,0x71,0x0e,0x38,0xea,0x32,0x08,0xe8,0x3b,0x67, 0x8a,0xf8,0x45,0x3c,0x75,0x19,0x72,0x4a,0x9b,0xbf,0xf8,0x4f,0x6d,0xba,0x13,0xf7, 0x94,0xbf,0x13,0xe4,0xbf,0xda,0xf7,0xe3,0x7e,0x8d,0xf1,0x4a,0xef,0x44,0xd1,0x7c, 0x23,0x2a,0xea,0x16,0xba,0x54,0x93,0x4f,0x36,0xa0,0x8a,0x42,0x3c,0xb2,0x6d,0x1b, 0x53,0x3d,0x54,0x05,0xe4,0xf4,0x24,0xfb,0x57,0xd8,0x70,0xc6,0x5d,0x5e,0x83,0xa9, 0x88,0xae,0xac,0xe7,0xd0,0xf2,0xb3,0x2c,0x44,0x2a,0x72,0xc2,0x1a,0xa4,0x79,0xdf, 0xc0,0x9d,0x2c,0xdf,0x7c,0x48,0xd3,0x03,0x0c,0xac,0x1b,0xa6,0x3f,0x80,0xaf,0xac, 0x67,0x90,0x7d,0x59,0x1d,0x91,0xd4,0x3c,0x4b,0x2b,0x11,0x90,0x9b,0x63,0x1f,0x80, 0xae,0x29,0xbb,0xb3,0xb2,0x92,0xb4,0x4f,0x74,0xf8,0x7b,0xa1,0x73,0x19,0xdb,0xd2, 0xa4,0xd0,0xf7,0x7d,0x1a,0xd0,0x5a,0xda,0x2f,0x1c,0x91,0x40,0x17,0xa8,0x00,0xa0, 0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0xf8,0x73,0xfe,0x0a,0x2d, 0xae,0x35,0xc6,0xbb,0xe1,0x2d,0x1e,0x29,0x04,0x62,0xd6,0xda,0x6b,0xc7,0x62,0xc4, 0x60,0xbb,0x05,0x1d,0x3f,0xdd,0xad,0xe8,0x2b,0xb6,0xce,0x7a,0xec,0xf8,0x85,0x6e, 0xe1,0xfe,0xcb,0x9f,0xec,0xd0,0x86,0x99,0xc7,0xee,0xc1,0xe9,0xdf,0x27,0x3d,0x8e, 0x70,0x73,0x5d,0x3b,0x1c,0xcf,0x51,0xee,0x5a,0x35,0xb3,0x86,0x52,0x19,0xd6,0x15, 0xc9,0x1d,0xcb,0x7c,0xdf,0xd6,0x80,0x2c,0xd8,0xf8,0x5f,0x51,0xf1,0x54,0x9a,0x92, 0xe9,0x50,0xbc,0xe9,0xa7,0xdb,0xbd,0xcd,0xc1,0x12,0xf9,0x61,0x11,0x07,0x38,0xe4, 0x64,0xf0,0x70,0x39,0x27,0x07,0x02,0xb1,0x95,0x56,0x6c,0xa0,0xba,0x9c,0x4d,0xeb, 0xb6,0x9f,0x76,0x88,0x92,0xb3,0xc3,0x2a,0x92,0xbb,0xcf,0x2a,0x47,0x51,0x9e,0xfd, 0x45,0x69,0x09,0x73,0x2d,0x48,0x94,0x6c,0x6a,0xd9,0x92,0x2d,0x37,0xb2,0xef,0x07, 0xa0,0xce,0x01,0xa6,0xda,0x5b,0x89,0x2b,0x98,0xd7,0xf6,0xd0,0x2d,0xca,0x49,0x7d, 0x6d,0xfb,0xb2,0xc0,0x2b,0xee,0xde,0xa1,0xbb,0x7d,0x3f,0x11,0x51,0x1e,0x56,0xca, 0x77,0x48,0xb3,0x1c,0xea,0xd2,0x01,0x1f,0x61,0xd0,0x56,0xb6,0x20,0x5b,0xcd,0x4a, 0xfa,0xcd,0xf7,0xd9,0xee,0x12,0x32,0x94,0x2c,0x92,0x14,0x25,0x48,0xc1,0x07,0x1d, 0x46,0x38,0xac,0x9c,0x35,0xd0,0xd1,0x4b,0xa3,0x31,0xed,0xf4,0xf9,0xa5,0xba,0x6b, 0xbd,0x4a,0x45,0x69,0x4a,0xec,0x44,0x4e,0x91,0xaf,0xa0,0xff,0x00,0x1a,0xb8,0x46, 0xc4,0xc9,0xdd,0x9b,0x22,0xdb,0xc8,0x8d,0x55,0xc8,0x5d,0xdc,0xe5,0x86,0x4e,0x3d, 0x86,0x45,0x12,0x9a,0x43,0x51,0xb8,0xc9,0xb4,0x29,0x9a,0xe4,0x47,0xb0,0x34,0xed, 0x82,0x21,0x96,0x33,0x13,0xb7,0xd3,0x24,0xe7,0xdb,0xa6,0x6a,0x15,0x44,0xca,0xe4, 0x68,0x8e,0x09,0x90,0xa1,0x0a,0x0a,0x91,0xc1,0x52,0x39,0x06,0xb5,0x4b,0xb1,0x9b, 0x3d,0xbf,0xf6,0x60,0xd3,0x8d,0xd7,0x89,0xef,0xef,0x18,0x64,0x43,0x00,0x8c,0x13, 0xea,0xc7,0xfc,0x05,0x4c,0x84,0x7d,0x57,0xe1,0x1d,0x2b,0xed,0x37,0xef,0x29,0x1f, 0x7e,0x42,0x73,0xf8,0xd7,0x0b,0xd4,0xef,0x8a,0xb2,0x3e,0x8c,0xf0,0x2e,0x8b,0xe5, 0x47,0x19,0x2b,0x48,0x67,0xa2,0x85,0x08,0xa1,0x57,0xa0,0xa0,0x02,0x80,0x0a,0x00, 0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x01,0x47,0x5a,0x00,0xfc,0xeb,0xff,0x00, 0x82,0x85,0xc1,0x25,0xc7,0xc6,0x1b,0x30,0xcc,0x16,0x15,0xd2,0x23,0xc9,0x62,0x40, 0xc1,0x76,0xe3,0x8f,0x7a,0xde,0x82,0xbd,0xce,0x5a,0xdb,0x9f,0x24,0xdd,0xdc,0xac, 0xfa,0x6c,0x51,0xe9,0xf1,0x0f,0x31,0xdc,0x7c,0xf8,0xfb,0xab,0x91,0xd0,0xfd,0x32, 0x31,0x5d,0x3b,0x18,0xee,0x3f,0x53,0xb8,0x30,0xea,0x12,0x11,0xfc,0x07,0x60,0x23, 0xd1,0x78,0xfe,0x94,0x01,0x6f,0x4b,0xf8,0x8f,0xaa,0x78,0x4d,0x6e,0xd7,0x44,0xb9, 0x10,0xc5,0x72,0xc2,0x49,0x61,0x7b,0x74,0x98,0x33,0xed,0x65,0x0c,0x37,0x29,0xc1, 0xc3,0xb8,0x04,0x60,0x8d,0xc6,0xb9,0xe5,0x1b,0x69,0x63,0x64,0xd3,0x38,0x45,0x86, 0x7b,0xfb,0xc9,0x2e,0xae,0x93,0xca,0x89,0x57,0x64,0x31,0x93,0xc8,0x19,0xe4,0x9f, 0x73,0x5a,0xd3,0x56,0x22,0x6e,0xe7,0x53,0xa4,0xdc,0x59,0x2c,0xfa,0x51,0xd5,0x56, 0x47,0xd3,0xe3,0xb8,0x43,0x74,0x91,0xfd,0xe3,0x1e,0xe1,0xbb,0x1e,0xfb,0x73,0x8a, 0x9a,0x9b,0x95,0x02,0x4f,0x8d,0x1a,0xe6,0x81,0x7b,0xe2,0x5b,0xf7,0xf0,0x54,0x30, 0x45,0xa6,0xdc,0x24,0x51,0x44,0x90,0x42,0x61,0x47,0x93,0x6a,0xee,0x2a,0x87,0x95, 0x1b,0x81,0x3c,0xfa,0x66,0xa2,0x0a,0xcc,0xa9,0x3d,0x0c,0x0d,0x22,0x20,0x65,0x96, 0x49,0x41,0xda,0x8a,0x4e,0x3d,0x71,0x5d,0x12,0x76,0x46,0x31,0x57,0x67,0x55,0x71, 0xe0,0x0b,0xa9,0x3c,0x07,0xff,0x00,0x09,0x3c,0xf1,0xda,0x4b,0x6e,0x64,0x53,0xe5, 0xa3,0xc7,0xb9,0x22,0x2c,0xd1,0x96,0x6f,0x9b,0x78,0x3e,0x62,0x80,0x00,0x1c,0x8c, 0x9e,0xd5,0x87,0x33,0xb9,0xb5,0x96,0xc7,0x01,0x1d,0xce,0xcb,0xb9,0xe1,0x12,0x33, 0xa4,0x72,0x6d,0x05,0xba,0xe3,0x00,0x8c,0xfe,0x04,0x57,0x44,0x5d,0xd1,0x8c,0x95, 0x99,0xd3,0x68,0x3e,0x24,0x8b,0x43,0xf1,0x36,0x99,0xaa,0x4d,0x04,0x77,0x42,0xce, 0x68,0xe5,0x6b,0x77,0x38,0x0e,0x17,0xb0,0xcf,0xd3,0xf3,0xac,0x25,0x13,0x58,0xbb, 0xa3,0xa6,0xf8,0xe3,0xf1,0x77,0x4e,0xf8,0x83,0x7b,0xa6,0x5d,0x59,0xc7,0x2d,0x9c, 0x76,0x70,0x32,0x33,0x5c,0xe3,0x7b,0x33,0x36,0x78,0x20,0x9c,0x8f,0x41,0xea,0x4d, 0x4d,0xbb,0x0d,0x69,0xb9,0xe7,0x89,0x76,0xda,0x9d,0xcc,0xf7,0xae,0xa5,0x0d,0xc4, 0x86,0x42,0x0f,0x1d,0x7f,0xc7,0xaf,0xe3,0x5d,0x11,0xd8,0xc5,0xbb,0xb3,0xea,0x3f, 0xd9,0x57,0x4a,0xf2,0xf4,0x5b,0xdb,0xa6,0x5e,0x67,0xb9,0xda,0x0f,0xb2,0x8f,0xfe, 0xbd,0x67,0x53,0x44,0xc2,0x2a,0xed,0x1f,0x5d,0xfc,0x3e,0xd0,0xf7,0x18,0x89,0x5a, 0xe3,0x3b,0xcf,0xa0,0x7c,0x3d,0x62,0x2d,0x6d,0x54,0x91,0x83,0x8a,0x00,0xd5,0xa0, 0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x0f,0x81, 0xbf,0xe0,0xa4,0xba,0x0b,0xc5,0xe2,0xaf,0x0b,0xea,0xc8,0xac,0x22,0xb9,0xb1,0x92, 0xd9,0xd8,0x64,0x06,0x2a,0xd9,0xc1,0xfc,0x0d,0x6f,0x41,0xea,0xd1,0xcf,0x5c,0xf8, 0xcd,0x48,0x96,0xfb,0x4e,0x82,0xce,0x15,0x8d,0x11,0x81,0x91,0x8f,0x04,0xe3,0xb7, 0xb8,0xef,0xed,0x5d,0x28,0xe6,0xb1,0x56,0xeb,0xf7,0x92,0xb3,0xbe,0x7e,0x63,0x9a, 0x06,0x53,0x74,0xc1,0x39,0x19,0xc7,0xeb,0x40,0x10,0x4a,0x00,0x1c,0x8e,0x28,0x02, 0x36,0x88,0x32,0xed,0xf3,0x19,0x3d,0xd7,0x8a,0x4d,0x5c,0x69,0xd8,0xac,0x9a,0x4c, 0x09,0x72,0x26,0x90,0x99,0xa5,0x03,0x01,0x9c,0xe7,0x1f,0x4f,0x4a,0x51,0x8a,0x40, 0xe5,0x72,0xda,0x33,0x5b,0x92,0x50,0x03,0x90,0x41,0x07,0xb8,0xa6,0xd5,0xf4,0x04, 0xec,0xc6,0xea,0x7e,0x31,0xd6,0xa4,0xf0,0xe5,0xbe,0x81,0x11,0x9a,0x4d,0x36,0xde, 0xe1,0xee,0x62,0xb7,0x72,0xa1,0x16,0x56,0x00,0x16,0x24,0x72,0x78,0x1c,0x0e,0xd9, 0x38,0xc6,0x4d,0x67,0xca,0xf6,0x34,0xe6,0x46,0x06,0x9f,0xa7,0x4a,0x08,0x46,0x26, 0x59,0x9d,0xf7,0x31,0x51,0xf7,0x98,0xfa,0x56,0xd1,0x56,0x46,0x52,0x76,0xd5,0x9d, 0xaa,0x7c,0x2c,0xd4,0x2f,0x60,0x55,0xbe,0xb9,0xd3,0x6c,0xdc,0xff,0x00,0xcb,0x19, 0xdd,0x99,0x87,0xd7,0x68,0x20,0x50,0xd5,0xcf,0x9f,0xab,0xc4,0x98,0x68,0x3b,0x45, 0x39,0x79,0xa3,0x13,0x5a,0xf8,0x7b,0x73,0xe1,0x39,0x20,0x9b,0x55,0xb3,0x88,0xc3, 0x29,0x22,0x2b,0xb8,0x58,0x49,0x1b,0x9f,0x4d,0xdd,0x8f,0xb1,0xc1,0xa5,0x63,0xd0, 0xc0,0xe6,0x94,0x71,0x9f,0xc3,0x7a,0xae,0x8f,0x72,0x25,0x20,0x11,0x8e,0x07,0xa0, 0xaa,0x3d,0x03,0xed,0x3f,0xd9,0x9b,0x47,0x30,0xf8,0x37,0x4a,0x40,0x3e,0x69,0x83, 0xcc,0x7f,0x13,0x5c,0xd5,0x5e,0x85,0xd2,0x57,0x91,0xf6,0x4f,0x80,0x74,0x4d,0x89, 0x19,0x2b,0x5c,0xc7,0x69,0xea,0x71,0xc6,0x22,0x8d,0x55,0x7b,0x0a,0x00,0x5a,0x00, 0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0xf0,0x1f, 0xdb,0x63,0xe1,0x9c,0x9f,0x10,0xbe,0x0c,0x5d,0x5d,0x69,0xd0,0x99,0xb5,0x1d,0x11, 0xfe,0xdd,0x1a,0xa8,0xc9,0x68,0xf1,0x89,0x00,0xfc,0x39,0xff,0x00,0x80,0xd5,0xd3, 0x97,0x2c,0xae,0x67,0x56,0x37,0x47,0xe5,0xfb,0x5c,0xa4,0x7a,0x94,0xcf,0x1a,0x47, 0x0c,0x51,0xc6,0xe1,0x30,0x30,0x49,0x23,0x03,0x3e,0xfc,0xf5,0xae,0xdb,0x9c,0x66, 0x6b,0x9f,0x31,0xb8,0x39,0xf6,0xa9,0xb8,0xec,0x35,0xad,0x24,0x73,0xc6,0x71,0x4e, 0xe1,0x60,0x1a,0x5b,0xc8,0x70,0xdc,0x66,0x95,0xc2,0xc4,0xe9,0xe1,0xe2,0x57,0x27, 0x76,0x0f,0x7a,0x77,0x1d,0x88,0x67,0xd1,0x9a,0x2e,0x50,0x9e,0x3d,0x69,0x5c,0x2c, 0x53,0x7b,0x67,0x46,0xc3,0x0a,0x77,0x0b,0x11,0x4f,0x6b,0xb8,0x73,0x4e,0xe2,0x68, 0x93,0xc3,0xd7,0x91,0xe9,0x1a,0xdd,0xad,0xcd,0xd2,0x66,0x38,0xa4,0x0c,0x78,0xce, 0x3d,0xff,0x00,0x0e,0xbf,0x85,0x51,0xc7,0x8f,0xa3,0x2a,0xd8,0x79,0xd3,0x86,0xed, 0x1e,0xf1,0xe1,0x0f,0x18,0xf8,0x7f,0x4c,0xd2,0x92,0xdb,0xc4,0x3a,0x49,0xd5,0x21, 0x79,0xcc,0xce,0xf1,0x2c,0x6c,0x2e,0x10,0x94,0x23,0x2e,0x46,0xe5,0xda,0x15,0x80, 0x0a,0x70,0x7c,0xc3,0x9e,0x9c,0xa7,0x1b,0xf5,0x3e,0x2b,0x0d,0x5a,0x9d,0x18,0xfb, 0x2a,0xd0,0xd5,0x3d,0x4e,0x63,0xe2,0x16,0xbd,0xa4,0x36,0x99,0xe2,0x58,0xf4,0xd8, 0x16,0x0d,0x1e,0xea,0x05,0x5b,0x4b,0x43,0x9d,0xc9,0x26,0x01,0x4e,0xa4,0x92,0xca, 0xd9,0xcb,0x77,0xc1,0x3c,0x03,0x8a,0x4d,0x58,0xbc,0x24,0x79,0xb1,0xf1,0x96,0x1d, 0x59,0x5f,0xf0,0xeb,0x73,0xc6,0x2c,0x51,0xee,0xae,0x22,0x85,0x32,0xcc,0xec,0x11, 0x40,0xea,0x49,0xe2,0xa9,0x9f,0x7a,0x7e,0x92,0xfe,0xcf,0xfe,0x13,0x6b,0x6d,0x2e, 0xd2,0x32,0x9f,0x2d,0xb4,0x29,0x08,0xfa,0xe3,0x9a,0xe2,0xab,0x2b,0x9d,0x14,0x16, 0xec,0xfa,0xcb,0xc2,0xda,0x68,0xb5,0xb6,0x56,0x20,0x70,0x2b,0x23,0xa0,0xdd,0xa0, 0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80, 0x1b,0x24,0x69,0x34,0x4f,0x1c,0xc8,0xb2,0x46,0xea,0x55,0x91,0x86,0x43,0x03,0xd4, 0x11,0x40,0x1f,0x9a,0xbf,0xb5,0x1f,0xec,0x77,0xe2,0x6f,0x0a,0xf8,0xe6,0x6d,0x4b, 0xe1,0x86,0x87,0xa8,0x6b,0x7e,0x1f,0xd4,0xa4,0x32,0x47,0x15,0x84,0x46,0x46,0xb5, 0x73,0xc9,0x46,0x03,0x90,0x3d,0x0f,0x4c,0x56,0xb0,0xa9,0x6d,0x19,0x84,0xe9,0xf6, 0x3c,0xe7,0x49,0xfd,0x93,0x7e,0x25,0x5c,0x05,0x7b,0xef,0x0e,0xc9,0xa7,0x83,0xda, 0xf2,0x74,0x8c,0x8f,0xc3,0x24,0xd5,0xfb,0x54,0x4a,0xa4,0xd9,0xd5,0xd9,0xfe,0xc8, 0xbe,0x30,0x64,0x02,0x79,0x34,0xa8,0x8f,0xa1,0x95,0x9b,0xf9,0x2d,0x2f,0x6c,0x3f, 0x62,0xcb,0xa3,0xf6,0x43,0xf1,0x72,0x2e,0x62,0xbb,0xd2,0x18,0xfa,0x16,0x71,0xff, 0x00,0xb2,0xd2,0xf6,0xa3,0xf6,0x2f,0xb9,0x4e,0xf7,0xf6,0x5e,0xf1,0xed,0xaa,0x7e, 0xea,0xdf,0x4c,0xb8,0x03,0xb4,0x77,0x38,0x27,0xfe,0xfa,0x02,0x8f,0x6a,0x2f,0x64, 0xce,0x37,0x5e,0xf8,0x2b,0xe3,0x6d,0x15,0x4b,0xdf,0xf8,0x6f,0x50,0x31,0xaf,0x59, 0x20,0x51,0x28,0xff,0x00,0xc7,0x49,0xa6,0xa6,0x4f,0xb3,0x67,0x0b,0x7b,0xa3,0xbc, 0x72,0x34,0x73,0xc4,0xf1,0x48,0xbd,0x51,0xd4,0x82,0x3f,0x03,0x56,0xa6,0x88,0xb1, 0x9d,0x36,0x90,0xe3,0xa0,0xab,0x4e,0xe0,0x66,0x5e,0x69,0x44,0x82,0x0e,0x41,0xaa, 0x4c,0x9b,0x19,0x0c,0x6f,0x74,0xd2,0x45,0x9d,0xdd,0xc5,0xba,0x9e,0xab,0x1b,0x90, 0x0f,0xe1,0x4c,0xe6,0xad,0x84,0xa3,0x59,0xde,0xa4,0x53,0x33,0xa5,0x59,0x27,0xb8, 0x33,0xde,0xcf,0x2c,0xf2,0x0e,0x03,0xca,0xc5,0x88,0xfa,0x53,0xb1,0x74,0xa8,0x53, 0xa4,0xad,0x4e,0x29,0x1e,0xa1,0xfb,0x3c,0xf8,0x0e,0xe3,0xc7,0x7e,0x3c,0xb7,0x78, 0xa0,0x69,0x6d,0xac,0xdc,0x3e,0x31,0xc3,0xc8,0x7e,0xe8,0xfe,0xbf,0x85,0x67,0x56, 0x76,0x46,0xea,0x2d,0x9f,0xaa,0x5f,0x0c,0xfc,0x12,0xba,0x36,0x9d,0x6d,0x00,0x5c, 0x94,0x03,0x73,0x63,0xef,0x37,0x73,0x5c,0x6d,0xdc,0xed,0x8c,0x79,0x55,0x8f,0x59, 0x82,0x11,0x04,0x4a,0x8a,0x3a,0x0a,0x43,0x1f,0x40,0x05,0x00,0x14,0x00,0x50,0x01, 0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x10,0x19,0x48,0x6e, 0x86,0x80,0x32,0xae,0xfc,0x39,0x05,0xdb,0x96,0x60,0xa7,0x3e,0xb4,0x01,0x58,0x78, 0x3e,0xd9,0x4f,0x2a,0x94,0x00,0xf1,0xe1,0x4b,0x6c,0x7d,0xd5,0xa0,0x06,0x3f,0x84, 0x2d,0x9c,0x70,0xa9,0x40,0x14,0xee,0x3c,0x0b,0x04,0x83,0xe5,0x45,0xfc,0x28,0x03, 0x8c,0xf1,0x6f,0xc0,0xdd,0x0b,0xc5,0x30,0xb4,0x7a,0xee,0x93,0x65,0x7a,0x0f,0xf1, 0x4b,0x18,0xdc,0x3e,0x8d,0xd4,0x7e,0x74,0x05,0xae,0x78,0x07,0x8f,0x3f,0x62,0x7b, 0x29,0x0c,0x93,0x78,0x32,0xf2,0x6b,0x09,0x3a,0x8b,0x6b,0xac,0xc9,0x19,0xf6,0x0d, 0xf7,0x87,0xeb,0x56,0xa6,0xd1,0x9c,0xa9,0xa6,0x7c,0xdf,0xf1,0x07,0xe0,0x8f,0x88, 0xbc,0x0e,0xec,0x35,0xfd,0x36,0x58,0x63,0x07,0x0b,0x73,0x10,0xdf,0x13,0x7d,0x18, 0x7f,0x23,0x83,0x5a,0xc6,0xa5,0xcc,0xa5,0x4d,0xa3,0xc6,0xf5,0xed,0x39,0xad,0x0b, 0x79,0xaa,0x47,0xd6,0xb5,0x8c,0xae,0x66,0xd1,0x8b,0xe1,0x4f,0x07,0xeb,0x3f,0x10, 0x3c,0x4f,0x6d,0xa1,0x78,0x56,0xd2,0x5b,0xdb,0xeb,0x87,0x0a,0xa9,0x1a,0x93,0xb4, 0x77,0x27,0xd0,0x51,0x2a,0x8a,0x2b,0x50,0x50,0xb9,0xfa,0xa5,0xfb,0x35,0xfe,0xcd, 0x16,0x9f,0x09,0x3c,0x35,0x6d,0x04,0xc8,0xb3,0x6a,0x6e,0xa1,0xa7,0x9b,0x1d,0x18, 0xf5,0xc1,0xfe,0xb5,0xc6,0xe4,0xe5,0xab,0x3a,0xa1,0x0e,0x53,0xe8,0xeb,0x0d,0x3d, 0x2c,0x63,0x01,0x40,0xdc,0x29,0x16,0x5a,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0, 0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80, 0x0a,0x00,0x28,0x00,0xa0,0x05,0xce,0x3a,0x50,0x01,0x9c,0x8e,0x7f,0x5a,0x00,0x86, 0x6b,0x48,0xa7,0x18,0x91,0x07,0xd6,0x80,0x31,0x75,0x5f,0x06,0xd9,0xea,0x90,0x49, 0x0d,0xc4,0x30,0xcd,0x0c,0x80,0xab,0xc7,0x22,0x86,0x56,0x1e,0x84,0x1e,0xb4,0x01, 0xf3,0x47,0xc5,0x1f,0xf8,0x27,0xef,0x87,0x7c,0x75,0x7e,0x2e,0x7c,0x37,0xaa,0xdd, 0xf8,0x64,0xbb,0x66,0x58,0x23,0x84,0x4f,0x11,0x1f,0xec,0x82,0x41,0x5f,0xcc,0x8a, 0xb5,0x36,0x8c,0xdd,0x34,0xcf,0x55,0xf8,0x21,0xfb,0x30,0x78,0x43,0xe0,0x66,0x93, 0xf6,0x7f,0x0b,0xda,0x19,0x6f,0xa5,0x03,0xed,0x3a,0x9d,0xd6,0x1a,0x79,0xcf,0xb9, 0xfe,0x11,0xec,0x38,0xa8,0x7a,0xbb,0xb2,0xd2,0x4b,0x63,0xd7,0xa1,0x85,0x20,0x5d, 0xb1,0x28,0x1e,0xf4,0x0c,0x7d,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00, 0x50,0x01,0x40,0x0b,0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01, 0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01, 0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01, 0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x01,0xb4,0xfa,0x50,0x02,0xed,0x3e,0xf4,0x00, 0x9b,0x4f,0xa5,0x00,0x1b,0x4f,0xa5,0x00,0x1b,0x4f,0xa5,0x00,0x1b,0x4f,0xa5,0x00, 0x1b,0x4f,0xa5,0x00,0x1b,0x4f,0xa5,0x00,0x1b,0x4f,0xa5,0x00,0x1b,0x4f,0xa5,0x00, 0x1b,0x4f,0xa5,0x00,0x1b,0x4f,0xa5,0x00,0x7f,0xff,0xd9 }; /* created by reswrap from file cy_secoder_s.jpg */ const unsigned char fxcj_icon_cy_secoder_s[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x01,0x2c, 0x01,0x2c,0x00,0x00,0xff,0xe1,0x00,0x16,0x45,0x78,0x69,0x66,0x00,0x00,0x4d,0x4d, 0x00,0x2a,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe2,0x1c,0x6d, 0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46,0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00, 0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10,0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47, 0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce,0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31, 0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53,0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45, 0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01,0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50, 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65, 0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00,0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00, 0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b,0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00, 0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00,0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58, 0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00,0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00, 0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d,0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00, 0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00,0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75, 0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00,0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00, 0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75,0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00, 0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00,0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65, 0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00,0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00, 0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54,0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00, 0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00,0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65, 0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20, 0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38,0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74, 0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47, 0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49, 0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16, 0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f, 0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03,0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7,0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6, 0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43, 0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e, 0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45, 0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63, 0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43, 0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75, 0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70, 0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20, 0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73, 0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56, 0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e, 0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65, 0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f, 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31, 0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76, 0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00, 0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00,0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00, 0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00, 0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d,0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00, 0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, 0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00, 0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00, 0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00, 0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00, 0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00, 0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00, 0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01, 0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01, 0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01, 0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01, 0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02, 0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02, 0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02, 0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02, 0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03, 0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03, 0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04, 0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04, 0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04, 0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05, 0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05, 0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06, 0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06, 0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07, 0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08, 0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08, 0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09, 0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a, 0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a, 0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b, 0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c, 0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d, 0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d, 0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e, 0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f, 0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10, 0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11, 0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12, 0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13, 0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14, 0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15, 0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16, 0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17, 0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18, 0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a, 0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b, 0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c, 0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d, 0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f, 0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20, 0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21, 0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23, 0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24, 0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26, 0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27, 0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29, 0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a, 0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c, 0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e, 0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f, 0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31, 0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33, 0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35, 0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36, 0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38, 0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a, 0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c, 0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e, 0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40, 0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42, 0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44, 0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46, 0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49, 0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b, 0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d, 0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f, 0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52, 0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54, 0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56, 0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59, 0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b, 0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e, 0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60, 0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63, 0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66, 0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68, 0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b, 0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e, 0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71, 0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74, 0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76, 0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79, 0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c, 0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f, 0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82, 0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86, 0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89, 0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c, 0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f, 0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92, 0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96, 0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99, 0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c, 0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0, 0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3, 0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7, 0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab, 0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae, 0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2, 0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6, 0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9, 0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd, 0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1, 0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5, 0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9, 0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd, 0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1, 0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5, 0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9, 0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd, 0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1, 0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6, 0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea, 0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee, 0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3, 0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7, 0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc, 0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0xff,0xdb,0x00,0x43,0x00, 0x03,0x02,0x02,0x03,0x02,0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08, 0x05,0x05,0x04,0x04,0x05,0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b, 0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13, 0x15,0x15,0x16,0x17,0x16,0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15, 0xff,0xdb,0x00,0x43,0x01,0x03,0x03,0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15, 0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0xff,0xc0,0x00,0x11,0x08,0x00,0x28,0x00,0x28,0x03,0x01, 0x11,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xc4,0x00,0x1c,0x00,0x00,0x01,0x04, 0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x02,0x05, 0x06,0x08,0x00,0x03,0x04,0x09,0xff,0xc4,0x00,0x2c,0x10,0x00,0x02,0x02,0x02,0x01, 0x03,0x02,0x04,0x06,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x05, 0x11,0x06,0x00,0x12,0x21,0x13,0x31,0x07,0x14,0x41,0x51,0x15,0x22,0x23,0x32,0x61, 0x71,0x42,0x81,0x91,0xff,0xc4,0x00,0x17,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x02,0xff,0xc4,0x00, 0x20,0x11,0x00,0x02,0x02,0x02,0x02,0x02,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01,0x02,0x03,0x11,0x31,0x04,0x32,0x12,0xb1,0x21,0x22,0x41,0xff, 0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x3f,0x00,0xf5,0x4f,0xa0, 0x04,0x99,0xbe,0x62,0x72,0x7c,0xe7,0x91,0xd2,0x9a,0xbf,0xaf,0x4b,0x06,0xf5,0xa9, 0x45,0xe9,0xcc,0xd1,0x30,0xb0,0xf0,0xfa,0xf2,0xb6,0xc7,0xd9,0x24,0xae,0x07,0xd7, 0xc9,0xf3,0xe7,0xae,0xa1,0x1f,0x27,0x83,0x89,0xcf,0xc5,0x64,0x8a,0x5f,0xf8,0x90, 0x78,0xec,0x8b,0xf3,0x19,0x5c,0xe2,0x39,0x72,0x07,0x70,0x79,0x08,0x1f,0xc1,0x69, 0x8a,0x9f,0xec,0xa1,0xeb,0x65,0xc6,0x9b,0xd1,0x93,0xe4,0xc1,0x6c,0xe8,0x3f,0x1f, 0x28,0xe2,0xf0,0x92,0x65,0xe7,0xe5,0x16,0xac,0x57,0xa5,0x6a,0x9c,0x77,0x45,0xcc, 0x78,0x44,0x48,0xe6,0xb3,0x1c,0x5b,0xda,0xc6,0x36,0x74,0xe7,0x5a,0x27,0xc8,0xde, 0xb5,0xd7,0x16,0x53,0x2a,0xfb,0x23,0xba,0xee,0x8d,0x9d,0x58,0x7e,0xeb,0x23,0x53, 0x3a,0x00,0x42,0xf7,0xe0,0xc6,0xe7,0xf3,0x12,0x55,0xe3,0x96,0x2e,0xc7,0x94,0xc8, 0x4f,0x62,0x69,0xe0,0x30,0x15,0x59,0x22,0x55,0xae,0x76,0xaf,0x20,0x62,0x4f,0xa0, 0x9e,0x55,0x48,0xfc,0xc3,0x7d,0x54,0xda,0xd1,0x1a,0x4f,0x64,0x72,0xd3,0xf1,0xae, 0x41,0x25,0x11,0x9e,0xe3,0x59,0xaa,0xb6,0x6e,0xcc,0xd0,0x2a,0xfc,0x95,0x82,0x22, 0xd1,0xf0,0xce,0xf1,0x02,0x88,0x0e,0xc7,0x92,0x75,0xe7,0xec,0x09,0xeb,0x48,0xdf, 0x38,0xe9,0x99,0xca,0x88,0x4b,0x68,0x17,0xfc,0x59,0xe0,0x78,0x8e,0x69,0xc2,0x68, 0x60,0xbe,0x15,0x09,0x6f,0x8c,0xb7,0x22,0xa0,0xb9,0x38,0xcc,0xbd,0xa6,0x1a,0xb0, 0x49,0xdf,0x2b,0x1e,0xfd,0x15,0xed,0x0c,0xad,0xaf,0x73,0xe3,0x43,0x7a,0xea,0x5b, 0x74,0xad,0x5f,0x62,0xd7,0x44,0x6a,0xeb,0xfa,0x5c,0xd8,0x26,0x5b,0x10,0xc7,0x2a, 0x7e,0xd7,0x50,0xc3,0xfd,0xf5,0x99,0xa0,0x9b,0xb6,0xe2,0xc7,0xd3,0x9e,0xd5,0xb6, 0xec,0x82,0x08,0xda,0x59,0x1b,0xec,0xa0,0x6c,0x9f,0xf8,0x3a,0x02,0xb6,0x49,0x52, 0xeb,0x9b,0x17,0xee,0x60,0x60,0x9a,0x78,0xb1,0xca,0x9e,0xbe,0x3f,0x30,0xf0,0x59, 0x96,0x56,0x03,0xd4,0x0f,0xfb,0x15,0x0e,0xd9,0xcf,0x77,0x79,0x23,0xb7,0xdc,0x13, 0xe0,0x05,0x53,0x49,0x31,0x56,0x71,0x88,0xb5,0xf9,0xde,0x1e,0xad,0x2c,0x7b,0xb7, 0xe5,0x64,0xbe,0x80,0x90,0x4f,0x61,0x1f,0xac,0xee,0xeb,0xbd,0x0d,0x1f,0xf0,0x50, 0x3b,0x87,0x40,0x48,0xbe,0x1a,0x49,0xf8,0xd5,0xb8,0x2c,0x64,0xad,0xe5,0x6f,0x34, 0x38,0xa9,0x1b,0xbb,0x2d,0x53,0xe5,0xac,0x29,0x9e,0x55,0x0a,0xac,0x9d,0xab,0xa2, 0xa6,0xab,0x8d,0xf6,0x8d,0xef,0xc7,0x8f,0x7e,0x21,0x05,0x05,0x85,0xef,0x3e,0xca, 0xde,0x43,0x17,0x1c,0x90,0xbe,0x26,0x10,0x7d,0xd0,0x76,0xf5,0xd9,0x04,0xf2,0xbc, 0x74,0xd9,0x8e,0x31,0x97,0xa1,0x4d,0x91,0x67,0xb5,0x52,0x58,0x50,0xb9,0xd0,0xdb, 0x29,0x03,0x67,0xe9,0xef,0xef,0xd0,0x15,0xc3,0x2f,0x1f,0x11,0x8e,0xce,0x41,0x79, 0x0f,0x19,0x97,0x1d,0x66,0xe4,0x81,0xec,0x4a,0x98,0xd2,0xcf,0x33,0x82,0x48,0x66, 0x92,0x00,0xc4,0x9f,0x27,0xc9,0x3f,0x53,0xd0,0x1b,0x62,0xb9,0xc3,0xec,0xc9,0x6d, 0xa9,0x72,0xdb,0x78,0xab,0x56,0x60,0x58,0x08,0x97,0x2f,0x22,0x34,0x60,0x15,0xd1, 0x48,0xa7,0x62,0xaa,0x7f,0x2e,0xb6,0x17,0xce,0xce,0xfd,0xfa,0x8d,0x65,0x61,0x82, 0x59,0xc0,0xe4,0x59,0xa6,0xc8,0x5b,0x86,0xfc,0xb9,0x58,0x94,0xc5,0x46,0x2b,0xee, 0x51,0xbe,0x61,0x22,0x4d,0x96,0xda,0x00,0xa7,0xf5,0x24,0x90,0x12,0xa0,0x0d,0xa9, 0xe8,0x96,0x3e,0x00,0x5c,0xe3,0x51,0xba,0x63,0xcf,0xa8,0x35,0xb6,0xd8,0xea,0x81, 0xd9,0x86,0xd4,0x81,0xf5,0x1d,0x00,0x36,0xbf,0xc4,0x72,0x22,0x67,0x26,0x04,0x95, 0x36,0x74,0x7f,0x8e,0x80,0x6b,0x9f,0x8d,0x6b,0x62,0xd6,0x31,0x5b,0xfb,0x8c,0x1e, 0x80,0x79,0xe3,0x78,0x96,0xb5,0x6d,0x13,0xd2,0x31,0xc3,0x18,0x1e,0x35,0xa0,0x07, 0xdb,0xa0,0x08,0x71,0xa2,0xc6,0x81,0x50,0x68,0x0e,0x80,0xff,0xd9 }; /* created by reswrap from file cy_secoder_n.jpg */ const unsigned char fxcj_icon_cy_secoder_n[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x01,0x01,0x01,0x2c, 0x01,0x2c,0x00,0x00,0xff,0xe1,0x00,0x16,0x45,0x78,0x69,0x66,0x00,0x00,0x4d,0x4d, 0x00,0x2a,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xe2,0x1c,0x6d, 0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46,0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00, 0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10,0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47, 0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce,0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31, 0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53,0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45, 0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01,0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50, 0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00,0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65, 0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00,0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00, 0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b,0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00, 0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00,0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58, 0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00,0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00, 0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d,0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00, 0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00,0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75, 0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00,0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00, 0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75,0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00, 0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00,0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65, 0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00,0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00, 0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54,0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00, 0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00,0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65, 0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f,0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20, 0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38,0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74, 0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64,0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47, 0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49, 0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3,0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16, 0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f, 0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03,0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7,0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24,0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6, 0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43, 0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e, 0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45, 0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63, 0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43, 0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75, 0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70, 0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20, 0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73, 0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56, 0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e, 0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65, 0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f, 0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31, 0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76, 0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00,0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00, 0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00,0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00, 0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00, 0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d,0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00, 0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00, 0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00, 0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00, 0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00, 0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00, 0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00, 0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00, 0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01, 0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01, 0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01, 0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01, 0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02, 0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02, 0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02, 0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02, 0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03, 0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03, 0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04, 0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04, 0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04, 0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05, 0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05, 0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06, 0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06, 0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07, 0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08, 0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08, 0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09, 0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a, 0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a, 0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b, 0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c, 0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d, 0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d, 0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e, 0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f, 0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10, 0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11, 0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12, 0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13, 0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14, 0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15, 0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16, 0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17, 0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18, 0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a, 0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b, 0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c, 0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d, 0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f, 0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20, 0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21, 0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23, 0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24, 0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26, 0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27, 0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29, 0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a, 0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c, 0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e, 0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f, 0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31, 0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33, 0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35, 0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36, 0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38, 0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a, 0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c, 0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e, 0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40, 0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42, 0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44, 0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46, 0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49, 0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b, 0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d, 0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f, 0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52, 0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54, 0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56, 0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59, 0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b, 0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e, 0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60, 0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63, 0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66, 0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68, 0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b, 0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e, 0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71, 0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74, 0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76, 0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79, 0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c, 0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f, 0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82, 0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86, 0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89, 0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c, 0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f, 0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92, 0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96, 0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99, 0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c, 0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0, 0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3, 0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7, 0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab, 0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae, 0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2, 0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6, 0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9, 0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd, 0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1, 0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5, 0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9, 0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd, 0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1, 0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5, 0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9, 0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd, 0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1, 0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6, 0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea, 0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee, 0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3, 0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7, 0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc, 0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0xff,0xdb,0x00,0x43,0x00, 0x03,0x02,0x02,0x03,0x02,0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08, 0x05,0x05,0x04,0x04,0x05,0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b, 0x0c,0x0c,0x0e,0x0f,0x14,0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13, 0x15,0x15,0x16,0x17,0x16,0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15, 0xff,0xdb,0x00,0x43,0x01,0x03,0x03,0x03,0x05,0x04,0x05,0x0a,0x05,0x05,0x0a,0x15, 0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0xff,0xc0,0x00,0x11,0x08,0x00,0x64,0x00,0x64,0x03,0x01, 0x11,0x00,0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xc4,0x00,0x1d,0x00,0x00,0x01,0x04, 0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x05, 0x06,0x07,0x01,0x02,0x04,0x08,0x09,0xff,0xc4,0x00,0x3e,0x10,0x00,0x01,0x03,0x04, 0x00,0x04,0x03,0x06,0x03,0x06,0x02,0x0b,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04, 0x00,0x05,0x06,0x11,0x07,0x12,0x21,0x31,0x13,0x41,0x51,0x08,0x14,0x22,0x61,0x71, 0x81,0x15,0x32,0x91,0x16,0x42,0x72,0x92,0xa1,0xb1,0x52,0xa2,0x09,0x24,0x25,0x35, 0x36,0x53,0x64,0x83,0x93,0xa3,0xb2,0xff,0xc4,0x00,0x19,0x01,0x01,0x00,0x03,0x01, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x04, 0x03,0x05,0xff,0xc4,0x00,0x23,0x11,0x01,0x01,0x00,0x01,0x04,0x02,0x02,0x03,0x01, 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x02,0x03,0x04,0x11,0x31,0x12,0x41, 0x13,0x51,0x14,0x81,0xa1,0x22,0x61,0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11, 0x03,0x11,0x00,0x3f,0x00,0xfa,0xa7,0x40,0x50,0x14,0x10,0xce,0x27,0x5f,0x27,0x5b, 0x60,0xd9,0xad,0xf6,0x39,0x2a,0x87,0x3a,0xf3,0x72,0x6e,0x0a,0x24,0xa1,0x29,0x52, 0x9a,0x40,0x42,0xdd,0x75,0x49,0x0a,0x04,0x73,0x78,0x6c,0xac,0x02,0x41,0xd1,0x20, 0xd0,0x32,0x23,0x17,0xc9,0x21,0x74,0xb6,0xe7,0x99,0x10,0x4e,0xc9,0x0d,0x4b,0x62, 0x23,0xe9,0xfd,0x4b,0x21,0x7f,0xe6,0xa0,0x62,0x57,0x11,0xf2,0x0b,0x6b,0xb2,0x5a, 0x56,0x63,0x86,0xca,0x4c,0x57,0x1d,0x69,0xef,0x7d,0xb4,0x3e,0xc1,0x6d,0x4d,0xf2, 0xf3,0xf3,0xba,0x1f,0xe4,0x1a,0xe7,0x47,0x5e,0x50,0x3e,0x21,0x40,0xf0,0xc7,0x12, 0x72,0xd6,0xe4,0x18,0xee,0x59,0x70,0xeb,0x93,0x89,0x25,0x24,0x41,0xc8,0x14,0x87, 0x09,0x1b,0xd8,0xf0,0xd4,0xc6,0x87,0x63,0xfb,0xfe,0x46,0x83,0xa8,0xf1,0x7e,0x7c, 0x45,0x72,0xdd,0xb0,0x3c,0xad,0xb0,0x3b,0xbd,0x11,0xc8,0x72,0x1b,0xfb,0x69,0xf0, 0xb3,0xfc,0x94,0x0b,0x37,0xc7,0x6c,0x61,0x27,0x57,0x26,0x72,0x6b,0x62,0xbc,0xfd, 0xf2,0xc3,0x35,0x28,0x1f,0xf7,0x03,0x45,0x1f,0xe6,0xa0,0x7d,0xc6,0x78,0x97,0x8a, 0xe6,0x73,0x5d,0x85,0x8b,0x64,0x16,0xab,0x94,0xe6,0x9b,0xf1,0x5c,0x88,0xc3,0xe9, 0x2e,0xb6,0x8d,0xeb,0x6a,0x47,0xe6,0x03,0x7e,0xa2,0x82,0x4d,0x40,0x50,0x14,0x05, 0x01,0x40,0x50,0x79,0x3e,0xd5,0x31,0xdc,0xfb,0xdb,0xff,0x00,0x2d,0x78,0xba,0xe2, 0xed,0xd8,0x5e,0x33,0x1a,0xde,0x84,0x05,0x1e,0x41,0x21,0xf3,0xe2,0x95,0x6b,0xb7, 0x37,0x2b,0x8b,0x4e,0xfe,0x5a,0xa8,0x16,0x4a,0x73,0x7b,0xf2,0xf9,0x9f,0x8e,0x6d, 0x2e,0xc7,0x5a,0x8a,0xd0,0x87,0x18,0x58,0x50,0x41,0xec,0x39,0x82,0xfd,0x35,0xe5, 0x5a,0x66,0x8c,0xac,0xf7,0x5a,0xca,0x67,0x9b,0x93,0xc4,0x32,0xf9,0xaf,0x18,0xad, 0xad,0xd7,0x1d,0x25,0x4b,0x5c,0x79,0x45,0xbf,0x10,0xec,0x12,0x54,0x9e,0x4d,0x13, 0xbd,0x1e,0xa6,0x9f,0x8f,0xf5,0x4f,0xc8,0xfb,0x86,0x59,0xf9,0x0e,0x11,0x62,0x70, 0x48,0x56,0x39,0x7c,0x80,0xf2,0x94,0xb2,0x0c,0x62,0xdb,0xa9,0x49,0x5a,0x79,0x55, 0xa0,0x56,0x7a,0x68,0x68,0x0d,0x68,0x79,0x01,0x49,0xb6,0xce,0xf4,0x5d,0xce,0x13, 0xb6,0x59,0xe2,0x5f,0x0e,0x64,0x45,0x31,0x67,0xdd,0xee,0x31,0x76,0x17,0xb5,0x48, 0x82,0xfb,0x2e,0x0e,0x60,0x46,0xfc,0x54,0xa0,0x75,0x00,0x9d,0x1e,0x6d,0xfc,0xfa, 0x54,0x5d,0xb6,0xa4,0xf4,0x99,0xb9,0xd3,0xfb,0x4d,0x6d,0x3c,0x4d,0xc2,0xee,0xcb, 0x6a,0x3d,0xab,0x2a,0xb0,0x48,0x79,0x5a,0x42,0x18,0xf7,0xe6,0xfc,0x55,0x1e,0xc0, 0x72,0x93,0xcc,0x4f,0xda,0xa9,0x96,0x96,0x73,0xb8,0xe9,0x35,0x70,0xbd,0x54,0x66, 0xfb,0x94,0x59,0x6d,0x5e,0xd3,0xfc,0x3a,0x81,0x7a,0xba,0x42,0xb6,0x3f,0xf8,0x45, 0xc8,0xb0,0x87,0xdc,0x08,0x54,0xa7,0x9e,0x72,0x3b,0x6d,0x34,0x9f,0x52,0x79,0x5d, 0x3c,0xbe,0x65,0x23,0xd2,0xb9,0xae,0xf4,0x4d,0x01,0x40,0x50,0x14,0x05,0x01,0x41, 0xe3,0xbf,0x64,0x88,0xb7,0x0b,0xf5,0xc7,0x8f,0x19,0xa4,0x88,0xee,0xb3,0x73,0xbe, 0x65,0x73,0x22,0x30,0xd3,0xe3,0x91,0x6d,0xa6,0x3f,0x30,0x42,0x0e,0xfb,0x68,0xb9, 0xca,0x7f,0x86,0x90,0xab,0x7d,0x58,0xdd,0xc2,0x33,0x49,0x40,0x86,0xef,0x2a,0x06, 0x80,0x47,0xc5,0xfd,0xab,0x64,0xd4,0xc7,0xed,0x8a,0xe9,0xe5,0xf4,0x8a,0x64,0x90, 0x84,0x56,0x8a,0xee,0x70,0xdd,0x25,0x3f,0x95,0x2e,0x36,0x47,0xce,0xba,0xe1,0x65, 0xe9,0xcf,0x29,0x67,0x71,0x54,0x5e,0x61,0xb1,0x3d,0xd2,0xe3,0x81,0xc4,0xab,0x7d, 0x39,0x16,0x7b,0x01,0xad,0x7e,0x95,0xab,0x19,0xc3,0x26,0x57,0x9a,0x6a,0x90,0x90, 0xd3,0x69,0x6f,0x99,0x6a,0x48,0x1d,0xd6,0x76,0x7f,0x5a,0xe9,0x14,0xa7,0x2e,0x1d, 0x59,0x63,0xde,0xb3,0xeb,0x13,0x0b,0x65,0xa7,0x00,0x94,0x87,0x4f,0x32,0x01,0xd8, 0x47,0xc6,0x7f,0xa2,0x4d,0x53,0x5f,0x2b,0x8e,0x9d,0xbf,0xf1,0x6d,0x0c,0x26,0x5a, 0x92,0x2a,0x0f,0x6b,0xcc,0xe5,0xc8,0xbe,0xda,0xb8,0xac,0x98,0x85,0x6a,0x56,0x34, 0xab,0x60,0x0d,0xa3,0xa9,0xe7,0x4b,0xa1,0xfe,0x83,0xd4,0x87,0x80,0xaf,0x07,0x2e, 0xde,0xf3,0xea,0x4d,0x59,0x02,0x80,0xa0,0x28,0x0a,0x02,0x82,0xa2,0xe0,0xf0,0x4c, 0xbc,0x4a,0x45,0xdd,0xa4,0xa5,0x22,0xf5,0x73,0x9d,0x74,0x49,0x48,0xd7,0x33,0x6e, 0xc8,0x71,0x4d,0x1f,0xfc,0x7e,0x1d,0x04,0xba,0x35,0xc1,0x32,0x61,0x35,0x25,0x09, 0x71,0xb4,0xb8,0x90,0xa4,0xa5,0xc1,0xa3,0xaf,0xa5,0x03,0x77,0xe2,0xcd,0x49,0x9c, 0xfc,0x64,0x3e,0xda,0xa4,0xb2,0x94,0xad,0xc6,0x81,0xea,0x84,0xab,0x7a,0x24,0x7c, 0xf4,0x68,0x12,0x93,0x6c,0x83,0x3b,0x7e,0xfd,0x06,0x1c,0x9d,0xf7,0xf1,0x59,0x4a, 0xbf,0xb8,0xab,0x4c,0xac,0xea,0xab,0x70,0x97,0xb8,0x65,0x99,0xc3,0x6c,0x5a,0xe3, 0xbf,0x79,0xb2,0x44,0x1b,0xff,0x00,0x92,0x54,0xd7,0xff,0x00,0x24,0x57,0x49,0xb8, 0xd4,0x9e,0xdc,0xf2,0xdb,0xe9,0xde,0xe1,0x3b,0x07,0x0a,0xf1,0xec,0x6a,0xf8,0xd5, 0xd2,0xcc,0xc4,0xa6,0x64,0x34,0x14,0x12,0x95,0xbc,0x56,0x91,0xcc,0x08,0x3d,0xfa, 0xf6,0x27,0xce,0xa7,0x3d,0xce,0x79,0xe3,0xe3,0x51,0x86,0xdb,0x0c,0x32,0xf2,0x8f, 0x9f,0x5e,0xea,0x78,0x93,0xfe,0x90,0x68,0xff,0x00,0x88,0xa1,0x4a,0x8c,0xfe,0x45, 0xef,0x29,0xdf,0x50,0xec,0x68,0x6e,0xad,0x24,0xfd,0x08,0x8a,0x47,0xd2,0xb3,0x5e, 0xda,0x3d,0x3e,0xb3,0xa5,0x41,0x69,0x0a,0x41,0x05,0x24,0x6c,0x11,0x56,0x43,0x34, 0x05,0x01,0x40,0x50,0x45,0xb8,0xa7,0x91,0xb9,0x88,0x70,0xd7,0x28,0xbd,0x46,0x3a, 0x91,0x06,0xdb,0x21,0xf6,0x00,0xee,0xa7,0x43,0x67,0x90,0x0f,0x99,0x56,0x87,0xde, 0x82,0xa5,0xcb,0xf8,0x2b,0x84,0x5c,0xb0,0x2c,0x66,0x36,0x7e,0x87,0x5a,0x8f,0x8c, 0xc1,0x44,0x58,0xd3,0x19,0x9e,0xf4,0x55,0x30,0x39,0x1b,0x41,0xd2,0x9b,0x52,0x76, 0x54,0x50,0x8e,0xfb,0xd9,0xd7,0xad,0x02,0x58,0xff,0x00,0x08,0x91,0x8b,0xd8,0xf2, 0x1b,0x5e,0x35,0x96,0x66,0xad,0x7e,0x24,0xd2,0x50,0xcc,0x89,0xd7,0x35,0xcc,0x5c, 0x02,0x9e,0x6f,0x89,0x9f,0x17,0x98,0x24,0x9e,0x6e,0xbd,0xf7,0xa1,0xe9,0x41,0x1f, 0xc3,0xb8,0x65,0xc4,0x0c,0x63,0x2c,0x62,0x7a,0xf8,0xa0,0x2f,0x56,0xb7,0x5e,0x41, 0xb8,0x46,0x99,0x63,0x8a,0x97,0xa5,0x21,0x03,0x41,0x25,0xf4,0x04,0xab,0x60,0x74, 0xd9,0xde,0x85,0x02,0x79,0xca,0x78,0xd0,0xe5,0xfd,0xc5,0x5a,0xad,0x3c,0x3c,0xbe, 0x58,0xa2,0x4f,0x12,0xe0,0xb2,0xa9,0x32,0x62,0xca,0xe5,0x49,0x25,0xb0,0xb5,0x7c, 0x49,0x27,0x44,0x6f,0x40,0x03,0xf4,0x24,0x50,0x48,0xb2,0xde,0x25,0xe6,0x38,0xae, 0x39,0x61,0x94,0x9e,0x1d,0x5c,0xef,0x97,0x09,0xb1,0xd6,0xab,0x83,0x36,0x59,0x8c, 0xb9,0xf8,0x7b,0xa0,0x27,0x49,0x1c,0xfa,0xf1,0x37,0xb3,0xdb,0xa7,0xc3,0xf3,0xa8, 0xb3,0x98,0xb6,0x36,0x4b,0x2d,0x9c,0xba,0xf8,0x71,0xc6,0x1f,0xda,0xdb,0x25,0xea, 0x4d,0xe7,0x18,0xcb,0xf1,0x97,0x2c,0xac,0x07,0xa4,0xaa,0xff,0x00,0x09,0x31,0xd2, 0xe8,0xd2,0x89,0xf0,0xca,0x56,0xa0,0xad,0x04,0x1d,0xfa,0x6c,0x7a,0xd3,0x19,0x64, 0xe2,0xa7,0x53,0x2c,0x72,0xca,0xdc,0x67,0x11,0x4f,0xfb,0x3d,0x7b,0x3a,0x5b,0xed, 0xb9,0x16,0x3d,0xc5,0x8b,0xbd,0xc2,0xe6,0xf5,0xf6,0x6d,0x8d,0x9d,0x41,0x5f,0x20, 0x65,0x95,0x3c,0xda,0x54,0xe2,0x87,0xc3,0xcc,0x49,0x2a,0x59,0xef,0xfb,0xe7,0xa5, 0x38,0x51,0xec,0xac,0x72,0x57,0xbc,0xdb,0x11,0xd7,0x65,0x3d,0x2a,0x43,0xad,0x01, 0x40,0x50,0x14,0x15,0x9f,0x1e,0xdd,0xf7,0x9c,0x66,0xc7,0x64,0x07,0x4a,0xbd,0x5f, 0xa0,0x45,0x3f,0x34,0x36,0xef,0xbc,0xb8,0x3e,0xed,0xc7,0x58,0xfb,0xd0,0x56,0xdc, 0x53,0xe1,0x9d,0xc7,0x26,0xc9,0x1d,0x99,0x65,0xe2,0x5e,0x57,0x8d,0xaa,0x62,0x12, 0xd0,0xb5,0xa1,0xc6,0x5e,0x86,0xa2,0x94,0xe8,0xf2,0xb2,0xe2,0x48,0xd9,0xd6,0xcf, 0xaf,0x5a,0x0d,0xa4,0x58,0x38,0x95,0x6b,0xc0,0xa1,0x43,0xc7,0x33,0x0b,0x35,0xdb, 0x26,0x62,0x52,0x95,0x22,0xe7,0x7b,0xb6,0x84,0xb7,0x21,0x93,0xcd,0xa4,0x72,0x32, 0x52,0x12,0x46,0xd3,0xf1,0x0e,0xfc,0xa7,0xd6,0x83,0x83,0x85,0xb1,0x38,0x97,0x8f, 0x48,0xb9,0x44,0xcd,0x2c,0xd8,0x49,0xb7,0x06,0x5e,0x97,0x1d,0x76,0x19,0x0f,0x85, 0xbf,0x29,0x4a,0x07,0x95,0x41,0xd2,0x42,0x42,0xb6,0xa2,0x4e,0xfb,0xfd,0x4d,0x04, 0x75,0x3c,0x67,0xce,0xa2,0x65,0x6c,0x4b,0xca,0xb8,0x4d,0x9b,0xc3,0x88,0xa6,0x3d, 0xd4,0xc5,0xb6,0x4b,0x8f,0x39,0x90,0xb2,0xb0,0x7c,0x52,0x41,0x49,0xed,0xd3,0xaf, 0x97,0xa7,0x5d,0x84,0xab,0x88,0x9e,0xd1,0xf8,0x9f,0x0c,0xb2,0x43,0x65,0xca,0x5d, 0xbb,0x41,0x5b,0x01,0x0b,0x72,0x52,0xad,0x92,0x1d,0x61,0x49,0x50,0x07,0xe1,0x71, 0x08,0x50,0x3a,0x07,0xaf,0xa1,0xac,0xbb,0x8f,0x9f,0xcb,0x1b,0xa3,0xc7,0x1e,0xf9, 0xfd,0x75,0xfd,0xfe,0x3a,0x61,0xe1,0xc5,0xf2,0x71,0xe7,0xbc,0x4e,0xb6,0x67,0x7e, 0xcd,0xb9,0x4d,0xef,0x0a,0xb8,0xb3,0x72,0x66,0xe3,0x11,0xcb,0x4b,0x2f,0xc7,0x42, 0xd0,0x3c,0x77,0xd4,0x18,0x00,0x05,0x80,0xad,0xed,0xd4,0xf9,0x55,0xf6,0xb7,0x56, 0xe9,0xcf,0x9e,0x49,0x97,0xbe,0x3a,0xfd,0x72,0x8d,0x4f,0x1f,0x2f,0xf1,0xd2,0xed, 0x9d,0x89,0x35,0x61,0xb2,0xc1,0x66,0xdc,0x39,0x59,0x8a,0xc2,0x18,0xe4,0x1d,0xb4, 0x94,0x80,0x3f,0xb5,0x77,0x50,0xe1,0x86,0xbd,0xca,0xda,0x9b,0x27,0xce,0x82,0x53, 0x40,0x50,0x14,0x05,0x05,0x3f,0xc5,0x39,0x66,0xe1,0xc5,0xcc,0x1e,0xd8,0x83,0xcc, 0x8b,0x7c,0x39,0xf7,0x77,0x07,0xf8,0x1c,0x21,0xb8,0xed,0x1f,0xba,0x5e,0x7f,0xf4, 0x34,0x15,0x15,0xea,0xc5,0xc6,0xf8,0x97,0x55,0x49,0xb3,0xe4,0x1c,0x3d,0xbf,0xb0, 0xcb,0xcb,0x72,0x33,0x37,0x7b,0x73,0xf1,0xd4,0xd8,0x3b,0x00,0x6d,0xa5,0xeb,0x61, 0x24,0x8d,0xeb,0xcc,0xfa,0x9a,0x07,0x8e,0x24,0xe5,0x9c,0x46,0xb2,0xc0,0x8f,0x0f, 0x15,0xc1,0x51,0x92,0xb5,0x2e,0xdc,0x04,0xb9,0xb6,0xeb,0xc2,0x21,0xbb,0x1a,0x49, 0x04,0x2b,0xc2,0x4b,0x89,0x3b,0x03,0xa1,0x07,0x60,0xf5,0xf9,0x50,0x6d,0x8c,0xf1, 0x6e,0x65,0xaf,0x87,0x33,0x2f,0x99,0xa6,0x19,0x99,0x5a,0xdc,0xb4,0x29,0xa8,0xab, 0x86,0xb6,0x93,0x32,0x54,0xa0,0x79,0x53,0xe2,0xa4,0x20,0xfc,0x43,0xae,0xc9,0xf9, 0x28,0xd0,0x37,0xf0,0xe3,0xda,0x53,0x15,0xce,0xb3,0x47,0xac,0x2d,0x5d,0xa5,0x33, 0x70,0x9c,0xe0,0xfc,0x3a,0xd7,0x2e,0xd5,0x26,0x3b,0xc1,0x29,0x41,0x52,0xc2,0x94, 0xa4,0x72,0xfe,0xe9,0x3d,0xfc,0x8f,0x5e,0xa0,0x00,0x91,0xdd,0xb8,0xe7,0x89,0xab, 0x23,0xb6,0x59,0xec,0xd7,0x7c,0x62,0xf0,0xe3,0xb2,0x5c,0x8b,0x3f,0xfd,0xaf,0x1d, 0x0b,0x83,0xc9,0xd0,0x95,0x36,0x49,0x52,0x8e,0xf6,0x35,0xa1,0xdb,0xbf,0x6d,0x82, 0xbc,0x4b,0x8d,0x12,0xe2,0x78,0x7d,0x61,0x82,0xdc,0x71,0x12,0xef,0x94,0x43,0x75, 0x68,0x60,0x00,0x95,0xb6,0xc0,0x5c,0xb2,0x7a,0x74,0x20,0x98,0xe9,0xeb,0xf3,0xa0, 0xbb,0xae,0x92,0xc4,0x88,0x8e,0x20,0x90,0x41,0xa0,0x69,0xc6,0x97,0xe0,0xc9,0x50, 0xf2,0x26,0x82,0x67,0x40,0x50,0x14,0x05,0x07,0x9f,0x32,0xd9,0xb7,0x29,0xbc,0x4c, 0xe2,0x0d,0xd7,0x1b,0x8f,0x1a,0x6d,0xd2,0xd5,0x6e,0x87,0x68,0x85,0x1a,0x4b,0x85, 0xb6,0xd6,0xf2,0x5b,0x5c,0x92,0x14,0xa0,0x3a,0x03,0xef,0x2d,0x83,0xfc,0x34,0x10, 0x0c,0x77,0x89,0x1c,0x4e,0x56,0x55,0x1a,0x2e,0x65,0xc3,0x19,0x51,0x20,0xcc,0x75, 0xb6,0x57,0x36,0x0d,0xe6,0x3c,0x96,0x23,0x0d,0xe8,0xb9,0xca,0x10,0x97,0x35,0xd7, 0x64,0x12,0x7b,0x74,0xd5,0x06,0x38,0x83,0xed,0x23,0x6e,0xc4,0x2f,0xab,0xb4,0x5c, 0x6d,0x19,0x8d,0xa0,0x41,0x98,0x94,0xbf,0x72,0x76,0xcc,0xb7,0x23,0x48,0x64,0x7e, 0x6f,0x0d,0x69,0xe6,0x24,0x1e,0x9d,0x74,0x3c,0xfb,0x77,0xa0,0x9a,0x2b,0x8e,0x18, 0x44,0x3c,0x6a,0xd1,0x7d,0xb9,0x64,0x76,0xeb,0x6d,0xb6,0xf4,0x95,0x2a,0x03,0xb7, 0x25,0xfb,0xaf,0x8c,0x12,0x74,0xae,0x8e,0x68,0x8d,0x6c,0x77,0xd5,0x03,0xde,0x23, 0x9a,0xd8,0x33,0x65,0xba,0xf6,0x33,0x3e,0xd9,0x71,0xf7,0x77,0x0a,0x7c,0x48,0xb2, 0x59,0x7f,0x63,0xb7,0x38,0x28,0x52,0xbe,0x13,0xe5,0xbd,0x1f,0x95,0x04,0x77,0x20, 0xe0,0xef,0x0c,0xf2,0xcb,0xbb,0xec,0x5f,0xf0,0xcb,0x04,0x99,0xce,0x28,0xa9,0x4f, 0x18,0x29,0x4a,0xd6,0x7b,0x92,0x56,0x91,0xbd,0xfd,0x4d,0x67,0x9b,0xac,0x2e,0xa7, 0xc5,0xed,0x1c,0xb7,0x7a,0xdb,0x16,0x2f,0x19,0x78,0x71,0x62,0xb3,0x30,0x98,0xf6, 0xfc,0x7a,0xcb,0x3e,0x62,0x23,0xa3,0xf2,0xb4,0x9d,0x33,0x19,0x91,0xfc,0xab,0x74, 0x7d,0xab,0x42,0x56,0xe2,0xa5,0x17,0x02,0x86,0xf7,0x40,0x5a,0x95,0xc9,0x30,0x7c, 0xcd,0x04,0xd9,0x3d,0x52,0x3e,0x94,0x19,0xa0,0x28,0x0a,0x0f,0x3f,0xe3,0x41,0x4c, 0x5f,0xf3,0x78,0xf3,0x09,0x17,0x31,0x7e,0x92,0xe4,0x94,0x2b,0xb8,0x42,0xf9,0x4b, 0x07,0xe8,0x58,0xf0,0xb4,0x7e,0x5a,0xf2,0x34,0x0f,0x20,0x28,0x1e,0xe6,0x81,0x47, 0x54,0x4a,0x89,0xd0,0x20,0xfa,0xd0,0x70,0x5e,0xb1,0xab,0x2e,0x4f,0x01,0xb8,0xf9, 0x25,0xa2,0xdb,0x75,0x61,0xb2,0x79,0x5a,0x99,0x1d,0x0e,0xa5,0x3b,0xef,0xa0,0xa0, 0x68,0x18,0xac,0xfc,0x19,0xc1,0xac,0xd1,0xef,0x51,0xec,0x38,0xcd,0xb6,0xd4,0xd5, 0xe6,0x22,0xa1,0x4e,0x10,0x11,0xe0,0x78,0xad,0x28,0x10,0x53,0xf0,0xeb,0x5d,0xcf, 0x51,0xaa,0x08,0x75,0x9f,0xd9,0x4f,0x1b,0xc7,0x6e,0xd1,0x27,0x62,0x59,0x36,0x7d, 0x63,0x4b,0x0f,0x21,0xd3,0x12,0x25,0xe9,0xcf,0x05,0xc0,0x92,0x0f,0x22,0x92,0xad, 0xed,0x27,0x5a,0x3d,0x7b,0x50,0x4c,0xb1,0xc5,0xfe,0x29,0xc7,0x4c,0xda,0x78,0xfc, 0x96,0xcb,0x65,0xba,0xd2,0x9f,0xe3,0x3e,0x2c,0x85,0xff,0x00,0x47,0x5a,0xfd,0x05, 0x05,0x8e,0xd2,0xce,0xba,0x9a,0x0e,0xa8,0x0a,0xff,0x00,0x5a,0x49,0x4f,0xad,0x04, 0xe9,0x93,0xb6,0x93,0xf4,0xa0,0xde,0x80,0xa0,0x28,0x2a,0x8e,0x30,0xf0,0xf2,0x16, 0x47,0x31,0x8b,0xa3,0x0f,0xcf,0xb5,0x5e,0x5b,0x6b,0xc1,0x4d,0xc6,0xda,0xf9,0x65, 0xd5,0x37,0xb2,0x42,0x17,0xae,0x8b,0x48,0x24,0x90,0x95,0x85,0x00,0x49,0x23,0x5b, 0x34,0x14,0xc4,0xab,0x47,0x10,0xec,0xab,0x22,0xdb,0x99,0xc9,0x9c,0xda,0x4f,0xc0, 0x8b,0xa5,0xba,0x33,0xa3,0xe8,0x7c,0x34,0x34,0xa3,0xfc,0xd4,0x1c,0xff,0x00,0xb7, 0x9c,0x4f,0xb6,0x1d,0xca,0xb3,0x62,0x17,0xa4,0xa7,0xba,0x59,0x32,0x20,0x29,0x43, 0xee,0x5e,0x14,0x0b,0xb5,0xc7,0x9b,0xc4,0x0f,0xf8,0x93,0x87,0x37,0xd6,0xd1,0xfe, 0x3b,0x4c,0xe8,0xf2,0xc7,0xfe,0xc5,0x34,0x7f,0xa5,0x03,0x9c,0x4f,0x68,0xec,0x41, 0xbf,0xf7,0xeb,0x19,0x45,0x88,0xff,0x00,0xd7,0x59,0x64,0xa9,0x3f,0xce,0xd2,0x16, 0x8f,0xeb,0xaa,0x07,0x17,0x3d,0xa2,0xb8,0x6a,0xc5,0xbd,0x72,0xd9,0xcb,0xad,0x53, 0x16,0x0e,0x93,0x0a,0x2a,0xcb,0xb2,0x9c,0x51,0xec,0x94,0xb2,0x07,0x39,0x27,0xb7, 0x6f,0xae,0xa8,0x3b,0xf8,0x43,0x6c,0xb8,0x26,0xd3,0x79,0xc8,0x72,0x48,0x6e,0x5b, 0x6e,0x59,0x25,0xc5,0x77,0x25,0x42,0x7b,0x5e,0x24,0x76,0x79,0x10,0xd3,0x2d,0xaf, 0x5f,0xbc,0x1b,0x6d,0x1b,0xf4,0x24,0xd0,0x58,0x2d,0x1d,0x8d,0x0f,0x3a,0x07,0xcb, 0x44,0x12,0xb5,0xa4,0x91,0xe7,0x41,0x2d,0x42,0x79,0x52,0x07,0xa0,0xa0,0xda,0x80, 0xa0,0x28,0x22,0x79,0xca,0xb9,0x1b,0x68,0xf9,0x50,0x41,0xdc,0x0d,0xb9,0xdd,0x20, 0xd0,0x20,0x60,0xb0,0xe1,0xea,0x84,0x9f,0xb5,0x02,0x6a,0xb0,0xc4,0x77,0xf3,0x36, 0x9e,0xb4,0x08,0xb9,0x87,0xc0,0x77,0x5c,0xcc,0xa0,0xfd,0xa8,0x36,0x81,0x87,0x5b, 0x60,0xcc,0x12,0xdb,0x88,0xc0,0x78,0x76,0x73,0x90,0x73,0x7e,0xb4,0x0f,0x9c,0xc5, 0x4a,0xea,0x7a,0x0a,0x07,0x4b,0x44,0x55,0x48,0x75,0x27,0x5d,0x05,0x04,0xde,0x04, 0x40,0xc3,0x60,0xeb,0x46,0x83,0xb2,0x80,0xa0,0x28,0x0a,0x06,0x1c,0xa2,0xd4,0xab, 0x93,0x1a,0x47,0x71,0x41,0x0a,0x77,0x1a,0x96,0xd7,0x64,0xef,0xed,0x41,0xcc,0xab, 0x4c,0xa6,0xbf,0x33,0x67,0x42,0x81,0x32,0xcb,0xa8,0x3d,0x50,0xae,0x94,0x07,0x3a, 0x87,0x70,0x68,0x33,0xe2,0x9f,0x9d,0x02,0xac,0x24,0xbc,0xe0,0x4a,0x77,0xd6,0x82, 0x77,0x60,0xb7,0x06,0x9b,0x49,0x22,0x81,0xfb,0xb7,0x6a,0x0c,0xd0,0x14,0x05,0x01, 0x41,0x82,0x01,0xef,0x40,0x9a,0xd9,0x41,0x1d,0x52,0x0d,0x07,0x3b,0x91,0x5a,0x50, 0xea,0x91,0x41,0xc6,0xed,0xb6,0x3a,0xb7,0xb6,0xc5,0x07,0x03,0xf6,0x88,0xaa,0xde, 0xdb,0x14,0x0d,0xcf,0xda,0x63,0x01,0xd1,0x24,0x50,0x6f,0x6e,0xb7,0xb2,0x87,0x41, 0x09,0xeb,0x41,0x30,0x88,0x80,0x86,0x47,0x28,0xa0,0x5a,0x80,0xa0,0x28,0x3f,0xff, 0xd9 }; /* created by reswrap from file cy_secoder_b.jpg */ const unsigned char fxcj_icon_cy_secoder_b[]={ 0xff,0xd8,0xff,0xe0,0x00,0x10,0x4a,0x46,0x49,0x46,0x00,0x01,0x02,0x01,0x01,0x2c, 0x01,0x2c,0x00,0x00,0xff,0xe2,0x1c,0x6d,0x49,0x43,0x43,0x5f,0x50,0x52,0x4f,0x46, 0x49,0x4c,0x45,0x00,0x01,0x01,0x00,0x00,0x1c,0x5d,0x4c,0x69,0x6e,0x6f,0x02,0x10, 0x00,0x00,0x6d,0x6e,0x74,0x72,0x52,0x47,0x42,0x20,0x58,0x59,0x5a,0x20,0x07,0xce, 0x00,0x02,0x00,0x09,0x00,0x06,0x00,0x31,0x00,0x00,0x61,0x63,0x73,0x70,0x4d,0x53, 0x46,0x54,0x00,0x00,0x00,0x00,0x49,0x45,0x43,0x20,0x73,0x52,0x47,0x42,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf6,0xd6,0x00,0x01, 0x00,0x00,0x00,0x00,0xd3,0x2d,0x48,0x50,0x20,0x20,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x11,0x63,0x70,0x72,0x74,0x00,0x00, 0x01,0x50,0x00,0x00,0x00,0x33,0x64,0x65,0x73,0x63,0x00,0x00,0x01,0x83,0x00,0x00, 0x00,0x6c,0x77,0x74,0x70,0x74,0x00,0x00,0x01,0xef,0x00,0x00,0x00,0x14,0x62,0x6b, 0x70,0x74,0x00,0x00,0x02,0x03,0x00,0x00,0x00,0x14,0x72,0x58,0x59,0x5a,0x00,0x00, 0x02,0x17,0x00,0x00,0x00,0x14,0x67,0x58,0x59,0x5a,0x00,0x00,0x02,0x2b,0x00,0x00, 0x00,0x14,0x62,0x58,0x59,0x5a,0x00,0x00,0x02,0x3f,0x00,0x00,0x00,0x14,0x64,0x6d, 0x6e,0x64,0x00,0x00,0x02,0x53,0x00,0x00,0x00,0x70,0x64,0x6d,0x64,0x64,0x00,0x00, 0x02,0xc3,0x00,0x00,0x00,0x88,0x76,0x75,0x65,0x64,0x00,0x00,0x03,0x4b,0x00,0x00, 0x00,0x86,0x76,0x69,0x65,0x77,0x00,0x00,0x03,0xd1,0x00,0x00,0x00,0x24,0x6c,0x75, 0x6d,0x69,0x00,0x00,0x03,0xf5,0x00,0x00,0x00,0x14,0x6d,0x65,0x61,0x73,0x00,0x00, 0x04,0x09,0x00,0x00,0x00,0x24,0x74,0x65,0x63,0x68,0x00,0x00,0x04,0x2d,0x00,0x00, 0x00,0x0c,0x72,0x54,0x52,0x43,0x00,0x00,0x04,0x39,0x00,0x00,0x08,0x0c,0x67,0x54, 0x52,0x43,0x00,0x00,0x0c,0x45,0x00,0x00,0x08,0x0c,0x62,0x54,0x52,0x43,0x00,0x00, 0x14,0x51,0x00,0x00,0x08,0x0c,0x74,0x65,0x78,0x74,0x00,0x00,0x00,0x00,0x43,0x6f, 0x70,0x79,0x72,0x69,0x67,0x68,0x74,0x20,0x28,0x63,0x29,0x20,0x31,0x39,0x39,0x38, 0x20,0x48,0x65,0x77,0x6c,0x65,0x74,0x74,0x2d,0x50,0x61,0x63,0x6b,0x61,0x72,0x64, 0x20,0x43,0x6f,0x6d,0x70,0x61,0x6e,0x79,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39, 0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x12,0x73,0x52,0x47,0x42,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d, 0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0xf3, 0x51,0x00,0x01,0x00,0x00,0x00,0x01,0x16,0xcc,0x58,0x59,0x5a,0x20,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0x59,0x5a, 0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x6f,0xa2,0x00,0x00,0x38,0xf5,0x00,0x00,0x03, 0x90,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x62,0x99,0x00,0x00,0xb7, 0x85,0x00,0x00,0x18,0xda,0x58,0x59,0x5a,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x24, 0xa0,0x00,0x00,0x0f,0x84,0x00,0x00,0xb6,0xcf,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f,0x2f, 0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x16,0x49,0x45,0x43,0x20,0x68,0x74,0x74,0x70,0x3a,0x2f, 0x2f,0x77,0x77,0x77,0x2e,0x69,0x65,0x63,0x2e,0x63,0x68,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x2e,0x49,0x45,0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32, 0x2e,0x31,0x20,0x44,0x65,0x66,0x61,0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63, 0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73,0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52, 0x47,0x42,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2e,0x49,0x45, 0x43,0x20,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x20,0x44,0x65,0x66,0x61, 0x75,0x6c,0x74,0x20,0x52,0x47,0x42,0x20,0x63,0x6f,0x6c,0x6f,0x75,0x72,0x20,0x73, 0x70,0x61,0x63,0x65,0x20,0x2d,0x20,0x73,0x52,0x47,0x42,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x64,0x65,0x73,0x63,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x2c,0x52,0x65,0x66, 0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69,0x65,0x77,0x69,0x6e,0x67,0x20,0x43, 0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20,0x69,0x6e,0x20,0x49,0x45,0x43,0x36, 0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x2c,0x52,0x65,0x66,0x65,0x72,0x65,0x6e,0x63,0x65,0x20,0x56,0x69, 0x65,0x77,0x69,0x6e,0x67,0x20,0x43,0x6f,0x6e,0x64,0x69,0x74,0x69,0x6f,0x6e,0x20, 0x69,0x6e,0x20,0x49,0x45,0x43,0x36,0x31,0x39,0x36,0x36,0x2d,0x32,0x2e,0x31,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0x69,0x65,0x77,0x00,0x00,0x00,0x00,0x00, 0x13,0xa4,0xfe,0x00,0x14,0x5f,0x2e,0x00,0x10,0xcf,0x14,0x00,0x03,0xed,0xcc,0x00, 0x04,0x13,0x0b,0x00,0x03,0x5c,0x9e,0x00,0x00,0x00,0x01,0x58,0x59,0x5a,0x20,0x00, 0x00,0x00,0x00,0x00,0x4c,0x09,0x56,0x00,0x50,0x00,0x00,0x00,0x57,0x1f,0xe7,0x6d, 0x65,0x61,0x73,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00, 0x00,0x02,0x8f,0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x73,0x69,0x67,0x20,0x00,0x00,0x00,0x00,0x43,0x52,0x54,0x20,0x63, 0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00, 0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00, 0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00, 0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00, 0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00, 0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00, 0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00, 0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01, 0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01, 0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01, 0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01, 0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02, 0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02, 0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02, 0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03, 0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03, 0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03, 0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04, 0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04, 0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05, 0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05, 0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06, 0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06, 0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07, 0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07, 0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08, 0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08, 0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09, 0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a, 0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a, 0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b, 0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c, 0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d, 0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e, 0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e, 0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f, 0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10, 0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11, 0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12, 0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13, 0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14, 0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15, 0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16, 0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17, 0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19, 0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a, 0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b, 0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c, 0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e, 0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f, 0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20, 0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22, 0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23, 0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25, 0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26, 0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28, 0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29, 0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b, 0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c, 0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e, 0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30, 0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31, 0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33, 0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35, 0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37, 0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39, 0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b, 0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d, 0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f, 0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41, 0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43, 0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45, 0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47, 0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49, 0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b, 0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e, 0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50, 0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52, 0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55, 0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57, 0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a, 0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c, 0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f, 0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61, 0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64, 0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66, 0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69, 0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c, 0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f, 0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71, 0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74, 0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77, 0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a, 0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d, 0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80, 0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83, 0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86, 0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89, 0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d, 0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90, 0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93, 0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97, 0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a, 0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d, 0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1, 0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4, 0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8, 0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab, 0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf, 0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3, 0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6, 0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba, 0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe, 0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2, 0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6, 0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca, 0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce, 0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2, 0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6, 0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda, 0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde, 0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2, 0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7, 0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb, 0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef, 0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4, 0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8, 0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd, 0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00, 0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00, 0x14,0x00,0x19,0x00,0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00, 0x3b,0x00,0x40,0x00,0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00, 0x63,0x00,0x68,0x00,0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00, 0x8b,0x00,0x90,0x00,0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00, 0xb2,0x00,0xb7,0x00,0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00, 0xdb,0x00,0xe0,0x00,0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01, 0x07,0x01,0x0d,0x01,0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01, 0x38,0x01,0x3e,0x01,0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01, 0x6e,0x01,0x75,0x01,0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01, 0xa9,0x01,0xb1,0x01,0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01, 0xe9,0x01,0xf2,0x01,0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02, 0x2f,0x02,0x38,0x02,0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02, 0x7a,0x02,0x84,0x02,0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02, 0xcb,0x02,0xd5,0x02,0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03, 0x21,0x03,0x2d,0x03,0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03, 0x7e,0x03,0x8a,0x03,0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03, 0xe0,0x03,0xec,0x03,0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04, 0x48,0x04,0x55,0x04,0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04, 0xb6,0x04,0xc4,0x04,0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05, 0x2b,0x05,0x3a,0x05,0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05, 0xa6,0x05,0xb5,0x05,0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06, 0x27,0x06,0x37,0x06,0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06, 0xaf,0x06,0xc0,0x06,0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07, 0x3d,0x07,0x4f,0x07,0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07, 0xd2,0x07,0xe5,0x07,0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08, 0x6e,0x08,0x82,0x08,0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09, 0x10,0x09,0x25,0x09,0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09, 0xba,0x09,0xcf,0x09,0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a, 0x6a,0x0a,0x81,0x0a,0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b, 0x22,0x0b,0x39,0x0b,0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b, 0xe1,0x0b,0xf9,0x0c,0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c, 0xa7,0x0c,0xc0,0x0c,0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d, 0x74,0x0d,0x8e,0x0d,0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e, 0x49,0x0e,0x64,0x0e,0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f, 0x25,0x0f,0x41,0x0f,0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10, 0x09,0x10,0x26,0x10,0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10, 0xf5,0x11,0x13,0x11,0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11, 0xe8,0x12,0x07,0x12,0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12, 0xe3,0x13,0x03,0x13,0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13, 0xe5,0x14,0x06,0x14,0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14, 0xf0,0x15,0x12,0x15,0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16, 0x03,0x16,0x26,0x16,0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17, 0x1d,0x17,0x41,0x17,0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18, 0x40,0x18,0x65,0x18,0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19, 0x6b,0x19,0x91,0x19,0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a, 0x9e,0x1a,0xc5,0x1a,0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b, 0xda,0x1c,0x02,0x1c,0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d, 0x1e,0x1d,0x47,0x1d,0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e, 0x6a,0x1e,0x94,0x1e,0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f, 0xbf,0x1f,0xea,0x20,0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21, 0x1c,0x21,0x48,0x21,0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22, 0x82,0x22,0xaf,0x22,0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23, 0xf0,0x24,0x1f,0x24,0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25, 0x68,0x25,0x97,0x25,0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26, 0xe8,0x27,0x18,0x27,0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28, 0x71,0x28,0xa2,0x28,0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a, 0x02,0x2a,0x35,0x2a,0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b, 0x9d,0x2b,0xd1,0x2c,0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d, 0x41,0x2d,0x76,0x2d,0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e, 0xee,0x2f,0x24,0x2f,0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30, 0xa4,0x30,0xdb,0x31,0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32, 0x63,0x32,0x9b,0x32,0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34, 0x2b,0x34,0x65,0x34,0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35, 0xfd,0x36,0x37,0x36,0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37, 0xd7,0x38,0x14,0x38,0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39, 0xbc,0x39,0xf9,0x3a,0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b, 0xaa,0x3b,0xe8,0x3c,0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d, 0xa1,0x3d,0xe0,0x3e,0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f, 0xa2,0x3f,0xe2,0x40,0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41, 0xac,0x41,0xee,0x42,0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43, 0xc0,0x44,0x03,0x44,0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45, 0xde,0x46,0x22,0x46,0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48, 0x05,0x48,0x4b,0x48,0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a, 0x37,0x4a,0x7d,0x4a,0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c, 0x72,0x4c,0xba,0x4d,0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e, 0xb7,0x4f,0x00,0x4f,0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51, 0x06,0x51,0x50,0x51,0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53, 0x5f,0x53,0xaa,0x53,0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55, 0xc2,0x56,0x0f,0x56,0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58, 0x2f,0x58,0x7d,0x58,0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a, 0xa6,0x5a,0xf5,0x5b,0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d, 0x27,0x5d,0x78,0x5d,0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f, 0xb3,0x60,0x05,0x60,0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62, 0x49,0x62,0x9c,0x62,0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64, 0xe9,0x65,0x3d,0x65,0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67, 0x93,0x67,0xe9,0x68,0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a, 0x48,0x6a,0x9f,0x6a,0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d, 0x08,0x6d,0x60,0x6d,0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f, 0xd1,0x70,0x2b,0x70,0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72, 0xa6,0x73,0x01,0x73,0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75, 0x85,0x75,0xe1,0x76,0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78, 0x6e,0x78,0xcc,0x79,0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b, 0x63,0x7b,0xc2,0x7c,0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e, 0x62,0x7e,0xc2,0x7f,0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81, 0x6b,0x81,0xcd,0x82,0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84, 0x80,0x84,0xe3,0x85,0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87, 0x9f,0x88,0x04,0x88,0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a, 0xca,0x8b,0x30,0x8b,0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d, 0xff,0x8e,0x66,0x8e,0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91, 0x3f,0x91,0xa8,0x92,0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94, 0x8a,0x94,0xf4,0x95,0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97, 0xe0,0x98,0x4c,0x98,0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b, 0x42,0x9b,0xaf,0x9c,0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e, 0xae,0x9f,0x1d,0x9f,0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2, 0x26,0xa2,0x96,0xa3,0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5, 0xa9,0xa6,0x1a,0xa6,0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9, 0x37,0xa9,0xa9,0xaa,0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac, 0xd0,0xad,0x44,0xad,0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0, 0x75,0xb0,0xea,0xb1,0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4, 0x25,0xb4,0x9c,0xb5,0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7, 0xe0,0xb8,0x59,0xb8,0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb, 0xa7,0xbc,0x21,0xbc,0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf, 0x7a,0xbf,0xf5,0xc0,0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3, 0x58,0xc3,0xd4,0xc4,0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7, 0x41,0xc7,0xbf,0xc8,0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb, 0x36,0xcb,0xb6,0xcc,0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf, 0x37,0xcf,0xb8,0xd0,0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3, 0x44,0xd3,0xc6,0xd4,0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7, 0x5c,0xd7,0xe0,0xd8,0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb, 0x80,0xdc,0x05,0xdc,0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf, 0xaf,0xe0,0x36,0xe0,0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3, 0xeb,0xe4,0x73,0xe4,0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8, 0x32,0xe8,0xbc,0xe9,0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec, 0x86,0xed,0x11,0xed,0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0, 0xe5,0xf1,0x72,0xf1,0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5, 0x50,0xf5,0xde,0xf6,0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9, 0xc7,0xfa,0x57,0xfa,0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe, 0x4b,0xfe,0xdc,0xff,0x6d,0xff,0xff,0x63,0x75,0x72,0x76,0x00,0x00,0x00,0x00,0x00, 0x00,0x04,0x00,0x00,0x00,0x00,0x05,0x00,0x0a,0x00,0x0f,0x00,0x14,0x00,0x19,0x00, 0x1e,0x00,0x23,0x00,0x28,0x00,0x2d,0x00,0x32,0x00,0x37,0x00,0x3b,0x00,0x40,0x00, 0x45,0x00,0x4a,0x00,0x4f,0x00,0x54,0x00,0x59,0x00,0x5e,0x00,0x63,0x00,0x68,0x00, 0x6d,0x00,0x72,0x00,0x77,0x00,0x7c,0x00,0x81,0x00,0x86,0x00,0x8b,0x00,0x90,0x00, 0x95,0x00,0x9a,0x00,0x9f,0x00,0xa4,0x00,0xa9,0x00,0xae,0x00,0xb2,0x00,0xb7,0x00, 0xbc,0x00,0xc1,0x00,0xc6,0x00,0xcb,0x00,0xd0,0x00,0xd5,0x00,0xdb,0x00,0xe0,0x00, 0xe5,0x00,0xeb,0x00,0xf0,0x00,0xf6,0x00,0xfb,0x01,0x01,0x01,0x07,0x01,0x0d,0x01, 0x13,0x01,0x19,0x01,0x1f,0x01,0x25,0x01,0x2b,0x01,0x32,0x01,0x38,0x01,0x3e,0x01, 0x45,0x01,0x4c,0x01,0x52,0x01,0x59,0x01,0x60,0x01,0x67,0x01,0x6e,0x01,0x75,0x01, 0x7c,0x01,0x83,0x01,0x8b,0x01,0x92,0x01,0x9a,0x01,0xa1,0x01,0xa9,0x01,0xb1,0x01, 0xb9,0x01,0xc1,0x01,0xc9,0x01,0xd1,0x01,0xd9,0x01,0xe1,0x01,0xe9,0x01,0xf2,0x01, 0xfa,0x02,0x03,0x02,0x0c,0x02,0x14,0x02,0x1d,0x02,0x26,0x02,0x2f,0x02,0x38,0x02, 0x41,0x02,0x4b,0x02,0x54,0x02,0x5d,0x02,0x67,0x02,0x71,0x02,0x7a,0x02,0x84,0x02, 0x8e,0x02,0x98,0x02,0xa2,0x02,0xac,0x02,0xb6,0x02,0xc1,0x02,0xcb,0x02,0xd5,0x02, 0xe0,0x02,0xeb,0x02,0xf5,0x03,0x00,0x03,0x0b,0x03,0x16,0x03,0x21,0x03,0x2d,0x03, 0x38,0x03,0x43,0x03,0x4f,0x03,0x5a,0x03,0x66,0x03,0x72,0x03,0x7e,0x03,0x8a,0x03, 0x96,0x03,0xa2,0x03,0xae,0x03,0xba,0x03,0xc7,0x03,0xd3,0x03,0xe0,0x03,0xec,0x03, 0xf9,0x04,0x06,0x04,0x13,0x04,0x20,0x04,0x2d,0x04,0x3b,0x04,0x48,0x04,0x55,0x04, 0x63,0x04,0x71,0x04,0x7e,0x04,0x8c,0x04,0x9a,0x04,0xa8,0x04,0xb6,0x04,0xc4,0x04, 0xd3,0x04,0xe1,0x04,0xf0,0x04,0xfe,0x05,0x0d,0x05,0x1c,0x05,0x2b,0x05,0x3a,0x05, 0x49,0x05,0x58,0x05,0x67,0x05,0x77,0x05,0x86,0x05,0x96,0x05,0xa6,0x05,0xb5,0x05, 0xc5,0x05,0xd5,0x05,0xe5,0x05,0xf6,0x06,0x06,0x06,0x16,0x06,0x27,0x06,0x37,0x06, 0x48,0x06,0x59,0x06,0x6a,0x06,0x7b,0x06,0x8c,0x06,0x9d,0x06,0xaf,0x06,0xc0,0x06, 0xd1,0x06,0xe3,0x06,0xf5,0x07,0x07,0x07,0x19,0x07,0x2b,0x07,0x3d,0x07,0x4f,0x07, 0x61,0x07,0x74,0x07,0x86,0x07,0x99,0x07,0xac,0x07,0xbf,0x07,0xd2,0x07,0xe5,0x07, 0xf8,0x08,0x0b,0x08,0x1f,0x08,0x32,0x08,0x46,0x08,0x5a,0x08,0x6e,0x08,0x82,0x08, 0x96,0x08,0xaa,0x08,0xbe,0x08,0xd2,0x08,0xe7,0x08,0xfb,0x09,0x10,0x09,0x25,0x09, 0x3a,0x09,0x4f,0x09,0x64,0x09,0x79,0x09,0x8f,0x09,0xa4,0x09,0xba,0x09,0xcf,0x09, 0xe5,0x09,0xfb,0x0a,0x11,0x0a,0x27,0x0a,0x3d,0x0a,0x54,0x0a,0x6a,0x0a,0x81,0x0a, 0x98,0x0a,0xae,0x0a,0xc5,0x0a,0xdc,0x0a,0xf3,0x0b,0x0b,0x0b,0x22,0x0b,0x39,0x0b, 0x51,0x0b,0x69,0x0b,0x80,0x0b,0x98,0x0b,0xb0,0x0b,0xc8,0x0b,0xe1,0x0b,0xf9,0x0c, 0x12,0x0c,0x2a,0x0c,0x43,0x0c,0x5c,0x0c,0x75,0x0c,0x8e,0x0c,0xa7,0x0c,0xc0,0x0c, 0xd9,0x0c,0xf3,0x0d,0x0d,0x0d,0x26,0x0d,0x40,0x0d,0x5a,0x0d,0x74,0x0d,0x8e,0x0d, 0xa9,0x0d,0xc3,0x0d,0xde,0x0d,0xf8,0x0e,0x13,0x0e,0x2e,0x0e,0x49,0x0e,0x64,0x0e, 0x7f,0x0e,0x9b,0x0e,0xb6,0x0e,0xd2,0x0e,0xee,0x0f,0x09,0x0f,0x25,0x0f,0x41,0x0f, 0x5e,0x0f,0x7a,0x0f,0x96,0x0f,0xb3,0x0f,0xcf,0x0f,0xec,0x10,0x09,0x10,0x26,0x10, 0x43,0x10,0x61,0x10,0x7e,0x10,0x9b,0x10,0xb9,0x10,0xd7,0x10,0xf5,0x11,0x13,0x11, 0x31,0x11,0x4f,0x11,0x6d,0x11,0x8c,0x11,0xaa,0x11,0xc9,0x11,0xe8,0x12,0x07,0x12, 0x26,0x12,0x45,0x12,0x64,0x12,0x84,0x12,0xa3,0x12,0xc3,0x12,0xe3,0x13,0x03,0x13, 0x23,0x13,0x43,0x13,0x63,0x13,0x83,0x13,0xa4,0x13,0xc5,0x13,0xe5,0x14,0x06,0x14, 0x27,0x14,0x49,0x14,0x6a,0x14,0x8b,0x14,0xad,0x14,0xce,0x14,0xf0,0x15,0x12,0x15, 0x34,0x15,0x56,0x15,0x78,0x15,0x9b,0x15,0xbd,0x15,0xe0,0x16,0x03,0x16,0x26,0x16, 0x49,0x16,0x6c,0x16,0x8f,0x16,0xb2,0x16,0xd6,0x16,0xfa,0x17,0x1d,0x17,0x41,0x17, 0x65,0x17,0x89,0x17,0xae,0x17,0xd2,0x17,0xf7,0x18,0x1b,0x18,0x40,0x18,0x65,0x18, 0x8a,0x18,0xaf,0x18,0xd5,0x18,0xfa,0x19,0x20,0x19,0x45,0x19,0x6b,0x19,0x91,0x19, 0xb7,0x19,0xdd,0x1a,0x04,0x1a,0x2a,0x1a,0x51,0x1a,0x77,0x1a,0x9e,0x1a,0xc5,0x1a, 0xec,0x1b,0x14,0x1b,0x3b,0x1b,0x63,0x1b,0x8a,0x1b,0xb2,0x1b,0xda,0x1c,0x02,0x1c, 0x2a,0x1c,0x52,0x1c,0x7b,0x1c,0xa3,0x1c,0xcc,0x1c,0xf5,0x1d,0x1e,0x1d,0x47,0x1d, 0x70,0x1d,0x99,0x1d,0xc3,0x1d,0xec,0x1e,0x16,0x1e,0x40,0x1e,0x6a,0x1e,0x94,0x1e, 0xbe,0x1e,0xe9,0x1f,0x13,0x1f,0x3e,0x1f,0x69,0x1f,0x94,0x1f,0xbf,0x1f,0xea,0x20, 0x15,0x20,0x41,0x20,0x6c,0x20,0x98,0x20,0xc4,0x20,0xf0,0x21,0x1c,0x21,0x48,0x21, 0x75,0x21,0xa1,0x21,0xce,0x21,0xfb,0x22,0x27,0x22,0x55,0x22,0x82,0x22,0xaf,0x22, 0xdd,0x23,0x0a,0x23,0x38,0x23,0x66,0x23,0x94,0x23,0xc2,0x23,0xf0,0x24,0x1f,0x24, 0x4d,0x24,0x7c,0x24,0xab,0x24,0xda,0x25,0x09,0x25,0x38,0x25,0x68,0x25,0x97,0x25, 0xc7,0x25,0xf7,0x26,0x27,0x26,0x57,0x26,0x87,0x26,0xb7,0x26,0xe8,0x27,0x18,0x27, 0x49,0x27,0x7a,0x27,0xab,0x27,0xdc,0x28,0x0d,0x28,0x3f,0x28,0x71,0x28,0xa2,0x28, 0xd4,0x29,0x06,0x29,0x38,0x29,0x6b,0x29,0x9d,0x29,0xd0,0x2a,0x02,0x2a,0x35,0x2a, 0x68,0x2a,0x9b,0x2a,0xcf,0x2b,0x02,0x2b,0x36,0x2b,0x69,0x2b,0x9d,0x2b,0xd1,0x2c, 0x05,0x2c,0x39,0x2c,0x6e,0x2c,0xa2,0x2c,0xd7,0x2d,0x0c,0x2d,0x41,0x2d,0x76,0x2d, 0xab,0x2d,0xe1,0x2e,0x16,0x2e,0x4c,0x2e,0x82,0x2e,0xb7,0x2e,0xee,0x2f,0x24,0x2f, 0x5a,0x2f,0x91,0x2f,0xc7,0x2f,0xfe,0x30,0x35,0x30,0x6c,0x30,0xa4,0x30,0xdb,0x31, 0x12,0x31,0x4a,0x31,0x82,0x31,0xba,0x31,0xf2,0x32,0x2a,0x32,0x63,0x32,0x9b,0x32, 0xd4,0x33,0x0d,0x33,0x46,0x33,0x7f,0x33,0xb8,0x33,0xf1,0x34,0x2b,0x34,0x65,0x34, 0x9e,0x34,0xd8,0x35,0x13,0x35,0x4d,0x35,0x87,0x35,0xc2,0x35,0xfd,0x36,0x37,0x36, 0x72,0x36,0xae,0x36,0xe9,0x37,0x24,0x37,0x60,0x37,0x9c,0x37,0xd7,0x38,0x14,0x38, 0x50,0x38,0x8c,0x38,0xc8,0x39,0x05,0x39,0x42,0x39,0x7f,0x39,0xbc,0x39,0xf9,0x3a, 0x36,0x3a,0x74,0x3a,0xb2,0x3a,0xef,0x3b,0x2d,0x3b,0x6b,0x3b,0xaa,0x3b,0xe8,0x3c, 0x27,0x3c,0x65,0x3c,0xa4,0x3c,0xe3,0x3d,0x22,0x3d,0x61,0x3d,0xa1,0x3d,0xe0,0x3e, 0x20,0x3e,0x60,0x3e,0xa0,0x3e,0xe0,0x3f,0x21,0x3f,0x61,0x3f,0xa2,0x3f,0xe2,0x40, 0x23,0x40,0x64,0x40,0xa6,0x40,0xe7,0x41,0x29,0x41,0x6a,0x41,0xac,0x41,0xee,0x42, 0x30,0x42,0x72,0x42,0xb5,0x42,0xf7,0x43,0x3a,0x43,0x7d,0x43,0xc0,0x44,0x03,0x44, 0x47,0x44,0x8a,0x44,0xce,0x45,0x12,0x45,0x55,0x45,0x9a,0x45,0xde,0x46,0x22,0x46, 0x67,0x46,0xab,0x46,0xf0,0x47,0x35,0x47,0x7b,0x47,0xc0,0x48,0x05,0x48,0x4b,0x48, 0x91,0x48,0xd7,0x49,0x1d,0x49,0x63,0x49,0xa9,0x49,0xf0,0x4a,0x37,0x4a,0x7d,0x4a, 0xc4,0x4b,0x0c,0x4b,0x53,0x4b,0x9a,0x4b,0xe2,0x4c,0x2a,0x4c,0x72,0x4c,0xba,0x4d, 0x02,0x4d,0x4a,0x4d,0x93,0x4d,0xdc,0x4e,0x25,0x4e,0x6e,0x4e,0xb7,0x4f,0x00,0x4f, 0x49,0x4f,0x93,0x4f,0xdd,0x50,0x27,0x50,0x71,0x50,0xbb,0x51,0x06,0x51,0x50,0x51, 0x9b,0x51,0xe6,0x52,0x31,0x52,0x7c,0x52,0xc7,0x53,0x13,0x53,0x5f,0x53,0xaa,0x53, 0xf6,0x54,0x42,0x54,0x8f,0x54,0xdb,0x55,0x28,0x55,0x75,0x55,0xc2,0x56,0x0f,0x56, 0x5c,0x56,0xa9,0x56,0xf7,0x57,0x44,0x57,0x92,0x57,0xe0,0x58,0x2f,0x58,0x7d,0x58, 0xcb,0x59,0x1a,0x59,0x69,0x59,0xb8,0x5a,0x07,0x5a,0x56,0x5a,0xa6,0x5a,0xf5,0x5b, 0x45,0x5b,0x95,0x5b,0xe5,0x5c,0x35,0x5c,0x86,0x5c,0xd6,0x5d,0x27,0x5d,0x78,0x5d, 0xc9,0x5e,0x1a,0x5e,0x6c,0x5e,0xbd,0x5f,0x0f,0x5f,0x61,0x5f,0xb3,0x60,0x05,0x60, 0x57,0x60,0xaa,0x60,0xfc,0x61,0x4f,0x61,0xa2,0x61,0xf5,0x62,0x49,0x62,0x9c,0x62, 0xf0,0x63,0x43,0x63,0x97,0x63,0xeb,0x64,0x40,0x64,0x94,0x64,0xe9,0x65,0x3d,0x65, 0x92,0x65,0xe7,0x66,0x3d,0x66,0x92,0x66,0xe8,0x67,0x3d,0x67,0x93,0x67,0xe9,0x68, 0x3f,0x68,0x96,0x68,0xec,0x69,0x43,0x69,0x9a,0x69,0xf1,0x6a,0x48,0x6a,0x9f,0x6a, 0xf7,0x6b,0x4f,0x6b,0xa7,0x6b,0xff,0x6c,0x57,0x6c,0xaf,0x6d,0x08,0x6d,0x60,0x6d, 0xb9,0x6e,0x12,0x6e,0x6b,0x6e,0xc4,0x6f,0x1e,0x6f,0x78,0x6f,0xd1,0x70,0x2b,0x70, 0x86,0x70,0xe0,0x71,0x3a,0x71,0x95,0x71,0xf0,0x72,0x4b,0x72,0xa6,0x73,0x01,0x73, 0x5d,0x73,0xb8,0x74,0x14,0x74,0x70,0x74,0xcc,0x75,0x28,0x75,0x85,0x75,0xe1,0x76, 0x3e,0x76,0x9b,0x76,0xf8,0x77,0x56,0x77,0xb3,0x78,0x11,0x78,0x6e,0x78,0xcc,0x79, 0x2a,0x79,0x89,0x79,0xe7,0x7a,0x46,0x7a,0xa5,0x7b,0x04,0x7b,0x63,0x7b,0xc2,0x7c, 0x21,0x7c,0x81,0x7c,0xe1,0x7d,0x41,0x7d,0xa1,0x7e,0x01,0x7e,0x62,0x7e,0xc2,0x7f, 0x23,0x7f,0x84,0x7f,0xe5,0x80,0x47,0x80,0xa8,0x81,0x0a,0x81,0x6b,0x81,0xcd,0x82, 0x30,0x82,0x92,0x82,0xf4,0x83,0x57,0x83,0xba,0x84,0x1d,0x84,0x80,0x84,0xe3,0x85, 0x47,0x85,0xab,0x86,0x0e,0x86,0x72,0x86,0xd7,0x87,0x3b,0x87,0x9f,0x88,0x04,0x88, 0x69,0x88,0xce,0x89,0x33,0x89,0x99,0x89,0xfe,0x8a,0x64,0x8a,0xca,0x8b,0x30,0x8b, 0x96,0x8b,0xfc,0x8c,0x63,0x8c,0xca,0x8d,0x31,0x8d,0x98,0x8d,0xff,0x8e,0x66,0x8e, 0xce,0x8f,0x36,0x8f,0x9e,0x90,0x06,0x90,0x6e,0x90,0xd6,0x91,0x3f,0x91,0xa8,0x92, 0x11,0x92,0x7a,0x92,0xe3,0x93,0x4d,0x93,0xb6,0x94,0x20,0x94,0x8a,0x94,0xf4,0x95, 0x5f,0x95,0xc9,0x96,0x34,0x96,0x9f,0x97,0x0a,0x97,0x75,0x97,0xe0,0x98,0x4c,0x98, 0xb8,0x99,0x24,0x99,0x90,0x99,0xfc,0x9a,0x68,0x9a,0xd5,0x9b,0x42,0x9b,0xaf,0x9c, 0x1c,0x9c,0x89,0x9c,0xf7,0x9d,0x64,0x9d,0xd2,0x9e,0x40,0x9e,0xae,0x9f,0x1d,0x9f, 0x8b,0x9f,0xfa,0xa0,0x69,0xa0,0xd8,0xa1,0x47,0xa1,0xb6,0xa2,0x26,0xa2,0x96,0xa3, 0x06,0xa3,0x76,0xa3,0xe6,0xa4,0x56,0xa4,0xc7,0xa5,0x38,0xa5,0xa9,0xa6,0x1a,0xa6, 0x8b,0xa6,0xfd,0xa7,0x6e,0xa7,0xe0,0xa8,0x52,0xa8,0xc4,0xa9,0x37,0xa9,0xa9,0xaa, 0x1c,0xaa,0x8f,0xab,0x02,0xab,0x75,0xab,0xe9,0xac,0x5c,0xac,0xd0,0xad,0x44,0xad, 0xb8,0xae,0x2d,0xae,0xa1,0xaf,0x16,0xaf,0x8b,0xb0,0x00,0xb0,0x75,0xb0,0xea,0xb1, 0x60,0xb1,0xd6,0xb2,0x4b,0xb2,0xc2,0xb3,0x38,0xb3,0xae,0xb4,0x25,0xb4,0x9c,0xb5, 0x13,0xb5,0x8a,0xb6,0x01,0xb6,0x79,0xb6,0xf0,0xb7,0x68,0xb7,0xe0,0xb8,0x59,0xb8, 0xd1,0xb9,0x4a,0xb9,0xc2,0xba,0x3b,0xba,0xb5,0xbb,0x2e,0xbb,0xa7,0xbc,0x21,0xbc, 0x9b,0xbd,0x15,0xbd,0x8f,0xbe,0x0a,0xbe,0x84,0xbe,0xff,0xbf,0x7a,0xbf,0xf5,0xc0, 0x70,0xc0,0xec,0xc1,0x67,0xc1,0xe3,0xc2,0x5f,0xc2,0xdb,0xc3,0x58,0xc3,0xd4,0xc4, 0x51,0xc4,0xce,0xc5,0x4b,0xc5,0xc8,0xc6,0x46,0xc6,0xc3,0xc7,0x41,0xc7,0xbf,0xc8, 0x3d,0xc8,0xbc,0xc9,0x3a,0xc9,0xb9,0xca,0x38,0xca,0xb7,0xcb,0x36,0xcb,0xb6,0xcc, 0x35,0xcc,0xb5,0xcd,0x35,0xcd,0xb5,0xce,0x36,0xce,0xb6,0xcf,0x37,0xcf,0xb8,0xd0, 0x39,0xd0,0xba,0xd1,0x3c,0xd1,0xbe,0xd2,0x3f,0xd2,0xc1,0xd3,0x44,0xd3,0xc6,0xd4, 0x49,0xd4,0xcb,0xd5,0x4e,0xd5,0xd1,0xd6,0x55,0xd6,0xd8,0xd7,0x5c,0xd7,0xe0,0xd8, 0x64,0xd8,0xe8,0xd9,0x6c,0xd9,0xf1,0xda,0x76,0xda,0xfb,0xdb,0x80,0xdc,0x05,0xdc, 0x8a,0xdd,0x10,0xdd,0x96,0xde,0x1c,0xde,0xa2,0xdf,0x29,0xdf,0xaf,0xe0,0x36,0xe0, 0xbd,0xe1,0x44,0xe1,0xcc,0xe2,0x53,0xe2,0xdb,0xe3,0x63,0xe3,0xeb,0xe4,0x73,0xe4, 0xfc,0xe5,0x84,0xe6,0x0d,0xe6,0x96,0xe7,0x1f,0xe7,0xa9,0xe8,0x32,0xe8,0xbc,0xe9, 0x46,0xe9,0xd0,0xea,0x5b,0xea,0xe5,0xeb,0x70,0xeb,0xfb,0xec,0x86,0xed,0x11,0xed, 0x9c,0xee,0x28,0xee,0xb4,0xef,0x40,0xef,0xcc,0xf0,0x58,0xf0,0xe5,0xf1,0x72,0xf1, 0xff,0xf2,0x8c,0xf3,0x19,0xf3,0xa7,0xf4,0x34,0xf4,0xc2,0xf5,0x50,0xf5,0xde,0xf6, 0x6d,0xf6,0xfb,0xf7,0x8a,0xf8,0x19,0xf8,0xa8,0xf9,0x38,0xf9,0xc7,0xfa,0x57,0xfa, 0xe7,0xfb,0x77,0xfc,0x07,0xfc,0x98,0xfd,0x29,0xfd,0xba,0xfe,0x4b,0xfe,0xdc,0xff, 0x6d,0xff,0xff,0xff,0xc0,0x00,0x11,0x08,0x00,0xc8,0x00,0xc8,0x03,0x01,0x11,0x00, 0x02,0x11,0x01,0x03,0x11,0x01,0xff,0xdb,0x00,0x84,0x00,0x03,0x02,0x02,0x03,0x02, 0x02,0x03,0x03,0x02,0x03,0x03,0x03,0x03,0x04,0x05,0x08,0x05,0x05,0x04,0x04,0x05, 0x0a,0x07,0x08,0x06,0x08,0x0c,0x0b,0x0d,0x0d,0x0c,0x0b,0x0c,0x0c,0x0e,0x0f,0x14, 0x11,0x0e,0x0f,0x13,0x0f,0x0c,0x0c,0x11,0x18,0x11,0x13,0x15,0x15,0x16,0x17,0x16, 0x0d,0x11,0x19,0x1a,0x18,0x16,0x1a,0x14,0x16,0x16,0x15,0x01,0x03,0x03,0x03,0x05, 0x04,0x05,0x0a,0x05,0x05,0x0a,0x15,0x0e,0x0c,0x0e,0x0e,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15, 0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,0xff,0xc4,0x01,0xa2, 0x00,0x00,0x01,0x05,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x10,0x00,0x02, 0x01,0x03,0x03,0x02,0x04,0x03,0x05,0x05,0x04,0x04,0x00,0x00,0x01,0x7d,0x01,0x02, 0x03,0x00,0x04,0x11,0x05,0x12,0x21,0x31,0x41,0x06,0x13,0x51,0x61,0x07,0x22,0x71, 0x14,0x32,0x81,0x91,0xa1,0x08,0x23,0x42,0xb1,0xc1,0x15,0x52,0xd1,0xf0,0x24,0x33, 0x62,0x72,0x82,0x09,0x0a,0x16,0x17,0x18,0x19,0x1a,0x25,0x26,0x27,0x28,0x29,0x2a, 0x34,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a,0x53, 0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a,0x73, 0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x92, 0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9, 0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7, 0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe1,0xe2,0xe3,0xe4, 0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa, 0x01,0x00,0x03,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x00,0x00,0x00,0x00, 0x00,0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x11,0x00,0x02, 0x01,0x02,0x04,0x04,0x03,0x04,0x07,0x05,0x04,0x04,0x00,0x01,0x02,0x77,0x00,0x01, 0x02,0x03,0x11,0x04,0x05,0x21,0x31,0x06,0x12,0x41,0x51,0x07,0x61,0x71,0x13,0x22, 0x32,0x81,0x08,0x14,0x42,0x91,0xa1,0xb1,0xc1,0x09,0x23,0x33,0x52,0xf0,0x15,0x62, 0x72,0xd1,0x0a,0x16,0x24,0x34,0xe1,0x25,0xf1,0x17,0x18,0x19,0x1a,0x26,0x27,0x28, 0x29,0x2a,0x35,0x36,0x37,0x38,0x39,0x3a,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0x4a, 0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0x6a, 0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89, 0x8a,0x92,0x93,0x94,0x95,0x96,0x97,0x98,0x99,0x9a,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7, 0xa8,0xa9,0xaa,0xb2,0xb3,0xb4,0xb5,0xb6,0xb7,0xb8,0xb9,0xba,0xc2,0xc3,0xc4,0xc5, 0xc6,0xc7,0xc8,0xc9,0xca,0xd2,0xd3,0xd4,0xd5,0xd6,0xd7,0xd8,0xd9,0xda,0xe2,0xe3, 0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xea,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0xfa, 0xff,0xda,0x00,0x0c,0x03,0x01,0x00,0x02,0x11,0x03,0x11,0x00,0x3f,0x00,0xfd,0x53, 0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0xf3,0x5f,0x89,0xbf, 0x16,0xae,0xbc,0x29,0xe2,0x1d,0x33,0xc2,0xbe,0x0c,0xd2,0x53,0x5e,0xf1,0x66,0xa5, 0x6f,0x25,0xe4,0x76,0xd3,0x4f,0xe4,0xc1,0x6d,0x6e,0x84,0x2b,0x4b,0x2b,0xe0,0x9c, 0x6e,0x38,0x00,0x0c,0x93,0x9e,0x98,0xa0,0x0e,0x42,0x0f,0x8a,0x5f,0x18,0xf4,0x99, 0x65,0x6d,0x6b,0xe1,0xc6,0x81,0xac,0xc2,0x79,0x5f,0xec,0x9d,0x6c,0x44,0xc3,0xf0, 0x91,0x39,0xfc,0xe8,0x02,0x78,0xff,0x00,0x69,0x6d,0x53,0x4f,0x1f,0xf1,0x55,0x7c, 0x27,0xf8,0x87,0xa7,0xe3,0xef,0x3d,0x9c,0x30,0xde,0x20,0xfc,0x52,0x4c,0xfe,0x94, 0x01,0x66,0xdf,0xf6,0xbc,0xf8,0x76,0xaf,0xb3,0x5d,0x9b,0xc4,0x3a,0x03,0xf7,0x1a, 0xa6,0x8d,0x73,0x18,0x1f,0x52,0x10,0x8f,0xd6,0x80,0x3a,0x2d,0x1b,0xf6,0x8f,0xf8, 0x5f,0xaf,0x30,0x5d,0x33,0xc7,0xbe,0x17,0x67,0x3f,0xc1,0x2d,0xea,0x44,0xdf,0x93, 0x90,0x68,0x03,0xb6,0xd2,0xfc,0x45,0xa5,0x6b,0x89,0xbb,0x45,0xd4,0xf4,0xfd,0x41, 0x7d,0x6d,0x6e,0x12,0x41,0xff,0x00,0x8e,0x93,0x40,0x1a,0x34,0x00,0x50,0x01,0x40, 0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00, 0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x1f,0x3e,0xf8,0x58, 0x9f,0x13,0xfe,0xd4,0x1f,0x12,0xb5,0x87,0xf9,0xe1,0xd1,0x2c,0x2c,0x34,0x18,0x18, 0xf6,0x62,0x0c,0xf2,0x01,0xf8,0xb8,0xa0,0x0f,0x5e,0x68,0x80,0x38,0x22,0x80,0x18, 0x20,0x52,0x7a,0x50,0x07,0x9f,0xeb,0x1f,0x15,0x74,0xab,0x0f,0x88,0xd2,0x78,0x42, 0xee,0xc9,0xa7,0x92,0x2b,0x61,0x71,0x34,0xeb,0x2a,0xb1,0x8c,0x79,0x4f,0x29,0x26, 0x32,0x33,0xb0,0x2a,0x0c,0xbe,0x70,0x0c,0x88,0x31,0xcd,0x00,0x73,0x57,0xbe,0x2c, 0xf8,0x63,0xe2,0x0d,0x0e,0xdb,0x54,0xf1,0x9f,0x87,0x34,0xeb,0x6b,0x3b,0xa8,0x45, 0xc2,0x4b,0x7f,0x65,0x6f,0x70,0x0c,0x45,0xe3,0x40,0xc5,0xa3,0x2f,0xb7,0xe6,0x99, 0x06,0x0e,0x08,0xe7,0x20,0x60,0xd0,0x05,0x2f,0x13,0xfc,0x11,0xf8,0x1d,0x69,0x7e, 0x60,0xd6,0x34,0x8d,0x0b,0x4a,0xbc,0x66,0x45,0x06,0xd6,0x49,0x2d,0xdb,0x73,0x29, 0x75,0xc1,0x42,0x3a,0xa8,0x27,0xe9,0x40,0x0e,0xd3,0xbf,0x67,0xff,0x00,0x0a,0xb2, 0xdd,0x3f,0x80,0xbc,0x7d,0xe3,0x7d,0x24,0x5a,0x39,0x8e,0x61,0xa5,0xf8,0x9a,0x49, 0x12,0xdd,0x87,0x50,0xca,0xc5,0x82,0xe3,0x1d,0x0f,0xa5,0x00,0x58,0x9b,0xe1,0x9f, 0xc4,0xad,0x18,0x86,0xf0,0x97,0xc6,0x7f,0x11,0x32,0x8e,0x55,0x35,0x8d,0x3a,0xda, 0xf5,0x48,0xf7,0x24,0x02,0x68,0x01,0x23,0xbd,0xfd,0xa1,0x34,0x51,0xfb,0x9f,0x10, 0xfc,0x37,0xf1,0x12,0x8e,0xd7,0xba,0x6d,0xc5,0xa3,0xb7,0xe3,0x1b,0x11,0x40,0x13, 0xc7,0xf1,0x8f,0xe3,0x66,0x90,0xdf,0xf1,0x3a,0xf8,0x5b,0xe1,0xbd,0x69,0x07,0x56, 0xd1,0xf5,0xf1,0x11,0x3f,0x45,0x95,0x3f,0xad,0x00,0x59,0x8f,0xf6,0xa7,0xd6,0x74, 0xe1,0xff,0x00,0x15,0x6f,0xc1,0xcf,0x89,0x1a,0x7e,0x3e,0xf4,0x96,0x30,0xc3,0x7c, 0x83,0xf1,0x47,0xcf,0xe9,0x40,0x12,0x9f,0xdb,0x63,0xe1,0xa5,0x9c,0x4e,0xde,0x23, 0x93,0xc4,0x9e,0x1c,0x64,0xea,0xba,0xc6,0x8d,0x71,0x00,0x1f,0x56,0xda,0x54,0x7e, 0x26,0x80,0x3d,0xaf,0x40,0xd7,0xb4,0xff,0x00,0x14,0x68,0xd6,0x7a,0xae,0x81,0x77, 0x05,0xf6,0x9d,0x77,0x1a,0xcd,0x05,0xc4,0x0e,0x19,0x24,0x42,0x32,0x08,0x23,0xad, 0x00,0x68,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00, 0x50,0x01,0x40,0x05,0x00,0x7c,0xc1,0xff,0x00,0x05,0x1b,0xf8,0x89,0x77,0xf0,0xf7, 0xf6,0x65,0xd5,0x1b,0x44,0xbe,0xb9,0xd3,0xf5,0x2d,0x56,0xfa,0xda,0xc2,0x09,0xed, 0xa5,0x68,0xa4,0x40,0x5b,0xcc,0x72,0xac,0xa4,0x11,0xf2,0xc6,0xc3,0x8f,0x5a,0x4c, 0x0c,0xcf,0xf8,0x27,0xf6,0x89,0x7f,0x6f,0xfb,0x3d,0xd9,0x6b,0x3e,0x21,0xba,0xbb, 0xbf,0xd5,0x75,0xdb,0xc9,0x6f,0xae,0x2e,0xee,0xe4,0x69,0x25,0x94,0xe0,0x20,0x2c, 0xcc,0x49,0x63,0xf2,0xf5,0x34,0xc0,0xf6,0x5b,0xff,0x00,0x8a,0xbe,0x1c,0xd3,0x35, 0x6b,0xad,0x3f,0x50,0xb8,0xbb,0x86,0x6b,0x69,0x0c,0x52,0x49,0xf6,0x67,0x64,0xdc, 0x3a,0xe1,0x80,0x35,0x4a,0x0d,0xab,0x90,0xe6,0x96,0x85,0xab,0x3f,0x89,0x3e,0x14, 0xbe,0x38,0x83,0x5f,0xd3,0x83,0x1f,0xe1,0x95,0xfc,0xb3,0xff,0x00,0x8f,0x62,0x8e, 0x56,0x3e,0x64,0x52,0xd5,0x7c,0x0d,0xe1,0x5f,0x18,0x8b,0xb9,0x23,0x9e,0x36,0xb8, 0xbc,0x79,0x24,0x96,0xea,0xc6,0xec,0x79,0x8c,0x5e,0x0f,0xb3,0xb6,0x0e,0x4f,0x06, 0x3c,0x0c,0x63,0x19,0x00,0xe3,0x22,0xa7,0x62,0xae,0x55,0xb6,0xf8,0x2f,0xa6,0x43, 0x79,0xa7,0x4f,0x73,0x75,0x77,0x78,0xb6,0x5e,0x5a,0xac,0x53,0x41,0x0a,0xac,0x88, 0x8c,0xcc,0x15,0x82,0x22,0x83,0x92,0x57,0x27,0x19,0x3b,0x17,0x34,0x01,0xcf,0xd9, 0x7c,0x0b,0xbc,0xd0,0x7c,0x43,0x65,0xa8,0x69,0x3a,0xcb,0xdd,0xdb,0xda,0xdc,0xcb, 0x24,0x50,0x5c,0xcd,0x34,0x12,0x43,0x0b,0x2c,0x29,0x1c,0x6b,0x24,0x67,0x2e,0x23, 0x48,0x8a,0x80,0xc0,0x82,0x1b,0x9e,0x99,0xa0,0x0a,0x3a,0x0f,0xc2,0x7d,0x47,0xc1, 0x96,0x3a,0x94,0x72,0xbb,0xeb,0x73,0xde,0x41,0x6c,0xe2,0x64,0x95,0x03,0x43,0x70, 0x92,0x49,0x23,0xaa,0xab,0x80,0xad,0x0f,0x98,0xfb,0xc0,0x6e,0x7e,0x66,0x07,0xa0, 0xc0,0x06,0xde,0x83,0xa2,0x3a,0x5e,0x04,0xf1,0x5e,0x93,0x34,0xba,0x9f,0x9a,0x1e, 0x3b,0xdb,0x40,0x7e,0xcf,0x12,0x00,0x36,0xaa,0x10,0xc3,0xcb,0x51,0x82,0x36,0xe3, 0x9e,0xbc,0xe6,0x80,0x28,0xde,0x78,0x47,0xc4,0x37,0xde,0x1f,0xbd,0xff,0x00,0x84, 0x4f,0x59,0xba,0xd0,0x35,0x29,0x75,0x29,0x1d,0x24,0xbb,0x79,0x26,0x55,0xb6,0x57, 0x21,0x51,0x55,0x89,0x03,0x70,0x00,0xe7,0x1d,0x0d,0x00,0x77,0xe9,0x11,0x58,0x91, 0x64,0x25,0x98,0x28,0x05,0x8f,0xf1,0x1c,0x72,0x68,0x01,0x44,0x63,0x3c,0x0c,0x50, 0x05,0x3d,0x7e,0x1b,0x39,0x34,0x3b,0xff,0x00,0xed,0x98,0xa2,0xb9,0xb1,0x5b,0x79, 0x1a,0x78,0xa6,0x50,0xca,0xc8,0x14,0x92,0x08,0x3e,0xd4,0x01,0xe4,0xdf,0xf0,0x4e, 0x47,0xbb,0x9b,0xf6,0x67,0xb0,0x9a,0xef,0x72,0xd9,0xcd,0xa9,0xde,0xc9,0x61,0x11, 0xe9,0x15,0xbb,0x4a,0x4a,0xaa,0xfb,0x0c,0x9c,0x50,0x07,0xd4,0x14,0x00,0x50,0x01, 0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x1f, 0x9c,0xbf,0xf0,0x56,0xef,0x16,0x1b,0xab,0xaf,0x87,0x3e,0x0d,0xb7,0x62,0x5a,0x46, 0x9f,0x51,0x95,0x07,0x7c,0x95,0x8a,0x3f,0xfd,0xa9,0x49,0x8d,0x1f,0x64,0x7c,0x11, 0xf0,0xda,0x78,0x27,0xe0,0xf7,0x84,0x34,0xa6,0x5d,0x9f,0x63,0xd2,0xe1,0x32,0x02, 0x31,0x86,0x2b,0xb9,0xbf,0x52,0x69,0x88,0xe3,0x74,0x92,0x97,0xd6,0xa6,0xe6,0xe1, 0x72,0xf7,0x32,0x3d,0xc1,0xcf,0x39,0x2e,0xc4,0xff,0x00,0x5a,0xed,0x82,0xb2,0x38, 0xa6,0xee,0xc2,0xef,0x44,0xb2,0xb8,0x04,0x4f,0x6f,0x13,0xff,0x00,0xbc,0xa0,0xd5, 0x10,0x61,0x5e,0xf8,0x33,0x48,0x65,0x66,0x36,0xd1,0xc6,0x54,0x16,0xdd,0x18,0x2a, 0x78,0xfa,0x53,0xb2,0x0b,0xb4,0x67,0xe9,0xb6,0xad,0x1a,0xa3,0xe9,0x1a,0xce,0xb1, 0xa7,0x6f,0x6d,0xb1,0xaa,0xde,0xb0,0xdf,0xf4,0x1b,0x88,0x34,0x3a,0x71,0x7d,0x01, 0x54,0x92,0xea,0x69,0x9f,0x10,0xf8,0xb7,0x4b,0x88,0xb5,0x9f,0x8a,0xaf,0x25,0x45, 0xff,0x00,0x9e,0xe9,0x1c,0xc3,0xf5,0x15,0x3e,0xc2,0x2c,0xaf,0x6f,0x24,0x72,0xd7, 0xbf,0x1b,0x3e,0x23,0xe9,0xf7,0x6c,0x2d,0xa6,0xf0,0xe6,0xa1,0x18,0xfe,0x1b,0x9b, 0x36,0x46,0x23,0xea,0x8c,0x3f,0x95,0x57,0xd4,0xd3,0xea,0x47,0xd7,0x1a,0xe8,0x4d, 0x07,0xed,0x41,0xe2,0xcb,0x1d,0xbf,0xdb,0x5e,0x0a,0xd3,0x2e,0xc7,0x76,0xb1,0xd4, 0x1a,0x33,0xf9,0x32,0x9a,0x4f,0x02,0xfa,0x32,0x96,0x39,0x75,0x46,0x95,0xb7,0xed, 0x7b,0xa5,0xc6,0x40,0xd7,0x3c,0x1b,0xe2,0x7b,0x3f,0x56,0x81,0xa2,0x9c,0x0f,0xd4, 0x1f,0xd2,0xa1,0xe0,0xa6,0x5a,0xc6,0xc3,0xa9,0xaf,0x67,0xfb,0x5c,0x7c,0x36,0xb8, 0x20,0x5f,0xde,0xeb,0x1a,0x5b,0x74,0x3f,0x6c,0xd3,0x65,0x00,0x7e,0x2a,0x1a,0xb3, 0x78,0x4a,0x8b,0xa1,0x6b,0x17,0x4d,0xf5,0x3b,0x0f,0x0c,0x7c,0x67,0xf0,0x1f,0x8c, 0xef,0xa1,0xb2,0xf0,0xbf,0x8a,0xf4,0x7b,0xeb,0xe9,0x8e,0x23,0xb5,0x12,0xec,0x95, 0xcf,0x5c,0x04,0x60,0x09,0x35,0x9c,0xa9,0x4e,0x3b,0xa3,0x58,0xd5,0x84,0xb6,0x66, 0x5f,0xed,0x27,0xe2,0x43,0xe0,0xef,0x80,0x3f,0x10,0x35,0x64,0x6d,0x92,0x41,0xa3, 0x5c,0x2c,0x67,0x3f,0xc6,0xeb,0xb1,0x7f,0x56,0x15,0x99,0xa1,0xc4,0x7e,0xc1,0x5f, 0x1c,0xfc,0x09,0xae,0x7c,0x3a,0xf0,0xef,0xc3,0x1f,0x0c,0x5d,0x5f,0x0f,0x12,0xe8, 0x7a,0x66,0xfb,0xcb,0x7b,0x8b,0x66,0x44,0x62,0xac,0x03,0x95,0x7e,0x8d,0xf3,0x30, 0xf7,0xa5,0x71,0xd8,0xfa,0xce,0x98,0x82,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80, 0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0xfc,0xa2,0xfd,0xad,0x6f,0x5b,0xe2, 0xff,0x00,0xfc,0x14,0x0b,0x4b,0xf0,0xd5,0xb3,0x79,0xd0,0x58,0x4f,0x61,0xa5,0x01, 0x9c,0x81,0x8c,0x48,0xff,0x00,0xf8,0xf4,0xa7,0xf2,0xa5,0xd4,0x7d,0x0f,0xd2,0x5f, 0x19,0xdd,0x2e,0x8d,0xe0,0xdd,0x51,0xed,0xb0,0x9b,0x2d,0x9a,0x18,0x87,0xa1,0x61, 0xb1,0x7f,0x98,0xaa,0x8a,0xbb,0x26,0x4e,0xc8,0xf3,0xfb,0x28,0x7e,0xc9,0x6b,0x14, 0x4b,0xc0,0x44,0x0b,0x8f,0xa0,0xae,0xd3,0x86,0xe3,0xc8,0xdd,0xf7,0xa9,0x88,0xa1, 0x76,0x9e,0x6a,0xbc,0x6d,0x9c,0x30,0x23,0x2a,0x70,0x71,0xf5,0xa6,0x26,0x73,0x97, 0x5e,0x18,0xb3,0x2e,0xb2,0xbc,0xb7,0x05,0x90,0x1d,0xc4,0xb7,0xde,0x3d,0x8f,0x18, 0xc1,0x04,0x03,0xc0,0xed,0x56,0x9b,0x26,0xc7,0x1d,0xaf,0x5b,0x4b,0x72,0x62,0x86, 0x0b,0x88,0x82,0x47,0xdd,0x22,0xd9,0x83,0x91,0xf3,0x00,0x0f,0xde,0xe3,0x92,0x73, 0xd4,0xd6,0xd1,0x56,0x31,0x9b,0xb9,0xc9,0xcf,0xa3,0x6a,0x71,0x5d,0x79,0x90,0x5d, 0x08,0xf7,0x15,0x0e,0x56,0x42,0xdd,0x3b,0xf3,0x8e,0xa4,0x9f,0x97,0xa7,0x35,0xa2, 0x66,0x65,0xab,0x58,0xee,0x61,0x81,0x4e,0xa1,0x29,0x9e,0x46,0x00,0xb0,0x65,0x18, 0x53,0xdf,0x18,0xff,0x00,0x3c,0x53,0x13,0x20,0x9c,0x2c,0x8c,0x77,0x22,0x7f,0xdf, 0x35,0x4b,0x42,0x59,0x46,0x5d,0x3e,0xda,0x64,0x3e,0x64,0x48,0x4f,0xb8,0xaa,0x52, 0x64,0x72,0xa3,0xb6,0xf8,0x11,0xe1,0x1d,0x3e,0xf3,0xe2,0x65,0x85,0xdf,0xd8,0xe1, 0x32,0xd9,0x47,0x25,0xc2,0xbe,0xd1,0x94,0x21,0x76,0x8f,0xfd,0x0a,0xb9,0xb1,0x93, 0x6a,0x9b,0x3a,0xb0,0x70,0xbd,0x44,0xcd,0x4f,0xf8,0x28,0x56,0xbd,0xfd,0x95,0xfb, 0x3a,0xdc,0x69,0xea,0xdb,0x5f,0x58,0xd5,0x6c,0xec,0xb1,0xea,0xa1,0xfc,0xc6,0xfd, 0x23,0x35,0xe3,0x1e,0xc9,0xf1,0xff,0x00,0xfc,0x13,0xdb,0xc4,0x5f,0xd8,0x9f,0xb4, 0xef,0x86,0xde,0x46,0xda,0xba,0xaf,0xda,0xec,0xdb,0x3d,0xf7,0x44,0xcc,0x3f,0x55, 0x15,0x0b,0x72,0x99,0xfb,0x0b,0x56,0x48,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50, 0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x1f,0x95,0xdf,0x00,0x7c,0x1d,0xac, 0xeb,0xbf,0xf0,0x51,0x9f,0x16,0x5c,0xf8,0xce,0xd4,0xc3,0xa8,0x69,0x7a,0x9e,0xa1, 0x7f,0x70,0x8d,0xc8,0x04,0xb1,0x31,0x90,0x7d,0x0a,0xb2,0x60,0xfa,0x11,0x49,0x0d, 0x9f,0xa3,0xde,0x25,0xd1,0x17,0xc4,0xba,0x51,0xb1,0x92,0x76,0xb7,0x53,0x2c,0x72, 0x16,0x55,0xce,0x76,0xb6,0x70,0x7d,0xb2,0x2a,0xa2,0xec,0xee,0x4c,0x95,0xd5,0x8c, 0x59,0x7c,0x0d,0x38,0x1f,0xb9,0xba,0x85,0xfd,0x99,0x48,0xff,0x00,0x1a,0xdd,0x56, 0xf2,0x30,0x74,0x3c,0xca,0x73,0x78,0x37,0x52,0x8c,0x1f,0x2d,0x22,0x97,0xfd,0xd9, 0x07,0xf5,0xaa,0x55,0xa2,0xc8,0x74,0x64,0x63,0x5e,0x78,0x77,0x53,0xb6,0xcb,0x4b, 0x65,0x71,0x8f,0x55,0x5d,0xdf,0xca,0xad,0x54,0x8b,0xea,0x4b,0xa7,0x25,0xd0,0xe2, 0x7c,0x41,0x35,0xdc,0x65,0xe3,0x30,0x5c,0x47,0x8f,0xef,0x21,0x15,0xbc,0x1a,0x7d, 0x4c,0x26,0x9a,0xe8,0x71,0x72,0x4a,0x09,0x6c,0x9e,0x73,0xeb,0x5d,0x07,0x35,0xca, 0x73,0x12,0xd9,0x20,0xd3,0x02,0x9c,0xae,0xc0,0x60,0x74,0xa6,0x84,0xca,0x32,0xb9, 0x07,0x93,0xd7,0xb5,0x51,0x2d,0x95,0xa4,0x9b,0x27,0x9e,0x99,0xaa,0x48,0x96,0xcf, 0x69,0xfd,0x9b,0x34,0xe5,0x6d,0x47,0x5c,0xbf,0xc7,0xfa,0xb8,0xa3,0x80,0x13,0xea, 0xc4,0x93,0xff,0x00,0xa0,0x8a,0xf3,0xf1,0xf2,0xd1,0x23,0xd0,0xc0,0x47,0x56,0xcf, 0x0f,0xff,0x00,0x82,0x9e,0xf8,0x8f,0xca,0xd2,0xfc,0x07,0xa1,0xc6,0xdd,0x65,0xbd, 0xd4,0xe4,0x50,0x7f,0xb9,0x18,0x8d,0x3f,0x59,0x0d,0x79,0x8c,0xf4,0x8f,0x94,0x7f, 0x66,0x09,0xae,0xac,0x3e,0x3d,0x7c,0x33,0x7d,0x2e,0x33,0x2d,0xc8,0xd7,0x2d,0x70, 0x80,0xe3,0x70,0x69,0x00,0x6f,0xfc,0x77,0x35,0x28,0x6c,0xfd,0xc0,0xab,0x10,0x50, 0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40, 0x1f,0x35,0xf8,0x3e,0xc2,0xd3,0x5c,0xfd,0xaf,0xfe,0x29,0xeb,0xd6,0x76,0xf0,0xa1, 0xd2,0xf4,0xcd,0x3b,0x46,0x79,0x91,0x70,0x64,0x95,0x97,0xcd,0x62,0x4f,0x72,0x14, 0xaa,0xfd,0x14,0x50,0x07,0xb7,0x93,0x9a,0x00,0x03,0x10,0x38,0xa0,0x05,0x32,0xe0, 0x72,0x68,0x02,0x95,0xcd,0xe1,0x66,0xc2,0x9a,0x00,0x80,0xcd,0x91,0x87,0x00,0x8f, 0x43,0x40,0x15,0x2e,0xb4,0x8d,0x36,0xf8,0x1f,0xb6,0x69,0xf6,0x53,0x67,0xa9,0x78, 0x54,0x9f,0xe5,0x54,0xa6,0xd6,0xcc,0x97,0x08,0xbd,0xd1,0x8f,0x79,0xf0,0xdf,0xc2, 0xf7,0xc3,0xf7,0xda,0x4c,0x11,0x93,0xde,0x26,0x64,0x3f,0xa1,0xad,0x16,0x22,0xa2, 0xea,0x66,0xf0,0xf4,0xdf,0x43,0x12,0xf7,0xe0,0x5f,0x86,0xae,0xc1,0x36,0xd2,0x6a, 0x56,0xa4,0xff,0x00,0x72,0x60,0xc3,0xf5,0x15,0xa2,0xc6,0x4d,0x19,0xbc,0x1c,0x19, 0x81,0x7d,0xfb,0x39,0x41,0x26,0x7f,0xb3,0x75,0xe9,0x53,0xda,0x7b,0x70,0xdf,0xa8, 0x22,0xb5,0x58,0xe7,0xd5,0x19,0x3c,0x0a,0xe8,0xce,0x7e,0xfb,0xf6,0x71,0xf1,0x0c, 0x24,0xb5,0x95,0xf6,0x93,0x76,0x3b,0x06,0xde,0x84,0xfe,0x62,0xb5,0x58,0xe8,0xbd, 0xd1,0x8b,0xc0,0xcf,0xa3,0x3d,0x2f,0xe0,0xf7,0x82,0xaf,0xbc,0x13,0xa0,0x5e,0x41, 0xad,0xc7,0x0c,0x77,0x97,0x17,0x26,0x42,0x22,0x7d,0xe3,0x60,0x50,0x07,0x3f,0x9d, 0x72,0x62,0x6a,0xaa,0x92,0xba,0xec,0x76,0x61,0x69,0x3a,0x71,0xb3,0xee,0x7c,0x0b, 0xff,0x00,0x05,0x23,0xf1,0x1f,0xf6,0x97,0xc6,0xd8,0x74,0xd8,0xdf,0x29,0xa5,0xe8, 0xb6,0xf0,0x6d,0xf4,0x79,0xa5,0x69,0x1b,0xff,0x00,0x1d,0x45,0xae,0x49,0x6c,0x75, 0x23,0x3b,0xfe,0x09,0xf7,0xe0,0xff,0x00,0xf8,0x49,0xff,0x00,0x69,0xcd,0x06,0x59, 0x23,0xdf,0x0e,0x8b,0x69,0x3e,0xa0,0xfc,0x70,0x19,0x53,0xcb,0x5f,0xfc,0x7a,0x41, 0x49,0x03,0x3f,0x5d,0x6a,0xc4,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50, 0x01,0x40,0x05,0x00,0x14,0x00,0x84,0x85,0x04,0x93,0x80,0x3b,0x9a,0x00,0xf9,0xa7, 0xf6,0x55,0x97,0xfe,0x12,0x0d,0x1f,0xc7,0x1e,0x30,0x71,0xcf,0x89,0xbc,0x53,0x7d, 0x79,0x1b,0x1e,0xf0,0xa3,0xf9,0x71,0x7e,0x1b,0x56,0x80,0x3d,0xd4,0x40,0xe4,0x64, 0x2b,0x60,0xf4,0x38,0xe2,0x80,0x30,0x3c,0x25,0xa8,0x6a,0x7a,0x8e,0x93,0x2c,0xde, 0x22,0x8e,0xde,0x2b,0x91,0x79,0x71,0x12,0x2c,0x11,0xb4,0x6a,0x62,0x49,0x19,0x11, 0xb0,0xc4,0x9e,0x42,0xe7,0xf1,0xa0,0x0d,0x0b,0x99,0xb6,0x8d,0xab,0x40,0x1c,0xc7, 0x8b,0xfc,0x63,0x61,0xe0,0x8d,0x34,0x5f,0xeb,0xa9,0x7c,0x6d,0x72,0xde,0x64,0x96, 0xd6,0xed,0x28,0x89,0x54,0x65,0x9d,0xf1,0xf7,0x54,0x0f,0xc4,0xf4,0x00,0x9e,0x28, 0x03,0x68,0x10,0xca,0x19,0x79,0x04,0x64,0x1f,0x6a,0x00,0x70,0xc9,0xa0,0x05,0x0a, 0x40,0xc9,0x07,0x07,0xbd,0x00,0x28,0x6c,0x74,0xa0,0x07,0x2b,0x1a,0x00,0x90,0x3b, 0x76,0x76,0x14,0x00,0xe5,0x25,0x8f,0x27,0x27,0xd4,0xd0,0x07,0xe4,0x8f,0xed,0x90, 0x66,0xf1,0x07,0xc4,0x3f,0x88,0xbe,0x33,0x8e,0x71,0xe4,0x5a,0x78,0xa2,0x1d,0x0e, 0x14,0x23,0x22,0x4f,0x2a,0xdc,0x86,0xff,0x00,0xbe,0x4a,0x7f,0xe3,0xd4,0x98,0xd1, 0xef,0x9f,0xf0,0x4b,0xdb,0x03,0x6f,0xaa,0x78,0xd7,0xc5,0x2e,0x80,0x86,0x8e,0xdf, 0x4d,0x46,0x23,0xfb,0xc4,0xc8,0xe0,0x7e,0x49,0x4a,0x20,0xcf,0xd2,0x18,0x66,0x59, 0xe2,0x57,0x8c,0xe4,0x30,0xaa,0x10,0xfa,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00, 0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0xe3,0x3e,0x34,0x78,0xb4,0x78,0x13,0xe1,0x1f, 0x8c,0xbc,0x40,0xcf,0xb1,0xb4,0xed,0x26,0xe6,0x78,0xcf,0xfd,0x34,0x11,0xb6,0xc1, 0xff,0x00,0x7d,0x62,0x80,0x3c,0xef,0xf6,0x7b,0xf0,0x73,0x78,0x6f,0xf6,0x7e,0xf0, 0x96,0x86,0xee,0xf0,0x4e,0xda,0x3a,0xf9,0x92,0x2f,0xde,0x59,0x25,0x52,0xc5,0xbe, 0xa0,0xb7,0xe9,0x40,0x1f,0x3a,0x8f,0xd8,0x6f,0xe2,0x0f,0x84,0x9d,0x8f,0xc3,0x7f, 0x8d,0x1e,0x25,0xb1,0x50,0x49,0x58,0xe5,0x96,0x55,0x1f,0x8e,0xd7,0xc7,0xe9,0x40, 0x0e,0xb6,0xf0,0x27,0xed,0x5d,0xe1,0x0d,0x46,0xd2,0x28,0xbe,0x24,0x5a,0xeb,0x5a, 0x7f,0x9a,0x82,0x53,0x72,0x12,0x46,0x11,0xee,0x1b,0x8f,0xef,0x23,0x27,0xa6,0x7b, 0xd0,0x07,0xb8,0x7e,0xd1,0x3e,0x3f,0xf1,0xd7,0x80,0x3c,0x1f,0xa7,0xea,0x3f,0x08, 0x7c,0x37,0x0f,0x89,0xb5,0x29,0x2e,0xd5,0x2e,0x60,0xb8,0x42,0xc1,0x20,0xd8,0xc4, 0xb6,0x15,0x81,0xc9,0x6d,0xb4,0x01,0xf2,0xe7,0x89,0x3f,0x6b,0x8f,0x15,0x6a,0x57, 0x9a,0x54,0xff,0x00,0x16,0x3e,0x0a,0x6a,0xbe,0x6e,0x95,0x37,0x9f,0x6f,0x2e,0x9d, 0x7d,0x73,0x6e,0xa8,0xfc,0x64,0x95,0x2a,0xca,0xdd,0x3f,0x8b,0x38,0xed,0x8c,0xd0, 0x07,0xbf,0xfc,0x01,0xfd,0xae,0x74,0x9f,0xda,0x03,0xc4,0xd7,0x9a,0x1e,0x9b,0xe1, 0x9d,0x6f,0x43,0xbd,0xb4,0xb4,0x6b,0xb9,0x5e,0xf2,0x44,0x74,0x00,0x32,0xae,0x38, 0xc1,0xc9,0x2c,0x3b,0x50,0x07,0x49,0xe2,0xff,0x00,0xda,0x93,0xe1,0x87,0x80,0x3c, 0x61,0x77,0xe1,0x8f,0x19,0x78,0x9e,0x2d,0x2b,0x58,0xb4,0xd8,0x66,0x8e,0x6b,0x69, 0x59,0x17,0x72,0x86,0x1f,0x3a,0xa9,0x1d,0x08,0xa0,0x0e,0x77,0xc1,0x7f,0x12,0x7c, 0x13,0xaf,0x7c,0x56,0xbe,0xf1,0x26,0x9d,0xf1,0x07,0xc1,0x72,0xd9,0x4d,0x69,0x25, 0xba,0x5b,0xc1,0xaa,0x15,0x79,0xcb,0x34,0x65,0x19,0xe3,0x90,0x0d,0xa5,0x55,0x0a, 0xe0,0x12,0x39,0xc8,0x0a,0x4b,0x64,0x03,0xdc,0x6c,0xaf,0xad,0x75,0x4b,0x75,0xb8, 0xd3,0x2e,0x6d,0xef,0x2d,0xdf,0x3b,0x66,0xb7,0x90,0x48,0xad,0xf4,0x23,0x22,0x80, 0x1b,0xac,0x5d,0x49,0xa4,0xe9,0x37,0x57,0x89,0x6f,0x24,0xed,0x0a,0x17,0x11,0x0c, 0x8d,0xdf,0xa7,0x4e,0xe7,0xda,0xb3,0xab,0x3e,0x48,0x39,0x25,0x7b,0x1d,0x18,0x4a, 0x0a,0xbd,0x68,0xd2,0x6e,0xd7,0x7b,0x91,0x68,0x1a,0x93,0xea,0xf6,0x2d,0x34,0x86, 0xd5,0xb6,0xc8,0xc8,0x24,0xb5,0x72,0xf1,0xc8,0x07,0x70,0x48,0x07,0xdb,0xf0,0xa5, 0x46,0xa3,0x9c,0x6e,0xfb,0xf4,0x34,0xc6,0xe1,0x96,0x1e,0x6a,0x0a,0xfb,0x5e,0xcd, 0x59,0xaf,0x5b,0x5c,0xd1,0x9a,0xe1,0x2c,0x6d,0xa6,0xb8,0x9c,0xe2,0x38,0x51,0xa4, 0x62,0x7b,0x05,0x19,0x3f,0xca,0xb5,0x38,0xcf,0xc9,0x3f,0x1f,0xf8,0x23,0xc6,0x9f, 0x13,0xfe,0x0f,0xe8,0x53,0xf8,0x2f,0xc3,0x1a,0xde,0xbc,0xfa,0xe6,0xbf,0xac,0x6b, 0x97,0x13,0x59,0x43,0xbd,0x15,0x9e,0x44,0x48,0xc3,0x37,0x41,0xc0,0x6a,0x4c,0x68, 0xfb,0x63,0xf6,0x18,0xf8,0x57,0xac,0xfc,0x2b,0xf8,0x15,0x67,0x61,0xe3,0x4d,0x36, 0x6d,0x27,0x5e,0xbd,0xbd,0x9a,0xf2,0xea,0xd2,0x7d,0xa5,0xe3,0x1c,0x22,0x03,0x82, 0x47,0xdd,0x40,0x7f,0x1a,0x10,0x99,0xf5,0x8f,0x86,0xee,0x7c,0xcb,0x63,0x19,0x3f, 0x76,0x98,0x1b,0x34,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05, 0x00,0x14,0x01,0xf3,0xf7,0xed,0xbd,0xa8,0xb9,0xf8,0x2f,0x6f,0xe1,0xeb,0x53,0xfe, 0x91,0xe2,0x7d,0x6f,0x4f,0xd1,0xd5,0x41,0xe5,0x95,0xa6,0x0e,0xe3,0xfe,0xf9,0x8d, 0x87,0xe3,0x40,0x1e,0xa3,0x61,0x68,0x96,0x16,0x70,0x5b,0x40,0x00,0x8e,0x08,0xd6, 0x25,0x03,0xd1,0x46,0x07,0xf2,0xa0,0x0e,0x5b,0xc7,0x1f,0x11,0x74,0x6f,0x02,0xdd, 0xe9,0x96,0x9a,0xc5,0xc6,0x75,0x0d,0x52,0xe2,0x38,0x2d,0x6d,0x22,0x2b,0xe6,0x3e, 0xf7,0x54,0xdf,0x82,0x46,0x14,0x17,0x19,0x3e,0xfc,0x64,0xd0,0x05,0xd9,0xe4,0x77, 0x72,0x5a,0x80,0x2c,0x39,0xdf,0x6d,0x86,0x19,0xe3,0xa5,0x00,0x66,0x95,0xb0,0xbc, 0x96,0x48,0x48,0xb4,0x96,0x48,0xfe,0xfc,0x60,0xa9,0x64,0xfa,0x8e,0xa2,0x80,0x13, 0x4b,0xd1,0xb4,0xed,0x3a,0xf9,0xae,0x2c,0x6c,0xed,0xe0,0x99,0xc6,0x1a,0x48,0xd0, 0x02,0xc3,0xd0,0x9a,0x00,0xe1,0xbe,0x22,0x7e,0xce,0x1f,0x0f,0x3e,0x24,0xeb,0x33, 0xea,0x9e,0x2d,0xf0,0xe5,0x95,0xd6,0xa3,0x70,0x07,0x9b,0x76,0x01,0x57,0x7c,0x0c, 0x0c,0x90,0x46,0x78,0x00,0x50,0x07,0x95,0x6b,0x9f,0xf0,0x4f,0x6f,0x86,0x1a,0x99, 0x66,0xd3,0xa3,0xd4,0xf4,0xd7,0x3d,0x3c,0x8b,0x92,0x40,0xfc,0x1b,0x34,0x01,0xec, 0x7f,0x0c,0xfe,0x0f,0x5a,0xfc,0x2d,0xf8,0x41,0x3f,0x82,0x7c,0x25,0x7f,0x72,0xb9, 0x8a,0xe4,0x47,0x7f,0x28,0x06,0x45,0x96,0x50,0x7e,0x7e,0x31,0xd3,0x23,0x1f,0x4a, 0x00,0xf9,0x7a,0x4f,0xd9,0x6b,0xe3,0xff,0x00,0x85,0xd7,0xfe,0x28,0xff,0x00,0x8b, 0x7a,0xa4,0xca,0x9d,0x16,0x4b,0xc9,0xd7,0x3f,0x81,0x2c,0x28,0x02,0xde,0x89,0x1f, 0xed,0x77,0xe1,0x6d,0x52,0xca,0xd6,0xeb,0x56,0xb5,0xd7,0x2c,0x9a,0x64,0x47,0x92, 0x64,0xb7,0x97,0x09,0xb8,0x64,0x92,0xca,0x1b,0x18,0xeb,0xcd,0x00,0x7d,0x4f,0xfb, 0x41,0x78,0x97,0xfe,0x10,0xdf,0x81,0x3e,0x3a,0xd5,0xc4,0x80,0x49,0x6d,0xa2,0xdc, 0x6d,0x71,0xc6,0x5d,0x90,0xa8,0xc7,0xfc,0x09,0x85,0x00,0x70,0xff,0x00,0xb3,0x47, 0x85,0x5b,0x44,0xf8,0x09,0xe0,0x2b,0x19,0xd5,0x41,0x8f,0x4d,0x49,0x08,0x03,0xbb, 0x92,0xdf,0xd6,0x80,0x3d,0x7a,0x39,0x3c,0xb6,0xe3,0xa0,0x18,0xa0,0x0d,0xcf,0x0b, 0x5d,0x7e,0xf9,0x81,0x3d,0xe8,0x03,0xae,0x07,0x22,0x80,0x16,0x80,0x0a,0x00,0x28, 0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x0f,0x9b,0x3f,0x68,0x69,0x7f,0xe1, 0x28,0xfd,0xa2,0x7e,0x0b,0x78,0x55,0x7e,0x78,0xac,0xe5,0xbd,0xf1,0x0d,0xca,0x7a, 0x08,0x90,0x24,0x64,0xfe,0x2e,0xff,0x00,0x95,0x00,0x3f,0xf6,0x94,0xd6,0x3e,0x2e, 0x68,0x9a,0x46,0x87,0x73,0xfb,0x3e,0x5a,0xe9,0xb7,0x73,0xa4,0xd2,0x36,0xa4,0x97, 0x89,0x1b,0xee,0x8f,0x68,0xd8,0x00,0x72,0x3b,0xe7,0x90,0x73,0x40,0x1f,0x35,0xeb, 0x5f,0xb4,0x7f,0xc7,0x2b,0x63,0x6d,0xff,0x00,0x0b,0x37,0xe0,0xde,0x8d,0xaf,0x25, 0x9c,0xe9,0x71,0x1b,0xa5,0xa4,0x80,0xc7,0x22,0x1c,0xab,0x29,0x56,0x60,0x08,0x3c, 0x83,0x40,0x1e,0xd9,0xfb,0x3a,0x7e,0xd1,0x3a,0xb7,0xc7,0x3d,0x4b,0x5a,0xb4,0xd7, 0x7c,0x19,0x73,0xe1,0x56,0xd3,0x22,0x8d,0xd9,0xe7,0x99,0x9f,0xcd,0x77,0x24,0x6d, 0x01,0x91,0x7b,0x02,0x7b,0xf4,0xa0,0x08,0xfc,0x57,0xfb,0x6d,0x7c,0x31,0xf0,0x3f, 0x8d,0x35,0x8f,0x0b,0x78,0xa2,0xe7,0x5a,0xb4,0xbf,0xd2,0xe7,0x36,0xd3,0x4a,0x96, 0x46,0x48,0x99,0x80,0x04,0xed,0x2a,0x73,0xc6,0x71,0xd3,0xb5,0x00,0x73,0x9f,0x0d, 0x7e,0x38,0xfc,0x25,0xb1,0xf1,0x8e,0xbd,0xad,0xc7,0xf1,0x17,0xc3,0xe0,0xea,0xc4, 0xbf,0x93,0x2c,0x33,0x5b,0xbb,0x16,0x90,0xbe,0xf7,0x69,0x49,0x01,0x80,0x21,0x30, 0x9b,0x57,0x0b,0x9c,0x67,0xa0,0x07,0xd1,0x1e,0x1f,0xd6,0xb4,0xdf,0x12,0x69,0x76, 0xfa,0xaf,0x87,0xef,0xad,0x75,0x0d,0x36,0xe0,0x16,0x8a,0xee,0xde,0x40,0xd1,0xb8, 0x07,0x04,0x82,0x3d,0xc1,0xa0,0x0a,0xbf,0x11,0xb5,0x2d,0x5b,0x42,0xf0,0x5e,0xa5, 0xa8,0x78,0x62,0xcf,0xed,0xba,0x9c,0x28,0xbe,0x4c,0x6c,0x8c,0xea,0x32,0xca,0x19, 0xc8,0x50,0x49,0x0a,0xa4,0xb1,0x00,0x12,0x76,0xd0,0x05,0x7f,0x87,0xfa,0x8e,0xa7, 0xad,0xf8,0x42,0xc2,0xf7,0xc4,0x71,0x98,0xb5,0x09,0x7c,0xcd,0xe0,0xc2,0x62,0xdc, 0xa1,0xd8,0x2b,0x05,0x3c,0x80,0xca,0x01,0x19,0x00,0xe0,0xf4,0x1d,0x00,0x07,0x4f, 0x01,0xf2,0x95,0x8b,0x9c,0x28,0xe4,0x93,0xda,0xa6,0x52,0x51,0x4e,0x52,0xd9,0x0d, 0x2b,0xbb,0x22,0x94,0x3a,0xb4,0x33,0x5c,0x24,0x60,0x4d,0x1b,0xc9,0xca,0x2c,0xb1, 0x95,0xdc,0x30,0x4e,0x47,0xb6,0x05,0x79,0xf8,0x7c,0xd6,0x8d,0x67,0x18,0xa4,0xd3, 0x96,0xd7,0x4d,0x5d,0x5a,0xf7,0x5e,0x56,0xff,0x00,0x82,0x6d,0x3c,0x3c,0xa1,0x77, 0xbd,0xbb,0x13,0x59,0x6a,0x50,0x6a,0x31,0x97,0xb2,0x99,0x26,0x41,0xc1,0x2b,0xd8, 0xe3,0x35,0xbe,0x13,0x1d,0x43,0x19,0x17,0x3c,0x3c,0xd4,0x97,0x97,0xdf,0xf9,0x11, 0x52,0x94,0xe9,0xbb,0x4d,0x58,0xf0,0x9f,0xdb,0xc7,0x58,0x7b,0x5f,0xd9,0xee,0x7d, 0x2a,0xdc,0x9f,0x3b,0x5c,0xd4,0xec,0xb4,0xd5,0x51,0xfc,0x41,0xa4,0x0c,0xc3,0xf2, 0x4a,0xeb,0x33,0x3d,0xeb,0x45,0xf0,0x6b,0x78,0x7f,0xc1,0xba,0x25,0xa5,0xb0,0xe2, 0xd6,0xc6,0x08,0x4a,0xfa,0x15,0x40,0x0f,0xf2,0xa0,0x0a,0x4d,0x95,0x62,0x1f,0x83, 0x40,0x1a,0x5e,0x1e,0x97,0xcb,0xb8,0xfa,0xd0,0x07,0x7b,0x0b,0xef,0x8d,0x48,0xa0, 0x07,0xd0,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x01,0xf3, 0x0e,0x9d,0x3f,0xfc,0x25,0xbf,0xb6,0x8f,0x8d,0xf5,0x06,0x3b,0xe0,0xf0,0xbe,0x81, 0x67,0xa3,0xc4,0x7b,0x2c,0x92,0x93,0x33,0xe3,0xdf,0x0e,0x28,0x03,0xd7,0xf5,0x3b, 0x92,0xf1,0xec,0x4e,0xd4,0x01,0xcc,0x69,0xbe,0x23,0xd1,0xf5,0xcb,0x9b,0xab,0x5d, 0x2b,0x50,0xd3,0xef,0xae,0x6d,0x4e,0xdb,0x88,0x21,0x95,0x5d,0xe1,0x39,0x23,0xe6, 0x51,0xc8,0xe4,0x11,0xcf,0xa5,0x00,0x69,0x59,0x45,0x0c,0x37,0x3b,0xa2,0x8d,0x11, 0x8f,0x52,0xa3,0x14,0x01,0xc9,0x78,0xbb,0xe0,0xbf,0x81,0xbc,0x65,0x7d,0x35,0xcf, 0x89,0x7c,0x31,0xa3,0xde,0xdc,0xcc,0x77,0x49,0x3c,0x96,0xeb,0xbd,0xcf,0xa9,0x6e, 0xa4,0xd0,0x07,0x9a,0xeb,0xbf,0xb1,0x07,0xc2,0x6d,0x6b,0x71,0x4d,0x0a,0x4b,0x07, 0x3f,0xc5,0x69,0x70,0xe9,0x8f,0xc3,0x38,0xa0,0x0f,0x46,0x3f,0x08,0x6c,0x20,0xf8, 0x25,0x73,0xf0,0xeb,0xc3,0xf7,0x97,0x7a,0x76,0x9e,0xda,0x7c,0x9a,0x74,0x57,0x4a, 0x77,0x4b,0x1a,0x36,0x72,0xd9,0xee,0x4e,0x4f,0xe7,0x40,0x1f,0x2e,0x4d,0xfb,0x0d, 0x7c,0x43,0xf0,0xfb,0x07,0xf0,0x3f,0xc5,0x3d,0x56,0x00,0x9f,0x71,0x1a,0x69,0xa3, 0xc7,0xfd,0xf2,0xe4,0x7e,0x94,0x01,0xaf,0xe0,0x9f,0x86,0x3f,0xb4,0xc7,0x85,0x7c, 0x5f,0xa2,0x43,0xaa,0x78,0xea,0x4d,0x4b,0x40,0x5b,0xc8,0xbe,0xd8,0xd2,0x5c,0x89, 0x48,0x83,0x70,0xdf,0xc3,0xa9,0x27,0xe5,0xcf,0x19,0xa0,0x0f,0x68,0xfd,0xa6,0x7e, 0x27,0xfc,0x42,0xf8,0x69,0x67,0xa2,0x4f,0xf0,0x83,0xc2,0xd0,0xf8,0x8c,0x5c,0x49, 0x2f,0xdb,0xd6,0x68,0x5a,0x51,0x12,0x00,0x36,0x00,0x15,0x81,0x04,0x92,0x79,0xe7, 0xa5,0x26,0xae,0xac,0xc0,0xf9,0xcc,0x7e,0xdc,0xbe,0x30,0xd0,0x25,0x43,0xe3,0x2f, 0x84,0xb2,0xdb,0x18,0xf2,0x0c,0x96,0x97,0x17,0x16,0xe4,0x02,0x30,0x47,0xcc,0xac, 0x31,0x8e,0xd5,0xe4,0xff,0x00,0x61,0xe1,0x15,0x9c,0x22,0xe3,0x6b,0xda,0xcd,0xad, 0xf4,0xb6,0xfb,0x5b,0xa6,0xcb,0xa1,0xd3,0xf5,0xba,0x8e,0xf7,0x77,0xf9,0x1e,0xed, 0xfb,0x31,0x7e,0xd3,0x3a,0x1f,0xc6,0xfd,0x5b,0x53,0xd1,0x7c,0x3f,0xe1,0x9d,0x53, 0x41,0x9e,0xce,0xdf,0xed,0xb2,0xfd,0xa2,0x64,0x95,0x00,0xca,0xa6,0x01,0x00,0x11, 0xc9,0x18,0xc8,0xf5,0xad,0xf2,0xdc,0xae,0x86,0x5d,0x07,0x4f,0x0e,0xad,0x16,0xef, 0x6f,0x92,0x5f,0xa1,0x15,0xab,0xce,0xb3,0xe6,0x9b,0xd4,0xcb,0xfd,0xac,0xa2,0x3e, 0x2a,0xf8,0xa9,0xf0,0x37,0xc1,0x71,0x7c,0xc2,0xf7,0x5e,0x6b,0xf9,0x93,0xd5,0x22, 0x01,0x46,0x7f,0x17,0x35,0xe8,0x18,0x9f,0x68,0x34,0x6a,0xd1,0xec,0x20,0x6d,0xc6, 0x31,0x40,0x1c,0x47,0x88,0x74,0xf1,0x6d,0x70,0x5a,0x3e,0x01,0x34,0x01,0x4f,0x4b, 0x7d,0x97,0x03,0x1e,0xb4,0x01,0xdd,0xe9,0xd2,0x6f,0x84,0x03,0x40,0x16,0xe8,0x00, 0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x02,0x71,0xd6,0x80,0x3e,0x4b, 0xfd,0x98,0xee,0xff,0x00,0xe1,0x22,0xba,0xf8,0x9b,0xe3,0x33,0xf3,0x1f,0x11,0x78, 0xae,0xed,0xa1,0x7e,0xb9,0x82,0x16,0xf2,0xa3,0xfc,0x30,0x05,0x00,0x71,0x9a,0xb7, 0xfc,0x14,0x13,0xc0,0x5a,0x0f,0x89,0xf5,0x6d,0x17,0xc4,0x5a,0x2f,0x8a,0x6d,0x9e, 0xc2,0xf2,0x5b,0x53,0x75,0x14,0x31,0xca,0x92,0x6c,0x62,0xbb,0x80,0xdc,0x08,0x07, 0x1d,0x31,0x40,0x13,0xf8,0x27,0xf6,0xb9,0xf8,0x2a,0x2f,0x35,0x2b,0xd9,0x3c,0x5b, 0x34,0x5a,0x9e,0xa5,0x39,0x96,0x6b,0x8d,0x4f,0x4f,0x96,0x26,0x08,0x38,0x8e,0x20, 0x55,0x48,0x08,0x8b,0xc0,0x19,0xeb,0x93,0xd4,0x9a,0x00,0xf7,0xed,0x3b,0xc4,0x3a, 0x5d,0xee,0x87,0x6d,0xae,0xc1,0x7f,0x6c,0xba,0x45,0xc4,0x29,0x71,0x1d,0xec,0xae, 0x23,0x8c,0xc6,0xd8,0xda,0xc4,0xb6,0x31,0x9c,0x8e,0xb4,0x01,0x8d,0xf1,0x2b,0x57, 0xd5,0xbf,0xe1,0x0f,0x92,0xe3,0xe1,0xeb,0x0b,0xcb,0xf7,0x9a,0x14,0x13,0x5a,0x28, 0xb8,0x31,0x44,0x5c,0x6f,0x70,0xaa,0x18,0xb7,0xcb,0x91,0xc2,0xb1,0x19,0xce,0x0e, 0x28,0x03,0x47,0xc1,0xad,0xab,0x4f,0xe1,0x0d,0x1a,0x5f,0x16,0x21,0x8f,0x59,0x7b, 0x48,0xda,0xf1,0x0a,0x04,0x2b,0x29,0x5f,0x98,0x10,0x38,0x1c,0xfa,0x7e,0x9d,0x28, 0x03,0xa0,0xb6,0x52,0x14,0x83,0x40,0x1c,0x7f,0x89,0x3e,0x26,0x69,0x5e,0x14,0xf1, 0x56,0x99,0xa0,0xea,0x8b,0x72,0x2e,0xaf,0xda,0x25,0x49,0x17,0x60,0x45,0x32,0xc8, 0x63,0x8c,0x60,0xb0,0x66,0xcb,0x0c,0x1d,0xa1,0xb6,0x8c,0x13,0x80,0x68,0x03,0xad, 0xdc,0x41,0xc5,0x00,0x59,0x90,0x09,0x21,0xf9,0xc0,0x6f,0x62,0x28,0x02,0x9c,0xda, 0x6d,0x95,0xd8,0x65,0xb8,0xb6,0x82,0x5c,0x70,0x43,0x28,0x38,0xfa,0xd0,0x04,0x7a, 0x27,0x86,0xb4,0x8d,0x16,0xf6,0x5b,0x8d,0x23,0x4e,0xb4,0xb3,0x9e,0x60,0x16,0x49, 0x21,0x8c,0x2b,0x38,0x1c,0x80,0x48,0xeb,0x8c,0x9a,0x00,0xf0,0xe9,0xad,0x4f,0x8d, 0xff,0x00,0xe0,0xa0,0x3e,0x1f,0x80,0x61,0xed,0xfc,0x27,0xe1,0xa3,0x74,0xf9,0xe8, 0xb2,0x4c,0xed,0x8f,0xc7,0x01,0x68,0x03,0xeb,0xe7,0xb8,0x00,0xe2,0x80,0x39,0xff, 0x00,0x10,0x81,0x2a,0xe4,0x50,0x07,0x3b,0x66,0x76,0x5c,0x8f,0xad,0x00,0x76,0xda, 0x4c,0x99,0x50,0x3d,0x68,0x03,0x4e,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x0a, 0x00,0x28,0x03,0x93,0xf8,0xb3,0xe2,0xb5,0xf0,0x37,0xc2,0xff,0x00,0x16,0x78,0x86, 0x46,0x09,0xfd,0x99,0xa5,0x5c,0xdd,0x29,0x3f,0xde,0x48,0xd8,0xa8,0xfc,0x4e,0x05, 0x00,0x78,0x4f,0xec,0xbd,0xe1,0xe6,0xf0,0xb7,0xc0,0x7f,0x07,0x59,0xce,0x08,0x9d, 0xec,0xc5,0xcc,0xd9,0xea,0x5e,0x43,0xb8,0x93,0xf9,0x8a,0x00,0xea,0x7c,0x43,0xf0, 0xf3,0xc2,0xfe,0x24,0x9a,0x43,0xaf,0xe8,0x1a,0x4d,0xf1,0x7e,0x4b,0x4f,0x6c,0x8c, 0x4f,0xe2,0x45,0x00,0x79,0xee,0xb9,0xfb,0x23,0xfc,0x28,0xd7,0x8b,0x1b,0x8f,0x0a, 0x59,0x5b,0xbb,0x7f,0x15,0xab,0x3c,0x47,0xff,0x00,0x1d,0x22,0x80,0x3a,0xff,0x00, 0x1d,0x7c,0x22,0xd2,0xbc,0x7b,0xf0,0x92,0x7f,0x01,0xcd,0x71,0x75,0x61,0xa4,0xbc, 0x10,0xdb,0x2b,0x5b,0xb0,0xde,0x91,0xc4,0x54,0xa0,0xe7,0xa8,0xf9,0x46,0x73,0xd6, 0x80,0x3e,0x5d,0xbc,0xff,0x00,0x82,0x78,0x6a,0x3a,0x4c,0xa6,0x6f,0x03,0x7c,0x40, 0xd4,0x2c,0x1c,0x72,0xa1,0xd1,0x90,0x8f,0xf8,0x12,0x38,0xfe,0x54,0x01,0xd4,0xfc, 0x1f,0xf8,0x0d,0xf1,0xa3,0xc0,0x3f,0x12,0x74,0x3b,0xaf,0x13,0xf8,0xfa,0xef,0x59, 0xf0,0xbd,0xb4,0xc5,0xae,0xad,0x8d,0xf4,0xaf,0xe6,0x2e,0xd3,0x81,0xb1,0xc7,0x39, 0x38,0xef,0x40,0x1d,0xdf,0xed,0x2d,0xe3,0xcf,0x8c,0x7e,0x0a,0xd6,0xb4,0x67,0xf8, 0x23,0xa1,0x5b,0x6a,0xda,0x57,0xd9,0x9d,0xaf,0xbc,0xdb,0x65,0x98,0x99,0x77,0x7c, 0xa0,0x0c,0x86,0x1f,0x2f,0xa7,0xad,0x00,0x78,0x0d,0xe7,0xed,0x6d,0xf1,0x13,0x4a, 0xd7,0x6c,0xb5,0x6f,0x89,0x9f,0x07,0x2d,0x6e,0xef,0xec,0x70,0x22,0xba,0x54,0xb9, 0xb7,0x28,0x46,0x70,0x70,0x77,0x2e,0x46,0x4e,0x09,0x19,0x19,0xe2,0x80,0x3e,0x97, 0xfd,0x9b,0x7f,0x68,0xc1,0xfb,0x42,0xdb,0x6b,0x72,0x0f,0x0d,0xdc,0xe8,0x0d,0xa5, 0x98,0x95,0xfc,0xd9,0xc4,0xa2,0x46,0x7d,0xdc,0x0f,0x94,0x10,0x46,0xd2,0x68,0x02, 0x2d,0x5f,0xf6,0xd5,0xf8,0x4d,0xa0,0xf8,0x8f,0x55,0xd0,0x35,0xcd,0x7a,0xf6,0xc2, 0xfb,0x4e,0xb9,0x7b,0x39,0x9d,0xec,0x64,0x64,0xf3,0x10,0xe1,0x8a,0xb2,0x83,0x90, 0x08,0xa0,0x0f,0x3e,0xfd,0x9e,0x7c,0x55,0xe0,0x2f,0x0d,0x78,0xc7,0x5d,0xd6,0x2e, 0x7e,0x2c,0x78,0x5f,0x57,0x1a,0x84,0x3e,0x54,0x6a,0xd7,0x32,0x41,0x24,0x84,0xc8, 0x5c,0xbc,0x8b,0x28,0x03,0x76,0x30,0x38,0xf7,0xa0,0x0f,0xab,0x74,0xab,0xeb,0x5d, 0x56,0xd2,0x1b,0xcd,0x26,0xe6,0x0b,0xcb,0x49,0x97,0x74,0x73,0xdb,0xc8,0x1d,0x1c, 0x7a,0x86,0x1c,0x1a,0x00,0xf0,0xcf,0xd9,0xa0,0xff,0x00,0xc2,0x49,0xfb,0x4d,0x7c, 0x74,0xf1,0x51,0xf9,0xd2,0xda,0xea,0xdf,0x44,0x81,0xfd,0x04,0x48,0x03,0x0f,0xcc, 0x1a,0x00,0xfa,0x89,0xee,0x32,0x73,0x9a,0x00,0xa1,0xa9,0x49,0xe6,0x25,0x00,0x61, 0x46,0xb8,0x9b,0xf1,0xa0,0x0e,0xaf,0x47,0x93,0x21,0x68,0x03,0x72,0x80,0x0a,0x00, 0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x03,0xc0,0x3f,0x6e,0x4d,0x56,0x4b,0x5f, 0x80,0x17,0xfa,0x45,0xb1,0x3e,0x7f,0x88,0x75,0x1b,0x2d,0x19,0x00,0xea,0x44,0xb3, 0x29,0x71,0xff,0x00,0x7c,0x23,0xd0,0x06,0x84,0x9a,0x9e,0x8f,0xf0,0xfb,0xc3,0x36, 0x5f,0xf0,0x90,0xea,0x56,0x1a,0x4e,0x9f,0x6a,0x91,0x5a,0x0b,0x8b,0xc9,0x56,0x28, 0xc3,0x60,0x2a,0x8d,0xc7,0x8c,0x9c,0x50,0x06,0x5e,0xb9,0xe3,0x36,0xb9,0xb1,0x8e, 0x7f,0x87,0xf0,0xe9,0x9e,0x2a,0x94,0xe5,0xdd,0x6d,0xb5,0x28,0x82,0xaa,0x28,0xc9, 0x00,0x82,0x49,0x76,0xe8,0xa3,0x18,0xcf,0x52,0x07,0x34,0x01,0xd2,0x29,0x32,0x42, 0x92,0x6c,0x92,0x3d,0xea,0x0e,0xd9,0x17,0x0c,0x33,0xd8,0x8e,0xc6,0x80,0x2d,0x5b, 0xe4,0x45,0x83,0x40,0x1c,0x94,0xbe,0x3f,0x86,0x1f,0x19,0xa6,0x80,0xb6,0x37,0x4e, 0xa6,0x71,0x68,0xd7,0xc1,0x97,0x62,0x5c,0x18,0x4c,0xe2,0x3d,0xb9,0xdc,0x7f,0x76, 0xb9,0x2c,0x06,0x01,0x20,0x50,0x07,0x52,0x1c,0x86,0xa0,0x0b,0x33,0x36,0xe4,0x04, 0x81,0x40,0x10,0x3c,0x50,0xcc,0xb8,0x96,0x28,0xd8,0x1e,0xc4,0x50,0x03,0xb4,0xdb, 0x2b,0x5b,0x07,0x7f,0xb1,0x5b,0xc3,0x06,0xfe,0x5b,0xcb,0x50,0xbb,0x8f,0xa9,0xc7, 0x5a,0x00,0xf3,0x1f,0x17,0xfe,0xcb,0x5f,0x0c,0xbc,0x69,0xa8,0x5c,0xde,0x6b,0x7e, 0x17,0xb1,0x37,0x77,0x0e,0x64,0x96,0x78,0x77,0x46,0xce,0xe7,0x92,0x49,0x52,0x39, 0x26,0x80,0x3c,0xdb,0x5b,0xff,0x00,0x82,0x79,0xfc,0x34,0xd4,0x58,0xb6,0x96,0xfa, 0xc6,0x98,0xe7,0xa7,0x95,0x71,0xb8,0x0f,0xfb,0xe8,0x1a,0x00,0xfa,0x1b,0xe1,0xdf, 0x84,0x2c,0x3e,0x16,0x7c,0x3d,0xd2,0xfc,0x3f,0xa6,0xc9,0x24,0x96,0x3a,0x45,0xb3, 0x2f,0x9d,0x36,0x37,0x3e,0x09,0x76,0x66,0xc7,0x19,0x24,0x93,0x40,0x1e,0x41,0xfb, 0x04,0xa3,0xde,0x7c,0x36,0xf1,0x47,0x89,0xe7,0xcf,0x99,0xe2,0x1f,0x10,0xdd,0xde, 0xee,0x3d,0xc1,0x72,0x47,0xe8,0xc2,0x80,0x3e,0x96,0x6b,0x82,0x4f,0x14,0x01,0x1d, 0xc4,0x9b,0xd0,0xe7,0xf2,0xa0,0x0c,0xfc,0x62,0x4e,0x94,0x01,0xbf,0xa3,0x3f,0x20, 0x1a,0x00,0xe8,0xd4,0xe5,0x45,0x00,0x2d,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00, 0x14,0x01,0xf3,0x57,0xed,0x47,0x20,0xf1,0x27,0xc5,0xbf,0x83,0x5e,0x13,0x07,0x74, 0x6b,0xa8,0x5d,0x6b,0xd7,0x11,0xf6,0xdb,0x6f,0x18,0x44,0xcf,0xfc,0x0a,0x63,0xf9, 0x50,0x04,0xff,0x00,0x19,0x7e,0x12,0xe8,0xbf,0x1a,0xfc,0x1c,0x74,0x0f,0x15,0xbd, 0xda,0x59,0xad,0xc2,0x5d,0x2b,0x5b,0x3e,0xd6,0x0e,0xa0,0x81,0xd4,0x1c,0x8f,0x98, 0xd0,0x07,0xcc,0x7a,0xa7,0xfc,0x13,0x9b,0x4a,0x8e,0x46,0x97,0xc2,0x7e,0x2f,0xd4, 0xec,0x24,0x07,0x2b,0xe6,0xc2,0x1b,0x1f,0x8a,0xb2,0x9a,0x00,0xed,0xfe,0x00,0x7e, 0xce,0x3e,0x38,0xf8,0x49,0xf1,0x02,0x3d,0x43,0xc4,0x5e,0x35,0xb9,0xd7,0xf4,0x24, 0xb6,0x96,0x24,0xb2,0x6b,0x89,0x88,0xf3,0x1b,0x00,0x12,0x8c,0x48,0xc0,0xe7,0xf4, 0xa0,0x09,0xff,0x00,0x68,0x4d,0x6b,0xe3,0xf6,0x85,0xe3,0xef,0xb4,0xfc,0x16,0x82, 0x1b,0x9f,0x0b,0xad,0xa4,0x4a,0x2d,0xcc,0x30,0x4c,0x5e,0x5e,0x4b,0x92,0x1f,0xe6, 0xee,0x07,0x07,0xb5,0x00,0x78,0xff,0x00,0xfc,0x34,0x87,0xc6,0x3f,0x08,0x6b,0xc7, 0x59,0xf1,0xa7,0xc2,0x7d,0x2a,0xef,0x54,0x11,0xf9,0x2d,0xa8,0xae,0x9d,0x3c,0x32, 0x15,0xc6,0x3e,0xf2,0x92,0x3a,0x71,0x9f,0x4e,0x3a,0x50,0x07,0xd4,0x9f,0xb3,0xcf, 0xc6,0x0b,0xdf,0x8d,0x1e,0x07,0xb9,0xd7,0xf5,0xcd,0x13,0xfe,0x11,0xe9,0x61,0xbb, 0x7b,0x63,0x6e,0x64,0x67,0x04,0x2a,0xa9,0x2d,0x92,0x01,0xfe,0x2a,0x00,0xe0,0x07, 0xed,0xeb,0xf0,0x9f,0x51,0xbe,0x8a,0x1d,0x43,0x52,0xf1,0x36,0x8c,0x6d,0x6e,0x18, 0xb6,0xfb,0x12,0x63,0x9b,0x1b,0x97,0x0c,0x54,0xb1,0x2b,0xce,0xee,0xdd,0x07,0xd2, 0x80,0x37,0xfc,0x3d,0xfb,0x4e,0xf8,0x17,0xc4,0x1e,0x26,0x96,0x4b,0x1f,0x89,0xbe, 0x17,0x1a,0x0b,0x11,0x22,0x5a,0xdd,0x44,0xf0,0xdc,0x86,0x2b,0xb4,0xc7,0xb9,0xc2, 0x80,0x99,0x1b,0xf3,0xcb,0x64,0xe3,0xa0,0xa0,0x0f,0x73,0xb1,0xb9,0x86,0xee,0xde, 0x2b,0x9b,0x59,0x62,0x96,0xde,0x64,0x59,0x23,0x95,0x18,0x15,0x75,0x3c,0x82,0x0f, 0x70,0x78,0xa0,0x0c,0xaf,0x11,0xea,0xf7,0xfa,0x65,0xe0,0x16,0x96,0xe5,0xe3,0x11, 0xab,0xaa,0xf9,0x0e,0xe6,0x72,0x58,0x86,0x50,0xc3,0x84,0xc0,0x19,0xc9,0xf5,0xaf, 0x2f,0x1b,0x8b,0xab,0x46,0x76,0x82,0xba,0xb2,0xe8,0xdd,0xf5,0xd5,0x5d,0x6d,0x65, 0xae,0xa4,0xb7,0x62,0xcf,0x87,0xb5,0x69,0xb5,0x8b,0x33,0x2d,0xdd,0xab,0x59,0x48, 0xa4,0x2b,0x42,0xed,0x96,0x53,0x80,0x79,0x1d,0xba,0x8c,0x72,0x78,0xad,0xf0,0x38, 0xa9,0xe2,0x21,0xcd,0x38,0xf2,0xbe,0xdd,0x7f,0xae,0xc3,0x4e,0xe6,0x0f,0xc7,0x2f, 0x12,0x1f,0x07,0xfc,0x12,0xf1,0xc6,0xae,0x1b,0x63,0xda,0xe8,0xf7,0x2c,0x87,0x3f, 0xc6,0x50,0xaa,0xfe,0xa4,0x57,0x68,0xcc,0xaf,0xd9,0x3f,0xc3,0xbf,0xf0,0x88,0xfe, 0xcf,0x3e,0x0c,0xb1,0x65,0xda,0xed,0x69,0xe7,0xb8,0xf5,0x2c,0x73,0xfe,0x14,0x01, 0xea,0xfe,0x69,0x27,0xaf,0x4a,0x00,0x71,0x7d,0xc2,0x80,0x20,0x23,0x0f,0xef,0x40, 0x1b,0x1a,0x43,0xe2,0x41,0x40,0x1d,0x44,0x67,0x28,0x28,0x01,0xd4,0x00,0x50,0x01, 0x40,0x05,0x00,0x14,0x00,0x50,0x07,0xcb,0x5e,0x24,0x91,0xfc,0x49,0xfb,0x64,0x6b, 0x13,0x38,0xcc,0x1e,0x1a,0xf0,0xd5,0xb5,0x9c,0x7e,0xd2,0x5c,0x3b,0xc8,0xc7,0xfe, 0xf9,0xd9,0x40,0x1e,0x8f,0x23,0xe6,0x32,0x28,0x02,0xa8,0x72,0x0f,0x34,0x08,0x7c, 0x72,0x1d,0xeb,0x40,0x13,0xdc,0x49,0x8d,0xa7,0xad,0x03,0x23,0x2c,0xae,0x30,0xea, 0xa7,0xea,0x28,0x02,0x4b,0x38,0xe2,0x40,0xe8,0x91,0xa2,0xab,0x0c,0x10,0x07,0x06, 0x80,0x3c,0xd7,0xc4,0x3f,0xb3,0x47,0xc3,0x2f,0x12,0x4f,0x2b,0xea,0x7e,0x11,0xd2, 0x44,0xae,0x49,0x2f,0x0c,0x66,0x22,0x49,0xf7,0x52,0x28,0x03,0xcf,0xb5,0x9f,0xd8, 0x1b,0xe1,0x7e,0xa5,0x21,0x93,0x4e,0x8f,0x56,0xd2,0xdf,0x39,0x06,0xda,0xe4,0xb6, 0x3e,0x9b,0x81,0xa0,0x0f,0x4e,0xf8,0xaf,0xf0,0x81,0xfe,0x20,0x7c,0x1b,0x3e,0x07, 0xd0,0x35,0x59,0x34,0x48,0xd2,0x2b,0x68,0xa3,0xb9,0x45,0x2c,0x42,0x43,0xb7,0x6a, 0x9c,0x11,0xd7,0x68,0xcd,0x00,0x7c,0xb3,0x2f,0xec,0x7b,0xf1,0xc3,0xc2,0x92,0x19, 0x3c,0x11,0xf1,0x26,0xe5,0xc2,0x7d,0xd5,0x4d,0x46,0x78,0x7f,0x43,0x91,0x40,0x1d, 0xc7,0xc1,0x6d,0x17,0xf6,0x94,0xd0,0x7e,0x25,0x68,0x36,0x7f,0x11,0xb5,0x5b,0x9d, 0x43,0xc2,0xde,0x7f,0xfa,0x74,0xd3,0x4b,0x04,0xeb,0xe5,0x01,0x93,0x93,0x8d,0xf9, 0x38,0xc0,0xc7,0x39,0x22,0x80,0x3d,0x2b,0xf6,0xdf,0xd5,0x1a,0xd7,0xe0,0x2d,0xd6, 0x99,0x01,0xc4,0xba,0xde,0xa5,0x65,0xa6,0xaa,0x8e,0xac,0x1a,0x60,0xcc,0x3f,0x24, 0x34,0x01,0xed,0x1e,0x17,0xd3,0x97,0x43,0xf0,0xb6,0x91,0xa6,0xc4,0x30,0xb6,0x96, 0x70,0xc1,0x8f,0x75,0x40,0x0d,0x00,0x68,0x24,0x99,0x3c,0x77,0xa0,0x09,0xc3,0x71, 0xcd,0x00,0x30,0xf0,0xdf,0x4a,0x00,0xd3,0xd2,0x5f,0x12,0x8a,0x00,0xeb,0x61,0x39, 0x8c,0x66,0x80,0x1f,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x7c,0xbf, 0xf1,0x2d,0x47,0xc3,0x3f,0xda,0x7e,0xd7,0x58,0xd5,0x7f,0x73,0xa1,0xf8,0xef,0x4f, 0x87,0x4e,0x8e,0xf1,0xb8,0x48,0xf5,0x1b,0x7d,0xdb,0x22,0x63,0xd8,0xc9,0x1b,0x0d, 0xb9,0xea,0x50,0x8f,0x4a,0x00,0xf4,0x17,0x52,0x01,0xc8,0xe9,0x40,0x10,0x94,0xe7, 0x9a,0x00,0x02,0xe1,0x85,0x00,0x49,0x27,0xcc,0xa3,0x34,0x01,0x19,0x5c,0x1e,0x68, 0x02,0x5b,0x73,0xb5,0xa8,0x01,0x65,0x27,0x7e,0x45,0x00,0x0a,0x49,0x23,0x27,0x1f, 0x5a,0x00,0xb3,0x11,0x22,0x32,0x09,0xfc,0xa8,0x01,0x12,0x42,0x38,0x14,0x01,0x2c, 0x72,0x92,0xc2,0x80,0x3e,0x7e,0xfd,0xaa,0x4f,0xfc,0x24,0xbf,0x11,0xbe,0x0b,0x78, 0x49,0x7e,0x65,0xbb,0xd7,0x5f,0x51,0x99,0x3f,0xd8,0x85,0x02,0x83,0xf9,0xc8,0x68, 0x03,0xe8,0x87,0x7c,0x93,0x8e,0x05,0x00,0x08,0x71,0x8c,0x50,0x04,0xea,0xd8,0xce, 0x28,0x01,0xa4,0xee,0x38,0x14,0x01,0xa9,0xa6,0x2e,0x24,0x5c,0xf5,0xa0,0x0e,0xb6, 0xd8,0xfe,0xe8,0x66,0x80,0x25,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80, 0x39,0x0f,0x8a,0x5e,0x03,0xd1,0x3e,0x25,0xf8,0x3e,0xff,0x00,0xc3,0xde,0x33,0xb0, 0x8f,0x51,0xd2,0xae,0x94,0x6f,0x89,0xf8,0x28,0xc3,0x95,0x74,0x61,0xca,0xb2,0x9e, 0x43,0x0e,0x41,0xa0,0x0f,0x96,0xef,0xfc,0x3f,0xf1,0x9b,0xe1,0x48,0x36,0x3e,0x0e, 0xf1,0x0e,0x85,0xe3,0x7d,0x12,0x2e,0x2d,0xe3,0xf1,0x4c,0x2c,0x2e,0xe2,0x41,0xd1, 0x0c,0xc8,0xca,0x5f,0x1e,0xad,0x93,0x40,0x19,0xc9,0xfb,0x41,0x7c,0x4c,0xd1,0x58, 0x2f,0x8a,0x3e,0x11,0xdb,0x5f,0x28,0xeb,0x2e,0x85,0xad,0x03,0x9f,0xa2,0x3a,0x37, 0xfe,0x85,0x40,0x16,0x62,0xfd,0xb1,0x7c,0x3d,0x62,0xc1,0x7c,0x63,0xe0,0xbf,0x88, 0x7e,0x1e,0x6f,0xe2,0x69,0x34,0xe4,0xb9,0x41,0xf8,0xa3,0xe7,0xf4,0xa0,0x0e,0x87, 0x49,0xfd,0xad,0x3e,0x10,0xea,0xcc,0x10,0xf8,0xce,0xd3,0x4e,0x90,0xf1,0xe5,0xea, 0xb6,0xb7,0x16,0x64,0x7d,0x4c,0x88,0x07,0xeb,0x40,0x1d,0xee,0x85,0xe3,0xff,0x00, 0x09,0xf8,0xa4,0x0f,0xf8,0x46,0x7c,0x51,0xe1,0xcd,0x54,0xb7,0x45,0xb3,0xd4,0x61, 0x91,0xbf,0x20,0xd9,0xfd,0x28,0x03,0xa3,0x5b,0x59,0x14,0x6e,0xd8,0xfb,0x7d,0x70, 0x71,0x40,0x0d,0x68,0xf3,0x40,0x85,0x11,0x9c,0x74,0xa0,0x64,0xa8,0x08,0x5e,0x28, 0x00,0x09,0xf3,0x73,0x40,0x12,0xc6,0x98,0x39,0x3d,0x3d,0x68,0x03,0xe7,0x8d,0x5a, 0x54,0xf1,0xaf,0xed,0xb9,0xa5,0xc1,0x6c,0xc2,0x7b,0x7f,0x09,0x68,0x07,0xce,0x2b, 0xc8,0x8e,0xe2,0x62,0x58,0xa9,0xf7,0x0b,0xe5,0xff,0x00,0xdf,0x42,0x80,0x3e,0x8b, 0x61,0x8e,0x28,0x01,0xc9,0xd4,0x50,0x04,0xb9,0xc8,0xe2,0x80,0x25,0x86,0x32,0x48, 0xf5,0xa0,0x0d,0x9d,0x3e,0xdf,0xe7,0x1e,0xb4,0x01,0xd2,0x42,0xbb,0x63,0x14,0x01, 0x25,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x01,0x5b,0x50,0x4d,0xd6,0xaf, 0x9f,0x4a,0x00,0xf3,0x3d,0x6a,0xd0,0x4e,0xcc,0xad,0xcd,0x00,0x71,0x1a,0xa7,0x86, 0x62,0xb8,0x63,0x98,0xd4,0xfb,0xe2,0x80,0x39,0xfb,0xaf,0x08,0x60,0xe2,0x26,0x95, 0x07,0xa2,0xb1,0xc5,0x00,0x73,0x5a,0xbf,0xc2,0xed,0x3b,0x56,0x04,0x6a,0x5a,0x7d, 0x85,0xd8,0xef,0xe7,0xdb,0x23,0x1f,0xcf,0x19,0xa0,0x0e,0x0b,0x5a,0xfd,0x95,0xfc, 0x13,0xac,0x4a,0x64,0xb9,0xf0,0xed,0xa4,0x6e,0x7b,0xc0,0xcc,0x9f,0x88,0x07,0x20, 0x50,0x06,0x2a,0x7e,0xcd,0x32,0x78,0x7d,0xcc,0x9e,0x06,0xf1,0x67,0x8d,0xbc,0x38, 0xc3,0x90,0xb6,0x5a,0x8c,0x9b,0x47,0xe0,0x19,0x68,0x02,0xf4,0x7a,0x47,0xc6,0xff, 0x00,0x0e,0x11,0xfd,0x81,0xf1,0x6f,0x51,0xbd,0x45,0xe9,0x16,0xb7,0x65,0x1d,0xc0, 0xfc,0x4b,0x23,0x1f,0xd6,0x80,0x34,0xad,0xbe,0x2e,0x7e,0xd0,0x7a,0x00,0x1f,0x6b, 0xb0,0xf8,0x79,0xe2,0xa4,0x5e,0xa4,0x23,0xda,0x3b,0x7f,0xdf,0x32,0x0f,0xfd,0x06, 0x80,0x35,0x22,0xfd,0xaf,0x7c,0x69,0xa1,0x81,0xff,0x00,0x09,0xc7,0xc1,0xad,0x55, 0x50,0x7d,0xe9,0xf4,0x6d,0x48,0x4a,0xbf,0x93,0xc6,0x3f,0xf4,0x2a,0x00,0xd7,0xd3, 0x3f,0x6f,0x0f,0x87,0xb2,0xc8,0xb1,0xf8,0x93,0x47,0xf1,0xbf,0x87,0xa4,0x3c,0x1f, 0xb5,0x69,0x7e,0x72,0xaf,0xe3,0x13,0x31,0xfd,0x28,0x03,0x3b,0xc5,0xdf,0xb6,0x6b, 0x78,0x9d,0x8e,0x87,0xfb,0x3b,0x78,0x6b,0x59,0xd7,0xf5,0xbb,0x91,0xb2,0x3d,0x4f, 0x51,0xb3,0x68,0x2d,0xed,0xc9,0xfe,0x21,0x11,0xf9,0xe4,0x23,0xdc,0x2a,0xfa,0x9c, 0x50,0x07,0xa1,0x7e,0xcd,0x9f,0x06,0x2e,0x7e,0x18,0x68,0x3a,0x86,0xa9,0xe2,0xcb, 0xa6,0xd4,0xbc,0x59,0xad,0x4a,0x6e,0x75,0x1b,0xd9,0x18,0x3b,0x17,0x63,0x92,0x37, 0x77,0x39,0xe4,0x91,0xc7,0x00,0x0e,0x05,0x00,0x7a,0xeb,0xc8,0x0b,0x71,0x40,0x0e, 0x8d,0x8e,0x06,0x28,0x02,0x68,0x81,0x76,0x00,0x50,0x06,0xad,0x9d,0xb6,0x58,0x64, 0x50,0x06,0xf5,0x85,0xae,0x08,0x38,0xa0,0x0d,0x30,0x30,0x38,0xa0,0x05,0xa0,0x02, 0x80,0x0a,0x00,0x28,0x00,0xa0,0x02,0x80,0x2b,0xdf,0x1c,0x5b,0x3f,0xd2,0x80,0x3c, 0xe7,0x51,0x70,0x2e,0x1c,0x1f,0x5a,0x00,0xce,0x78,0x95,0xc1,0xc8,0xa0,0x0a,0xf2, 0x5a,0x21,0x1d,0x05,0x00,0x40,0xfa,0x72,0x31,0xe9,0xf8,0xd0,0x22,0x16,0xd2,0x51, 0x81,0xe2,0x81,0x90,0xc9,0xa1,0x23,0x03,0x85,0x14,0x01,0x5e,0x4f,0x0d,0x46,0xe3, 0x95,0xa0,0x0a,0xf2,0x78,0x4a,0x37,0xeb,0x1a,0x91,0xee,0x28,0x02,0xb3,0x78,0x2a, 0x16,0x62,0x44,0x41,0x7d,0xd7,0x8f,0xe5,0x40,0x10,0xdc,0x7c,0x3d,0xb0,0xbb,0x6c, 0x5e,0xdb,0x45,0x72,0x3d,0x26,0x40,0xe3,0xf5,0xcd,0x00,0x74,0x5e,0x1b,0xf0,0xa5, 0x96,0x8b,0x16,0xcb,0x0b,0x6b,0x7b,0x58,0xcf,0x54,0x82,0x35,0x8c,0x1f,0xa8,0x50, 0x33,0x40,0x1d,0x1c,0x93,0xe1,0x42,0x46,0x30,0xa0,0x63,0x02,0x80,0x18,0xa7,0x2d, 0x40,0x89,0xd0,0xe0,0x62,0x81,0x9a,0x7a,0x7c,0x05,0xb1,0x9e,0xf4,0x01,0xd0,0xd9, 0x5a,0x60,0x0e,0x28,0x03,0x62,0x18,0xc4,0x6b,0xc5,0x00,0x49,0x40,0x05,0x00,0x14, 0x00,0x50,0x01,0x40,0x05,0x00,0x14,0x01,0x5e,0xff,0x00,0xfe,0x3d,0x9f,0x34,0x01, 0xe6,0x7a,0xbb,0x79,0x77,0x6f,0x8f,0x5a,0x00,0xa1,0xe6,0x64,0x73,0x40,0x08,0x1f, 0x23,0x9a,0x00,0x03,0xe4,0xf1,0xd2,0x80,0x1e,0xa7,0x34,0x00,0xf0,0x46,0x28,0x01, 0xca,0x01,0x1c,0xf6,0xa0,0x07,0xaa,0x02,0xbc,0xe2,0x81,0x01,0x8c,0x67,0x9e,0xf4, 0x0c,0x16,0x00,0xc7,0x38,0x14,0x08,0x90,0x85,0x41,0x81,0xda,0x81,0x8c,0x6c,0x16, 0x18,0xa0,0x43,0x94,0x85,0x1c,0x50,0x32,0xcd,0xac,0x26,0x47,0x19,0xa0,0x0e,0x9b, 0x4c,0xb4,0x00,0x0c,0x0a,0x00,0xdf,0xb6,0x87,0x60,0xc9,0xa0,0x0b,0x14,0x00,0x50, 0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x05,0x00,0x57,0xbe,0x5d,0xd0,0x10, 0x28,0x03,0xce,0xb5,0xeb,0x56,0x59,0xd9,0x94,0x66,0x80,0x31,0x40,0x61,0xf7,0x81, 0xa0,0x04,0x27,0x03,0xe6,0xe2,0x81,0x02,0xb0,0x14,0x0c,0x7a,0xb7,0xa1,0xa0,0x07, 0x06,0xc0,0x19,0xa0,0x07,0xab,0x74,0xcd,0x02,0x1c,0x24,0xc9,0xe7,0xa5,0x00,0x3b, 0x7e,0x4f,0x5a,0x06,0x38,0x49,0x90,0x68,0x01,0x0b,0x92,0x39,0xa0,0x41,0xbb,0x9e, 0xf4,0x00,0xf4,0x05,0x88,0x03,0xbd,0x00,0x6e,0xe9,0x76,0x99,0x23,0x8a,0x06,0x75, 0x56,0x36,0xe1,0x40,0xe2,0x80,0x34,0x00,0xc0,0xe2,0x80,0x16,0x80,0x0a,0x00,0x28, 0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x06,0x4a,0x9b,0xd7,0x06,0x80,0x31, 0x75,0x0d,0x21,0x6e,0x32,0x59,0x68,0x03,0x1e,0x5f,0x0e,0x0c,0x9d,0xa2,0x80,0x2a, 0x4b,0xe1,0xc2,0x0f,0x02,0x80,0x2a,0xc9,0xe1,0xd7,0x00,0xe1,0x7a,0xd0,0x05,0x79, 0x34,0x37,0x8c,0xe0,0x02,0x28,0x02,0xb4,0x9a,0x6c,0x8a,0x70,0x01,0xa0,0x06,0x35, 0x9c,0x83,0xa0,0x34,0x00,0xd3,0x1b,0xaf,0x05,0x7a,0x50,0x02,0x00,0xc4,0xf2,0x28, 0x00,0xdc,0x73,0xc0,0x34,0x00,0xa0,0x9c,0xf3,0xd2,0x80,0x1c,0xa7,0x27,0x8a,0x00, 0xbf,0xa7,0xdb,0x99,0x5c,0x64,0x71,0x40,0x1d,0x7e,0x99,0x69,0xb1,0x46,0x05,0x00, 0x6e,0x43,0x1e,0xc4,0xa0,0x09,0x28,0x00,0xa0,0x02,0x80,0x0a,0x00,0x28,0x00,0xa0, 0x02,0x80,0x0a,0x00,0x28,0x00,0xa0,0x06,0xb2,0x06,0x1c,0xd0,0x03,0x1a,0x00,0x7b, 0x50,0x04,0x6d,0x6a,0xa4,0x74,0xa0,0x08,0xda,0xc9,0x7b,0x0a,0x00,0x81,0xf4,0xf5, 0x6c,0xe4,0x50,0x05,0x69,0x34,0x94,0x63,0x92,0xa2,0x80,0x20,0x93,0x46,0x42,0x3e, 0xed,0x00,0x55,0x93,0x42,0x42,0x78,0x14,0x01,0x5a,0x6d,0x00,0x01,0xf2,0x8a,0x00, 0xac,0xda,0x11,0x1d,0x85,0x00,0x57,0x7d,0x19,0x94,0xf4,0xe2,0x80,0x16,0x3d,0x20, 0x93,0xc8,0xa0,0x0d,0x8d,0x3b,0x4e,0x11,0x10,0x48,0xfc,0x28,0x03,0xa3,0xb3,0x83, 0x68,0x06,0x80,0x2e,0x50,0x01,0x40,0x05,0x00,0x14,0x00,0x50,0x01,0x40,0x1f,0xff, 0xd9 }; pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/Makefile.in0000644000175000001440000003076111660201016023525 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = tools/fxcyberjack/icons DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ RESWRAP = reswrap ICONS = \ cy_ecom_s.jpg \ cy_ecom_n.jpg \ cy_ecom_b.jpg \ cy_ecom_plus_s.jpg \ cy_ecom_plus_n.jpg \ cy_ecom_plus_b.jpg \ cy_pinpad_s.jpg \ cy_pinpad_n.jpg \ cy_pinpad_b.jpg \ cy_secoder_s.jpg \ cy_secoder_n.jpg \ cy_secoder_b.jpg EXTRA_DIST = \ $(ICONS) icons.cpp \ cy_ecom_0.jpg \ cy_pinpad_0.jpg \ cy_secoder_0.jpg \ cy_ecom_plus_0.jpg all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/fxcyberjack/icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/fxcyberjack/icons/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs 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 "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .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 icons.cpp: $(ICONS) $(RESWRAP) -p "fxcj_icon_" -o icons.cpp $^ # 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: pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_ecom_plus_s.jpg0000644000175000001440000000170011657145411025170 0ustar sctusersJFIF,,C    C   (( 01!AQ "2Ba31!2 ?jXq3>?#L@IazRRSkTS`zu8)Ey*q>!2 'Щ%^7|(TACj9uS*k,] !DXֲڪ1/&;z@[h oZR+wu5TUA52rlmąCM6)na2tnQ`ಜ:;aLA!.- S0]r2e҃[iZY1H;tdII@Z<6ii1# 4{J z ( pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_secoder_n.jpg0000644000175000001440000002426111657145411024630 0ustar sctusersJFIF,,ExifMM*mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmC    C   dd > !1AQ"aq2BrR $%56Sd#1AQ"a ?@P'_'[`٭9*:rn $)R@BuI sxlA 2#!tN Kb#K!bW kZVcLWi}>mMG^P>!@rYp듉%$A ƇcF~|Erݰ<;ri 7la'W&rkb5(E}xs]d\.jG~M@P@Py>1-x^3ބA!k7+NZJs{m.ZЇXPA95ZfZg2%K\yETMOYbpHV9| b۩IZyUVzhh hyI]Y_dE1g1vH.`FTumT]MmڤƁꄫz$|hl;~YJLpelZyDT$WIԞ; jĦd4V='Χ=yQ 2^xhJE)Phn$Gҳ^=>Ai A$lVC4@PEp(F:!CgVނ+\,f6~ZDXU09AқRvTP׭X^5f~$P̉5\o$nAøe c,bz/V^AFc!A%`tޅyxZ<XVS&e^Wbе^HϯZ X8kC3 5&bR"{!ͤr2RFփ8HD,I^v)JABBNMuqw |HYc8(Rw ˻_(O)J{VMg.z/xqb0z>b#3t}BV@Z0|=R>( ?AL_x 1~+BKX~Z4 (GTJ p^.O%uayZ;hQ8Ͷ"Nx(S]QuOn'bY6}cK!%"'Z={PL)Lxeҟ>,GZκ ZIO银ހ(*0G1ϵ^[kMe7BH$I#[4īG"ۙɜO3|44OʳbY2 )C^ Ǜ7;L4OhAEYd?=jŽr˭S *˲Q씲9'o;Cl&yrHn[nY%w%B{^$vy-_m$X-:DA-ByRڀ("yʹhPA `ꄟjw6w\̠6[`ۈxvss~Jz KDUHu']@`F( ԫGqA wdA̫L3gB2˨=P:ph3⟝$Jwւw`I"j A@AR ;ZPA: c$PonA A0G(Z(?pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_pinpad_n.jpg0000644000175000001440000002457711657145411024471 0ustar sctusersJFIF``ExifMM*mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmC    C   dd =!1AQaq "2#B3brRS%!1AQ"aq2 ?h4쉯6 $n8Hd.DWiT7%҈ˆiILK!l#!l8ٓ@ h4J xekL(a8Z09Gk"rM]2:ܭdͮE/*b2Cd(_Ǖjŏ8dɺF??&yO*a-|A$|?tXWWR-}~궛JNnG7fp>E4(Z_Ǐ[2}Exw)!ڤjrj,'JV7wϝZ2l%z0S>he~Uny.%۷HDy)([^EAzG[$Φتc>Qܴ7{lpe!}d䝥56>scGa;f\ rr:\n'u(首^6+ zT4دn&t$(L֔Tg={A@8bPп~R#N3R*U]1+9u-r$aY@J[Q__ZJr7qS%.PLum '-)FH ;z#яFSjt3 LAJҠGTҼPswGN"׮sX>e)?V\͎gMmlZqYC%b׶$@fP 76*\l^ވ 3G! #fJ Elj񂗝iBд%D28ci6b`yyqAtR#jr*]'/cd迍:1urt՚~vᤥ'{kAVQ=q9Ǻ>y+7ȭM;MV7U UJgtI(%q\MBBh(}\k:T"/G]p4+F噳*Rq9O _}#vuEn۲M3oirK^RR[?HU+ҎܴڮҼiCc001PI@@Kx/݇=7p$eE.85Џ|HIvD֔R =iFʧFmuN%)w+sG=(DnΘPKf4rwGNpR)KQN"TiQSہrxLwbmZӥn6C-Zg89JF T0-V;D'#S4l>ڭHuH1XM@@@2 .pm.nlFhi)m0BOlY;ta{CEtK[ty""9,lW]r\~r|Bϳ:[@rYSdSLd7!~ps]9Ƨ ߫Xl]:Tå ))#v2SI;5(%QioC )w̫J-,ŷ9-p?G፻$ 0!6k1ɠ 20y 8.[@UǵtýӮYze!YFĊm ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmC    C   (( 3!"1AQa 2$bqr#!1Q"Aa ?iW^kJ7[<%1HGIjZ9օ$%9>WR|ȞZxF{DÌ6PZߨj>r ~4_~W֥[ᜪ9ivԕ3Wq> 鶬(ߗ/yWHn})T+H$(8f(~ uWPԔHCmĸpY'ߧpyJ .2%"ަ2mGRÒ Ko;2=q|3{JBJ̜yBB۴UeO*dQqJa n+}1vyD)eju!% 9nm;pwmh >WeQ J7M^}tjk8FF#^]+\)ϸQnJˁB@O呗JU` v/\.7>t(ŠOpcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_ecom_plus_0.jpg0000644000175000001440000005276311657145411025104 0ustar sctusersJFIF,,mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km,,        }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?S ( ( ( ( ( ( ( ( ( ( ( ()g '|s[7]gUS'GS#cEwψe[gaq?i-γ-R<8p.SeSRPz2CXS jV]E&?ﭔX9NF~|˝f?>?5Fv:gMVټaa= j)X9Yic'žc00fY4]F$9Ph0?DP@P@P@P@P@P@P@y zm3Wsԃ[SǏAQ>AtG"0 U\U +([?SZ4mPA1܀Nq#RxR-Sx+w';Τj cՑ!gwZGV?(/,Vٷ³;mOu? \9"|:ko!YlxE% ( ( ( ( ("1#6Ej+GI26k"R%8QnZ_ [)O\`.hQNF" lQp2~O({jz SkCyҁ~>EŜ24?4ԖGbuMb|Y>#\G5>Gosv7c^"H9L;τOMF1LV(?|I](p,ΛAҵcmK31"\;ODˤ]H:=@և0"6[QoG?Oe3N$ltǨ4)mM Nfacu 1ؿ@P@P@P@P@R-H. sʩ'PQye$Yz֨#e}X҃а唓Eb~+4Cn~X IA ?,S .9c)@D5Oc@I{wڿpsțϵ1u8Ĺt1B sӊ. F%H8u㹃{pBק; YI؇@\tǟ@r o~4& O4~)K_ ;1oD**Y( ( ( ( fGh>nzh~vC!5ot45m"::{Ć?#@XյS+9kfcZHQ9cHV4/u m$ .Y}ZE>c(ƀo OYX,i['. Ƅ^2Le~|Q,XACHS.}^[+y(Ea.h\͹>]ǂ|/:ɂ?CU!T*p3 ( ( ( (>;Ws^ZS[)9B֟a4csy1=Ү0g*fEgd#$BU"d?W0o_L*J,^!o€=OCS3\Im=:KV[e%!b9dU$-K]kb}Vo֘077Q _9WbI*&eSFֹuggxy/!Eo t=:FtiZ6kZi:}jim"Z%;3GgqB9xE> ( ( ( ( ( OOZdm2(}$vg')T"쏗ScCDWԥ@M; 5EYXGj}1 :rku&F9xgP O.HPT>wZl+ ԧ6Ud@ c9 N{Ysw7[ G\=j]vT]NvSYz2s}YK5G7{/3}Q؜Kꫣ4X2.> xJy[YJE9 U`pxxItfOh̒Ǟ!k{H0wnƛVE*>fb=㩩xjkI2\"WNdQݷ>7W $H'NnZٔ-E#J AK;cmN\t|E8:зӯ#h+o..iGueh Kl̝=Mc'qW5Ꮸ|Ȓ>;/rXFNp0A=jZ X( ( ( ( K WǏ^oEwXyylx쏆:BΆv,I+ GYL+69j̊01.$*:Јn4v@!1}˻KKxFbUԕ`G_qڝi#kp 0'>-gYIJΉ6%\o`pF0fT5䈑MGHg,1;T4͜h !?x{ Vۘw7mo{fi$,cl*h$}W=Ɗi< 7)%v3(8.}1*eJ=biD'_ 4mndYQU=lgY57cj9K$X۴;=3~U3UTFP6pDXγx%њG2}c\IIc:WziRw9@}ᨛ nom䝱&YS|Qu>Ɲ/ Ϩ8IjŻ=?LDCV$@P@P@P@C^բ4-GSǓem%ŝV]ORb\Jһ֬Hci(J6?A3.٦ F]\w,$2y*;_SDh];YbRlU`UwHIC-B)6p!di/aտJv%%ץ2O4J-Da'xܩy?͕X2{W(sV.RPl{HdUY=}Z\H]DHY' cQƭ3'gj>[n]MOlmZjV%\yu]3Fx #3cj*]IpkfgjK [ {Xx5$j_V|A" 'j,@/PiyZLh5yxKfر.ؑx$ReUſ#y6I'x/C duO#[>mBC2SM}"ͧE@8JQ7<,h >JBJ[=H ( ( ( _ڻğϾ2G$bNzFF'v~LdQVF ! P+>_:@Qamez#ܳMIJ1}O<}bUA7!AjY.NCERѴ[;$㸏ҩW!k T<7{9/g}Шukn~!Xo{`ZwsbJFo~0|;`g9dY`ժd<,u SڬSEjK0+."r:khՋa:2]]d,N pO>lև;Vz&V֘$n)Yߊd&n( sqҚ$! dh%OMsjlS|_ӊOzhg?)ܷ:1 ~Һ\aK}] A qxJ-%y#P%4( ( ( (?ࢾ&SdԵ1!Hǝ)~u3duE9 -f$@ /(89_ 2x@6۬nm) Ҁٴ,y:tY2ɳVIl(=ѫoOqit TVRu1}XY֋5龦Nj 8.hY?B71\Hу/@6l̰ *c!K/F_'!-HVM2x*].w[{]*IA* pxʹuc$Yׁ(I+6['=#?b_4t:|3];O}.co5y~emǩK:M{Xyy ?m2j@z?53H\ dI#n^(P@P@P@PĿl} +c=(=W %频'PƖҀNEahh h6r ( ( ( 4? ,.100?*R޽0U@}C@ hUFU"؈GXi`GӸC Ҹq@[4in8cKb -k6_'B}ßjA5L'T kw+fO.T#؜n|5Aucq/"r Q13"Ge9P@P@P@ɦKx^Y$h@S@::6w˹oTis6cS€:BKoUz\zju[BS~XI/@rzcH>w"Ե!O/5H|*Wd w3At=2>wA*1 dQp˵ԍݛ?9+BԞ'xH&y@>4HOe(U4 awl'qcJheꦀ!-Jn€l *zY_]%kb_hAƒIdR >%9u{ٷ(Q3G5s4kMJLVX"]$$ME,:9ZZ( ( (8$K෍u@*t$u( ƹ/UFVT ʁΞBss(f :ݘ̟+/fw㴚k1s+lw>%5rE36W.)BN$q'@pSHF $)c6}O?̚lƢIQY0sz'ONdVxR@TEѳ3|8гE?3Le/ m+X@,ni{j-1a$j y ` ʭUN]vR9ZJ1nJtMZZ&6ˈnDޒNd<(S=-gX'դj魚uISѥ/ vIpʈwVKB}.{Pх Ľ]|u|7𭕼ho)8;ߩ52܇jLӘ}'A60P I!j]ېPP@P@P@|/sfյ {MU&SMv~]3. ggt΄2 kR4cWHe2p 0 9A 0ˁm*F(ԅ8hX[!:M?kto1_?TԭMs}/M 7tҀe(c,*8? hжۛ9)uA·2h;W\ֶd|D# >LӴ>\H 4tMyPE2yrC0;\d Ui* xc6zmXY  A8$0 o>,,$4(ŘRy$h@yƖsQހ!z(-PP@P@P@Pon~wVJH oTG̅r 1]X+&1L'4 lsyXP!eB(sgs[}ʉ-˄, pzpMZPX \M? ^Ew]Frþ7Ct@ su$Wqq+y%srMb}\ RP<m@''=GiGwZ[IKk{g&2['*8#"Y^)5K4ӭo&p*(8(x>FL1b;hk^[~q{`{ rB0NkSN弒r{E>jxJJjONF޽;ЯYGC"&P$ h# "&cW‚'67]IVɛǑqqvZzw> Pn_hŁ'ȥA Ok{$nة`b*kޟ<(yʁ}I@ϫ>(k/aweQ>APA4`N9 #Jxv\t@ @P@P@@xxGuPU7_ݫOt Z<9<`E$@λ>EoRmSLKfzKlČEV 1)L tHmԑIbs@Ss#}7c1@Kom2s@4ui+PW#8Jp-{cX@;Qyq (ɠ vֳFmB vQD8 sheueefI1ƮKEHu-:yHtr3߭q26"*Imt;STۄl=B;tYƌ ^y4_B.2Q^4&Mrq xOU۷Lb0dЪeq2Jր%"8p1@P@P@P@MQ^Uچ%(=V9Mߞ:G$ܚFUY}>Ŝy)^j7A2FH drjv+;Rq,A"WR:8vC'`~ӣi H@^u='GH嶩"2xUP zM\w.ub'vw|O7R+Py$ZUԂGby x),A />(ݙrwgh)-&?Q7!:UT6uE-F8MyrmORדր. Ib?>?P15i!8D-g[\+e{Qan4DۖDUشal (ռCۮ'DU"-iv08flhO2hq@ Jˉ@f%Y ( (?5?>(hѹ1R(=$؟uR*'nxQEkW+;?Uk~N{FAxJ2z' Y jao2*U;9f@J⁛~ d X%!&X) xC:zi:fh,laŽ9f9fgF'ո`P 7i@UQT~ s[O5M:8#D"y?<cz|ԐwA'mKVu8dĺ|$d+26PN & N_K-uidQ g}OӵKkbɂ\و@m#k0NdW IKgk_lqtdf>Zju&ܤJdPOΫa @pqCN:)֍OuַWhʊP33])&6]5qwo3%qY}hP0(`Pfuǭv#@P@P@~:~*>*i?3P/uka"Tjw\W}E5җPib`e_`e*({>gf训=/{K[EۡĐھdr=YBrԂ[ vՇGڧ_NzmJ.ݎG\m1rR?ht .jeL>/OQ0,m=? xPfXAȠ TP4@2hA@h ( (}]-icTdP5|CMWU?w,YT|Xh КBxZha_q@ f^h qcJn@@HA}BFp}@ HR,jw$߻Ha~˟PcL@k.!RIH$4Ƞzl9mNLkPAb4 0(ANtqր4Iڀ:j ( (<֤?^ے$]5aB7P4~&J}",@hQ #w4q?58XpFzP25q@Ls@ fczf_#!C@ '?z&yF:3 g|u]{ #sJDH4$`Pc;8'(J؃"6ahP@P@|NrBwO Ha5;tGe![l€? %o<2 2:0?B* ܜc x@y5h{P Ҁ#gI'ڀ;9zPZ\_qho(=4Bycrǥ)$==h-@+>u$Ip"d{,iK=(,e?0?  n/:E-^'<1N v;Pg/II;r~tE &_>2-}j dS΋Y]^CfBK_1Gc@ cPzځN94Bx‸܂r{z@sN|Q&.[U"^\pgW Nՙ2P ĐZ@@ ( ( F89M`;P!rq@wvf1o,/ەݵhics@|˝?*HuQ P~hS7 J?&ȧv(O\[6c1o>x#SpvBG0{ُFִRV`1?d9(v? ];-j~ԇl\I$i9KbHzdˏa5?Et=Rת ~Xf;\+6C@|Zº%p]MH❅svOÏog$z AGuОvq &d]w$@+s@&.iQE,@P@P@Ҁ8GJQ@W5z5x +p\g%#X3yI=YGM)|w7X[xJn,1(DJ& ݳ qXCO&yhҬ9 P00(h ( ( CҀ9_Ei(>hƷ ځ=a@eӃN]%X(hu ?-VHs F')@~>@O@GT:Po9 @z_FJԆiP@Y[Hjڌc4~.EZn84;F}P@P@P@{fqymʅH=ZCE0Ñm('@,G6ր=(`'@G4v8<z ry@[ @!b-1@58#@@( ( ( (h#Q ɑ>rq&,Ҁ2ѓJ]"rPY,f?@4L:qց @ 4rǑ=b B;P! !Lu4`!h X3,ހ;}A l( ( ( ( (#=h7\r(APy4G Py4#V]'яʀ*€)$#dTrv6~Y?uEҀ!}6P!Kqց84Ju%Vx{M.Y4AE5P@P@P@P@P@ @P zL {PMƴp(6"{9ʏʀ+ɥF*MBP 3xa NO H>~tZO ܏xn<@዆?9@~2|ƀ:[+!(P@P@P@P@P@P@P@3րh րP/0§7CPPJ"QPc-P@P@Ppcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_pinpad_s.jpg0000644000175000001440000002030111657145411024453 0ustar sctusersJFIF``ExifMM*mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmC    C   (( 0!1A "a#QqEb%1!"AQaq ?i2\Zt9Am2"EEʍ]JBrE?٫w, 'u~kZg :SSIv^%,Euݕ%4!_L9߰N5>h9+:$ڮ$N ĐWSk"zo8Md2zlQbVEZDt %P~0K;mKwJ̥=V^e(9~jqw)ثW< ֝ @12W3_snZ֖Х,"[f˘jC̟5G Ϫӑ)d67ܢwgoUcMUuwcNZm/₧开:%1qRS6@>jJs{o^D*Q%'y͡MyI6n۹'qCɚ˄.FkS)HmL4Sb쐞k'$|)WLjUI·֞12FYLvP@% b95=)XZH؃C0ÿMK- JTOA{szDrQijPff<6oq"Gd,lO1hh(w \{J(1Qvpcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_secoder_b.jpg0000644000175000001440000003734111657145411024617 0ustar sctusersJFIF,,mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km        }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?S ( _)3¾ S^fo%vOmn+K+n8 B_emkƁy_lD9ximSOU|'=0 RLfv]:sRր:-_0]3Ǿg?-DߓhEkEA}mnA@4P@P@P@P@P@>X,,4b ^h8" RzPtxBɧ+aq4*yO)&23* p 1sW,c T4k;EKeop E@ţ/ `/i~`4 JfEI-s)uB:'@ӿg ?}}$Z9aI݇PłXĭ2U5:H$h#4Q7׺mţ@f:[iV?E?Ytoω~>0|G@cᥜN#ĞdƍqVT~&=@״hzww$B2#hP@P@P@|weD-V h@[rÏZL 'o=k>!uo.i% ,Ic4[5k?Pki RIgd:5J 斅?>8_ӃbV>dR| _#6y$y^O< c"bU/CyOsuwx^ZSA "W';4| |Cei:$P\4C ,)k$g.#H :}G:rsAldCpI#n~fރ:^^4;@~6Q6㞼(xG7OY5)u)$y&UW!QUp wXd%(rhDc< P=~94;혢[yxP>NGgrͩaJJ PP@P@P@V> bZFQ|?Id|x'4]c21+Rit֦r2=9.Z킲8DOoa^3Hef6T*xS g鶭αomް4:q}TiK%E>,o$r׿>#l-6F#?WGMA^ .v32O29uF{@<{?VҡZég\|6 _[t?le~*xJkM; |g{#\` 5N;XՄf_'C?5dmA\,g?V~_ |: ]_zf{fDb~0qΘ ( ( o[ KճyXOaH}_.Q-a&N(~kKD ӆvjm0#*pq&s^.ķ=V&[Krb G"كsV1ϣjq]y]VB;󎤟5feXaN)FeSd>dHORdr>e2G%¾є!v j:pDO(V:i_Xl#5_؟Fں=D?U r VHP@P@P@|Q\èizp1} `I %ĺQvS,rUvp}*LՌY| 8HV0t=|3}.3--ppiow5(lP@P@P@5>\)v;FypdbOrP82rhfš͑C@.6iSgxTT̗яyL&d?"fC_6jVr`M}9A&uS{pߨ"X< ~q $v;ބbXыϣ=/^A w&B"}`P?rbjvai:q| #t)myiEIlu#; IiY#i>pS_zAI?]jP@P@;U 0qωS}yq~V=@d+`80<%jz,"+yq,jbIĞB @Njca4_|mrd(TeT(hydjpɠ @(lt+;vv%''f?3qZx#"O*܆JԘKox.MF#~IJ fYW0( ( >4xx@ϱ&x4}b<{sxo~N:/Y%Rž@:o%PIXU@'] F($ZZSrF#'{~>?׀<?|7)..`B Ķm?kjWT> jn7o.}snd*?8tךoCk^Dt28,;PIړᇀH9%{J hn{h-4ն$rpHFn4j ^Y[\њ,m8Qb{?ʵ8?#ƟS/޼濬kYCDH7AjLhcW+gaM6m'^}"G@|c?v4P@P@/oS}oOA啦@ahp[@%F[to閚u R8-m"+>T߂F>dwrZ,9mfHHH`dKѴ:,lHК"~>$3-֣pvW| FxPkOofӣ=<@4 Z-A?|%rG(EP~~1#JzOk(zʝK?,(މwmRV,dGd d}OAx߁>:ĀImmq] pG[D +AMIր=z9< ]~=" ( (?hi(~ xU~x z$d.?>.hFs>Zs6hr;s@5_+cm 7ލ%q")V`<@:~:=KZ|sV"癟w$m{{Wm|1?5 xZ6JFH*sqӵs ~8%񎽭Ŀ,3[iI!0W gִivu 6@Ѹ= -[B^xb(Ll2PI vBq |bܡ+<O򕋜(ڦRQNR +":3\$`M,0NGy|֍gӖM]Z^Vm<*7q|^k"F5h4j m1@GtmpZ>4OK}o@ (qր>K"3x~0qZmZ/m[Su1ʒlb1@'*/5+<[4Z9kOO&8 UHԚ;:]mlE)q#Ķ1+Wտ Z(1D\opˑ±(GO _!Y{H +)_8~(R@>&i^Vr.%I`E2c`f hAY !ob(me\pC(8z'[#N`I!+8H댚O>a'tLh9*P;fv\vLP=hN ( (7xF \)?HبNxOY^C|C$CM~KOlOEy#(׋ Y[]xj:Lo|@,rѐ8T ?t;YŮ.Ӂ98@-ό~ ִg#[jWٝew| /x mJlo-np"T(Fppw.FN >hBkr ĢF}Fh-_MU5zN{9ddኲ>|U/ x].~,x_W>Tj2A$\(v08t]V& Itsz٠IM|tQDH2sI%aFG!hr ( (?nMVK_E>u-D)q|#6_VNjZ V(`*njP^6*m((IvR4)2Bl= 3؎ƀ-[E@?7Nqhb\L=v, PR 36@|=?$:E/67> vf$@A|6Gϙ=rG€>kOě bN? E-P@WG 'ſ^tk]koD cP~tY]+[>zJF~/$+~>8I=C^5$$kH hMk J-0L^^Kx4?kY}*T-<2>:qN:Pԟ ߍa{cndg*-*QCR6mnc T+Ҁ7=N&K "ZD܆+ǹ€d㠠s+YbdY#u<px erXPÄ/Fv]mebχi3-ݫYH+BSyrx8!8N/Ʈc,?PWh̯?ÿ> ei,si'Jq}€ #@CA@Dg((P@P^$Idk8յ~\;@#2(r4|r@I#,0(K8@葢 N |>5Y4H+hE,BCjh|/{’<&}MFxC@m~%h6[CtK89"=+-֙ĺޥe`?$4ӗC𶑦0pu@ h$~O$ xI~e_Q?؅h|qP(8.$\f% (9^>%>3QҮo(ÕtaʲCA?H6>}.-L,.A _@A|LX/>_(.:7@b|=b|c࿈~oi4AI>N궷d}L@ F|QTEa ([Yn}pq@ h@td^( s@Ƙ9==hZTl{ h+ȎbX B>a(P%2H >Bc%P@[PM֯J=jṊqbc9`&sZ;VjZ}# ZJdn{̟ P*~2x}̞g8ÐZGhzGoQEeK#ր4.~zky^#;25"|i UP}mHJ?*?oȱG񿇤<i~r1(;߶kx;xkY=OQh-!#*P~͟.~h:˦ԼYJnu;c7w9z q@(hvPXdP8 008 (+[?ҀUBBxZmW}= Ƞ ;NH(h.P@P@pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_ecom_plus_n.jpg0000644000175000001440000000546211657145411025174 0ustar sctusersJFIF,,C    C   dd ?!1"AQaq 2#B$34Rbr)!1AQ2a ?@PAći]{wQIRpp>d9e\'vךu 8d)kiHrUXh9 |7ֶŔ;izRkW-J.o֕`I4)ݗ}6ʺ eq%4bSG Ti]y,+5  b(@PZ6%ʰLسni/>KZBIk%N!}r\/L$l^Yu^ɾ_t%$8k@֜T~z1OPLR/$"k# 8鎙2}C2ǎh;o0)) Zpz4^(@P(ͳ>w, R[V a`xP>\RZ.kzvu'i JY:yy1sWҽ#6jk^qYYȜZ^ϼ"ͱ!9i8L7op $d(  j14.)IGB?h NnlTқ,(ŌD]kiRb[j7k$te(\9o~7杬xަ%a(/姑r$޾1 PpI374y ZNR#f= 7/=Cxuޖ Cwx Nr=^&v3o6~Ĝ .^)ȫׂVfΦͪ(e[ҖҜ͂ߩۉb܏xw V!„[a BvwSӊ h _i>.5Yv: y(jQCUTb KéJYB9`QP#8|UC0 ҇wNs!< Q2j.RR?rR^rYjRa%i!+a#Q1DmRHl*niRq9 dz6;[=h88s9":3&w‡9 @Pq֯o F~h&̃x[{ܖJv÷>o2ʘG#GJЅ 6dkJPn,s_y4^1Bޘn)j1AGwZ$z;=Q?e--5lǣnVJxsoYķ`9RYnZ4jVv+.eF=E}5զ.tRVy% ݿg&9)ßqEgMmܷS@6'rN! !s'|8;JF@3A>}ўt>`v\Z}1bм_fuw_Ԟ+DVY` &DБ|' N(>LfGuM]ACd)$`(xcQM]qG[Z|d067dg UhͣN:xb0w[NEqϫց" [>S/&g6Uo\6[UZI_#Y-+UB)F,gҁ4A8i3|Լ7U'R|=}SzI\5D]l={Q?s&XG챣xv ꨅ1 \aNF3.\wN\U/ܬ{ƝK+CǴŏ Vc!HJ@FS[W–? A54[7 ۊe94: cYۃʁ#5J˃@V5tUͻs(@?*ȭtriPll$9Th (>`s@I&{Pn^8|QH]nCJU@@Ppcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_ecom_n.jpg0000644000175000001440000002527611657145411024136 0ustar sctusersJFIF``ExifMM*mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmC    C   dd @!1Aa"Qq #2$%B&43RSb(!1AQ"2aq ?mP,%5&TŶ9}T% ce%-{J渻r|A 欱"]-57R%kZ ְ|)OQȶJo|;:JT†n-fVmÌ8=?OZu6Z\mC)RNAF $$I9Y}߫YÄӊ  Pv'*=Ұ*H!2 ˜؉G!DS͜\Z3VG4T"IrC* :Um?m+ݫ߶  m^rѮv-CnrA JƑoU@5 f4EL?6ʏe n=1sLx.QټE# )e҂' (P0q+,$|鏥 ljۮ V=Z\eO|_nhHI󐔩z{kT];$B(5z#ۋ Zc8%NS0A[t6ܮ]q>u-,D1ֶU#%y<1v{rbMlO@uāNbR@wqSKwvgz5ciK*KM6+c=irCIWW.D9i5}87em)+n*bv/rJSrIs6> Μ⦞ɓwUl 9 )q.'Y]Mb--eA:Kԡd}8 Z%Zz=Tty #eҢO$(H~˧F\W@,O|~Ur'qCIy؟\ -%r sjkFt\3~dl],e6Wޤm" $ցh-χZiKV3*Qu&4: qo jK8:4];3bnRJ#Q>;am,Gm PTݍ\;pj[aSjS(o? }lxHR[R9Sc+e|hkRIs7c8UX0 .('gwNP>xqr$K()J2 W 5䊒Xn5b |W+֪p>8#84CΛ"H frGNe~Lbx a`gΰv$7%̨(P(( ?_wFYPȖ*R`]>w)F΢U؄n?:tVԿE\V^,m(9 )!C8>6U(g' S>V3q*i#kY/.z9ԐcK䂅Cb)\z{m4W[l|:b5u|!:p[Ĝ(]84)`ǎ:~?x>̙VXHzC*[e->*Q6i.NqVę`j9P -ZRsD)8r7TcZwy{J$`-ZyߌUTvhiXx08 * ŷ0#6}T+xAu£Ȃl3WťK׆{UJm_Qii vh : i+cmpwWkqj9y9=Tj}&.pvIpSyW%~[0TzjE`F076(LzOjgSd){7C|f5Q1dw"/C2]RقVBO2G5i\LSy낗K|9E$ }^oRuY|~%ed{N}XFޝ@}7wʄ)<7QI=9v5-Ħ8)c*`I%*q\G8@'d ۥxk62d_Ly?|V%OtMP]m-R 7(q?@9Vǎ>%r/2N8c.,.Mm)?s{ɮ]簮 *Pyhr(2[p!&A i2h.j;w䜮\G&mL6(>_cN !QT c#jRB`.ċ"]l gSi\t|.Nlg)GS͜VnDT@)qZҒSkI0Gʀ4 -.EqIaŏ)YBSBvR:ɀ쑖behޚyi*+MrlΚ ۣĘϰXSN@ʥ~yTZ$y*BT^\^q0؃#quP)w_KHKCmKDf*? e#]eMypb7 n+̇7]iWIPć 3@ޥ6!>oE rF:Kcj<迡fRD@?0)lmDyuᥪԛSp3d|VShV%([E*rO+G'ʺG7XWwƫcOiTHdG`;һ96w817 䟽wGOl3Yg7&iǏid6t= >\i:y2.ºsjry!C )XV((pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_pinpad_0.jpg0000644000175000001440000006027211657145411024363 0ustar sctusersJFIF``mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km,,        }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?N}Mq4n> 7S@h}Mq4n> 7S@h}Mq4n> 7S@h}Mq4n> 7S@h}Mq4n> J( ( ( ( ( ( ( ( ( ( ( ( !LӼmb}B`LV1?T`Dyl(!N>;fgX[9,?-M[mghȌHFGMF= @ıi^&wO0h`^5PX]xN+{ʑHP@P@P@P@P@P@P@7×ή-#.FycG8v>[:ŰO T~@ G3Ww>OXLghLw?e69<}$]j6HO?W C1IӸ)$zgXk uYcԺh?3|7Y$*Xݲ/SRᎯk_izi:Lsռ3a|'PQ,Rz_ď JM6nI Mt?~-2 C.pu$Т۲s72GxO/񍼄nՋz(Ў&@P@P@P@P@P@|_B{Fz\hO )*[ڵe9t?>8m461F d nŠs÷"`[瑺"Y 3UϡgE5fRYHl{NBřm1 j3/On|Cq5\\F-o1%As25ᮆd^߃l|= M$,4q{(<1U$Lsmjr3ˁn^ڄvpw5R&SW>t#"Qc(>$qn$C|V58Qxs EUqJٳntznBxHL. nO+:gexLW:u+#KbsMnQn/VW0ziYU!%g8zh2jURV2Cey;Q[Ky'2/^լъzS##b߆+Aܳ*3^ e9'@\C!Fzbƙ#}ÏL:;W@AEnYB3u?:VBڬҀ!z`z7qg " Da ⹆)@Hb9#X s%Xnēs /Y^G,4R/*qvşYxF[x놵-UԒb`y#js- ="'*1Y_0J;xv~MR>dzmOW TRp=7ÿSωNӵEu.+={U J(5?$ /Cj,+j|/ˢ|Q-82^Y}22zVIjW;e J( ( (?l 9]'w(YCF5/ʳytݗi&bwy?Z9 6kw,*eF8Q{z톟-ޓuqjʪb>`ήl]^9ϕV#?R?vJ74n"+aOt S#5Jm'SG7kqr5w5]=km~""|WI MӸ\{[Ŷ^+ֳ+)9 a?nѵ=L GdpбeXv`E+ l)?=(,\b3`qM_I .']AcbԉlT%'@vy۵6s7)!8=M`hFcP0x+K܌ T);N[ -n|OuxT z~ d4P@P@P@ZծL`|dh̿[ҋ9jmkYM>rk$gK5]Fy[Fg7Zj$]2¬ kwsqKm 0r N>֔Cڜv(]2rqʝ(8FͅI)Jο oŬ3]&$M V;2\XGͱfF_)Yz/>5EŞ;ZC٬iiOG&u|,$RVkּyw;S/<-27wf DiU%߈ |?\c\S]QN6o𬍈_C(`O΁_Ku5 a@P@P@P@_//Rm^OMJ yqj$g;$tdyXmɝǰkqIItI]#;uʩӒ8krQm0$Ʃi$lC2Ajqq@{ @G'qөPPWH@F# M;wbPH45 (y1Dd[=)J(e?4FtOɒ8?*bIAi(lAq4WgRc?CZυ.VK[ecܑr~k%庚;C4Glր ( ( (I<&Ifkx!XQeIf@3f0#GN!1cI=( vh$spr?* \ 3P=ڄq*d{+&$XiZ%[u6vrc:fFރU /Voխ`dWzS= )y'Эwnc'hSW>=ysJ( ( ( ((?n|S_á(m}OD?b ]UvLh [D.n u,DB\ooһ#ӚK,X*Oׇ#B>;q bdNЎƚe$@h DT0;A .Z&,C>\cLaA:LC;91@m=s@[ c 6t-qr#@9 Lg3@fQ@ '# ӥ=ee\A@ q}v?ê@be%Gҳ.x[?kV=Ұ:B ( ( ( (;7~;!.lܲ/X(a#к\zt}?3:C+l#XD~Jjfe"x|:0 ${h:Ofn"c/ۃq ?:}D$aa!ǫ@㗙@EGu_)Z8i2I'V?+o4#:.W˨8wi m`W$c4 !]xPq@ƺn%~ T/G\Nrݨ2 M0.GtɘHRϟ^#@ݒx#43׿f}0+ol5@" g:>3W-GsǩVf@P@P@P@comT.ܒg㒬C?iKⱍe]nK"Aj]LpGoʻ)ًͫ"o =UXQNC[{绷Aj.T)ȍY#n6c'zdѧաTL #; - <[ir3,t rr˲Dyn砯#6̧Qqs!'k#U(͎9LcpٯNծI.V $ghHsJ~RE*L;Ԓ0w(9*j D)`GӜPn]dsOOq5!] :R\[w٧JfPy dsX_hVvyq*dm !r@j!k[ݬy  ( ( xKZ]NӐʳ1lw]u{ާʖޠ$iTI4NFybv0,YI Wo=hNOQNrA%P hFOFzDn5dWnqd`<`vK!R}vϽlT- ۖƅI.y%c<]!.vNOրSyژ fRi+j<΀B9@ bY'Rz &Wtm*>4㊻="|r浦~i: ?U,F; "3@"6R{@P@P@ M~W'MkeidS k V+ y*8;-mno'7;n8^2MnfI`~T"3~Qu YL 1G˳B`C컛*%Q"7yiv k ;D>~5*r md̙`XӲ̤P"kk2(`-L?vIp@#.G' @r|P:tȠbIȠH;@Z5۵kHrI"Pv1W4ކ2,Dr2v&`@f03@!wZ= A ( (O=#᱌;M#p F?CJrF77-xO [[K7g&Db B1ڠ+>漨f+xۧ[2mGV8 @A#8m ؉CK #& L-vԀ]Kin 7*/\v ?@M iVS9KK8aJ]J@YA@ z a9<|&Svm6w ~QkNz!D2Iw%#s"n&Qk$~^w͢_O&3 \Zb'P1>$54D1%UJ!Б' 3x%jWz5q(zjR+4}-&8F{]KDbt:r3vʋYU.i6 Ϣ]D[(ɴƨw2;ONm qr*?0A$XavFY@WAj[' *\wfVGm z_| M[NWop\ya maݒEDdQ۬JO3,ߎO>Ic=ɭܑ>(V'H0<ٯNy.7H!ǪZ&4\JҬEɍr8`=RvX x[G;f[9id;5qn@!bG1G9UB~y&eq0-桭gk$\56([JI.'t?tAXNͭ{U6!7h!͵,Dd:I=99f8h9ۇ 32d^A63Ao=Ɇ6@5N*q8:irփEV NqZ!i20>tͪ^c`cPe Z宣[[c6ΈD$3TW ܐGL ~?AZSz=ZZSvHb4FJ*}pA?ʱ#?\||^eݲR$gGU p0ˈ<.Q <kddՍrQU[vhifz3muLAgm9G(䤱oIt)ɚ2N*=௃-ҭ56Be'x̆ݝ9,vNz9q5+Wxx%W8|Jy'e{-^ly|F.ܬp >$2Cc2⼟Uҹ1✹MӛML4iaޚot,pY sp}({|,8voF-6G;;(Ǿ+ b0%d|v#>b*%jFivߙGT^Y?/c-y)}q*W?8d i;r:gh~lgn6)#gYĘIbı#?9:ssC20U1UvZk>OV}lG^gٿVJ[\\zvrU@O'?s )IgSLL^ӂq@1q( ( (Sěi VqI%'WEdrUw7Wzҩ2N,`]D*xXsc *[]+[#'4$yQC$y >i9Xi6sd>vcq#WA*N?RM1٢ݕ&?®$ІerkYϡ}QqkPSTV$=7vPcs5tJH ]J+\3G+mU[֦j;3?mwť`n*Y<h6<ߟ}9٧PʏOUE]ҵ1T8BV )9~e_bH<[٠XH$/gϢq.g%*KfR><'9V-κ()RH3v9rkJKz}JG- /MQjЯ8@8婢4ׇwq\R=gnJdu<'azf#IlP@P@P@ 1Q}/Πi 8 q]Dƒϑb֙ZX.-A5J6&q_ccڞ#:iռeە iKa]նh6Ǚ08PTڊ>ӲS+`u#<)V=nN(ɄZ ( ( ( _j3]$;E8!"=FvIgncckGDp>leޑA6ݪA*q꓍2D?bCo-)!cIsvM6wJ@=FyӋ6NeԵk/K^w$iXIǩ$SkV;.-[n's, t@4Ypw\T.5 aFmN\^sxk }U<񾟡 rjY,lJJ]KUb8Βߢ',?,\A޿Y>Uf][*:TIGaP2CCJJ註3T{Va{(#afS{i}8m洄mt6#gաUq7 @oa%wGse6DѬn Mzb3\\K3T1 k2qR\ +]^>`a`jjSwgEh퍫d?^4] ~Navhs܅<t1&^Fuu(^:ܤo`y pn;J/;?j5<ž:]Moij3"5rDeQ}-%~lLɘsf-?7: qnnu85T;)+Do i)Rh{/t͈P!qX ( ( (o}fKoznnI  8ήg]Ekwo/U)w'"NBu- fדE,6="i0b袁XG,G>+SѾjuG4img"K2 V5bq&@g /ag}@/?PL} qY^3"Gxvb/(ڀ ( ( ( ;;.( 7)|FD.̸~ rq]iX"<AnJ͑"NvXY}KɎ8B\)r<Ńzn~ EurKѨiZ E֍k\vO ,0U\=b_CK/jښ:}Ipà\{7B#s#戞*\- iIV"<n#|!x7\4o,^G-_[1CUUԚ.@젷M76kpj)60jKu(*1I2:} a5gtk\/5[iK0<ݜ02rpM*:Tnf筵bF_ϗ2M,IMuc=BHx+>5>(k<%}^6w%LÆN`PV':Χ᭗4?AY<i Ͱ[=3rzj!dt@P@P@P@Lx*7=P&_Dľ($[9M%p2rOq~&I-YUo=G~O.^SBW$t>7gyB+&h1H5)I=^_tRweoMR_s7RΪ=(kSʎ-B;H!U[+C#?g,x\0Xk9;=%s#qGvuQVW=:v^* $P ( ( (J>IIܝ/U;#VgzꏏHI P=3]-Z"R})\e!HPdd0>\ vj70X585ޅ+BkÑ0(Ie0*mr RdpVBYN#L^ ,aua%ܯGP~\,g2rdf,Wϒ >OUn9w2x[X1ҰJ{+ɖ^ڦezVǺ}=2xJvc&{F?¹$4}YZ /ϯrwEYXʌ:P3XJ( ( ( (0|u3%M Fݝ}[M\|H,7˽sMw&ȩ'׭i ZJ&|FUM3KA~ &uZghݛ$Ru[/#j['u̚Nad~ǖL>]gR%.v?cO'Ʌ=1d-r%ca}&tA42OW{k;;nFH |dZ6+:8<,~S] m–zZ*ɦ>JW %J".,C1Xǻp${$ΖTrB@ Ds;SS:.%f78UMLd4o_Ln+amY-+PnuGFP ( ( ( (0hPE@oD'~8JxYD(PRxMDSA.#€<7H#l-p>SN 3¼i_7cԢ{"{SfM.ͮX8krZ6)0|B[m]1h_9N8\/5_Ke\X&sPz8## E#ɯm'Kk(dyjG嘞 "R]@'lpkv-U M#]1YAVQF P:Rjtp[ P@P@P@P@P@P@P@P#@㗠9|*|s&S#'LV@xYwU:<3k7Srv=wh4 f 0 ( ( ( ( ( ( ( ( (ZJ( ( ( ( 6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6J6Jpcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_ecom_plus_b.jpg0000644000175000001440000001675611657145411025170 0ustar sctusersJFIF,,C    C    C !1AQ"aq2 B#b$3CRcr4S)!1AQaq" ?@P@W{ݿOrmtKt4~iKh N;9f.pc4]U۪,׬~ vOOU3&4r( ( ( ( ( G'p[Z=!źX}sj<¬uǴi}:2 ;GJMW|OZ2]d1 e-H09ϟ4#]B? _J:"i= C.Ar ^OSFKuv<&@m?&MEPC{9XŮ~*i:bf(S|#4e61F;)L}_!>%+'M%Mgrc1~ִM uv򥫃DM-M  I?: ( ( 4{|nqږ(?W|~T1$M]6o#A>4@>SfdgA'ת&vQ BsΤ ñ ]J/}m缲lmzkH?~P.FI>$j*Y1F"흓H32>3j)K{:Kӷ+ԜN#QuЏC5i|g\!9x } I^:n|@$ FE@P@PAMai[;v[Lq Ka)N~%j X1Đ ZoKڈ۹qO {O {y *)hHIpn}zw1ARm+Pڜ{EOjM>֓V+,t 2OVk;Q@P@PAOH Mneܺj6{+QEw I! EB?ZNּ&Gˌ֍HW5Z$J8$\֋Fޒڎm 89o' WdVo!|7oӏ3}k~۟y6Od7ĺqjī):s|kOU~J9>AGQֱ~_nx_WojR#܂uH ;zg/'㺯_<ǫϰul:6*ɧ^nNvIx2f }6BQؒ`t䪗f+|FQyPB)@P@PAo^x{-ޖwt;UPqe+}[tԨt^:E:ݾ˛qyףf^~){tתO)IG!$91kŜR\nH>mc<'5Y\JC )Jӝ*Ia*^򒒠=}$RFnV*.(~# Ӆ$ V~9[֜MKiCBw8x$sJQ}FIA#> $X51P@P@PiL}H4ϣp8[.˔^3DԾ0>gdRP}bS+M(I]iv3@ő$֦W.7\Hg޺c͜\HK|NjJ t+7xcN@zs] zWH{JEWY1a=\&솉i}]'|,}TY[$$~l/'kڢJ8=S+z 'N2= V{V)\1WVO֤n=d'+ni@ure\-j( ( ėR=ikpJ)CCsEIDPrmC)P=E)+п&y>+/ $pQ{f=~fe2[Z #Pu-vw$gpB(wm<2O.[KWxd!`Ue*ÌCfZ(  #0u7?n}'-Ɣ(2T~uԍ,V$ZWFgR= /̓n.h<3d)Ԭ;pI݀1 Q7weA%6:}i-;B{U.Be0Xj< /mIkƮ҂IIQƄ\bvF@. )ļ!hܶ $PIPx"uq/J2S IRvgm.T,1T ߃1+/&7ޝz7rk~Yώaz~K F7PKiUV[%)mDJVӂ`ko\g_9zko}&}ԿXD_ywt@C||7~G͏G Y􉴾ECe 2*;iずÙRSHsd$9(  ?[sc{x?!tMXQZnCx6Z˩xP'%uLg&ݮkqOHW8;Pd%!)98悧h{^'d#6&kӵU1tҿ$P;I{6cPT,T@RBR {.΍R7 ICmPزV@P*)Q56J6v,6(JR0z T=S]-[[epK`7Nwd?ӌ{ KhkOLDXwu+}jSiI>In#Jzh b%Rc:q H4<@,{I@XmCh > sAc6Uj}u-#`sSA/8JR+G- Xtɠ3(%Js JF(>@PGjKmQvk&+ i)8pn/=뻶l))Ca2'uiPuYv)^cAT<&W`d%Xӌdb5/#?j 7{1$'ZRw7R{BPOưts@f B@AoCs@Pz %ٞ>ƸW9pYtf0l)Fw԰wwRRv=k#n`Ls)uwIz5+WȱOOگeVn=kkvKv{L`&R}mZqNS04#ăf9(>փ|[;At⅛zlh>ӯUr8/pк_ ]lҰdcƀxmHqc ``t( ( 4䔣E7eOvU ĶG%jZ$83nٷk.d tP?T#h.L4l%#J( CA{Gc|@IXP2gKz]2΂NeycA#U}(#ѵʃ٢}F]D =Or +BEhIAlN4ETE (c}%s@O肜-P؂(6g8E)# c`P&"EY8e!n\Ad( ( [||"i!@#ї6S`kX5wG@=¾# &w!6)?}A UDTPK`|$ I ( (  |(>z K=R(0TD oA6vӟ ?*=T@I'=qFֺ $aA! ( pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_ecom_b.jpg0000644000175000001440000004174511657145411024121 0ustar sctusersJFIF``mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km        }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?M ( .!Tw';Pu ( ( ( ( (/ ӭ'! HT hԯn[bE%>&ϒ|Ch|COK_u} f"Mh"խuk8-lWkI{dqiWd*vL+c<=6T#Nvz?^ھ%ε92R1(O_x].F vKCG{ßt[SRcGkgj)OSa_TثH nڀ!`i]BzIS%ր ( ( ( . u6a_֔eRV;sQ}/MyMM(Nyb5p_EFGڧSrR5Rʹ'=+9csIjr3j:MEi0+̂MiȬgʗ5 }[Bc#*om2xPOD2Ev|G"VL"y O"=' 4Ս-9V%ZWDʯDgG_}%τ!~j nH }Mi()nf[S.kv|HuFyʜxb5!@|3KU ,"+2R-݁BxfD_ .fFoP\LX+φ^)ME!m/X.sזEջhET=ljHa[Ecځ\hP9=IƋnntWbd2 oXa% pSYko/nU)`dGdaϭgQMٞqtgk=ź۴7 ?R; ҿ|-" D7%lpLϷdo6[[xUq] K¨+sֹ2?FRh!4P@|q}H)è8c sUE]Q~'ա/g&c==:#qjW0`Z 0x {K [v[]<^bn2z53^W-gJӵ&]ka,#T^3sYN0-2|gcouc2F~>)M]*EE2ďٮkTuIȔ~Mט̰<%֋C=ZK5F?⫝̸9MOW?2ړլ/Yql9×́O^Akksn(TEЬWstweǙ=ßm Gx>#4&sP𖻤ږ{vqEtui^ ^X-2{`³)#E{vGi9.;yg?D0:6?5[^w&"QW`>k19|Vk[JU)HA'[QW9뽑 6I8# xcw#}j2gYúHOXzϭf$(:>63>?oʎ_isX1m'^msl3r]Q i`c& FsE9]IգF(Nh4ٙrkV֭ƞՁ0x9Y40ME;Zd\@'avDYH8Za"vM;Ė7 3\I<]O)OI^&."$v)B*CXU{FR4 =EbX9Â?:⒳̮h6n? Ec@( (&?2jq?(c͂å/9oGtmUx3]b;j i_X~Y.T5Q0v uH?4r4W P/zE,iqzƅu3iY3H|˒kH~6 y nv0?S>i*Ҝď7vvQT)9@ @P@ q@6ߋSSVr_k$S#N) Hg5(MnzVHb?>垓\]3nd#!(K%-_)km+9 7Q67Ԋ..S2iʂA4\V*I3cJ@%c>iԳ恔%7u'Jik c)Jh)xQ.ʸAg /(( (i%gT$?>'kZ񞹫:u JiNy #`ǥwA{ᓻf}]6FIןz#iMԒK1?Zd_hv}("7iĨqA\#y$sK+crx,D@\a0@LPU9h  $2<7)VA\U -΋NoF?dtV4pwV\@nŠBhP@RG>xUci QKD~8ݯq 7lf B䝇Wq/%;gKq>B[]LFZ4܁jj;!jli=RkB[W}X#VI9.8z=7vNk)1E:~ta%fvEͦ=pB@bONJP0KK )!ɸI~\ӄԂQhe]@Z[i"%cip9?sT! hvjN@@z|,E#p7 {j'Q|Fmml ~qZ4^WPI͓=s4s=EdPlE_A@ @P@5_I(PX7<[ծVeݷ}w&i '%rAKA Gzէ+m } ʣKټTF 䖬매Mڳȝ{T#i<ځ})x_棦n5<+JnJ+8=*i͕(+G0=kj4cm[#+74Pf]I "X8=g.MTF)ĝ+.h⾊$L@nV^LhdӐ,<j%N.OdBT۲|h=JBgmH8$q_#[>Mޔl̶yqo>'/ȦOv/"S'uʠdlq؎}k|KCpӥIJO_~n+dϡ?dtDX=UBMN\|O\m}GZϢX_J(EM@P@|) ץ왉@8o kz 9Q?dNYr}@޺v9H~*VC+I%"բ:ׯ&ѤFs~,ֵO^]_]9g<d])iĶrTcI;n'GmmGxd[taJT (S`(]SZ *0$}3觢24 o4>ɐ\_̑+(ɩ'PR~ O棣|ugKI+`dz5*I3= I7BA kZV+ +Cx dۤax&&G?|4p/;C8'itov Am_6$d`u<>J1((FxӼmˣoGWy#}8G?5IT}19+᮵2#p?SYUzA]cºaT=1zR(P%z P@Pgu#amcld&tZ_|x {R1mƧ Y8{LlW5YRWx#G,H:O<_N .Zڨ-@P@ E~@rd_ď\M!ZY 1]MZ(⛻g~ϧA 2ItJ {ۡ $Ʃ% SߜKcIs:ƗIg46$ŞŲ+J>/ԩF`+zyMXn2v>kmܱ#<=5aHn{nE_wZ嵅NMJ4E a {\.9PMAG_ 鰵($}M~|-N`&8ֹ*]OD&Y'^ QP@P@fxVM:3lKKIg,{mRhbz#^WG}92I#?#V. [{ƍ+۴pj؂730$u RnȤ2 Ėҏ?LfLFf"dQَ ZZYg)fKH)JQE,%OytdLp$Oj 2jZJV ·Ÿn_wz G=BnpG#r:d _]cQY-mԬ{ N? ҚLٹl$kuPⴕĝ Z[F7 $=0$~uUȰe*jwvG^sj~(k7z.=a)J)/#YTw[5\rJf}?jVZuPVGCɌ͏uŭ8@P@柴|m<$=#nїUԢ.FԈ=~#k4qOLMc%3@G.ISJ Η~,m?EMr<"f1/ ksTyF9`Q.%gbgx#rŋ%-,-rI%@ֱb8? Vķ0]5ݗ} ]9 jqs'$H+isk(H$BDn*'{w+.sNK B6V{ڶV3f6ھisp-,$s We{[wFS/Nwam ɟ~ӑ'ڞƠG\3wgm5h yqIg"(@ @P@jG9+ߒ(w3V \giwEPsؑT{4>v:+$kMKCEZHcpGVRN2SZqǝ$Dӄ^R{R–AU=PAٝ|{4tk+d}孒/,c 2.jy-ė, 3H\)k Nй42y*e 4ST#0D`ڗ#r+;K!9gn֑VDskLok¤§rj$}}̘6ާphz݀ @@͚( (3E|?s˽#&~2xW~m6[+{l9~8>hj1m$@۟ ;AT^@P-R}aDSS`~pG@Xd,{Pm֍ T2`$IE\|mi#i+;(>FUR^xڮfݶ20[ndyY>FO2Σ̮j廩ʶ##|>RI׭K]-ـ[-/vw$Zw.GZH_{Z@K6೹;ݑgҴK0--늤oF=O|/ h:NJ( ( g4xvC=^i剿Bb:@LM\M?-Q^ ?W;##J5Vqqs⸸vEDj-xF1f3H?!f~^VtR  ";g ؆܆;E?t.y'exm]OMVy,y VXI|5- 24rVZ1fZd֡14cJ< Uk ďCrVv)_x*ԶO<coo2G$&Nȫ+ B/j: ( ( (e 0@XI1@tA@٢k8[b Hr~uH'ST~5*$eïч#; 4|IndE~ִf|wW"C:e o\>~&EGA%R#AT{ ֶlUEKGa]'@ Ұ#6t%cԠKd ށP@P@P@P@P@)9nEW ΀P)QMJR#d_X|)xgNBvmm{5G 0=P@P@pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_ecom_0.jpg0000644000175000001440000006371711657145411024042 0ustar sctusersJFIF``mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km,,        }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?M ( ( ( ( ( ( ( ( ( ( ( (4gK1< cKX=EMeV_ևſ[8#zqJdemO!b;&OP>tv/ƿ)rE( cx V>tu:KUqrR:1P@P@P@P@P@P@P@PG_ s:t<>U#x$ps[c?__j~X7r} Ŷұ"7P*;##9`VР3/?mc:@c~O@ÿ *j"dzǯhڢ?|ۻχUurB#`?J^.z?8UMgK}:R"RcJ"x];;=[Qυ:}suA?KٱڏᏊQN2[dKΎMLJupٚp[nt͵! CcFyQY34?h'B4QWIqMROcTubP@P@P@P@P@P'|Um ZޡE ǘGԐ(v?6> V4JGV$$>ҢL/s㿊>761hlɴ/|t~'c{%bo7wͬ_DojvIJ ]!}Lj;|9mN=rx t/H%im54FppE\tvgxzW3@;[qssG-RM{S>۽j9:AkFGh@>qO33<)M[) _K9[Iص _> UraԭfB4ZfZ6 bTSh? ~?8lvIeDtؼ~Ws)7RA˗3'=Hsj^4]Ա8dT8(-fVZ6 nRw&法&NCCUk]ZϭtB2X;F(复W2Yz`1+ i gpƇ"A/ǡkᲩh8p]fz߆ਞ4d]sHPpYYy6r"hnxWs|)T|.}v_X[ =MRLII!u70Ab ( ( +Yobi$vI?ʯuoxTk)kVV![&MZ3|YY-SPI[3KOZ*@ǩ&T Sx   #V_h7m+ 76z3Vb\J8?cPa,s^Di4sZ}݋0aK.?1ET sލBO҂D (p'j59z<λFXx;L7LҤ>oSU= 3̶<&iv#{吤zY2xg]wf"$$bE#U&|9|=-sJ Q_M !9+1s3{ܥoSR4m{bY7[,wcw-ǽ&Rg|};Vn'%Xk/XM\GUu3ꓙ`\$k"Z  ( (25Ҿͧ۾ˍj4 m!$񪎬Σ?+|QwmYYTQ 0=#r6fecr#$^qE^;OF-siUV *.A=y=(@is;iԓ@s4QFnM!V8_99v"vȎF.<6״5~D37-4x1[3 "c/MZd|W;(jwn-OLcO?Ҏar6O#^X9藐Q̘ZD ^kN? 恭 CNj+4G3ycKr5/PV;㺒D JVy}{/=A%`J[Ƃbqlҁ3е?u!kmN!yHW?pԫiZ]:|ѹ+cB'Қ56c"!,w&asP{ĻJV,^ɜF_I_ۀy!e)a{6[i"IG|k?:>)߳EU,N1r?ݵU释P@P@PʟU4M[\F?*ak>8]x]?KӼCyCjli>Azj?ZӚۙ4t✷GLz h7LC{DŽlUU22 0 *jF5+*pwEo?hB,=Z)RTՐTPɆwhu"X$${M0Fу`^l5 r;G3L.oY|U=RNGxkZeقK}!ktw:#V2ٛ׾R0*ֳbφ&A?4dfhZ 9om67 E.C+OM>8`QqUU("P@P@P@?|w ^\Eu45a"ƺ^gGy3kZPi~vfad|a| o]>ܰ`m$o|(jf]5y#k3FI0PH\xu!pxZY$Ps]78cXCJ6^e&ppP7;G Y9s*yPfST$ީ>r%)^=_|]Np@[r u+ <'=8\~?Q+ewbjm-$90!gkbx,QΉe]RKY[̽2jIkv PeJ.;րclQqXBqqL$Qpypر=$l QaO;-6aNd<21Iϸ汛τ"_[kGF<*O8+;)JS*jA jG EA?P@P@P'k_ h3.<=]- Lђ?>d?ukZƞO:x;fYGG3[OY|{)~-~o"{75;[#uKrlZ44L *G"@(zv.֧t H:<ިπ֍/&s-G5]Ϊ;Y.h( ( (>`{H .AkTRdon?:muY|L:I5ں@RFqFfյy.]E@BFHN/M qiYI܀?j»rIyE6 sTG;)K+9'ӭ*MrҶpOZ$[hd]#@nUgIPy8@dr(($ `29(Uf` :tnL5#aC`xEKE)nF{ wȋݟZZ1/y;9"US`}I0/ ^ݕ_.@?U lt ?81\줭uU&@P@P@P@?Wk۫o "f+\W:-=c\4Kq '#f NzRw("B$v hD/c>^ς[a[pI2$\9f=OeR6QEYd9DŽSk @ ]B?-/Oe'GifEׇsulO{5TZԴ12?J..F>ki|3Z.(\! ‘E9p(V)ǥ;g$ P`tiv cI^)GۖA(b?9hD^ 4HП.aޜ0#5݊Gح׊; ( ( (9?/iOOkx, +A3Qyf'=[,MҀDb#dΥcӹ8& GύZ6($>b}ӔHϻ h&4;mNKX-53OuiJֲDot|$b؅rKOĺnG1myt@ AҶ-=GðCk-Ngv]۰SJ> wv맬jE,0ft+$++ch8$fQ×馋c[o,Ls!,9B3.Fbة%muU{6p(zH:k+E%HSV&n0dBsd;|LPR-'heC:Ѷ,S](fA$GȤ= D7.M: CEAk.9(ǰ?)'͹T7 Oźm2қ6kk?JH֒"պjHq@%o(!P@P@P@=\kgCS"4P;`1f 7d~Zxa,UfTh&V?,t =G]ɜD6s̨bnYA#dfWYggڥ۩fl 50OSϷ2F1$@П)`Atm_q]srȞkh226\(fRyEnN1[,V;|mx߮7y : iv&t>y؞ NNm"Vͨȍ)CTuX^,-oژ[/sy 7Uumz ){gCͤm z{q8Pw`%zepx#JmM&?9Z'ncq( }SP}B@]cDN֏@(H4W;6`XEEeSU`>ȱ9?ʹ,oCvwx0_^Ṡ msZ5o3?m[ -P@P@#^K5 'ZQWo_\"_,R-Hcw-'`JElqQ`(i$~Au6Y~l5Ba '` q悑H2yL˷ 9<穠h .3@փ$Y3{5Ӽ>e$4eg(Ac$㠠dL䓂ydlS@e y@ Ev dg@ pr@ @8@h@+i}{PuȎ=f#uUrqk]dj[xv9k3c^ZF4gMtfYivzM =h( ( ((/+KlVIw$hpy8ⶠY>&绌,%;t8޺0c8OgD{n =2Ͻ#& iw#G9E%Lڊ9-ډJQ . sz1?βuY %ujͰHFFt}iBe d Փc^dGA@M7LyH |a `F N$F4 Hށހ60r(.8c*@pߥ#I Z^wK k k:Z'57vv(Tu:n\4!;]sZ$gh ( (GZu1zG6'$Cfrz6so"0pF{+oS h*y4UɼHH"/(R/2 p)#UVk[Yx+,KId8³!K unx/Evd5 ղ6#"[iЗh'ںNxR,UBNvFSf'_'.m] @ -q!sfq`P@VJzخC͵+T.Oݵ(gAA;`srf`?JMԶ1A(bx0PL$S%6[܁ϗm6?E`3Ber26U[YÎ8>"a21(_?Gm~(QM}#Ng,K yrk=޶zegMss+ZVņNsR4A.W&FpREz&o0MhP@P@P1Ax?oq&I(.0x#QN*xʕh, ?+Ȩn'\V'aŗ5 zg'nh( ّٖր=göX Pko$ ( ( z֠N})-䘓*(?ur9R8k愯.㑎rF?ƻ"RGW8;xO?%9⵰,h)u5yt&BrĪ3 J+[Ҁ94NŧsmBĒu.I[3Mya"9icuT{9\bci]>)1/$rA7;m YN7)J7rZ(fO\dr2ÖDNSs!$r}IcqvL/~h9 )#yZi\?Q.M!U8@gmQ@gv嘂X43U{ّJF9I?tSV2m@zgʊNز\tR1ݝ4j+-&"KU)'3JTݦƳjڱ  :4%QƢO@>%jB8F@k[RZ=iy\ztvqւ^𮝍zS΀7O%P@P@y7C\ؼ(:3q?@9צs^8Y:9c$c99S霃jL  Z/p$g s(L t^r< {þ|}= P .1A${}ZnhkhiűhU[ [0XÜ!p"%yof6Ȉ: a@slWe7tc%fud^w SvDQ+3URO׊4PsR\Y\w`8`^Y@gNpa5`FZi\g=e6I2,*\Sv2` DRԨXs\yQ<{zU=CKsyN-,4d# cxeR ;>.~ig mgK.haWx&(Ҝ𯖝:WgXzjihz5{G̝V7đZ]:ys(=da*Е'0Ȱy7EK<⇀%{D-Mz528\ |2Xk#.*ה~zONEzȳ GȍUw[t:O2\e_ʹjh8M.{ ɛz7ZEm;=:vN(l(z( ( (_ۻZmkBet2ͽuizvJ u-͐%2FPHAzU /ÒNW2I?aȲHu!Pr?7lXsŖ7mcv=Eo5s^!$,ʪ:{Jùxfu )-G $wZJo LӨ7=r{-V챙@LrVg(Glg68ic|i6V0,7P`5r"Hq#zixNvv6(!{v(SбpMLa77|+ X\^AfbtC0UB1bqX9X#E-SۍULǡb-ΚJȣXeǭdjTƝ-m7;2:Ph;hhv ( ( (^48[ 8'ִWs KwV >K:8rNk;jSn@@@'$g iX\ѴȡS2\ @zP^=2b>+<ԸRF4:mmfl@^>v;Rwq$%w@GE&4̻VݛzFL⮯u2ӕ уI#ު׵|e~.xൟpZS=T9(Oc=}vQt1ٵ/1|G#jC``t=ܓH];V0CdPFu ZϟVv;dE]3df=oUr(EؠP@P@PHWcUy$]}J7+tOG-c\Mw,?*p2}I53nnc1jQؿLƍ}iW,kn'#2b;GU%XEeQS5AknɭjE#PK§.7zc߁i'tr*Jn7kN&TQӹjtlWcF@kN+C%|?<=Ԯ"{9D.( TAӲS iUM$t ( ( (y8Xg'yzjI<ӎ>OEc[Hb pz:*~hȸ"L7O_2FP?RqF_OZv }ѳ+z=Dr /ݿZh;- ־.[,¾vPnʣ =@Ga5fmtlOEgy8^y13FP͓IQ7i,S%N8`UB1=1jkScÚx|sX5]jC%.+HU,@@8sڛzIX tr!&q293`ϛ.ϊ/BGkSݲh^=wÚ~^(1` uP@P@P^_ -F#m% :L;#O:yʑ!X+Qq\, R*6~cqLM\踛U-ȱs{qڛ$Gqm,;D,L:VN4Pm7:d7I/8i}0~%SNMM\I[A[o24윱M 'ʹqbh'M'ӱMZ_HWJg#so<4(" 3$Ly 5 V5pZ)zHcCYIYWј%g6P㐒 cS+m.%.fb1&?ӥocn[ibBpK@;j"Im%\e7=?0#Ew e_fSO`jXDUqUr <`}(:p)0>͵@>?X蠺_4ܔXx[MREzh#:P ( ( (?m-UzJN:vG߉u'm4g1Bg#y]ɜl%զh#Djr: {R[藍EY$% ;GlM%_@% +8= 'EÚw|b#Mլ66Iy,q5'+n(gb$7fFHoOڃ{!R%DH Fsх(6seZΣ,OZ[> hI\9;!%vkc׌u9,|j[JY@e`́r:XJ]͔lrԢ)v GQOc”L{[$ ֺ M[8 94/m?ud{4 0?*-E

桁 Vt֪GD,֮Jꢽ|-gfflzPum!PP@P@P@|v7Y>#*'M3HNLwg5ގB\qXȍ0NߑueIwϮ0A4H\ܑր#ci&9,@ʱJZ6M:q$F &y߁# *翽$63Kb#f,5U:2P֓B>!=H ҚШnzo>[kv3Pqqe+;Af"ѣ<~)[cUQ.e;3m$6oLⰵn5u(~Ǧ#E$Wp?1Y} 61jwڵQIH+4,IJɻyS5V ) 29Uّ%tT >Z[9#7F 84kjnDѴk,#̎D#1pPP+b[L$xķl+vXE( ªzPuw;v-kjcvfr7c +J{Ӆ{֌O٣NtǛ.~ LSJnS?LZ㖬|+} UЬF@P@P@P@#eGU04scqidTOʭPKD/ GMƻcniA'gK:2`9)dk8-[ffKH3@H8%QE dI0AI Be{+ACU30j7K&!hbN>\Xcon &Y,BуGUEh_O>xrņgK]\ fsݕTiVlm~^j4ySqئZ/n N"B=ޓ@fi3-nf{ϑ><+n[ZEiHWhVj^ aƲ<;x6wdzt3,a' ( ( (G+eM-W{dWJ~=Vͬf!vFusdڍs\;J8LxϹU`4 "cdmp/ v:@x@ȼ|'u@p3@ /}i0G?1؊hUAF]ޔ ?ü8&_9 l1޵cb[hskYQ}ӹϊGM՞:UvZVuAh u'ޥk#fdM"֝;[kѐq٥CH4%8+BWUsAiByt`.- hO>gҽM/cYZ_&`b{E3\F ~mtG+q\vV* G9N:W1z΁cT:<``v ( ( ( 0 ~W~?F]w  S>E iclSBJ\}3)n$.ǒIHW{hAb7ڪ`6qZWKq?*W & ֋Q{.TdsE+ݣ),1Z.I'L,T=@;oxTJ!{TUxKBxVu|,d'-16iͩiY}jz,VU`p v{}xRSo,6FԵÈ$8e u$)`NzԺZsێ:Dt'aC Xblv1P;d`8ʝr]$3\]dn;RC~L1s}:_xYI״]BGhG0JwİRZ]3#ZZm48geV`d]?vV3'^( LZͪCifI`:S)Xi/*76y\$rW6N>vGIY[#s@( ( ( ( (## 0\ȗJ(1TTO@m1JkxiA'(R>?e5XS1րSOx| jxN=Mh `z֊W"Yj;qUrlcI1,@QpHJMy$0zֹjԻ6;^e"("PVGJV; =m( ( ( ( ( \4d@4Q@N9\PYɽ88Z`(2K@~^7_OfkZ0 ,钞T(W8 |igFL Uc$VLp; ]DXb ( ( ( ( ( ( ( ( \J( ( ( (pcsc-cyberjack-3.99.5final.SP03/tools/fxcyberjack/icons/cy_secoder_0.jpg0000644000175000001440000005550711657145411024541 0ustar sctusersJFIF,,mICC_PROFILE]LinomntrRGB XYZ  1acspMSFTIEC sRGB-HP cprtP3desclwtptbkptrXYZgXYZ+bXYZ?dmndSpdmddvuedKview$lumimeas $tech- rTRC9 gTRC E bTRCQ textCopyright (c) 1998 Hewlett-Packard CompanydescsRGB IEC61966-2.1sRGB IEC61966-2.1XYZ QXYZ XYZ o8XYZ bXYZ $descIEC http://www.iec.chIEC http://www.iec.chdesc.IEC 61966-2.1 Default RGB colour space - sRGB.IEC 61966-2.1 Default RGB colour space - sRGBdesc,Reference Viewing Condition in IEC61966-2.1,Reference Viewing Condition in IEC61966-2.1view_. \XYZ L VPWmeassig CRT curv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km,,        }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?S ( ( ߊ#}m]jWC6]~u&F@P'5E\]Z %Ν#fT韶GOhśuYqȀ~hPšnmuLx$Cѐ}P@P@P@P@P@P@P@P@|77ZѓZ}/LQo*}>ot.e=VD ?Zu_> ֳ}rzYF4k?7o?hDi$~KF̞|Y;> SvCoT߻܏}~iq¾ z.c}vğ<|Z|>6Ŀŧ1ȯֈqO*U 87D v_P?O~Q֞?F?uWkU 6,{jW^0?Zt/-!!-|vVP$)=6 (Z( ( ( ( ( (9~(_|:?$`K.o>0@<.:_Hǩ,Aƀ=לH-xNwSvwq6ڀkG3!tχv> !e(эisinIn(8HOR b;_ǚ9C[wmq|琟rEb<}ɬOyi:lq)tۛE++t\m'tvu[;+T1$ < hVK xf$Y#sk­l<*{M? ~M 2C'u~Qk+h6IQilbigQG;@"j?4 k5+4BR! Q|`<>1x^"ES㟀+ fy ?ovx/=5;-lr=u` " ( ( ( ( R?kh*棭Og[h cݴc3ׇ'tM, ߮i6B7qS ytxJ|H֩7 Ϥ6b629'bP/_FѮ|9M63FA-$^ۉL! '.|Ɩ݄3B؅j9A1@ xH>+1^~E}$bxTrsS𖵯~ Bs{H:tvI"26K1 M(,5[-'v$e֑EY2:x<4#jb-kNM7N]6 M ') +ϵBr\  _x~¿u|?>c=2=èN<@c*v$s@_?8fxk d)%2rb=9Qkhؾnѿ'9.PA@ c>6io q5#AP(f?7R8hOέ]RYGC@P@P@P@P@G?^'t2'6`?k2x24qyI۠')hj<%3AUIQ&E4M{O/ĺ LG嚿fUZ,/ik݁o(j-Cc6#3Mѓ78'8VWRKO'ρi݉p?#*]śvxNݏkdO温to ߯LOe@"jyZW2d }VE?ҐsšW5:BKFfLd*W4қFJK(Ӣ9R,Ix'׽j@cSր `|G{|qs~R?Y}~h։aĻR( @P@P@P@P@3E|eHcmS[Qy!3G+Ÿ_ni" ?v3MHQ8Q'Ҙ.M^_ܳ81]VGGvm=C&B*ʉԮ;Pz2"7I>1<} Rԗ%ox{2߽1hzuuE*}(CfIqdNmq/ÛeI49ZᔫE{Y"ֈO #\}PeLѡm֚׶Q6~(5/RIߵO7OAƦcY!'b?JR5?mFٶ.xWA< 3Ec{O>Ln孒UJ6 F|=^וKD6w6C# n\O^ՌN B&%p8Okd~-@yLaF>Hx80f 7ڵ$el̋#,fffbw+)P:Pcq!6Y 1@H ç| ʐd;,i.wDZʍA.KE>fO*eY+Vr$p|pG~ϞӤmy0K0m$lrcgjvu˟UW{'!3⟍u@}tFީ =>ͅմKՒH~Ԣ SP@P@P@P@6%?֣G'Z;3e#Wg¿(Yo1? OIvS°Ya"j쉻#5ڊu@A=s4 pr{%)SBfV~'QTݎ25V0NI@jv$,aGk;Էdz%jwڻξ?H4`ClW!~;[LZ= |BH6WoͲ]~ͣeb (?qP@P@P@P@|iuMşMbRvQe>}}H(Œ-(C/@3mP&rh20s[/OV缑+1MIS7_|5{7IR{ŔFU溙} kς}l{ysdb ýmdgAƾFs޴6Zr=|d6=QR~sCtt? ֫M1sM7ud~bx=nY{=ym5CE+fcOOt}[#wߙP,>xkNSJ.[Z` s ӚA?n_ Z_ Ii"HY\/IJT?[( ( ( ( ŲymX,?_}8s@&Š 2] PhCc(r{ pހq@hv}q@ [!U%q@ K|B]i#T}@\f .&,y b?e3+ Wdӌ16 zID@P@P@P@P@|_.9"P@P@P@Px =+N%~6o@0~^Ik^^KXg?-O+iIjWF.Zg}`W)|j`.Xc,:\ʀ,X~~/ShhX"ր>h||IJ|@(%#{+gWݕ!?jt ={E_UYH#hU rxy~4mf_xeohRHܕ8o|G$V"ݭIzYȇ;!A!=^tGViRo/=3hHف* \ }ܚoukk=NXdak.d?ǎG֛qgozi5nɓhHnz~T}oO{ʰZI$ns8I#Z'^iRWvHxY(.17{nлFNz;⳥Gf׋jᠪ6x;ucny0Fh^'/fw[HOFeŨ f<@ H*g?¯ 7𦂪]cw=A)&?tP@P@P@P@|{x{aMRZ{}IUV7C? '(bOfq@4YHXYNdPMIca C OW/ Z42ҭS2C"q=o6vVlzg<Y??61мAn{,"=J.kWZl"ě'$~J(<O"I(,lm%Izef' 3ր>nFv?|ݯ<54۷㇅\GKm>Z^ZDCB4'OKXYf2 !`=|t+?_趞2ծ#Xƞ5B,]cҀ8+۳ோ;Wu2;}=! AjJ%:pX+F=37!Xg3ʪ!xRI'Tҧ8+V*i($mEFLݛ_XxVQ4"WC/RU=hb,0xkA`$OSL *}c;Ȟ ( ( ( | ־Ճ>a@O oҀ>KX#8"@ܸ4^?{:W|(*mb;;8n]o$ʲ82^o&$ ^?ހ(˧O@ ѵ+uc  xWJMmcV|cqS(:WmՅߋ[8(IJ9ր<ZrxZ1ҵRОzMN ͡xXqnccٿYx3^BvJn>Ꟶgja:iSD+?XD-!' 1PB C B:Pm\zyK (P@P@P@Oٿ`B;(2ZOC^lK}Gƍᧉ|Q+s.a-pq#Abq@T{W_ f)tA]kǺ kv]KxnDR+#9=k__j6Z~ LE). =@+gȐ-$0U@:O{Me\Dz<.O(=ֵW=j:xY\cOL_:)pX|tNP]A^$ d7ewic{s=AHɌHWS rh :D-IGZ7b4$ @3F|Dgd,DΩmfu*y(ֿg_"mͧ@i( *q@ *}mgր;l#Z( ( ( {mxr|SSM8¸!o΀>[{ T"W ^&~xW7~у7VPk@sue?f͏x'a(_ƁO$ҵ=JA]%дYJ$( P|d㿄&q=M!!FǨh<9moX^d@n?i/EEyh`vc9cMχ|C7PVr}8 f>b?াּٿ\0@S˪4dJpbo,\}bGķi~5Gţ%A?Ukajgin/,Է]Iq9ھo>εJ27R\dw`(IKNo^F>4fmzqUWy8R0u ( ( ( _x?x7]nHiޱn J cRMfk7t[wO#PW8Zٷag ? >ߍmEC.)`4pAݎqƀ>a Sc#Zٷmg=hbO T|z<ZWu<-v *ZYAK]m';8}@+h0>,_ *6ܱ08( ıFxXp(9>WPG@j-tt=P@P@P@?^)o >4[w)u%PG>QKDž,"]Y>,?B(Z⏃u^X_ H|Gb G umk—|4ӛW e-՘c!)f А,[:w+m'Cⶀ^CI'/$ygcf!xZma{r+q}NܘS4r# [㵎IndHbAROJt7 BΟ,( yoj^k۴|1087_SJմ}2C+JTn%Gۥbꟷ|wkkk:fOƛP ǖpp܂AF'[E-4wBY,Ř bIbI$hoF]W&L,#FH4hn^.Z1*\r8}ғ.=Nf?Ҁ>lf$b1O8 =1@>44P@P@P@|7#U'YSD6h+@|(͌iB/.&9yR}Kc96ֿbzo#Iŏ{[?Jk ᛆf^<ːtր>5cIwvz8kPgg.́Ӯ1|aH~_|WkĞ*cP\"1)࿏N٤g Z"^><:O/Tֵv N[C@h_g>'!${ha "L G{x^4?o%xnSK{krw*`G9ƿWo5/" ;xhdX*GC; ( ( t KU!`BzE,A@\|3ԼM|Z엌rGyG  ? apHKgx*ַe255OPR1@nCPj5m7TXlBd21@o=J\Zc c#H|Y: yY470p 3MKkrmt!&I8?)4k67;,dI_ ZN@=MMn0MTԵ>UӴ˸u0`Fr#$H ٯ@oV11<8 ܂3428CFShh %r1@ GZpl@[[R:~^#;PP1F/h EΓ/eU@@Jdl(&%[ր7%P@P@ Wws: u/p 9O9BDv0v֕gZZ71րג`~ X~|4ڦsỻ듩F8*|VQ dA@ߵMs㞏A;qK, 2 ۽|y~;3Iiy^iO(|F:cga` *wǯe4쟴'R"֮u ߳IZ0ff!GNzWÓL/jvkwA1c u[ap+BD9 ]3sHԕ82Kw.&Gnu>υ,Ɲ'P.Ԍo`U *z e8 = $:V:v(Ye:r@H0ĊX9 19 h ( (?\_DŽ4>@ 3G^$rgf*y4pĂ|heo5?%4RO$i-2R>t#x 8շ[;orygoeA4?WRxR-5+HmbRI @LZOøn&7Nsd #kO^;c`6Ir?-€- J"-SSB}e @:>=?Alj,4+mBevEH8@q Tt@EX]=h=a'yn(73`Pn(9J ( ( LjD|76;5M愌w4v Pv^hm @ahe(s@h(ls@M=e* j-dj~3he5-:OQ,J^ Lj!:JȎ2 C@XJBQ=>6{[>w\jwLffI@e3sThT`Psӭ#hC㠠 M8q@= @P@P@|o|3ռgľ>*]v6n#PDP?txn60xxGPbGDS(#=$ˁ@B9F ZSD @r:$Dg?. B=_("1Zh!':-.7lW"<#lk2}BQ9N,gx?/PV 4Z ( (!b|__uGj>>o5uo \&+XG ~۲,)|.FG=S{lt_u/xyQh?Qoh?/¿] ?'E6|˴}ZB]kmB#K)u?@InJu#!0OG@1zP,dP0(Ҽ1B &S5p\m.ާi@C@D]'cw[yď74@r8@< T]ǚ(R0tf ( ( eܴ Y@k_1]rxAhu OE4"<^-ׇEo:?PFW@-YĈmեe&Zďڃ-~&Hpzgq|NМ/(pgss`vM:' U|S_t2zhq@t|ʭ߉C=cIVEeh?ᯊʯ> x6ۤkE ?;XBK1C۰O⹠b[N>*q€>叚W1Oos@ t>ȴ.MI ?Jx84[ր@ H#4`q@P兹b00(~h{EO@P@P@P@!^hw θ NW4JM)I  .: )Jbg҈?v+˧0(#`Ah6nƶu s@ 1 sր$`0EbvON:hEal[Pż\JZ( ( ( (#=hEFЃ (hPMf@ {APbELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Km        }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?N}Mq4n> 7S@h}Mq4n> 7S@h}Mq4n> 7S@h}M%P@PoGWK{rmg`sM&vWg~> ]y!^SD*_IJYNCkȥqZ\tz5}]oy7(hCRL_A\z!@ @P@P@P@P@<;!+Ec?yImeFAOœS;A\u?h:]zEssj;^gj2F?QX7ȧaϗS{\|GɠF~74t0cr=Gn,G}L+c0J@[<=an/8s/tQjVwt=^YT~.+'+~B·oh١hN-( IR'('eZL7$ҫ±jۛ&Ǝ1@B 4Z( ( (h;0%桛Hf#.߂WNұYữHtH϶$gc׆a??ZNOHB[_j~/a?/X._3@ ziB"E-zظ>yE[Cc+Kx(1 3ǒ3VWs54q 1Am5["0ZN)lo '_G|Fj=9a{X-rI$jmc|!m>Uܓe${ghG񦡢#CjpH~oNѰ# :4J)&R|jI[[mFsi-YDG>A+T:R|/Lejј"tj[5TE)<'gㄞY~NN7Fc'Q/A?bg_|>5{4MG`8\`eE弈TL,RЕ4􉍵R+Aցfle:WXh<ڮ2`MߝaY)c50|/YdoX}M$Xu0F?::%|M*$N5͇‡v2G sHl{xXP@PWwi^0H 𪌓 N[aH{|)H#EqTt²߈?gXk^u2Z0+->Otg𽾟)92Y;F}i2yQ𭗃4 ='FɳGg'H^ ( (jo =ؓ˚$JXQWD3\UUHbb7Wv UU88㑒?Z"i;{H˜8 p:փU>O4r) FSz6^.8zP`<܊*AX׀ȠCDr8RvHLT6m?@;J\5PL~c;9(P@P@R|m6xzɜIk^5& ?x|EH΢v;"#' UbKA2Y3.2vSĄ:P;0\!L Sނ:ĜwF[ܜ@n#{I {h5/N𿘼%q#W%Wf}y5v @P@P@*@xSēП j-xT."Si{ɑQ'KUĘc^XmnDLUA?ƅ&ؼ1`<5B4pqȊBjE?‹ uIn.Dx߸)6>`pp]9SMi:.H`YpWr) 0:b6Eh_2s"f9wH' q68FM [Zq*Csp%f.v4bω Cms!24Mm$ڸxb՝7.A$ *1^z7 ֠-3 E<{R;gq0R}9 VhW"[{fݐ u۲S,裏\U^UV,V²65muhN9Ve܇P@P@|OHMs%rxXyz@vG?20ws]w) 4ֱs#ssM;t-Ӿ:6W2$Qąhm#ցyy! S.rqԌ(Vv };Ra 4k9#MۺvD/:ia^S *[ 7!{ ;)+D4H&ak+( h<;r {P@ @P@|NA/\# +8 ]5w-Hm"`R,PKjArDC,uق,U<| 31sT"`<{1OCMI_8Ȇ>*woⷹծ1L}3q=w՞Ni{?kjZ6J֠ ( _>)vFXlv?0D]nF+;Xl31|ݦ`2p~z.24bk #dCw6;(-9 L Gۏ΢\C;G."Momo#Y,(jN{TB:7dMC4<-gqo=㹿fᶡ%ܶxb*)M@0*~\w5ͭ͏>JWs[c2Wl tcj($lL=hZWi/f|k E]ti%Lg9CO38Q2GzմB@%P@9c9$]w{~ n̋Pf4-A]8fg)oG_ۂH#ߐNkBH3wc@C7|O=3++4ikRЬaNY`g+md:gy"29Z08bgE5{{y&T,&Ru$wuPl[ "#;1ÿTd’ iP 1j&lfuwqm;vnqd3[SU,4/b4#Rz.z4 RH˰Sbav>~X[#3k$r3U{#Xꯚ/#7 p{COM+/(TWv2fO%D:lyg-kw迱=]Ϗ+4g+H&͚sMJM&(%sIֈɝ"mb;t}^s@ܐg\tf:ְ -kjv8ǨhDB,O3KG?8J5;~a.;Un .0H9^?)3Ŵ[WGmFJmV첡&*3j+Vh _JG?<Z{fn-ThP@P֚hY.iI莬$_# j^-4n{? Ř3Y]> G {RJ #+9 d<ʛU&3 ,{ZSob&.|rMxʺ&n#Rm*gk\1qO3/*j{3O~햞*ܶg7q82;gE.G+HgW ( (GZ%0#b@vzނZ۟$ܬlQ1|21];?S0`#xoKxMnDrIa{t3e 7)ø`ƹicd8E{.ʉWd1sZV"nSY,QVGCtsO{[T0E$QDBaGj*bՇ3˹3rmWD]ьh>$C6MwBhkw8%XwN{]Y-vp23\{36x AMM ivڝ ĆBǯ]Ż?WJ[ۦ^ggSD*]>Z;Ϡ|=b-mTՠ ( (ऺ Ȭ"d* oA\HN㷸](V~cSt9@J(62=׊M\iجL r&OJQ@r3[PA~1֤征M6brV$rx8Mg4FJF&Y1QVVFRv՝|,/`Ulݙh PϟĘh;E9yZ{s9 U)"+XIMݏcqzr% =?ٛG07J@>i\^WOtM+\iq"U{ Z( ( cᜟ ]]iЙh9ӗ,gV7G\zG Q00I#>ۜfk195$sqN`[pfW'vzwgњ.P=i\,S{gF w OksNhבݭf8 x=QǏ*yӆLҒ:I!y,l.#.F p|Þ>+ Z*=Nc6X [KC&Nw<MX$yY_s,Q"2@I⩟z~km.2-)+hV p+#ݠ ( ($i4OȲFUC@wo mKᆇk~Ԥ2GFFsF=LVm1~gVvF-_ 6m\sc7s\myUYJ: C@P@P@Hn29ۖ`>Xx>O*Kl}ՠ?-p@< E(o 0zezK>~tx?b{) x2k :k Vќ|56Xc s}#Zƥ̥M9 yGֵfыO?OOOOOOOOOOpcsc-cyberjack-3.99.5final.SP03/tools/cjgeldkarte/0000755000175000001440000000000011660201015020321 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/cjgeldkarte/Makefile.am0000644000175000001440000000034611657145411022375 0ustar sctusersINCLUDES=-I../../include -I../../ctapi DEFS+=@cyberjack_platform_def@ DEFS+=-DLIBRARY_NAME=\"libctapi-cyberjack.so.@CYBERJACK_SO_EFFECTIVE@\" bin_PROGRAMS=cjgeldkarte cjgeldkarte_SOURCES=cjgeldkarte.c cjgeldkarte_LDADD=-ldl pcsc-cyberjack-3.99.5final.SP03/tools/cjgeldkarte/Makefile.in0000644000175000001440000004467311660201015022404 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = cjgeldkarte$(EXEEXT) subdir = tools/cjgeldkarte DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_cjgeldkarte_OBJECTS = cjgeldkarte.$(OBJEXT) cjgeldkarte_OBJECTS = $(am_cjgeldkarte_OBJECTS) cjgeldkarte_DEPENDENCIES = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --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 = $(cjgeldkarte_SOURCES) DIST_SOURCES = $(cjgeldkarte_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ \ -DLIBRARY_NAME=\"libctapi-cyberjack.so.@CYBERJACK_SO_EFFECTIVE@\" DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = -I../../include -I../../ctapi cjgeldkarte_SOURCES = cjgeldkarte.c cjgeldkarte_LDADD = -ldl all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/cjgeldkarte/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/cjgeldkarte/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list cjgeldkarte$(EXEEXT): $(cjgeldkarte_OBJECTS) $(cjgeldkarte_DEPENDENCIES) @rm -f cjgeldkarte$(EXEEXT) $(LINK) $(cjgeldkarte_OBJECTS) $(cjgeldkarte_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjgeldkarte.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags 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-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS # 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: pcsc-cyberjack-3.99.5final.SP03/tools/cjgeldkarte/cjgeldkarte.c0000644000175000001440000002513511657145411022767 0ustar sctusers/*************************************************************************** * CT-API library for the REINER SCT cyberJack pinpad/e-com USB. * Copyright (C) 2001 REINER SCT * Author: Matthias Bruestle * Support: support@reiner-sct.com * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * File: cjgeldkarte.c * CVS: $Id: cjgeldkarte.c 49 2007-01-09 19:55:23Z martin $ ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include #include #include #include #include #include #define CT_API_AD_HOST 2 #define CT_API_RV_OK 0 #define CT_API_RV_ERR_INVALID -1 #define CT_API_RV_ERR_CT -8 #define CT_API_RV_ERR_TRANS -10 #define CT_API_RV_ERR_MEMORY -11 #define CT_API_RV_ERR_HOST -127 #define CT_API_RV_ERR_HTSI -128 #define CT_API_AD_CT 1 #define CT_API_AD_ICC1 0 /* Global function pointers. */ typedef signed char (*CT_INIT)( uint16_t ctn, uint16_t pn ); typedef signed char (*CT_DATA)( uint16_t ctn, uint8_t *dad, uint8_t *sad, uint16_t lenc, uint8_t *command, uint16_t *lenr, uint8_t *response ); typedef signed char (*CT_CLOSE)( uint16_t ctn ); static CT_INIT pCT_init = NULL; static CT_DATA pCT_data = NULL; static CT_CLOSE pCT_close = NULL; #define CT_init pCT_init #define CT_data pCT_data #define CT_close pCT_close static void *LibHandle = NULL; static void usage( char *argv0 ) { printf("Usage: %s [-l lib] [-p num]\n",argv0); printf(" -l lib CT-API library, default is %s.\n", LIBRARY_NAME); printf(" -p num Port number (1-n), default is 1.\n"); printf(" -c count Number of consecutive reads, default is 1.\n"); exit(1); } #define SENDCMD(dadv,cmdv,cmdlenv) \ memcpy( cmd, cmdv, cmdlenv ); \ lenc=cmdlenv; lenr=sizeof(rsp); sad=2; dad=dadv; \ ret = CT_data( ctn, &dad, &sad, lenc, cmd, &lenr, rsp ); \ if( ret!=CT_API_RV_OK ) goto err_return; static int read_geldkarte(uint16_t ctn) { uint8_t cmd[5+255+1], rsp[256+2]; uint8_t sad, dad; uint16_t lenc, lenr=256+2; int8_t ret; /* Reset ICC */ SENDCMD(CT_API_AD_CT, "\x20\x11\x01\x01\x00", 5 ); if( (ret!=CT_API_RV_OK) || (sad!=CT_API_AD_CT) ) { printf( "Error sending command to reader. (Return code:%d)\n", ret ); SENDCMD( CT_API_AD_CT, "\x20\x15\x01\x00", 5 ); sleep(2); return 3; } if( lenr==24+2 ) { /* Geldkarte v2? */ if( memcmp( rsp+7, "\x45\x65\x63", 3 ) ) { printf( "Unknown card.\n"); goto err_icccmd; } /* Select AID */ SENDCMD( CT_API_AD_ICC1, "\x00\xA4\x04\x0C\x09\xD2\x76\x00\x00\x25\x45\x50\x01\x00", 14 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr!=2) || (rsp[0]!=0x90) || (rsp[1]!=0x00) ) { printf("Error selecting GeldKarte application.\n"); goto err_icccmd; } /* Read Record */ SENDCMD( CT_API_AD_ICC1, "\x00\xB2\x01\xC4\x09", 5 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr<5) || (rsp[lenr-2]!=0x90) || (rsp[lenr-1]!=0x00) ) { printf("Error reading account balance.\n"); goto err_icccmd; } } else if( lenr==25+2 ) { /* Geldkarte v3? */ if( memcmp( rsp+8, "\x45\x65\x63", 3 ) ) { printf( "Unknown card.\n"); goto err_icccmd; } /* Select AID */ SENDCMD( CT_API_AD_ICC1, "\x00\xA4\x04\x0C\x09\xD2\x76\x00\x00\x25\x45\x50\x02\x00", 14 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr!=2) || (rsp[0]!=0x90) || (rsp[1]!=0x00) ) { printf("Error selecting GeldKarte application.\n"); goto err_icccmd; } /* Read Record */ SENDCMD( CT_API_AD_ICC1, "\x00\xB2\x01\xC4\x00", 5 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr<5) || (rsp[lenr-2]!=0x90) || (rsp[lenr-1]!=0x00) ) { printf("Error reading account balance.\n"); goto err_icccmd; } } else if( (lenr>2) && (rsp[lenr-2]==0x90) ) { printf( "Unknown card.\n" ); goto err_icccmd; } else { printf( "No card.\n" ); sleep(2); return 0; } printf("Current account balance: %.2X%.2X.%.2X\n", rsp[0], rsp[1], rsp[2] ); err_icccmd: SENDCMD( CT_API_AD_CT, "\x20\x15\x01\x00", 5 ); sleep(2); return 0; err_return: printf( "Error sending command to card. (Return code:%d)\n", ret ); sleep(2); return 3; err_sad: printf( "Error sending command to card. (sad:%d)\n", sad ); sleep(2); return 3; } #if 0 static int test_ctapi( char *argv0, int pn, int count ) { uint16_t ctn=1; int8_t ret; int i; /* Open */ ret = CT_init( ctn, pn ); if( ret!=CT_API_RV_OK ) { printf("Error doing CT_init. (Return code:%d)\n",ret); return 3; } for (i = 0; i < count; i++) { ret = read_geldkarte(ctn); if (ret) { CT_close(ctn); return ret; } } CT_close(ctn); return 0; } #endif static int test_ctapi2( char *argv0, int pn, int count ) { uint16_t ctn=1; int i; /* Open */ for (i = 0; i < count; i++) { int8_t ret; ret = CT_init( ctn, pn ); if( ret!=CT_API_RV_OK ) { printf("Error doing CT_init. (Return code:%d)\n",ret); return 3; } ret = read_geldkarte(ctn); if (ret) { CT_close(ctn); return ret; } ret=CT_close(ctn); if (ret) { return ret; } } return 0; } static int test_geldkarte(uint16_t ctn){ uint8_t cmd[5+255+1], rsp[256+2]; uint8_t sad, dad; uint16_t lenc, lenr=256+2; int8_t ret; /* Reset ICC */ SENDCMD( CT_API_AD_CT, "\x20\x11\x01\x01\x00", 5 ); if( (ret!=CT_API_RV_OK) || (sad!=CT_API_AD_CT) ) { printf( " Error sending command to reader. (Return code:%d)\n", ret ); SENDCMD( CT_API_AD_CT, "\x20\x15\x01\x00", 5 ); sleep(2); return 3; } if( lenr==24+2 ) { /* Geldkarte v2? */ if( memcmp( rsp+7, "\x45\x65\x63", 3 ) ) { printf( " Unknown card.\n"); goto err_icccmd; } /* Select AID */ SENDCMD( CT_API_AD_ICC1, "\x00\xA4\x04\x0C\x09\xD2\x76\x00\x00\x25\x45\x50\x01\x00", 14 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr!=2) || (rsp[0]!=0x90) || (rsp[1]!=0x00) ) { printf(" Error selecting GeldKarte application.\n"); goto err_icccmd; } /* Read Record */ SENDCMD( CT_API_AD_ICC1, "\x00\xB2\x01\xC4\x09", 5 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr<5) || (rsp[lenr-2]!=0x90) || (rsp[lenr-1]!=0x00) ) { printf(" Error reading account balance.\n"); goto err_icccmd; } } else if( lenr==25+2 ) { /* Geldkarte v3? */ if( memcmp( rsp+8, "\x45\x65\x63", 3 ) ) { printf( " Unknown card.\n"); goto err_icccmd; } /* Select AID */ SENDCMD( CT_API_AD_ICC1, "\x00\xA4\x04\x0C\x09\xD2\x76\x00\x00\x25\x45\x50\x02\x00", 14 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr!=2) || (rsp[0]!=0x90) || (rsp[1]!=0x00) ) { printf(" Error selecting GeldKarte application.\n"); goto err_icccmd; } /* Read Record */ SENDCMD( CT_API_AD_ICC1, "\x00\xB2\x01\xC4\x00", 5 ); if( sad!=CT_API_AD_ICC1 ) goto err_sad; if( (lenr<5) || (rsp[lenr-2]!=0x90) || (rsp[lenr-1]!=0x00) ) { printf(" Error reading account balance.\n"); goto err_icccmd; } } else if( (lenr>2) && (rsp[lenr-2]==0x90) ) { printf( " Unknown card.\n" ); goto err_icccmd; } else { printf( " No card.\n" ); sleep(2); return 0; } err_icccmd: SENDCMD( CT_API_AD_CT, "\x20\x15\x01\x00", 5 ); sleep(2); return 0; err_return: printf( "Error sending command to card. (Return code:%d)\n", ret ); sleep(2); return 3; err_sad: printf( "Error sending command to card. (sad:%d)\n", sad ); sleep(2); return 3; } static int multi_test(char *argv0, int pn, int readers, int count ) { int i; uint16_t ctn=1; int errs=0; for (i=1; i<=readers; i++) { int8_t ret; int err=0; ret=CT_init(ctn, i); if( ret!=CT_API_RV_OK ) { printf(" Error doing CT_init. (Return code:%d)\n",ret); err=1; } else { int j; for (j = 0; j < count; j++) { ret = test_geldkarte(ctn); if (ret) { err=1; break; } } ret=CT_close(ctn); if( ret!=CT_API_RV_OK ) { printf(" Error doing CT_init. (Return code:%d)\n",ret); err=1; } } if (err) { fprintf(stderr, "-> Reader %d: FAILED\n", i); errs++; } else { fprintf(stderr, "-> Reader %d: Success\n", i); } } if (errs) { if (errs==readers) { fprintf(stderr, "FAILED: All tests failed.\n"); } else { fprintf(stderr, "FAILED: Some tests failed.\n"); } return 2; } fprintf(stderr, "SUCCESS: All tests ok.\n"); return 0; } int main(int argc, char **argv){ uint16_t pn=1; int c; int ret; int count = 1; char *buffer=NULL; char *ctlib=LIBRARY_NAME; int readers=1; while ((c = getopt(argc, argv, "l:p:c:r:")) != -1) { switch (c) { case 'l': buffer=strdup(optarg); ctlib=buffer; break; case 'p': pn = atoi(optarg); break; case 'c': count = atoi(optarg); break; case 'r': readers = atoi(optarg); break; default: printf("invalid option `%c' (%d)\n", c, c); usage( argv[0] ); if (buffer) free(buffer); return 1; } } LibHandle = dlopen( ctlib, RTLD_LAZY ); if( !LibHandle ) { printf("Error loading CT-API library.\n"); if (buffer) free(buffer); return 1; } pCT_init = (CT_INIT) dlsym( LibHandle, "CT_init" ); if( dlerror()!=NULL ) { dlclose( LibHandle ); if (buffer) free(buffer); printf("Error getting function handle.\n"); return 1; } pCT_data = (CT_DATA) dlsym( LibHandle, "CT_data" ); if( dlerror()!=NULL ) { dlclose( LibHandle ); if (buffer) free(buffer); printf("Error getting function handle.\n"); return 1; } pCT_close = (CT_CLOSE) dlsym( LibHandle, "CT_close" ); if( dlerror()!=NULL ) { dlclose( LibHandle ); if (buffer) free(buffer); printf("Error getting function handle.\n"); return 1; } if (readers>1) ret=multi_test(argv[0], pn, readers, count); else ret = test_ctapi2(argv[0], pn, count); dlclose( LibHandle ); if (buffer) free(buffer); return ret; } pcsc-cyberjack-3.99.5final.SP03/tools/cjflash/0000755000175000001440000000000011660201015017454 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/tools/cjflash/Makefile.am0000644000175000001440000000042511657145411021526 0ustar sctusersINCLUDES=-I../../include -I../../cjeca32 -I../../include/driver -I../../include/firmware $(pcsc_includes) DEFS+=@cyberjack_platform_def@ bin_PROGRAMS=cjflash cjflash_SOURCES=cjflash.cpp cjflash_LDADD=../../cjeca32/libeca.la @libusb_libs@ $(hal_libs) @THREAD_LIBS@ -lstdc++ pcsc-cyberjack-3.99.5final.SP03/tools/cjflash/cjflash.cpp0000644000175000001440000000712311657145411021612 0ustar sctusers #include "Platform.h" #include "Reader.h" #include "USBUnix.h" #include "eca_defines.h" #include int readFile(const char *fname, uint8_t *buffer) { FILE *f; uint8_t *p; int len; f=fopen(fname, "r"); if (f==NULL) return -1; p=buffer; len=0; while(!feof(f)) { int rv; rv=fread(p, 1, 1024, f); if (rv==0) break; p+=rv; len+=rv; } fclose(f); return len; } int main(int argc, char **argv) { CReader *r; int idx; char *devName; const char *fname1; const char *fname2; const char *fname3; uint8_t buffer1[64*1024]; uint8_t buffer2[64*1024]; uint8_t buffer3[64*1024]; int len1; int len2; int len3; int rv; uint32_t result; cj_ModuleInfo ModuleInfo; uint32_t EstimatedUpdateTime; if (argc<5) { fprintf(stderr, "Usage:\n %s READERNR IMAGEFILE SIGNATUREFILE KEYFILE\n", argv[0]); return 1; } idx=atoi(argv[1]); fname1=argv[2]; fname2=argv[3]; fname3=argv[4]; fprintf(stderr, "Reading image file\n"); len1=readFile(fname1, buffer1); if (len1<1) { fprintf(stderr, "Error reading file \"%s\"\n", fname1); return 2; } fprintf(stderr, "Reading signature file\n"); len2=readFile(fname2, buffer2); if (len2<1) { fprintf(stderr, "Error reading file \"%s\"\n", fname2); return 2; } fprintf(stderr, "Reading key file\n"); len3=readFile(fname3, buffer3); if (len3<1) { fprintf(stderr, "Error reading file \"%s\"\n", fname3); return 2; } fprintf(stderr, "Opening reader\n"); devName=CUSBUnix::createDeviceName(idx); if (devName==NULL) { fprintf(stderr, "Device %d not found\n", idx); return 2; } if (getenv("CJFLASH_DEBUG")) Debug.setLevelMask(0xffffffff); r=new CReader(devName); rv=r->Connect(); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Could not connect to reader (%d)\n", rv); return 2; } fprintf(stderr, "Updating the keys\n"); rv=r->CtKeyUpdate(buffer3, len3,&result); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Unable to update the keys (%d / %d)\n", rv,result); return 2; } ModuleInfo.SizeOfStruct=sizeof(ModuleInfo); rv=r->CtGetModuleInfoFromFile(buffer1, len1, &ModuleInfo, &EstimatedUpdateTime); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Unable to get module info (%d)\n", rv); return 2; } if(ModuleInfo.ID==MODULE_ID_KERNEL){ /* for kernel updates we need the entire flash */ fprintf(stderr, "Updating the kernel module requires there is no " "other module on the reader.\n" "(please look at the display of " "the reader and press \"OK\")\n"); rv=r->CtDeleteALLModules(&result); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Unable to flash reader (%d / %d)\n", rv,result); return 2; } } fprintf(stderr, "Flashing image (please look at the " "display of the reader and press \"OK\")\n"); rv=r->CtLoadModule(buffer1, len1, buffer2, len2, &result); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Unable to flash reader (%d / %d)\n", rv,result); return 2; } fprintf(stderr, "Now the reader authentication is running.\n" "Please look at the reader for checking all " "versions and variants off the active modules\n"); rv=r->CtShowAuth(); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Unable to show reader authentication (%d)\n", rv); return 2; } fprintf(stderr, "==========================================\n" "Reader sucessfully flashed!\n" "\n" "You might need to unplug and replug the reader.\n" "==========================================\n"); r->Disonnect(); delete r; free(devName); return 0; } pcsc-cyberjack-3.99.5final.SP03/tools/cjflash/Makefile.in0000644000175000001440000004510511660201015021526 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ bin_PROGRAMS = cjflash$(EXEEXT) subdir = tools/cjflash DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = am__installdirs = "$(DESTDIR)$(bindir)" PROGRAMS = $(bin_PROGRAMS) am_cjflash_OBJECTS = cjflash.$(OBJEXT) cjflash_OBJECTS = $(am_cjflash_OBJECTS) am__DEPENDENCIES_1 = cjflash_DEPENDENCIES = ../../cjeca32/libeca.la $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(cjflash_SOURCES) DIST_SOURCES = $(cjflash_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ @cyberjack_platform_def@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = -I../../include -I../../cjeca32 -I../../include/driver -I../../include/firmware $(pcsc_includes) cjflash_SOURCES = cjflash.cpp cjflash_LDADD = ../../cjeca32/libeca.la @libusb_libs@ $(hal_libs) @THREAD_LIBS@ -lstdc++ all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/cjflash/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/cjflash/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)" @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p || test -f $$p1; \ then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list cjflash$(EXEEXT): $(cjflash_OBJECTS) $(cjflash_DEPENDENCIES) @rm -f cjflash$(EXEEXT) $(CXXLINK) $(cjflash_OBJECTS) $(cjflash_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjflash.Po@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(bindir)"; 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: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-binPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \ clean-generic clean-libtool ctags 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-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS # 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: pcsc-cyberjack-3.99.5final.SP03/cjeca32/0000755000175000001440000000000011660201014016113 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/cjeca32/ECFReader.h0000644000175000001440000000112411657145411020020 0ustar sctusers#ifndef ECFReader #define ECFReader #include "EC30Reader.h" class CECFReader : public CEC30Reader { public: CECFReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CECFReader(void); virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); protected: virtual uint16_t HostToReaderShort(uint16_t Value); virtual uint32_t HostToReaderLong(uint32_t Value); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); virtual CJ_RESULT SetFlashMask(void); virtual int GetWarmstartTimeout(void); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/RFSReader.cpp0000644000175000001440000002001611660154635020413 0ustar sctusers#include "Platform.h" #include #include #include "RFSReader.h" #include "BaseCommunication.h" #include "memory_placements.h" #define base CECPReader CRFSReader::CRFSReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CRFSReader::~CRFSReader(void) { } void CRFSReader::SetHWString(char *String) { strcpy(String,"RFS_"); } void CRFSReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJRFS",5); } bool CRFSReader::ATRFilter(bool IsWarm) { if(m_ATR_Length>=5) { if(m_ATR[0]==0x4b) { m_ATR[0]=0x3b; m_bIsRF=true; return true; } } return base::ATRFilter(IsWarm); } RSCT_IFD_RESULT CRFSReader::IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout) { uint32_t OrginalATR_Length=0; if(ATR_Length!=0) OrginalATR_Length=*ATR_Length; m_bIsRF=false; RSCT_IFD_RESULT Result=base::IfdPower(Mode,ATR,ATR_Length,Timeout); if(Result==STATUS_SUCCESS && Mode==SCARD_COLD_RESET || Mode==SCARD_WARM_RESET) { if(m_bIsRF) { m_PossibleProtocols=/*SCARD_PROTOCOL_T0 |*/ SCARD_PROTOCOL_T1; m_ActiveProtocol=SCARD_PROTOCOL_T1; m_ReaderState=SCARD_SPECIFIC; } } return Result; } uint32_t CRFSReader::GetReadersInputBufferSize() { cj_ModuleInfo *Info; Info=FindModule(MODULE_ID_KERNEL); return 5130; } bool CRFSReader::PinDirectSupported() { return true; } CJ_RESULT CRFSReader::SpecialLess3_0_41() { return CJ_SUCCESS; } RSCT_IFD_RESULT CRFSReader::IfdSetProtocol(uint32_t *pProtocol) { if(m_bIsRF) { uint32_t Protocol=*pProtocol; *pProtocol=0; if(m_ReaderState==SCARD_ABSENT) return STATUS_NO_MEDIA; if(m_ReaderState==SCARD_SPECIFIC) { if(Protocol & (SCARD_PROTOCOL_DEFAULT | SCARD_PROTOCOL_OPTIMAL)) Protocol|=(SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 | SCARD_PROTOCOL_RAW); if(m_ActiveProtocol & Protocol) { *pProtocol=m_ActiveProtocol; return STATUS_SUCCESS; } else return STATUS_NOT_SUPPORTED; } else return STATUS_NOT_SUPPORTED; } return base::IfdSetProtocol(pProtocol); } RSCT_IFD_RESULT CRFSReader::_IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { //int l; //char *str; // uint16_t rest=*response_len; if(cmd_len==5 && cmd[0]==0xff && cmd[1]==0x9a && cmd[2]==0x01 && cmd[4]==0) { switch(cmd[3]) { case 9: if(*response_len>=8) { memcpy(response,"848500\x90\x00",8); *response_len=8; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; default:; } return CEC30Reader::_IfdTransmit(cmd,cmd_len,response,response_len); } if(m_bIsRF && cmd_len==5 && cmd[0]==0xff && cmd[1]==0xca && cmd[2]==0x01 && cmd[3]==0) { if(*response_len>=m_ATR_Length-3) { if(cmd[4]==0 || cmd[4]>=m_ATR_Length-5) { memcpy(response,m_ATR+4,m_ATR_Length-5); if(cmd[4]!=0 && cmd[4]>m_ATR_Length-5) { memset(response+m_ATR_Length-5,0,cmd[4]-m_ATR_Length+5); memcpy(response+cmd[4],"\x62\x82",2); *response_len=cmd[4]+2; } else { memcpy(response+m_ATR_Length-5,"\x90\x00",2); *response_len=(uint16_t)(m_ATR_Length-3); } return STATUS_SUCCESS; } } if(*response_len>=2) { response[0]=0x6C; response[1]=(uint8_t)(m_ATR_Length-5); *response_len=2; return STATUS_SUCCESS; } return STATUS_BUFFER_TOO_SMALL; } return base::_IfdTransmit(cmd,cmd_len,response,response_len); } CJ_RESULT CRFSReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { CJ_RESULT Res; switch(eContrast) { case ContrastVeryLow: Res=_CtSetContrast(0,Result); break; case ContrastLow: Res=_CtSetContrast(70,Result); break; case ContrastMedium: Res=_CtSetContrast(120,Result); break; case ContrastHigh: Res=_CtSetContrast(160,Result); break; case ContrastVeryHigh: Res=_CtSetContrast(255,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; } RSCT_IFD_RESULT CRFSReader::IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { uint32_t Result; uint32_t ResponseLen=*OutputLength-6; uint32_t ApplicationErrorLength=4; uint16_t InternalLength; uint16_t InternalLength2; uint16_t InternalLengthBuffer; uint8_t lengthCHAT; uint8_t lengthPIN; uint16_t lengthCD; uint8_t lengthCAR; uint8_t lengthCARprev; switch(IoCtrlCode) { case CJPCSC_VEN_IOCTRL_EXECUTE_PACE: if(InputLength<3 || *OutputLength<6) return STATUS_INFO_LENGTH_MISMATCH; memcpy(&InternalLengthBuffer,Input+1,2); if(InputLength!=3+InternalLengthBuffer) return STATUS_INFO_LENGTH_MISMATCH; InternalLength=HostToReaderShort(InternalLengthBuffer); if(CopyIfdInput(Input,InputLength)) return STATUS_INSUFFICIENT_RESOURCES; Input=ifd_in_buffer; memcpy(Input+1,&InternalLength,2); if(Input[0]==2) { if(InputLength>4) lengthCHAT=Input[4]; if(InputLength>5+lengthCHAT) lengthPIN=Input[5+lengthCHAT]; /* if(InputLength==7+lengthCHAT+lengthPIN) return STATUS_INFO_LENGTH_MISMATCH;*/ if(InputLength>7+lengthCHAT+lengthPIN) { memcpy(&lengthCD,Input+7+lengthCHAT+lengthPIN,2); /* if(InputLength!=8+lengthCHAT+lengthPIN+lengthCD) return STATUS_INFO_LENGTH_MISMATCH;*/ lengthCD=HostToReaderShort(lengthCD); memcpy(Input+7+lengthCHAT+lengthPIN,&lengthCD,2); } } switch(CtApplicationData(MODULE_ID_KERNEL,CCID_ESCAPE_DO_PACE,Input,InputLength, &Result, Output+6, &ResponseLen, Output, &ApplicationErrorLength)) { case CJ_SUCCESS: if(*OutputLength<6+ResponseLen || ResponseLen>65535) return STATUS_INSUFFICIENT_RESOURCES; *OutputLength=6+ResponseLen; InternalLength2=(uint16_t)ResponseLen; memcpy(Output+4,&InternalLength2,2); if(ApplicationErrorLength==0) memset(Output,0,4); if(Input[0]==2 && ResponseLen>=4) { memcpy(&InternalLength,Output+8,2); InternalLength=ReaderToHostShort(InternalLength); memcpy(Output+8,&InternalLength,2); if(ResponseLen>6+InternalLength) { lengthCAR=Output[10+InternalLength]; if(ResponseLen>7+InternalLength+lengthCAR) { lengthCARprev=Output[11+InternalLength+lengthCAR]; if(lengthCARprev>0 && GetEnviroment("PACE_DisableCARprev",0)) { Output[11+InternalLength+lengthCAR]=0; memmove(Output+12+InternalLength+lengthCAR,Output+12+InternalLength+lengthCAR+lengthCARprev,ResponseLen-(6+InternalLength+lengthCAR+lengthCARprev)); ResponseLen-=lengthCARprev; *OutputLength-=lengthCARprev; InternalLength2-=lengthCARprev; memcpy(Output+4,&InternalLength2,2); lengthCARprev=0; } if(ResponseLen>8+InternalLength+lengthCAR+lengthCARprev) { memcpy(&InternalLengthBuffer,Output+12+InternalLength+lengthCAR+lengthCARprev,2); InternalLengthBuffer=ReaderToHostShort(InternalLengthBuffer); memcpy(Output+12+InternalLength+lengthCAR+lengthCARprev,&InternalLengthBuffer,2); } } } } return STATUS_SUCCESS; default: *OutputLength=0; return STATUS_UNHANDLED_EXCEPTION; } default: return base::IfdVendor(IoCtrlCode,Input,InputLength,Output,OutputLength); } } CJ_RESULT CRFSReader::BuildReaderInfo() { CJ_RESULT Res; Res = base::BuildReaderInfo(); m_ReaderInfo.HardwareMask |= RSCT_READER_HARDWARE_MASK_RFID | RSCT_READER_HARDWARE_MASK_PACE; return Res; } bool CRFSReader::HastModulestoreInfo() { return true; } CJ_RESULT CRFSReader::CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result) { if(pboolMode) *pboolMode=boolMode; if(Result) *Result=0; return CJ_SUCCESS; } CJ_RESULT CRFSReader::CtGetSilentMode(bool *pboolMode,uint32_t *Result) { if(pboolMode) *pboolMode=0; if(Result) *Result=0; return CJ_SUCCESS; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/SerialUnix.cpp0000644000175000001440000002455511657145411020733 0ustar sctusers/*************************************************************************** begin : Mon Dec 10 2007 copyright : (C) 2007 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "Platform.h" #include #include #include #include #include #include #include #include #include #include "SerialUnix.h" #include "ccid.h" #include "ECAReader.h" #define DEBUGP(format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ Debug.Out("serial", \ DEBUG_MASK_COMMUNICATION_ERROR, \ dbg_buffer, 0, 0); \ } char *CSerialUnix::createDeviceName(int num) { char buffer[256]; int rv; rv=snprintf(buffer, sizeof(buffer)-1, "/dev/ttyS%d", num); if (rv<0 || rv>=(int)(sizeof(buffer)-1)) { DEBUGP("Buffer too small (%d)", rv); return NULL; } return strdup(buffer); } CSerialUnix::CSerialUnix(const char *cDeviceName, CReader *Owner) :CBaseCommunication(cDeviceName, Owner) ,m_refcounter(1) ,m_devHandle(-1) { } CSerialUnix::~CSerialUnix(void) { m_refcounter=0; Close(); } int CSerialUnix::_readFd(int fd, void *buf, size_t l) { ssize_t rv; rv=read(fd, buf, l); if (rv>=0) { Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_OUT, "SERIAL IN", buf, rv); } else { DEBUGP("read: %s", strerror(errno)); } return rv; } int CSerialUnix::_writeFd(int fd, const void *buf, size_t l) { ssize_t rv; Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_OUT, "SERIAL OUT", (void*)buf, l); rv=write(fd, buf, l); if (rv<0) { DEBUGP("write: %s", strerror(errno)); } return rv; } int CSerialUnix::_writeLowlevel(void *Message, uint32_t len) { uint8_t *p; uint8_t crc[2]; uint32_t i; if (m_devHandle<0) { DEBUGP("Device is not open"); return CJ_ERR_DEVICE_LOST; } /* calculate checksum */ p=(uint8_t*) Message; crc[0]=0; crc[1]=0; for (i=0; i0) { ssize_t rv; rv=_writeFd(m_devHandle, p, len); if (rv<1) { if (errno!=EINTR) { DEBUGP("write: %s", strerror(errno)); Close(); return CJ_ERR_DEVICE_LOST; } } len-=rv; p+=rv; } /* send checksums */ p=crc; len=2; while (len>0) { ssize_t rv; rv=_writeFd(m_devHandle, p, len); if (rv<1) { if (errno!=EINTR) { DEBUGP("write: %s", strerror(errno)); Close(); return CJ_ERR_DEVICE_LOST; } } len-=rv; p+=rv; } /* make sure data gets written */ if (tcdrain(m_devHandle)) { DEBUGP("tcdrain: %s", strerror(errno)); Close(); return CJ_ERR_DEVICE_LOST; } return CJ_SUCCESS; } int CSerialUnix::Write(void *Message, uint32_t len) { for (;;) { int res; uint8_t buf[1]; res=_writeLowlevel(Message, len); if (res!=CJ_SUCCESS) return res; DEBUGP("Reading ACK byte"); if (_readForced(buf, 1)) { Close(); return CJ_ERR_DEVICE_LOST; } DEBUGP("Reading ACK byte: %02x", buf[0]); if (buf[0]==0xff) break; DEBUGP("Transmission error, resending"); /* forget whatever is in the buffers */ tcflush(m_devHandle, TCIOFLUSH); sleep(1); } return CJ_SUCCESS; } int CSerialUnix::_readForced(uint8_t *buf, uint32_t len) { while(len) { ssize_t rv; rv=_readFd(m_devHandle, buf, len); if (rv<0) { if (errno!=EINTR) { DEBUGP("read: %s", strerror(errno)); return -1; } } else if (rv==0) { DEBUGP("EOF met"); return -1; } else { len-=rv; buf+=rv; } } return 0; } int CSerialUnix::_writeAck(uint8_t c) { uint8_t buf[1]; ssize_t rv; buf[0]=c; do { rv=_writeFd(m_devHandle, buf, 1); } while(rv<0 && errno==EINTR); if (rv<1) { DEBUGP("write: %s", strerror(errno)); Close(); return CJ_ERR_DEVICE_LOST; } return CJ_SUCCESS; } int CSerialUnix::_readLowlevel(uint8_t *Response, uint32_t *ResponseLen) { uint32_t toRead; uint8_t buffer[32]; uint32_t inBuffer=0; uint8_t crc1=0; uint8_t crc2=0; uint32_t i; if (m_devHandle<0) { DEBUGP("Device is not open"); return CJ_ERR_DEVICE_LOST; } DEBUGP("reading up to %d bytes", *ResponseLen); /* read first byte */ if (_readForced(buffer, 1)) { Close(); return CJ_ERR_DEVICE_LOST; } inBuffer=1; if(buffer[0]==RDR_TO_PC_NOTIFYSLOTCHANGE || buffer[0]==RDR_TO_PC_HARWAREERROR || buffer[0]==RDR_TO_PC_KEYEVENT) { /* interrupt */ toRead=1; } else if (buffer[0]==0x00 || buffer[0]==0xff) { /* ACK byte received */ toRead=0; } else { /* read CCID header */ if (_readForced(buffer+1, 9)) { Close(); return CJ_ERR_DEVICE_LOST; } toRead=buffer[2]; toRead<<=8; toRead+=buffer[1]; inBuffer+=9; } if ((inBuffer+toRead)>*ResponseLen) { DEBUGP("Buffer too small (%d<%d)", (inBuffer+toRead), *ResponseLen); Close(); return CJ_ERR_DEVICE_LOST; } /* copy reveiced bytes */ memmove(Response, buffer, inBuffer); /* possibly read more bytes */ if (toRead) { if (_readForced(Response+inBuffer, toRead)) { Close(); return CJ_ERR_DEVICE_LOST; } } /* calculate checksums */ for (i=0; i<(inBuffer+toRead); i++) { crc1+=Response[i]; crc2^=Response[i]; } /* read checksums */ if (_readForced(buffer+1, 2)) { Close(); return CJ_ERR_DEVICE_LOST; } /* compare checksums */ if (buffer[1]!=crc1) { DEBUGP("Bad additive CRC (%02x != %02x)", buffer[1], crc1); } if (buffer[2]!=crc2) { DEBUGP("Bad XOR CRC (%02x != %02x)", buffer[2], crc2); } /* write ACK/NAK, but nor for interrupt messages */ if(buffer[0]!=RDR_TO_PC_NOTIFYSLOTCHANGE && buffer[0]!=RDR_TO_PC_HARWAREERROR && buffer[0]!=RDR_TO_PC_KEYEVENT) { if (buffer[1]==crc1 && buffer[2]==crc2) { int res; /* ACK */ res=_writeAck(0xff); if (res!=CJ_SUCCESS) return res; } else { int res; /* NAK */ res=_writeAck(0x00); if (res!=CJ_SUCCESS) return res; return CJ_ERR_DATA_CORRUPT; } } *ResponseLen=inBuffer+toRead; return CJ_SUCCESS; } int CSerialUnix::Read(void *Response, uint32_t *ResponseLen) { int res; uint32_t l; do { l=*ResponseLen; res=_readLowlevel((uint8_t*)Response, &l); } while(res==CJ_ERR_DATA_CORRUPT); if (res==CJ_SUCCESS) *ResponseLen=l; return res; } CBaseReader *CSerialUnix::BuildReaderObject() { m_Reader=new CECAReader(m_Owner, this); return m_Reader; } void CSerialUnix::SetCommunicationString(cj_ReaderInfo *ReaderInfo) { ReaderInfo->PID=0x0400; memcpy(ReaderInfo->CommunicationString, "COM", 4); ReaderInfo->ContentsMask= RSCT_READER_MASK_PID | RSCT_READER_MASK_COM_TYPE; } bool CSerialUnix::IsConnected() { return (m_devHandle!=-1); } int CSerialUnix::Open() { int fd; struct termios tios; int modemLines=0; DEBUGP("Opening device [%s]", m_cDeviceName); /* open serial device */ fd=open(m_cDeviceName, O_RDWR | O_NOCTTY); if (fd<0) { DEBUGP("open: %s", strerror(errno)); return 0; } /* get SIO attributes as a template */ if (tcgetattr(fd, &tios)<0) { DEBUGP("tcgetattr: %s", strerror(errno)); close(fd); return 0; } /* modify to work with the reader */ /* ignore paritiy and breaks at input */ tios.c_iflag=IGNBRK|IGNPAR; /* ignore parity at output */ tios.c_oflag=IGNPAR; /* ignore modem status */ tios.c_cflag|=CLOCAL; /* enable reading */ tios.c_cflag|=CREAD; /* 8n1 */ tios.c_cflag&=~PARENB; tios.c_cflag&=~CSTOPB; tios.c_cflag&=~CSIZE; tios.c_cflag|=CS8; /* disable hardware flow control */ tios.c_cflag&=~CRTSCTS; /* raw */ tios.c_lflag &=~(ICANON|ECHO|ECHOE|ISIG); tios.c_oflag &=~OPOST; tios.c_iflag &=~(IXON|IXOFF|IXANY); /* read one byte minimum, no timeout */ tios.c_cc[VMIN]=1; tios.c_cc[VTIME]=0; cfsetspeed(&tios, B115200); /* set new attributes */ if (tcsetattr(fd, TCSANOW, &tios)<0) { DEBUGP("tcsetattr: %s", strerror(errno)); close(fd); return 0; } /* get modem lines */ if (ioctl(fd, TIOCMGET, &modemLines)<0) { DEBUGP("ioctl(TIOCMGET): %s, ignoring", strerror(errno)); //close(fd); //return 0; } else { /* set RTS */ modemLines&=~TIOCM_RTS; if (ioctl(fd, TIOCMSET, &modemLines)<0) { DEBUGP("ioctl(TIOCMSET): %s, ignoring.", strerror(errno)); //close(fd); //return 0; } } if (tcflush(fd, TCIOFLUSH)<0) { DEBUGP("tcflush: %s", strerror(errno)); close(fd); return 0; } m_devHandle=fd; return 1; } void CSerialUnix::Close() { if (m_devHandle<0) { DEBUGP("Device is not open"); } else { close(m_devHandle); m_devHandle=-1; } } int CSerialUnix::StartInterruptPipe() { return 0; } int CSerialUnix::HaltInterruptPipe() { return 0; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/Makefile.am0000644000175000001440000000266611660154635020201 0ustar sctusersDIST_SUBDIRS=ausb if ENABLE_NONSERIAL SUBDIRS=ausb endif INCLUDES=-I../include -I../include/driver -I../include/firmware -Iausb $(pcsc_includes) AM_CFLAGS=$(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" AM_CPPFLAGS=$(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" noinst_HEADERS=\ BaseCommunication.h \ BaseReader.h \ BaseTranslater.h \ CCIDReader.h \ EC30Reader.h \ ECAReader.h \ ECBReader.h \ ECFReader.h \ ECPReader.h \ ECRReader.h \ ECMReader.h \ EFBReader.h \ PPAReader.h \ RSCTCriticalSection.h \ RFKReader.h \ RFSReader.h \ CPTReader.h \ SerialUnix.h \ SECReader.h \ USBUnix.h \ ccid.h \ config_l.h config_p.h \ ntstatus.h \ stdafx.h \ version.h \ PCSC10.h noinst_LTLIBRARIES=libeca.la libeca_la_SOURCES=\ BaseCommunication.cpp \ BaseReader.cpp \ BaseTranslater.cpp \ CCIDReader.cpp \ Debug.cpp \ EC30Reader.cpp \ ECAReader.cpp \ ECBReader.cpp \ ECFReader.cpp \ ECPReader.cpp \ ECRReader.cpp \ ECMReader.cpp \ EFBReader.cpp \ PPAReader.cpp \ RSCTCriticalSection.cpp \ RFKReader.cpp \ RFSReader.cpp \ CPTReader.cpp \ Reader.cpp \ USBUnix.cpp \ SerialUnix.cpp \ SECReader.cpp \ cjeca32.cpp \ Platform_unix.cpp \ config.cpp if ENABLE_NONSERIAL libeca_la_LIBADD=ausb/libausb.la endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECMReader.cpp0000644000175000001440000000250311657145411020364 0ustar sctusers#include "Platform.h" #include "ECMReader.h" CECMReader::CECMReader(CReader *Owner,CBaseCommunication *Communicator):CECPReader(Owner,Communicator),CECRReader(Owner,Communicator),CECBReader(Owner,Communicator) {} CECMReader::~CECMReader(void) {} void CECMReader::SetHWString(char *String) { strcpy(String,"ECM_"); } void CECMReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJECM",5); } RSCT_IFD_RESULT CECMReader::IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout) { return CECRReader::IfdPower(Mode,ATR,ATR_Length,Timeout); } RSCT_IFD_RESULT CECMReader::IfdSetProtocol(uint32_t *Protocol) { return CECRReader::IfdSetProtocol(Protocol); } RSCT_IFD_RESULT CECMReader::_IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { return CECRReader::_IfdTransmit(cmd,cmd_len,response,response_len); } RSCT_IFD_RESULT CECMReader::IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { return CECRReader::IfdVendor(IoCtrlCode,Input,InputLength,Output,OutputLength); } CJ_RESULT CECMReader::BuildReaderInfo() { return CECRReader::BuildReaderInfo(); } uint32_t CECMReader::GetReadersInputBufferSize() { return CECRReader::GetReadersInputBufferSize(); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/config_p.h0000644000175000001440000000354211657145411020072 0ustar sctusers/*************************************************************************** begin : Mon Nov 08 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef CYBERJACKCONFIG_P_H #define CYBERJACKCONFIG_P_H #include "config_l.h" #include #include typedef std::map CFG_VARMAP; struct CYBERJACK_CONFIG { unsigned int flags; std::string debugFile; std::string serialFile; CFG_VARMAP vars; }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECBReader.h0000644000175000001440000000051211657145411020014 0ustar sctusers#ifndef ECBREADER_H #define ECBREADER_H #include "ECPReader.h" class CECBReader : virtual public CECPReader { public: CECBReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CECBReader(void); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/RFSReader.h0000644000175000001440000000243711657145411020065 0ustar sctusers#ifndef RFSREADER_H #define RFSREADER_H #include "ECPReader.h" class CRFSReader : public CECPReader { public: CRFSReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CRFSReader(void); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); protected: virtual bool ATRFilter(bool IsWarm); virtual bool HastModulestoreInfo(); virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout); virtual RSCT_IFD_RESULT IfdSetProtocol(uint32_t *Protocol); virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); virtual RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); virtual CJ_RESULT BuildReaderInfo(); virtual uint32_t GetReadersInputBufferSize(); virtual CJ_RESULT CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result); virtual CJ_RESULT CtGetSilentMode(bool *pboolMode,uint32_t *Result); virtual bool PinDirectSupported(); virtual CJ_RESULT SpecialLess3_0_41(); private: uint8_t m_SerialNumber[10]; int m_SerialNumberLength; }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/SerialUnix.h0000644000175000001440000000505511657145411020372 0ustar sctusers/*************************************************************************** begin : Wed Apr 18 2007 copyright : (C) 2007-2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_SERIALLINUX_H #define RSCT_SERIALLINUX_H #include "BaseCommunication.h" class CSerialUnix : public CBaseCommunication { public: uint32_t m_refcounter; protected: int m_devHandle; public: CSerialUnix(const char *cDeviceName,CReader *Owner); virtual ~CSerialUnix(void); static char *createDeviceName(int num); virtual int Write(void *Message, uint32_t len); virtual int Read(void *Response, uint32_t *ResponseLen); virtual CBaseReader *BuildReaderObject(); virtual void SetCommunicationString(cj_ReaderInfo *ReaderInfo); virtual bool IsConnected(); virtual int Open(); virtual void Close(); private: virtual int StartInterruptPipe(); virtual int HaltInterruptPipe(); int _readForced(uint8_t *buf, uint32_t len); int _readLowlevel(uint8_t *Response, uint32_t *ResponseLen); int _writeAck(uint8_t c); int _writeLowlevel(void *Message, uint32_t len); int _readFd(int fd, void *buf, size_t l); int _writeFd(int fd, const void *buf, size_t l); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ntstatus.h0000644000175000001440000101545511657145411020202 0ustar sctusers/*++ BUILD Version: 0005 // Increment this if a change has global effects Copyright (c) Microsoft Corporation. All rights reserved. Module Name: ntstatus.h Abstract: Constant definitions for the NTSTATUS values. Author: Portable Systems Group 30-Mar-1989 Revision History: Notes: This file is generated by the MC tool from the ntstatus.mc file. Please add new error values to the end of the file. To do otherwise will jumble the error values. --*/ #ifndef _NTSTATUS_ #define _NTSTATUS_ #if defined (_MSC_VER) && (_MSC_VER >= 1020) #pragma once #endif #define NTSTATUS uint32_t #ifdef _WINDOWS # pragma warning (disable:4005) # endif #ifndef WIN32_NO_STATUS // winnt // begin_ntsecapi /*lint -save -e767 */ // Don't complain about different definitions // winnt ///////////////////////////////////////////////////////////////////////// // // Standard Success values // // ///////////////////////////////////////////////////////////////////////// // // The success status codes 0 - 63 are reserved for wait completion status. // FacilityCodes 0x5 - 0xF have been allocated by various drivers. // #define STATUS_SUCCESS ((NTSTATUS)0x00000000L) // ntsubauth // // Values are 32 bit values layed out as follows: // // 3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 // 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 // +---+-+-+-----------------------+-------------------------------+ // |Sev|C|R| Facility | Code | // +---+-+-+-----------------------+-------------------------------+ // // where // // Sev - is the severity code // // 00 - Success // 01 - Informational // 10 - Warning // 11 - Error // // C - is the Customer code flag // // R - is a reserved bit // // Facility - is the facility code // // Code - is the facility's status code // // // Define the facility codes // #define FACILITY_USB_ERROR_CODE 0x10 #define FACILITY_TRANSACTION 0x19 #define FACILITY_TERMINAL_SERVER 0xA #define FACILITY_SXS_ERROR_CODE 0x15 #define FACILITY_RPC_STUBS 0x3 #define FACILITY_RPC_RUNTIME 0x2 #define FACILITY_IO_ERROR_CODE 0x4 #define FACILITY_HID_ERROR_CODE 0x11 #define FACILITY_FIREWIRE_ERROR_CODE 0x12 #define FACILITY_DEBUGGER 0x1 #define FACILITY_COMMONLOG_ERROR_CODE 0x1A #define FACILITY_CLUSTER_ERROR_CODE 0x13 #define FACILITY_ACPI_ERROR_CODE 0x14 // // Define the severity codes // #define STATUS_SEVERITY_WARNING 0x2 #define STATUS_SEVERITY_SUCCESS 0x0 #define STATUS_SEVERITY_INFORMATIONAL 0x1 #define STATUS_SEVERITY_ERROR 0x3 // // MessageId: STATUS_WAIT_0 // // MessageText: // // STATUS_WAIT_0 // #define STATUS_WAIT_0 ((NTSTATUS)0x00000000L) // winnt // // MessageId: STATUS_WAIT_1 // // MessageText: // // STATUS_WAIT_1 // #define STATUS_WAIT_1 ((NTSTATUS)0x00000001L) // // MessageId: STATUS_WAIT_2 // // MessageText: // // STATUS_WAIT_2 // #define STATUS_WAIT_2 ((NTSTATUS)0x00000002L) // // MessageId: STATUS_WAIT_3 // // MessageText: // // STATUS_WAIT_3 // #define STATUS_WAIT_3 ((NTSTATUS)0x00000003L) // // MessageId: STATUS_WAIT_63 // // MessageText: // // STATUS_WAIT_63 // #define STATUS_WAIT_63 ((NTSTATUS)0x0000003FL) // // The success status codes 128 - 191 are reserved for wait completion // status with an abandoned mutant object. // #define STATUS_ABANDONED ((NTSTATUS)0x00000080L) // // MessageId: STATUS_ABANDONED_WAIT_0 // // MessageText: // // STATUS_ABANDONED_WAIT_0 // #define STATUS_ABANDONED_WAIT_0 ((NTSTATUS)0x00000080L) // winnt // // MessageId: STATUS_ABANDONED_WAIT_63 // // MessageText: // // STATUS_ABANDONED_WAIT_63 // #define STATUS_ABANDONED_WAIT_63 ((NTSTATUS)0x000000BFL) // // The success status codes 256, 257, 258, and 258 are reserved for // User APC, Kernel APC, Alerted, and Timeout. // // // MessageId: STATUS_USER_APC // // MessageText: // // STATUS_USER_APC // #define STATUS_USER_APC ((NTSTATUS)0x000000C0L) // winnt // // MessageId: STATUS_KERNEL_APC // // MessageText: // // STATUS_KERNEL_APC // #define STATUS_KERNEL_APC ((NTSTATUS)0x00000100L) // // MessageId: STATUS_ALERTED // // MessageText: // // STATUS_ALERTED // #define STATUS_ALERTED ((NTSTATUS)0x00000101L) // // MessageId: STATUS_TIMEOUT // // MessageText: // // STATUS_TIMEOUT // #define STATUS_TIMEOUT ((NTSTATUS)0x00000102L) // winnt // // MessageId: STATUS_PENDING // // MessageText: // // The operation that was requested is pending completion. // #define STATUS_PENDING ((NTSTATUS)0x00000103L) // winnt // // MessageId: STATUS_REPARSE // // MessageText: // // A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link. // #define STATUS_REPARSE ((NTSTATUS)0x00000104L) // // MessageId: STATUS_MORE_ENTRIES // // MessageText: // // Returned by enumeration APIs to indicate more information is available to successive calls. // #define STATUS_MORE_ENTRIES ((NTSTATUS)0x00000105L) // // MessageId: STATUS_NOT_ALL_ASSIGNED // // MessageText: // // Indicates not all privileges referenced are assigned to the caller. // This allows, for example, all privileges to be disabled without having to know exactly which privileges are assigned. // #define STATUS_NOT_ALL_ASSIGNED ((NTSTATUS)0x00000106L) // // MessageId: STATUS_SOME_NOT_MAPPED // // MessageText: // // Some of the information to be translated has not been translated. // #define STATUS_SOME_NOT_MAPPED ((NTSTATUS)0x00000107L) // // MessageId: STATUS_OPLOCK_BREAK_IN_PROGRESS // // MessageText: // // An open/create operation completed while an oplock break is underway. // #define STATUS_OPLOCK_BREAK_IN_PROGRESS ((NTSTATUS)0x00000108L) // // MessageId: STATUS_VOLUME_MOUNTED // // MessageText: // // A new volume has been mounted by a file system. // #define STATUS_VOLUME_MOUNTED ((NTSTATUS)0x00000109L) // // MessageId: STATUS_RXACT_COMMITTED // // MessageText: // // This success level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. // The commit has now been completed. // #define STATUS_RXACT_COMMITTED ((NTSTATUS)0x0000010AL) // // MessageId: STATUS_NOTIFY_CLEANUP // // MessageText: // // This indicates that a notify change request has been completed due to closing the handle which made the notify change request. // #define STATUS_NOTIFY_CLEANUP ((NTSTATUS)0x0000010BL) // // MessageId: STATUS_NOTIFY_ENUM_DIR // // MessageText: // // This indicates that a notify change request is being completed and that the information is not being returned in the caller's buffer. // The caller now needs to enumerate the files to find the changes. // #define STATUS_NOTIFY_ENUM_DIR ((NTSTATUS)0x0000010CL) // // MessageId: STATUS_NO_QUOTAS_FOR_ACCOUNT // // MessageText: // // {No Quotas} // No system quota limits are specifically set for this account. // #define STATUS_NO_QUOTAS_FOR_ACCOUNT ((NTSTATUS)0x0000010DL) // // MessageId: STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED // // MessageText: // // {Connect Failure on Primary Transport} // An attempt was made to connect to the remote server %hs on the primary transport, but the connection failed. // The computer WAS able to connect on a secondary transport. // #define STATUS_PRIMARY_TRANSPORT_CONNECT_FAILED ((NTSTATUS)0x0000010EL) // // MessageId: STATUS_PAGE_FAULT_TRANSITION // // MessageText: // // Page fault was a transition fault. // #define STATUS_PAGE_FAULT_TRANSITION ((NTSTATUS)0x00000110L) // // MessageId: STATUS_PAGE_FAULT_DEMAND_ZERO // // MessageText: // // Page fault was a demand zero fault. // #define STATUS_PAGE_FAULT_DEMAND_ZERO ((NTSTATUS)0x00000111L) // // MessageId: STATUS_PAGE_FAULT_COPY_ON_WRITE // // MessageText: // // Page fault was a demand zero fault. // #define STATUS_PAGE_FAULT_COPY_ON_WRITE ((NTSTATUS)0x00000112L) // // MessageId: STATUS_PAGE_FAULT_GUARD_PAGE // // MessageText: // // Page fault was a demand zero fault. // #define STATUS_PAGE_FAULT_GUARD_PAGE ((NTSTATUS)0x00000113L) // // MessageId: STATUS_PAGE_FAULT_PAGING_FILE // // MessageText: // // Page fault was satisfied by reading from a secondary storage device. // #define STATUS_PAGE_FAULT_PAGING_FILE ((NTSTATUS)0x00000114L) // // MessageId: STATUS_CACHE_PAGE_LOCKED // // MessageText: // // Cached page was locked during operation. // #define STATUS_CACHE_PAGE_LOCKED ((NTSTATUS)0x00000115L) // // MessageId: STATUS_CRASH_DUMP // // MessageText: // // Crash dump exists in paging file. // #define STATUS_CRASH_DUMP ((NTSTATUS)0x00000116L) // // MessageId: STATUS_BUFFER_ALL_ZEROS // // MessageText: // // Specified buffer contains all zeros. // #define STATUS_BUFFER_ALL_ZEROS ((NTSTATUS)0x00000117L) // // MessageId: STATUS_REPARSE_OBJECT // // MessageText: // // A reparse should be performed by the Object Manager since the name of the file resulted in a symbolic link. // #define STATUS_REPARSE_OBJECT ((NTSTATUS)0x00000118L) // // MessageId: STATUS_RESOURCE_REQUIREMENTS_CHANGED // // MessageText: // // The device has succeeded a query-stop and its resource requirements have changed. // #define STATUS_RESOURCE_REQUIREMENTS_CHANGED ((NTSTATUS)0x00000119L) // // MessageId: STATUS_TRANSLATION_COMPLETE // // MessageText: // // The translator has translated these resources into the global space and no further translations should be performed. // #define STATUS_TRANSLATION_COMPLETE ((NTSTATUS)0x00000120L) // // MessageId: STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY // // MessageText: // // The directory service evaluated group memberships locally, as it was unable to contact a global catalog server. // #define STATUS_DS_MEMBERSHIP_EVALUATED_LOCALLY ((NTSTATUS)0x00000121L) // // MessageId: STATUS_NOTHING_TO_TERMINATE // // MessageText: // // A process being terminated has no threads to terminate. // #define STATUS_NOTHING_TO_TERMINATE ((NTSTATUS)0x00000122L) // // MessageId: STATUS_PROCESS_NOT_IN_JOB // // MessageText: // // The specified process is not part of a job. // #define STATUS_PROCESS_NOT_IN_JOB ((NTSTATUS)0x00000123L) // // MessageId: STATUS_PROCESS_IN_JOB // // MessageText: // // The specified process is part of a job. // #define STATUS_PROCESS_IN_JOB ((NTSTATUS)0x00000124L) // // MessageId: STATUS_VOLSNAP_HIBERNATE_READY // // MessageText: // // {Volume Shadow Copy Service} // The system is now ready for hibernation. // #define STATUS_VOLSNAP_HIBERNATE_READY ((NTSTATUS)0x00000125L) // // MessageId: STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY // // MessageText: // // A file system or file system filter driver has successfully completed an FsFilter operation. // #define STATUS_FSFILTER_OP_COMPLETED_SUCCESSFULLY ((NTSTATUS)0x00000126L) // // MessageId: DBG_EXCEPTION_HANDLED // // MessageText: // // Debugger handled exception // #define DBG_EXCEPTION_HANDLED ((NTSTATUS)0x00010001L) // winnt #ifdef UNDER_CE // // MessageId: DBG_CONTINUE // // MessageText: // // Debugger continued // #define DBG_CONTINUE ((NTSTATUS)0x00010002L) // winnt #endif ///////////////////////////////////////////////////////////////////////// // // Standard Information values // ///////////////////////////////////////////////////////////////////////// // // MessageId: STATUS_OBJECT_NAME_EXISTS // // MessageText: // // {Object Exists} // An attempt was made to create an object and the object name already existed. // #define STATUS_OBJECT_NAME_EXISTS ((NTSTATUS)0x40000000L) // // MessageId: STATUS_THREAD_WAS_SUSPENDED // // MessageText: // // {Thread Suspended} // A thread termination occurred while the thread was suspended. The thread was resumed, and termination proceeded. // #define STATUS_THREAD_WAS_SUSPENDED ((NTSTATUS)0x40000001L) // // MessageId: STATUS_WORKING_SET_LIMIT_RANGE // // MessageText: // // {Working Set Range Error} // An attempt was made to set the working set minimum or maximum to values which are outside of the allowable range. // #define STATUS_WORKING_SET_LIMIT_RANGE ((NTSTATUS)0x40000002L) // // MessageId: STATUS_IMAGE_NOT_AT_BASE // // MessageText: // // {Image Relocated} // An image file could not be mapped at the address specified in the image file. Local fixups must be performed on this image. // #define STATUS_IMAGE_NOT_AT_BASE ((NTSTATUS)0x40000003L) // // MessageId: STATUS_RXACT_STATE_CREATED // // MessageText: // // This informational level status indicates that a specified registry sub-tree transaction state did not yet exist and had to be created. // #define STATUS_RXACT_STATE_CREATED ((NTSTATUS)0x40000004L) // // MessageId: STATUS_SEGMENT_NOTIFICATION // // MessageText: // // {Segment Load} // A virtual DOS machine (VDM) is loading, unloading, or moving an MS-DOS or Win16 program segment image. // An exception is raised so a debugger can load, unload or track symbols and breakpoints within these 16-bit segments. // #define STATUS_SEGMENT_NOTIFICATION ((NTSTATUS)0x40000005L) // winnt // // MessageId: STATUS_LOCAL_USER_SESSION_KEY // // MessageText: // // {Local Session Key} // A user session key was requested for a local RPC connection. The session key returned is a constant value and not unique to this connection. // #define STATUS_LOCAL_USER_SESSION_KEY ((NTSTATUS)0x40000006L) // // MessageId: STATUS_BAD_CURRENT_DIRECTORY // // MessageText: // // {Invalid Current Directory} // The process cannot switch to the startup current directory %hs. // Select OK to set current directory to %hs, or select CANCEL to exit. // #define STATUS_BAD_CURRENT_DIRECTORY ((NTSTATUS)0x40000007L) // // MessageId: STATUS_SERIAL_MORE_WRITES // // MessageText: // // {Serial IOCTL Complete} // A serial I/O operation was completed by another write to a serial port. // (The IOCTL_SERIAL_XOFF_COUNTER reached zero.) // #define STATUS_SERIAL_MORE_WRITES ((NTSTATUS)0x40000008L) // // MessageId: STATUS_REGISTRY_RECOVERED // // MessageText: // // {Registry Recovery} // One of the files containing the system's Registry data had to be recovered by use of a log or alternate copy. // The recovery was successful. // #define STATUS_REGISTRY_RECOVERED ((NTSTATUS)0x40000009L) // // MessageId: STATUS_FT_READ_RECOVERY_FROM_BACKUP // // MessageText: // // {Redundant Read} // To satisfy a read request, the NT fault-tolerant file system successfully read the requested data from a redundant copy. // This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was unable to reassign the failing area of the device. // #define STATUS_FT_READ_RECOVERY_FROM_BACKUP ((NTSTATUS)0x4000000AL) // // MessageId: STATUS_FT_WRITE_RECOVERY // // MessageText: // // {Redundant Write} // To satisfy a write request, the NT fault-tolerant file system successfully wrote a redundant copy of the information. // This was done because the file system encountered a failure on a member of the fault-tolerant volume, but was not able to reassign the failing area of the device. // #define STATUS_FT_WRITE_RECOVERY ((NTSTATUS)0x4000000BL) // // MessageId: STATUS_SERIAL_COUNTER_TIMEOUT // // MessageText: // // {Serial IOCTL Timeout} // A serial I/O operation completed because the time-out period expired. // (The IOCTL_SERIAL_XOFF_COUNTER had not reached zero.) // #define STATUS_SERIAL_COUNTER_TIMEOUT ((NTSTATUS)0x4000000CL) // // MessageId: STATUS_NULL_LM_PASSWORD // // MessageText: // // {Password Too Complex} // The Windows password is too complex to be converted to a LAN Manager password. // The LAN Manager password returned is a NULL string. // #define STATUS_NULL_LM_PASSWORD ((NTSTATUS)0x4000000DL) // // MessageId: STATUS_IMAGE_MACHINE_TYPE_MISMATCH // // MessageText: // // {Machine Type Mismatch} // The image file %hs is valid, but is for a machine type other than the current machine. Select OK to continue, or CANCEL to fail the DLL load. // #define STATUS_IMAGE_MACHINE_TYPE_MISMATCH ((NTSTATUS)0x4000000EL) // // MessageId: STATUS_RECEIVE_PARTIAL // // MessageText: // // {Partial Data Received} // The network transport returned partial data to its client. The remaining data will be sent later. // #define STATUS_RECEIVE_PARTIAL ((NTSTATUS)0x4000000FL) // // MessageId: STATUS_RECEIVE_EXPEDITED // // MessageText: // // {Expedited Data Received} // The network transport returned data to its client that was marked as expedited by the remote system. // #define STATUS_RECEIVE_EXPEDITED ((NTSTATUS)0x40000010L) // // MessageId: STATUS_RECEIVE_PARTIAL_EXPEDITED // // MessageText: // // {Partial Expedited Data Received} // The network transport returned partial data to its client and this data was marked as expedited by the remote system. The remaining data will be sent later. // #define STATUS_RECEIVE_PARTIAL_EXPEDITED ((NTSTATUS)0x40000011L) // // MessageId: STATUS_EVENT_DONE // // MessageText: // // {TDI Event Done} // The TDI indication has completed successfully. // #define STATUS_EVENT_DONE ((NTSTATUS)0x40000012L) // // MessageId: STATUS_EVENT_PENDING // // MessageText: // // {TDI Event Pending} // The TDI indication has entered the pending state. // #define STATUS_EVENT_PENDING ((NTSTATUS)0x40000013L) // // MessageId: STATUS_CHECKING_FILE_SYSTEM // // MessageText: // // Checking file system on %wZ // #define STATUS_CHECKING_FILE_SYSTEM ((NTSTATUS)0x40000014L) // // MessageId: STATUS_FATAL_APP_EXIT // // MessageText: // // {Fatal Application Exit} // %hs // #define STATUS_FATAL_APP_EXIT ((NTSTATUS)0x40000015L) // // MessageId: STATUS_PREDEFINED_HANDLE // // MessageText: // // The specified registry key is referenced by a predefined handle. // #define STATUS_PREDEFINED_HANDLE ((NTSTATUS)0x40000016L) // // MessageId: STATUS_WAS_UNLOCKED // // MessageText: // // {Page Unlocked} // The page protection of a locked page was changed to 'No Access' and the page was unlocked from memory and from the process. // #define STATUS_WAS_UNLOCKED ((NTSTATUS)0x40000017L) // // MessageId: STATUS_SERVICE_NOTIFICATION // // MessageText: // // %hs // #define STATUS_SERVICE_NOTIFICATION ((NTSTATUS)0x40000018L) // // MessageId: STATUS_WAS_LOCKED // // MessageText: // // {Page Locked} // One of the pages to lock was already locked. // #define STATUS_WAS_LOCKED ((NTSTATUS)0x40000019L) // // MessageId: STATUS_LOG_HARD_ERROR // // MessageText: // // Application popup: %1 : %2 // #define STATUS_LOG_HARD_ERROR ((NTSTATUS)0x4000001AL) // // MessageId: STATUS_ALREADY_WIN32 // // MessageText: // // STATUS_ALREADY_WIN32 // #define STATUS_ALREADY_WIN32 ((NTSTATUS)0x4000001BL) // // MessageId: STATUS_WX86_UNSIMULATE // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_UNSIMULATE ((NTSTATUS)0x4000001CL) // // MessageId: STATUS_WX86_CONTINUE // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_CONTINUE ((NTSTATUS)0x4000001DL) // // MessageId: STATUS_WX86_SINGLE_STEP // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_SINGLE_STEP ((NTSTATUS)0x4000001EL) // // MessageId: STATUS_WX86_BREAKPOINT // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_BREAKPOINT ((NTSTATUS)0x4000001FL) // // MessageId: STATUS_WX86_EXCEPTION_CONTINUE // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_EXCEPTION_CONTINUE ((NTSTATUS)0x40000020L) // // MessageId: STATUS_WX86_EXCEPTION_LASTCHANCE // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_EXCEPTION_LASTCHANCE ((NTSTATUS)0x40000021L) // // MessageId: STATUS_WX86_EXCEPTION_CHAIN // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_EXCEPTION_CHAIN ((NTSTATUS)0x40000022L) // // MessageId: STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE // // MessageText: // // {Machine Type Mismatch} // The image file %hs is valid, but is for a machine type other than the current machine. // #define STATUS_IMAGE_MACHINE_TYPE_MISMATCH_EXE ((NTSTATUS)0x40000023L) // // MessageId: STATUS_NO_YIELD_PERFORMED // // MessageText: // // A yield execution was performed and no thread was available to run. // #define STATUS_NO_YIELD_PERFORMED ((NTSTATUS)0x40000024L) // // MessageId: STATUS_TIMER_RESUME_IGNORED // // MessageText: // // The resumable flag to a timer API was ignored. // #define STATUS_TIMER_RESUME_IGNORED ((NTSTATUS)0x40000025L) // // MessageId: STATUS_ARBITRATION_UNHANDLED // // MessageText: // // The arbiter has deferred arbitration of these resources to its parent // #define STATUS_ARBITRATION_UNHANDLED ((NTSTATUS)0x40000026L) // // MessageId: STATUS_CARDBUS_NOT_SUPPORTED // // MessageText: // // The device "%hs" has detected a CardBus card in its slot, but the firmware on this system is not configured to allow the CardBus controller to be run in CardBus mode. // The operating system will currently accept only 16-bit (R2) pc-cards on this controller. // #define STATUS_CARDBUS_NOT_SUPPORTED ((NTSTATUS)0x40000027L) // // MessageId: STATUS_WX86_CREATEWX86TIB // // MessageText: // // Exception status code used by Win32 x86 emulation subsystem. // #define STATUS_WX86_CREATEWX86TIB ((NTSTATUS)0x40000028L) // // MessageId: STATUS_MP_PROCESSOR_MISMATCH // // MessageText: // // The CPUs in this multiprocessor system are not all the same revision level. To use all processors the operating system restricts itself to the features of the least capable processor in the system. Should problems occur with this system, contact // the CPU manufacturer to see if this mix of processors is supported. // #define STATUS_MP_PROCESSOR_MISMATCH ((NTSTATUS)0x40000029L) // // MessageId: STATUS_HIBERNATED // // MessageText: // // The system was put into hibernation. // #define STATUS_HIBERNATED ((NTSTATUS)0x4000002AL) // // MessageId: STATUS_RESUME_HIBERNATION // // MessageText: // // The system was resumed from hibernation. // #define STATUS_RESUME_HIBERNATION ((NTSTATUS)0x4000002BL) // // MessageId: STATUS_FIRMWARE_UPDATED // // MessageText: // // Windows has detected that the system firmware (BIOS) was updated [previous firmware date = %2, current firmware date %3]. // #define STATUS_FIRMWARE_UPDATED ((NTSTATUS)0x4000002CL) // // MessageId: STATUS_DRIVERS_LEAKING_LOCKED_PAGES // // MessageText: // // A device driver is leaking locked I/O pages causing system degradation. The system has automatically enabled tracking code in order to try and catch the culprit. // #define STATUS_DRIVERS_LEAKING_LOCKED_PAGES ((NTSTATUS)0x4000002DL) // // MessageId: DBG_REPLY_LATER // // MessageText: // // Debugger will reply later. // #define DBG_REPLY_LATER ((NTSTATUS)0x40010001L) // // MessageId: DBG_UNABLE_TO_PROVIDE_HANDLE // // MessageText: // // Debugger can not provide handle. // #define DBG_UNABLE_TO_PROVIDE_HANDLE ((NTSTATUS)0x40010002L) // // MessageId: DBG_TERMINATE_THREAD // // MessageText: // // Debugger terminated thread. // #ifdef UNDER_CE #define DBG_TERMINATE_THREAD ((NTSTATUS)0x40010003L) // winnt // // MessageId: DBG_TERMINATE_PROCESS // // MessageText: // // Debugger terminated process. // #define DBG_TERMINATE_PROCESS ((NTSTATUS)0x40010004L) // winnt // // MessageId: DBG_CONTROL_C // // MessageText: // // Debugger got control C. // #define DBG_CONTROL_C ((NTSTATUS)0x40010005L) // winnt #endif // // MessageId: DBG_PRINTEXCEPTION_C // // MessageText: // // Debugger printed exception on control C. // #define DBG_PRINTEXCEPTION_C ((NTSTATUS)0x40010006L) // // MessageId: DBG_RIPEXCEPTION // // MessageText: // // Debugger received RIP exception. // #define DBG_RIPEXCEPTION ((NTSTATUS)0x40010007L) // // MessageId: DBG_CONTROL_BREAK // // MessageText: // // Debugger received control break. // #ifdef UNDER_CE #define DBG_CONTROL_BREAK ((NTSTATUS)0x40010008L) // winnt #endif // // MessageId: DBG_COMMAND_EXCEPTION // // MessageText: // // Debugger command communication exception. // #define DBG_COMMAND_EXCEPTION ((NTSTATUS)0x40010009L) // winnt ///////////////////////////////////////////////////////////////////////// // // Standard Warning values // // // Note: Do NOT use the value 0x80000000L, as this is a non-portable value // for the NT_SUCCESS macro. Warning values start with a code of 1. // ///////////////////////////////////////////////////////////////////////// // // MessageId: STATUS_GUARD_PAGE_VIOLATION // // MessageText: // // {EXCEPTION} // Guard Page Exception // A page of memory that marks the end of a data structure, such as a stack or an array, has been accessed. // #define STATUS_GUARD_PAGE_VIOLATION ((NTSTATUS)0x80000001L) // winnt // // MessageId: STATUS_DATATYPE_MISALIGNMENT // // MessageText: // // {EXCEPTION} // Alignment Fault // A datatype misalignment was detected in a load or store instruction. // #define STATUS_DATATYPE_MISALIGNMENT ((NTSTATUS)0x80000002L) // winnt // // MessageId: STATUS_BREAKPOINT // // MessageText: // // {EXCEPTION} // Breakpoint // A breakpoint has been reached. // #define STATUS_BREAKPOINT ((NTSTATUS)0x80000003L) // winnt // // MessageId: STATUS_SINGLE_STEP // // MessageText: // // {EXCEPTION} // Single Step // A single step or trace operation has just been completed. // #define STATUS_SINGLE_STEP ((NTSTATUS)0x80000004L) // winnt // // MessageId: STATUS_BUFFER_OVERFLOW // // MessageText: // // {Buffer Overflow} // The data was too large to fit into the specified buffer. // #define STATUS_BUFFER_OVERFLOW ((NTSTATUS)0x80000005L) // // MessageId: STATUS_NO_MORE_FILES // // MessageText: // // {No More Files} // No more files were found which match the file specification. // #define STATUS_NO_MORE_FILES ((NTSTATUS)0x80000006L) // // MessageId: STATUS_WAKE_SYSTEM_DEBUGGER // // MessageText: // // {Kernel Debugger Awakened} // the system debugger was awakened by an interrupt. // #define STATUS_WAKE_SYSTEM_DEBUGGER ((NTSTATUS)0x80000007L) // // MessageId: STATUS_HANDLES_CLOSED // // MessageText: // // {Handles Closed} // Handles to objects have been automatically closed as a result of the requested operation. // #define STATUS_HANDLES_CLOSED ((NTSTATUS)0x8000000AL) // // MessageId: STATUS_NO_INHERITANCE // // MessageText: // // {Non-Inheritable ACL} // An access control list (ACL) contains no components that can be inherited. // #define STATUS_NO_INHERITANCE ((NTSTATUS)0x8000000BL) // // MessageId: STATUS_GUID_SUBSTITUTION_MADE // // MessageText: // // {GUID Substitution} // During the translation of a global identifier (GUID) to a Windows security ID (SID), no administratively-defined GUID prefix was found. // A substitute prefix was used, which will not compromise system security. // However, this may provide a more restrictive access than intended. // #define STATUS_GUID_SUBSTITUTION_MADE ((NTSTATUS)0x8000000CL) // // MessageId: STATUS_PARTIAL_COPY // // MessageText: // // {Partial Copy} // Due to protection conflicts not all the requested bytes could be copied. // #define STATUS_PARTIAL_COPY ((NTSTATUS)0x8000000DL) // // MessageId: STATUS_DEVICE_PAPER_EMPTY // // MessageText: // // {Out of Paper} // The printer is out of paper. // #define STATUS_DEVICE_PAPER_EMPTY ((NTSTATUS)0x8000000EL) // // MessageId: STATUS_DEVICE_POWERED_OFF // // MessageText: // // {Device Power Is Off} // The printer power has been turned off. // #define STATUS_DEVICE_POWERED_OFF ((NTSTATUS)0x8000000FL) // // MessageId: STATUS_DEVICE_OFF_LINE // // MessageText: // // {Device Offline} // The printer has been taken offline. // #define STATUS_DEVICE_OFF_LINE ((NTSTATUS)0x80000010L) // // MessageId: STATUS_DEVICE_BUSY // // MessageText: // // {Device Busy} // The device is currently busy. // #define STATUS_DEVICE_BUSY ((NTSTATUS)0x80000011L) // // MessageId: STATUS_NO_MORE_EAS // // MessageText: // // {No More EAs} // No more extended attributes (EAs) were found for the file. // #define STATUS_NO_MORE_EAS ((NTSTATUS)0x80000012L) // // MessageId: STATUS_INVALID_EA_NAME // // MessageText: // // {Illegal EA} // The specified extended attribute (EA) name contains at least one illegal character. // #define STATUS_INVALID_EA_NAME ((NTSTATUS)0x80000013L) // // MessageId: STATUS_EA_LIST_INCONSISTENT // // MessageText: // // {Inconsistent EA List} // The extended attribute (EA) list is inconsistent. // #define STATUS_EA_LIST_INCONSISTENT ((NTSTATUS)0x80000014L) // // MessageId: STATUS_INVALID_EA_FLAG // // MessageText: // // {Invalid EA Flag} // An invalid extended attribute (EA) flag was set. // #define STATUS_INVALID_EA_FLAG ((NTSTATUS)0x80000015L) // // MessageId: STATUS_VERIFY_REQUIRED // // MessageText: // // {Verifying Disk} // The media has changed and a verify operation is in progress so no reads or writes may be performed to the device, except those used in the verify operation. // #define STATUS_VERIFY_REQUIRED ((NTSTATUS)0x80000016L) // // MessageId: STATUS_EXTRANEOUS_INFORMATION // // MessageText: // // {Too Much Information} // The specified access control list (ACL) contained more information than was expected. // #define STATUS_EXTRANEOUS_INFORMATION ((NTSTATUS)0x80000017L) // // MessageId: STATUS_RXACT_COMMIT_NECESSARY // // MessageText: // // This warning level status indicates that the transaction state already exists for the registry sub-tree, but that a transaction commit was previously aborted. // The commit has NOT been completed, but has not been rolled back either (so it may still be committed if desired). // #define STATUS_RXACT_COMMIT_NECESSARY ((NTSTATUS)0x80000018L) // // MessageId: STATUS_NO_MORE_ENTRIES // // MessageText: // // {No More Entries} // No more entries are available from an enumeration operation. // #define STATUS_NO_MORE_ENTRIES ((NTSTATUS)0x8000001AL) // // MessageId: STATUS_FILEMARK_DETECTED // // MessageText: // // {Filemark Found} // A filemark was detected. // #define STATUS_FILEMARK_DETECTED ((NTSTATUS)0x8000001BL) // // MessageId: STATUS_MEDIA_CHANGED // // MessageText: // // {Media Changed} // The media may have changed. // #define STATUS_MEDIA_CHANGED ((NTSTATUS)0x8000001CL) // // MessageId: STATUS_BUS_RESET // // MessageText: // // {I/O Bus Reset} // An I/O bus reset was detected. // #define STATUS_BUS_RESET ((NTSTATUS)0x8000001DL) // // MessageId: STATUS_END_OF_MEDIA // // MessageText: // // {End of Media} // The end of the media was encountered. // #define STATUS_END_OF_MEDIA ((NTSTATUS)0x8000001EL) // // MessageId: STATUS_BEGINNING_OF_MEDIA // // MessageText: // // Beginning of tape or partition has been detected. // #define STATUS_BEGINNING_OF_MEDIA ((NTSTATUS)0x8000001FL) // // MessageId: STATUS_MEDIA_CHECK // // MessageText: // // {Media Changed} // The media may have changed. // #define STATUS_MEDIA_CHECK ((NTSTATUS)0x80000020L) // // MessageId: STATUS_SETMARK_DETECTED // // MessageText: // // A tape access reached a setmark. // #define STATUS_SETMARK_DETECTED ((NTSTATUS)0x80000021L) // // MessageId: STATUS_NO_DATA_DETECTED // // MessageText: // // During a tape access, the end of the data written is reached. // #define STATUS_NO_DATA_DETECTED ((NTSTATUS)0x80000022L) // // MessageId: STATUS_REDIRECTOR_HAS_OPEN_HANDLES // // MessageText: // // The redirector is in use and cannot be unloaded. // #define STATUS_REDIRECTOR_HAS_OPEN_HANDLES ((NTSTATUS)0x80000023L) // // MessageId: STATUS_SERVER_HAS_OPEN_HANDLES // // MessageText: // // The server is in use and cannot be unloaded. // #define STATUS_SERVER_HAS_OPEN_HANDLES ((NTSTATUS)0x80000024L) // // MessageId: STATUS_ALREADY_DISCONNECTED // // MessageText: // // The specified connection has already been disconnected. // #define STATUS_ALREADY_DISCONNECTED ((NTSTATUS)0x80000025L) // // MessageId: STATUS_LONGJUMP // // MessageText: // // A long jump has been executed. // #define STATUS_LONGJUMP ((NTSTATUS)0x80000026L) // // MessageId: STATUS_CLEANER_CARTRIDGE_INSTALLED // // MessageText: // // A cleaner cartridge is present in the tape library. // #define STATUS_CLEANER_CARTRIDGE_INSTALLED ((NTSTATUS)0x80000027L) // // MessageId: STATUS_PLUGPLAY_QUERY_VETOED // // MessageText: // // The Plug and Play query operation was not successful. // #define STATUS_PLUGPLAY_QUERY_VETOED ((NTSTATUS)0x80000028L) // // MessageId: STATUS_UNWIND_CONSOLIDATE // // MessageText: // // A frame consolidation has been executed. // #define STATUS_UNWIND_CONSOLIDATE ((NTSTATUS)0x80000029L) // // MessageId: STATUS_REGISTRY_HIVE_RECOVERED // // MessageText: // // {Registry Hive Recovered} // Registry hive (file): // %hs // was corrupted and it has been recovered. Some data might have been lost. // #define STATUS_REGISTRY_HIVE_RECOVERED ((NTSTATUS)0x8000002AL) // // MessageId: STATUS_DLL_MIGHT_BE_INSECURE // // MessageText: // // The application is attempting to run executable code from the module %hs. This may be insecure. An alternative, %hs, is available. Should the application use the secure module %hs? // #define STATUS_DLL_MIGHT_BE_INSECURE ((NTSTATUS)0x8000002BL) // // MessageId: STATUS_DLL_MIGHT_BE_INCOMPATIBLE // // MessageText: // // The application is loading executable code from the module %hs. This is secure, but may be incompatible with previous releases of the operating system. An alternative, %hs, is available. Should the application use the secure module %hs? // #define STATUS_DLL_MIGHT_BE_INCOMPATIBLE ((NTSTATUS)0x8000002CL) // // MessageId: DBG_EXCEPTION_NOT_HANDLED // // MessageText: // // Debugger did not handle the exception. // #ifndef UNDER_CE #define DBG_EXCEPTION_NOT_HANDLED ((NTSTATUS)0x80010001L) // winnt #endif // // MessageId: STATUS_CLUSTER_NODE_ALREADY_UP // // MessageText: // // The cluster node is already up. // #define STATUS_CLUSTER_NODE_ALREADY_UP ((NTSTATUS)0x80130001L) // // MessageId: STATUS_CLUSTER_NODE_ALREADY_DOWN // // MessageText: // // The cluster node is already down. // #define STATUS_CLUSTER_NODE_ALREADY_DOWN ((NTSTATUS)0x80130002L) // // MessageId: STATUS_CLUSTER_NETWORK_ALREADY_ONLINE // // MessageText: // // The cluster network is already online. // #define STATUS_CLUSTER_NETWORK_ALREADY_ONLINE ((NTSTATUS)0x80130003L) // // MessageId: STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE // // MessageText: // // The cluster network is already offline. // #define STATUS_CLUSTER_NETWORK_ALREADY_OFFLINE ((NTSTATUS)0x80130004L) // // MessageId: STATUS_CLUSTER_NODE_ALREADY_MEMBER // // MessageText: // // The cluster node is already a member of the cluster. // #define STATUS_CLUSTER_NODE_ALREADY_MEMBER ((NTSTATUS)0x80130005L) ///////////////////////////////////////////////////////////////////////// // // Standard Error values // ///////////////////////////////////////////////////////////////////////// // // MessageId: STATUS_UNSUCCESSFUL // // MessageText: // // {Operation Failed} // The requested operation was unsuccessful. // #define STATUS_UNSUCCESSFUL ((NTSTATUS)0xC0000001L) // // MessageId: STATUS_NOT_IMPLEMENTED // // MessageText: // // {Not Implemented} // The requested operation is not implemented. // #define STATUS_NOT_IMPLEMENTED ((NTSTATUS)0xC0000002L) // // MessageId: STATUS_INVALID_INFO_CLASS // // MessageText: // // {Invalid Parameter} // The specified information class is not a valid information class for the specified object. // #define STATUS_INVALID_INFO_CLASS ((NTSTATUS)0xC0000003L) // ntsubauth // // MessageId: STATUS_INFO_LENGTH_MISMATCH // // MessageText: // // The specified information record length does not match the length required for the specified information class. // #define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L) // // MessageId: STATUS_ACCESS_VIOLATION // // MessageText: // // The instruction at "0x%08lx" referenced memory at "0x%08lx". The memory could not be "%s". // #define STATUS_ACCESS_VIOLATION ((NTSTATUS)0xC0000005L) // winnt // // MessageId: STATUS_IN_PAGE_ERROR // // MessageText: // // The instruction at "0x%08lx" referenced memory at "0x%08lx". The required data was not placed into memory because of an I/O error status of "0x%08lx". // #define STATUS_IN_PAGE_ERROR ((NTSTATUS)0xC0000006L) // winnt // // MessageId: STATUS_PAGEFILE_QUOTA // // MessageText: // // The pagefile quota for the process has been exhausted. // #define STATUS_PAGEFILE_QUOTA ((NTSTATUS)0xC0000007L) // // MessageId: STATUS_INVALID_HANDLE // // MessageText: // // An invalid HANDLE was specified. // #define STATUS_INVALID_HANDLE ((NTSTATUS)0xC0000008L) // winnt // // MessageId: STATUS_BAD_INITIAL_STACK // // MessageText: // // An invalid initial stack was specified in a call to NtCreateThread. // #define STATUS_BAD_INITIAL_STACK ((NTSTATUS)0xC0000009L) // // MessageId: STATUS_BAD_INITIAL_PC // // MessageText: // // An invalid initial start address was specified in a call to NtCreateThread. // #define STATUS_BAD_INITIAL_PC ((NTSTATUS)0xC000000AL) // // MessageId: STATUS_INVALID_CID // // MessageText: // // An invalid Client ID was specified. // #define STATUS_INVALID_CID ((NTSTATUS)0xC000000BL) // // MessageId: STATUS_TIMER_NOT_CANCELED // // MessageText: // // An attempt was made to cancel or set a timer that has an associated APC and the subject thread is not the thread that originally set the timer with an associated APC routine. // #define STATUS_TIMER_NOT_CANCELED ((NTSTATUS)0xC000000CL) // // MessageId: STATUS_INVALID_PARAMETER // // MessageText: // // An invalid parameter was passed to a service or function. // #define STATUS_INVALID_PARAMETER ((NTSTATUS)0xC000000DL) // // MessageId: STATUS_NO_SUCH_DEVICE // // MessageText: // // A device which does not exist was specified. // #define STATUS_NO_SUCH_DEVICE ((NTSTATUS)0xC000000EL) // // MessageId: STATUS_NO_SUCH_FILE // // MessageText: // // {File Not Found} // The file %hs does not exist. // #define STATUS_NO_SUCH_FILE ((NTSTATUS)0xC000000FL) // // MessageId: STATUS_INVALID_DEVICE_REQUEST // // MessageText: // // The specified request is not a valid operation for the target device. // #define STATUS_INVALID_DEVICE_REQUEST ((NTSTATUS)0xC0000010L) // // MessageId: STATUS_END_OF_FILE // // MessageText: // // The end-of-file marker has been reached. There is no valid data in the file beyond this marker. // #define STATUS_END_OF_FILE ((NTSTATUS)0xC0000011L) // // MessageId: STATUS_WRONG_VOLUME // // MessageText: // // {Wrong Volume} // The wrong volume is in the drive. // Please insert volume %hs into drive %hs. // #define STATUS_WRONG_VOLUME ((NTSTATUS)0xC0000012L) // // MessageId: STATUS_NO_MEDIA_IN_DEVICE // // MessageText: // // {No Disk} // There is no disk in the drive. // Please insert a disk into drive %hs. // #define STATUS_NO_MEDIA_IN_DEVICE ((NTSTATUS)0xC0000013L) // // MessageId: STATUS_UNRECOGNIZED_MEDIA // // MessageText: // // {Unknown Disk Format} // The disk in drive %hs is not formatted properly. // Please check the disk, and reformat if necessary. // #define STATUS_UNRECOGNIZED_MEDIA ((NTSTATUS)0xC0000014L) // // MessageId: STATUS_NONEXISTENT_SECTOR // // MessageText: // // {Sector Not Found} // The specified sector does not exist. // #define STATUS_NONEXISTENT_SECTOR ((NTSTATUS)0xC0000015L) // // MessageId: STATUS_MORE_PROCESSING_REQUIRED // // MessageText: // // {Still Busy} // The specified I/O request packet (IRP) cannot be disposed of because the I/O operation is not complete. // #define STATUS_MORE_PROCESSING_REQUIRED ((NTSTATUS)0xC0000016L) // // MessageId: STATUS_NO_MEMORY // // MessageText: // // {Not Enough Quota} // Not enough virtual memory or paging file quota is available to complete the specified operation. // #define STATUS_NO_MEMORY ((NTSTATUS)0xC0000017L) // winnt // // MessageId: STATUS_CONFLICTING_ADDRESSES // // MessageText: // // {Conflicting Address Range} // The specified address range conflicts with the address space. // #define STATUS_CONFLICTING_ADDRESSES ((NTSTATUS)0xC0000018L) // // MessageId: STATUS_NOT_MAPPED_VIEW // // MessageText: // // Address range to unmap is not a mapped view. // #define STATUS_NOT_MAPPED_VIEW ((NTSTATUS)0xC0000019L) // // MessageId: STATUS_UNABLE_TO_FREE_VM // // MessageText: // // Virtual memory cannot be freed. // #define STATUS_UNABLE_TO_FREE_VM ((NTSTATUS)0xC000001AL) // // MessageId: STATUS_UNABLE_TO_DELETE_SECTION // // MessageText: // // Specified section cannot be deleted. // #define STATUS_UNABLE_TO_DELETE_SECTION ((NTSTATUS)0xC000001BL) // // MessageId: STATUS_INVALID_SYSTEM_SERVICE // // MessageText: // // An invalid system service was specified in a system service call. // #define STATUS_INVALID_SYSTEM_SERVICE ((NTSTATUS)0xC000001CL) // // MessageId: STATUS_ILLEGAL_INSTRUCTION // // MessageText: // // {EXCEPTION} // Illegal Instruction // An attempt was made to execute an illegal instruction. // #define STATUS_ILLEGAL_INSTRUCTION ((NTSTATUS)0xC000001DL) // winnt // // MessageId: STATUS_INVALID_LOCK_SEQUENCE // // MessageText: // // {Invalid Lock Sequence} // An attempt was made to execute an invalid lock sequence. // #define STATUS_INVALID_LOCK_SEQUENCE ((NTSTATUS)0xC000001EL) // // MessageId: STATUS_INVALID_VIEW_SIZE // // MessageText: // // {Invalid Mapping} // An attempt was made to create a view for a section which is bigger than the section. // #define STATUS_INVALID_VIEW_SIZE ((NTSTATUS)0xC000001FL) // // MessageId: STATUS_INVALID_FILE_FOR_SECTION // // MessageText: // // {Bad File} // The attributes of the specified mapping file for a section of memory cannot be read. // #define STATUS_INVALID_FILE_FOR_SECTION ((NTSTATUS)0xC0000020L) // // MessageId: STATUS_ALREADY_COMMITTED // // MessageText: // // {Already Committed} // The specified address range is already committed. // #define STATUS_ALREADY_COMMITTED ((NTSTATUS)0xC0000021L) // // MessageId: STATUS_ACCESS_DENIED // // MessageText: // // {Access Denied} // A process has requested access to an object, but has not been granted those access rights. // #define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L) // // MessageId: STATUS_BUFFER_TOO_SMALL // // MessageText: // // {Buffer Too Small} // The buffer is too small to contain the entry. No information has been written to the buffer. // #define STATUS_BUFFER_TOO_SMALL ((NTSTATUS)0xC0000023L) // // MessageId: STATUS_OBJECT_TYPE_MISMATCH // // MessageText: // // {Wrong Type} // There is a mismatch between the type of object required by the requested operation and the type of object that is specified in the request. // #define STATUS_OBJECT_TYPE_MISMATCH ((NTSTATUS)0xC0000024L) // // MessageId: STATUS_NONCONTINUABLE_EXCEPTION // // MessageText: // // {EXCEPTION} // Cannot Continue // Windows cannot continue from this exception. // #define STATUS_NONCONTINUABLE_EXCEPTION ((NTSTATUS)0xC0000025L) // winnt // // MessageId: STATUS_INVALID_DISPOSITION // // MessageText: // // An invalid exception disposition was returned by an exception handler. // #define STATUS_INVALID_DISPOSITION ((NTSTATUS)0xC0000026L) // winnt // // MessageId: STATUS_UNWIND // // MessageText: // // Unwind exception code. // #define STATUS_UNWIND ((NTSTATUS)0xC0000027L) // // MessageId: STATUS_BAD_STACK // // MessageText: // // An invalid or unaligned stack was encountered during an unwind operation. // #define STATUS_BAD_STACK ((NTSTATUS)0xC0000028L) // // MessageId: STATUS_INVALID_UNWIND_TARGET // // MessageText: // // An invalid unwind target was encountered during an unwind operation. // #define STATUS_INVALID_UNWIND_TARGET ((NTSTATUS)0xC0000029L) // // MessageId: STATUS_NOT_LOCKED // // MessageText: // // An attempt was made to unlock a page of memory which was not locked. // #define STATUS_NOT_LOCKED ((NTSTATUS)0xC000002AL) // // MessageId: STATUS_PARITY_ERROR // // MessageText: // // Device parity error on I/O operation. // #define STATUS_PARITY_ERROR ((NTSTATUS)0xC000002BL) // // MessageId: STATUS_UNABLE_TO_DECOMMIT_VM // // MessageText: // // An attempt was made to decommit uncommitted virtual memory. // #define STATUS_UNABLE_TO_DECOMMIT_VM ((NTSTATUS)0xC000002CL) // // MessageId: STATUS_NOT_COMMITTED // // MessageText: // // An attempt was made to change the attributes on memory that has not been committed. // #define STATUS_NOT_COMMITTED ((NTSTATUS)0xC000002DL) // // MessageId: STATUS_INVALID_PORT_ATTRIBUTES // // MessageText: // // Invalid Object Attributes specified to NtCreatePort or invalid Port Attributes specified to NtConnectPort // #define STATUS_INVALID_PORT_ATTRIBUTES ((NTSTATUS)0xC000002EL) // // MessageId: STATUS_PORT_MESSAGE_TOO_LONG // // MessageText: // // Length of message passed to NtRequestPort or NtRequestWaitReplyPort was longer than the maximum message allowed by the port. // #define STATUS_PORT_MESSAGE_TOO_LONG ((NTSTATUS)0xC000002FL) // // MessageId: STATUS_INVALID_PARAMETER_MIX // // MessageText: // // An invalid combination of parameters was specified. // #define STATUS_INVALID_PARAMETER_MIX ((NTSTATUS)0xC0000030L) // // MessageId: STATUS_INVALID_QUOTA_LOWER // // MessageText: // // An attempt was made to lower a quota limit below the current usage. // #define STATUS_INVALID_QUOTA_LOWER ((NTSTATUS)0xC0000031L) // // MessageId: STATUS_DISK_CORRUPT_ERROR // // MessageText: // // {Corrupt Disk} // The file system structure on the disk is corrupt and unusable. // Please run the Chkdsk utility on the volume %hs. // #define STATUS_DISK_CORRUPT_ERROR ((NTSTATUS)0xC0000032L) // // MessageId: STATUS_OBJECT_NAME_INVALID // // MessageText: // // Object Name invalid. // #define STATUS_OBJECT_NAME_INVALID ((NTSTATUS)0xC0000033L) // // MessageId: STATUS_OBJECT_NAME_NOT_FOUND // // MessageText: // // Object Name not found. // #define STATUS_OBJECT_NAME_NOT_FOUND ((NTSTATUS)0xC0000034L) // // MessageId: STATUS_OBJECT_NAME_COLLISION // // MessageText: // // Object Name already exists. // #define STATUS_OBJECT_NAME_COLLISION ((NTSTATUS)0xC0000035L) // // MessageId: STATUS_PORT_DISCONNECTED // // MessageText: // // Attempt to send a message to a disconnected communication port. // #define STATUS_PORT_DISCONNECTED ((NTSTATUS)0xC0000037L) // // MessageId: STATUS_DEVICE_ALREADY_ATTACHED // // MessageText: // // An attempt was made to attach to a device that was already attached to another device. // #define STATUS_DEVICE_ALREADY_ATTACHED ((NTSTATUS)0xC0000038L) // // MessageId: STATUS_OBJECT_PATH_INVALID // // MessageText: // // Object Path Component was not a directory object. // #define STATUS_OBJECT_PATH_INVALID ((NTSTATUS)0xC0000039L) // // MessageId: STATUS_OBJECT_PATH_NOT_FOUND // // MessageText: // // {Path Not Found} // The path %hs does not exist. // #define STATUS_OBJECT_PATH_NOT_FOUND ((NTSTATUS)0xC000003AL) // // MessageId: STATUS_OBJECT_PATH_SYNTAX_BAD // // MessageText: // // Object Path Component was not a directory object. // #define STATUS_OBJECT_PATH_SYNTAX_BAD ((NTSTATUS)0xC000003BL) // // MessageId: STATUS_DATA_OVERRUN // // MessageText: // // {Data Overrun} // A data overrun error occurred. // #define STATUS_DATA_OVERRUN ((NTSTATUS)0xC000003CL) // // MessageId: STATUS_DATA_LATE_ERROR // // MessageText: // // {Data Late} // A data late error occurred. // #define STATUS_DATA_LATE_ERROR ((NTSTATUS)0xC000003DL) // // MessageId: STATUS_DATA_ERROR // // MessageText: // // {Data Error} // An error in reading or writing data occurred. // #define STATUS_DATA_ERROR ((NTSTATUS)0xC000003EL) // // MessageId: STATUS_CRC_ERROR // // MessageText: // // {Bad CRC} // A cyclic redundancy check (CRC) checksum error occurred. // #define STATUS_CRC_ERROR ((NTSTATUS)0xC000003FL) // // MessageId: STATUS_SECTION_TOO_BIG // // MessageText: // // {Section Too Large} // The specified section is too big to map the file. // #define STATUS_SECTION_TOO_BIG ((NTSTATUS)0xC0000040L) // // MessageId: STATUS_PORT_CONNECTION_REFUSED // // MessageText: // // The NtConnectPort request is refused. // #define STATUS_PORT_CONNECTION_REFUSED ((NTSTATUS)0xC0000041L) // // MessageId: STATUS_INVALID_PORT_HANDLE // // MessageText: // // The type of port handle is invalid for the operation requested. // #define STATUS_INVALID_PORT_HANDLE ((NTSTATUS)0xC0000042L) // // MessageId: STATUS_SHARING_VIOLATION // // MessageText: // // A file cannot be opened because the share access flags are incompatible. // #define STATUS_SHARING_VIOLATION ((NTSTATUS)0xC0000043L) // // MessageId: STATUS_QUOTA_EXCEEDED // // MessageText: // // Insufficient quota exists to complete the operation // #define STATUS_QUOTA_EXCEEDED ((NTSTATUS)0xC0000044L) // // MessageId: STATUS_INVALID_PAGE_PROTECTION // // MessageText: // // The specified page protection was not valid. // #define STATUS_INVALID_PAGE_PROTECTION ((NTSTATUS)0xC0000045L) // // MessageId: STATUS_MUTANT_NOT_OWNED // // MessageText: // // An attempt to release a mutant object was made by a thread that was not the owner of the mutant object. // #define STATUS_MUTANT_NOT_OWNED ((NTSTATUS)0xC0000046L) // // MessageId: STATUS_SEMAPHORE_LIMIT_EXCEEDED // // MessageText: // // An attempt was made to release a semaphore such that its maximum count would have been exceeded. // #define STATUS_SEMAPHORE_LIMIT_EXCEEDED ((NTSTATUS)0xC0000047L) // // MessageId: STATUS_PORT_ALREADY_SET // // MessageText: // // An attempt to set a processes DebugPort or ExceptionPort was made, but a port already exists in the process or // an attempt to set a file's CompletionPort made, but a port was already set in the file. // #define STATUS_PORT_ALREADY_SET ((NTSTATUS)0xC0000048L) // // MessageId: STATUS_SECTION_NOT_IMAGE // // MessageText: // // An attempt was made to query image information on a section which does not map an image. // #define STATUS_SECTION_NOT_IMAGE ((NTSTATUS)0xC0000049L) // // MessageId: STATUS_SUSPEND_COUNT_EXCEEDED // // MessageText: // // An attempt was made to suspend a thread whose suspend count was at its maximum. // #define STATUS_SUSPEND_COUNT_EXCEEDED ((NTSTATUS)0xC000004AL) // // MessageId: STATUS_THREAD_IS_TERMINATING // // MessageText: // // An attempt was made to suspend a thread that has begun termination. // #define STATUS_THREAD_IS_TERMINATING ((NTSTATUS)0xC000004BL) // // MessageId: STATUS_BAD_WORKING_SET_LIMIT // // MessageText: // // An attempt was made to set the working set limit to an invalid value (minimum greater than maximum, etc). // #define STATUS_BAD_WORKING_SET_LIMIT ((NTSTATUS)0xC000004CL) // // MessageId: STATUS_INCOMPATIBLE_FILE_MAP // // MessageText: // // A section was created to map a file which is not compatible to an already existing section which maps the same file. // #define STATUS_INCOMPATIBLE_FILE_MAP ((NTSTATUS)0xC000004DL) // // MessageId: STATUS_SECTION_PROTECTION // // MessageText: // // A view to a section specifies a protection which is incompatible with the initial view's protection. // #define STATUS_SECTION_PROTECTION ((NTSTATUS)0xC000004EL) // // MessageId: STATUS_EAS_NOT_SUPPORTED // // MessageText: // // An operation involving EAs failed because the file system does not support EAs. // #define STATUS_EAS_NOT_SUPPORTED ((NTSTATUS)0xC000004FL) // // MessageId: STATUS_EA_TOO_LARGE // // MessageText: // // An EA operation failed because EA set is too large. // #define STATUS_EA_TOO_LARGE ((NTSTATUS)0xC0000050L) // // MessageId: STATUS_NONEXISTENT_EA_ENTRY // // MessageText: // // An EA operation failed because the name or EA index is invalid. // #define STATUS_NONEXISTENT_EA_ENTRY ((NTSTATUS)0xC0000051L) // // MessageId: STATUS_NO_EAS_ON_FILE // // MessageText: // // The file for which EAs were requested has no EAs. // #define STATUS_NO_EAS_ON_FILE ((NTSTATUS)0xC0000052L) // // MessageId: STATUS_EA_CORRUPT_ERROR // // MessageText: // // The EA is corrupt and non-readable. // #define STATUS_EA_CORRUPT_ERROR ((NTSTATUS)0xC0000053L) // // MessageId: STATUS_FILE_LOCK_CONFLICT // // MessageText: // // A requested read/write cannot be granted due to a conflicting file lock. // #define STATUS_FILE_LOCK_CONFLICT ((NTSTATUS)0xC0000054L) // // MessageId: STATUS_LOCK_NOT_GRANTED // // MessageText: // // A requested file lock cannot be granted due to other existing locks. // #define STATUS_LOCK_NOT_GRANTED ((NTSTATUS)0xC0000055L) // // MessageId: STATUS_DELETE_PENDING // // MessageText: // // A non close operation has been requested of a file object with a delete pending. // #define STATUS_DELETE_PENDING ((NTSTATUS)0xC0000056L) // // MessageId: STATUS_CTL_FILE_NOT_SUPPORTED // // MessageText: // // An attempt was made to set the control attribute on a file. This attribute is not supported in the target file system. // #define STATUS_CTL_FILE_NOT_SUPPORTED ((NTSTATUS)0xC0000057L) // // MessageId: STATUS_UNKNOWN_REVISION // // MessageText: // // Indicates a revision number encountered or specified is not one known by the service. It may be a more recent revision than the service is aware of. // #define STATUS_UNKNOWN_REVISION ((NTSTATUS)0xC0000058L) // // MessageId: STATUS_REVISION_MISMATCH // // MessageText: // // Indicates two revision levels are incompatible. // #define STATUS_REVISION_MISMATCH ((NTSTATUS)0xC0000059L) // // MessageId: STATUS_INVALID_OWNER // // MessageText: // // Indicates a particular Security ID may not be assigned as the owner of an object. // #define STATUS_INVALID_OWNER ((NTSTATUS)0xC000005AL) // // MessageId: STATUS_INVALID_PRIMARY_GROUP // // MessageText: // // Indicates a particular Security ID may not be assigned as the primary group of an object. // #define STATUS_INVALID_PRIMARY_GROUP ((NTSTATUS)0xC000005BL) // // MessageId: STATUS_NO_IMPERSONATION_TOKEN // // MessageText: // // An attempt has been made to operate on an impersonation token by a thread that is not currently impersonating a client. // #define STATUS_NO_IMPERSONATION_TOKEN ((NTSTATUS)0xC000005CL) // // MessageId: STATUS_CANT_DISABLE_MANDATORY // // MessageText: // // A mandatory group may not be disabled. // #define STATUS_CANT_DISABLE_MANDATORY ((NTSTATUS)0xC000005DL) // // MessageId: STATUS_NO_LOGON_SERVERS // // MessageText: // // There are currently no logon servers available to service the logon request. // #define STATUS_NO_LOGON_SERVERS ((NTSTATUS)0xC000005EL) // // MessageId: STATUS_NO_SUCH_LOGON_SESSION // // MessageText: // // A specified logon session does not exist. It may already have been terminated. // #define STATUS_NO_SUCH_LOGON_SESSION ((NTSTATUS)0xC000005FL) // // MessageId: STATUS_NO_SUCH_PRIVILEGE // // MessageText: // // A specified privilege does not exist. // #define STATUS_NO_SUCH_PRIVILEGE ((NTSTATUS)0xC0000060L) // // MessageId: STATUS_PRIVILEGE_NOT_HELD // // MessageText: // // A required privilege is not held by the client. // #define STATUS_PRIVILEGE_NOT_HELD ((NTSTATUS)0xC0000061L) // // MessageId: STATUS_INVALID_ACCOUNT_NAME // // MessageText: // // The name provided is not a properly formed account name. // #define STATUS_INVALID_ACCOUNT_NAME ((NTSTATUS)0xC0000062L) // // MessageId: STATUS_USER_EXISTS // // MessageText: // // The specified user already exists. // #define STATUS_USER_EXISTS ((NTSTATUS)0xC0000063L) // // MessageId: STATUS_NO_SUCH_USER // // MessageText: // // The specified user does not exist. // #define STATUS_NO_SUCH_USER ((NTSTATUS)0xC0000064L) // ntsubauth // // MessageId: STATUS_GROUP_EXISTS // // MessageText: // // The specified group already exists. // #define STATUS_GROUP_EXISTS ((NTSTATUS)0xC0000065L) // // MessageId: STATUS_NO_SUCH_GROUP // // MessageText: // // The specified group does not exist. // #define STATUS_NO_SUCH_GROUP ((NTSTATUS)0xC0000066L) // // MessageId: STATUS_MEMBER_IN_GROUP // // MessageText: // // The specified user account is already in the specified group account. // Also used to indicate a group cannot be deleted because it contains a member. // #define STATUS_MEMBER_IN_GROUP ((NTSTATUS)0xC0000067L) // // MessageId: STATUS_MEMBER_NOT_IN_GROUP // // MessageText: // // The specified user account is not a member of the specified group account. // #define STATUS_MEMBER_NOT_IN_GROUP ((NTSTATUS)0xC0000068L) // // MessageId: STATUS_LAST_ADMIN // // MessageText: // // Indicates the requested operation would disable or delete the last remaining administration account. // This is not allowed to prevent creating a situation in which the system cannot be administrated. // #define STATUS_LAST_ADMIN ((NTSTATUS)0xC0000069L) // // MessageId: STATUS_WRONG_PASSWORD // // MessageText: // // When trying to update a password, this return status indicates that the value provided as the current password is not correct. // #define STATUS_WRONG_PASSWORD ((NTSTATUS)0xC000006AL) // ntsubauth // // MessageId: STATUS_ILL_FORMED_PASSWORD // // MessageText: // // When trying to update a password, this return status indicates that the value provided for the new password contains values that are not allowed in passwords. // #define STATUS_ILL_FORMED_PASSWORD ((NTSTATUS)0xC000006BL) // // MessageId: STATUS_PASSWORD_RESTRICTION // // MessageText: // // When trying to update a password, this status indicates that some password update rule has been violated. For example, the password may not meet length criteria. // #define STATUS_PASSWORD_RESTRICTION ((NTSTATUS)0xC000006CL) // ntsubauth // // MessageId: STATUS_LOGON_FAILURE // // MessageText: // // The attempted logon is invalid. This is either due to a bad username or authentication information. // #define STATUS_LOGON_FAILURE ((NTSTATUS)0xC000006DL) // ntsubauth // // MessageId: STATUS_ACCOUNT_RESTRICTION // // MessageText: // // Indicates a referenced user name and authentication information are valid, but some user account restriction has prevented successful authentication (such as time-of-day restrictions). // #define STATUS_ACCOUNT_RESTRICTION ((NTSTATUS)0xC000006EL) // ntsubauth // // MessageId: STATUS_INVALID_LOGON_HOURS // // MessageText: // // The user account has time restrictions and may not be logged onto at this time. // #define STATUS_INVALID_LOGON_HOURS ((NTSTATUS)0xC000006FL) // ntsubauth // // MessageId: STATUS_INVALID_WORKSTATION // // MessageText: // // The user account is restricted such that it may not be used to log on from the source workstation. // #define STATUS_INVALID_WORKSTATION ((NTSTATUS)0xC0000070L) // ntsubauth // // MessageId: STATUS_PASSWORD_EXPIRED // // MessageText: // // The user account's password has expired. // #define STATUS_PASSWORD_EXPIRED ((NTSTATUS)0xC0000071L) // ntsubauth // // MessageId: STATUS_ACCOUNT_DISABLED // // MessageText: // // The referenced account is currently disabled and may not be logged on to. // #define STATUS_ACCOUNT_DISABLED ((NTSTATUS)0xC0000072L) // ntsubauth // // MessageId: STATUS_NONE_MAPPED // // MessageText: // // None of the information to be translated has been translated. // #define STATUS_NONE_MAPPED ((NTSTATUS)0xC0000073L) // // MessageId: STATUS_TOO_MANY_LUIDS_REQUESTED // // MessageText: // // The number of LUIDs requested may not be allocated with a single allocation. // #define STATUS_TOO_MANY_LUIDS_REQUESTED ((NTSTATUS)0xC0000074L) // // MessageId: STATUS_LUIDS_EXHAUSTED // // MessageText: // // Indicates there are no more LUIDs to allocate. // #define STATUS_LUIDS_EXHAUSTED ((NTSTATUS)0xC0000075L) // // MessageId: STATUS_INVALID_SUB_AUTHORITY // // MessageText: // // Indicates the sub-authority value is invalid for the particular use. // #define STATUS_INVALID_SUB_AUTHORITY ((NTSTATUS)0xC0000076L) // // MessageId: STATUS_INVALID_ACL // // MessageText: // // Indicates the ACL structure is not valid. // #define STATUS_INVALID_ACL ((NTSTATUS)0xC0000077L) // // MessageId: STATUS_INVALID_SID // // MessageText: // // Indicates the SID structure is not valid. // #define STATUS_INVALID_SID ((NTSTATUS)0xC0000078L) // // MessageId: STATUS_INVALID_SECURITY_DESCR // // MessageText: // // Indicates the SECURITY_DESCRIPTOR structure is not valid. // #define STATUS_INVALID_SECURITY_DESCR ((NTSTATUS)0xC0000079L) // // MessageId: STATUS_PROCEDURE_NOT_FOUND // // MessageText: // // Indicates the specified procedure address cannot be found in the DLL. // #define STATUS_PROCEDURE_NOT_FOUND ((NTSTATUS)0xC000007AL) // // MessageId: STATUS_INVALID_IMAGE_FORMAT // // MessageText: // // {Bad Image} // The application or DLL %hs is not a valid Windows image. Please check this against your installation diskette. // #define STATUS_INVALID_IMAGE_FORMAT ((NTSTATUS)0xC000007BL) // // MessageId: STATUS_NO_TOKEN // // MessageText: // // An attempt was made to reference a token that doesn't exist. // This is typically done by referencing the token associated with a thread when the thread is not impersonating a client. // #define STATUS_NO_TOKEN ((NTSTATUS)0xC000007CL) // // MessageId: STATUS_BAD_INHERITANCE_ACL // // MessageText: // // Indicates that an attempt to build either an inherited ACL or ACE was not successful. // This can be caused by a number of things. One of the more probable causes is the replacement of a CreatorId with an SID that didn't fit into the ACE or ACL. // #define STATUS_BAD_INHERITANCE_ACL ((NTSTATUS)0xC000007DL) // // MessageId: STATUS_RANGE_NOT_LOCKED // // MessageText: // // The range specified in NtUnlockFile was not locked. // #define STATUS_RANGE_NOT_LOCKED ((NTSTATUS)0xC000007EL) // // MessageId: STATUS_DISK_FULL // // MessageText: // // An operation failed because the disk was full. // #define STATUS_DISK_FULL ((NTSTATUS)0xC000007FL) // // MessageId: STATUS_SERVER_DISABLED // // MessageText: // // The GUID allocation server is [already] disabled at the moment. // #define STATUS_SERVER_DISABLED ((NTSTATUS)0xC0000080L) // // MessageId: STATUS_SERVER_NOT_DISABLED // // MessageText: // // The GUID allocation server is [already] enabled at the moment. // #define STATUS_SERVER_NOT_DISABLED ((NTSTATUS)0xC0000081L) // // MessageId: STATUS_TOO_MANY_GUIDS_REQUESTED // // MessageText: // // Too many GUIDs were requested from the allocation server at once. // #define STATUS_TOO_MANY_GUIDS_REQUESTED ((NTSTATUS)0xC0000082L) // // MessageId: STATUS_GUIDS_EXHAUSTED // // MessageText: // // The GUIDs could not be allocated because the Authority Agent was exhausted. // #define STATUS_GUIDS_EXHAUSTED ((NTSTATUS)0xC0000083L) // // MessageId: STATUS_INVALID_ID_AUTHORITY // // MessageText: // // The value provided was an invalid value for an identifier authority. // #define STATUS_INVALID_ID_AUTHORITY ((NTSTATUS)0xC0000084L) // // MessageId: STATUS_AGENTS_EXHAUSTED // // MessageText: // // There are no more authority agent values available for the given identifier authority value. // #define STATUS_AGENTS_EXHAUSTED ((NTSTATUS)0xC0000085L) // // MessageId: STATUS_INVALID_VOLUME_LABEL // // MessageText: // // An invalid volume label has been specified. // #define STATUS_INVALID_VOLUME_LABEL ((NTSTATUS)0xC0000086L) // // MessageId: STATUS_SECTION_NOT_EXTENDED // // MessageText: // // A mapped section could not be extended. // #define STATUS_SECTION_NOT_EXTENDED ((NTSTATUS)0xC0000087L) // // MessageId: STATUS_NOT_MAPPED_DATA // // MessageText: // // Specified section to flush does not map a data file. // #define STATUS_NOT_MAPPED_DATA ((NTSTATUS)0xC0000088L) // // MessageId: STATUS_RESOURCE_DATA_NOT_FOUND // // MessageText: // // Indicates the specified image file did not contain a resource section. // #define STATUS_RESOURCE_DATA_NOT_FOUND ((NTSTATUS)0xC0000089L) // // MessageId: STATUS_RESOURCE_TYPE_NOT_FOUND // // MessageText: // // Indicates the specified resource type cannot be found in the image file. // #define STATUS_RESOURCE_TYPE_NOT_FOUND ((NTSTATUS)0xC000008AL) // // MessageId: STATUS_RESOURCE_NAME_NOT_FOUND // // MessageText: // // Indicates the specified resource name cannot be found in the image file. // #define STATUS_RESOURCE_NAME_NOT_FOUND ((NTSTATUS)0xC000008BL) // // MessageId: STATUS_ARRAY_BOUNDS_EXCEEDED // // MessageText: // // {EXCEPTION} // Array bounds exceeded. // #define STATUS_ARRAY_BOUNDS_EXCEEDED ((NTSTATUS)0xC000008CL) // winnt // // MessageId: STATUS_FLOAT_DENORMAL_OPERAND // // MessageText: // // {EXCEPTION} // Floating-point denormal operand. // #define STATUS_FLOAT_DENORMAL_OPERAND ((NTSTATUS)0xC000008DL) // winnt // // MessageId: STATUS_FLOAT_DIVIDE_BY_ZERO // // MessageText: // // {EXCEPTION} // Floating-point division by zero. // #define STATUS_FLOAT_DIVIDE_BY_ZERO ((NTSTATUS)0xC000008EL) // winnt // // MessageId: STATUS_FLOAT_INEXACT_RESULT // // MessageText: // // {EXCEPTION} // Floating-point inexact result. // #define STATUS_FLOAT_INEXACT_RESULT ((NTSTATUS)0xC000008FL) // winnt // // MessageId: STATUS_FLOAT_INVALID_OPERATION // // MessageText: // // {EXCEPTION} // Floating-point invalid operation. // #define STATUS_FLOAT_INVALID_OPERATION ((NTSTATUS)0xC0000090L) // winnt // // MessageId: STATUS_FLOAT_OVERFLOW // // MessageText: // // {EXCEPTION} // Floating-point overflow. // #define STATUS_FLOAT_OVERFLOW ((NTSTATUS)0xC0000091L) // winnt // // MessageId: STATUS_FLOAT_STACK_CHECK // // MessageText: // // {EXCEPTION} // Floating-point stack check. // #define STATUS_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000092L) // winnt // // MessageId: STATUS_FLOAT_UNDERFLOW // // MessageText: // // {EXCEPTION} // Floating-point underflow. // #define STATUS_FLOAT_UNDERFLOW ((NTSTATUS)0xC0000093L) // winnt // // MessageId: STATUS_INTEGER_DIVIDE_BY_ZERO // // MessageText: // // {EXCEPTION} // Integer division by zero. // #define STATUS_INTEGER_DIVIDE_BY_ZERO ((NTSTATUS)0xC0000094L) // winnt // // MessageId: STATUS_INTEGER_OVERFLOW // // MessageText: // // {EXCEPTION} // Integer overflow. // #define STATUS_INTEGER_OVERFLOW ((NTSTATUS)0xC0000095L) // winnt // // MessageId: STATUS_PRIVILEGED_INSTRUCTION // // MessageText: // // {EXCEPTION} // Privileged instruction. // #define STATUS_PRIVILEGED_INSTRUCTION ((NTSTATUS)0xC0000096L) // winnt // // MessageId: STATUS_TOO_MANY_PAGING_FILES // // MessageText: // // An attempt was made to install more paging files than the system supports. // #define STATUS_TOO_MANY_PAGING_FILES ((NTSTATUS)0xC0000097L) // // MessageId: STATUS_FILE_INVALID // // MessageText: // // The volume for a file has been externally altered such that the opened file is no longer valid. // #define STATUS_FILE_INVALID ((NTSTATUS)0xC0000098L) // // MessageId: STATUS_ALLOTTED_SPACE_EXCEEDED // // MessageText: // // When a block of memory is allotted for future updates, such as the memory allocated to hold discretionary access control and primary group information, successive updates may exceed the amount of memory originally allotted. // Since quota may already have been charged to several processes which have handles to the object, it is not reasonable to alter the size of the allocated memory. // Instead, a request that requires more memory than has been allotted must fail and the STATUS_ALLOTED_SPACE_EXCEEDED error returned. // #define STATUS_ALLOTTED_SPACE_EXCEEDED ((NTSTATUS)0xC0000099L) // // MessageId: STATUS_INSUFFICIENT_RESOURCES // // MessageText: // // Insufficient system resources exist to complete the API. // #define STATUS_INSUFFICIENT_RESOURCES ((NTSTATUS)0xC000009AL) // ntsubauth // // MessageId: STATUS_DFS_EXIT_PATH_FOUND // // MessageText: // // An attempt has been made to open a DFS exit path control file. // #define STATUS_DFS_EXIT_PATH_FOUND ((NTSTATUS)0xC000009BL) // // MessageId: STATUS_DEVICE_DATA_ERROR // // MessageText: // // STATUS_DEVICE_DATA_ERROR // #define STATUS_DEVICE_DATA_ERROR ((NTSTATUS)0xC000009CL) // // MessageId: STATUS_DEVICE_NOT_CONNECTED // // MessageText: // // STATUS_DEVICE_NOT_CONNECTED // #define STATUS_DEVICE_NOT_CONNECTED ((NTSTATUS)0xC000009DL) // // MessageId: STATUS_DEVICE_POWER_FAILURE // // MessageText: // // STATUS_DEVICE_POWER_FAILURE // #define STATUS_DEVICE_POWER_FAILURE ((NTSTATUS)0xC000009EL) // // MessageId: STATUS_FREE_VM_NOT_AT_BASE // // MessageText: // // Virtual memory cannot be freed as base address is not the base of the region and a region size of zero was specified. // #define STATUS_FREE_VM_NOT_AT_BASE ((NTSTATUS)0xC000009FL) // // MessageId: STATUS_MEMORY_NOT_ALLOCATED // // MessageText: // // An attempt was made to free virtual memory which is not allocated. // #define STATUS_MEMORY_NOT_ALLOCATED ((NTSTATUS)0xC00000A0L) // // MessageId: STATUS_WORKING_SET_QUOTA // // MessageText: // // The working set is not big enough to allow the requested pages to be locked. // #define STATUS_WORKING_SET_QUOTA ((NTSTATUS)0xC00000A1L) // // MessageId: STATUS_MEDIA_WRITE_PROTECTED // // MessageText: // // {Write Protect Error} // The disk cannot be written to because it is write protected. // Please remove the write protection from the volume %hs in drive %hs. // #define STATUS_MEDIA_WRITE_PROTECTED ((NTSTATUS)0xC00000A2L) // // MessageId: STATUS_DEVICE_NOT_READY // // MessageText: // // {Drive Not Ready} // The drive is not ready for use; its door may be open. // Please check drive %hs and make sure that a disk is inserted and that the drive door is closed. // #define STATUS_DEVICE_NOT_READY ((NTSTATUS)0xC00000A3L) // // MessageId: STATUS_INVALID_GROUP_ATTRIBUTES // // MessageText: // // The specified attributes are invalid, or incompatible with the attributes for the group as a whole. // #define STATUS_INVALID_GROUP_ATTRIBUTES ((NTSTATUS)0xC00000A4L) // // MessageId: STATUS_BAD_IMPERSONATION_LEVEL // // MessageText: // // A specified impersonation level is invalid. // Also used to indicate a required impersonation level was not provided. // #define STATUS_BAD_IMPERSONATION_LEVEL ((NTSTATUS)0xC00000A5L) // // MessageId: STATUS_CANT_OPEN_ANONYMOUS // // MessageText: // // An attempt was made to open an Anonymous level token. // Anonymous tokens may not be opened. // #define STATUS_CANT_OPEN_ANONYMOUS ((NTSTATUS)0xC00000A6L) // // MessageId: STATUS_BAD_VALIDATION_CLASS // // MessageText: // // The validation information class requested was invalid. // #define STATUS_BAD_VALIDATION_CLASS ((NTSTATUS)0xC00000A7L) // // MessageId: STATUS_BAD_TOKEN_TYPE // // MessageText: // // The type of a token object is inappropriate for its attempted use. // #define STATUS_BAD_TOKEN_TYPE ((NTSTATUS)0xC00000A8L) // // MessageId: STATUS_BAD_MASTER_BOOT_RECORD // // MessageText: // // The type of a token object is inappropriate for its attempted use. // #define STATUS_BAD_MASTER_BOOT_RECORD ((NTSTATUS)0xC00000A9L) // // MessageId: STATUS_INSTRUCTION_MISALIGNMENT // // MessageText: // // An attempt was made to execute an instruction at an unaligned address and the host system does not support unaligned instruction references. // #define STATUS_INSTRUCTION_MISALIGNMENT ((NTSTATUS)0xC00000AAL) // // MessageId: STATUS_INSTANCE_NOT_AVAILABLE // // MessageText: // // The maximum named pipe instance count has been reached. // #define STATUS_INSTANCE_NOT_AVAILABLE ((NTSTATUS)0xC00000ABL) // // MessageId: STATUS_PIPE_NOT_AVAILABLE // // MessageText: // // An instance of a named pipe cannot be found in the listening state. // #define STATUS_PIPE_NOT_AVAILABLE ((NTSTATUS)0xC00000ACL) // // MessageId: STATUS_INVALID_PIPE_STATE // // MessageText: // // The named pipe is not in the connected or closing state. // #define STATUS_INVALID_PIPE_STATE ((NTSTATUS)0xC00000ADL) // // MessageId: STATUS_PIPE_BUSY // // MessageText: // // The specified pipe is set to complete operations and there are current I/O operations queued so it cannot be changed to queue operations. // #define STATUS_PIPE_BUSY ((NTSTATUS)0xC00000AEL) // // MessageId: STATUS_ILLEGAL_FUNCTION // // MessageText: // // The specified handle is not open to the server end of the named pipe. // #define STATUS_ILLEGAL_FUNCTION ((NTSTATUS)0xC00000AFL) // // MessageId: STATUS_PIPE_DISCONNECTED // // MessageText: // // The specified named pipe is in the disconnected state. // #define STATUS_PIPE_DISCONNECTED ((NTSTATUS)0xC00000B0L) // // MessageId: STATUS_PIPE_CLOSING // // MessageText: // // The specified named pipe is in the closing state. // #define STATUS_PIPE_CLOSING ((NTSTATUS)0xC00000B1L) // // MessageId: STATUS_PIPE_CONNECTED // // MessageText: // // The specified named pipe is in the connected state. // #define STATUS_PIPE_CONNECTED ((NTSTATUS)0xC00000B2L) // // MessageId: STATUS_PIPE_LISTENING // // MessageText: // // The specified named pipe is in the listening state. // #define STATUS_PIPE_LISTENING ((NTSTATUS)0xC00000B3L) // // MessageId: STATUS_INVALID_READ_MODE // // MessageText: // // The specified named pipe is not in message mode. // #define STATUS_INVALID_READ_MODE ((NTSTATUS)0xC00000B4L) // // MessageId: STATUS_IO_TIMEOUT // // MessageText: // // {Device Timeout} // The specified I/O operation on %hs was not completed before the time-out period expired. // #define STATUS_IO_TIMEOUT ((NTSTATUS)0xC00000B5L) // // MessageId: STATUS_FILE_FORCED_CLOSED // // MessageText: // // The specified file has been closed by another process. // #define STATUS_FILE_FORCED_CLOSED ((NTSTATUS)0xC00000B6L) // // MessageId: STATUS_PROFILING_NOT_STARTED // // MessageText: // // Profiling not started. // #define STATUS_PROFILING_NOT_STARTED ((NTSTATUS)0xC00000B7L) // // MessageId: STATUS_PROFILING_NOT_STOPPED // // MessageText: // // Profiling not stopped. // #define STATUS_PROFILING_NOT_STOPPED ((NTSTATUS)0xC00000B8L) // // MessageId: STATUS_COULD_NOT_INTERPRET // // MessageText: // // The passed ACL did not contain the minimum required information. // #define STATUS_COULD_NOT_INTERPRET ((NTSTATUS)0xC00000B9L) // // MessageId: STATUS_FILE_IS_A_DIRECTORY // // MessageText: // // The file that was specified as a target is a directory and the caller specified that it could be anything but a directory. // #define STATUS_FILE_IS_A_DIRECTORY ((NTSTATUS)0xC00000BAL) // // Network specific errors. // // // // MessageId: STATUS_NOT_SUPPORTED // // MessageText: // // The request is not supported. // #define STATUS_NOT_SUPPORTED ((NTSTATUS)0xC00000BBL) // // MessageId: STATUS_REMOTE_NOT_LISTENING // // MessageText: // // This remote computer is not listening. // #define STATUS_REMOTE_NOT_LISTENING ((NTSTATUS)0xC00000BCL) // // MessageId: STATUS_DUPLICATE_NAME // // MessageText: // // A duplicate name exists on the network. // #define STATUS_DUPLICATE_NAME ((NTSTATUS)0xC00000BDL) // // MessageId: STATUS_BAD_NETWORK_PATH // // MessageText: // // The network path cannot be located. // #define STATUS_BAD_NETWORK_PATH ((NTSTATUS)0xC00000BEL) // // MessageId: STATUS_NETWORK_BUSY // // MessageText: // // The network is busy. // #define STATUS_NETWORK_BUSY ((NTSTATUS)0xC00000BFL) // // MessageId: STATUS_DEVICE_DOES_NOT_EXIST // // MessageText: // // This device does not exist. // #define STATUS_DEVICE_DOES_NOT_EXIST ((NTSTATUS)0xC00000C0L) // // MessageId: STATUS_TOO_MANY_COMMANDS // // MessageText: // // The network BIOS command limit has been reached. // #define STATUS_TOO_MANY_COMMANDS ((NTSTATUS)0xC00000C1L) // // MessageId: STATUS_ADAPTER_HARDWARE_ERROR // // MessageText: // // An I/O adapter hardware error has occurred. // #define STATUS_ADAPTER_HARDWARE_ERROR ((NTSTATUS)0xC00000C2L) // // MessageId: STATUS_INVALID_NETWORK_RESPONSE // // MessageText: // // The network responded incorrectly. // #define STATUS_INVALID_NETWORK_RESPONSE ((NTSTATUS)0xC00000C3L) // // MessageId: STATUS_UNEXPECTED_NETWORK_ERROR // // MessageText: // // An unexpected network error occurred. // #define STATUS_UNEXPECTED_NETWORK_ERROR ((NTSTATUS)0xC00000C4L) // // MessageId: STATUS_BAD_REMOTE_ADAPTER // // MessageText: // // The remote adapter is not compatible. // #define STATUS_BAD_REMOTE_ADAPTER ((NTSTATUS)0xC00000C5L) // // MessageId: STATUS_PRINT_QUEUE_FULL // // MessageText: // // The printer queue is full. // #define STATUS_PRINT_QUEUE_FULL ((NTSTATUS)0xC00000C6L) // // MessageId: STATUS_NO_SPOOL_SPACE // // MessageText: // // Space to store the file waiting to be printed is not available on the server. // #define STATUS_NO_SPOOL_SPACE ((NTSTATUS)0xC00000C7L) // // MessageId: STATUS_PRINT_CANCELLED // // MessageText: // // The requested print file has been canceled. // #define STATUS_PRINT_CANCELLED ((NTSTATUS)0xC00000C8L) // // MessageId: STATUS_NETWORK_NAME_DELETED // // MessageText: // // The network name was deleted. // #define STATUS_NETWORK_NAME_DELETED ((NTSTATUS)0xC00000C9L) // // MessageId: STATUS_NETWORK_ACCESS_DENIED // // MessageText: // // Network access is denied. // #define STATUS_NETWORK_ACCESS_DENIED ((NTSTATUS)0xC00000CAL) // // MessageId: STATUS_BAD_DEVICE_TYPE // // MessageText: // // {Incorrect Network Resource Type} // The specified device type (LPT, for example) conflicts with the actual device type on the remote resource. // #define STATUS_BAD_DEVICE_TYPE ((NTSTATUS)0xC00000CBL) // // MessageId: STATUS_BAD_NETWORK_NAME // // MessageText: // // {Network Name Not Found} // The specified share name cannot be found on the remote server. // #define STATUS_BAD_NETWORK_NAME ((NTSTATUS)0xC00000CCL) // // MessageId: STATUS_TOO_MANY_NAMES // // MessageText: // // The name limit for the local computer network adapter card was exceeded. // #define STATUS_TOO_MANY_NAMES ((NTSTATUS)0xC00000CDL) // // MessageId: STATUS_TOO_MANY_SESSIONS // // MessageText: // // The network BIOS session limit was exceeded. // #define STATUS_TOO_MANY_SESSIONS ((NTSTATUS)0xC00000CEL) // // MessageId: STATUS_SHARING_PAUSED // // MessageText: // // File sharing has been temporarily paused. // #define STATUS_SHARING_PAUSED ((NTSTATUS)0xC00000CFL) // // MessageId: STATUS_REQUEST_NOT_ACCEPTED // // MessageText: // // No more connections can be made to this remote computer at this time because there are already as many connections as the computer can accept. // #define STATUS_REQUEST_NOT_ACCEPTED ((NTSTATUS)0xC00000D0L) // // MessageId: STATUS_REDIRECTOR_PAUSED // // MessageText: // // Print or disk redirection is temporarily paused. // #define STATUS_REDIRECTOR_PAUSED ((NTSTATUS)0xC00000D1L) // // MessageId: STATUS_NET_WRITE_FAULT // // MessageText: // // A network data fault occurred. // #define STATUS_NET_WRITE_FAULT ((NTSTATUS)0xC00000D2L) // // MessageId: STATUS_PROFILING_AT_LIMIT // // MessageText: // // The number of active profiling objects is at the maximum and no more may be started. // #define STATUS_PROFILING_AT_LIMIT ((NTSTATUS)0xC00000D3L) // // MessageId: STATUS_NOT_SAME_DEVICE // // MessageText: // // {Incorrect Volume} // The target file of a rename request is located on a different device than the source of the rename request. // #define STATUS_NOT_SAME_DEVICE ((NTSTATUS)0xC00000D4L) // // MessageId: STATUS_FILE_RENAMED // // MessageText: // // The file specified has been renamed and thus cannot be modified. // #define STATUS_FILE_RENAMED ((NTSTATUS)0xC00000D5L) // // MessageId: STATUS_VIRTUAL_CIRCUIT_CLOSED // // MessageText: // // {Network Request Timeout} // The session with a remote server has been disconnected because the time-out interval for a request has expired. // #define STATUS_VIRTUAL_CIRCUIT_CLOSED ((NTSTATUS)0xC00000D6L) // // MessageId: STATUS_NO_SECURITY_ON_OBJECT // // MessageText: // // Indicates an attempt was made to operate on the security of an object that does not have security associated with it. // #define STATUS_NO_SECURITY_ON_OBJECT ((NTSTATUS)0xC00000D7L) // // MessageId: STATUS_CANT_WAIT // // MessageText: // // Used to indicate that an operation cannot continue without blocking for I/O. // #define STATUS_CANT_WAIT ((NTSTATUS)0xC00000D8L) // // MessageId: STATUS_PIPE_EMPTY // // MessageText: // // Used to indicate that a read operation was done on an empty pipe. // #define STATUS_PIPE_EMPTY ((NTSTATUS)0xC00000D9L) // // MessageId: STATUS_CANT_ACCESS_DOMAIN_INFO // // MessageText: // // Configuration information could not be read from the domain controller, either because the machine is unavailable, or access has been denied. // #define STATUS_CANT_ACCESS_DOMAIN_INFO ((NTSTATUS)0xC00000DAL) // // MessageId: STATUS_CANT_TERMINATE_SELF // // MessageText: // // Indicates that a thread attempted to terminate itself by default (called NtTerminateThread with NULL) and it was the last thread in the current process. // #define STATUS_CANT_TERMINATE_SELF ((NTSTATUS)0xC00000DBL) // // MessageId: STATUS_INVALID_SERVER_STATE // // MessageText: // // Indicates the Sam Server was in the wrong state to perform the desired operation. // #define STATUS_INVALID_SERVER_STATE ((NTSTATUS)0xC00000DCL) // // MessageId: STATUS_INVALID_DOMAIN_STATE // // MessageText: // // Indicates the Domain was in the wrong state to perform the desired operation. // #define STATUS_INVALID_DOMAIN_STATE ((NTSTATUS)0xC00000DDL) // // MessageId: STATUS_INVALID_DOMAIN_ROLE // // MessageText: // // This operation is only allowed for the Primary Domain Controller of the domain. // #define STATUS_INVALID_DOMAIN_ROLE ((NTSTATUS)0xC00000DEL) // // MessageId: STATUS_NO_SUCH_DOMAIN // // MessageText: // // The specified Domain did not exist. // #define STATUS_NO_SUCH_DOMAIN ((NTSTATUS)0xC00000DFL) // // MessageId: STATUS_DOMAIN_EXISTS // // MessageText: // // The specified Domain already exists. // #define STATUS_DOMAIN_EXISTS ((NTSTATUS)0xC00000E0L) // // MessageId: STATUS_DOMAIN_LIMIT_EXCEEDED // // MessageText: // // An attempt was made to exceed the limit on the number of domains per server for this release. // #define STATUS_DOMAIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00000E1L) // // MessageId: STATUS_OPLOCK_NOT_GRANTED // // MessageText: // // Error status returned when oplock request is denied. // #define STATUS_OPLOCK_NOT_GRANTED ((NTSTATUS)0xC00000E2L) // // MessageId: STATUS_INVALID_OPLOCK_PROTOCOL // // MessageText: // // Error status returned when an invalid oplock acknowledgment is received by a file system. // #define STATUS_INVALID_OPLOCK_PROTOCOL ((NTSTATUS)0xC00000E3L) // // MessageId: STATUS_INTERNAL_DB_CORRUPTION // // MessageText: // // This error indicates that the requested operation cannot be completed due to a catastrophic media failure or on-disk data structure corruption. // #define STATUS_INTERNAL_DB_CORRUPTION ((NTSTATUS)0xC00000E4L) // // MessageId: STATUS_INTERNAL_ERROR // // MessageText: // // An internal error occurred. // #define STATUS_INTERNAL_ERROR ((NTSTATUS)0xC00000E5L) // // MessageId: STATUS_GENERIC_NOT_MAPPED // // MessageText: // // Indicates generic access types were contained in an access mask which should already be mapped to non-generic access types. // #define STATUS_GENERIC_NOT_MAPPED ((NTSTATUS)0xC00000E6L) // // MessageId: STATUS_BAD_DESCRIPTOR_FORMAT // // MessageText: // // Indicates a security descriptor is not in the necessary format (absolute or self-relative). // #define STATUS_BAD_DESCRIPTOR_FORMAT ((NTSTATUS)0xC00000E7L) // // Status codes raised by the Cache Manager which must be considered as // "expected" by its callers. // // // MessageId: STATUS_INVALID_USER_BUFFER // // MessageText: // // An access to a user buffer failed at an "expected" point in time. // This code is defined since the caller does not want to accept STATUS_ACCESS_VIOLATION in its filter. // #define STATUS_INVALID_USER_BUFFER ((NTSTATUS)0xC00000E8L) // // MessageId: STATUS_UNEXPECTED_IO_ERROR // // MessageText: // // If an I/O error is returned which is not defined in the standard FsRtl filter, it is converted to the following error which is guaranteed to be in the filter. // In this case information is lost, however, the filter correctly handles the exception. // #define STATUS_UNEXPECTED_IO_ERROR ((NTSTATUS)0xC00000E9L) // // MessageId: STATUS_UNEXPECTED_MM_CREATE_ERR // // MessageText: // // If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. // In this case information is lost, however, the filter correctly handles the exception. // #define STATUS_UNEXPECTED_MM_CREATE_ERR ((NTSTATUS)0xC00000EAL) // // MessageId: STATUS_UNEXPECTED_MM_MAP_ERROR // // MessageText: // // If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. // In this case information is lost, however, the filter correctly handles the exception. // #define STATUS_UNEXPECTED_MM_MAP_ERROR ((NTSTATUS)0xC00000EBL) // // MessageId: STATUS_UNEXPECTED_MM_EXTEND_ERR // // MessageText: // // If an MM error is returned which is not defined in the standard FsRtl filter, it is converted to one of the following errors which is guaranteed to be in the filter. // In this case information is lost, however, the filter correctly handles the exception. // #define STATUS_UNEXPECTED_MM_EXTEND_ERR ((NTSTATUS)0xC00000ECL) // // MessageId: STATUS_NOT_LOGON_PROCESS // // MessageText: // // The requested action is restricted for use by logon processes only. The calling process has not registered as a logon process. // #define STATUS_NOT_LOGON_PROCESS ((NTSTATUS)0xC00000EDL) // // MessageId: STATUS_LOGON_SESSION_EXISTS // // MessageText: // // An attempt has been made to start a new session manager or LSA logon session with an ID that is already in use. // #define STATUS_LOGON_SESSION_EXISTS ((NTSTATUS)0xC00000EEL) // // MessageId: STATUS_INVALID_PARAMETER_1 // // MessageText: // // An invalid parameter was passed to a service or function as the first argument. // #define STATUS_INVALID_PARAMETER_1 ((NTSTATUS)0xC00000EFL) // // MessageId: STATUS_INVALID_PARAMETER_2 // // MessageText: // // An invalid parameter was passed to a service or function as the second argument. // #define STATUS_INVALID_PARAMETER_2 ((NTSTATUS)0xC00000F0L) // // MessageId: STATUS_INVALID_PARAMETER_3 // // MessageText: // // An invalid parameter was passed to a service or function as the third argument. // #define STATUS_INVALID_PARAMETER_3 ((NTSTATUS)0xC00000F1L) // // MessageId: STATUS_INVALID_PARAMETER_4 // // MessageText: // // An invalid parameter was passed to a service or function as the fourth argument. // #define STATUS_INVALID_PARAMETER_4 ((NTSTATUS)0xC00000F2L) // // MessageId: STATUS_INVALID_PARAMETER_5 // // MessageText: // // An invalid parameter was passed to a service or function as the fifth argument. // #define STATUS_INVALID_PARAMETER_5 ((NTSTATUS)0xC00000F3L) // // MessageId: STATUS_INVALID_PARAMETER_6 // // MessageText: // // An invalid parameter was passed to a service or function as the sixth argument. // #define STATUS_INVALID_PARAMETER_6 ((NTSTATUS)0xC00000F4L) // // MessageId: STATUS_INVALID_PARAMETER_7 // // MessageText: // // An invalid parameter was passed to a service or function as the seventh argument. // #define STATUS_INVALID_PARAMETER_7 ((NTSTATUS)0xC00000F5L) // // MessageId: STATUS_INVALID_PARAMETER_8 // // MessageText: // // An invalid parameter was passed to a service or function as the eighth argument. // #define STATUS_INVALID_PARAMETER_8 ((NTSTATUS)0xC00000F6L) // // MessageId: STATUS_INVALID_PARAMETER_9 // // MessageText: // // An invalid parameter was passed to a service or function as the ninth argument. // #define STATUS_INVALID_PARAMETER_9 ((NTSTATUS)0xC00000F7L) // // MessageId: STATUS_INVALID_PARAMETER_10 // // MessageText: // // An invalid parameter was passed to a service or function as the tenth argument. // #define STATUS_INVALID_PARAMETER_10 ((NTSTATUS)0xC00000F8L) // // MessageId: STATUS_INVALID_PARAMETER_11 // // MessageText: // // An invalid parameter was passed to a service or function as the eleventh argument. // #define STATUS_INVALID_PARAMETER_11 ((NTSTATUS)0xC00000F9L) // // MessageId: STATUS_INVALID_PARAMETER_12 // // MessageText: // // An invalid parameter was passed to a service or function as the twelfth argument. // #define STATUS_INVALID_PARAMETER_12 ((NTSTATUS)0xC00000FAL) // // MessageId: STATUS_REDIRECTOR_NOT_STARTED // // MessageText: // // An attempt was made to access a network file, but the network software was not yet started. // #define STATUS_REDIRECTOR_NOT_STARTED ((NTSTATUS)0xC00000FBL) // // MessageId: STATUS_REDIRECTOR_STARTED // // MessageText: // // An attempt was made to start the redirector, but the redirector has already been started. // #define STATUS_REDIRECTOR_STARTED ((NTSTATUS)0xC00000FCL) // // MessageId: STATUS_STACK_OVERFLOW // // MessageText: // // A new guard page for the stack cannot be created. // #define STATUS_STACK_OVERFLOW ((NTSTATUS)0xC00000FDL) // winnt // // MessageId: STATUS_NO_SUCH_PACKAGE // // MessageText: // // A specified authentication package is unknown. // #define STATUS_NO_SUCH_PACKAGE ((NTSTATUS)0xC00000FEL) // // MessageId: STATUS_BAD_FUNCTION_TABLE // // MessageText: // // A malformed function table was encountered during an unwind operation. // #define STATUS_BAD_FUNCTION_TABLE ((NTSTATUS)0xC00000FFL) // // MessageId: STATUS_VARIABLE_NOT_FOUND // // MessageText: // // Indicates the specified environment variable name was not found in the specified environment block. // #define STATUS_VARIABLE_NOT_FOUND ((NTSTATUS)0xC0000100L) // // MessageId: STATUS_DIRECTORY_NOT_EMPTY // // MessageText: // // Indicates that the directory trying to be deleted is not empty. // #define STATUS_DIRECTORY_NOT_EMPTY ((NTSTATUS)0xC0000101L) // // MessageId: STATUS_FILE_CORRUPT_ERROR // // MessageText: // // {Corrupt File} // The file or directory %hs is corrupt and unreadable. // Please run the Chkdsk utility. // #define STATUS_FILE_CORRUPT_ERROR ((NTSTATUS)0xC0000102L) // // MessageId: STATUS_NOT_A_DIRECTORY // // MessageText: // // A requested opened file is not a directory. // #define STATUS_NOT_A_DIRECTORY ((NTSTATUS)0xC0000103L) // // MessageId: STATUS_BAD_LOGON_SESSION_STATE // // MessageText: // // The logon session is not in a state that is consistent with the requested operation. // #define STATUS_BAD_LOGON_SESSION_STATE ((NTSTATUS)0xC0000104L) // // MessageId: STATUS_LOGON_SESSION_COLLISION // // MessageText: // // An internal LSA error has occurred. An authentication package has requested the creation of a Logon Session but the ID of an already existing Logon Session has been specified. // #define STATUS_LOGON_SESSION_COLLISION ((NTSTATUS)0xC0000105L) // // MessageId: STATUS_NAME_TOO_LONG // // MessageText: // // A specified name string is too long for its intended use. // #define STATUS_NAME_TOO_LONG ((NTSTATUS)0xC0000106L) // // MessageId: STATUS_FILES_OPEN // // MessageText: // // The user attempted to force close the files on a redirected drive, but there were opened files on the drive, and the user did not specify a sufficient level of force. // #define STATUS_FILES_OPEN ((NTSTATUS)0xC0000107L) // // MessageId: STATUS_CONNECTION_IN_USE // // MessageText: // // The user attempted to force close the files on a redirected drive, but there were opened directories on the drive, and the user did not specify a sufficient level of force. // #define STATUS_CONNECTION_IN_USE ((NTSTATUS)0xC0000108L) // // MessageId: STATUS_MESSAGE_NOT_FOUND // // MessageText: // // RtlFindMessage could not locate the requested message ID in the message table resource. // #define STATUS_MESSAGE_NOT_FOUND ((NTSTATUS)0xC0000109L) // // MessageId: STATUS_PROCESS_IS_TERMINATING // // MessageText: // // An attempt was made to duplicate an object handle into or out of an exiting process. // #define STATUS_PROCESS_IS_TERMINATING ((NTSTATUS)0xC000010AL) // // MessageId: STATUS_INVALID_LOGON_TYPE // // MessageText: // // Indicates an invalid value has been provided for the LogonType requested. // #define STATUS_INVALID_LOGON_TYPE ((NTSTATUS)0xC000010BL) // // MessageId: STATUS_NO_GUID_TRANSLATION // // MessageText: // // Indicates that an attempt was made to assign protection to a file system file or directory and one of the SIDs in the security descriptor could not be translated into a GUID that could be stored by the file system. // This causes the protection attempt to fail, which may cause a file creation attempt to fail. // #define STATUS_NO_GUID_TRANSLATION ((NTSTATUS)0xC000010CL) // // MessageId: STATUS_CANNOT_IMPERSONATE // // MessageText: // // Indicates that an attempt has been made to impersonate via a named pipe that has not yet been read from. // #define STATUS_CANNOT_IMPERSONATE ((NTSTATUS)0xC000010DL) // // MessageId: STATUS_IMAGE_ALREADY_LOADED // // MessageText: // // Indicates that the specified image is already loaded. // #define STATUS_IMAGE_ALREADY_LOADED ((NTSTATUS)0xC000010EL) // // ============================================================ // NOTE: The following ABIOS error code should be reserved on // non ABIOS kernel. Eventually, I will remove the ifdef // ABIOS. // ============================================================ // // // MessageId: STATUS_ABIOS_NOT_PRESENT // // MessageText: // // STATUS_ABIOS_NOT_PRESENT // #define STATUS_ABIOS_NOT_PRESENT ((NTSTATUS)0xC000010FL) // // MessageId: STATUS_ABIOS_LID_NOT_EXIST // // MessageText: // // STATUS_ABIOS_LID_NOT_EXIST // #define STATUS_ABIOS_LID_NOT_EXIST ((NTSTATUS)0xC0000110L) // // MessageId: STATUS_ABIOS_LID_ALREADY_OWNED // // MessageText: // // STATUS_ABIOS_LID_ALREADY_OWNED // #define STATUS_ABIOS_LID_ALREADY_OWNED ((NTSTATUS)0xC0000111L) // // MessageId: STATUS_ABIOS_NOT_LID_OWNER // // MessageText: // // STATUS_ABIOS_NOT_LID_OWNER // #define STATUS_ABIOS_NOT_LID_OWNER ((NTSTATUS)0xC0000112L) // // MessageId: STATUS_ABIOS_INVALID_COMMAND // // MessageText: // // STATUS_ABIOS_INVALID_COMMAND // #define STATUS_ABIOS_INVALID_COMMAND ((NTSTATUS)0xC0000113L) // // MessageId: STATUS_ABIOS_INVALID_LID // // MessageText: // // STATUS_ABIOS_INVALID_LID // #define STATUS_ABIOS_INVALID_LID ((NTSTATUS)0xC0000114L) // // MessageId: STATUS_ABIOS_SELECTOR_NOT_AVAILABLE // // MessageText: // // STATUS_ABIOS_SELECTOR_NOT_AVAILABLE // #define STATUS_ABIOS_SELECTOR_NOT_AVAILABLE ((NTSTATUS)0xC0000115L) // // MessageId: STATUS_ABIOS_INVALID_SELECTOR // // MessageText: // // STATUS_ABIOS_INVALID_SELECTOR // #define STATUS_ABIOS_INVALID_SELECTOR ((NTSTATUS)0xC0000116L) // // MessageId: STATUS_NO_LDT // // MessageText: // // Indicates that an attempt was made to change the size of the LDT for a process that has no LDT. // #define STATUS_NO_LDT ((NTSTATUS)0xC0000117L) // // MessageId: STATUS_INVALID_LDT_SIZE // // MessageText: // // Indicates that an attempt was made to grow an LDT by setting its size, or that the size was not an even number of selectors. // #define STATUS_INVALID_LDT_SIZE ((NTSTATUS)0xC0000118L) // // MessageId: STATUS_INVALID_LDT_OFFSET // // MessageText: // // Indicates that the starting value for the LDT information was not an integral multiple of the selector size. // #define STATUS_INVALID_LDT_OFFSET ((NTSTATUS)0xC0000119L) // // MessageId: STATUS_INVALID_LDT_DESCRIPTOR // // MessageText: // // Indicates that the user supplied an invalid descriptor when trying to set up Ldt descriptors. // #define STATUS_INVALID_LDT_DESCRIPTOR ((NTSTATUS)0xC000011AL) // // MessageId: STATUS_INVALID_IMAGE_NE_FORMAT // // MessageText: // // The specified image file did not have the correct format. It appears to be NE format. // #define STATUS_INVALID_IMAGE_NE_FORMAT ((NTSTATUS)0xC000011BL) // // MessageId: STATUS_RXACT_INVALID_STATE // // MessageText: // // Indicates that the transaction state of a registry sub-tree is incompatible with the requested operation. // For example, a request has been made to start a new transaction with one already in progress, // or a request has been made to apply a transaction when one is not currently in progress. // #define STATUS_RXACT_INVALID_STATE ((NTSTATUS)0xC000011CL) // // MessageId: STATUS_RXACT_COMMIT_FAILURE // // MessageText: // // Indicates an error has occurred during a registry transaction commit. // The database has been left in an unknown, but probably inconsistent, state. // The state of the registry transaction is left as COMMITTING. // #define STATUS_RXACT_COMMIT_FAILURE ((NTSTATUS)0xC000011DL) // // MessageId: STATUS_MAPPED_FILE_SIZE_ZERO // // MessageText: // // An attempt was made to map a file of size zero with the maximum size specified as zero. // #define STATUS_MAPPED_FILE_SIZE_ZERO ((NTSTATUS)0xC000011EL) // // MessageId: STATUS_TOO_MANY_OPENED_FILES // // MessageText: // // Too many files are opened on a remote server. // This error should only be returned by the Windows redirector on a remote drive. // #define STATUS_TOO_MANY_OPENED_FILES ((NTSTATUS)0xC000011FL) // // MessageId: STATUS_CANCELLED // // MessageText: // // The I/O request was canceled. // #define STATUS_CANCELLED ((NTSTATUS)0xC0000120L) // // MessageId: STATUS_CANNOT_DELETE // // MessageText: // // An attempt has been made to remove a file or directory that cannot be deleted. // #define STATUS_CANNOT_DELETE ((NTSTATUS)0xC0000121L) // // MessageId: STATUS_INVALID_COMPUTER_NAME // // MessageText: // // Indicates a name specified as a remote computer name is syntactically invalid. // #define STATUS_INVALID_COMPUTER_NAME ((NTSTATUS)0xC0000122L) // // MessageId: STATUS_FILE_DELETED // // MessageText: // // An I/O request other than close was performed on a file after it has been deleted, // which can only happen to a request which did not complete before the last handle was closed via NtClose. // #define STATUS_FILE_DELETED ((NTSTATUS)0xC0000123L) // // MessageId: STATUS_SPECIAL_ACCOUNT // // MessageText: // // Indicates an operation has been attempted on a built-in (special) SAM account which is incompatible with built-in accounts. // For example, built-in accounts cannot be deleted. // #define STATUS_SPECIAL_ACCOUNT ((NTSTATUS)0xC0000124L) // // MessageId: STATUS_SPECIAL_GROUP // // MessageText: // // The operation requested may not be performed on the specified group because it is a built-in special group. // #define STATUS_SPECIAL_GROUP ((NTSTATUS)0xC0000125L) // // MessageId: STATUS_SPECIAL_USER // // MessageText: // // The operation requested may not be performed on the specified user because it is a built-in special user. // #define STATUS_SPECIAL_USER ((NTSTATUS)0xC0000126L) // // MessageId: STATUS_MEMBERS_PRIMARY_GROUP // // MessageText: // // Indicates a member cannot be removed from a group because the group is currently the member's primary group. // #define STATUS_MEMBERS_PRIMARY_GROUP ((NTSTATUS)0xC0000127L) // // MessageId: STATUS_FILE_CLOSED // // MessageText: // // An I/O request other than close and several other special case operations was attempted using a file object that had already been closed. // #define STATUS_FILE_CLOSED ((NTSTATUS)0xC0000128L) // // MessageId: STATUS_TOO_MANY_THREADS // // MessageText: // // Indicates a process has too many threads to perform the requested action. For example, assignment of a primary token may only be performed when a process has zero or one threads. // #define STATUS_TOO_MANY_THREADS ((NTSTATUS)0xC0000129L) // // MessageId: STATUS_THREAD_NOT_IN_PROCESS // // MessageText: // // An attempt was made to operate on a thread within a specific process, but the thread specified is not in the process specified. // #define STATUS_THREAD_NOT_IN_PROCESS ((NTSTATUS)0xC000012AL) // // MessageId: STATUS_TOKEN_ALREADY_IN_USE // // MessageText: // // An attempt was made to establish a token for use as a primary token but the token is already in use. A token can only be the primary token of one process at a time. // #define STATUS_TOKEN_ALREADY_IN_USE ((NTSTATUS)0xC000012BL) // // MessageId: STATUS_PAGEFILE_QUOTA_EXCEEDED // // MessageText: // // Page file quota was exceeded. // #define STATUS_PAGEFILE_QUOTA_EXCEEDED ((NTSTATUS)0xC000012CL) // // MessageId: STATUS_COMMITMENT_LIMIT // // MessageText: // // {Out of Virtual Memory} // Your system is low on virtual memory. To ensure that Windows runs properly, increase the size of your virtual memory paging file. For more information, see Help. // #define STATUS_COMMITMENT_LIMIT ((NTSTATUS)0xC000012DL) // // MessageId: STATUS_INVALID_IMAGE_LE_FORMAT // // MessageText: // // The specified image file did not have the correct format, it appears to be LE format. // #define STATUS_INVALID_IMAGE_LE_FORMAT ((NTSTATUS)0xC000012EL) // // MessageId: STATUS_INVALID_IMAGE_NOT_MZ // // MessageText: // // The specified image file did not have the correct format, it did not have an initial MZ. // #define STATUS_INVALID_IMAGE_NOT_MZ ((NTSTATUS)0xC000012FL) // // MessageId: STATUS_INVALID_IMAGE_PROTECT // // MessageText: // // The specified image file did not have the correct format, it did not have a proper e_lfarlc in the MZ header. // #define STATUS_INVALID_IMAGE_PROTECT ((NTSTATUS)0xC0000130L) // // MessageId: STATUS_INVALID_IMAGE_WIN_16 // // MessageText: // // The specified image file did not have the correct format, it appears to be a 16-bit Windows image. // #define STATUS_INVALID_IMAGE_WIN_16 ((NTSTATUS)0xC0000131L) // // MessageId: STATUS_LOGON_SERVER_CONFLICT // // MessageText: // // The Netlogon service cannot start because another Netlogon service running in the domain conflicts with the specified role. // #define STATUS_LOGON_SERVER_CONFLICT ((NTSTATUS)0xC0000132L) // // MessageId: STATUS_TIME_DIFFERENCE_AT_DC // // MessageText: // // The time at the Primary Domain Controller is different than the time at the Backup Domain Controller or member server by too large an amount. // #define STATUS_TIME_DIFFERENCE_AT_DC ((NTSTATUS)0xC0000133L) // // MessageId: STATUS_SYNCHRONIZATION_REQUIRED // // MessageText: // // The SAM database on a Windows Server is significantly out of synchronization with the copy on the Domain Controller. A complete synchronization is required. // #define STATUS_SYNCHRONIZATION_REQUIRED ((NTSTATUS)0xC0000134L) // // MessageId: STATUS_DLL_NOT_FOUND // // MessageText: // // {Unable To Locate Component} // This application has failed to start because %hs was not found. Re-installing the application may fix this problem. // #define STATUS_DLL_NOT_FOUND ((NTSTATUS)0xC0000135L) // // MessageId: STATUS_OPEN_FAILED // // MessageText: // // The NtCreateFile API failed. This error should never be returned to an application, it is a place holder for the Windows Lan Manager Redirector to use in its internal error mapping routines. // #define STATUS_OPEN_FAILED ((NTSTATUS)0xC0000136L) // // MessageId: STATUS_IO_PRIVILEGE_FAILED // // MessageText: // // {Privilege Failed} // The I/O permissions for the process could not be changed. // #define STATUS_IO_PRIVILEGE_FAILED ((NTSTATUS)0xC0000137L) // // MessageId: STATUS_ORDINAL_NOT_FOUND // // MessageText: // // {Ordinal Not Found} // The ordinal %ld could not be located in the dynamic link library %hs. // #define STATUS_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000138L) // // MessageId: STATUS_ENTRYPOINT_NOT_FOUND // // MessageText: // // {Entry Point Not Found} // The procedure entry point %hs could not be located in the dynamic link library %hs. // #define STATUS_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000139L) // // MessageId: STATUS_CONTROL_C_EXIT // // MessageText: // // {Application Exit by CTRL+C} // The application terminated as a result of a CTRL+C. // #define STATUS_CONTROL_C_EXIT ((NTSTATUS)0xC000013AL) // winnt // // MessageId: STATUS_LOCAL_DISCONNECT // // MessageText: // // {Virtual Circuit Closed} // The network transport on your computer has closed a network connection. There may or may not be I/O requests outstanding. // #define STATUS_LOCAL_DISCONNECT ((NTSTATUS)0xC000013BL) // // MessageId: STATUS_REMOTE_DISCONNECT // // MessageText: // // {Virtual Circuit Closed} // The network transport on a remote computer has closed a network connection. There may or may not be I/O requests outstanding. // #define STATUS_REMOTE_DISCONNECT ((NTSTATUS)0xC000013CL) // // MessageId: STATUS_REMOTE_RESOURCES // // MessageText: // // {Insufficient Resources on Remote Computer} // The remote computer has insufficient resources to complete the network request. For instance, there may not be enough memory available on the remote computer to carry out the request at this time. // #define STATUS_REMOTE_RESOURCES ((NTSTATUS)0xC000013DL) // // MessageId: STATUS_LINK_FAILED // // MessageText: // // {Virtual Circuit Closed} // An existing connection (virtual circuit) has been broken at the remote computer. There is probably something wrong with the network software protocol or the network hardware on the remote computer. // #define STATUS_LINK_FAILED ((NTSTATUS)0xC000013EL) // // MessageId: STATUS_LINK_TIMEOUT // // MessageText: // // {Virtual Circuit Closed} // The network transport on your computer has closed a network connection because it had to wait too long for a response from the remote computer. // #define STATUS_LINK_TIMEOUT ((NTSTATUS)0xC000013FL) // // MessageId: STATUS_INVALID_CONNECTION // // MessageText: // // The connection handle given to the transport was invalid. // #define STATUS_INVALID_CONNECTION ((NTSTATUS)0xC0000140L) // // MessageId: STATUS_INVALID_ADDRESS // // MessageText: // // The address handle given to the transport was invalid. // #define STATUS_INVALID_ADDRESS ((NTSTATUS)0xC0000141L) // // MessageId: STATUS_DLL_INIT_FAILED // // MessageText: // // {DLL Initialization Failed} // Initialization of the dynamic link library %hs failed. The process is terminating abnormally. // #define STATUS_DLL_INIT_FAILED ((NTSTATUS)0xC0000142L) // // MessageId: STATUS_MISSING_SYSTEMFILE // // MessageText: // // {Missing System File} // The required system file %hs is bad or missing. // #define STATUS_MISSING_SYSTEMFILE ((NTSTATUS)0xC0000143L) // // MessageId: STATUS_UNHANDLED_EXCEPTION // // MessageText: // // {Application Error} // The exception %s (0x%08lx) occurred in the application at location 0x%08lx. // #define STATUS_UNHANDLED_EXCEPTION ((NTSTATUS)0xC0000144L) // // MessageId: STATUS_APP_INIT_FAILURE // // MessageText: // // {Application Error} // The application failed to initialize properly (0x%lx). Click on OK to terminate the application. // #define STATUS_APP_INIT_FAILURE ((NTSTATUS)0xC0000145L) // // MessageId: STATUS_PAGEFILE_CREATE_FAILED // // MessageText: // // {Unable to Create Paging File} // The creation of the paging file %hs failed (%lx). The requested size was %ld. // #define STATUS_PAGEFILE_CREATE_FAILED ((NTSTATUS)0xC0000146L) // // MessageId: STATUS_NO_PAGEFILE // // MessageText: // // {No Paging File Specified} // No paging file was specified in the system configuration. // #define STATUS_NO_PAGEFILE ((NTSTATUS)0xC0000147L) // // MessageId: STATUS_INVALID_LEVEL // // MessageText: // // {Incorrect System Call Level} // An invalid level was passed into the specified system call. // #define STATUS_INVALID_LEVEL ((NTSTATUS)0xC0000148L) // // MessageId: STATUS_WRONG_PASSWORD_CORE // // MessageText: // // {Incorrect Password to LAN Manager Server} // You specified an incorrect password to a LAN Manager 2.x or MS-NET server. // #define STATUS_WRONG_PASSWORD_CORE ((NTSTATUS)0xC0000149L) // // MessageId: STATUS_ILLEGAL_FLOAT_CONTEXT // // MessageText: // // {EXCEPTION} // A real-mode application issued a floating-point instruction and floating-point hardware is not present. // #define STATUS_ILLEGAL_FLOAT_CONTEXT ((NTSTATUS)0xC000014AL) // // MessageId: STATUS_PIPE_BROKEN // // MessageText: // // The pipe operation has failed because the other end of the pipe has been closed. // #define STATUS_PIPE_BROKEN ((NTSTATUS)0xC000014BL) // // MessageId: STATUS_REGISTRY_CORRUPT // // MessageText: // // {The Registry Is Corrupt} // The structure of one of the files that contains Registry data is corrupt, or the image of the file in memory is corrupt, or the file could not be recovered because the alternate copy or log was absent or corrupt. // #define STATUS_REGISTRY_CORRUPT ((NTSTATUS)0xC000014CL) // // MessageId: STATUS_REGISTRY_IO_FAILED // // MessageText: // // An I/O operation initiated by the Registry failed unrecoverably. // The Registry could not read in, or write out, or flush, one of the files that contain the system's image of the Registry. // #define STATUS_REGISTRY_IO_FAILED ((NTSTATUS)0xC000014DL) // // MessageId: STATUS_NO_EVENT_PAIR // // MessageText: // // An event pair synchronization operation was performed using the thread specific client/server event pair object, but no event pair object was associated with the thread. // #define STATUS_NO_EVENT_PAIR ((NTSTATUS)0xC000014EL) // // MessageId: STATUS_UNRECOGNIZED_VOLUME // // MessageText: // // The volume does not contain a recognized file system. // Please make sure that all required file system drivers are loaded and that the volume is not corrupt. // #define STATUS_UNRECOGNIZED_VOLUME ((NTSTATUS)0xC000014FL) // // MessageId: STATUS_SERIAL_NO_DEVICE_INITED // // MessageText: // // No serial device was successfully initialized. The serial driver will unload. // #define STATUS_SERIAL_NO_DEVICE_INITED ((NTSTATUS)0xC0000150L) // // MessageId: STATUS_NO_SUCH_ALIAS // // MessageText: // // The specified local group does not exist. // #define STATUS_NO_SUCH_ALIAS ((NTSTATUS)0xC0000151L) // // MessageId: STATUS_MEMBER_NOT_IN_ALIAS // // MessageText: // // The specified account name is not a member of the local group. // #define STATUS_MEMBER_NOT_IN_ALIAS ((NTSTATUS)0xC0000152L) // // MessageId: STATUS_MEMBER_IN_ALIAS // // MessageText: // // The specified account name is already a member of the local group. // #define STATUS_MEMBER_IN_ALIAS ((NTSTATUS)0xC0000153L) // // MessageId: STATUS_ALIAS_EXISTS // // MessageText: // // The specified local group already exists. // #define STATUS_ALIAS_EXISTS ((NTSTATUS)0xC0000154L) // // MessageId: STATUS_LOGON_NOT_GRANTED // // MessageText: // // A requested type of logon (e.g., Interactive, Network, Service) is not granted by the target system's local security policy. // Please ask the system administrator to grant the necessary form of logon. // #define STATUS_LOGON_NOT_GRANTED ((NTSTATUS)0xC0000155L) // // MessageId: STATUS_TOO_MANY_SECRETS // // MessageText: // // The maximum number of secrets that may be stored in a single system has been exceeded. The length and number of secrets is limited to satisfy United States State Department export restrictions. // #define STATUS_TOO_MANY_SECRETS ((NTSTATUS)0xC0000156L) // // MessageId: STATUS_SECRET_TOO_LONG // // MessageText: // // The length of a secret exceeds the maximum length allowed. The length and number of secrets is limited to satisfy United States State Department export restrictions. // #define STATUS_SECRET_TOO_LONG ((NTSTATUS)0xC0000157L) // // MessageId: STATUS_INTERNAL_DB_ERROR // // MessageText: // // The Local Security Authority (LSA) database contains an internal inconsistency. // #define STATUS_INTERNAL_DB_ERROR ((NTSTATUS)0xC0000158L) // // MessageId: STATUS_FULLSCREEN_MODE // // MessageText: // // The requested operation cannot be performed in fullscreen mode. // #define STATUS_FULLSCREEN_MODE ((NTSTATUS)0xC0000159L) // // MessageId: STATUS_TOO_MANY_CONTEXT_IDS // // MessageText: // // During a logon attempt, the user's security context accumulated too many security IDs. This is a very unusual situation. // Remove the user from some global or local groups to reduce the number of security ids to incorporate into the security context. // #define STATUS_TOO_MANY_CONTEXT_IDS ((NTSTATUS)0xC000015AL) // // MessageId: STATUS_LOGON_TYPE_NOT_GRANTED // // MessageText: // // A user has requested a type of logon (e.g., interactive or network) that has not been granted. An administrator has control over who may logon interactively and through the network. // #define STATUS_LOGON_TYPE_NOT_GRANTED ((NTSTATUS)0xC000015BL) // // MessageId: STATUS_NOT_REGISTRY_FILE // // MessageText: // // The system has attempted to load or restore a file into the registry, and the specified file is not in the format of a registry file. // #define STATUS_NOT_REGISTRY_FILE ((NTSTATUS)0xC000015CL) // // MessageId: STATUS_NT_CROSS_ENCRYPTION_REQUIRED // // MessageText: // // An attempt was made to change a user password in the security account manager without providing the necessary Windows cross-encrypted password. // #define STATUS_NT_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000015DL) // // MessageId: STATUS_DOMAIN_CTRLR_CONFIG_ERROR // // MessageText: // // A Windows Server has an incorrect configuration. // #define STATUS_DOMAIN_CTRLR_CONFIG_ERROR ((NTSTATUS)0xC000015EL) // // MessageId: STATUS_FT_MISSING_MEMBER // // MessageText: // // An attempt was made to explicitly access the secondary copy of information via a device control to the Fault Tolerance driver and the secondary copy is not present in the system. // #define STATUS_FT_MISSING_MEMBER ((NTSTATUS)0xC000015FL) // // MessageId: STATUS_ILL_FORMED_SERVICE_ENTRY // // MessageText: // // A configuration registry node representing a driver service entry was ill-formed and did not contain required value entries. // #define STATUS_ILL_FORMED_SERVICE_ENTRY ((NTSTATUS)0xC0000160L) // // MessageId: STATUS_ILLEGAL_CHARACTER // // MessageText: // // An illegal character was encountered. For a multi-byte character set this includes a lead byte without a succeeding trail byte. For the Unicode character set this includes the characters 0xFFFF and 0xFFFE. // #define STATUS_ILLEGAL_CHARACTER ((NTSTATUS)0xC0000161L) // // MessageId: STATUS_UNMAPPABLE_CHARACTER // // MessageText: // // No mapping for the Unicode character exists in the target multi-byte code page. // #define STATUS_UNMAPPABLE_CHARACTER ((NTSTATUS)0xC0000162L) // // MessageId: STATUS_UNDEFINED_CHARACTER // // MessageText: // // The Unicode character is not defined in the Unicode character set installed on the system. // #define STATUS_UNDEFINED_CHARACTER ((NTSTATUS)0xC0000163L) // // MessageId: STATUS_FLOPPY_VOLUME // // MessageText: // // The paging file cannot be created on a floppy diskette. // #define STATUS_FLOPPY_VOLUME ((NTSTATUS)0xC0000164L) // // MessageId: STATUS_FLOPPY_ID_MARK_NOT_FOUND // // MessageText: // // {Floppy Disk Error} // While accessing a floppy disk, an ID address mark was not found. // #define STATUS_FLOPPY_ID_MARK_NOT_FOUND ((NTSTATUS)0xC0000165L) // // MessageId: STATUS_FLOPPY_WRONG_CYLINDER // // MessageText: // // {Floppy Disk Error} // While accessing a floppy disk, the track address from the sector ID field was found to be different than the track address maintained by the controller. // #define STATUS_FLOPPY_WRONG_CYLINDER ((NTSTATUS)0xC0000166L) // // MessageId: STATUS_FLOPPY_UNKNOWN_ERROR // // MessageText: // // {Floppy Disk Error} // The floppy disk controller reported an error that is not recognized by the floppy disk driver. // #define STATUS_FLOPPY_UNKNOWN_ERROR ((NTSTATUS)0xC0000167L) // // MessageId: STATUS_FLOPPY_BAD_REGISTERS // // MessageText: // // {Floppy Disk Error} // While accessing a floppy-disk, the controller returned inconsistent results via its registers. // #define STATUS_FLOPPY_BAD_REGISTERS ((NTSTATUS)0xC0000168L) // // MessageId: STATUS_DISK_RECALIBRATE_FAILED // // MessageText: // // {Hard Disk Error} // While accessing the hard disk, a recalibrate operation failed, even after retries. // #define STATUS_DISK_RECALIBRATE_FAILED ((NTSTATUS)0xC0000169L) // // MessageId: STATUS_DISK_OPERATION_FAILED // // MessageText: // // {Hard Disk Error} // While accessing the hard disk, a disk operation failed even after retries. // #define STATUS_DISK_OPERATION_FAILED ((NTSTATUS)0xC000016AL) // // MessageId: STATUS_DISK_RESET_FAILED // // MessageText: // // {Hard Disk Error} // While accessing the hard disk, a disk controller reset was needed, but even that failed. // #define STATUS_DISK_RESET_FAILED ((NTSTATUS)0xC000016BL) // // MessageId: STATUS_SHARED_IRQ_BUSY // // MessageText: // // An attempt was made to open a device that was sharing an IRQ with other devices. // At least one other device that uses that IRQ was already opened. // Two concurrent opens of devices that share an IRQ and only work via interrupts is not supported for the particular bus type that the devices use. // #define STATUS_SHARED_IRQ_BUSY ((NTSTATUS)0xC000016CL) // // MessageId: STATUS_FT_ORPHANING // // MessageText: // // {FT Orphaning} // A disk that is part of a fault-tolerant volume can no longer be accessed. // #define STATUS_FT_ORPHANING ((NTSTATUS)0xC000016DL) // // MessageId: STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT // // MessageText: // // The system bios failed to connect a system interrupt to the device or bus for // which the device is connected. // #define STATUS_BIOS_FAILED_TO_CONNECT_INTERRUPT ((NTSTATUS)0xC000016EL) // // MessageId: STATUS_PARTITION_FAILURE // // MessageText: // // Tape could not be partitioned. // #define STATUS_PARTITION_FAILURE ((NTSTATUS)0xC0000172L) // // MessageId: STATUS_INVALID_BLOCK_LENGTH // // MessageText: // // When accessing a new tape of a multivolume partition, the current blocksize is incorrect. // #define STATUS_INVALID_BLOCK_LENGTH ((NTSTATUS)0xC0000173L) // // MessageId: STATUS_DEVICE_NOT_PARTITIONED // // MessageText: // // Tape partition information could not be found when loading a tape. // #define STATUS_DEVICE_NOT_PARTITIONED ((NTSTATUS)0xC0000174L) // // MessageId: STATUS_UNABLE_TO_LOCK_MEDIA // // MessageText: // // Attempt to lock the eject media mechanism fails. // #define STATUS_UNABLE_TO_LOCK_MEDIA ((NTSTATUS)0xC0000175L) // // MessageId: STATUS_UNABLE_TO_UNLOAD_MEDIA // // MessageText: // // Unload media fails. // #define STATUS_UNABLE_TO_UNLOAD_MEDIA ((NTSTATUS)0xC0000176L) // // MessageId: STATUS_EOM_OVERFLOW // // MessageText: // // Physical end of tape was detected. // #define STATUS_EOM_OVERFLOW ((NTSTATUS)0xC0000177L) // // MessageId: STATUS_NO_MEDIA // // MessageText: // // {No Media} // There is no media in the drive. // Please insert media into drive %hs. // #define STATUS_NO_MEDIA ((NTSTATUS)0xC0000178L) // // MessageId: STATUS_NO_SUCH_MEMBER // // MessageText: // // A member could not be added to or removed from the local group because the member does not exist. // #define STATUS_NO_SUCH_MEMBER ((NTSTATUS)0xC000017AL) // // MessageId: STATUS_INVALID_MEMBER // // MessageText: // // A new member could not be added to a local group because the member has the wrong account type. // #define STATUS_INVALID_MEMBER ((NTSTATUS)0xC000017BL) // // MessageId: STATUS_KEY_DELETED // // MessageText: // // Illegal operation attempted on a registry key which has been marked for deletion. // #define STATUS_KEY_DELETED ((NTSTATUS)0xC000017CL) // // MessageId: STATUS_NO_LOG_SPACE // // MessageText: // // System could not allocate required space in a registry log. // #define STATUS_NO_LOG_SPACE ((NTSTATUS)0xC000017DL) // // MessageId: STATUS_TOO_MANY_SIDS // // MessageText: // // Too many Sids have been specified. // #define STATUS_TOO_MANY_SIDS ((NTSTATUS)0xC000017EL) // // MessageId: STATUS_LM_CROSS_ENCRYPTION_REQUIRED // // MessageText: // // An attempt was made to change a user password in the security account manager without providing the necessary LM cross-encrypted password. // #define STATUS_LM_CROSS_ENCRYPTION_REQUIRED ((NTSTATUS)0xC000017FL) // // MessageId: STATUS_KEY_HAS_CHILDREN // // MessageText: // // An attempt was made to create a symbolic link in a registry key that already has subkeys or values. // #define STATUS_KEY_HAS_CHILDREN ((NTSTATUS)0xC0000180L) // // MessageId: STATUS_CHILD_MUST_BE_VOLATILE // // MessageText: // // An attempt was made to create a Stable subkey under a Volatile parent key. // #define STATUS_CHILD_MUST_BE_VOLATILE ((NTSTATUS)0xC0000181L) // // MessageId: STATUS_DEVICE_CONFIGURATION_ERROR // // MessageText: // // The I/O device is configured incorrectly or the configuration parameters to the driver are incorrect. // #define STATUS_DEVICE_CONFIGURATION_ERROR ((NTSTATUS)0xC0000182L) // // MessageId: STATUS_DRIVER_INTERNAL_ERROR // // MessageText: // // An error was detected between two drivers or within an I/O driver. // #define STATUS_DRIVER_INTERNAL_ERROR ((NTSTATUS)0xC0000183L) // // MessageId: STATUS_INVALID_DEVICE_STATE // // MessageText: // // The device is not in a valid state to perform this request. // #define STATUS_INVALID_DEVICE_STATE ((NTSTATUS)0xC0000184L) // // MessageId: STATUS_IO_DEVICE_ERROR // // MessageText: // // The I/O device reported an I/O error. // #define STATUS_IO_DEVICE_ERROR ((NTSTATUS)0xC0000185L) // // MessageId: STATUS_DEVICE_PROTOCOL_ERROR // // MessageText: // // A protocol error was detected between the driver and the device. // #define STATUS_DEVICE_PROTOCOL_ERROR ((NTSTATUS)0xC0000186L) // // MessageId: STATUS_BACKUP_CONTROLLER // // MessageText: // // This operation is only allowed for the Primary Domain Controller of the domain. // #define STATUS_BACKUP_CONTROLLER ((NTSTATUS)0xC0000187L) // // MessageId: STATUS_LOG_FILE_FULL // // MessageText: // // Log file space is insufficient to support this operation. // #define STATUS_LOG_FILE_FULL ((NTSTATUS)0xC0000188L) // // MessageId: STATUS_TOO_LATE // // MessageText: // // A write operation was attempted to a volume after it was dismounted. // #define STATUS_TOO_LATE ((NTSTATUS)0xC0000189L) // // MessageId: STATUS_NO_TRUST_LSA_SECRET // // MessageText: // // The workstation does not have a trust secret for the primary domain in the local LSA database. // #define STATUS_NO_TRUST_LSA_SECRET ((NTSTATUS)0xC000018AL) // // MessageId: STATUS_NO_TRUST_SAM_ACCOUNT // // MessageText: // // The SAM database on the Windows Server does not have a computer account for this workstation trust relationship. // #define STATUS_NO_TRUST_SAM_ACCOUNT ((NTSTATUS)0xC000018BL) // // MessageId: STATUS_TRUSTED_DOMAIN_FAILURE // // MessageText: // // The logon request failed because the trust relationship between the primary domain and the trusted domain failed. // #define STATUS_TRUSTED_DOMAIN_FAILURE ((NTSTATUS)0xC000018CL) // // MessageId: STATUS_TRUSTED_RELATIONSHIP_FAILURE // // MessageText: // // The logon request failed because the trust relationship between this workstation and the primary domain failed. // #define STATUS_TRUSTED_RELATIONSHIP_FAILURE ((NTSTATUS)0xC000018DL) // // MessageId: STATUS_EVENTLOG_FILE_CORRUPT // // MessageText: // // The Eventlog log file is corrupt. // #define STATUS_EVENTLOG_FILE_CORRUPT ((NTSTATUS)0xC000018EL) // // MessageId: STATUS_EVENTLOG_CANT_START // // MessageText: // // No Eventlog log file could be opened. The Eventlog service did not start. // #define STATUS_EVENTLOG_CANT_START ((NTSTATUS)0xC000018FL) // // MessageId: STATUS_TRUST_FAILURE // // MessageText: // // The network logon failed. This may be because the validation authority can't be reached. // #define STATUS_TRUST_FAILURE ((NTSTATUS)0xC0000190L) // // MessageId: STATUS_MUTANT_LIMIT_EXCEEDED // // MessageText: // // An attempt was made to acquire a mutant such that its maximum count would have been exceeded. // #define STATUS_MUTANT_LIMIT_EXCEEDED ((NTSTATUS)0xC0000191L) // // MessageId: STATUS_NETLOGON_NOT_STARTED // // MessageText: // // An attempt was made to logon, but the netlogon service was not started. // #define STATUS_NETLOGON_NOT_STARTED ((NTSTATUS)0xC0000192L) // // MessageId: STATUS_ACCOUNT_EXPIRED // // MessageText: // // The user's account has expired. // #define STATUS_ACCOUNT_EXPIRED ((NTSTATUS)0xC0000193L) // ntsubauth // // MessageId: STATUS_POSSIBLE_DEADLOCK // // MessageText: // // {EXCEPTION} // Possible deadlock condition. // #define STATUS_POSSIBLE_DEADLOCK ((NTSTATUS)0xC0000194L) // // MessageId: STATUS_NETWORK_CREDENTIAL_CONFLICT // // MessageText: // // Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again. // #define STATUS_NETWORK_CREDENTIAL_CONFLICT ((NTSTATUS)0xC0000195L) // // MessageId: STATUS_REMOTE_SESSION_LIMIT // // MessageText: // // An attempt was made to establish a session to a network server, but there are already too many sessions established to that server. // #define STATUS_REMOTE_SESSION_LIMIT ((NTSTATUS)0xC0000196L) // // MessageId: STATUS_EVENTLOG_FILE_CHANGED // // MessageText: // // The log file has changed between reads. // #define STATUS_EVENTLOG_FILE_CHANGED ((NTSTATUS)0xC0000197L) // // MessageId: STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT // // MessageText: // // The account used is an Interdomain Trust account. Use your global user account or local user account to access this server. // #define STATUS_NOLOGON_INTERDOMAIN_TRUST_ACCOUNT ((NTSTATUS)0xC0000198L) // // MessageId: STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT // // MessageText: // // The account used is a Computer Account. Use your global user account or local user account to access this server. // #define STATUS_NOLOGON_WORKSTATION_TRUST_ACCOUNT ((NTSTATUS)0xC0000199L) // // MessageId: STATUS_NOLOGON_SERVER_TRUST_ACCOUNT // // MessageText: // // The account used is an Server Trust account. Use your global user account or local user account to access this server. // #define STATUS_NOLOGON_SERVER_TRUST_ACCOUNT ((NTSTATUS)0xC000019AL) // // MessageId: STATUS_DOMAIN_TRUST_INCONSISTENT // // MessageText: // // The name or SID of the domain specified is inconsistent with the trust information for that domain. // #define STATUS_DOMAIN_TRUST_INCONSISTENT ((NTSTATUS)0xC000019BL) // // MessageId: STATUS_FS_DRIVER_REQUIRED // // MessageText: // // A volume has been accessed for which a file system driver is required that has not yet been loaded. // #define STATUS_FS_DRIVER_REQUIRED ((NTSTATUS)0xC000019CL) // // MessageId: STATUS_NO_USER_SESSION_KEY // // MessageText: // // There is no user session key for the specified logon session. // #define STATUS_NO_USER_SESSION_KEY ((NTSTATUS)0xC0000202L) // // MessageId: STATUS_USER_SESSION_DELETED // // MessageText: // // The remote user session has been deleted. // #define STATUS_USER_SESSION_DELETED ((NTSTATUS)0xC0000203L) // // MessageId: STATUS_RESOURCE_LANG_NOT_FOUND // // MessageText: // // Indicates the specified resource language ID cannot be found in the // image file. // #define STATUS_RESOURCE_LANG_NOT_FOUND ((NTSTATUS)0xC0000204L) // // MessageId: STATUS_INSUFF_SERVER_RESOURCES // // MessageText: // // Insufficient server resources exist to complete the request. // #define STATUS_INSUFF_SERVER_RESOURCES ((NTSTATUS)0xC0000205L) // // MessageId: STATUS_INVALID_BUFFER_SIZE // // MessageText: // // The size of the buffer is invalid for the specified operation. // #define STATUS_INVALID_BUFFER_SIZE ((NTSTATUS)0xC0000206L) // // MessageId: STATUS_INVALID_ADDRESS_COMPONENT // // MessageText: // // The transport rejected the network address specified as invalid. // #define STATUS_INVALID_ADDRESS_COMPONENT ((NTSTATUS)0xC0000207L) // // MessageId: STATUS_INVALID_ADDRESS_WILDCARD // // MessageText: // // The transport rejected the network address specified due to an invalid use of a wildcard. // #define STATUS_INVALID_ADDRESS_WILDCARD ((NTSTATUS)0xC0000208L) // // MessageId: STATUS_TOO_MANY_ADDRESSES // // MessageText: // // The transport address could not be opened because all the available addresses are in use. // #define STATUS_TOO_MANY_ADDRESSES ((NTSTATUS)0xC0000209L) // // MessageId: STATUS_ADDRESS_ALREADY_EXISTS // // MessageText: // // The transport address could not be opened because it already exists. // #define STATUS_ADDRESS_ALREADY_EXISTS ((NTSTATUS)0xC000020AL) // // MessageId: STATUS_ADDRESS_CLOSED // // MessageText: // // The transport address is now closed. // #define STATUS_ADDRESS_CLOSED ((NTSTATUS)0xC000020BL) // // MessageId: STATUS_CONNECTION_DISCONNECTED // // MessageText: // // The transport connection is now disconnected. // #define STATUS_CONNECTION_DISCONNECTED ((NTSTATUS)0xC000020CL) // // MessageId: STATUS_CONNECTION_RESET // // MessageText: // // The transport connection has been reset. // #define STATUS_CONNECTION_RESET ((NTSTATUS)0xC000020DL) // // MessageId: STATUS_TOO_MANY_NODES // // MessageText: // // The transport cannot dynamically acquire any more nodes. // #define STATUS_TOO_MANY_NODES ((NTSTATUS)0xC000020EL) // // MessageId: STATUS_TRANSACTION_ABORTED // // MessageText: // // The transport aborted a pending transaction. // #define STATUS_TRANSACTION_ABORTED ((NTSTATUS)0xC000020FL) // // MessageId: STATUS_TRANSACTION_TIMED_OUT // // MessageText: // // The transport timed out a request waiting for a response. // #define STATUS_TRANSACTION_TIMED_OUT ((NTSTATUS)0xC0000210L) // // MessageId: STATUS_TRANSACTION_NO_RELEASE // // MessageText: // // The transport did not receive a release for a pending response. // #define STATUS_TRANSACTION_NO_RELEASE ((NTSTATUS)0xC0000211L) // // MessageId: STATUS_TRANSACTION_NO_MATCH // // MessageText: // // The transport did not find a transaction matching the specific // token. // #define STATUS_TRANSACTION_NO_MATCH ((NTSTATUS)0xC0000212L) // // MessageId: STATUS_TRANSACTION_RESPONDED // // MessageText: // // The transport had previously responded to a transaction request. // #define STATUS_TRANSACTION_RESPONDED ((NTSTATUS)0xC0000213L) // // MessageId: STATUS_TRANSACTION_INVALID_ID // // MessageText: // // The transport does not recognized the transaction request identifier specified. // #define STATUS_TRANSACTION_INVALID_ID ((NTSTATUS)0xC0000214L) // // MessageId: STATUS_TRANSACTION_INVALID_TYPE // // MessageText: // // The transport does not recognize the transaction request type specified. // #define STATUS_TRANSACTION_INVALID_TYPE ((NTSTATUS)0xC0000215L) // // MessageId: STATUS_NOT_SERVER_SESSION // // MessageText: // // The transport can only process the specified request on the server side of a session. // #define STATUS_NOT_SERVER_SESSION ((NTSTATUS)0xC0000216L) // // MessageId: STATUS_NOT_CLIENT_SESSION // // MessageText: // // The transport can only process the specified request on the client side of a session. // #define STATUS_NOT_CLIENT_SESSION ((NTSTATUS)0xC0000217L) // // MessageId: STATUS_CANNOT_LOAD_REGISTRY_FILE // // MessageText: // // {Registry File Failure} // The registry cannot load the hive (file): // %hs // or its log or alternate. // It is corrupt, absent, or not writable. // #define STATUS_CANNOT_LOAD_REGISTRY_FILE ((NTSTATUS)0xC0000218L) // // MessageId: STATUS_DEBUG_ATTACH_FAILED // // MessageText: // // {Unexpected Failure in DebugActiveProcess} // An unexpected failure occurred while processing a DebugActiveProcess API request. You may choose OK to terminate the process, or Cancel to ignore the error. // #define STATUS_DEBUG_ATTACH_FAILED ((NTSTATUS)0xC0000219L) // // MessageId: STATUS_SYSTEM_PROCESS_TERMINATED // // MessageText: // // {Fatal System Error} // The %hs system process terminated unexpectedly with a status of 0x%08x (0x%08x 0x%08x). // The system has been shut down. // #define STATUS_SYSTEM_PROCESS_TERMINATED ((NTSTATUS)0xC000021AL) // // MessageId: STATUS_DATA_NOT_ACCEPTED // // MessageText: // // {Data Not Accepted} // The TDI client could not handle the data received during an indication. // #define STATUS_DATA_NOT_ACCEPTED ((NTSTATUS)0xC000021BL) // // MessageId: STATUS_NO_BROWSER_SERVERS_FOUND // // MessageText: // // {Unable to Retrieve Browser Server List} // The list of servers for this workgroup is not currently available. // #define STATUS_NO_BROWSER_SERVERS_FOUND ((NTSTATUS)0xC000021CL) // // MessageId: STATUS_VDM_HARD_ERROR // // MessageText: // // NTVDM encountered a hard error. // #define STATUS_VDM_HARD_ERROR ((NTSTATUS)0xC000021DL) // // MessageId: STATUS_DRIVER_CANCEL_TIMEOUT // // MessageText: // // {Cancel Timeout} // The driver %hs failed to complete a cancelled I/O request in the allotted time. // #define STATUS_DRIVER_CANCEL_TIMEOUT ((NTSTATUS)0xC000021EL) // // MessageId: STATUS_REPLY_MESSAGE_MISMATCH // // MessageText: // // {Reply Message Mismatch} // An attempt was made to reply to an LPC message, but the thread specified by the client ID in the message was not waiting on that message. // #define STATUS_REPLY_MESSAGE_MISMATCH ((NTSTATUS)0xC000021FL) // // MessageId: STATUS_MAPPED_ALIGNMENT // // MessageText: // // {Mapped View Alignment Incorrect} // An attempt was made to map a view of a file, but either the specified base address or the offset into the file were not aligned on the proper allocation granularity. // #define STATUS_MAPPED_ALIGNMENT ((NTSTATUS)0xC0000220L) // // MessageId: STATUS_IMAGE_CHECKSUM_MISMATCH // // MessageText: // // {Bad Image Checksum} // The image %hs is possibly corrupt. The header checksum does not match the computed checksum. // #define STATUS_IMAGE_CHECKSUM_MISMATCH ((NTSTATUS)0xC0000221L) // // MessageId: STATUS_LOST_WRITEBEHIND_DATA // // MessageText: // // {Delayed Write Failed} // Windows was unable to save all the data for the file %hs. The data has been lost. // This error may be caused by a failure of your computer hardware or network connection. Please try to save this file elsewhere. // #define STATUS_LOST_WRITEBEHIND_DATA ((NTSTATUS)0xC0000222L) // // MessageId: STATUS_CLIENT_SERVER_PARAMETERS_INVALID // // MessageText: // // The parameter(s) passed to the server in the client/server shared memory window were invalid. Too much data may have been put in the shared memory window. // #define STATUS_CLIENT_SERVER_PARAMETERS_INVALID ((NTSTATUS)0xC0000223L) // // MessageId: STATUS_PASSWORD_MUST_CHANGE // // MessageText: // // The user's password must be changed before logging on the first time. // #define STATUS_PASSWORD_MUST_CHANGE ((NTSTATUS)0xC0000224L) // ntsubauth // // MessageId: STATUS_NOT_FOUND // // MessageText: // // The object was not found. // #define STATUS_NOT_FOUND ((NTSTATUS)0xC0000225L) // // MessageId: STATUS_NOT_TINY_STREAM // // MessageText: // // The stream is not a tiny stream. // #define STATUS_NOT_TINY_STREAM ((NTSTATUS)0xC0000226L) // // MessageId: STATUS_RECOVERY_FAILURE // // MessageText: // // A transaction recover failed. // #define STATUS_RECOVERY_FAILURE ((NTSTATUS)0xC0000227L) // // MessageId: STATUS_STACK_OVERFLOW_READ // // MessageText: // // The request must be handled by the stack overflow code. // #define STATUS_STACK_OVERFLOW_READ ((NTSTATUS)0xC0000228L) // // MessageId: STATUS_FAIL_CHECK // // MessageText: // // A consistency check failed. // #define STATUS_FAIL_CHECK ((NTSTATUS)0xC0000229L) // // MessageId: STATUS_DUPLICATE_OBJECTID // // MessageText: // // The attempt to insert the ID in the index failed because the ID is already in the index. // #define STATUS_DUPLICATE_OBJECTID ((NTSTATUS)0xC000022AL) // // MessageId: STATUS_OBJECTID_EXISTS // // MessageText: // // The attempt to set the object's ID failed because the object already has an ID. // #define STATUS_OBJECTID_EXISTS ((NTSTATUS)0xC000022BL) // // MessageId: STATUS_CONVERT_TO_LARGE // // MessageText: // // Internal OFS status codes indicating how an allocation operation is handled. Either it is retried after the containing onode is moved or the extent stream is converted to a large stream. // #define STATUS_CONVERT_TO_LARGE ((NTSTATUS)0xC000022CL) // // MessageId: STATUS_RETRY // // MessageText: // // The request needs to be retried. // #define STATUS_RETRY ((NTSTATUS)0xC000022DL) // // MessageId: STATUS_FOUND_OUT_OF_SCOPE // // MessageText: // // The attempt to find the object found an object matching by ID on the volume but it is out of the scope of the handle used for the operation. // #define STATUS_FOUND_OUT_OF_SCOPE ((NTSTATUS)0xC000022EL) // // MessageId: STATUS_ALLOCATE_BUCKET // // MessageText: // // The bucket array must be grown. Retry transaction after doing so. // #define STATUS_ALLOCATE_BUCKET ((NTSTATUS)0xC000022FL) // // MessageId: STATUS_PROPSET_NOT_FOUND // // MessageText: // // The property set specified does not exist on the object. // #define STATUS_PROPSET_NOT_FOUND ((NTSTATUS)0xC0000230L) // // MessageId: STATUS_MARSHALL_OVERFLOW // // MessageText: // // The user/kernel marshalling buffer has overflowed. // #define STATUS_MARSHALL_OVERFLOW ((NTSTATUS)0xC0000231L) // // MessageId: STATUS_INVALID_VARIANT // // MessageText: // // The supplied variant structure contains invalid data. // #define STATUS_INVALID_VARIANT ((NTSTATUS)0xC0000232L) // // MessageId: STATUS_DOMAIN_CONTROLLER_NOT_FOUND // // MessageText: // // Could not find a domain controller for this domain. // #define STATUS_DOMAIN_CONTROLLER_NOT_FOUND ((NTSTATUS)0xC0000233L) // // MessageId: STATUS_ACCOUNT_LOCKED_OUT // // MessageText: // // The user account has been automatically locked because too many invalid logon attempts or password change attempts have been requested. // #define STATUS_ACCOUNT_LOCKED_OUT ((NTSTATUS)0xC0000234L) // ntsubauth // // MessageId: STATUS_HANDLE_NOT_CLOSABLE // // MessageText: // // NtClose was called on a handle that was protected from close via NtSetInformationObject. // #define STATUS_HANDLE_NOT_CLOSABLE ((NTSTATUS)0xC0000235L) // // MessageId: STATUS_CONNECTION_REFUSED // // MessageText: // // The transport connection attempt was refused by the remote system. // #define STATUS_CONNECTION_REFUSED ((NTSTATUS)0xC0000236L) // // MessageId: STATUS_GRACEFUL_DISCONNECT // // MessageText: // // The transport connection was gracefully closed. // #define STATUS_GRACEFUL_DISCONNECT ((NTSTATUS)0xC0000237L) // // MessageId: STATUS_ADDRESS_ALREADY_ASSOCIATED // // MessageText: // // The transport endpoint already has an address associated with it. // #define STATUS_ADDRESS_ALREADY_ASSOCIATED ((NTSTATUS)0xC0000238L) // // MessageId: STATUS_ADDRESS_NOT_ASSOCIATED // // MessageText: // // An address has not yet been associated with the transport endpoint. // #define STATUS_ADDRESS_NOT_ASSOCIATED ((NTSTATUS)0xC0000239L) // // MessageId: STATUS_CONNECTION_INVALID // // MessageText: // // An operation was attempted on a nonexistent transport connection. // #define STATUS_CONNECTION_INVALID ((NTSTATUS)0xC000023AL) // // MessageId: STATUS_CONNECTION_ACTIVE // // MessageText: // // An invalid operation was attempted on an active transport connection. // #define STATUS_CONNECTION_ACTIVE ((NTSTATUS)0xC000023BL) // // MessageId: STATUS_NETWORK_UNREACHABLE // // MessageText: // // The remote network is not reachable by the transport. // #define STATUS_NETWORK_UNREACHABLE ((NTSTATUS)0xC000023CL) // // MessageId: STATUS_HOST_UNREACHABLE // // MessageText: // // The remote system is not reachable by the transport. // #define STATUS_HOST_UNREACHABLE ((NTSTATUS)0xC000023DL) // // MessageId: STATUS_PROTOCOL_UNREACHABLE // // MessageText: // // The remote system does not support the transport protocol. // #define STATUS_PROTOCOL_UNREACHABLE ((NTSTATUS)0xC000023EL) // // MessageId: STATUS_PORT_UNREACHABLE // // MessageText: // // No service is operating at the destination port of the transport on the remote system. // #define STATUS_PORT_UNREACHABLE ((NTSTATUS)0xC000023FL) // // MessageId: STATUS_REQUEST_ABORTED // // MessageText: // // The request was aborted. // #define STATUS_REQUEST_ABORTED ((NTSTATUS)0xC0000240L) // // MessageId: STATUS_CONNECTION_ABORTED // // MessageText: // // The transport connection was aborted by the local system. // #define STATUS_CONNECTION_ABORTED ((NTSTATUS)0xC0000241L) // // MessageId: STATUS_BAD_COMPRESSION_BUFFER // // MessageText: // // The specified buffer contains ill-formed data. // #define STATUS_BAD_COMPRESSION_BUFFER ((NTSTATUS)0xC0000242L) // // MessageId: STATUS_USER_MAPPED_FILE // // MessageText: // // The requested operation cannot be performed on a file with a user mapped section open. // #define STATUS_USER_MAPPED_FILE ((NTSTATUS)0xC0000243L) // // MessageId: STATUS_AUDIT_FAILED // // MessageText: // // {Audit Failed} // An attempt to generate a security audit failed. // #define STATUS_AUDIT_FAILED ((NTSTATUS)0xC0000244L) // // MessageId: STATUS_TIMER_RESOLUTION_NOT_SET // // MessageText: // // The timer resolution was not previously set by the current process. // #define STATUS_TIMER_RESOLUTION_NOT_SET ((NTSTATUS)0xC0000245L) // // MessageId: STATUS_CONNECTION_COUNT_LIMIT // // MessageText: // // A connection to the server could not be made because the limit on the number of concurrent connections for this account has been reached. // #define STATUS_CONNECTION_COUNT_LIMIT ((NTSTATUS)0xC0000246L) // // MessageId: STATUS_LOGIN_TIME_RESTRICTION // // MessageText: // // Attempting to login during an unauthorized time of day for this account. // #define STATUS_LOGIN_TIME_RESTRICTION ((NTSTATUS)0xC0000247L) // // MessageId: STATUS_LOGIN_WKSTA_RESTRICTION // // MessageText: // // The account is not authorized to login from this station. // #define STATUS_LOGIN_WKSTA_RESTRICTION ((NTSTATUS)0xC0000248L) // // MessageId: STATUS_IMAGE_MP_UP_MISMATCH // // MessageText: // // {UP/MP Image Mismatch} // The image %hs has been modified for use on a uniprocessor system, but you are running it on a multiprocessor machine. // Please reinstall the image file. // #define STATUS_IMAGE_MP_UP_MISMATCH ((NTSTATUS)0xC0000249L) // // MessageId: STATUS_INSUFFICIENT_LOGON_INFO // // MessageText: // // There is insufficient account information to log you on. // #define STATUS_INSUFFICIENT_LOGON_INFO ((NTSTATUS)0xC0000250L) // // MessageId: STATUS_BAD_DLL_ENTRYPOINT // // MessageText: // // {Invalid DLL Entrypoint} // The dynamic link library %hs is not written correctly. The stack pointer has been left in an inconsistent state. // The entrypoint should be declared as WINAPI or STDCALL. Select YES to fail the DLL load. Select NO to continue execution. Selecting NO may cause the application to operate incorrectly. // #define STATUS_BAD_DLL_ENTRYPOINT ((NTSTATUS)0xC0000251L) // // MessageId: STATUS_BAD_SERVICE_ENTRYPOINT // // MessageText: // // {Invalid Service Callback Entrypoint} // The %hs service is not written correctly. The stack pointer has been left in an inconsistent state. // The callback entrypoint should be declared as WINAPI or STDCALL. Selecting OK will cause the service to continue operation. However, the service process may operate incorrectly. // #define STATUS_BAD_SERVICE_ENTRYPOINT ((NTSTATUS)0xC0000252L) // // MessageId: STATUS_LPC_REPLY_LOST // // MessageText: // // The server received the messages but did not send a reply. // #define STATUS_LPC_REPLY_LOST ((NTSTATUS)0xC0000253L) // // MessageId: STATUS_IP_ADDRESS_CONFLICT1 // // MessageText: // // There is an IP address conflict with another system on the network // #define STATUS_IP_ADDRESS_CONFLICT1 ((NTSTATUS)0xC0000254L) // // MessageId: STATUS_IP_ADDRESS_CONFLICT2 // // MessageText: // // There is an IP address conflict with another system on the network // #define STATUS_IP_ADDRESS_CONFLICT2 ((NTSTATUS)0xC0000255L) // // MessageId: STATUS_REGISTRY_QUOTA_LIMIT // // MessageText: // // {Low On Registry Space} // The system has reached the maximum size allowed for the system part of the registry. Additional storage requests will be ignored. // #define STATUS_REGISTRY_QUOTA_LIMIT ((NTSTATUS)0xC0000256L) // // MessageId: STATUS_PATH_NOT_COVERED // // MessageText: // // The contacted server does not support the indicated part of the DFS namespace. // #define STATUS_PATH_NOT_COVERED ((NTSTATUS)0xC0000257L) // // MessageId: STATUS_NO_CALLBACK_ACTIVE // // MessageText: // // A callback return system service cannot be executed when no callback is active. // #define STATUS_NO_CALLBACK_ACTIVE ((NTSTATUS)0xC0000258L) // // MessageId: STATUS_LICENSE_QUOTA_EXCEEDED // // MessageText: // // The service being accessed is licensed for a particular number of connections. // No more connections can be made to the service at this time because there are already as many connections as the service can accept. // #define STATUS_LICENSE_QUOTA_EXCEEDED ((NTSTATUS)0xC0000259L) // // MessageId: STATUS_PWD_TOO_SHORT // // MessageText: // // The password provided is too short to meet the policy of your user account. // Please choose a longer password. // #define STATUS_PWD_TOO_SHORT ((NTSTATUS)0xC000025AL) // // MessageId: STATUS_PWD_TOO_RECENT // // MessageText: // // The policy of your user account does not allow you to change passwords too frequently. // This is done to prevent users from changing back to a familiar, but potentially discovered, password. // If you feel your password has been compromised then please contact your administrator immediately to have a new one assigned. // #define STATUS_PWD_TOO_RECENT ((NTSTATUS)0xC000025BL) // // MessageId: STATUS_PWD_HISTORY_CONFLICT // // MessageText: // // You have attempted to change your password to one that you have used in the past. // The policy of your user account does not allow this. Please select a password that you have not previously used. // #define STATUS_PWD_HISTORY_CONFLICT ((NTSTATUS)0xC000025CL) // // MessageId: STATUS_PLUGPLAY_NO_DEVICE // // MessageText: // // You have attempted to load a legacy device driver while its device instance had been disabled. // #define STATUS_PLUGPLAY_NO_DEVICE ((NTSTATUS)0xC000025EL) // // MessageId: STATUS_UNSUPPORTED_COMPRESSION // // MessageText: // // The specified compression format is unsupported. // #define STATUS_UNSUPPORTED_COMPRESSION ((NTSTATUS)0xC000025FL) // // MessageId: STATUS_INVALID_HW_PROFILE // // MessageText: // // The specified hardware profile configuration is invalid. // #define STATUS_INVALID_HW_PROFILE ((NTSTATUS)0xC0000260L) // // MessageId: STATUS_INVALID_PLUGPLAY_DEVICE_PATH // // MessageText: // // The specified Plug and Play registry device path is invalid. // #define STATUS_INVALID_PLUGPLAY_DEVICE_PATH ((NTSTATUS)0xC0000261L) // // MessageId: STATUS_DRIVER_ORDINAL_NOT_FOUND // // MessageText: // // {Driver Entry Point Not Found} // The %hs device driver could not locate the ordinal %ld in driver %hs. // #define STATUS_DRIVER_ORDINAL_NOT_FOUND ((NTSTATUS)0xC0000262L) // // MessageId: STATUS_DRIVER_ENTRYPOINT_NOT_FOUND // // MessageText: // // {Driver Entry Point Not Found} // The %hs device driver could not locate the entry point %hs in driver %hs. // #define STATUS_DRIVER_ENTRYPOINT_NOT_FOUND ((NTSTATUS)0xC0000263L) // // MessageId: STATUS_RESOURCE_NOT_OWNED // // MessageText: // // {Application Error} // The application attempted to release a resource it did not own. Click on OK to terminate the application. // #define STATUS_RESOURCE_NOT_OWNED ((NTSTATUS)0xC0000264L) // // MessageId: STATUS_TOO_MANY_LINKS // // MessageText: // // An attempt was made to create more links on a file than the file system supports. // #define STATUS_TOO_MANY_LINKS ((NTSTATUS)0xC0000265L) // // MessageId: STATUS_QUOTA_LIST_INCONSISTENT // // MessageText: // // The specified quota list is internally inconsistent with its descriptor. // #define STATUS_QUOTA_LIST_INCONSISTENT ((NTSTATUS)0xC0000266L) // // MessageId: STATUS_FILE_IS_OFFLINE // // MessageText: // // The specified file has been relocated to offline storage. // #define STATUS_FILE_IS_OFFLINE ((NTSTATUS)0xC0000267L) // // MessageId: STATUS_EVALUATION_EXPIRATION // // MessageText: // // {Windows Evaluation Notification} // The evaluation period for this installation of Windows has expired. This system will shutdown in 1 hour. To restore access to this installation of Windows, please upgrade this installation using a licensed distribution of this product. // #define STATUS_EVALUATION_EXPIRATION ((NTSTATUS)0xC0000268L) // // MessageId: STATUS_ILLEGAL_DLL_RELOCATION // // MessageText: // // {Illegal System DLL Relocation} // The system DLL %hs was relocated in memory. The application will not run properly. // The relocation occurred because the DLL %hs occupied an address range reserved for Windows system DLLs. The vendor supplying the DLL should be contacted for a new DLL. // #define STATUS_ILLEGAL_DLL_RELOCATION ((NTSTATUS)0xC0000269L) // // MessageId: STATUS_LICENSE_VIOLATION // // MessageText: // // {License Violation} // The system has detected tampering with your registered product type. This is a violation of your software license. Tampering with product type is not permitted. // #define STATUS_LICENSE_VIOLATION ((NTSTATUS)0xC000026AL) // // MessageId: STATUS_DLL_INIT_FAILED_LOGOFF // // MessageText: // // {DLL Initialization Failed} // The application failed to initialize because the window station is shutting down. // #define STATUS_DLL_INIT_FAILED_LOGOFF ((NTSTATUS)0xC000026BL) // // MessageId: STATUS_DRIVER_UNABLE_TO_LOAD // // MessageText: // // {Unable to Load Device Driver} // %hs device driver could not be loaded. // Error Status was 0x%x // #define STATUS_DRIVER_UNABLE_TO_LOAD ((NTSTATUS)0xC000026CL) // // MessageId: STATUS_DFS_UNAVAILABLE // // MessageText: // // DFS is unavailable on the contacted server. // #define STATUS_DFS_UNAVAILABLE ((NTSTATUS)0xC000026DL) // // MessageId: STATUS_VOLUME_DISMOUNTED // // MessageText: // // An operation was attempted to a volume after it was dismounted. // #define STATUS_VOLUME_DISMOUNTED ((NTSTATUS)0xC000026EL) // // MessageId: STATUS_WX86_INTERNAL_ERROR // // MessageText: // // An internal error occurred in the Win32 x86 emulation subsystem. // #define STATUS_WX86_INTERNAL_ERROR ((NTSTATUS)0xC000026FL) // // MessageId: STATUS_WX86_FLOAT_STACK_CHECK // // MessageText: // // Win32 x86 emulation subsystem Floating-point stack check. // #define STATUS_WX86_FLOAT_STACK_CHECK ((NTSTATUS)0xC0000270L) // // MessageId: STATUS_VALIDATE_CONTINUE // // MessageText: // // The validation process needs to continue on to the next step. // #define STATUS_VALIDATE_CONTINUE ((NTSTATUS)0xC0000271L) // // MessageId: STATUS_NO_MATCH // // MessageText: // // There was no match for the specified key in the index. // #define STATUS_NO_MATCH ((NTSTATUS)0xC0000272L) // // MessageId: STATUS_NO_MORE_MATCHES // // MessageText: // // There are no more matches for the current index enumeration. // #define STATUS_NO_MORE_MATCHES ((NTSTATUS)0xC0000273L) // // MessageId: STATUS_NOT_A_REPARSE_POINT // // MessageText: // // The NTFS file or directory is not a reparse point. // #define STATUS_NOT_A_REPARSE_POINT ((NTSTATUS)0xC0000275L) // // MessageId: STATUS_IO_REPARSE_TAG_INVALID // // MessageText: // // The Windows I/O reparse tag passed for the NTFS reparse point is invalid. // #define STATUS_IO_REPARSE_TAG_INVALID ((NTSTATUS)0xC0000276L) // // MessageId: STATUS_IO_REPARSE_TAG_MISMATCH // // MessageText: // // The Windows I/O reparse tag does not match the one present in the NTFS reparse point. // #define STATUS_IO_REPARSE_TAG_MISMATCH ((NTSTATUS)0xC0000277L) // // MessageId: STATUS_IO_REPARSE_DATA_INVALID // // MessageText: // // The user data passed for the NTFS reparse point is invalid. // #define STATUS_IO_REPARSE_DATA_INVALID ((NTSTATUS)0xC0000278L) // // MessageId: STATUS_IO_REPARSE_TAG_NOT_HANDLED // // MessageText: // // The layered file system driver for this IO tag did not handle it when needed. // #define STATUS_IO_REPARSE_TAG_NOT_HANDLED ((NTSTATUS)0xC0000279L) // // MessageId: STATUS_REPARSE_POINT_NOT_RESOLVED // // MessageText: // // The NTFS symbolic link could not be resolved even though the initial file name is valid. // #define STATUS_REPARSE_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000280L) // // MessageId: STATUS_DIRECTORY_IS_A_REPARSE_POINT // // MessageText: // // The NTFS directory is a reparse point. // #define STATUS_DIRECTORY_IS_A_REPARSE_POINT ((NTSTATUS)0xC0000281L) // // MessageId: STATUS_RANGE_LIST_CONFLICT // // MessageText: // // The range could not be added to the range list because of a conflict. // #define STATUS_RANGE_LIST_CONFLICT ((NTSTATUS)0xC0000282L) // // MessageId: STATUS_SOURCE_ELEMENT_EMPTY // // MessageText: // // The specified medium changer source element contains no media. // #define STATUS_SOURCE_ELEMENT_EMPTY ((NTSTATUS)0xC0000283L) // // MessageId: STATUS_DESTINATION_ELEMENT_FULL // // MessageText: // // The specified medium changer destination element already contains media. // #define STATUS_DESTINATION_ELEMENT_FULL ((NTSTATUS)0xC0000284L) // // MessageId: STATUS_ILLEGAL_ELEMENT_ADDRESS // // MessageText: // // The specified medium changer element does not exist. // #define STATUS_ILLEGAL_ELEMENT_ADDRESS ((NTSTATUS)0xC0000285L) // // MessageId: STATUS_MAGAZINE_NOT_PRESENT // // MessageText: // // The specified element is contained within a magazine that is no longer present. // #define STATUS_MAGAZINE_NOT_PRESENT ((NTSTATUS)0xC0000286L) // // MessageId: STATUS_REINITIALIZATION_NEEDED // // MessageText: // // The device requires reinitialization due to hardware errors. // #define STATUS_REINITIALIZATION_NEEDED ((NTSTATUS)0xC0000287L) // // MessageId: STATUS_DEVICE_REQUIRES_CLEANING // // MessageText: // // The device has indicated that cleaning is necessary. // #define STATUS_DEVICE_REQUIRES_CLEANING ((NTSTATUS)0x80000288L) // // MessageId: STATUS_DEVICE_DOOR_OPEN // // MessageText: // // The device has indicated that it's door is open. Further operations require it closed and secured. // #define STATUS_DEVICE_DOOR_OPEN ((NTSTATUS)0x80000289L) // // MessageId: STATUS_ENCRYPTION_FAILED // // MessageText: // // The file encryption attempt failed. // #define STATUS_ENCRYPTION_FAILED ((NTSTATUS)0xC000028AL) // // MessageId: STATUS_DECRYPTION_FAILED // // MessageText: // // The file decryption attempt failed. // #define STATUS_DECRYPTION_FAILED ((NTSTATUS)0xC000028BL) // // MessageId: STATUS_RANGE_NOT_FOUND // // MessageText: // // The specified range could not be found in the range list. // #define STATUS_RANGE_NOT_FOUND ((NTSTATUS)0xC000028CL) // // MessageId: STATUS_NO_RECOVERY_POLICY // // MessageText: // // There is no encryption recovery policy configured for this system. // #define STATUS_NO_RECOVERY_POLICY ((NTSTATUS)0xC000028DL) // // MessageId: STATUS_NO_EFS // // MessageText: // // The required encryption driver is not loaded for this system. // #define STATUS_NO_EFS ((NTSTATUS)0xC000028EL) // // MessageId: STATUS_WRONG_EFS // // MessageText: // // The file was encrypted with a different encryption driver than is currently loaded. // #define STATUS_WRONG_EFS ((NTSTATUS)0xC000028FL) // // MessageId: STATUS_NO_USER_KEYS // // MessageText: // // There are no EFS keys defined for the user. // #define STATUS_NO_USER_KEYS ((NTSTATUS)0xC0000290L) // // MessageId: STATUS_FILE_NOT_ENCRYPTED // // MessageText: // // The specified file is not encrypted. // #define STATUS_FILE_NOT_ENCRYPTED ((NTSTATUS)0xC0000291L) // // MessageId: STATUS_NOT_EXPORT_FORMAT // // MessageText: // // The specified file is not in the defined EFS export format. // #define STATUS_NOT_EXPORT_FORMAT ((NTSTATUS)0xC0000292L) // // MessageId: STATUS_FILE_ENCRYPTED // // MessageText: // // The specified file is encrypted and the user does not have the ability to decrypt it. // #define STATUS_FILE_ENCRYPTED ((NTSTATUS)0xC0000293L) // // MessageId: STATUS_WAKE_SYSTEM // // MessageText: // // The system has awoken // #define STATUS_WAKE_SYSTEM ((NTSTATUS)0x40000294L) // // MessageId: STATUS_WMI_GUID_NOT_FOUND // // MessageText: // // The guid passed was not recognized as valid by a WMI data provider. // #define STATUS_WMI_GUID_NOT_FOUND ((NTSTATUS)0xC0000295L) // // MessageId: STATUS_WMI_INSTANCE_NOT_FOUND // // MessageText: // // The instance name passed was not recognized as valid by a WMI data provider. // #define STATUS_WMI_INSTANCE_NOT_FOUND ((NTSTATUS)0xC0000296L) // // MessageId: STATUS_WMI_ITEMID_NOT_FOUND // // MessageText: // // The data item id passed was not recognized as valid by a WMI data provider. // #define STATUS_WMI_ITEMID_NOT_FOUND ((NTSTATUS)0xC0000297L) // // MessageId: STATUS_WMI_TRY_AGAIN // // MessageText: // // The WMI request could not be completed and should be retried. // #define STATUS_WMI_TRY_AGAIN ((NTSTATUS)0xC0000298L) // // MessageId: STATUS_SHARED_POLICY // // MessageText: // // The policy object is shared and can only be modified at the root // #define STATUS_SHARED_POLICY ((NTSTATUS)0xC0000299L) // // MessageId: STATUS_POLICY_OBJECT_NOT_FOUND // // MessageText: // // The policy object does not exist when it should // #define STATUS_POLICY_OBJECT_NOT_FOUND ((NTSTATUS)0xC000029AL) // // MessageId: STATUS_POLICY_ONLY_IN_DS // // MessageText: // // The requested policy information only lives in the Ds // #define STATUS_POLICY_ONLY_IN_DS ((NTSTATUS)0xC000029BL) // // MessageId: STATUS_VOLUME_NOT_UPGRADED // // MessageText: // // The volume must be upgraded to enable this feature // #define STATUS_VOLUME_NOT_UPGRADED ((NTSTATUS)0xC000029CL) // // MessageId: STATUS_REMOTE_STORAGE_NOT_ACTIVE // // MessageText: // // The remote storage service is not operational at this time. // #define STATUS_REMOTE_STORAGE_NOT_ACTIVE ((NTSTATUS)0xC000029DL) // // MessageId: STATUS_REMOTE_STORAGE_MEDIA_ERROR // // MessageText: // // The remote storage service encountered a media error. // #define STATUS_REMOTE_STORAGE_MEDIA_ERROR ((NTSTATUS)0xC000029EL) // // MessageId: STATUS_NO_TRACKING_SERVICE // // MessageText: // // The tracking (workstation) service is not running. // #define STATUS_NO_TRACKING_SERVICE ((NTSTATUS)0xC000029FL) // // MessageId: STATUS_SERVER_SID_MISMATCH // // MessageText: // // The server process is running under a SID different than that required by client. // #define STATUS_SERVER_SID_MISMATCH ((NTSTATUS)0xC00002A0L) // // Directory Service specific Errors // // // MessageId: STATUS_DS_NO_ATTRIBUTE_OR_VALUE // // MessageText: // // The specified directory service attribute or value does not exist. // #define STATUS_DS_NO_ATTRIBUTE_OR_VALUE ((NTSTATUS)0xC00002A1L) // // MessageId: STATUS_DS_INVALID_ATTRIBUTE_SYNTAX // // MessageText: // // The attribute syntax specified to the directory service is invalid. // #define STATUS_DS_INVALID_ATTRIBUTE_SYNTAX ((NTSTATUS)0xC00002A2L) // // MessageId: STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED // // MessageText: // // The attribute type specified to the directory service is not defined. // #define STATUS_DS_ATTRIBUTE_TYPE_UNDEFINED ((NTSTATUS)0xC00002A3L) // // MessageId: STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS // // MessageText: // // The specified directory service attribute or value already exists. // #define STATUS_DS_ATTRIBUTE_OR_VALUE_EXISTS ((NTSTATUS)0xC00002A4L) // // MessageId: STATUS_DS_BUSY // // MessageText: // // The directory service is busy. // #define STATUS_DS_BUSY ((NTSTATUS)0xC00002A5L) // // MessageId: STATUS_DS_UNAVAILABLE // // MessageText: // // The directory service is not available. // #define STATUS_DS_UNAVAILABLE ((NTSTATUS)0xC00002A6L) // // MessageId: STATUS_DS_NO_RIDS_ALLOCATED // // MessageText: // // The directory service was unable to allocate a relative identifier. // #define STATUS_DS_NO_RIDS_ALLOCATED ((NTSTATUS)0xC00002A7L) // // MessageId: STATUS_DS_NO_MORE_RIDS // // MessageText: // // The directory service has exhausted the pool of relative identifiers. // #define STATUS_DS_NO_MORE_RIDS ((NTSTATUS)0xC00002A8L) // // MessageId: STATUS_DS_INCORRECT_ROLE_OWNER // // MessageText: // // The requested operation could not be performed because the directory service is not the master for that type of operation. // #define STATUS_DS_INCORRECT_ROLE_OWNER ((NTSTATUS)0xC00002A9L) // // MessageId: STATUS_DS_RIDMGR_INIT_ERROR // // MessageText: // // The directory service was unable to initialize the subsystem that allocates relative identifiers. // #define STATUS_DS_RIDMGR_INIT_ERROR ((NTSTATUS)0xC00002AAL) // // MessageId: STATUS_DS_OBJ_CLASS_VIOLATION // // MessageText: // // The requested operation did not satisfy one or more constraints associated with the class of the object. // #define STATUS_DS_OBJ_CLASS_VIOLATION ((NTSTATUS)0xC00002ABL) // // MessageId: STATUS_DS_CANT_ON_NON_LEAF // // MessageText: // // The directory service can perform the requested operation only on a leaf object. // #define STATUS_DS_CANT_ON_NON_LEAF ((NTSTATUS)0xC00002ACL) // // MessageId: STATUS_DS_CANT_ON_RDN // // MessageText: // // The directory service cannot perform the requested operation on the Relatively Defined Name (RDN) attribute of an object. // #define STATUS_DS_CANT_ON_RDN ((NTSTATUS)0xC00002ADL) // // MessageId: STATUS_DS_CANT_MOD_OBJ_CLASS // // MessageText: // // The directory service detected an attempt to modify the object class of an object. // #define STATUS_DS_CANT_MOD_OBJ_CLASS ((NTSTATUS)0xC00002AEL) // // MessageId: STATUS_DS_CROSS_DOM_MOVE_FAILED // // MessageText: // // An error occurred while performing a cross domain move operation. // #define STATUS_DS_CROSS_DOM_MOVE_FAILED ((NTSTATUS)0xC00002AFL) // // MessageId: STATUS_DS_GC_NOT_AVAILABLE // // MessageText: // // Unable to Contact the Global Catalog Server. // #define STATUS_DS_GC_NOT_AVAILABLE ((NTSTATUS)0xC00002B0L) // // MessageId: STATUS_DIRECTORY_SERVICE_REQUIRED // // MessageText: // // The requested operation requires a directory service, and none was available. // #define STATUS_DIRECTORY_SERVICE_REQUIRED ((NTSTATUS)0xC00002B1L) // // MessageId: STATUS_REPARSE_ATTRIBUTE_CONFLICT // // MessageText: // // The reparse attribute cannot be set as it is incompatible with an existing attribute. // #define STATUS_REPARSE_ATTRIBUTE_CONFLICT ((NTSTATUS)0xC00002B2L) // // MessageId: STATUS_CANT_ENABLE_DENY_ONLY // // MessageText: // // A group marked use for deny only can not be enabled. // #define STATUS_CANT_ENABLE_DENY_ONLY ((NTSTATUS)0xC00002B3L) // // MessageId: STATUS_FLOAT_MULTIPLE_FAULTS // // MessageText: // // {EXCEPTION} // Multiple floating point faults. // #define STATUS_FLOAT_MULTIPLE_FAULTS ((NTSTATUS)0xC00002B4L) // winnt // // MessageId: STATUS_FLOAT_MULTIPLE_TRAPS // // MessageText: // // {EXCEPTION} // Multiple floating point traps. // #define STATUS_FLOAT_MULTIPLE_TRAPS ((NTSTATUS)0xC00002B5L) // winnt // // MessageId: STATUS_DEVICE_REMOVED // // MessageText: // // The device has been removed. // #define STATUS_DEVICE_REMOVED ((NTSTATUS)0xC00002B6L) // // MessageId: STATUS_JOURNAL_DELETE_IN_PROGRESS // // MessageText: // // The volume change journal is being deleted. // #define STATUS_JOURNAL_DELETE_IN_PROGRESS ((NTSTATUS)0xC00002B7L) // // MessageId: STATUS_JOURNAL_NOT_ACTIVE // // MessageText: // // The volume change journal is not active. // #define STATUS_JOURNAL_NOT_ACTIVE ((NTSTATUS)0xC00002B8L) // // MessageId: STATUS_NOINTERFACE // // MessageText: // // The requested interface is not supported. // #define STATUS_NOINTERFACE ((NTSTATUS)0xC00002B9L) // // MessageId: STATUS_DS_ADMIN_LIMIT_EXCEEDED // // MessageText: // // A directory service resource limit has been exceeded. // #define STATUS_DS_ADMIN_LIMIT_EXCEEDED ((NTSTATUS)0xC00002C1L) // // MessageId: STATUS_DRIVER_FAILED_SLEEP // // MessageText: // // {System Standby Failed} // The driver %hs does not support standby mode. Updating this driver may allow the system to go to standby mode. // #define STATUS_DRIVER_FAILED_SLEEP ((NTSTATUS)0xC00002C2L) // // MessageId: STATUS_MUTUAL_AUTHENTICATION_FAILED // // MessageText: // // Mutual Authentication failed. The server's password is out of date at the domain controller. // #define STATUS_MUTUAL_AUTHENTICATION_FAILED ((NTSTATUS)0xC00002C3L) // // MessageId: STATUS_CORRUPT_SYSTEM_FILE // // MessageText: // // The system file %1 has become corrupt and has been replaced. // #define STATUS_CORRUPT_SYSTEM_FILE ((NTSTATUS)0xC00002C4L) // // MessageId: STATUS_DATATYPE_MISALIGNMENT_ERROR // // MessageText: // // {EXCEPTION} // Alignment Error // A datatype misalignment error was detected in a load or store instruction. // #define STATUS_DATATYPE_MISALIGNMENT_ERROR ((NTSTATUS)0xC00002C5L) // // MessageId: STATUS_WMI_READ_ONLY // // MessageText: // // The WMI data item or data block is read only. // #define STATUS_WMI_READ_ONLY ((NTSTATUS)0xC00002C6L) // // MessageId: STATUS_WMI_SET_FAILURE // // MessageText: // // The WMI data item or data block could not be changed. // #define STATUS_WMI_SET_FAILURE ((NTSTATUS)0xC00002C7L) // // MessageId: STATUS_COMMITMENT_MINIMUM // // MessageText: // // {Virtual Memory Minimum Too Low} // Your system is low on virtual memory. Windows is increasing the size of your virtual memory paging file. // During this process, memory requests for some applications may be denied. For more information, see Help. // #define STATUS_COMMITMENT_MINIMUM ((NTSTATUS)0xC00002C8L) // // MessageId: STATUS_REG_NAT_CONSUMPTION // // MessageText: // // {EXCEPTION} // Register NaT consumption faults. // A NaT value is consumed on a non speculative instruction. // #define STATUS_REG_NAT_CONSUMPTION ((NTSTATUS)0xC00002C9L) // winnt // // MessageId: STATUS_TRANSPORT_FULL // // MessageText: // // The medium changer's transport element contains media, which is causing the operation to fail. // #define STATUS_TRANSPORT_FULL ((NTSTATUS)0xC00002CAL) // // MessageId: STATUS_DS_SAM_INIT_FAILURE // // MessageText: // // Security Accounts Manager initialization failed because of the following error: // %hs // Error Status: 0x%x. // Please click OK to shutdown this system and reboot into Directory Services Restore Mode, check the event log for more detailed information. // #define STATUS_DS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002CBL) // // MessageId: STATUS_ONLY_IF_CONNECTED // // MessageText: // // This operation is supported only when you are connected to the server. // #define STATUS_ONLY_IF_CONNECTED ((NTSTATUS)0xC00002CCL) // // MessageId: STATUS_DS_SENSITIVE_GROUP_VIOLATION // // MessageText: // // Only an administrator can modify the membership list of an administrative group. // #define STATUS_DS_SENSITIVE_GROUP_VIOLATION ((NTSTATUS)0xC00002CDL) // // MessageId: STATUS_PNP_RESTART_ENUMERATION // // MessageText: // // A device was removed so enumeration must be restarted. // #define STATUS_PNP_RESTART_ENUMERATION ((NTSTATUS)0xC00002CEL) // // MessageId: STATUS_JOURNAL_ENTRY_DELETED // // MessageText: // // The journal entry has been deleted from the journal. // #define STATUS_JOURNAL_ENTRY_DELETED ((NTSTATUS)0xC00002CFL) // // MessageId: STATUS_DS_CANT_MOD_PRIMARYGROUPID // // MessageText: // // Cannot change the primary group ID of a domain controller account. // #define STATUS_DS_CANT_MOD_PRIMARYGROUPID ((NTSTATUS)0xC00002D0L) // // MessageId: STATUS_SYSTEM_IMAGE_BAD_SIGNATURE // // MessageText: // // {Fatal System Error} // The system image %s is not properly signed. // The file has been replaced with the signed file. // The system has been shut down. // #define STATUS_SYSTEM_IMAGE_BAD_SIGNATURE ((NTSTATUS)0xC00002D1L) // // MessageId: STATUS_PNP_REBOOT_REQUIRED // // MessageText: // // Device will not start without a reboot. // #define STATUS_PNP_REBOOT_REQUIRED ((NTSTATUS)0xC00002D2L) // // MessageId: STATUS_POWER_STATE_INVALID // // MessageText: // // Current device power state cannot support this request. // #define STATUS_POWER_STATE_INVALID ((NTSTATUS)0xC00002D3L) // // MessageId: STATUS_DS_INVALID_GROUP_TYPE // // MessageText: // // The specified group type is invalid. // #define STATUS_DS_INVALID_GROUP_TYPE ((NTSTATUS)0xC00002D4L) // // MessageId: STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN // // MessageText: // // In mixed domain no nesting of global group if group is security enabled. // #define STATUS_DS_NO_NEST_GLOBALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D5L) // // MessageId: STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN // // MessageText: // // In mixed domain, cannot nest local groups with other local groups, if the group is security enabled. // #define STATUS_DS_NO_NEST_LOCALGROUP_IN_MIXEDDOMAIN ((NTSTATUS)0xC00002D6L) // // MessageId: STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER // // MessageText: // // A global group cannot have a local group as a member. // #define STATUS_DS_GLOBAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D7L) // // MessageId: STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER // // MessageText: // // A global group cannot have a universal group as a member. // #define STATUS_DS_GLOBAL_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC00002D8L) // // MessageId: STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER // // MessageText: // // A universal group cannot have a local group as a member. // #define STATUS_DS_UNIVERSAL_CANT_HAVE_LOCAL_MEMBER ((NTSTATUS)0xC00002D9L) // // MessageId: STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER // // MessageText: // // A global group cannot have a cross domain member. // #define STATUS_DS_GLOBAL_CANT_HAVE_CROSSDOMAIN_MEMBER ((NTSTATUS)0xC00002DAL) // // MessageId: STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER // // MessageText: // // A local group cannot have another cross domain local group as a member. // #define STATUS_DS_LOCAL_CANT_HAVE_CROSSDOMAIN_LOCAL_MEMBER ((NTSTATUS)0xC00002DBL) // // MessageId: STATUS_DS_HAVE_PRIMARY_MEMBERS // // MessageText: // // Can not change to security disabled group because of having primary members in this group. // #define STATUS_DS_HAVE_PRIMARY_MEMBERS ((NTSTATUS)0xC00002DCL) // // MessageId: STATUS_WMI_NOT_SUPPORTED // // MessageText: // // The WMI operation is not supported by the data block or method. // #define STATUS_WMI_NOT_SUPPORTED ((NTSTATUS)0xC00002DDL) // // MessageId: STATUS_INSUFFICIENT_POWER // // MessageText: // // There is not enough power to complete the requested operation. // #define STATUS_INSUFFICIENT_POWER ((NTSTATUS)0xC00002DEL) // // MessageId: STATUS_SAM_NEED_BOOTKEY_PASSWORD // // MessageText: // // Security Account Manager needs to get the boot password. // #define STATUS_SAM_NEED_BOOTKEY_PASSWORD ((NTSTATUS)0xC00002DFL) // // MessageId: STATUS_SAM_NEED_BOOTKEY_FLOPPY // // MessageText: // // Security Account Manager needs to get the boot key from floppy disk. // #define STATUS_SAM_NEED_BOOTKEY_FLOPPY ((NTSTATUS)0xC00002E0L) // // MessageId: STATUS_DS_CANT_START // // MessageText: // // Directory Service can not start. // #define STATUS_DS_CANT_START ((NTSTATUS)0xC00002E1L) // // MessageId: STATUS_DS_INIT_FAILURE // // MessageText: // // Directory Services could not start because of the following error: // %hs // Error Status: 0x%x. // Please click OK to shutdown this system and reboot into Directory Services Restore Mode, check the event log for more detailed information. // #define STATUS_DS_INIT_FAILURE ((NTSTATUS)0xC00002E2L) // // MessageId: STATUS_SAM_INIT_FAILURE // // MessageText: // // Security Accounts Manager initialization failed because of the following error: // %hs // Error Status: 0x%x. // Please click OK to shutdown this system and reboot into Safe Mode, check the event log for more detailed information. // #define STATUS_SAM_INIT_FAILURE ((NTSTATUS)0xC00002E3L) // // MessageId: STATUS_DS_GC_REQUIRED // // MessageText: // // The requested operation can be performed only on a global catalog server. // #define STATUS_DS_GC_REQUIRED ((NTSTATUS)0xC00002E4L) // // MessageId: STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY // // MessageText: // // A local group can only be a member of other local groups in the same domain. // #define STATUS_DS_LOCAL_MEMBER_OF_LOCAL_ONLY ((NTSTATUS)0xC00002E5L) // // MessageId: STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS // // MessageText: // // Foreign security principals cannot be members of universal groups. // #define STATUS_DS_NO_FPO_IN_UNIVERSAL_GROUPS ((NTSTATUS)0xC00002E6L) // // MessageId: STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED // // MessageText: // // Your computer could not be joined to the domain. You have exceeded the maximum number of computer accounts you are allowed to create in this domain. Contact your system administrator to have this limit reset or increased. // #define STATUS_DS_MACHINE_ACCOUNT_QUOTA_EXCEEDED ((NTSTATUS)0xC00002E7L) // // MessageId: STATUS_MULTIPLE_FAULT_VIOLATION // // MessageText: // // STATUS_MULTIPLE_FAULT_VIOLATION // #define STATUS_MULTIPLE_FAULT_VIOLATION ((NTSTATUS)0xC00002E8L) // // MessageId: STATUS_CURRENT_DOMAIN_NOT_ALLOWED // // MessageText: // // This operation can not be performed on the current domain. // #define STATUS_CURRENT_DOMAIN_NOT_ALLOWED ((NTSTATUS)0xC00002E9L) // // MessageId: STATUS_CANNOT_MAKE // // MessageText: // // The directory or file cannot be created. // #define STATUS_CANNOT_MAKE ((NTSTATUS)0xC00002EAL) // // MessageId: STATUS_SYSTEM_SHUTDOWN // // MessageText: // // The system is in the process of shutting down. // #define STATUS_SYSTEM_SHUTDOWN ((NTSTATUS)0xC00002EBL) // // MessageId: STATUS_DS_INIT_FAILURE_CONSOLE // // MessageText: // // Directory Services could not start because of the following error: // %hs // Error Status: 0x%x. // Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. // #define STATUS_DS_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002ECL) // // MessageId: STATUS_DS_SAM_INIT_FAILURE_CONSOLE // // MessageText: // // Security Accounts Manager initialization failed because of the following error: // %hs // Error Status: 0x%x. // Please click OK to shutdown the system. You can use the recovery console to diagnose the system further. // #define STATUS_DS_SAM_INIT_FAILURE_CONSOLE ((NTSTATUS)0xC00002EDL) // // MessageId: STATUS_UNFINISHED_CONTEXT_DELETED // // MessageText: // // A security context was deleted before the context was completed. This is considered a logon failure. // #define STATUS_UNFINISHED_CONTEXT_DELETED ((NTSTATUS)0xC00002EEL) // // MessageId: STATUS_NO_TGT_REPLY // // MessageText: // // The client is trying to negotiate a context and the server requires user-to-user but didn't send a TGT reply. // #define STATUS_NO_TGT_REPLY ((NTSTATUS)0xC00002EFL) // // MessageId: STATUS_OBJECTID_NOT_FOUND // // MessageText: // // An object ID was not found in the file. // #define STATUS_OBJECTID_NOT_FOUND ((NTSTATUS)0xC00002F0L) // // MessageId: STATUS_NO_IP_ADDRESSES // // MessageText: // // Unable to accomplish the requested task because the local machine does not have any IP addresses. // #define STATUS_NO_IP_ADDRESSES ((NTSTATUS)0xC00002F1L) // // MessageId: STATUS_WRONG_CREDENTIAL_HANDLE // // MessageText: // // The supplied credential handle does not match the credential associated with the security context. // #define STATUS_WRONG_CREDENTIAL_HANDLE ((NTSTATUS)0xC00002F2L) // // MessageId: STATUS_CRYPTO_SYSTEM_INVALID // // MessageText: // // The crypto system or checksum function is invalid because a required function is unavailable. // #define STATUS_CRYPTO_SYSTEM_INVALID ((NTSTATUS)0xC00002F3L) // // MessageId: STATUS_MAX_REFERRALS_EXCEEDED // // MessageText: // // The number of maximum ticket referrals has been exceeded. // #define STATUS_MAX_REFERRALS_EXCEEDED ((NTSTATUS)0xC00002F4L) // // MessageId: STATUS_MUST_BE_KDC // // MessageText: // // The local machine must be a Kerberos KDC (domain controller) and it is not. // #define STATUS_MUST_BE_KDC ((NTSTATUS)0xC00002F5L) // // MessageId: STATUS_STRONG_CRYPTO_NOT_SUPPORTED // // MessageText: // // The other end of the security negotiation is requires strong crypto but it is not supported on the local machine. // #define STATUS_STRONG_CRYPTO_NOT_SUPPORTED ((NTSTATUS)0xC00002F6L) // // MessageId: STATUS_TOO_MANY_PRINCIPALS // // MessageText: // // The KDC reply contained more than one principal name. // #define STATUS_TOO_MANY_PRINCIPALS ((NTSTATUS)0xC00002F7L) // // MessageId: STATUS_NO_PA_DATA // // MessageText: // // Expected to find PA data for a hint of what etype to use, but it was not found. // #define STATUS_NO_PA_DATA ((NTSTATUS)0xC00002F8L) // // MessageId: STATUS_PKINIT_NAME_MISMATCH // // MessageText: // // The client certificate does not contain a valid UPN, or does not match the client name // in the logon request. Please contact your administrator. // #define STATUS_PKINIT_NAME_MISMATCH ((NTSTATUS)0xC00002F9L) // // MessageId: STATUS_SMARTCARD_LOGON_REQUIRED // // MessageText: // // Smartcard logon is required and was not used. // #define STATUS_SMARTCARD_LOGON_REQUIRED ((NTSTATUS)0xC00002FAL) // // MessageId: STATUS_KDC_INVALID_REQUEST // // MessageText: // // An invalid request was sent to the KDC. // #define STATUS_KDC_INVALID_REQUEST ((NTSTATUS)0xC00002FBL) // // MessageId: STATUS_KDC_UNABLE_TO_REFER // // MessageText: // // The KDC was unable to generate a referral for the service requested. // #define STATUS_KDC_UNABLE_TO_REFER ((NTSTATUS)0xC00002FCL) // // MessageId: STATUS_KDC_UNKNOWN_ETYPE // // MessageText: // // The encryption type requested is not supported by the KDC. // #define STATUS_KDC_UNKNOWN_ETYPE ((NTSTATUS)0xC00002FDL) // // MessageId: STATUS_SHUTDOWN_IN_PROGRESS // // MessageText: // // A system shutdown is in progress. // #define STATUS_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FEL) // // MessageId: STATUS_SERVER_SHUTDOWN_IN_PROGRESS // // MessageText: // // The server machine is shutting down. // #define STATUS_SERVER_SHUTDOWN_IN_PROGRESS ((NTSTATUS)0xC00002FFL) // // MessageId: STATUS_NOT_SUPPORTED_ON_SBS // // MessageText: // // This operation is not supported on a computer running Windows Server 2003 for Small Business Server // #define STATUS_NOT_SUPPORTED_ON_SBS ((NTSTATUS)0xC0000300L) // // MessageId: STATUS_WMI_GUID_DISCONNECTED // // MessageText: // // The WMI GUID is no longer available // #define STATUS_WMI_GUID_DISCONNECTED ((NTSTATUS)0xC0000301L) // // MessageId: STATUS_WMI_ALREADY_DISABLED // // MessageText: // // Collection or events for the WMI GUID is already disabled. // #define STATUS_WMI_ALREADY_DISABLED ((NTSTATUS)0xC0000302L) // // MessageId: STATUS_WMI_ALREADY_ENABLED // // MessageText: // // Collection or events for the WMI GUID is already enabled. // #define STATUS_WMI_ALREADY_ENABLED ((NTSTATUS)0xC0000303L) // // MessageId: STATUS_MFT_TOO_FRAGMENTED // // MessageText: // // The Master File Table on the volume is too fragmented to complete this operation. // #define STATUS_MFT_TOO_FRAGMENTED ((NTSTATUS)0xC0000304L) // // MessageId: STATUS_COPY_PROTECTION_FAILURE // // MessageText: // // Copy protection failure. // #define STATUS_COPY_PROTECTION_FAILURE ((NTSTATUS)0xC0000305L) // // MessageId: STATUS_CSS_AUTHENTICATION_FAILURE // // MessageText: // // Copy protection error - DVD CSS Authentication failed. // #define STATUS_CSS_AUTHENTICATION_FAILURE ((NTSTATUS)0xC0000306L) // // MessageId: STATUS_CSS_KEY_NOT_PRESENT // // MessageText: // // Copy protection error - The given sector does not contain a valid key. // #define STATUS_CSS_KEY_NOT_PRESENT ((NTSTATUS)0xC0000307L) // // MessageId: STATUS_CSS_KEY_NOT_ESTABLISHED // // MessageText: // // Copy protection error - DVD session key not established. // #define STATUS_CSS_KEY_NOT_ESTABLISHED ((NTSTATUS)0xC0000308L) // // MessageId: STATUS_CSS_SCRAMBLED_SECTOR // // MessageText: // // Copy protection error - The read failed because the sector is encrypted. // #define STATUS_CSS_SCRAMBLED_SECTOR ((NTSTATUS)0xC0000309L) // // MessageId: STATUS_CSS_REGION_MISMATCH // // MessageText: // // Copy protection error - The given DVD's region does not correspond to the // region setting of the drive. // #define STATUS_CSS_REGION_MISMATCH ((NTSTATUS)0xC000030AL) // // MessageId: STATUS_CSS_RESETS_EXHAUSTED // // MessageText: // // Copy protection error - The drive's region setting may be permanent. // #define STATUS_CSS_RESETS_EXHAUSTED ((NTSTATUS)0xC000030BL) /*++ MessageId's 0x030c - 0x031f (inclusive) are reserved for future **STORAGE** copy protection errors. --*/ // // MessageId: STATUS_PKINIT_FAILURE // // MessageText: // // The kerberos protocol encountered an error while validating the KDC certificate during smartcard Logon. There // is more information in the system event log. // #define STATUS_PKINIT_FAILURE ((NTSTATUS)0xC0000320L) // // MessageId: STATUS_SMARTCARD_SUBSYSTEM_FAILURE // // MessageText: // // The kerberos protocol encountered an error while attempting to utilize the smartcard subsystem. // #define STATUS_SMARTCARD_SUBSYSTEM_FAILURE ((NTSTATUS)0xC0000321L) // // MessageId: STATUS_NO_KERB_KEY // // MessageText: // // The target server does not have acceptable kerberos credentials. // #define STATUS_NO_KERB_KEY ((NTSTATUS)0xC0000322L) /*++ MessageId's 0x0323 - 0x034f (inclusive) are reserved for other future copy protection errors. --*/ // // MessageId: STATUS_HOST_DOWN // // MessageText: // // The transport determined that the remote system is down. // #define STATUS_HOST_DOWN ((NTSTATUS)0xC0000350L) // // MessageId: STATUS_UNSUPPORTED_PREAUTH // // MessageText: // // An unsupported preauthentication mechanism was presented to the kerberos package. // #define STATUS_UNSUPPORTED_PREAUTH ((NTSTATUS)0xC0000351L) // // MessageId: STATUS_EFS_ALG_BLOB_TOO_BIG // // MessageText: // // The encryption algorithm used on the source file needs a bigger key buffer than the one used on the destination file. // #define STATUS_EFS_ALG_BLOB_TOO_BIG ((NTSTATUS)0xC0000352L) // // MessageId: STATUS_PORT_NOT_SET // // MessageText: // // An attempt to remove a processes DebugPort was made, but a port was not already associated with the process. // #define STATUS_PORT_NOT_SET ((NTSTATUS)0xC0000353L) // // MessageId: STATUS_DEBUGGER_INACTIVE // // MessageText: // // An attempt to do an operation on a debug port failed because the port is in the process of being deleted. // #define STATUS_DEBUGGER_INACTIVE ((NTSTATUS)0xC0000354L) // // MessageId: STATUS_DS_VERSION_CHECK_FAILURE // // MessageText: // // This version of Windows is not compatible with the behavior version of directory forest, domain or domain controller. // #define STATUS_DS_VERSION_CHECK_FAILURE ((NTSTATUS)0xC0000355L) // // MessageId: STATUS_AUDITING_DISABLED // // MessageText: // // The specified event is currently not being audited. // #define STATUS_AUDITING_DISABLED ((NTSTATUS)0xC0000356L) // // MessageId: STATUS_PRENT4_MACHINE_ACCOUNT // // MessageText: // // The machine account was created pre-NT4. The account needs to be recreated. // #define STATUS_PRENT4_MACHINE_ACCOUNT ((NTSTATUS)0xC0000357L) // // MessageId: STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER // // MessageText: // // A account group can not have a universal group as a member. // #define STATUS_DS_AG_CANT_HAVE_UNIVERSAL_MEMBER ((NTSTATUS)0xC0000358L) // // MessageId: STATUS_INVALID_IMAGE_WIN_32 // // MessageText: // // The specified image file did not have the correct format, it appears to be a 32-bit Windows image. // #define STATUS_INVALID_IMAGE_WIN_32 ((NTSTATUS)0xC0000359L) // // MessageId: STATUS_INVALID_IMAGE_WIN_64 // // MessageText: // // The specified image file did not have the correct format, it appears to be a 64-bit Windows image. // #define STATUS_INVALID_IMAGE_WIN_64 ((NTSTATUS)0xC000035AL) // // MessageId: STATUS_BAD_BINDINGS // // MessageText: // // Client's supplied SSPI channel bindings were incorrect. // #define STATUS_BAD_BINDINGS ((NTSTATUS)0xC000035BL) // // MessageId: STATUS_NETWORK_SESSION_EXPIRED // // MessageText: // // The client's session has expired, so the client must reauthenticate to continue accessing the remote resources. // #define STATUS_NETWORK_SESSION_EXPIRED ((NTSTATUS)0xC000035CL) // // MessageId: STATUS_APPHELP_BLOCK // // MessageText: // // AppHelp dialog canceled thus preventing the application from starting. // #define STATUS_APPHELP_BLOCK ((NTSTATUS)0xC000035DL) // // MessageId: STATUS_ALL_SIDS_FILTERED // // MessageText: // // The SID filtering operation removed all SIDs. // #define STATUS_ALL_SIDS_FILTERED ((NTSTATUS)0xC000035EL) // // MessageId: STATUS_NOT_SAFE_MODE_DRIVER // // MessageText: // // The driver was not loaded because the system is booting into safe mode. // #define STATUS_NOT_SAFE_MODE_DRIVER ((NTSTATUS)0xC000035FL) // // MessageId: STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT // // MessageText: // // Access to %1 has been restricted by your Administrator by the default software restriction policy level. // #define STATUS_ACCESS_DISABLED_BY_POLICY_DEFAULT ((NTSTATUS)0xC0000361L) // // MessageId: STATUS_ACCESS_DISABLED_BY_POLICY_PATH // // MessageText: // // Access to %1 has been restricted by your Administrator by location with policy rule %2 placed on path %3 // #define STATUS_ACCESS_DISABLED_BY_POLICY_PATH ((NTSTATUS)0xC0000362L) // // MessageId: STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER // // MessageText: // // Access to %1 has been restricted by your Administrator by software publisher policy. // #define STATUS_ACCESS_DISABLED_BY_POLICY_PUBLISHER ((NTSTATUS)0xC0000363L) // // MessageId: STATUS_ACCESS_DISABLED_BY_POLICY_OTHER // // MessageText: // // Access to %1 has been restricted by your Administrator by policy rule %2. // #define STATUS_ACCESS_DISABLED_BY_POLICY_OTHER ((NTSTATUS)0xC0000364L) // // MessageId: STATUS_FAILED_DRIVER_ENTRY // // MessageText: // // The driver was not loaded because it failed it's initialization call. // #define STATUS_FAILED_DRIVER_ENTRY ((NTSTATUS)0xC0000365L) // // MessageId: STATUS_DEVICE_ENUMERATION_ERROR // // MessageText: // // The "%hs" encountered an error while applying power or reading the device configuration. // This may be caused by a failure of your hardware or by a poor connection. // #define STATUS_DEVICE_ENUMERATION_ERROR ((NTSTATUS)0xC0000366L) // // MessageId: STATUS_WAIT_FOR_OPLOCK // // MessageText: // // An operation is blocked waiting for an oplock. // #define STATUS_WAIT_FOR_OPLOCK ((NTSTATUS)0x00000367L) // // MessageId: STATUS_MOUNT_POINT_NOT_RESOLVED // // MessageText: // // The create operation failed because the name contained at least one mount point which resolves to a volume to which the specified device object is not attached. // #define STATUS_MOUNT_POINT_NOT_RESOLVED ((NTSTATUS)0xC0000368L) // // MessageId: STATUS_INVALID_DEVICE_OBJECT_PARAMETER // // MessageText: // // The device object parameter is either not a valid device object or is not attached to the volume specified by the file name. // #define STATUS_INVALID_DEVICE_OBJECT_PARAMETER ((NTSTATUS)0xC0000369L) // // MessageId: STATUS_MCA_OCCURED // // MessageText: // // A Machine Check Error has occurred. Please check the system eventlog for additional information. // #define STATUS_MCA_OCCURED ((NTSTATUS)0xC000036AL) // // MessageId: STATUS_DRIVER_BLOCKED_CRITICAL // // MessageText: // // Driver %2 has been blocked from loading. // #define STATUS_DRIVER_BLOCKED_CRITICAL ((NTSTATUS)0xC000036BL) // // MessageId: STATUS_DRIVER_BLOCKED // // MessageText: // // Driver %2 has been blocked from loading. // #define STATUS_DRIVER_BLOCKED ((NTSTATUS)0xC000036CL) // // MessageId: STATUS_DRIVER_DATABASE_ERROR // // MessageText: // // There was error [%2] processing the driver database. // #define STATUS_DRIVER_DATABASE_ERROR ((NTSTATUS)0xC000036DL) // // MessageId: STATUS_SYSTEM_HIVE_TOO_LARGE // // MessageText: // // System hive size has exceeded its limit. // #define STATUS_SYSTEM_HIVE_TOO_LARGE ((NTSTATUS)0xC000036EL) // // MessageId: STATUS_INVALID_IMPORT_OF_NON_DLL // // MessageText: // // A dynamic link library (DLL) referenced a module that was neither a DLL nor the process's executable image. // #define STATUS_INVALID_IMPORT_OF_NON_DLL ((NTSTATUS)0xC000036FL) // // MessageId: STATUS_DS_SHUTTING_DOWN // // MessageText: // // The Directory Service is shuting down. // #define STATUS_DS_SHUTTING_DOWN ((NTSTATUS)0x40000370L) // // MessageId: STATUS_SMARTCARD_WRONG_PIN // // MessageText: // // An incorrect PIN was presented to the smart card // #define STATUS_SMARTCARD_WRONG_PIN ((NTSTATUS)0xC0000380L) // // MessageId: STATUS_SMARTCARD_CARD_BLOCKED // // MessageText: // // The smart card is blocked // #define STATUS_SMARTCARD_CARD_BLOCKED ((NTSTATUS)0xC0000381L) // // MessageId: STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED // // MessageText: // // No PIN was presented to the smart card // #define STATUS_SMARTCARD_CARD_NOT_AUTHENTICATED ((NTSTATUS)0xC0000382L) // // MessageId: STATUS_SMARTCARD_NO_CARD // // MessageText: // // No smart card available // #define STATUS_SMARTCARD_NO_CARD ((NTSTATUS)0xC0000383L) // // MessageId: STATUS_SMARTCARD_NO_KEY_CONTAINER // // MessageText: // // The requested key container does not exist on the smart card // #define STATUS_SMARTCARD_NO_KEY_CONTAINER ((NTSTATUS)0xC0000384L) // // MessageId: STATUS_SMARTCARD_NO_CERTIFICATE // // MessageText: // // The requested certificate does not exist on the smart card // #define STATUS_SMARTCARD_NO_CERTIFICATE ((NTSTATUS)0xC0000385L) // // MessageId: STATUS_SMARTCARD_NO_KEYSET // // MessageText: // // The requested keyset does not exist // #define STATUS_SMARTCARD_NO_KEYSET ((NTSTATUS)0xC0000386L) // // MessageId: STATUS_SMARTCARD_IO_ERROR // // MessageText: // // A communication error with the smart card has been detected. // #define STATUS_SMARTCARD_IO_ERROR ((NTSTATUS)0xC0000387L) // // MessageId: STATUS_DOWNGRADE_DETECTED // // MessageText: // // The system detected a possible attempt to compromise security. Please ensure that you can contact the server that authenticated you. // #define STATUS_DOWNGRADE_DETECTED ((NTSTATUS)0xC0000388L) // // MessageId: STATUS_SMARTCARD_CERT_REVOKED // // MessageText: // // The smartcard certificate used for authentication has been revoked. // Please contact your system administrator. There may be additional information in the // event log. // #define STATUS_SMARTCARD_CERT_REVOKED ((NTSTATUS)0xC0000389L) // // MessageId: STATUS_ISSUING_CA_UNTRUSTED // // MessageText: // // An untrusted certificate authority was detected While processing the // smartcard certificate used for authentication. Please contact your system // administrator. // #define STATUS_ISSUING_CA_UNTRUSTED ((NTSTATUS)0xC000038AL) // // MessageId: STATUS_REVOCATION_OFFLINE_C // // MessageText: // // The revocation status of the smartcard certificate used for // authentication could not be determined. Please contact your system administrator. // #define STATUS_REVOCATION_OFFLINE_C ((NTSTATUS)0xC000038BL) // // MessageId: STATUS_PKINIT_CLIENT_FAILURE // // MessageText: // // The smartcard certificate used for authentication was not trusted. Please // contact your system administrator. // #define STATUS_PKINIT_CLIENT_FAILURE ((NTSTATUS)0xC000038CL) // // MessageId: STATUS_SMARTCARD_CERT_EXPIRED // // MessageText: // // The smartcard certificate used for authentication has expired. Please // contact your system administrator. // #define STATUS_SMARTCARD_CERT_EXPIRED ((NTSTATUS)0xC000038DL) // // MessageId: STATUS_DRIVER_FAILED_PRIOR_UNLOAD // // MessageText: // // The driver could not be loaded because a previous version of the driver is still in memory. // #define STATUS_DRIVER_FAILED_PRIOR_UNLOAD ((NTSTATUS)0xC000038EL) // // MessageId: STATUS_SMARTCARD_SILENT_CONTEXT // // MessageText: // // The smartcard provider could not perform the action since the context was acquired as silent. // #define STATUS_SMARTCARD_SILENT_CONTEXT ((NTSTATUS)0xC000038FL) /* MessageId up to 0x400 is reserved for smart cards */ // // MessageId: STATUS_PER_USER_TRUST_QUOTA_EXCEEDED // // MessageText: // // The current user's delegated trust creation quota has been exceeded. // #define STATUS_PER_USER_TRUST_QUOTA_EXCEEDED ((NTSTATUS)0xC0000401L) // // MessageId: STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED // // MessageText: // // The total delegated trust creation quota has been exceeded. // #define STATUS_ALL_USER_TRUST_QUOTA_EXCEEDED ((NTSTATUS)0xC0000402L) // // MessageId: STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED // // MessageText: // // The current user's delegated trust deletion quota has been exceeded. // #define STATUS_USER_DELETE_TRUST_QUOTA_EXCEEDED ((NTSTATUS)0xC0000403L) // // MessageId: STATUS_DS_NAME_NOT_UNIQUE // // MessageText: // // The requested name already exists as a unique identifier. // #define STATUS_DS_NAME_NOT_UNIQUE ((NTSTATUS)0xC0000404L) // // MessageId: STATUS_DS_DUPLICATE_ID_FOUND // // MessageText: // // The requested object has a non-unique identifier and cannot be retrieved. // #define STATUS_DS_DUPLICATE_ID_FOUND ((NTSTATUS)0xC0000405L) // // MessageId: STATUS_DS_GROUP_CONVERSION_ERROR // // MessageText: // // The group cannot be converted due to attribute restrictions on the requested group type. // #define STATUS_DS_GROUP_CONVERSION_ERROR ((NTSTATUS)0xC0000406L) // // MessageId: STATUS_VOLSNAP_PREPARE_HIBERNATE // // MessageText: // // {Volume Shadow Copy Service} // Please wait while the Volume Shadow Copy Service prepares volume %hs for hibernation. // #define STATUS_VOLSNAP_PREPARE_HIBERNATE ((NTSTATUS)0xC0000407L) // // MessageId: STATUS_USER2USER_REQUIRED // // MessageText: // // Kerberos sub-protocol User2User is required. // #define STATUS_USER2USER_REQUIRED ((NTSTATUS)0xC0000408L) // // MessageId: STATUS_STACK_BUFFER_OVERRUN // // MessageText: // // The system detected an overrun of a stack-based buffer in this application. This // overrun could potentially allow a malicious user to gain control of this application. // #define STATUS_STACK_BUFFER_OVERRUN ((NTSTATUS)0xC0000409L) // // MessageId: STATUS_NO_S4U_PROT_SUPPORT // // MessageText: // // The Kerberos subsystem encountered an error. A service for user protocol request was made // against a domain controller which does not support service for user. // #define STATUS_NO_S4U_PROT_SUPPORT ((NTSTATUS)0xC000040AL) // // MessageId: STATUS_CROSSREALM_DELEGATION_FAILURE // // MessageText: // // An attempt was made by this server to make a Kerberos constrained delegation request for a target // outside of the server's realm. This is not supported, and indicates a misconfiguration on this // server's allowed to delegate to list. Please contact your administrator. // #define STATUS_CROSSREALM_DELEGATION_FAILURE ((NTSTATUS)0xC000040BL) // // MessageId: STATUS_REVOCATION_OFFLINE_KDC // // MessageText: // // The revocation status of the domain controller certificate used for smartcard // authentication could not be determined. There is additional information in the system event // log. Please contact your system administrator. // #define STATUS_REVOCATION_OFFLINE_KDC ((NTSTATUS)0xC000040CL) // // MessageId: STATUS_ISSUING_CA_UNTRUSTED_KDC // // MessageText: // // An untrusted certificate authority was detected while processing the // domain controller certificate used for authentication. There is additional information in // the system event log. Please contact your system administrator. // #define STATUS_ISSUING_CA_UNTRUSTED_KDC ((NTSTATUS)0xC000040DL) // // MessageId: STATUS_KDC_CERT_EXPIRED // // MessageText: // // The domain controller certificate used for smartcard logon has expired. // Please contact your system administrator with the contents of your system event log. // #define STATUS_KDC_CERT_EXPIRED ((NTSTATUS)0xC000040EL) // // MessageId: STATUS_KDC_CERT_REVOKED // // MessageText: // // The domain controller certificate used for smartcard logon has been revoked. // Please contact your system administrator with the contents of your system event log. // #define STATUS_KDC_CERT_REVOKED ((NTSTATUS)0xC000040FL) // // MessageId: STATUS_PARAMETER_QUOTA_EXCEEDED // // MessageText: // // Data present in one of the parameters is more than the function can operate on. // #define STATUS_PARAMETER_QUOTA_EXCEEDED ((NTSTATUS)0xC0000410L) // // MessageId: STATUS_HIBERNATION_FAILURE // // MessageText: // // The system has failed to hibernate (The error code is %hs). Hibernation will be disabled until the system is restarted. // #define STATUS_HIBERNATION_FAILURE ((NTSTATUS)0xC0000411L) // // MessageId: STATUS_DELAY_LOAD_FAILED // // MessageText: // // An attempt to delay-load a .dll or get a function address in a delay-loaded .dll failed. // #define STATUS_DELAY_LOAD_FAILED ((NTSTATUS)0xC0000412L) // // MessageId: STATUS_AUTHENTICATION_FIREWALL_FAILED // // MessageText: // // Logon Failure: The machine you are logging onto is protected by an authentication firewall. The specified account is not allowed to authenticate to the machine. // #define STATUS_AUTHENTICATION_FIREWALL_FAILED ((NTSTATUS)0xC0000413L) // // MessageId: STATUS_VDM_DISALLOWED // // MessageText: // // %hs is a 16-bit application. You do not have permissions to execute 16-bit applications. Check your permissions with your system administrator. // #define STATUS_VDM_DISALLOWED ((NTSTATUS)0xC0000414L) // // MessageId: STATUS_HUNG_DISPLAY_DRIVER_THREAD // // MessageText: // // {Display Driver Stopped Responding} // The %hs display driver has stopped working normally. Save your work and reboot the system to restore full display functionality. // The next time you reboot the machine a dialog will be displayed giving you a chance to report this failure to Microsoft. // #define STATUS_HUNG_DISPLAY_DRIVER_THREAD ((NTSTATUS)0xC0000415L) /*++ MessageId=0x0420 Facility=System Severity=ERROR SymbolicName=STATUS_ASSERTION_FAILURE Language=English An assertion failure has occurred. . --*/ #define STATUS_ASSERTION_FAILURE ((NTSTATUS)0xC0000420L) /*++ MessageId=0x0423 Facility=System Severity=ERROR SymbolicName=STATUS_CALLBACK_POP_STACK Language=English An exception has occurred in a user mode callback and the kernel callback frame should be removed. . --*/ #define STATUS_CALLBACK_POP_STACK ((NTSTATUS)0xC0000423L) /*++ MessageId=0x0424 Facility=System Severity=ERROR SymbolicName=STATUS_INCOMPATIBLE_DRIVER_BLOCKED Language=English %1 has been blocked from loading due to incompatibility with this system. Please contact your software vendor for a compatible version of the driver. . --*/ #define STATUS_INCOMPATIBLE_DRIVER_BLOCKED ((NTSTATUS)0xC0000424L) // // MessageId: STATUS_ENCOUNTERED_WRITE_IN_PROGRESS // // MessageText: // // The attempted write operation encountered a write already in progress for some portion of the range. // #define STATUS_ENCOUNTERED_WRITE_IN_PROGRESS ((NTSTATUS)0xC0000433L) // // MessageId: STATUS_WOW_ASSERTION // // MessageText: // // WOW Assertion Error. // #define STATUS_WOW_ASSERTION ((NTSTATUS)0xC0009898L) // // MessageId: DBG_NO_STATE_CHANGE // // MessageText: // // Debugger did not perform a state change. // #define DBG_NO_STATE_CHANGE ((NTSTATUS)0xC0010001L) // // MessageId: DBG_APP_NOT_IDLE // // MessageText: // // Debugger has found the application is not idle. // #define DBG_APP_NOT_IDLE ((NTSTATUS)0xC0010002L) // // MessageId: RPC_NT_INVALID_STRING_BINDING // // MessageText: // // The string binding is invalid. // #define RPC_NT_INVALID_STRING_BINDING ((NTSTATUS)0xC0020001L) // // MessageId: RPC_NT_WRONG_KIND_OF_BINDING // // MessageText: // // The binding handle is not the correct type. // #define RPC_NT_WRONG_KIND_OF_BINDING ((NTSTATUS)0xC0020002L) // // MessageId: RPC_NT_INVALID_BINDING // // MessageText: // // The binding handle is invalid. // #define RPC_NT_INVALID_BINDING ((NTSTATUS)0xC0020003L) // // MessageId: RPC_NT_PROTSEQ_NOT_SUPPORTED // // MessageText: // // The RPC protocol sequence is not supported. // #define RPC_NT_PROTSEQ_NOT_SUPPORTED ((NTSTATUS)0xC0020004L) // // MessageId: RPC_NT_INVALID_RPC_PROTSEQ // // MessageText: // // The RPC protocol sequence is invalid. // #define RPC_NT_INVALID_RPC_PROTSEQ ((NTSTATUS)0xC0020005L) // // MessageId: RPC_NT_INVALID_STRING_UUID // // MessageText: // // The string UUID is invalid. // #define RPC_NT_INVALID_STRING_UUID ((NTSTATUS)0xC0020006L) // // MessageId: RPC_NT_INVALID_ENDPOINT_FORMAT // // MessageText: // // The endpoint format is invalid. // #define RPC_NT_INVALID_ENDPOINT_FORMAT ((NTSTATUS)0xC0020007L) // // MessageId: RPC_NT_INVALID_NET_ADDR // // MessageText: // // The network address is invalid. // #define RPC_NT_INVALID_NET_ADDR ((NTSTATUS)0xC0020008L) // // MessageId: RPC_NT_NO_ENDPOINT_FOUND // // MessageText: // // No endpoint was found. // #define RPC_NT_NO_ENDPOINT_FOUND ((NTSTATUS)0xC0020009L) // // MessageId: RPC_NT_INVALID_TIMEOUT // // MessageText: // // The timeout value is invalid. // #define RPC_NT_INVALID_TIMEOUT ((NTSTATUS)0xC002000AL) // // MessageId: RPC_NT_OBJECT_NOT_FOUND // // MessageText: // // The object UUID was not found. // #define RPC_NT_OBJECT_NOT_FOUND ((NTSTATUS)0xC002000BL) // // MessageId: RPC_NT_ALREADY_REGISTERED // // MessageText: // // The object UUID has already been registered. // #define RPC_NT_ALREADY_REGISTERED ((NTSTATUS)0xC002000CL) // // MessageId: RPC_NT_TYPE_ALREADY_REGISTERED // // MessageText: // // The type UUID has already been registered. // #define RPC_NT_TYPE_ALREADY_REGISTERED ((NTSTATUS)0xC002000DL) // // MessageId: RPC_NT_ALREADY_LISTENING // // MessageText: // // The RPC server is already listening. // #define RPC_NT_ALREADY_LISTENING ((NTSTATUS)0xC002000EL) // // MessageId: RPC_NT_NO_PROTSEQS_REGISTERED // // MessageText: // // No protocol sequences have been registered. // #define RPC_NT_NO_PROTSEQS_REGISTERED ((NTSTATUS)0xC002000FL) // // MessageId: RPC_NT_NOT_LISTENING // // MessageText: // // The RPC server is not listening. // #define RPC_NT_NOT_LISTENING ((NTSTATUS)0xC0020010L) // // MessageId: RPC_NT_UNKNOWN_MGR_TYPE // // MessageText: // // The manager type is unknown. // #define RPC_NT_UNKNOWN_MGR_TYPE ((NTSTATUS)0xC0020011L) // // MessageId: RPC_NT_UNKNOWN_IF // // MessageText: // // The interface is unknown. // #define RPC_NT_UNKNOWN_IF ((NTSTATUS)0xC0020012L) // // MessageId: RPC_NT_NO_BINDINGS // // MessageText: // // There are no bindings. // #define RPC_NT_NO_BINDINGS ((NTSTATUS)0xC0020013L) // // MessageId: RPC_NT_NO_PROTSEQS // // MessageText: // // There are no protocol sequences. // #define RPC_NT_NO_PROTSEQS ((NTSTATUS)0xC0020014L) // // MessageId: RPC_NT_CANT_CREATE_ENDPOINT // // MessageText: // // The endpoint cannot be created. // #define RPC_NT_CANT_CREATE_ENDPOINT ((NTSTATUS)0xC0020015L) // // MessageId: RPC_NT_OUT_OF_RESOURCES // // MessageText: // // Not enough resources are available to complete this operation. // #define RPC_NT_OUT_OF_RESOURCES ((NTSTATUS)0xC0020016L) // // MessageId: RPC_NT_SERVER_UNAVAILABLE // // MessageText: // // The RPC server is unavailable. // #define RPC_NT_SERVER_UNAVAILABLE ((NTSTATUS)0xC0020017L) // // MessageId: RPC_NT_SERVER_TOO_BUSY // // MessageText: // // The RPC server is too busy to complete this operation. // #define RPC_NT_SERVER_TOO_BUSY ((NTSTATUS)0xC0020018L) // // MessageId: RPC_NT_INVALID_NETWORK_OPTIONS // // MessageText: // // The network options are invalid. // #define RPC_NT_INVALID_NETWORK_OPTIONS ((NTSTATUS)0xC0020019L) // // MessageId: RPC_NT_NO_CALL_ACTIVE // // MessageText: // // There are no remote procedure calls active on this thread. // #define RPC_NT_NO_CALL_ACTIVE ((NTSTATUS)0xC002001AL) // // MessageId: RPC_NT_CALL_FAILED // // MessageText: // // The remote procedure call failed. // #define RPC_NT_CALL_FAILED ((NTSTATUS)0xC002001BL) // // MessageId: RPC_NT_CALL_FAILED_DNE // // MessageText: // // The remote procedure call failed and did not execute. // #define RPC_NT_CALL_FAILED_DNE ((NTSTATUS)0xC002001CL) // // MessageId: RPC_NT_PROTOCOL_ERROR // // MessageText: // // An RPC protocol error occurred. // #define RPC_NT_PROTOCOL_ERROR ((NTSTATUS)0xC002001DL) // // MessageId: RPC_NT_UNSUPPORTED_TRANS_SYN // // MessageText: // // The transfer syntax is not supported by the RPC server. // #define RPC_NT_UNSUPPORTED_TRANS_SYN ((NTSTATUS)0xC002001FL) // // MessageId: RPC_NT_UNSUPPORTED_TYPE // // MessageText: // // The type UUID is not supported. // #define RPC_NT_UNSUPPORTED_TYPE ((NTSTATUS)0xC0020021L) // // MessageId: RPC_NT_INVALID_TAG // // MessageText: // // The tag is invalid. // #define RPC_NT_INVALID_TAG ((NTSTATUS)0xC0020022L) // // MessageId: RPC_NT_INVALID_BOUND // // MessageText: // // The array bounds are invalid. // #define RPC_NT_INVALID_BOUND ((NTSTATUS)0xC0020023L) // // MessageId: RPC_NT_NO_ENTRY_NAME // // MessageText: // // The binding does not contain an entry name. // #define RPC_NT_NO_ENTRY_NAME ((NTSTATUS)0xC0020024L) // // MessageId: RPC_NT_INVALID_NAME_SYNTAX // // MessageText: // // The name syntax is invalid. // #define RPC_NT_INVALID_NAME_SYNTAX ((NTSTATUS)0xC0020025L) // // MessageId: RPC_NT_UNSUPPORTED_NAME_SYNTAX // // MessageText: // // The name syntax is not supported. // #define RPC_NT_UNSUPPORTED_NAME_SYNTAX ((NTSTATUS)0xC0020026L) // // MessageId: RPC_NT_UUID_NO_ADDRESS // // MessageText: // // No network address is available to use to construct a UUID. // #define RPC_NT_UUID_NO_ADDRESS ((NTSTATUS)0xC0020028L) // // MessageId: RPC_NT_DUPLICATE_ENDPOINT // // MessageText: // // The endpoint is a duplicate. // #define RPC_NT_DUPLICATE_ENDPOINT ((NTSTATUS)0xC0020029L) // // MessageId: RPC_NT_UNKNOWN_AUTHN_TYPE // // MessageText: // // The authentication type is unknown. // #define RPC_NT_UNKNOWN_AUTHN_TYPE ((NTSTATUS)0xC002002AL) // // MessageId: RPC_NT_MAX_CALLS_TOO_SMALL // // MessageText: // // The maximum number of calls is too small. // #define RPC_NT_MAX_CALLS_TOO_SMALL ((NTSTATUS)0xC002002BL) // // MessageId: RPC_NT_STRING_TOO_LONG // // MessageText: // // The string is too long. // #define RPC_NT_STRING_TOO_LONG ((NTSTATUS)0xC002002CL) // // MessageId: RPC_NT_PROTSEQ_NOT_FOUND // // MessageText: // // The RPC protocol sequence was not found. // #define RPC_NT_PROTSEQ_NOT_FOUND ((NTSTATUS)0xC002002DL) // // MessageId: RPC_NT_PROCNUM_OUT_OF_RANGE // // MessageText: // // The procedure number is out of range. // #define RPC_NT_PROCNUM_OUT_OF_RANGE ((NTSTATUS)0xC002002EL) // // MessageId: RPC_NT_BINDING_HAS_NO_AUTH // // MessageText: // // The binding does not contain any authentication information. // #define RPC_NT_BINDING_HAS_NO_AUTH ((NTSTATUS)0xC002002FL) // // MessageId: RPC_NT_UNKNOWN_AUTHN_SERVICE // // MessageText: // // The authentication service is unknown. // #define RPC_NT_UNKNOWN_AUTHN_SERVICE ((NTSTATUS)0xC0020030L) // // MessageId: RPC_NT_UNKNOWN_AUTHN_LEVEL // // MessageText: // // The authentication level is unknown. // #define RPC_NT_UNKNOWN_AUTHN_LEVEL ((NTSTATUS)0xC0020031L) // // MessageId: RPC_NT_INVALID_AUTH_IDENTITY // // MessageText: // // The security context is invalid. // #define RPC_NT_INVALID_AUTH_IDENTITY ((NTSTATUS)0xC0020032L) // // MessageId: RPC_NT_UNKNOWN_AUTHZ_SERVICE // // MessageText: // // The authorization service is unknown. // #define RPC_NT_UNKNOWN_AUTHZ_SERVICE ((NTSTATUS)0xC0020033L) // // MessageId: EPT_NT_INVALID_ENTRY // // MessageText: // // The entry is invalid. // #define EPT_NT_INVALID_ENTRY ((NTSTATUS)0xC0020034L) // // MessageId: EPT_NT_CANT_PERFORM_OP // // MessageText: // // The operation cannot be performed. // #define EPT_NT_CANT_PERFORM_OP ((NTSTATUS)0xC0020035L) // // MessageId: EPT_NT_NOT_REGISTERED // // MessageText: // // There are no more endpoints available from the endpoint mapper. // #define EPT_NT_NOT_REGISTERED ((NTSTATUS)0xC0020036L) // // MessageId: RPC_NT_NOTHING_TO_EXPORT // // MessageText: // // No interfaces have been exported. // #define RPC_NT_NOTHING_TO_EXPORT ((NTSTATUS)0xC0020037L) // // MessageId: RPC_NT_INCOMPLETE_NAME // // MessageText: // // The entry name is incomplete. // #define RPC_NT_INCOMPLETE_NAME ((NTSTATUS)0xC0020038L) // // MessageId: RPC_NT_INVALID_VERS_OPTION // // MessageText: // // The version option is invalid. // #define RPC_NT_INVALID_VERS_OPTION ((NTSTATUS)0xC0020039L) // // MessageId: RPC_NT_NO_MORE_MEMBERS // // MessageText: // // There are no more members. // #define RPC_NT_NO_MORE_MEMBERS ((NTSTATUS)0xC002003AL) // // MessageId: RPC_NT_NOT_ALL_OBJS_UNEXPORTED // // MessageText: // // There is nothing to unexport. // #define RPC_NT_NOT_ALL_OBJS_UNEXPORTED ((NTSTATUS)0xC002003BL) // // MessageId: RPC_NT_INTERFACE_NOT_FOUND // // MessageText: // // The interface was not found. // #define RPC_NT_INTERFACE_NOT_FOUND ((NTSTATUS)0xC002003CL) // // MessageId: RPC_NT_ENTRY_ALREADY_EXISTS // // MessageText: // // The entry already exists. // #define RPC_NT_ENTRY_ALREADY_EXISTS ((NTSTATUS)0xC002003DL) // // MessageId: RPC_NT_ENTRY_NOT_FOUND // // MessageText: // // The entry is not found. // #define RPC_NT_ENTRY_NOT_FOUND ((NTSTATUS)0xC002003EL) // // MessageId: RPC_NT_NAME_SERVICE_UNAVAILABLE // // MessageText: // // The name service is unavailable. // #define RPC_NT_NAME_SERVICE_UNAVAILABLE ((NTSTATUS)0xC002003FL) // // MessageId: RPC_NT_INVALID_NAF_ID // // MessageText: // // The network address family is invalid. // #define RPC_NT_INVALID_NAF_ID ((NTSTATUS)0xC0020040L) // // MessageId: RPC_NT_CANNOT_SUPPORT // // MessageText: // // The requested operation is not supported. // #define RPC_NT_CANNOT_SUPPORT ((NTSTATUS)0xC0020041L) // // MessageId: RPC_NT_NO_CONTEXT_AVAILABLE // // MessageText: // // No security context is available to allow impersonation. // #define RPC_NT_NO_CONTEXT_AVAILABLE ((NTSTATUS)0xC0020042L) // // MessageId: RPC_NT_INTERNAL_ERROR // // MessageText: // // An internal error occurred in RPC. // #define RPC_NT_INTERNAL_ERROR ((NTSTATUS)0xC0020043L) // // MessageId: RPC_NT_ZERO_DIVIDE // // MessageText: // // The RPC server attempted an integer divide by zero. // #define RPC_NT_ZERO_DIVIDE ((NTSTATUS)0xC0020044L) // // MessageId: RPC_NT_ADDRESS_ERROR // // MessageText: // // An addressing error occurred in the RPC server. // #define RPC_NT_ADDRESS_ERROR ((NTSTATUS)0xC0020045L) // // MessageId: RPC_NT_FP_DIV_ZERO // // MessageText: // // A floating point operation at the RPC server caused a divide by zero. // #define RPC_NT_FP_DIV_ZERO ((NTSTATUS)0xC0020046L) // // MessageId: RPC_NT_FP_UNDERFLOW // // MessageText: // // A floating point underflow occurred at the RPC server. // #define RPC_NT_FP_UNDERFLOW ((NTSTATUS)0xC0020047L) // // MessageId: RPC_NT_FP_OVERFLOW // // MessageText: // // A floating point overflow occurred at the RPC server. // #define RPC_NT_FP_OVERFLOW ((NTSTATUS)0xC0020048L) // // MessageId: RPC_NT_NO_MORE_ENTRIES // // MessageText: // // The list of RPC servers available for auto-handle binding has been exhausted. // #define RPC_NT_NO_MORE_ENTRIES ((NTSTATUS)0xC0030001L) // // MessageId: RPC_NT_SS_CHAR_TRANS_OPEN_FAIL // // MessageText: // // The file designated by DCERPCCHARTRANS cannot be opened. // #define RPC_NT_SS_CHAR_TRANS_OPEN_FAIL ((NTSTATUS)0xC0030002L) // // MessageId: RPC_NT_SS_CHAR_TRANS_SHORT_FILE // // MessageText: // // The file containing the character translation table has fewer than 512 bytes. // #define RPC_NT_SS_CHAR_TRANS_SHORT_FILE ((NTSTATUS)0xC0030003L) // // MessageId: RPC_NT_SS_IN_NULL_CONTEXT // // MessageText: // // A null context handle is passed as an [in] parameter. // #define RPC_NT_SS_IN_NULL_CONTEXT ((NTSTATUS)0xC0030004L) // // MessageId: RPC_NT_SS_CONTEXT_MISMATCH // // MessageText: // // The context handle does not match any known context handles. // #define RPC_NT_SS_CONTEXT_MISMATCH ((NTSTATUS)0xC0030005L) // // MessageId: RPC_NT_SS_CONTEXT_DAMAGED // // MessageText: // // The context handle changed during a call. // #define RPC_NT_SS_CONTEXT_DAMAGED ((NTSTATUS)0xC0030006L) // // MessageId: RPC_NT_SS_HANDLES_MISMATCH // // MessageText: // // The binding handles passed to a remote procedure call do not match. // #define RPC_NT_SS_HANDLES_MISMATCH ((NTSTATUS)0xC0030007L) // // MessageId: RPC_NT_SS_CANNOT_GET_CALL_HANDLE // // MessageText: // // The stub is unable to get the call handle. // #define RPC_NT_SS_CANNOT_GET_CALL_HANDLE ((NTSTATUS)0xC0030008L) // // MessageId: RPC_NT_NULL_REF_POINTER // // MessageText: // // A null reference pointer was passed to the stub. // #define RPC_NT_NULL_REF_POINTER ((NTSTATUS)0xC0030009L) // // MessageId: RPC_NT_ENUM_VALUE_OUT_OF_RANGE // // MessageText: // // The enumeration value is out of range. // #define RPC_NT_ENUM_VALUE_OUT_OF_RANGE ((NTSTATUS)0xC003000AL) // // MessageId: RPC_NT_BYTE_COUNT_TOO_SMALL // // MessageText: // // The byte count is too small. // #define RPC_NT_BYTE_COUNT_TOO_SMALL ((NTSTATUS)0xC003000BL) // // MessageId: RPC_NT_BAD_STUB_DATA // // MessageText: // // The stub received bad data. // #define RPC_NT_BAD_STUB_DATA ((NTSTATUS)0xC003000CL) // // MessageId: RPC_NT_CALL_IN_PROGRESS // // MessageText: // // A remote procedure call is already in progress for this thread. // #define RPC_NT_CALL_IN_PROGRESS ((NTSTATUS)0xC0020049L) // // MessageId: RPC_NT_NO_MORE_BINDINGS // // MessageText: // // There are no more bindings. // #define RPC_NT_NO_MORE_BINDINGS ((NTSTATUS)0xC002004AL) // // MessageId: RPC_NT_GROUP_MEMBER_NOT_FOUND // // MessageText: // // The group member was not found. // #define RPC_NT_GROUP_MEMBER_NOT_FOUND ((NTSTATUS)0xC002004BL) // // MessageId: EPT_NT_CANT_CREATE // // MessageText: // // The endpoint mapper database entry could not be created. // #define EPT_NT_CANT_CREATE ((NTSTATUS)0xC002004CL) // // MessageId: RPC_NT_INVALID_OBJECT // // MessageText: // // The object UUID is the nil UUID. // #define RPC_NT_INVALID_OBJECT ((NTSTATUS)0xC002004DL) // // MessageId: RPC_NT_NO_INTERFACES // // MessageText: // // No interfaces have been registered. // #define RPC_NT_NO_INTERFACES ((NTSTATUS)0xC002004FL) // // MessageId: RPC_NT_CALL_CANCELLED // // MessageText: // // The remote procedure call was cancelled. // #define RPC_NT_CALL_CANCELLED ((NTSTATUS)0xC0020050L) // // MessageId: RPC_NT_BINDING_INCOMPLETE // // MessageText: // // The binding handle does not contain all required information. // #define RPC_NT_BINDING_INCOMPLETE ((NTSTATUS)0xC0020051L) // // MessageId: RPC_NT_COMM_FAILURE // // MessageText: // // A communications failure occurred during a remote procedure call. // #define RPC_NT_COMM_FAILURE ((NTSTATUS)0xC0020052L) // // MessageId: RPC_NT_UNSUPPORTED_AUTHN_LEVEL // // MessageText: // // The requested authentication level is not supported. // #define RPC_NT_UNSUPPORTED_AUTHN_LEVEL ((NTSTATUS)0xC0020053L) // // MessageId: RPC_NT_NO_PRINC_NAME // // MessageText: // // No principal name registered. // #define RPC_NT_NO_PRINC_NAME ((NTSTATUS)0xC0020054L) // // MessageId: RPC_NT_NOT_RPC_ERROR // // MessageText: // // The error specified is not a valid Windows RPC error code. // #define RPC_NT_NOT_RPC_ERROR ((NTSTATUS)0xC0020055L) // // MessageId: RPC_NT_UUID_LOCAL_ONLY // // MessageText: // // A UUID that is valid only on this computer has been allocated. // #define RPC_NT_UUID_LOCAL_ONLY ((NTSTATUS)0x40020056L) // // MessageId: RPC_NT_SEC_PKG_ERROR // // MessageText: // // A security package specific error occurred. // #define RPC_NT_SEC_PKG_ERROR ((NTSTATUS)0xC0020057L) // // MessageId: RPC_NT_NOT_CANCELLED // // MessageText: // // Thread is not cancelled. // #define RPC_NT_NOT_CANCELLED ((NTSTATUS)0xC0020058L) // // MessageId: RPC_NT_INVALID_ES_ACTION // // MessageText: // // Invalid operation on the encoding/decoding handle. // #define RPC_NT_INVALID_ES_ACTION ((NTSTATUS)0xC0030059L) // // MessageId: RPC_NT_WRONG_ES_VERSION // // MessageText: // // Incompatible version of the serializing package. // #define RPC_NT_WRONG_ES_VERSION ((NTSTATUS)0xC003005AL) // // MessageId: RPC_NT_WRONG_STUB_VERSION // // MessageText: // // Incompatible version of the RPC stub. // #define RPC_NT_WRONG_STUB_VERSION ((NTSTATUS)0xC003005BL) // // MessageId: RPC_NT_INVALID_PIPE_OBJECT // // MessageText: // // The RPC pipe object is invalid or corrupted. // #define RPC_NT_INVALID_PIPE_OBJECT ((NTSTATUS)0xC003005CL) // // MessageId: RPC_NT_INVALID_PIPE_OPERATION // // MessageText: // // An invalid operation was attempted on an RPC pipe object. // #define RPC_NT_INVALID_PIPE_OPERATION ((NTSTATUS)0xC003005DL) // // MessageId: RPC_NT_WRONG_PIPE_VERSION // // MessageText: // // Unsupported RPC pipe version. // #define RPC_NT_WRONG_PIPE_VERSION ((NTSTATUS)0xC003005EL) // // MessageId: RPC_NT_PIPE_CLOSED // // MessageText: // // The RPC pipe object has already been closed. // #define RPC_NT_PIPE_CLOSED ((NTSTATUS)0xC003005FL) // // MessageId: RPC_NT_PIPE_DISCIPLINE_ERROR // // MessageText: // // The RPC call completed before all pipes were processed. // #define RPC_NT_PIPE_DISCIPLINE_ERROR ((NTSTATUS)0xC0030060L) // // MessageId: RPC_NT_PIPE_EMPTY // // MessageText: // // No more data is available from the RPC pipe. // #define RPC_NT_PIPE_EMPTY ((NTSTATUS)0xC0030061L) // // MessageId: RPC_NT_INVALID_ASYNC_HANDLE // // MessageText: // // Invalid asynchronous remote procedure call handle. // #define RPC_NT_INVALID_ASYNC_HANDLE ((NTSTATUS)0xC0020062L) // // MessageId: RPC_NT_INVALID_ASYNC_CALL // // MessageText: // // Invalid asynchronous RPC call handle for this operation. // #define RPC_NT_INVALID_ASYNC_CALL ((NTSTATUS)0xC0020063L) // // MessageId: RPC_NT_SEND_INCOMPLETE // // MessageText: // // Some data remains to be sent in the request buffer. // #define RPC_NT_SEND_INCOMPLETE ((NTSTATUS)0x400200AFL) // // MessageId: STATUS_ACPI_INVALID_OPCODE // // MessageText: // // An attempt was made to run an invalid AML opcode // #define STATUS_ACPI_INVALID_OPCODE ((NTSTATUS)0xC0140001L) // // MessageId: STATUS_ACPI_STACK_OVERFLOW // // MessageText: // // The AML Interpreter Stack has overflowed // #define STATUS_ACPI_STACK_OVERFLOW ((NTSTATUS)0xC0140002L) // // MessageId: STATUS_ACPI_ASSERT_FAILED // // MessageText: // // An inconsistent state has occurred // #define STATUS_ACPI_ASSERT_FAILED ((NTSTATUS)0xC0140003L) // // MessageId: STATUS_ACPI_INVALID_INDEX // // MessageText: // // An attempt was made to access an array outside of its bounds // #define STATUS_ACPI_INVALID_INDEX ((NTSTATUS)0xC0140004L) // // MessageId: STATUS_ACPI_INVALID_ARGUMENT // // MessageText: // // A required argument was not specified // #define STATUS_ACPI_INVALID_ARGUMENT ((NTSTATUS)0xC0140005L) // // MessageId: STATUS_ACPI_FATAL // // MessageText: // // A fatal error has occurred // #define STATUS_ACPI_FATAL ((NTSTATUS)0xC0140006L) // // MessageId: STATUS_ACPI_INVALID_SUPERNAME // // MessageText: // // An invalid SuperName was specified // #define STATUS_ACPI_INVALID_SUPERNAME ((NTSTATUS)0xC0140007L) // // MessageId: STATUS_ACPI_INVALID_ARGTYPE // // MessageText: // // An argument with an incorrect type was specified // #define STATUS_ACPI_INVALID_ARGTYPE ((NTSTATUS)0xC0140008L) // // MessageId: STATUS_ACPI_INVALID_OBJTYPE // // MessageText: // // An object with an incorrect type was specified // #define STATUS_ACPI_INVALID_OBJTYPE ((NTSTATUS)0xC0140009L) // // MessageId: STATUS_ACPI_INVALID_TARGETTYPE // // MessageText: // // A target with an incorrect type was specified // #define STATUS_ACPI_INVALID_TARGETTYPE ((NTSTATUS)0xC014000AL) // // MessageId: STATUS_ACPI_INCORRECT_ARGUMENT_COUNT // // MessageText: // // An incorrect number of arguments were specified // #define STATUS_ACPI_INCORRECT_ARGUMENT_COUNT ((NTSTATUS)0xC014000BL) // // MessageId: STATUS_ACPI_ADDRESS_NOT_MAPPED // // MessageText: // // An address failed to translate // #define STATUS_ACPI_ADDRESS_NOT_MAPPED ((NTSTATUS)0xC014000CL) // // MessageId: STATUS_ACPI_INVALID_EVENTTYPE // // MessageText: // // An incorrect event type was specified // #define STATUS_ACPI_INVALID_EVENTTYPE ((NTSTATUS)0xC014000DL) // // MessageId: STATUS_ACPI_HANDLER_COLLISION // // MessageText: // // A handler for the target already exists // #define STATUS_ACPI_HANDLER_COLLISION ((NTSTATUS)0xC014000EL) // // MessageId: STATUS_ACPI_INVALID_DATA // // MessageText: // // Invalid data for the target was specified // #define STATUS_ACPI_INVALID_DATA ((NTSTATUS)0xC014000FL) // // MessageId: STATUS_ACPI_INVALID_REGION // // MessageText: // // An invalid region for the target was specified // #define STATUS_ACPI_INVALID_REGION ((NTSTATUS)0xC0140010L) // // MessageId: STATUS_ACPI_INVALID_ACCESS_SIZE // // MessageText: // // An attempt was made to access a field outside of the defined range // #define STATUS_ACPI_INVALID_ACCESS_SIZE ((NTSTATUS)0xC0140011L) // // MessageId: STATUS_ACPI_ACQUIRE_GLOBAL_LOCK // // MessageText: // // The Global system lock could not be acquired // #define STATUS_ACPI_ACQUIRE_GLOBAL_LOCK ((NTSTATUS)0xC0140012L) // // MessageId: STATUS_ACPI_ALREADY_INITIALIZED // // MessageText: // // An attempt was made to reinitialize the ACPI subsystem // #define STATUS_ACPI_ALREADY_INITIALIZED ((NTSTATUS)0xC0140013L) // // MessageId: STATUS_ACPI_NOT_INITIALIZED // // MessageText: // // The ACPI subsystem has not been initialized // #define STATUS_ACPI_NOT_INITIALIZED ((NTSTATUS)0xC0140014L) // // MessageId: STATUS_ACPI_INVALID_MUTEX_LEVEL // // MessageText: // // An incorrect mutex was specified // #define STATUS_ACPI_INVALID_MUTEX_LEVEL ((NTSTATUS)0xC0140015L) // // MessageId: STATUS_ACPI_MUTEX_NOT_OWNED // // MessageText: // // The mutex is not currently owned // #define STATUS_ACPI_MUTEX_NOT_OWNED ((NTSTATUS)0xC0140016L) // // MessageId: STATUS_ACPI_MUTEX_NOT_OWNER // // MessageText: // // An attempt was made to access the mutex by a process that was not the owner // #define STATUS_ACPI_MUTEX_NOT_OWNER ((NTSTATUS)0xC0140017L) // // MessageId: STATUS_ACPI_RS_ACCESS // // MessageText: // // An error occurred during an access to Region Space // #define STATUS_ACPI_RS_ACCESS ((NTSTATUS)0xC0140018L) // // MessageId: STATUS_ACPI_INVALID_TABLE // // MessageText: // // An attempt was made to use an incorrect table // #define STATUS_ACPI_INVALID_TABLE ((NTSTATUS)0xC0140019L) // // MessageId: STATUS_ACPI_REG_HANDLER_FAILED // // MessageText: // // The registration of an ACPI event failed // #define STATUS_ACPI_REG_HANDLER_FAILED ((NTSTATUS)0xC0140020L) // // MessageId: STATUS_ACPI_POWER_REQUEST_FAILED // // MessageText: // // An ACPI Power Object failed to transition state // #define STATUS_ACPI_POWER_REQUEST_FAILED ((NTSTATUS)0xC0140021L) // // Terminal Server specific Errors // // // MessageId: STATUS_CTX_WINSTATION_NAME_INVALID // // MessageText: // // Session name %1 is invalid. // #define STATUS_CTX_WINSTATION_NAME_INVALID ((NTSTATUS)0xC00A0001L) // // MessageId: STATUS_CTX_INVALID_PD // // MessageText: // // The protocol driver %1 is invalid. // #define STATUS_CTX_INVALID_PD ((NTSTATUS)0xC00A0002L) // // MessageId: STATUS_CTX_PD_NOT_FOUND // // MessageText: // // The protocol driver %1 was not found in the system path. // #define STATUS_CTX_PD_NOT_FOUND ((NTSTATUS)0xC00A0003L) // // MessageId: STATUS_CTX_CDM_CONNECT // // MessageText: // // The Client Drive Mapping Service Has Connected on Terminal Connection. // #define STATUS_CTX_CDM_CONNECT ((NTSTATUS)0x400A0004L) // // MessageId: STATUS_CTX_CDM_DISCONNECT // // MessageText: // // The Client Drive Mapping Service Has Disconnected on Terminal Connection. // #define STATUS_CTX_CDM_DISCONNECT ((NTSTATUS)0x400A0005L) // // MessageId: STATUS_CTX_CLOSE_PENDING // // MessageText: // // A close operation is pending on the Terminal Connection. // #define STATUS_CTX_CLOSE_PENDING ((NTSTATUS)0xC00A0006L) // // MessageId: STATUS_CTX_NO_OUTBUF // // MessageText: // // There are no free output buffers available. // #define STATUS_CTX_NO_OUTBUF ((NTSTATUS)0xC00A0007L) // // MessageId: STATUS_CTX_MODEM_INF_NOT_FOUND // // MessageText: // // The MODEM.INF file was not found. // #define STATUS_CTX_MODEM_INF_NOT_FOUND ((NTSTATUS)0xC00A0008L) // // MessageId: STATUS_CTX_INVALID_MODEMNAME // // MessageText: // // The modem (%1) was not found in MODEM.INF. // #define STATUS_CTX_INVALID_MODEMNAME ((NTSTATUS)0xC00A0009L) // // MessageId: STATUS_CTX_RESPONSE_ERROR // // MessageText: // // The modem did not accept the command sent to it. // Verify the configured modem name matches the attached modem. // #define STATUS_CTX_RESPONSE_ERROR ((NTSTATUS)0xC00A000AL) // // MessageId: STATUS_CTX_MODEM_RESPONSE_TIMEOUT // // MessageText: // // The modem did not respond to the command sent to it. // Verify the modem is properly cabled and powered on. // #define STATUS_CTX_MODEM_RESPONSE_TIMEOUT ((NTSTATUS)0xC00A000BL) // // MessageId: STATUS_CTX_MODEM_RESPONSE_NO_CARRIER // // MessageText: // // Carrier detect has failed or carrier has been dropped due to disconnect. // #define STATUS_CTX_MODEM_RESPONSE_NO_CARRIER ((NTSTATUS)0xC00A000CL) // // MessageId: STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE // // MessageText: // // Dial tone not detected within required time. // Verify phone cable is properly attached and functional. // #define STATUS_CTX_MODEM_RESPONSE_NO_DIALTONE ((NTSTATUS)0xC00A000DL) // // MessageId: STATUS_CTX_MODEM_RESPONSE_BUSY // // MessageText: // // Busy signal detected at remote site on callback. // #define STATUS_CTX_MODEM_RESPONSE_BUSY ((NTSTATUS)0xC00A000EL) // // MessageId: STATUS_CTX_MODEM_RESPONSE_VOICE // // MessageText: // // Voice detected at remote site on callback. // #define STATUS_CTX_MODEM_RESPONSE_VOICE ((NTSTATUS)0xC00A000FL) // // MessageId: STATUS_CTX_TD_ERROR // // MessageText: // // Transport driver error // #define STATUS_CTX_TD_ERROR ((NTSTATUS)0xC00A0010L) // // MessageId: STATUS_CTX_LICENSE_CLIENT_INVALID // // MessageText: // // The client you are using is not licensed to use this system. Your logon request is denied. // #define STATUS_CTX_LICENSE_CLIENT_INVALID ((NTSTATUS)0xC00A0012L) // // MessageId: STATUS_CTX_LICENSE_NOT_AVAILABLE // // MessageText: // // The system has reached its licensed logon limit. // Please try again later. // #define STATUS_CTX_LICENSE_NOT_AVAILABLE ((NTSTATUS)0xC00A0013L) // // MessageId: STATUS_CTX_LICENSE_EXPIRED // // MessageText: // // The system license has expired. Your logon request is denied. // #define STATUS_CTX_LICENSE_EXPIRED ((NTSTATUS)0xC00A0014L) // // MessageId: STATUS_CTX_WINSTATION_NOT_FOUND // // MessageText: // // The specified session cannot be found. // #define STATUS_CTX_WINSTATION_NOT_FOUND ((NTSTATUS)0xC00A0015L) // // MessageId: STATUS_CTX_WINSTATION_NAME_COLLISION // // MessageText: // // The specified session name is already in use. // #define STATUS_CTX_WINSTATION_NAME_COLLISION ((NTSTATUS)0xC00A0016L) // // MessageId: STATUS_CTX_WINSTATION_BUSY // // MessageText: // // The requested operation cannot be completed because the Terminal Connection is currently busy processing a connect, disconnect, reset, or delete operation. // #define STATUS_CTX_WINSTATION_BUSY ((NTSTATUS)0xC00A0017L) // // MessageId: STATUS_CTX_BAD_VIDEO_MODE // // MessageText: // // An attempt has been made to connect to a session whose video mode is not supported by the current client. // #define STATUS_CTX_BAD_VIDEO_MODE ((NTSTATUS)0xC00A0018L) // // MessageId: STATUS_CTX_GRAPHICS_INVALID // // MessageText: // // The application attempted to enable DOS graphics mode. // DOS graphics mode is not supported. // #define STATUS_CTX_GRAPHICS_INVALID ((NTSTATUS)0xC00A0022L) // // MessageId: STATUS_CTX_NOT_CONSOLE // // MessageText: // // The requested operation can be performed only on the system console. // This is most often the result of a driver or system DLL requiring direct console access. // #define STATUS_CTX_NOT_CONSOLE ((NTSTATUS)0xC00A0024L) // // MessageId: STATUS_CTX_CLIENT_QUERY_TIMEOUT // // MessageText: // // The client failed to respond to the server connect message. // #define STATUS_CTX_CLIENT_QUERY_TIMEOUT ((NTSTATUS)0xC00A0026L) // // MessageId: STATUS_CTX_CONSOLE_DISCONNECT // // MessageText: // // Disconnecting the console session is not supported. // #define STATUS_CTX_CONSOLE_DISCONNECT ((NTSTATUS)0xC00A0027L) // // MessageId: STATUS_CTX_CONSOLE_CONNECT // // MessageText: // // Reconnecting a disconnected session to the console is not supported. // #define STATUS_CTX_CONSOLE_CONNECT ((NTSTATUS)0xC00A0028L) // // MessageId: STATUS_CTX_SHADOW_DENIED // // MessageText: // // The request to control another session remotely was denied. // #define STATUS_CTX_SHADOW_DENIED ((NTSTATUS)0xC00A002AL) // // MessageId: STATUS_CTX_WINSTATION_ACCESS_DENIED // // MessageText: // // A process has requested access to a session, but has not been granted those access rights. // #define STATUS_CTX_WINSTATION_ACCESS_DENIED ((NTSTATUS)0xC00A002BL) // // MessageId: STATUS_CTX_INVALID_WD // // MessageText: // // The Terminal Connection driver %1 is invalid. // #define STATUS_CTX_INVALID_WD ((NTSTATUS)0xC00A002EL) // // MessageId: STATUS_CTX_WD_NOT_FOUND // // MessageText: // // The Terminal Connection driver %1 was not found in the system path. // #define STATUS_CTX_WD_NOT_FOUND ((NTSTATUS)0xC00A002FL) // // MessageId: STATUS_CTX_SHADOW_INVALID // // MessageText: // // The requested session cannot be controlled remotely. // You cannot control your own session, a session that is trying to control your session, // a session that has no user logged on, nor control other sessions from the console. // #define STATUS_CTX_SHADOW_INVALID ((NTSTATUS)0xC00A0030L) // // MessageId: STATUS_CTX_SHADOW_DISABLED // // MessageText: // // The requested session is not configured to allow remote control. // #define STATUS_CTX_SHADOW_DISABLED ((NTSTATUS)0xC00A0031L) // // MessageId: STATUS_RDP_PROTOCOL_ERROR // // MessageText: // // The RDP protocol component %2 detected an error in the protocol stream and has disconnected the client. // #define STATUS_RDP_PROTOCOL_ERROR ((NTSTATUS)0xC00A0032L) // // MessageId: STATUS_CTX_CLIENT_LICENSE_NOT_SET // // MessageText: // // Your request to connect to this Terminal server has been rejected. // Your Terminal Server Client license number has not been entered for this copy of the Terminal Client. // Please call your system administrator for help in entering a valid, unique license number for this Terminal Server Client. // Click OK to continue. // #define STATUS_CTX_CLIENT_LICENSE_NOT_SET ((NTSTATUS)0xC00A0033L) // // MessageId: STATUS_CTX_CLIENT_LICENSE_IN_USE // // MessageText: // // Your request to connect to this Terminal server has been rejected. // Your Terminal Server Client license number is currently being used by another user. // Please call your system administrator to obtain a new copy of the Terminal Server Client with a valid, unique license number. // Click OK to continue. // #define STATUS_CTX_CLIENT_LICENSE_IN_USE ((NTSTATUS)0xC00A0034L) // // MessageId: STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE // // MessageText: // // The remote control of the console was terminated because the display mode was changed. Changing the display mode in a remote control session is not supported. // #define STATUS_CTX_SHADOW_ENDED_BY_MODE_CHANGE ((NTSTATUS)0xC00A0035L) // // MessageId: STATUS_CTX_SHADOW_NOT_RUNNING // // MessageText: // // Remote control could not be terminated because the specified session is not currently being remotely controlled. // #define STATUS_CTX_SHADOW_NOT_RUNNING ((NTSTATUS)0xC00A0036L) // // MessageId: STATUS_PNP_BAD_MPS_TABLE // // MessageText: // // A device is missing in the system BIOS MPS table. This device will not be used. // Please contact your system vendor for system BIOS update. // #define STATUS_PNP_BAD_MPS_TABLE ((NTSTATUS)0xC0040035L) // // MessageId: STATUS_PNP_TRANSLATION_FAILED // // MessageText: // // A translator failed to translate resources. // #define STATUS_PNP_TRANSLATION_FAILED ((NTSTATUS)0xC0040036L) // // MessageId: STATUS_PNP_IRQ_TRANSLATION_FAILED // // MessageText: // // A IRQ translator failed to translate resources. // #define STATUS_PNP_IRQ_TRANSLATION_FAILED ((NTSTATUS)0xC0040037L) // // MessageId: STATUS_PNP_INVALID_ID // // MessageText: // // Driver %2 returned invalid ID for a child device (%3). // #define STATUS_PNP_INVALID_ID ((NTSTATUS)0xC0040038L) // // MessageId: STATUS_SXS_SECTION_NOT_FOUND // // MessageText: // // The requested section is not present in the activation context. // #define STATUS_SXS_SECTION_NOT_FOUND ((NTSTATUS)0xC0150001L) // // MessageId: STATUS_SXS_CANT_GEN_ACTCTX // // MessageText: // // Windows was not able to process the application binding information. // Please refer to your System Event Log for further information. // #define STATUS_SXS_CANT_GEN_ACTCTX ((NTSTATUS)0xC0150002L) // // MessageId: STATUS_SXS_INVALID_ACTCTXDATA_FORMAT // // MessageText: // // The application binding data format is invalid. // #define STATUS_SXS_INVALID_ACTCTXDATA_FORMAT ((NTSTATUS)0xC0150003L) // // MessageId: STATUS_SXS_ASSEMBLY_NOT_FOUND // // MessageText: // // The referenced assembly is not installed on your system. // #define STATUS_SXS_ASSEMBLY_NOT_FOUND ((NTSTATUS)0xC0150004L) // // MessageId: STATUS_SXS_MANIFEST_FORMAT_ERROR // // MessageText: // // The manifest file does not begin with the required tag and format information. // #define STATUS_SXS_MANIFEST_FORMAT_ERROR ((NTSTATUS)0xC0150005L) // // MessageId: STATUS_SXS_MANIFEST_PARSE_ERROR // // MessageText: // // The manifest file contains one or more syntax errors. // #define STATUS_SXS_MANIFEST_PARSE_ERROR ((NTSTATUS)0xC0150006L) // // MessageId: STATUS_SXS_ACTIVATION_CONTEXT_DISABLED // // MessageText: // // The application attempted to activate a disabled activation context. // #define STATUS_SXS_ACTIVATION_CONTEXT_DISABLED ((NTSTATUS)0xC0150007L) // // MessageId: STATUS_SXS_KEY_NOT_FOUND // // MessageText: // // The requested lookup key was not found in any active activation context. // #define STATUS_SXS_KEY_NOT_FOUND ((NTSTATUS)0xC0150008L) // // MessageId: STATUS_SXS_VERSION_CONFLICT // // MessageText: // // A component version required by the application conflicts with another component version already active. // #define STATUS_SXS_VERSION_CONFLICT ((NTSTATUS)0xC0150009L) // // MessageId: STATUS_SXS_WRONG_SECTION_TYPE // // MessageText: // // The type requested activation context section does not match the query API used. // #define STATUS_SXS_WRONG_SECTION_TYPE ((NTSTATUS)0xC015000AL) // // MessageId: STATUS_SXS_THREAD_QUERIES_DISABLED // // MessageText: // // Lack of system resources has required isolated activation to be disabled for the current thread of execution. // #define STATUS_SXS_THREAD_QUERIES_DISABLED ((NTSTATUS)0xC015000BL) // // MessageId: STATUS_SXS_ASSEMBLY_MISSING // // MessageText: // // The referenced assembly could not be found. // #define STATUS_SXS_ASSEMBLY_MISSING ((NTSTATUS)0xC015000CL) // // MessageId: STATUS_SXS_RELEASE_ACTIVATION_CONTEXT // // MessageText: // // A kernel mode component is releasing a reference on an activation context. // #define STATUS_SXS_RELEASE_ACTIVATION_CONTEXT ((NTSTATUS)0x4015000DL) // // MessageId: STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET // // MessageText: // // An attempt to set the process default activation context failed because the process default activation context was already set. // #define STATUS_SXS_PROCESS_DEFAULT_ALREADY_SET ((NTSTATUS)0xC015000EL) #if defined(STATUS_SUCCESS) || (_WIN32_WINNT > 0x0500) || (_WIN32_FUSION >= 0x0100) // winnt // // MessageId: STATUS_SXS_EARLY_DEACTIVATION // // MessageText: // // The activation context being deactivated is not the most recently activated one. // #define STATUS_SXS_EARLY_DEACTIVATION ((NTSTATUS)0xC015000FL) // winnt // // MessageId: STATUS_SXS_INVALID_DEACTIVATION // // MessageText: // // The activation context being deactivated is not active for the current thread of execution. // #define STATUS_SXS_INVALID_DEACTIVATION ((NTSTATUS)0xC0150010L) // winnt #endif // winnt // // MessageId: STATUS_SXS_MULTIPLE_DEACTIVATION // // MessageText: // // The activation context being deactivated has already been deactivated. // #define STATUS_SXS_MULTIPLE_DEACTIVATION ((NTSTATUS)0xC0150011L) // // MessageId: STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY // // MessageText: // // The activation context of system default assembly could not be generated. // #define STATUS_SXS_SYSTEM_DEFAULT_ACTIVATION_CONTEXT_EMPTY ((NTSTATUS)0xC0150012L) // // MessageId: STATUS_SXS_PROCESS_TERMINATION_REQUESTED // // MessageText: // // A component used by the isolation facility has requested to terminate the process. // #define STATUS_SXS_PROCESS_TERMINATION_REQUESTED ((NTSTATUS)0xC0150013L) // // MessageId: STATUS_SXS_CORRUPT_ACTIVATION_STACK // // MessageText: // // The activation context activation stack for the running thread of execution is corrupt. // #define STATUS_SXS_CORRUPT_ACTIVATION_STACK ((NTSTATUS)0xC0150014L) // // MessageId: STATUS_SXS_CORRUPTION // // MessageText: // // The application isolation metadata for this process or thread has become corrupt. // #define STATUS_SXS_CORRUPTION ((NTSTATUS)0xC0150015L) // // MessageId: STATUS_CLUSTER_INVALID_NODE // // MessageText: // // The cluster node is not valid. // #define STATUS_CLUSTER_INVALID_NODE ((NTSTATUS)0xC0130001L) // // MessageId: STATUS_CLUSTER_NODE_EXISTS // // MessageText: // // The cluster node already exists. // #define STATUS_CLUSTER_NODE_EXISTS ((NTSTATUS)0xC0130002L) // // MessageId: STATUS_CLUSTER_JOIN_IN_PROGRESS // // MessageText: // // A node is in the process of joining the cluster. // #define STATUS_CLUSTER_JOIN_IN_PROGRESS ((NTSTATUS)0xC0130003L) // // MessageId: STATUS_CLUSTER_NODE_NOT_FOUND // // MessageText: // // The cluster node was not found. // #define STATUS_CLUSTER_NODE_NOT_FOUND ((NTSTATUS)0xC0130004L) // // MessageId: STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND // // MessageText: // // The cluster local node information was not found. // #define STATUS_CLUSTER_LOCAL_NODE_NOT_FOUND ((NTSTATUS)0xC0130005L) // // MessageId: STATUS_CLUSTER_NETWORK_EXISTS // // MessageText: // // The cluster network already exists. // #define STATUS_CLUSTER_NETWORK_EXISTS ((NTSTATUS)0xC0130006L) // // MessageId: STATUS_CLUSTER_NETWORK_NOT_FOUND // // MessageText: // // The cluster network was not found. // #define STATUS_CLUSTER_NETWORK_NOT_FOUND ((NTSTATUS)0xC0130007L) // // MessageId: STATUS_CLUSTER_NETINTERFACE_EXISTS // // MessageText: // // The cluster network interface already exists. // #define STATUS_CLUSTER_NETINTERFACE_EXISTS ((NTSTATUS)0xC0130008L) // // MessageId: STATUS_CLUSTER_NETINTERFACE_NOT_FOUND // // MessageText: // // The cluster network interface was not found. // #define STATUS_CLUSTER_NETINTERFACE_NOT_FOUND ((NTSTATUS)0xC0130009L) // // MessageId: STATUS_CLUSTER_INVALID_REQUEST // // MessageText: // // The cluster request is not valid for this object. // #define STATUS_CLUSTER_INVALID_REQUEST ((NTSTATUS)0xC013000AL) // // MessageId: STATUS_CLUSTER_INVALID_NETWORK_PROVIDER // // MessageText: // // The cluster network provider is not valid. // #define STATUS_CLUSTER_INVALID_NETWORK_PROVIDER ((NTSTATUS)0xC013000BL) // // MessageId: STATUS_CLUSTER_NODE_DOWN // // MessageText: // // The cluster node is down. // #define STATUS_CLUSTER_NODE_DOWN ((NTSTATUS)0xC013000CL) // // MessageId: STATUS_CLUSTER_NODE_UNREACHABLE // // MessageText: // // The cluster node is not reachable. // #define STATUS_CLUSTER_NODE_UNREACHABLE ((NTSTATUS)0xC013000DL) // // MessageId: STATUS_CLUSTER_NODE_NOT_MEMBER // // MessageText: // // The cluster node is not a member of the cluster. // #define STATUS_CLUSTER_NODE_NOT_MEMBER ((NTSTATUS)0xC013000EL) // // MessageId: STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS // // MessageText: // // A cluster join operation is not in progress. // #define STATUS_CLUSTER_JOIN_NOT_IN_PROGRESS ((NTSTATUS)0xC013000FL) // // MessageId: STATUS_CLUSTER_INVALID_NETWORK // // MessageText: // // The cluster network is not valid. // #define STATUS_CLUSTER_INVALID_NETWORK ((NTSTATUS)0xC0130010L) // // MessageId: STATUS_CLUSTER_NO_NET_ADAPTERS // // MessageText: // // No network adapters are available. // #define STATUS_CLUSTER_NO_NET_ADAPTERS ((NTSTATUS)0xC0130011L) // // MessageId: STATUS_CLUSTER_NODE_UP // // MessageText: // // The cluster node is up. // #define STATUS_CLUSTER_NODE_UP ((NTSTATUS)0xC0130012L) // // MessageId: STATUS_CLUSTER_NODE_PAUSED // // MessageText: // // The cluster node is paused. // #define STATUS_CLUSTER_NODE_PAUSED ((NTSTATUS)0xC0130013L) // // MessageId: STATUS_CLUSTER_NODE_NOT_PAUSED // // MessageText: // // The cluster node is not paused. // #define STATUS_CLUSTER_NODE_NOT_PAUSED ((NTSTATUS)0xC0130014L) // // MessageId: STATUS_CLUSTER_NO_SECURITY_CONTEXT // // MessageText: // // No cluster security context is available. // #define STATUS_CLUSTER_NO_SECURITY_CONTEXT ((NTSTATUS)0xC0130015L) // // MessageId: STATUS_CLUSTER_NETWORK_NOT_INTERNAL // // MessageText: // // The cluster network is not configured for internal cluster communication. // #define STATUS_CLUSTER_NETWORK_NOT_INTERNAL ((NTSTATUS)0xC0130016L) // // MessageId: STATUS_CLUSTER_POISONED // // MessageText: // // The cluster node has been poisoned. // #define STATUS_CLUSTER_POISONED ((NTSTATUS)0xC0130017L) // // MessageId: STATUS_LOG_SECTOR_INVALID // // MessageText: // // Log service found an invalid log sector. // #define STATUS_LOG_SECTOR_INVALID ((NTSTATUS)0xC01A0001L) // // MessageId: STATUS_LOG_SECTOR_PARITY_INVALID // // MessageText: // // Log service encountered a log sector with invalid block parity. // #define STATUS_LOG_SECTOR_PARITY_INVALID ((NTSTATUS)0xC01A0002L) // // MessageId: STATUS_LOG_SECTOR_REMAPPED // // MessageText: // // Log service encountered a remapped log sector. // #define STATUS_LOG_SECTOR_REMAPPED ((NTSTATUS)0xC01A0003L) // // MessageId: STATUS_LOG_BLOCK_INCOMPLETE // // MessageText: // // Log service encountered a partial or incomplete log block. // #define STATUS_LOG_BLOCK_INCOMPLETE ((NTSTATUS)0xC01A0004L) // // MessageId: STATUS_LOG_INVALID_RANGE // // MessageText: // // Log service encountered an attempt access data outside the active log range. // #define STATUS_LOG_INVALID_RANGE ((NTSTATUS)0xC01A0005L) // // MessageId: STATUS_LOG_BLOCKS_EXHAUSTED // // MessageText: // // Log service user log marshalling buffers are exhausted. // #define STATUS_LOG_BLOCKS_EXHAUSTED ((NTSTATUS)0xC01A0006L) // // MessageId: STATUS_LOG_READ_CONTEXT_INVALID // // MessageText: // // Log service encountered an attempt read from a marshalling area with an invalid read context. // #define STATUS_LOG_READ_CONTEXT_INVALID ((NTSTATUS)0xC01A0007L) // // MessageId: STATUS_LOG_RESTART_INVALID // // MessageText: // // Log service encountered an invalid log restart area. // #define STATUS_LOG_RESTART_INVALID ((NTSTATUS)0xC01A0008L) // // MessageId: STATUS_LOG_BLOCK_VERSION // // MessageText: // // Log service encountered an invalid log block version. // #define STATUS_LOG_BLOCK_VERSION ((NTSTATUS)0xC01A0009L) // // MessageId: STATUS_LOG_BLOCK_INVALID // // MessageText: // // Log service encountered an invalid log block. // #define STATUS_LOG_BLOCK_INVALID ((NTSTATUS)0xC01A000AL) // // MessageId: STATUS_LOG_READ_MODE_INVALID // // MessageText: // // Log service encountered an attempt to read the log with an invalid read mode. // #define STATUS_LOG_READ_MODE_INVALID ((NTSTATUS)0xC01A000BL) // // MessageId: STATUS_LOG_NO_RESTART // // MessageText: // // Log service encountered a log stream with no restart area. // #define STATUS_LOG_NO_RESTART ((NTSTATUS)0x401A000CL) // // MessageId: STATUS_LOG_METADATA_CORRUPT // // MessageText: // // Log service encountered a corrupted metadata file. // #define STATUS_LOG_METADATA_CORRUPT ((NTSTATUS)0xC01A000DL) // // MessageId: STATUS_LOG_METADATA_INVALID // // MessageText: // // Log service encountered a metadata file that could not be created by the log file system. // #define STATUS_LOG_METADATA_INVALID ((NTSTATUS)0xC01A000EL) // // MessageId: STATUS_LOG_METADATA_INCONSISTENT // // MessageText: // // Log service encountered a metadata file with inconsistent data. // #define STATUS_LOG_METADATA_INCONSISTENT ((NTSTATUS)0xC01A000FL) // // MessageId: STATUS_LOG_RESERVATION_INVALID // // MessageText: // // Log service encountered an attempt to erroneously allocate or dispose reservation space. // #define STATUS_LOG_RESERVATION_INVALID ((NTSTATUS)0xC01A0010L) // // MessageId: STATUS_LOG_CANT_DELETE // // MessageText: // // Log service cannot delete log file or file system container. // #define STATUS_LOG_CANT_DELETE ((NTSTATUS)0xC01A0011L) // // MessageId: STATUS_LOG_CONTAINER_LIMIT_EXCEEDED // // MessageText: // // Log service has reached the maximum allowable containers allocated to a log file. // #define STATUS_LOG_CONTAINER_LIMIT_EXCEEDED ((NTSTATUS)0xC01A0012L) // // MessageId: STATUS_LOG_START_OF_LOG // // MessageText: // // Log service has attempted to read or write backwards past the start of the log. // #define STATUS_LOG_START_OF_LOG ((NTSTATUS)0xC01A0013L) // // MessageId: STATUS_LOG_POLICY_ALREADY_INSTALLED // // MessageText: // // Log policy could not be installed because a policy of the same type is already present. // #define STATUS_LOG_POLICY_ALREADY_INSTALLED ((NTSTATUS)0xC01A0014L) // // MessageId: STATUS_LOG_POLICY_NOT_INSTALLED // // MessageText: // // Log policy in question was not installed at the time of the request. // #define STATUS_LOG_POLICY_NOT_INSTALLED ((NTSTATUS)0xC01A0015L) // // MessageId: STATUS_LOG_POLICY_INVALID // // MessageText: // // The installed set of policies on the log is invalid. // #define STATUS_LOG_POLICY_INVALID ((NTSTATUS)0xC01A0016L) // // MessageId: STATUS_LOG_POLICY_CONFLICT // // MessageText: // // A policy on the log in question prevented the operation from completing. // #define STATUS_LOG_POLICY_CONFLICT ((NTSTATUS)0xC01A0017L) // // MessageId: STATUS_LOG_PINNED_ARCHIVE_TAIL // // MessageText: // // Log space cannot be reclaimed because the log is pinned by the archive tail. // #define STATUS_LOG_PINNED_ARCHIVE_TAIL ((NTSTATUS)0xC01A0018L) // // MessageId: STATUS_LOG_RECORD_NONEXISTENT // // MessageText: // // Log record is not a record in the log file. // #define STATUS_LOG_RECORD_NONEXISTENT ((NTSTATUS)0xC01A0019L) // // MessageId: STATUS_LOG_RECORDS_RESERVED_INVALID // // MessageText: // // Number of reserved log records or the adjustment of the number of reserved log records is invalid. // #define STATUS_LOG_RECORDS_RESERVED_INVALID ((NTSTATUS)0xC01A001AL) // // MessageId: STATUS_LOG_SPACE_RESERVED_INVALID // // MessageText: // // Reserved log space or the adjustment of the log space is invalid. // #define STATUS_LOG_SPACE_RESERVED_INVALID ((NTSTATUS)0xC01A001BL) // // MessageId: STATUS_LOG_TAIL_INVALID // // MessageText: // // A new or existing archive tail or base of the active log is invalid. // #define STATUS_LOG_TAIL_INVALID ((NTSTATUS)0xC01A001CL) // // MessageId: STATUS_LOG_FULL // // MessageText: // // Log space is exhausted. // #define STATUS_LOG_FULL ((NTSTATUS)0xC01A001DL) // // MessageId: STATUS_LOG_MULTIPLEXED // // MessageText: // // Log is multiplexed, no direct writes to the physical log is allowed. // #define STATUS_LOG_MULTIPLEXED ((NTSTATUS)0xC01A001EL) // // MessageId: STATUS_LOG_DEDICATED // // MessageText: // // The operation failed because the log is a dedicated log. // #define STATUS_LOG_DEDICATED ((NTSTATUS)0xC01A001FL) // // MessageId: STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS // // MessageText: // // The operation requires an archive context. // #define STATUS_LOG_ARCHIVE_NOT_IN_PROGRESS ((NTSTATUS)0xC01A0020L) // // MessageId: STATUS_LOG_ARCHIVE_IN_PROGRESS // // MessageText: // // Log archival is in progress. // #define STATUS_LOG_ARCHIVE_IN_PROGRESS ((NTSTATUS)0xC01A0021L) // // MessageId: STATUS_LOG_EPHEMERAL // // MessageText: // // The operation requires a non-ephemeral log, but the log is ephemeral. // #define STATUS_LOG_EPHEMERAL ((NTSTATUS)0xC01A0022L) // // MessageId: STATUS_LOG_NOT_ENOUGH_CONTAINERS // // MessageText: // // The log must have at least two containers before it can be read from or written to. // #define STATUS_LOG_NOT_ENOUGH_CONTAINERS ((NTSTATUS)0xC01A0023L) // // MessageId: STATUS_LOG_CLIENT_ALREADY_REGISTERED // // MessageText: // // A log client has already registered on the stream. // #define STATUS_LOG_CLIENT_ALREADY_REGISTERED ((NTSTATUS)0xC01A0024L) // // MessageId: STATUS_LOG_CLIENT_NOT_REGISTERED // // MessageText: // // A log client has not been registered on the stream. // #define STATUS_LOG_CLIENT_NOT_REGISTERED ((NTSTATUS)0xC01A0025L) // // MessageId: STATUS_LOG_FULL_HANDLER_IN_PROGRESS // // MessageText: // // A request has already been made to handle the log full condition. // #define STATUS_LOG_FULL_HANDLER_IN_PROGRESS ((NTSTATUS)0xC01A0026L) // // MessageId: STATUS_LOG_CONTAINER_READ_FAILED // // MessageText: // // Log service enountered an error when attempting to read from a log container. // #define STATUS_LOG_CONTAINER_READ_FAILED ((NTSTATUS)0xC01A0027L) // // MessageId: STATUS_LOG_CONTAINER_WRITE_FAILED // // MessageText: // // Log service enountered an error when attempting to write to a log container. // #define STATUS_LOG_CONTAINER_WRITE_FAILED ((NTSTATUS)0xC01A0028L) // // MessageId: STATUS_LOG_CONTAINER_OPEN_FAILED // // MessageText: // // Log service enountered an error when attempting open a log container. // #define STATUS_LOG_CONTAINER_OPEN_FAILED ((NTSTATUS)0xC01A0029L) // // MessageId: STATUS_LOG_CONTAINER_STATE_INVALID // // MessageText: // // Log service enountered an invalid container state when attempting a requested action. // #define STATUS_LOG_CONTAINER_STATE_INVALID ((NTSTATUS)0xC01A002AL) // // MessageId: STATUS_LOG_STATE_INVALID // // MessageText: // // Log service is not in the correct state to perform a requested action. // #define STATUS_LOG_STATE_INVALID ((NTSTATUS)0xC01A002BL) // // MessageId: STATUS_LOG_PINNED // // MessageText: // // Log space cannot be reclaimed because the log is pinned. // #define STATUS_LOG_PINNED ((NTSTATUS)0xC01A002CL) // // MessageId: STATUS_LOG_METADATA_FLUSH_FAILED // // MessageText: // // Log metadata flush failed. // #define STATUS_LOG_METADATA_FLUSH_FAILED ((NTSTATUS)0xC01A002DL) // // MessageId: STATUS_LOG_INCONSISTENT_SECURITY // // MessageText: // // Security on the log and its containers is inconsistent. // #define STATUS_LOG_INCONSISTENT_SECURITY ((NTSTATUS)0xC01A002EL) // // MessageId: STATUS_COULD_NOT_RESIZE_LOG // // MessageText: // // The log could not be set to the requested size. // #define STATUS_COULD_NOT_RESIZE_LOG ((NTSTATUS)0x80190009L) /*lint -restore */ // Resume checking for different macro definitions // winnt // end_ntsecapi #endif // WIN32_NO_STATUS // winnt #endif // _NTSTATUS_ pcsc-cyberjack-3.99.5final.SP03/cjeca32/PPAReader.cpp0000644000175000001440000011435611660154710020406 0ustar sctusers/*************************************************************************** begin : Sat Nov 20 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #include "Platform.h" #include #include "PPAReader.h" #include "BaseCommunication.h" #define base CCCIDReader #ifdef _WINDOWS #define DEBUGP(a,b,c,...) #else #define DEBUGP(devName, debug_mask, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ Debug.Out(devName, debug_mask, dbg_buffer,0,0); \ } #endif #define CCID_VOLTAGE_50 1 CPPAReader::CPPAReader(CReader *Owner, CBaseCommunication *Communicator) :base(Owner, Communicator) { } CPPAReader::~CPPAReader(void) { } void CPPAReader::SetHWString(char *String) { /* uuh, this is really ugly... there should at least be an indicator * for the length of the buffer provided, and strings should be null-terminated... * Or, even better, std::string should be used... * Anyway, this API is defined by the Windoze code, so we need to stick to it * even on Linux/MacOSX */ strcpy(String,"PPA_"); } void CPPAReader::GetProductString(uint8_t *Product) { /* the same here as in SetHWString... */ memcpy(Product, "CJPPA", 5); if (GetEnviroment("pinpad_a_ident", 0)!=0) { memcpy(Product,"PPAUSB", 6); } } CJ_RESULT CPPAReader::SetSyncParameters(uint8_t AddrByteCount, uint16_t PageSize) { /* TODO: Currently not supported, but there is no matching error code for this... */ DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_ERROR, "SetSyncParameters called."); return CJ_ERR_CHECK_RESULT; } uint32_t CPPAReader::GetReadersInputBufferSize() { /* TODO: How many bytes is this really? */ return 1024; } CJ_RESULT CPPAReader::BuildReaderInfo() { memset(&m_ReaderInfo, 0, sizeof(m_ReaderInfo)); m_ReaderInfo.SizeOfStruct=sizeof(m_ReaderInfo); m_ReaderInfo.ContentsMask= RSCT_READER_MASK_HARDWARE | RSCT_READER_MASK_VERSION | /*RSCT_READER_MASK_HARDWARE_VERSION |*/ RSCT_READER_MASK_FLASH_SIZE | RSCT_READER_MASK_HEAP_SIZE | /*RSCT_READER_MASK_SERIALNUMBER |*/ /*RSCT_READER_MASK_PRODUCTION_DATE |*/ /*RSCT_READER_MASK_TEST_DATE |*/ /*RSCT_READER_MASK_COMMISSIONING_DATE |*/ RSCT_READER_MASK_HW_STRING | 0; m_ReaderInfo.HardwareMask= RSCT_READER_HARDWARE_MASK_ICC1 | RSCT_READER_HARDWARE_MASK_KEYPAD | /*RSCT_READER_HARDWARE_MASK_DISPLAY |*/ /*RSCT_READER_HARDWARE_MASK_UPDATEABLE |*/ /*RSCT_READER_HARDWARE_MASK_MODULES |*/ 0; /* TODO: What values do we have to use here? */ m_ReaderInfo.FlashSize=32*1024; m_ReaderInfo.HeapSize=0; m_ReaderInfo.Version=0x30; SetHWString((char*)m_ReaderInfo.HardwareString); strcat((char*)m_ReaderInfo.HardwareString, (const char*)m_ReaderInfo.CommunicationString); /* TODO: Currently not supported, but there is no matching error code for this... */ return CJ_SUCCESS; } CJ_RESULT CPPAReader::BuildModuleInfo() { /* TODO: Currently not supported, but there is no matching error code for this... */ m_ModuleInfoCount=0; DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_ERROR, "BuildModuleInfo called, returning no module."); return CJ_SUCCESS; } uint16_t CPPAReader::HostToReaderShort(uint16_t Value) { return InversByteOrderShort(htons(Value)); } uint32_t CPPAReader::HostToReaderLong(uint32_t Value) { return InversByteOrderLong(htonl(Value)); } void CPPAReader::SetSerialNumber(void) { /* TODO: How should this be done? */ } void CPPAReader::SetDate(uint8_t Nr) { /* TODO: How should this be done? */ } CJ_RESULT CPPAReader::cjInput(uint8_t *key,uint8_t timeout,uint8_t *tag52,int tag52len) { /* TODO: Currently not supported, but there is no matching error code for this... */ return CJ_ERR_CHECK_RESULT; } RSCT_IFD_RESULT CPPAReader::ccidTransmit(uint8_t BWI, const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len,uint16_t wLevelParameter) { CCID_Message Message; CCID_Response Response; if (cmd_len>1014) { *response_len=0; return STATUS_BUFFER_OVERFLOW; } memset(&Message, 0, sizeof(Message)); Message.bMessageType=PC_TO_RDR_XFRBLOCK; Message.dwLength=cmd_len; Message.Header.XfrBlock.bBWI=BWI; Message.Header.XfrBlock.wLevelParameter=HostToReaderShort(wLevelParameter); memcpy(Message.Data.abData, cmd,cmd_len); if (Transfer(&Message,&Response)==CJ_SUCCESS) { if (Response.bMessageType!=RDR_TO_PC_DATABLOCK) { DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_ERROR, "Unexpected response (%02x)", (int)(Response.bMessageType)); IfdPower(SCARD_POWER_DOWN, NULL, NULL,0); *response_len=0; return STATUS_DEVICE_PROTOCOL_ERROR; } if(Response.bStatus & 0x02) return STATUS_NO_MEDIA; if(Response.bStatus & 0x01) return STATUS_INVALID_DEVICE_STATE; if (Response.bStatus & 0x40) { if(Response.bError==ICC_MUTE) { DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_ERROR, "Card is mute"); IfdPower(SCARD_POWER_DOWN, NULL, NULL, 0); *response_len=0; return STATUS_IO_TIMEOUT; } else if(Response.bError==XFR_PARITY_ERROR) { DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_ERROR, "Card is mute"); IfdPower(SCARD_POWER_DOWN, NULL, NULL, 0); *response_len=0; return STATUS_PARITY_ERROR; } else { DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_ERROR, "Unexpected error (%02x)", (int)(Response.bError)); IfdPower(SCARD_POWER_DOWN, NULL, NULL, 0); *response_len=0; return STATUS_DEVICE_PROTOCOL_ERROR; } } if(Response.dwLength>*response_len) { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } *response_len=(uint16_t)Response.dwLength; memcpy(response,Response.Data.abData, Response.dwLength); return STATUS_SUCCESS; } return STATUS_DEVICE_NOT_CONNECTED; } RSCT_IFD_RESULT CPPAReader::APDU2TPDU_T1(uint16_t lenc,const uint8_t *cmd,uint16_t *lenr,uint8_t *response) { uint8_t lrc; uint16_t crc; int i; int error; uint8_t *sblock; uint8_t rblock[6]; uint16_t slen; uint8_t sbuffer[259]; uint8_t rbuffer[259]; uint8_t xwt=0; uint16_t rlen; uint8_t INF; int maxresp; RSCT_IFD_RESULT Result=STATUS_SUCCESS; error=0; maxresp=*lenr; *lenr=0; while(lenc) { INF=(lenc>IFSC)?IFSC:lenc; sbuffer[0]=0; if(PCB_seq&0x01) sbuffer[1]=0x40; else sbuffer[1]=0; if(lenc>INF) sbuffer[1]|=0x20; sbuffer[2]=INF; memcpy(sbuffer+3,cmd,INF); sblock=sbuffer; slen=(uint16_t)(INF+3); for(;;) { if(EDC==0) { lrc=0; for(i=0;i>8); sblock[slen++]=(uint8_t)crc; } rlen=sizeof(rbuffer); Result=ccidTransmit(xwt,sblock,slen,rbuffer,&rlen,0); if(Result==STATUS_SUCCESS || Result==STATUS_PARITY_ERROR || Result==STATUS_IO_TIMEOUT) { if(Result==STATUS_SUCCESS) { if(EDC==0) { lrc=0; for(i=0;i2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } } else { sblock=sbuffer; slen=(uint16_t)(INF+3); error=0; } } else { if(Result==STATUS_SUCCESS) { if(rbuffer[0]!=0 || //Falsches NAD (rbuffer[1]&0xc0)==0x80 && (rbuffer[2]!=0 || (rbuffer[1]&0x20)==0x20) || //Unsinniger R-Block (rbuffer[1]&0xe0)==0xe0 || //SResponse ohne Request (rbuffer[1]&0xe0)==0xc0 && ((((rbuffer[1]& 0x1f)==0 || (rbuffer[1]& 0x1f)==2) && rbuffer[2]!=0) || ((rbuffer[1]& 0x1f)==1 && (rbuffer[2]!=1 || rbuffer[3]<0x10 || rbuffer[3]==255)) || ((rbuffer[1]& 0x1f)==3 && rbuffer[2]!=1) || (rbuffer[1]& 0x1f)>3 )) { if(++error>2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } if((sblock[1]&0xc0)!=0x80) { rblock[0]=0x00; rblock[1]=(uint8_t)(0x82 | (PCB_seq & 0x10)); rblock[2]=0; sblock=rblock; } slen=3; } else if((rbuffer[1]&0x80)==0) /*I-Block*/ { if((rbuffer[1]&0x40)!=((PCB_seq&0x10)<<2) || (sbuffer[1]&0x20)==0x20 || rbuffer[2]==0 || rbuffer[2]==255) { if(++error>2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } if((sblock[1]&0xc0)!=0x80) { rblock[0]=0x00; rblock[1]=(uint8_t)(0x82 | (PCB_seq & 0x10)); rblock[2]=0; sblock=rblock; } slen=3; } else { error=0; PCB_seq^=0x10; if(lenc) { PCB_seq^=0x01; lenc-=INF; cmd+=INF; } if(maxresp>=rlen-4-EDC) { memcpy(response+(*lenr),rbuffer+3,rlen-4-EDC); maxresp-=rlen-4-EDC; } *lenr+=(uint16_t)(rlen-4-EDC); if(rbuffer[1] & 0x20) { rblock[0]=0x00; rblock[1]=(uint8_t)(0x80 | (PCB_seq & 0x10)); rblock[2]=0; sblock=rblock; slen=3; } else { break; } } } else if((rbuffer[1]&0xE0)==0xC0) /*S-Block*/ { error=0; memcpy(rblock,rbuffer,rlen); rblock[1]|=0x20; sblock=rblock; slen=(uint16_t)(rlen-1); if((rbuffer[1]& 0x1f)==0) { PCB_seq=0; } else if((rbuffer[1]& 0x1f)==1) { IFSC=rbuffer[3]; } else if((rbuffer[1]& 0x1f)==2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } else if((rbuffer[1]& 0x1f)==3) { xwt=rbuffer[3]; } } else /*R-Block*/ { // if((rbuffer[1]&0x10)==((((cjccidHANDLE)hDevice)->PCB_seq<<4) & 0x10)) if((rbuffer[1]&0x10)==((sbuffer[1]&0x40)>>2)) { if(++error>2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; } sblock=sbuffer; slen=3+sbuffer[2]; } else if(sbuffer[1] & 0x20) { error=0; PCB_seq^=0x01; cmd+=INF; lenc-=INF; break; } else if((sblock[1] & 0xC0)==0x80) { if(++error>2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } slen=3; } else { if(++error>2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } if((sblock[1]&0xc0)!=0x80) { rblock[0]=0x00; rblock[1]=(uint8_t)(0x82 | (PCB_seq & 0x10)); rblock[2]=0; sblock=rblock; } slen=3; } } } if(Result==STATUS_PARITY_ERROR) { if(++error>2) { IfdPower(SCARD_POWER_DOWN,0,0,0); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } if((sblock[1]&0xc0)!=0x80) { rblock[0]=0x00; rblock[1]=(uint8_t)(0x81 | (PCB_seq & 0x10)); rblock[2]=0; /* rblock[0]=0x00; rblock[1]=0xE3; rblock[2]=01; rblock[3]=01;*/ sblock=rblock; } slen=3; // slen=4; } if(Result==STATUS_IO_TIMEOUT) { // if(++error>4) { // cjccid_iccPowerOff(hDevice); Result=STATUS_DEVICE_PROTOCOL_ERROR; break; } rblock[0]=0x00; rblock[1]=(uint8_t)(0x82 | (PCB_seq & 0x10)); rblock[2]=0; sblock=rblock; slen=3; } } } else return Result; } if(Result==STATUS_DEVICE_PROTOCOL_ERROR || (rbuffer[1] & 0xA0)==0) break; } return Result; } RSCT_IFD_RESULT CPPAReader::_IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { RSCT_IFD_RESULT Result; int l; const char *str; // uint16_t rest=*response_len; if(cmd_len==5 && cmd[0]==0xff && cmd[1]==0x9a && cmd[2]==0x01 && cmd[4]==0) { switch(cmd[3]) { case 1: if(*response_len>=12) { memcpy(response,"REINER SCT\x90\x00",12); *response_len=12; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 2: if(*response_len>=6) { memcpy(response,"0C4B\x90\x00",6); *response_len=6; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 3: if (*response_len>=(l=strlen((const char*)(m_ReaderInfo.ProductString)))+2) { memcpy(response,m_ReaderInfo.ProductString,l); memcpy(response+l,"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 4: if(*response_len>=6) { sprintf((char *)response,"%04X\x90",m_ReaderInfo.PID); *response_len=6; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 6: if (*response_len>=5) { sprintf((char *)response,"%1d.%1d\x90",(int)(m_ReaderInfo.Version>>4),(int)(m_ReaderInfo.Version & 0x0f)); *response_len=5; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 7: str=rsct_get_package_version(); if(*response_len>=(l=strlen(str))+2) { memcpy(response,str,l); memcpy(response+l,"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 8: if ((*response_len>=7 && GetReadersInputBufferSize()<=99999) || (*response_len>=6 && GetReadersInputBufferSize()<=9999)) { sprintf((char *)response,"%d",768/*(int)GetReadersInputBufferSize()*/); memcpy(response+(l=strlen((char *)response)),"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 9: if(*response_len>=8) { memcpy(response,"424250\x90\x00",8); *response_len=18; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; default:; } } if(m_ActiveProtocol==SCARD_PROTOCOL_T0 && m_bIsRF==false) { if (cmd_len==4) { uint8_t sbuffer[5]; memcpy(sbuffer,cmd,4); sbuffer[4]=0; return ccidTransmit(0,sbuffer, 5, response, response_len,0); } else if(cmd_len==5) { uint8_t rbuffer[258]; uint8_t sbuffer[5]; uint8_t Le; uint8_t La; uint16_t ges_len=0; uint16_t rlen=2; uint16_t bLevelParam=0; if(cmd[0]==0 && cmd[1]==0xb4 && cmd[4]==0) bLevelParam=(uint16_t)GetEnviroment("PPA_HandleAT88SC1616",0); memcpy(sbuffer,cmd,4); rbuffer[0]=0x61; rbuffer[1]=cmd[4]; while(rbuffer[rlen-2]==0x61) { //while chaining rbuffer[0]=0x6C; Le=rbuffer[rlen-1]; rbuffer[1]=Le; rlen=2; while(rlen==2 && rbuffer[0]==0x6C) { //while retransmit with other Length; rlen=sizeof(rbuffer); sbuffer[4]=La=rbuffer[1]; if((Result=ccidTransmit(0,sbuffer,5,rbuffer,&rlen,bLevelParam))!=STATUS_SUCCESS) { return Result; } if(m_ApduNorm==NORM_PCSC) break; if(rlen<2) { *response_len=0; return STATUS_IO_TIMEOUT; } if(Le!=0 && Le*response_len) { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } memcpy(response,rbuffer,rlen); response+=rlen-2; ges_len+=rlen-2; memcpy(sbuffer,"\x00\xc0\x00\x00",4); if(m_ApduNorm==NORM_PCSC) break; } *response_len=ges_len+2; return STATUS_SUCCESS; } else if(cmd_len==5+cmd[4] && cmd[4]!=0) { return ccidTransmit(0,cmd,cmd_len,response,response_len,0); } else if(cmd_len==6+cmd[4] && cmd[4]!=0) { uint8_t sbuffer[5]; uint8_t rbuffer[258]; uint16_t rlen=sizeof(rbuffer); unsigned int tot_size=0; unsigned int rest_size=sizeof(rbuffer); uint8_t *rptr=rbuffer; if((Result=ccidTransmit(0,cmd,cmd_len-1,rbuffer,&rlen,0))!=STATUS_SUCCESS) { *response_len=0; return Result; } // sbuffer[0]=cmd[0]; sbuffer[0]=0; memcpy(sbuffer+1,"\xC0\x00\x00",3); rptr+=rlen-2; rest_size-=rlen-2; tot_size+=rlen-2; if (rlen==2 && (((rbuffer[0] & 0xf0)==0x90 && (rbuffer[0]!=0x90 || rbuffer[1]!=0x00)) || rbuffer[0]==0x62 || rbuffer[0]==0x63)) { sbuffer[4]=cmd[cmd_len-1]; rlen=rest_size; if((Result=ccidTransmit(0,sbuffer,5,rbuffer,&rlen,0))!=STATUS_SUCCESS) { *response_len=0; return Result; } rest_size-=rlen-2; tot_size+=rlen-2; } if(rlen >=2 && (rptr[rlen-2]==0x61 || rptr[rlen-2]==0x6C)) { while(rlen >=2 && (rptr[rlen-2]==0x61 || rptr[rlen-2]==0x6C)) { rptr+=rlen-2; if(cmd[cmd_len-1]*response_len) { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } memcpy(response,rbuffer,tot_size+2); *response_len=tot_size+2; return STATUS_SUCCESS; } /* else if(lenc==7 && cmd[4]==0) { } else if(lenc==7+(((uint16_t)cmd[5])<<8)+cmd[6] && cmd[4]==0 && lenc!=7) { } else if(lenc==9+(((uint16_t)cmd[5])<<8)+cmd[6] && cmd[4]==0 && lenc!=9) { }*/ else return STATUS_INVALID_PARAMETER; } else { return APDU2TPDU_T1(cmd_len,cmd,response_len,response); } } /* * Differences between this method and the implementation in CECA30: * - PC_TO_RDR_ICCPOWERON has no data (i.e. Message.dwLength=0) * - bPowerSelect is set to 5.0 Volts explicitly */ RSCT_IFD_RESULT CPPAReader::IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout) { CCID_Message Message; CCID_Response Response; bool warm=false; bool first=true; Timeout=HostToReaderLong(Timeout); switch(Mode) { case SCARD_COLD_RESET: DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "COLD RESET"); break; case SCARD_WARM_RESET: DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "WARM RESET"); break; case SCARD_POWER_DOWN: DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "POWER DOWN"); break; default: DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "Unknown power mode"); return STATUS_INVALID_PARAMETER; } switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "Reset requested, powering down"); *ATR_Length=0; IfdPower(SCARD_POWER_DOWN, NULL, NULL, 0); DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "Continueing with reset request"); break; case SCARD_POWER_DOWN: break; default: return STATUS_INVALID_PARAMETER; } do { memset(&Message, 0, sizeof(Message)); Message.dwLength=0; /* (no payload data) */ Message.Header.iccPowerOn.bPowerSelect=1; switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: *ATR_Length=0; Message.bMessageType=PC_TO_RDR_ICCPOWERON; Message.Header.iccPowerOn.bPowerSelect=CCID_VOLTAGE_50; break; case SCARD_POWER_DOWN: Message.bMessageType=PC_TO_RDR_ICCPOWEROFF; break; } if(first) first=false; else warm=true; if (Transfer(&Message, &Response)==CJ_SUCCESS) { switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: if(Response.bMessageType!=RDR_TO_PC_DATABLOCK) return STATUS_DEVICE_NOT_CONNECTED; break; case SCARD_POWER_DOWN: if(Response.bMessageType!=RDR_TO_PC_SLOTSTATUS) return STATUS_DEVICE_NOT_CONNECTED; break; } if(Response.bStatus & 0x40) { switch(Response.bError) { case 0xfe: return STATUS_NO_MEDIA; case 0xf6: return STATUS_UNRECOGNIZED_MEDIA; case 0xef: return STATUS_CANCELLED; default: return STATUS_IO_TIMEOUT; } } if(Response.dwLength>33) Response.dwLength=33; switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: m_ATR_Length=Response.dwLength; memcpy(m_ATR,Response.Data.abData,Response.dwLength); *ATR_Length=m_ATR_Length; memcpy(ATR,m_ATR,m_ATR_Length); default:; } } else return STATUS_DEVICE_NOT_CONNECTED; } while(Mode!=SCARD_POWER_DOWN && AnalyseATR(warm)==1); IFSC=m_TA3; PCB_seq=0; EDC=(unsigned char)(m_TC3&1); return STATUS_SUCCESS; } RSCT_IFD_RESULT CPPAReader::IfdSetProtocol(uint32_t *pProtocol) { #if 0 *pProtocol=m_ActiveProtocol; return STATUS_SUCCESS; #endif CCID_Message Message; CCID_Response Response; uint32_t Protocol; memset(&Message,0,sizeof(Message)); Protocol=*pProtocol; DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "Possible protocol %d (state=%d, TA1=%02x, TC1=%02x, TC2=%02x, TA3=%02x, TB3=%02x, TC3=%02x)", (int) Protocol, (int) m_ReaderState, (int) m_TA1, (int) m_TC1, (int) m_TC2, (int) m_TA3, (int) m_TB3, (int) m_TC3); *pProtocol=0; Message.bMessageType=PC_TO_RDR_SETPARAMETERS; if(m_ReaderState==SCARD_ABSENT) return STATUS_NO_MEDIA; if (m_ReaderState==SCARD_NEGOTIABLE) { char bufferTA1[128]; char bufferTC1[128]; char bufferc[3]; uint8_t vTA1; uint8_t vTC1; if(m_ATR[0]==0xff || (m_ATR[0] & 0xf0)==0x80) { *pProtocol=SCARD_PROTOCOL_RAW; return STATUS_SUCCESS; } sprintf(bufferTA1,"ReplaceTA1_%02X",(int)m_TA1); strcpy(bufferTC1,"ReplaceTC1_"); for(unsigned int i=0;i4 && 0==memcmp(rsp.Data.abData, "\x00\xE1\x01\xfe\x1e", 5)) { DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "Protocol change acknowledged by reader."); } else { DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_ERROR, "Unexpected response from reader (%d): %02x %02x %02x %02x %02x\n", rsp.dwLength, rsp.Data.abData[0], rsp.Data.abData[1], rsp.Data.abData[2], rsp.Data.abData[3], rsp.Data.abData[4]); return STATUS_IO_TIMEOUT; } break; default: return STATUS_DEVICE_NOT_CONNECTED; } } DEBUGP("PPAReader", DEBUG_MASK_COMMUNICATION_INFO, "Protocol successfully changed."); return STATUS_SUCCESS; } default: return STATUS_DEVICE_NOT_CONNECTED; } } else if (m_ReaderState==SCARD_SPECIFIC) { if(Protocol & (SCARD_PROTOCOL_DEFAULT | SCARD_PROTOCOL_OPTIMAL)) Protocol|=(SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 | SCARD_PROTOCOL_RAW); if(m_ActiveProtocol & Protocol) { *pProtocol=m_ActiveProtocol; return STATUS_SUCCESS; } else return STATUS_NOT_SUPPORTED; } else return STATUS_IO_TIMEOUT; } RSCT_IFD_RESULT CPPAReader::PVMVT1(int Result,uint8_t *rbuffer,uint32_t rlen,uint32_t *lenr) { uint8_t lrc; uint8_t sblock[6]; uint16_t len; uint32_t i; int slen; uint8_t xwt=0; if(Result!=STATUS_SUCCESS) return Result; if(EDC==0) { lrc=0; for(i=0;i19) || (Message.Data.Secure.bPINOperation==1 && Message.dwLength>24)) { Message.Data.abData[19+5*Message.Data.Secure.bPINOperation]=0; } } } pcsc-cyberjack-3.99.5final.SP03/cjeca32/version.h0000644000175000001440000000053011660154635017767 0ustar sctusers #ifndef CJECA32_VERSION_H #define CJECA32_VERSION_H #define FVER_MAJOR 2 #define FVER_MINOR 0 #define FVER_PATCHLEVEL 20 #define FVER_BUILD 0 #define FVER_STRING "2, 0, 20, 0" #define PVER_MAJOR 7 #define PVER_MINOR 1 #define PVER_PATCHLEVEL 0 #define PVER_BUILD 0 #define PVER_STRING "7, 1, 0, 0" #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/EC30Reader.cpp0000644000175000001440000016215711660154635020430 0ustar sctusers#include "Platform.h" #include #include #include "EC30Reader.h" #include "Reader.h" #include "eca_defines.h" #include "eca_module_errors.h" #define base CCCIDReader #ifdef UNDER_CE time_t time( time_t *inTT ) { SYSTEMTIME sysTimeStruct; FILETIME fTime; ULARGE_INTEGER int64time; time_t locTT = 0; if (inTT==NULL) { inTT = &locTT; } GetSystemTime(&sysTimeStruct); if (SystemTimeToFileTime(&sysTimeStruct, &fTime)) { memcpy( &int64time, &fTime, sizeof( FILETIME ) ); int64time.QuadPart -= 0x19db1ded53e8000; int64time.QuadPart /= 10000000; *inTT = (time_t)int64time.QuadPart; } return *inTT; } tm _tmc; tm * __cdecl localtime(const time_t *) { SYSTEMTIME sysTimeStruct; GetSystemTime(&sysTimeStruct); _tmc.tm_sec=sysTimeStruct.wSecond; _tmc.tm_min=sysTimeStruct.wMinute; _tmc.tm_hour=sysTimeStruct.wHour; _tmc.tm_mday=sysTimeStruct.wDayOfWeek; _tmc.tm_mon=sysTimeStruct.wMonth; _tmc.tm_year=sysTimeStruct.wYear; _tmc.tm_wday=0; _tmc.tm_yday=0; _tmc.tm_isdst=0; return &_tmc; }; #endif CEC30Reader::CEC30Reader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) ,m_pApplicationResponse(NULL) ,m_nApplicationResponseLength(0) { SecoderBufferLen=0; SecoderBuffer=NULL; } CEC30Reader::~CEC30Reader(void) { if(m_pApplicationResponse!=NULL) delete m_pApplicationResponse; if(SecoderBufferLen) delete[] SecoderBuffer; } CJ_RESULT CEC30Reader::PostCreate() { CJ_RESULT Res; if((Res=base::PostCreate())==CJ_SUCCESS) if(SetReaderConstants()) Res=BuildReaderInfo(); return Res; } int CEC30Reader::Escape(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen) { int Res; uint32_t nResult; CCID_Message Message; CCID_Response Response; memset(&Message,0,sizeof(Message)); Message.bMessageType=PC_TO_RDR_ESCAPE; Message.Data.Escape.Reader.EC30.dwApplication=HostToReaderLong(ApplicationID); Message.Data.Escape.Reader.EC30.wFunction=HostToReaderShort(Function); Message.dwLength=6+InputLen; if(InputLen>GetReadersInputBufferSize()-16) return CJ_ERR_INTERNAL_BUFFER_OVERFLOW; if(InputLen>0) memcpy(&Message.Data.Escape.Reader.EC30.Data,InputData,InputLen); if((Res=Transfer(&Message,&Response))!=CJ_SUCCESS) { if(ResponseLen!=NULL) *ResponseLen=0; return Res; } if(Response.bMessageType!=RDR_TO_PC_ESCAPE) { if(ResponseLen!=NULL) *ResponseLen=0; delete m_pCommunicator; m_pCommunicator=NULL; return CJ_ERR_DEVICE_LOST; } nResult=ReaderToHostLong(Response.Data.Escape.Result); if(Result) *Result=nResult; if(ResponseLen) { if(Response.dwLength>*ResponseLen+4) { if(ResponseData==NULL) { *ResponseLen=Response.dwLength-4; } else { *ResponseLen=0; delete m_pCommunicator; m_pCommunicator=NULL; } return CJ_ERR_RBUFFER_TO_SMALL; } *ResponseLen=Response.dwLength-4; if(ResponseData) memcpy(ResponseData,Response.Data.Escape.Function.abData,*ResponseLen); } else if(Response.dwLength!=4) { delete m_pCommunicator; m_pCommunicator=NULL; return CJ_ERR_RBUFFER_TO_SMALL; } if(nResult!=0) { if(ResponseLen!=NULL) *ResponseLen=0; return CJ_ERR_CHECK_RESULT; } return CJ_SUCCESS; } uint32_t CEC30Reader::GetReadersInputBufferSize() { return 1024; } CJ_RESULT CEC30Reader::CtApplicationData(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen, uint8_t *ApplicationError,uint32_t *ApplicationErrorLength) { int Res; uint32_t Len; uint16_t wLenRsp=0; uint16_t wLenErr=0; if(ResponseLen!=0) wLenRsp=(uint16_t)*ResponseLen; if(ApplicationErrorLength!=NULL) wLenErr=(uint16_t)*ApplicationErrorLength; if(m_nApplicationResponseLength<(uint32_t)wLenRsp+wLenErr+4) { if(m_pApplicationResponse!=NULL) delete m_pApplicationResponse; m_nApplicationResponseLength=wLenRsp+wLenErr+4+1024; m_pApplicationResponse=new uint8_t[m_nApplicationResponseLength]; } Len=4+wLenRsp+wLenErr; if((Res=Escape(ApplicationID,Function,InputData,InputLen,Result,m_pApplicationResponse,&Len))) { if(ResponseLen) *ResponseLen=0; if(ApplicationErrorLength) *ApplicationErrorLength=0; return Res; } memcpy(&wLenRsp,m_pApplicationResponse,sizeof(wLenRsp)); wLenRsp=ReaderToHostShort(wLenRsp); memcpy(&wLenErr,m_pApplicationResponse+2,sizeof(wLenErr)); wLenErr=ReaderToHostShort(wLenErr); if(ApplicationErrorLength) { if(wLenErr>*ApplicationErrorLength) { *ResponseLen=0; *ApplicationErrorLength=0; return CJ_ERR_RBUFFER_TO_SMALL; } *ApplicationErrorLength=wLenErr; if(wLenErr>0) memcpy(ApplicationError,m_pApplicationResponse+4+wLenRsp,wLenErr); } if(ResponseLen) { if(wLenRsp>*ResponseLen) { *ResponseLen=0; *ApplicationErrorLength=0; return CJ_ERR_RBUFFER_TO_SMALL; } *ResponseLen=wLenRsp; if(wLenRsp>0) memcpy(ResponseData,m_pApplicationResponse+4,wLenRsp); } return CJ_SUCCESS; } CJ_RESULT CEC30Reader::GetReaderInfo(cjeca_Info *Info) { CJ_RESULT Result; uint32_t len=sizeof(cjeca_Info); uint32_t Res; memset(Info,0xff,sizeof(cjeca_Info)); if((Result=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_GET_INFO,0,0,&Res,(uint8_t *)Info,&len))!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't get ReaderInfo"); else Info->ActiveApplication=ReaderToHostLong(Info->ActiveApplication); return Result; } CJ_RESULT CEC30Reader::GetKeyInfo(tKeyInfo *Keys,uint32_t len) { uint32_t Res; memset(Keys,0xff,4); if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_GET_KEYINFO,0,0,&Res,(uint8_t *)Keys,&len))!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't get Key - Info"); return Res; } CJ_RESULT CEC30Reader::GetSecoderInfo(tSecoderInfo *Info,uint32_t len) { uint32_t Res; memset(Info,0xff,6); if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_GET_SECODERINFO,0,0,&Res,(uint8_t *)Info,&len))!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't get Secoder - Info"); return Res; } CJ_RESULT CEC30Reader::BuildReaderInfo() { cjeca_Info Info; CJ_RESULT Res; uint32_t Mask; memset(&m_ReaderInfo,0,sizeof(m_ReaderInfo)); m_ReaderInfo.SizeOfStruct=sizeof(m_ReaderInfo); if((Res=GetReaderInfo(&Info))!=CJ_SUCCESS) return Res; if(m_pCommunicator==NULL) return CJ_ERR_DEVICE_LOST; m_pCommunicator->SetCommunicationString(&m_ReaderInfo); m_ReaderInfo.ContentsMask |= RSCT_READER_MASK_HARDWARE | RSCT_READER_MASK_VERSION | RSCT_READER_MASK_HARDWARE_VERSION | RSCT_READER_MASK_FLASH_SIZE | RSCT_READER_MASK_HEAP_SIZE | RSCT_READER_MASK_SERIALNUMBER | RSCT_READER_MASK_PRODUCTION_DATE | RSCT_READER_MASK_TEST_DATE | RSCT_READER_MASK_COMMISSIONING_DATE | RSCT_READER_MASK_HW_STRING; Mask = ~Info.ReaderConst.MaskOption; m_ReaderInfo.HardwareMask=RSCT_READER_HARDWARE_MASK_ICC1 | RSCT_READER_HARDWARE_MASK_KEYPAD | RSCT_READER_HARDWARE_MASK_DISPLAY | RSCT_READER_HARDWARE_MASK_UPDATEABLE | RSCT_READER_HARDWARE_MASK_MODULES| (Mask << 18); m_ReaderInfo.Version=Info.KernelVersion; m_ReaderInfo.HardwareVersion=ReaderToHostLong(Info.ReaderConst.HardwareVersion); m_ReaderInfo.FlashSize=256*1024; m_ReaderInfo.HeapSize=16*48; GetKeyInfo(m_ReaderInfo.Keys,sizeof(m_ReaderInfo.Keys)); for(int i=0;i<10;i++) { m_ReaderInfo.SeriaNumber[i]=Info.ReaderConst.Seriennummer[i*2]; } m_ReaderInfo.SeriaNumber[10]='\0'; memcpy(m_ReaderInfo.ProductionDate,Info.ReaderConst.dtDate[0].ProductionDate,10); m_ReaderInfo.ProductionDate[10]='\0'; memcpy(m_ReaderInfo.ProductionTime,Info.ReaderConst.dtDate[0].ProductionTime,5); m_ReaderInfo.ProductionTime[5]='\0'; memcpy(m_ReaderInfo.TestDate,Info.ReaderConst.dtDate[1].ProductionDate,10); m_ReaderInfo.TestDate[10]='\0'; memcpy(m_ReaderInfo.TestTime,Info.ReaderConst.dtDate[1].ProductionTime,5); m_ReaderInfo.TestTime[5]='\0'; memcpy(m_ReaderInfo.CommissioningDate,Info.ReaderConst.dtDate[2].ProductionDate,10); m_ReaderInfo.CommissioningDate[10]='\0'; memcpy(m_ReaderInfo.CommissioningTime,Info.ReaderConst.dtDate[2].ProductionTime,5); m_ReaderInfo.CommissioningTime[5]='\0'; SetHWString((char*)m_ReaderInfo.HardwareString); strcat((char*)m_ReaderInfo.HardwareString, (const char*)m_ReaderInfo.CommunicationString); // if(m_ReaderInfo.Keys[0].KNr<255 && m_ReaderInfo.Keys[1].KNr<255 && m_ReaderInfo.Keys[0].KNr>200 && m_ReaderInfo.Keys[1].KNr>200) // strcat((char*)m_ReaderInfo.HardwareString, "_DEV"); GetSecoderInfo(m_ReaderInfo.Info,sizeof(m_ReaderInfo.Info)); return Res; } CJ_RESULT CEC30Reader::GetModuleIDs(uint32_t *Count,uint32_t *IDs) { uint32_t help[33]; uint32_t len=sizeof(help); uint32_t Res; *Count=0; if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_ENUM,0,0,&Res,(uint8_t *)help,&len))!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't enum modules"); else { *Count=ReaderToHostLong(help[0]); if(*Count>32) *Count=32; for(unsigned int i=1;i<=*Count;i++) { *IDs++=ReaderToHostLong(help[i]); } } return Res; } CJ_RESULT CEC30Reader::GetModuleInfo(uint32_t ID,cj_ModuleInfo *Info) { CJ_RESULT Result; cjeca_ModuleInfo ModuleInfo; uint32_t len=sizeof(ModuleInfo); uint32_t Res; ID=HostToReaderLong(ID); memset(Info,0xff,sizeof(cj_ModuleInfo)); if((Result=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_INFO,(uint8_t *)&ID,sizeof(ID),&Res,(uint8_t *)&ModuleInfo,&len))!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't get module information"); else { Info->BaseAddr=ReaderToHostLong(ModuleInfo.ModuleBaseAddr); Info->CodeSize=ReaderToHostLong(ModuleInfo.ModuleCodeSize); memcpy(Info->Date,ModuleInfo.DateTime.ProductionDate,11); Info->Date[11]='\0'; memcpy(Info->Description,ModuleInfo.Description,16); Info->Description[16]='\0'; Info->HeapSize=ModuleInfo.GlobalHeapSize; Info->ID=ReaderToHostLong(ModuleInfo.ModuleID); Info->RequieredKernelRevision=ModuleInfo.RequieredKernelRevision; Info->RequieredKernelVersion=ModuleInfo.RequieredKernelVersion; Info->Revision=ModuleInfo.Revision; Info->SizeOfStruct=sizeof(cj_ModuleInfo); Info->Status=ReaderToHostLong(ModuleInfo.Status); memcpy(Info->Time,ModuleInfo.DateTime.ProductionTime,5); Info->Time[5]='\0'; Info->Variant=ModuleInfo.Variante; Info->Version=ModuleInfo.Version; Info->ContentsMask = RSCT_MODULE_MASK_STATUS | RSCT_MODULE_MASK_ID | RSCT_MODULE_MASK_VARIANT | RSCT_MODULE_MASK_BASE_ADDR | RSCT_MODULE_MASK_CODE_SIZE | RSCT_MODULE_MASK_VERSION | RSCT_MODULE_MASK_REVISION | RSCT_MODULE_MASK_REQUIRED_VERSION | RSCT_MODULE_MASK_REQUIRED_REVISION | RSCT_MODULE_MASK_HEAP_SIZE | RSCT_MODULE_MASK_DESCRIPTION | RSCT_MODULE_MASK_DATE; } return Result; } CJ_RESULT CEC30Reader::BuildModuleInfo() { CJ_RESULT Res; uint32_t ID[33]; if((Res=GetModuleIDs(&m_ModuleInfoCount,ID+1))==CJ_SUCCESS) { ID[0]=MODULE_ID_KERNEL; m_ModuleInfoCount++; if(m_pModuleInfo) delete m_pModuleInfo; m_pModuleInfo=new cj_ModuleInfo[m_ModuleInfoCount]; for(unsigned int i=0;iDebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); else if(Escape(MODULE_ID_KERNEL,CCID_ESCAPE_SET_SERNUMBER,SerNo,sizeof(SerNo),&Res,0,0)!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set serial number"); } bool CEC30Reader::SetReaderConstants(void) { uint32_t LocalInfo; bool bRebuild=false; LocalInfo=GetEnviroment("pinpad2_info",0xffffffff); if((LocalInfo & 1) && IsNotSet(m_ReaderInfo.ProductionDate,10) && IsNotSet(m_ReaderInfo.ProductionTime,5)) { SetDate(0); bRebuild=true; } if((LocalInfo & 2) && IsNotSet(m_ReaderInfo.TestDate,10) && IsNotSet(m_ReaderInfo.TestTime,5)) { SetDate(1); bRebuild=true; } if((LocalInfo & 8) && IsNotSet(m_ReaderInfo.CommissioningDate,10) && IsNotSet(m_ReaderInfo.CommissioningTime,5)) { SetDate(2); bRebuild=true; } if((LocalInfo & 4) && IsNotSet(m_ReaderInfo.SeriaNumber,10)) { SetSerialNumber(); bRebuild=true; } return bRebuild; } void CEC30Reader::SetDate(uint8_t Nr) { uint32_t Res; struct _CCID_Message::_Data::_Escape::_Reader::_EC30::_Data::_SetDateTime DateTime; struct tm *t; time_t tim; time(&tim); t=localtime(&tim); DateTime.Nr=Nr; sprintf((char *)DateTime.dtDate.ProductionDate,"%02d.%02d.%04d",t->tm_mday,t->tm_mon+1,t->tm_year+1900); sprintf((char *)DateTime.dtDate.ProductionTime,"%02d:%02d",t->tm_hour,t->tm_min); if(SetFlashMask()!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); else if(Escape(MODULE_ID_KERNEL,CCID_ESCAPE_SET_DATE_TIME,(uint8_t *)&DateTime,sizeof(DateTime),&Res,0,0)!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set date"); } typedef struct _tFileHeader { unsigned long OffsetCrc16; unsigned long Status; unsigned long ModuleBaseAddr; unsigned long ModuleHeaderID; unsigned long ModuleID; unsigned long ModuleCodeSize; uint8_t Version; uint8_t Revision; uint8_t Variante; uint8_t RequieredKernelVersion; uint8_t RequieredKernelRevision; uint8_t GlobalHeapSize; uint8_t ExtraPages; uint8_t cReserved2; uint8_t DateOfCompilation[12]; uint8_t TimeOfCompilation[12]; int8_t Description[16]; }tFileHeader; CJ_RESULT CEC30Reader::CtGetModuleInfoFromFile(uint8_t *pData,uint32_t DataLength,cj_ModuleInfo *Info,uint32_t *EstimatedUpdateTime) { tFileHeader *header=(tFileHeader *)pData; *EstimatedUpdateTime=8000; if(DataLengthSizeOfStructContentsMask = RSCT_MODULE_MASK_ID | RSCT_MODULE_MASK_VARIANT | RSCT_MODULE_MASK_CODE_SIZE | RSCT_MODULE_MASK_VERSION | RSCT_MODULE_MASK_REVISION | RSCT_MODULE_MASK_REQUIRED_VERSION | RSCT_MODULE_MASK_REQUIRED_REVISION | RSCT_MODULE_MASK_HEAP_SIZE | RSCT_MODULE_MASK_DESCRIPTION | RSCT_MODULE_MASK_DATE; Info->ID=ReaderToHostLong(header->ModuleID); Info->CodeSize=ReaderToHostLong(header->ModuleCodeSize); memcpy(Info->Date,header->DateOfCompilation,11); Info->Date[11]='\0'; memcpy(Info->Description,header->Description,16); Info->Description[16]='\0'; Info->HeapSize=header->GlobalHeapSize; Info->RequieredKernelRevision=header->RequieredKernelRevision; Info->RequieredKernelVersion=header->RequieredKernelVersion; Info->Revision=header->Revision; Info->SizeOfStruct=sizeof(cj_ModuleInfo); memcpy(Info->Time,header->TimeOfCompilation,5); Info->Time[5]='\0'; Info->Variant=header->Variante; Info->Version=header->Version; if(Info->ID==MODULE_ID_KERNEL) *EstimatedUpdateTime=8000; else *EstimatedUpdateTime=6000; return CJ_SUCCESS; } int CEC30Reader::GetWarmstartTimeout(void) { return 4500; } CJ_RESULT CEC30Reader::CtLoadModule(uint8_t *pData,uint32_t DataLength,uint8_t *pSgn,uint32_t SgnLength,uint32_t *Result) { uint32_t len; CJ_RESULT Res; tFileHeader *header=(tFileHeader *)pData; struct _CCID_Message::_Data::_Escape::_Reader::_EC30::_Data::_UpdateData Data; struct _CCID_Message::_Data::_Escape::_Reader::_EC30::_Data::_UpdateVerify Verify; if(DataLength<258) return CJ_ERR_WRONG_SIZE; if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_UPDATE_START,pData,256,Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't begin update"); return Res; } DataLength-=256; pData+=256; while(DataLength) { len=(DataLength>256)?256:DataLength; memcpy(Data.Data,pData,len); Data.bLength=(uint16_t)len; if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_UPDATE,(uint8_t *)&Data,sizeof(Data),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't transmit update"); return Res; } DataLength-=len; pData+=len; } Verify.len=HostToReaderLong(SgnLength); memcpy(Verify.Sign,pSgn,SgnLength); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_VERIFY,(uint8_t *)&Verify,sizeof(Verify),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't transmit signature"); return Res; } if(header->ModuleID==MODULE_ID_KERNEL) { // m_pCommunicator->Close(); Sleep(GetWarmstartTimeout()); // m_pCommunicator->Open(); } BuildReaderInfo(); BuildModuleInfo(); return Res; } CJ_RESULT CEC30Reader::CtDeleteALLModules(uint32_t *Result) { CJ_RESULT Res; if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_DELALL,0,0,Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Not deleted"); } BuildModuleInfo(); return Res; } CJ_RESULT CEC30Reader::CtDeleteModule(uint32_t ModuleID,uint32_t *Result) { CJ_RESULT Res; ModuleID=HostToReaderLong(ModuleID); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_DELETE,(uint8_t *)&ModuleID,sizeof(ModuleID),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Not deleted"); } BuildModuleInfo(); return Res; } CJ_RESULT CEC30Reader::CtActivateModule(uint32_t ModuleID,uint32_t *Result) { CJ_RESULT Res; ModuleID=HostToReaderLong(ModuleID); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_REACTIVATE,(uint8_t *)&ModuleID,sizeof(ModuleID),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Not deleted"); } BuildModuleInfo(); return Res; } CJ_RESULT CEC30Reader::CtDeactivateModule(uint32_t ModuleID,uint32_t *Result) { CJ_RESULT Res; ModuleID=HostToReaderLong(ModuleID); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_DEACTIVATE,(uint8_t *)&ModuleID,sizeof(ModuleID),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Not deleted"); } BuildModuleInfo(); return Res; } CJ_RESULT CEC30Reader::_CtSetContrast(uint8_t Value,uint32_t *Result) { CJ_RESULT Res; if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_DSP_CONTRAST,&Value,sizeof(Value),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Not deleted"); } return Res; } CJ_RESULT CEC30Reader::_CtSetBacklight(uint8_t Value,uint32_t *Result) { CJ_RESULT Res; if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_DSP_BACKLIGHT,&Value,sizeof(Value),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Not deleted"); } return Res; } CJ_RESULT CEC30Reader::CtKeyUpdate(uint8_t *pData,uint32_t DataLength,uint32_t *Result) { uint8_t KV[256]; CJ_RESULT Res; uint8_t *ptr=pData; uint32_t len=DataLength; uint32_t EstimatedUpdateTime; uint16_t help; uint16_t help1; uint8_t help2; uint16_t help3; uint8_t *NewKey; uint32_t Ret; bool IsRoot=true; _CCID_Message::_Data::_Escape::_Reader::_EC30::_Data::_UpdateKey Key; *Result=0; if(_CtIsKeyUpdateRecommended(pData,DataLength,&EstimatedUpdateTime,KV,Res)) { if(Res!=CJ_SUCCESS) return Res; for (; ; ) { if (len == 0) break; ptr+=3; len-=3; memcpy(&help,ptr,2); help=ReaderToHostShort(help); ptr+=2; len-=2; NewKey=ptr; memcpy(&help1,ptr+12,2); help1=ReaderToHostShort(help1); help2=ptr[15+help1]; ptr+=16+help1+help2; if(0xff==m_ReaderInfo.Keys[0].KNr && 0xff==m_ReaderInfo.Keys[0].Version && KV[NewKey[8]]==NewKey[9] || 0xff==m_ReaderInfo.Keys[1].KNr && 0xff==m_ReaderInfo.Keys[1].Version && KV[NewKey[8]]==NewKey[9]) { Key.len=16+help1+help2; if(Key.len>800) { *Result=ECA_MODULE_ERR_OUT_OF_RESOURCE; return CJ_ERR_CHECK_RESULT; } memcpy(Key.Key,NewKey,Key.len); Key.len=HostToReaderLong(Key.len); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Ret=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_UPDATE_KEY,(uint8_t *)&Key,sizeof(Key.len)+16+help1+help2,Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Update Key error"); return Ret; } if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Ret=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_VERIFY_KEY,(uint8_t *)&len,sizeof(len),Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Verify Key error"); return Ret; } BuildReaderInfo(); } else if(!IsRoot) { memcpy(&help3,ptr+2,2); help3=ReaderToHostShort(help3); if(NewKey[8]==m_ReaderInfo.Keys[0].KNr && NewKey[9]>m_ReaderInfo.Keys[0].Version || NewKey[8]==m_ReaderInfo.Keys[1].KNr && NewKey[9]>m_ReaderInfo.Keys[1].Version) { if(ptr[6]==m_ReaderInfo.Keys[0].KNr && ptr[7]==m_ReaderInfo.Keys[0].Version || ptr[6]==m_ReaderInfo.Keys[1].KNr && ptr[7]==m_ReaderInfo.Keys[1].Version) { Key.len=16+help1+help2; if(Key.len>800 || help3>796) { *Result=ECA_MODULE_ERR_OUT_OF_RESOURCE; return CJ_ERR_CHECK_RESULT; } memcpy(Key.Key,NewKey,Key.len); Key.len=HostToReaderLong(Key.len); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Ret=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_UPDATE_KEY,(uint8_t *)&Key,sizeof(Key.len)+Key.len,Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Update Key error"); return Ret; } Key.len=help3+4; memcpy(Key.Key,ptr,Key.len); Key.len=HostToReaderLong(Key.len); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Ret=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_VERIFY_KEY,(uint8_t *)&Key,sizeof(Key.len)+help3+4,Result,0,0))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Verify Key error"); return Ret; } BuildReaderInfo(); } else { return CJ_ERR_DATA_CORRUPT; } } } ptr=NewKey+help; len-=help; IsRoot=false; } } return CJ_SUCCESS; } CJ_RESULT CEC30Reader::CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime) { CJ_RESULT Res; uint8_t KV[256]; _CtIsKeyUpdateRecommended(pData,DataLength,EstimatedUpdateTime,KV,Res); return Res; } bool CEC30Reader::_CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime,uint8_t *KV,CJ_RESULT &Res) { uint8_t *ptr=pData; uint32_t len=DataLength; uint16_t help; uint16_t help1; uint8_t help2; uint16_t help3; uint16_t help4; bool IsRoot=true; bool IsRecommended=false; Res=CJ_SUCCESS; memset(KV,0,256); *EstimatedUpdateTime=0; for (; ; ) { if (len == 0) break; if (len < 23 || (!IsRoot && len <36)) { Res=CJ_ERR_DATA_CORRUPT; break; } if (memcmp(ptr,"\x7F\x21\x82",3)!=0) { Res=CJ_ERR_DATA_CORRUPT; break; } ptr+=3; len-=3; memcpy(&help,ptr,2); help=ReaderToHostShort(help); if (help < 18 || (!IsRoot && help<31)) { Res=CJ_ERR_DATA_CORRUPT; break; } ptr+=2; len-=2; if (len < help) { Res=CJ_ERR_DATA_CORRUPT; break; } if (memcmp(ptr,"\x52\x04""ecom""\x51\x02",8)!=0) { Res=CJ_ERR_DATA_CORRUPT; break; } if (memcmp(ptr+10,"\x81\x82",2)!=0) { Res=CJ_ERR_DATA_CORRUPT; break; } if (KV[ptr[8]] >= ptr[9]) { Res=CJ_ERR_DATA_CORRUPT; break; } if(ptr[8]==m_ReaderInfo.Keys[0].KNr && ptr[9]>m_ReaderInfo.Keys[0].Version || ptr[8]==m_ReaderInfo.Keys[1].KNr && ptr[9]>m_ReaderInfo.Keys[1].Version) { *EstimatedUpdateTime+=5000; IsRecommended=true; } if(0xff==m_ReaderInfo.Keys[0].KNr && 0xff==m_ReaderInfo.Keys[0].Version && KV[ptr[8]]==0 || 0xff==m_ReaderInfo.Keys[1].KNr && 0xff==m_ReaderInfo.Keys[1].Version && KV[ptr[8]]==0) { *EstimatedUpdateTime+=1000; IsRecommended=true; } memcpy(&help1,ptr+12,2); help1=ReaderToHostShort(help1); if (help < 17+help1 || (!IsRoot && help<30 + help1) || help1<1) { Res=CJ_ERR_DATA_CORRUPT; break; } help2=ptr[15+help1]; if(ptr[14+help1]!=0x82 || IsRoot && 16+help1+help2!=help || !IsRoot && help < 29 + help1 + help2 || help2<1) { Res=CJ_ERR_DATA_CORRUPT; break; } KV[ptr[8]] = ptr[9]; ptr+=16+help1+help2; if(!IsRoot) { if(memcmp(ptr,"\x83\x82",2)!=0) { Res=CJ_ERR_DATA_CORRUPT; break; } memcpy(&help3,ptr+2,2); help3=ReaderToHostShort(help3); if(help3<9 || 20+help1+help2+help3!=help) { Res=CJ_ERR_DATA_CORRUPT; break; } if(memcmp(ptr+4,"\x51\x02",2)!=0) { Res=CJ_ERR_DATA_CORRUPT; break; } if(memcmp(ptr+8,"\x84\x82",2)!=0) { Res=CJ_ERR_DATA_CORRUPT; break; } memcpy(&help4,ptr+10,2); help4=ReaderToHostShort(help4); if(help3!=help4 + 8) { Res=CJ_ERR_DATA_CORRUPT; break; } ptr+=4+help3; } len-=help; IsRoot=false; } return IsRecommended; } bool CEC30Reader::ATRFilter(bool IsWarm) { return IsWarm; } RSCT_IFD_RESULT CEC30Reader::IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length,uint32_t Timeout) { // RSCT_IFD_RESULT Result=STATUS_SUCCESS; CCID_Message Message; CCID_Response Response; Timeout=HostToReaderLong(Timeout); bool warm=false; bool first=true; switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: *ATR_Length=0; IfdPower(SCARD_POWER_DOWN,NULL,NULL,0); break; case SCARD_POWER_DOWN: break; default: return STATUS_INVALID_PARAMETER; } do { memset(&Message,0,sizeof(Message)); Message.dwLength=4; Message.Header.iccPowerOn.bPowerSelect=1; switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: *ATR_Length=0; Message.bMessageType=PC_TO_RDR_ICCPOWERON; break; case SCARD_POWER_DOWN: Message.bMessageType=PC_TO_RDR_ICCPOWEROFF; break; } memcpy(Message.Data.abData,&Timeout,4); if(first) first=false; else warm=true; if(Transfer(&Message,&Response)==CJ_SUCCESS) { switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: if(Response.bMessageType!=RDR_TO_PC_DATABLOCK) return STATUS_DEVICE_NOT_CONNECTED; break; case SCARD_POWER_DOWN: if(Response.bMessageType!=RDR_TO_PC_SLOTSTATUS) return STATUS_DEVICE_NOT_CONNECTED; break; } if(Response.bStatus & 0x40) { switch(Response.bError) { case 0xfe: return STATUS_NO_MEDIA; case 0xf6: return STATUS_UNRECOGNIZED_MEDIA; case 0xef: return STATUS_CANCELLED; default: return STATUS_IO_TIMEOUT; } } if(Response.dwLength>33) Response.dwLength=33; switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: m_ATR_Length=Response.dwLength; memcpy(m_ATR,Response.Data.abData,Response.dwLength); warm=ATRFilter(warm); *ATR_Length=m_ATR_Length; memcpy(ATR,m_ATR,m_ATR_Length); default:; } } else return STATUS_DEVICE_NOT_CONNECTED; }while(Mode!=SCARD_POWER_DOWN && AnalyseATR(warm)==1); return STATUS_SUCCESS; } CJ_RESULT CEC30Reader::CtSelfTest(void) { uint32_t Res; struct _CCID_Message::_Data::_Escape::_Reader::_EC30::_Data::_SetDateTime DateTime; struct tm *t; time_t tim; CJ_RESULT Result; time(&tim); t=localtime(&tim); DateTime.Nr=0; sprintf((char *)DateTime.dtDate.ProductionDate,"%02d.%02d.%04d",t->tm_mday,t->tm_mon+1,t->tm_year+1900); sprintf((char *)DateTime.dtDate.ProductionTime,"%02d:%02d",t->tm_hour,t->tm_min); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } Result=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_SELF_TEST,(uint8_t *)&DateTime,sizeof(DateTime),&Res,0,0); if(Result!=CJ_SUCCESS && Result!=CJ_ERR_CHECK_RESULT) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Error Selftest"); return CJ_ERR_DEVICE_LOST; } return Res; } CJ_RESULT CEC30Reader::CtShowAuth(void) { uint32_t Res; if(Escape(MODULE_ID_KERNEL,CCID_ESCAPE_SHOW_AUTH,NULL,0,&Res,0,0)!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Error Show Auth"); return Res; } RSCT_IFD_RESULT CEC30Reader::ccidTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { CCID_Message Message; CCID_Response Response; if(cmd_len>GetReadersInputBufferSize()-10) { *response_len=0; return STATUS_BUFFER_OVERFLOW; } memset(&Message,0,sizeof(Message)); Message.bMessageType=PC_TO_RDR_XFRBLOCK; Message.dwLength=cmd_len; memcpy(Message.Data.abData,cmd,cmd_len); if(Transfer(&Message,&Response)==CJ_SUCCESS) { if(Response.bMessageType!=RDR_TO_PC_DATABLOCK) { IfdPower(SCARD_POWER_DOWN,NULL,NULL,0); *response_len=0; return STATUS_DEVICE_PROTOCOL_ERROR; } if(Response.bStatus & 0x40) { if(Response.bError==ICC_MUTE) { IfdPower(SCARD_POWER_DOWN,NULL,NULL,0); *response_len=0; return STATUS_IO_TIMEOUT; } else { IfdPower(SCARD_POWER_DOWN,NULL,NULL,0); *response_len=0; return STATUS_DEVICE_PROTOCOL_ERROR; } } if(Response.dwLength>*response_len) { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } *response_len=(uint16_t)Response.dwLength; memcpy(response,Response.Data.abData,Response.dwLength); return STATUS_SUCCESS; } return STATUS_DEVICE_NOT_CONNECTED; } RSCT_IFD_RESULT CEC30Reader::IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { SCARD_IO_REQUEST io_request; RSCT_IFD_RESULT Res; uint16_t ResponseLength=*response_len-sizeof(SCARD_IO_REQUEST); if(cmd_len<=sizeof(SCARD_IO_REQUEST)) { *response_len=0; return STATUS_INVALID_PARAMETER; } memcpy(&io_request,cmd,sizeof(SCARD_IO_REQUEST)); if(cmd_len<=io_request.cbPciLength) { *response_len=0; return STATUS_INVALID_PARAMETER; } if(io_request.dwProtocol!=m_ActiveProtocol) { *response_len=0; return STATUS_INVALID_PARAMETER; } if(m_ReaderState!=SCARD_SPECIFIC) { *response_len=0; return STATUS_INVALID_DEVICE_STATE; } cmd_len-=(uint16_t)io_request.cbPciLength; cmd+=io_request.cbPciLength; Res=_IfdTransmit(cmd,cmd_len,response+sizeof(io_request),&ResponseLength); if(Res==STATUS_SUCCESS) { *response_len=ResponseLength+sizeof(io_request); io_request.cbPciLength=sizeof(io_request); memcpy(response,&io_request,sizeof(io_request)); } else { *response_len=0; } return Res; } RSCT_IFD_RESULT CEC30Reader::_IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { RSCT_IFD_RESULT Result; int l; const char *str; // uint16_t rest=*response_len; if(cmd_len>7) { if(cmd[0]==0xff && cmd[1]==0x91 && cmd[4]==0) { int32_t Lc=-1; int32_t Le=-1; if(cmd_len==7+((uint32_t)cmd[5]<<8)+cmd[6]) { Lc=((int32_t)cmd[5]<<8)+cmd[6]; } else if(cmd_len==9+((uint32_t)cmd[5]<<8)+cmd[6] && (cmd[5]!=0 || cmd[6]!=0)) { Lc=((int32_t)cmd[5]<<8)+cmd[6]; Le=((int32_t)cmd[cmd_len-2]<<8)+cmd[cmd_len-1]; } if(Lc>0) { if(cmd[3]==0x00 && (cmd[2] & 0xf0)==0 && IsClass3() && FindModuleWithMask(MODULE_ID_KT_LIGHT,0xfffffeff)) { uint8_t sad=2; uint8_t dad=1; if(SecoderBufferLen0) { SecoderBufferLen=0; delete[] SecoderBuffer; } if((SecoderBuffer=new uint8_t[cmd_len+1024])!=NULL) SecoderBufferLen=cmd_len+1024; else return STATUS_BUFFER_OVERFLOW; } memcpy(SecoderBuffer,cmd,cmd_len); SecoderBuffer[0]=0x20; SecoderBuffer[1]=0x70 | (0x0f & SecoderBuffer[2]); SecoderBuffer[2]=0; SecoderBuffer[3]=0; return KTLightCall(&sad,&dad,SecoderBuffer,cmd_len,Lc,SecoderBuffer+7,Le,response,response_len); } else if(cmd[3]==1 && Le==-1) { if(SecoderBufferLen0) { SecoderBufferLen=0; delete[] SecoderBuffer; } if((SecoderBuffer=new uint8_t[cmd_len+1024])!=NULL) SecoderBufferLen=cmd_len+1024; else return STATUS_BUFFER_OVERFLOW; } memcpy(SecoderBuffer,cmd,cmd_len); if(cmd[2]==0) { uint32_t rlen=*response_len; RSCT_IFD_RESULT Res=IfdVendor(CJPCSC_VEN_IOCTRL_VERIFY_PIN_DIRECT,SecoderBuffer+7,cmd_len-7,response,&rlen); if(Res!=STATUS_SUCCESS) { *response_len=0; return Res; } if(rlen<65536) { *response_len=(uint16_t)rlen; return Res; } else { *response_len=0; return STATUS_BUFFER_OVERFLOW; } } if(cmd[2]==1) { uint32_t rlen=*response_len; RSCT_IFD_RESULT Res=IfdVendor(CJPCSC_VEN_IOCTRL_MODIFY_PIN_DIRECT,SecoderBuffer+7,cmd_len-7,response,&rlen); if(Res!=STATUS_SUCCESS) { *response_len=0; return Res; } if(rlen<65536) { *response_len=(uint16_t)rlen; return Res; } else { *response_len=0; return STATUS_BUFFER_OVERFLOW; } } } } } } if(cmd_len==5 && cmd[0]==0xff && cmd[1]==0x9a && cmd[2]==0x01 && cmd[4]==0) { switch(cmd[3]) { case 1: if(*response_len>=12) { memcpy(response,"REINER SCT\x90\x00",12); *response_len=12; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 2: if(*response_len>=6) { memcpy(response,"0C4B\x90\x00",6); *response_len=6; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 3: if(*response_len>=(l=strlen((const char*)(m_ReaderInfo.ProductString)))+2) { memcpy(response,m_ReaderInfo.ProductString,l); memcpy(response+l,"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 4: if(*response_len>=6) { sprintf((char *)response,"%04X\x90",m_ReaderInfo.PID); *response_len=6; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 6: if(*response_len>=5) { sprintf((char *)response,"%1d.%1d\x90",(int)(m_ReaderInfo.Version>>4),(int)(m_ReaderInfo.Version & 0x0f)); *response_len=5; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 7: str=rsct_get_package_version(); if(*response_len>=(l=strlen(str))+2) { memcpy(response,str,l); memcpy(response+l,"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 8: if(*response_len>=7 && GetReadersInputBufferSize()<=99999 || *response_len>=6 && GetReadersInputBufferSize()<=9999) { sprintf((char *)response,"%d",(int)GetReadersInputBufferSize()); memcpy(response+(l=strlen((char *)response)),"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 9: if(*response_len>=8) { memcpy(response,"424250\x90\x00",8); *response_len=8; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; default:; } } if(m_ActiveProtocol==SCARD_PROTOCOL_T0 && m_bIsRF==false) { if(cmd_len==4) { uint8_t sbuffer[5]; memcpy(sbuffer,cmd,4); sbuffer[4]=0; return ccidTransmit(sbuffer,5,response,response_len); } else if(cmd_len==5) { uint8_t rbuffer[258]; uint8_t sbuffer[5]; uint8_t Le; uint8_t La; uint16_t ges_len=0; uint16_t rlen=2; memcpy(sbuffer,cmd,4); rbuffer[0]=0x61; rbuffer[1]=cmd[4]; while(rbuffer[rlen-2]==0x61) //while chaining { rbuffer[0]=0x6C; Le=rbuffer[rlen-1]; rbuffer[1]=Le; rlen=2; while(rlen==2 && rbuffer[0]==0x6C) //while retransmit with other Length; { rlen=sizeof(rbuffer); sbuffer[4]=La=rbuffer[1]; if((Result=ccidTransmit(sbuffer,5,rbuffer,&rlen))!=STATUS_SUCCESS) { return Result; } if(m_ApduNorm==NORM_PCSC) break; if(rlen<2) { *response_len=0; return STATUS_IO_TIMEOUT; } if(Le!=0 && Le*response_len) { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } memcpy(response,rbuffer,rlen); response+=rlen-2; ges_len+=rlen-2; memcpy(sbuffer,"\x00\xc0\x00\x00",4); if(m_ApduNorm==NORM_PCSC) break; } *response_len=ges_len+2; return STATUS_SUCCESS; } else if(cmd_len==5+cmd[4] && cmd[4]!=0) { if((Result=ccidTransmit(cmd,cmd_len,response,response_len))==STATUS_SUCCESS) { if(*response_len==2 && (response[0] & 0xf0)==0xc0) response[0]&=0x7f; else if(*response_len==2 && (response[0] & 0xf0)==0xb0) response[0]&=0xdf; } return Result; } else if(cmd_len==6+cmd[4] && cmd[4]!=0) { uint8_t sbuffer[5]; uint8_t rbuffer[258]; uint16_t rlen=sizeof(rbuffer); unsigned int tot_size=0; unsigned int rest_size=sizeof(rbuffer); uint8_t *rptr=rbuffer; if((Result=ccidTransmit(cmd,cmd_len-1,rbuffer,&rlen))!=STATUS_SUCCESS) { *response_len=0; return Result; } // sbuffer[0]=cmd[0]; sbuffer[0]=0; memcpy(sbuffer+1,"\xC0\x00\x00",3); rptr+=rlen-2; rest_size-=rlen-2; tot_size+=rlen-2; if(rlen==2 && (((rbuffer[0] & 0xf0)==0x90 && (rbuffer[0]!=0x90 || rbuffer[1]!=0x00)) || rbuffer[0]==0x62 || rbuffer[0]==0x63)) { sbuffer[4]=cmd[cmd_len-1]; rlen=rest_size; if((Result=ccidTransmit(sbuffer,5,rbuffer,&rlen))!=STATUS_SUCCESS) { *response_len=0; return Result; } rest_size-=rlen-2; tot_size+=rlen-2; } else if(rlen==2 && (rbuffer[0] & 0xf0)==0xc0) rbuffer[0]&=0x7f; else if(rlen==2 && (rbuffer[0] & 0xf0)==0xb0) rbuffer[0]&=0xdf; if(rlen >=2 && (rptr[rlen-2]==0x61 || rptr[rlen-2]==0x6C)) { while(rlen >=2 && (rptr[rlen-2]==0x61 || rptr[rlen-2]==0x6C)) { rptr+=rlen-2; if(cmd[cmd_len-1]*response_len) { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } memcpy(response,rbuffer,tot_size+2); *response_len=tot_size+2; return STATUS_SUCCESS; } /* else if(lenc==7 && cmd[4]==0) { } else if(lenc==7+(((uint16_t)cmd[5])<<8)+cmd[6] && cmd[4]==0 && lenc!=7) { } else if(lenc==9+(((uint16_t)cmd[5])<<8)+cmd[6] && cmd[4]==0 && lenc!=9) { }*/ else return STATUS_INVALID_PARAMETER; } else { return ccidTransmit(cmd,cmd_len,response,response_len); } } CJ_RESULT CEC30Reader::CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result) { CJ_RESULT Res; uint8_t ResultMode; uint32_t Len; ResultMode=boolMode?1:0; Len=sizeof(ResultMode); if((Res=SetFlashMask())!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Res; } if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_SET_SILENT_MODE,&ResultMode,sizeof(ResultMode),Result,&ResultMode,&Len))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Silent mode not set"); } *pboolMode=ResultMode?true:false; return Res; } CJ_RESULT CEC30Reader::CtGetSilentMode(bool *pboolMode,uint32_t *Result) { uint32_t Res; uint8_t ResultMode; uint32_t Len; Len=sizeof(ResultMode); if((Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_SET_SILENT_MODE,&ResultMode,sizeof(ResultMode),Result,&ResultMode,&Len))!=CJ_SUCCESS) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Error getting silent mode"); } *pboolMode=ResultMode?true:false; return Res; } bool CEC30Reader::IsClass3(void) { return true; } CJ_RESULT CEC30Reader::cjInput(uint8_t *key,uint8_t timeout,uint8_t *tag50,int tag50len) { CJ_RESULT Res=CJ_ERR_WRONG_PARAMETER; uint32_t Len; uint32_t Result; uint8_t Error; uint32_t ErrorLen=sizeof(Error); Len=1; if(FindModule(MODULE_ID_MKT_COMP)) { uint8_t buffer[65]; if(tag50len>64) return CJ_ERR_RBUFFER_TO_SMALL; buffer[0]=timeout; if(tag50len) memcpy(buffer+1,tag50,tag50len); if((Res=CtApplicationData(MODULE_ID_MKT_COMP,0,buffer,tag50len+1,&Result,key,&Len,&Error,&ErrorLen))) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Error Input"); } } return Res; } CJ_RESULT CEC30Reader::cjOutput(uint8_t timeout,uint8_t *tag50,int tag50len) { CJ_RESULT Res; uint32_t Result; uint8_t Error; uint32_t ErrorLen=sizeof(Error); uint8_t buffer[65]; if(tag50len>64) return CJ_ERR_RBUFFER_TO_SMALL; buffer[0]=timeout; memcpy(buffer+1,tag50,tag50len); if((Res=CtApplicationData(MODULE_ID_MKT_COMP,1,buffer,tag50len+1,&Result,0,0,&Error,&ErrorLen))) { m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Error output"); } return Res; } CJ_RESULT CEC30Reader::SpecialLess3_0_41() { cj_ModuleInfo *Info=FindModule(MODULE_ID_KERNEL); if(Info==NULL) return CJ_ERR_LEN; if(Info->Version<0x30 || Info->Version==0x30 && Info->Revision<=40) { if(m_ReaderState==SCARD_ABSENT) return CJ_ERR_NO_ICC; else if(m_ReaderState!=SCARD_SPECIFIC) return CJ_ERR_NO_ACTIVE_ICC; } return CJ_SUCCESS; } int CEC30Reader::ExecuteApplSecureResult(uint8_t Error,uint32_t ErrorLength,uint8_t *in,int *in_len,uint8_t *RespData,uint32_t RespDataLen,int offs) { CJ_RESULT Res=SpecialLess3_0_41(); if(Res!=CJ_SUCCESS) return Res; if(ErrorLength) { if(Error==XFR_PARITY_ERROR) return CJ_ERR_PARITY; else if(Error==ICC_MUTE) return CJ_ERR_TIMEOUT; else if(Error==PIN_TIMEOUT) return CJ_ERR_PIN_TIMEOUT; else if(Error==PIN_CANCELED) return CJ_ERR_PIN_CANCELED; else if(Error==PIN_DIFFERENT) return CJ_ERR_PIN_DIFFERENT; else if(Error==EXT_ERROR) { if(*in_len<(int)RespDataLen) return CJ_ERR_RBUFFER_TO_SMALL; memcpy(in,RespData,RespDataLen); *in_len=RespDataLen; return CJ_ERR_PIN_EXTENDED; } else if(Error==5) return CJ_ERR_WRONG_PARAMETER; else if(Error==21+offs) return CJ_ERR_WRONG_PARAMETER; else if(Error==26+offs) return CJ_ERR_CONDITION_OF_USE; else if(Error==DEACTIVATED_PROTOCOL) { if(m_ReaderState==SCARD_ABSENT) return CJ_ERR_NO_ICC; else if(m_ReaderState!=SCARD_SPECIFIC) return CJ_ERR_NO_ACTIVE_ICC; } else return CJ_ERR_LEN; } if(*in_len<(int)RespDataLen) return CJ_ERR_RBUFFER_TO_SMALL; memcpy(in,RespData,RespDataLen); *in_len=RespDataLen; return CJ_SUCCESS; } #ifdef IT_TEST int CEC30Reader::cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage) #else int CEC30Reader::cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage) #endif { if(Max>15) Max=15; if(Text==NULL || Textlen==0 || FindModule(MODULE_ID_MKT_COMP)==NULL) #ifdef IT_TEST return base::cjccid_SecurePV(Timeout, PinPosition,PinType, PinLengthSize,PinLength, PinLengthPosition, Min,Max, Condition,Prologue, out,out_len,in,in_len,Slot,Text,Textlen,bMessageIndex,bNumberMessage); #else return base::cjccid_SecurePV(Timeout, PinPosition,PinType, PinLengthSize,PinLength, PinLengthPosition, Min,Max, Condition,Prologue, out,out_len,in,in_len,Text,Textlen,bMessageIndex,bNumberMessage); #endif else { uint32_t Result; uint8_t RespData[1000]; uint8_t buffer[1000]; uint32_t RespDataLen=sizeof(RespData); struct _CCID_Message::_Data::_Secure *Secure; uint8_t Error; uint32_t ErrorLength=sizeof(Error); int Res; buffer[0]=Textlen; memcpy(buffer+1,Text,Textlen); buffer[1+Textlen]=buffer[2+Textlen]=0; Secure=(struct _CCID_Message::_Data::_Secure *)(buffer+Textlen+3); Secure->bPINOperation=0; Secure->bTimeOut=Timeout; Secure->bmFormatString=(uint8_t)(0x80 | (PinPosition<<3) | PinType); Secure->bmPINBlockString=(uint8_t)((PinLengthSize<<4) | PinLength); Secure->bmPINLengthFormat=PinLengthPosition; Secure->Data.Verify.wPINMaxExtraDigit=HostToReaderShort((((uint16_t)Min)<<8)+Max); Secure->Data.Verify.bEntryValidationCondition=Condition; Secure->Data.Verify.bNumberMessage=bNumberMessage; Secure->Data.Verify.wLangId=HostToReaderShort(0x0409); Secure->Data.Verify.bMsgIndex=bMessageIndex; memcpy(Secure->Data.Verify.bTeoPrologue,Prologue,3); memcpy(Secure->Data.Verify.abData,out,out_len); #ifdef _INSERT_KEY_EVENTS { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa0; DoInterruptCallback(buffer,2); } #endif Res=CtApplicationData(MODULE_ID_MKT_COMP,2,buffer,15+out_len+Textlen+3,&Result,RespData,&RespDataLen,&Error,&ErrorLength); #ifdef _INSERT_KEY_EVENTS if(Res==CJ_SUCCESS) { if(m_ReaderState==SCARD_SPECIFIC) { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; if(ErrorLength==1 && Error==PIN_CANCELED) buffer[1]=0x01; else buffer[1]=0x02; DoInterruptCallback(buffer,2); } } { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa1; DoInterruptCallback(buffer,2); } #endif if(Res!=0) return Res; return ExecuteApplSecureResult(Error,ErrorLength,in,in_len,RespData,RespDataLen,0); } } #ifdef IT_TEST int CEC30Reader::cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage) #else int CEC30Reader::cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage) #endif { if(Max>15) Max=15; if(Text==NULL || Textlen==0 || TextCount==0 || FindModule(MODULE_ID_MKT_COMP)==NULL) { #ifdef IT_TEST return base::cjccid_SecureMV(Timeout,PinPosition,PinType,PinLengthSize,PinLength, PinLengthPosition,Min,Max,bConfirmPIN,Condition,Prologue,OffsetOld,OffsetNew, out,out_len,in,in_len,Slot,TextCount,Text,Textlen,bMessageIndex,bNumberMessage); #else return base::cjccid_SecureMV(Timeout,PinPosition,PinType,PinLengthSize,PinLength, PinLengthPosition,Min,Max,bConfirmPIN,Condition,Prologue,OffsetOld,OffsetNew, out,out_len,in,in_len,TextCount,Text,Textlen,bMessageIndex,bNumberMessage); #endif } else { uint32_t Result; uint8_t RespData[1000]; uint8_t buffer[1000]; uint32_t RespDataLen=sizeof(RespData); uint8_t *ptr; struct _CCID_Message::_Data::_Secure *Secure; uint8_t Error; uint32_t ErrorLength=sizeof(Error); int i; int Res; uint32_t len=0; for(i=0,ptr=buffer;ibPINOperation=1; Secure->bTimeOut=Timeout; Secure->bmFormatString=(uint8_t)(0x80 | (PinPosition<<3) | PinType); Secure->bmPINBlockString=(uint8_t)((PinLengthSize<<4) | PinLength); Secure->bmPINLengthFormat=PinLengthPosition; Secure->Data.Modify.bInsertionOffsetOld=OffsetOld; Secure->Data.Modify.bInsertionOffsetNew=OffsetNew; Secure->Data.Modify.wPINMaxExtraDigit=HostToReaderShort((((uint16_t)Min)<<8)+Max); Secure->Data.Modify.bConfirmPIN= bConfirmPIN; Secure->Data.Modify.bEntryValidationCondition=Condition; Secure->Data.Modify.bNumberMessage=bNumberMessage; Secure->Data.Modify.wLangId=HostToReaderShort(0x0409); Secure->Data.Modify.bMsgIndex1=bMessageIndex[0]; Secure->Data.Modify.bMsgIndex2=bMessageIndex[1]; Secure->Data.Modify.bMsgIndex3=bMessageIndex[2]; memcpy(Secure->Data.Modify.bTeoPrologue,Prologue,3); memcpy(Secure->Data.Modify.abData,out,out_len); #ifdef _INSERT_KEY_EVENTS { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa0; DoInterruptCallback(buffer,2); } #endif Res=CtApplicationData(MODULE_ID_MKT_COMP,2,buffer,20+out_len+len+3,&Result,RespData,&RespDataLen,&Error,&ErrorLength); #ifdef _INSERT_KEY_EVENTS if(Res==CJ_SUCCESS) { if(m_ReaderState==SCARD_SPECIFIC) { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; if(ErrorLength==1 && Error==PIN_CANCELED) buffer[1]=0x01; else buffer[1]=0x02; DoInterruptCallback(buffer,2); } } { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa1; DoInterruptCallback(buffer,2); } #endif if(Res!=0) return Res; return ExecuteApplSecureResult(Error,ErrorLength,in,in_len,RespData,RespDataLen,5); } } CJ_RESULT CEC30Reader::SetSyncParameters(uint8_t AddrByteCount, uint16_t PageSize) { CCID_Message Message; CCID_Response Response; memset(&Message,0,sizeof(Message)); Message.bMessageType=PC_TO_RDR_SETPARAMETERS; Message.Header.SetParameters.bProtocolNum=2; Message.dwLength=sizeof(Message.Data.SetParameters.Sync); Message.Data.SetParameters.Sync.AddrByteCount=AddrByteCount; Message.Data.SetParameters.Sync.PageSize=HostToReaderShort(PageSize); return Transfer(&Message,&Response); } CJ_RESULT CEC30Reader::KTLightCall(uint8_t *sad,uint8_t *dad,uint8_t *cmd, uint16_t lenc,int32_t Lc,uint8_t *data_ptr,int32_t Le,uint8_t *response,uint16_t *lenr) { uint16_t Function=cmd[1]; uint32_t Result; uint32_t ResponseLen=*lenr-2; uint8_t ApplicationError[6]; uint32_t ApplicationErrorLength=sizeof(ApplicationError); CJ_RESULT Res; if(cmd[2]!=00 || cmd[3]!=00) { response[0]=0x6a; response[1]=0x00; *lenr=2; return 0; } if(Lc==-1) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(cmd[1]==0x72 || cmd[1]==0x73 || cmd[1]==0x75 || cmd[1]==0x76) { if(Le!=-1) { response[0]=0x6c; response[1]=0x00; *lenr=2; return 0; } } else if(Le!=0) { response[0]=0x6c; response[1]=0x00; *lenr=2; return 0; } else lenc--; memmove(cmd,cmd+3,lenc-3); lenc-=3; memmove(cmd+1,data_ptr-3,Lc); lenc--; if(FindModule(MODULE_ID_KT_LIGHT)) { Res=CtApplicationData(MODULE_ID_KT_LIGHT,Function-0x70,cmd,Lc+1,&Result,response,&ResponseLen,ApplicationError,&ApplicationErrorLength); } else { Res=CtApplicationData(MODULE_ID_KT_LIGHT_GC,Function-0x70,cmd,Lc+1,&Result,response,&ResponseLen,ApplicationError,&ApplicationErrorLength); } if(Res==CJ_ERR_CHECK_RESULT) { response[0]=0x69; response[1]=0x85; *lenr=2; return CJ_SUCCESS; } if(Res!=CJ_SUCCESS) { *lenr=0; return Res; } if(ApplicationErrorLength>2) { *lenr=0; return CJ_ERR_WRONG_ANSWER; } memcpy(response+ResponseLen,ApplicationError,ApplicationErrorLength); *lenr=(uint16_t)(ResponseLen+ApplicationErrorLength); *dad=2; *sad=1; return CJ_SUCCESS; } int CEC30Reader::ExecuteSecureResult(CCID_Response *Response,uint8_t *in,int *in_len,int offs) { cj_ModuleInfo *Info=FindModule(MODULE_ID_KERNEL); if(Info==NULL) return CJ_ERR_LEN; if(Info->Version<0x30 || Info->Version==0x30 && Info->Revision<=40) return base::ExecuteSecureResult(Response,in,in_len,offs); if(Response->bStatus & 0x40) { if(Response->bError==XFR_PARITY_ERROR) return CJ_ERR_PARITY; else if(Response->bError==ICC_MUTE) return CJ_ERR_TIMEOUT; else if(Response->bError==PIN_TIMEOUT) return CJ_ERR_PIN_TIMEOUT; else if(Response->bError==PIN_CANCELED) return CJ_ERR_PIN_CANCELED; else if(Response->bError==PIN_DIFFERENT) return CJ_ERR_PIN_DIFFERENT; else if(Response->bError==EXT_ERROR) { if(*in_len<(int)Response->dwLength) return CJ_ERR_RBUFFER_TO_SMALL; memcpy(in,Response->Data.abData,Response->dwLength); *in_len=Response->dwLength; return CJ_ERR_PIN_EXTENDED; } else if(Response->bError==5) return CJ_ERR_WRONG_PARAMETER; else if(Response->bError==21+offs) return CJ_ERR_WRONG_PARAMETER; else if(Response->bError==26+offs) return CJ_ERR_CONDITION_OF_USE; else if(Response->bError==DEACTIVATED_PROTOCOL) { if(Response->bStatus & 0x02) return CJ_ERR_NO_ICC; else if(Response->bStatus & 0x01) return CJ_ERR_NO_ACTIVE_ICC; } else return CJ_ERR_LEN; } if(*in_len<(int)Response->dwLength) return CJ_ERR_RBUFFER_TO_SMALL; memcpy(in,Response->Data.abData,Response->dwLength); *in_len=Response->dwLength; return CJ_SUCCESS; } CJ_RESULT CEC30Reader::SetFlashMask(void) { return CJ_SUCCESS; } bool CEC30Reader::HastModulestoreInfo() { cj_ModuleInfo *Info=FindModule(MODULE_ID_KERNEL); return (Info->Version>0x30 || Info->Version==0x30 && Info->Revision>=43); } CJ_RESULT CEC30Reader::CtSetModulestoreInfo(uint8_t *StoreInfo,uint8_t InfoLength) { uint32_t Result; if(!HastModulestoreInfo()) return base::CtSetModulestoreInfo(StoreInfo,InfoLength); if(SetFlashMask()!=CJ_SUCCESS) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_ERROR,"Can't set Flashmask"); return Escape(MODULE_ID_KERNEL,CCID_ESCAPE_SET_MODULESTORE_INFO,StoreInfo,InfoLength,&Result,0,0); } CJ_RESULT CEC30Reader::CtGetModulestoreInfo(uint8_t *StoreInfo,uint8_t *InfoLength) { CJ_RESULT Res; uint32_t Result; uint32_t Len=*InfoLength; if(!HastModulestoreInfo()) return base::CtGetModulestoreInfo(StoreInfo,InfoLength); Res=Escape(MODULE_ID_KERNEL,CCID_ESCAPE_GET_MODULESTORE_INFO,NULL,0,&Result,StoreInfo,&Len); if(Res==CJ_SUCCESS || Res==CJ_ERR_RBUFFER_TO_SMALL && StoreInfo==NULL && InfoLength!=NULL) *InfoLength=(uint8_t)Len; return Res; } CJ_RESULT CEC30Reader::SetSMModeAndCount(uint32_t ModuleID,uint32_t Count) { uint32_t Result; tSMSelect SMSelect; SMSelect.ModuleID=HostToReaderLong(ModuleID); SMSelect.Count=HostToReaderLong(Count); return Escape(MODULE_ID_KERNEL,CCID_ESCAPE_SELECT_SM_MODULE,(uint8_t *)&SMSelect,sizeof(SMSelect),&Result,0,0); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/EFBReader.cpp0000644000175000001440000000061311657145411020354 0ustar sctusers#include "Platform.h" #include "EFBReader.h" #define base CECFReader CEFBReader::CEFBReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CEFBReader::~CEFBReader(void) { } void CEFBReader::SetHWString(char *String) { strcpy(String,"EFB_"); } void CEFBReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJEFB",5); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/ccid.h0000644000175000001440000002345711657145411017217 0ustar sctusers#ifndef CCID_H #define CCID_H #define PC_TO_RDR_ICCPOWERON 0x62 #define PC_TO_RDR_ICCPOWEROFF 0x63 #define PC_TO_RDR_GETSLOTSTATUS 0x65 #define PC_TO_RDR_XFRBLOCK 0x6F #define PC_TO_RDR_GETPARAMETERS 0x6C #define PC_TO_RDR_RESETPARAMETERS 0x6D #define PC_TO_RDR_SETPARAMETERS 0x61 #define PC_TO_RDR_ESCAPE 0x6B #define PC_TO_RDR_ICCCLOCK 0x6E #define PC_TO_RDR_TAPDU 0x6A #define PC_TO_RDR_SECURE 0x69 #define PC_TO_RDR_MECHANICAL 0x71 #define PC_TO_RDR_ABORT 0x72 #define PC_TO_RDR_SETDATARATEANDCLOCKFREQUENCY 0x73 #define LOOPBACK 0x11 #define RDR_TO_PC_DATABLOCK 0x80 #define RDR_TO_PC_SLOTSTATUS 0x81 #define RDR_TO_PC_PARAMETERS 0x82 #define RDR_TO_PC_ESCAPE 0x83 #define RDR_TO_PC_DATARATEANDCLOCKFREQUENCY 0x84 #define RDR_TO_PC_STATUSCLOCK 0x85 #define RDR_TO_PC_NOTIFYSLOTCHANGE 0x50 #define RDR_TO_PC_HARWAREERROR 0x51 #define RDR_TO_PC_KEYEVENT 0x40 #define CCID_ESCAPE_INPUT 0x00 #define CCID_ESCAPE_UPDATE 0x01 #define CCID_ESCAPE_VERIFY 0x02 #define CCID_ESCAPE_STATUS 0x03 #define CCID_ESCAPE_UPDATE_START 0x04 #define CCID_ESCAPE_GET_INFO 0x05 #define CCID_ESCAPE_SET_DATE_TIME 0x06 #define CCID_ESCAPE_SET_SERNUMBER 0x07 //#define CCID_ESCAPE_VERIFYDATA 0x08 #define CCID_ESCAPE_GET_SECODERINFO 0x09 #define CCID_ESCAPE_GET_STACKSIGNCOUNTER 0x0c #define CCID_ESCAPE_MODULE_DELETE 0x10 // #define CCID_ESCAPE_MODULE_DEFRAG 0x11 #define CCID_ESCAPE_MODULE_ENUM 0x12 #define CCID_ESCAPE_MODULE_INFO 0x13 #define CCID_ESCAPE_MODULE_REACTIVATE 0x14 #define CCID_ESCAPE_MODULE_DEACTIVATE 0x15 #define CCID_ESCAPE_MODULE_DELALL 0x16 #define CCID_ESCAPE_MODULE_SET_SILENT_MODE 0x17 #define CCID_ESCAPE_MODULE_GET_SILENT_MODE 0x18 #define CCID_ESCAPE_MODULE_SET_FLASH_MASK 0x19 #define CCID_ESCAPE_GET_KEYINFO 0x20 #define CCID_ESCAPE_UPDATE_KEY 0x21 #define CCID_ESCAPE_VERIFY_KEY 0x22 #define CCID_ESCAPE_SELF_TEST 0x23 #define CCID_ESCAPE_SHOW_AUTH 0x24 #define CCID_ESCAPE_SET_MODULESTORE_INFO 0x26 #define CCID_ESCAPE_GET_MODULESTORE_INFO 0x27 #define CCID_ESCAPE_DSP_CONTRAST 0x30 #define CCID_ESCAPE_DSP_BACKLIGHT 0x33 #define CCID_ESCAPE_SELECT_SM_MODULE 0x50 #define CCID_ESCAPE_DO_PACE 0xf0 #define CMD_ABORTED 0xff #define ICC_MUTE 0xfe #define XFR_PARITY_ERROR 0xfd #define XFR_OVERRUN 0xfc #define HW_ERROR 0xfb #define EXT_ERROR 0xc0 #define BAD_ATR_TS 0xf8 #define BAD_ATR_TCK 0xf7 #define ICC_PROTOCOL_NOT_SUPPORTED 0xf6 #define ICC_CLASS_NOT_SUPPORTED 0xf5 #define PROCEDURE_BYTE_CONFLICT 0xf4 #define DEACTIVATED_PROTOCOL 0xf3 #define BUSY_WITH_AUTOSEQUENCE 0xf2 #define PIN_TIMEOUT 0xf0 #define PIN_CANCELED 0xef #define PIN_DIFFERENT 0xee #define CMD_SLOT_BUSY 0xe0 typedef struct _cjeca_DateTime { uint8_t ProductionDate[11]; uint8_t Reserved1; uint8_t ProductionTime[6]; uint8_t Reserved2; uint8_t Reserved3; }cjeca_DateTime; #define PRODUCTION_DATE 0 #define TEST_DATE 1 #define FIRST_USE_DATE 2 typedef struct _cjeca_ReaderConst { uint8_t Config; uint8_t Flags; uint16_t MaskOption; uint32_t HardwareVersion; cjeca_DateTime dtDate[3]; uint8_t Seriennummer[20]; uint32_t IsForSale; }cjeca_ReaderConst; typedef struct _cjeca_Info { uint32_t ActiveApplication; uint8_t KernelVersion; uint8_t KernelRevision; uint8_t Reserved1; uint8_t Reserved2; cjeca_ReaderConst ReaderConst; }cjeca_Info; typedef struct _cjeca_ModuleInfo { uint32_t Status; uint32_t ModuleID; uint32_t ModuleBaseAddr; uint32_t ModuleCodeSize; cjeca_DateTime DateTime; uint8_t Version; uint8_t Revision; uint8_t RequieredKernelVersion; uint8_t RequieredKernelRevision; uint8_t GlobalHeapSize; uint8_t Variante; uint8_t Reserved1; uint8_t Reserved2; int8_t Description[16]; }cjeca_ModuleInfo; #pragma pack(1) typedef struct _SMSelect { unsigned long ModuleID; unsigned long Count; }tSMSelect; typedef struct _CCID_Message { uint8_t bMessageType; uint32_t dwLength; uint8_t bSlot; uint8_t bSeq; union _Header { uint8_t abRFU[3]; struct _iccPowerOn { uint8_t bPowerSelect; uint8_t abRFU[2]; }iccPowerOn; struct _XfrBlock { uint8_t bBWI; uint16_t wLevelParameter; }XfrBlock; struct _SetParameters { uint8_t bProtocolNum; uint8_t abRFU[2]; }SetParameters; struct _iccClock { uint8_t bClockCommand; uint8_t abRFU[2]; }iccClock; struct _T0APDU { uint8_t bChanges; uint8_t bClassGetResponse; uint8_t bClassEnvelope; }T0APDU; struct _Secure { uint8_t bBWI; uint16_t wLevelParameter; }Secure; struct _Mechanical { uint8_t bFunction; uint8_t abRFU[2]; }Mechanical; }Header; union _Data { uint8_t abData[5120]; union _SetParameters { struct _T0 { uint8_t bmFindexDindex; uint8_t bmTCCKST0; uint8_t bGuardTimeT0; uint8_t bWaitingIntegerT0; uint8_t bClockStop; }T0; struct _T1 { uint8_t bmFindexDindex; uint8_t bmTCCKST1; uint8_t bGuardTimeT1; uint8_t bWaitingIntegerT1; uint8_t bClockStop; uint8_t bIFSC; uint8_t bNadValue; }T1; struct _Sync { unsigned char AddrByteCount; unsigned short PageSize; }Sync; }SetParameters; struct _Secure { uint8_t bPINOperation; uint8_t bTimeOut; uint8_t bmFormatString; uint8_t bmPINBlockString; uint8_t bmPINLengthFormat; union _Data { struct _Verify { uint16_t wPINMaxExtraDigit; uint8_t bEntryValidationCondition; uint8_t bNumberMessage; uint16_t wLangId; uint8_t bMsgIndex; uint8_t bTeoPrologue[3]; uint8_t abData[245]; }Verify; struct _Modify { uint8_t bInsertionOffsetOld; uint8_t bInsertionOffsetNew; uint16_t wPINMaxExtraDigit; uint8_t bConfirmPIN; uint8_t bEntryValidationCondition; uint8_t bNumberMessage; uint16_t wLangId; uint8_t bMsgIndex1; uint8_t bMsgIndex2; uint8_t bMsgIndex3; uint8_t bTeoPrologue[3]; uint8_t abData[240]; }Modify; struct _Next { uint8_t bTeoPrologue[3]; }Next; }Data; }Secure; struct _SetDataRateAndClockFrequency { uint32_t dwClockFrequency; uint32_t dwDataRate; }SetDataRateAndClockFrequency; struct _Escape { union _Reader { struct _EC30 { uint32_t dwApplication; uint16_t wFunction; union _Data { struct _UpdateStart { uint8_t ModuleHeader[256]; }UpdateStart; struct _UpdateData { uint16_t bLength; uint8_t Data[256]; }UpdateData; struct _UpdateVerify { uint32_t len; uint8_t Sign[768]; }UpdateVerify; struct _ModuleDelete { uint32_t Application; }ModuleDelete; struct _SetDateTime { uint8_t Nr; cjeca_DateTime dtDate; }SetDateTime; struct _SetSerNumber { uint8_t SerNumber[20]; }SetSerNumber; struct _Input { uint8_t Timeout; }Input; uint32_t ModuleID; struct _UpdateKey { uint32_t len; uint8_t Key[800]; }UpdateKey; struct _VerifyKey { uint32_t len; uint8_t Key[800]; }VerifyKey; uint8_t abDate[1008]; }Data; }EC30; }Reader; }Escape; }Data; }CCID_Message; typedef struct _CCID_Response { uint8_t bMessageType; uint32_t dwLength; uint8_t bSlot; uint8_t bSeq; uint8_t bStatus; uint8_t bError; union _Header { uint8_t bRFU; uint8_t bChainParameter; uint8_t bClockStatus; uint8_t bProtocolNum; }Header; union _Data { uint8_t abData[5120]; union _Parameters { struct _T0 { uint8_t bmFindexDindex; uint8_t bmTCCKST0; uint8_t GuardTimeT0; uint8_t bWaitingIntegerT0; uint8_t bClockStop; }T0; struct _T1 { uint8_t bmFindexDindex; uint8_t bmTCCKST1; uint8_t GuardTimeT1; uint8_t bWaitingIntegerT1; uint8_t bClockStop; uint8_t bIFSC; uint8_t bNadValue; }T1; }Parameters; struct _DataRateAndClockFrequency { uint32_t dwClockFrequency; uint32_t dwDataRate; }DataRateAndClockFrequency; struct _Escape { uint32_t Result; union _Function { cjeca_ModuleInfo ModuleInfo; struct _ModuleEnummeration { uint32_t ModuleID[32]; }ModuleEnummeration; cjeca_Info ReaderInfo; uint8_t abData[1010]; }Function; }Escape; }Data; }CCID_Response; typedef struct _CCID_Interrupt { uint8_t bMessageType; union _Data { struct _NotifySlotChange { uint8_t bmSlotICCState; }NotifySlotChange; struct _HardwareError { uint8_t bSlot; uint8_t bSeq; uint8_t bHardwareErrorCode; }HardwareError; struct _KeyEvent { uint8_t KeyStatus; }KeyEvent; }Data; }CCID_Interrupt; typedef union _CCID_transfer { CCID_Message Message; CCID_Response Response; CCID_Interrupt Interrupt; }CCID_transfer; #pragma pack() #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/BaseTranslater.h0000644000175000001440000000043311657145411021214 0ustar sctusers#ifndef ECA_BASETRANSLATER_H #define ECA_BASETRANSLATER_H class CBaseCommunication; class CBaseTranslater { public: CBaseTranslater(CBaseCommunication *Communicator); public: virtual ~CBaseTranslater(void); private: CBaseCommunication *m_Communicator; }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/PPAReader.h0000644000175000001440000001050711657145411020050 0ustar sctusers/*************************************************************************** begin : Sat Nov 20 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef ECA_PPAREADER_H #define ECA_PPAREADER_H #include "CCIDReader.h" class CPPAReader : public CCCIDReader { public: CPPAReader(CReader *Owner, CBaseCommunication *Communicator); virtual ~CPPAReader(void); protected: virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); /** @name From BaseReader * */ /*@{*/ virtual CJ_RESULT SetSyncParameters(uint8_t AddrByteCount, uint16_t PageSize); virtual uint32_t GetReadersInputBufferSize(); virtual CJ_RESULT BuildReaderInfo(); virtual CJ_RESULT BuildModuleInfo(); virtual uint16_t HostToReaderShort(uint16_t Value); virtual uint32_t HostToReaderLong(uint32_t Value); /*@}*/ /** @name From CCIDReader * */ /*@{*/ virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout); virtual void SetSerialNumber(void); virtual void SetDate(uint8_t Nr); virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); virtual CJ_RESULT cjInput(uint8_t *key,uint8_t timeout,uint8_t *tag52,int tag52len); /*@}*/ RSCT_IFD_RESULT ccidTransmit(uint8_t BWI,const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len,uint16_t wLevelParameter); RSCT_IFD_RESULT IfdSetProtocol(uint32_t *pProtocol); RSCT_IFD_RESULT APDU2TPDU_T1(uint16_t lenc,const uint8_t *cmd,uint16_t *lenr,uint8_t *response); virtual RSCT_IFD_RESULT PVMVT1(int Result,uint8_t *rbuffer,uint32_t rlen,uint32_t *lenr); virtual bool PinDirectSupported(); virtual CJ_RESULT SpecialLess3_0_41(); virtual void FillTeoPrologue(uint8_t *pbTeoPrologue); virtual void CheckReaderDepended(CCID_Message &Message); virtual int cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage); virtual int cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage); uint8_t IFSC; uint8_t PCB_seq; uint8_t EDC; }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/Makefile.in0000644000175000001440000006264511660201014020175 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = cjeca32 DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) @ENABLE_NONSERIAL_TRUE@libeca_la_DEPENDENCIES = ausb/libausb.la am_libeca_la_OBJECTS = BaseCommunication.lo BaseReader.lo \ BaseTranslater.lo CCIDReader.lo Debug.lo EC30Reader.lo \ ECAReader.lo ECBReader.lo ECFReader.lo ECPReader.lo \ ECRReader.lo ECMReader.lo EFBReader.lo PPAReader.lo \ RSCTCriticalSection.lo RFKReader.lo RFSReader.lo CPTReader.lo \ Reader.lo USBUnix.lo SerialUnix.lo SECReader.lo cjeca32.lo \ Platform_unix.lo config.lo libeca_la_OBJECTS = $(am_libeca_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f 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 $@ SOURCES = $(libeca_la_SOURCES) DIST_SOURCES = $(libeca_la_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 HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \ distdir ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ DIST_SUBDIRS = ausb @ENABLE_NONSERIAL_TRUE@SUBDIRS = ausb INCLUDES = -I../include -I../include/driver -I../include/firmware -Iausb $(pcsc_includes) AM_CFLAGS = $(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" AM_CPPFLAGS = $(visibility_cflags) @cyberjack_platform_def@ \ -DBUILDING_CYBERJACK \ -DCYBERJACK_CONFIG_FILE=\"@cyberjack_config_file@\" noinst_HEADERS = \ BaseCommunication.h \ BaseReader.h \ BaseTranslater.h \ CCIDReader.h \ EC30Reader.h \ ECAReader.h \ ECBReader.h \ ECFReader.h \ ECPReader.h \ ECRReader.h \ ECMReader.h \ EFBReader.h \ PPAReader.h \ RSCTCriticalSection.h \ RFKReader.h \ RFSReader.h \ CPTReader.h \ SerialUnix.h \ SECReader.h \ USBUnix.h \ ccid.h \ config_l.h config_p.h \ ntstatus.h \ stdafx.h \ version.h \ PCSC10.h noinst_LTLIBRARIES = libeca.la libeca_la_SOURCES = \ BaseCommunication.cpp \ BaseReader.cpp \ BaseTranslater.cpp \ CCIDReader.cpp \ Debug.cpp \ EC30Reader.cpp \ ECAReader.cpp \ ECBReader.cpp \ ECFReader.cpp \ ECPReader.cpp \ ECRReader.cpp \ ECMReader.cpp \ EFBReader.cpp \ PPAReader.cpp \ RSCTCriticalSection.cpp \ RFKReader.cpp \ RFSReader.cpp \ CPTReader.cpp \ Reader.cpp \ USBUnix.cpp \ SerialUnix.cpp \ SECReader.cpp \ cjeca32.cpp \ Platform_unix.cpp \ config.cpp @ENABLE_NONSERIAL_TRUE@libeca_la_LIBADD = ausb/libausb.la all: all-recursive .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cjeca32/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu cjeca32/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libeca.la: $(libeca_la_OBJECTS) $(libeca_la_DEPENDENCIES) $(CXXLINK) $(libeca_la_OBJECTS) $(libeca_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BaseCommunication.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BaseReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/BaseTranslater.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CCIDReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/CPTReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Debug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EC30Reader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECAReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECBReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECFReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECMReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECPReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ECRReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/EFBReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/PPAReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Platform_unix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RFKReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RFSReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/RSCTCriticalSection.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/Reader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SECReader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/SerialUnix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/USBUnix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cjeca32.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/config.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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 $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ $(am__mv) $(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) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ $(am__mv) $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(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; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || ($(am__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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ 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 html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -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: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \ install-am install-strip tags-recursive .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-noinstLTLIBRARIES 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-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-compile 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: pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECAReader.cpp0000644000175000001440000000375411657145411020361 0ustar sctusers#include "Platform.h" #include #include "ECAReader.h" #include "BaseCommunication.h" #define base CEC30Reader CECAReader::CECAReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CECAReader::~CECAReader(void) { } uint16_t CECAReader::HostToReaderShort(uint16_t Value) { return InversByteOrderShort(htons(Value)); } uint32_t CECAReader::HostToReaderLong(uint32_t Value) { return InversByteOrderLong(htonl(Value)); } void CECAReader::SetHWString(char *String) { strcpy(String,"ECA_"); } void CECAReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJECA",5); if(GetEnviroment("ecom_a_ident",0)!=0) { memcpy(Product,"ECUSB",5); } } CJ_RESULT CECAReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { CJ_RESULT Res; switch(eContrast) { case ContrastVeryLow: Res=_CtSetContrast(70,Result); break; case ContrastLow: Res=_CtSetContrast(100,Result); break; case ContrastMedium: Res=_CtSetContrast(120,Result); break; case ContrastHigh: Res=_CtSetContrast(160,Result); break; case ContrastVeryHigh: Res=_CtSetContrast(255,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; } RSCT_IFD_RESULT CECAReader::IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout) { // cj_ModuleInfo *pInfo; switch(Mode) { case SCARD_COLD_RESET: case SCARD_WARM_RESET: *ATR_Length=0; /* pInfo=FindModule(MODULE_ID_KERNEL); if(pInfo && (pInfo->Version<0x30 || (pInfo->Version==0x30 && pInfo->Revision<=6))) { return STATUS_UNRECOGNIZED_MEDIA; } else return base::IfdPower(SCARD_POWER_DOWN,NULL,NULL,0);*/ if(memcmp(m_ReaderInfo.TestDate+6,"2007",4)==0 && (memcmp(m_ReaderInfo.TestDate+3,"05",2)<0 || (memcmp(m_ReaderInfo.TestDate+3,"05",2)==0 && memcmp(m_ReaderInfo.TestDate,"03",2)<=0))) { return STATUS_UNRECOGNIZED_MEDIA; } else return base::IfdPower(Mode,ATR,ATR_Length,Timeout); default: return base::IfdPower(Mode,ATR,ATR_Length,Timeout); } } pcsc-cyberjack-3.99.5final.SP03/cjeca32/PCSC10.h0000644000175000001440000000553211657145411017200 0ustar sctusers#ifndef PCSC10_H #define PCSC10_H #pragma pack (1) typedef struct _PIN_VERIFY_STRUCTURE { uint8_t bTimerOut; // timeout in seconds (00 means use default timeout) uint8_t bTimerOut2; // timeout in seconds after first key stroke uint8_t bmFormatString; // formatting options uint8_t bmPINBlockString; // bits 7-4 bit size of PIN length in APDU, bits 3-0 PIN // block size in bytes after justification and formatting uint8_t bmPINLengthFormat; // bits 7-5 RFU, bit 4 set if system units are bytes // clear if system units are bits, // bits 3-0 PIN length position in system units uint16_t wPINMaxExtraDigit; // XXYY, where XX is minimum PIN size in digits, // YY is maximum uint8_t bEntryValidationCondition; // Conditions under which PIN entry should be // considered complete uint8_t bNumberMessage; // Number of messages to display for PIN verification uint16_t wLangId; // Language for messages uint8_t bMsgIndex; // Message index (should be 00) uint8_t bTeoPrologue[3]; // T=1 I-block prologue field to use (fill with 00) uint32_t ulDataLength; // length of Data to be sent to the ICC uint8_t abData[1]; // Data to send to the ICC }PIN_VERIFY_STRUCTURE; typedef struct _PIN_MODIFY_STRUCTURE { uint8_t bTimerOut; // timeout in seconds (00 means use default timeout) uint8_t bTimerOut2; // timeout in seconds after first key stroke uint8_t bmFormatString; // formatting options USB_CCID_PIN_FORMAT_xxx) uint8_t bmPINBlockString; // bits 7-4 bit size of PIN length in APDU, bits 3-0 PIN // block size in bytes after justification and formatting uint8_t bmPINLengthFormat; // bits 7-5 RFU, bit 4 set if system units are bytes, // clear if system units are bits // bits 3-0 PIN length position in system units // bits, bits 3-0 PIN length position in system units uint8_t bInsertionOffsetOld;// Insertion position offset in bytes for the current PIN uint8_t bInsertionOffsetNew;// Insertion position offset in bytes for the new PIN uint16_t wPINMaxExtraDigit; // XXYY, where XX is minimum PIN size in digits, // YY is maximum uint8_t bConfirmPIN; // Flags governing need for confirmation of new PIN uint8_t bEntryValidationCondition; // Conditions under which PIN entry should be // considered complete uint8_t bNumberMessage; // Number of messages to display for PIN verification uint16_t wLangId; // Language for messages uint8_t bMsgIndex1; // Index of 1st prompting message uint8_t bMsgIndex2; // Index of 2d prompting message uint8_t bMsgIndex3; // Index of 3d prompting message uint8_t bTeoPrologue[3]; // T=1 I-block prologue field to use (fill with 00) uint32_t ulDataLength; // length of Data to be sent to the ICC uint8_t abData[1]; // Data to send to the ICC }PIN_MODIFY_STRUCTURE; #pragma pack () #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECRReader.h0000644000175000001440000000164211657145411020041 0ustar sctusers#ifndef ECRREADER_H #define ECRREADER_H #include "ECPReader.h" class CECRReader : virtual public CECPReader { public: CECRReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CECRReader(void); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); protected: virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout); virtual RSCT_IFD_RESULT IfdSetProtocol(uint32_t *Protocol); virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); virtual RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); virtual CJ_RESULT BuildReaderInfo(); virtual uint32_t GetReadersInputBufferSize(); private: uint8_t m_SerialNumber[10]; int m_SerialNumberLength; }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/EFBReader.h0000644000175000001440000000050211657145411020016 0ustar sctusers#ifndef ECFREADER_H #define ECFREADER_H #include "ECFReader.h" class CEFBReader : public CECFReader { public: CEFBReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CEFBReader(void); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECPReader.cpp0000644000175000001440000000402211657145411020365 0ustar sctusers#include "Platform.h" #include #include #include "ECPReader.h" #include "BaseCommunication.h" #define base CEC30Reader CECPReader::CECPReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CECPReader::~CECPReader(void) { } uint16_t CECPReader::HostToReaderShort(uint16_t Value) { return InversByteOrderShort(htons(Value)); } uint32_t CECPReader::HostToReaderLong(uint32_t Value) { return InversByteOrderLong(htonl(Value)); } void CECPReader::SetHWString(char *String) { strcpy(String,"ECP_"); } void CECPReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJECP",5); } CJ_RESULT CECPReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { CJ_RESULT Res; switch(eContrast) { case ContrastVeryLow: Res=_CtSetContrast(70,Result); break; case ContrastLow: Res=_CtSetContrast(100,Result); break; case ContrastMedium: Res=_CtSetContrast(120,Result); break; case ContrastHigh: Res=_CtSetContrast(160,Result); break; case ContrastVeryHigh: Res=_CtSetContrast(255,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; } CJ_RESULT CECPReader::BuildReaderInfo() { CJ_RESULT Res; Res = base::BuildReaderInfo(); m_ReaderInfo.HardwareMask |= RSCT_READER_HARDWARE_MASK_BUZZER | RSCT_READER_HARDWARE_MASK_DISPLAY_ONOFF; return Res; } RSCT_IFD_RESULT CECPReader::_IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { int l; char *str; // uint16_t rest=*response_len; if(cmd_len==5 && cmd[0]==0xff && cmd[1]==0x9a && cmd[2]==0x01 && cmd[4]==0) { switch(cmd[3]) { case 4: if(*response_len>=6) { sprintf((char *)response,"%04X\x90",0x0420); *response_len=6; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; default:; } } return base::_IfdTransmit(cmd,cmd_len,response,response_len); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/CPTReader.cpp0000644000175000001440000000427011660154635020413 0ustar sctusers#include "Platform.h" #include #include #include "CPTReader.h" #include "BaseCommunication.h" #define base CEC30Reader CCPTReader::CCPTReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CCPTReader::~CCPTReader(void) { } uint16_t CCPTReader::HostToReaderShort(uint16_t Value) { return InversByteOrderShort(htons(Value)); } uint32_t CCPTReader::HostToReaderLong(uint32_t Value) { return InversByteOrderLong(htonl(Value)); } void CCPTReader::SetHWString(char *String) { strcpy(String,"CPT_"); } void CCPTReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJCPT",5); } CJ_RESULT CCPTReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { CJ_RESULT Res; switch(eContrast) { case ContrastVeryLow: Res=_CtSetContrast(0,Result); break; case ContrastLow: Res=_CtSetContrast(70,Result); break; case ContrastMedium: Res=_CtSetContrast(120,Result); break; case ContrastHigh: Res=_CtSetContrast(160,Result); break; case ContrastVeryHigh: Res=_CtSetContrast(255,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; } CJ_RESULT CCPTReader::CtSetBacklight(EBacklight eBacklight,uint32_t *Result) { CJ_RESULT Res; switch(eBacklight) { case BacklightOff: Res=_CtSetBacklight(0,Result); break; case BacklightVeryLow: Res=_CtSetBacklight(70,Result); break; case BacklightLow: Res=_CtSetBacklight(100,Result); break; case BacklightMedium: Res=_CtSetBacklight(120,Result); break; case BacklightHigh: Res=_CtSetBacklight(160,Result); break; case BacklightVeryHigh: Res=_CtSetBacklight(255,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; } bool CCPTReader::HastModulestoreInfo() { return true; } CJ_RESULT CCPTReader::CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result) { if(pboolMode) *pboolMode=boolMode; if(Result) *Result=0; return CJ_SUCCESS; } CJ_RESULT CCPTReader::CtGetSilentMode(bool *pboolMode,uint32_t *Result) { if(pboolMode) *pboolMode=0; if(Result) *Result=0; return CJ_SUCCESS; } CJ_RESULT CCPTReader::SpecialLess3_0_41() { return CJ_SUCCESS; } bool CCPTReader::PinDirectSupported() { return true; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/libtest.cpp0000755000175000001440000000524011657145411020307 0ustar sctusers #include "Platform.h" #include "Reader.h" #include "USBUnix.h" #include int test1(int argc, char **argv) { #ifdef ENABLE_NONSERIAL CReader *r; int idx; char *devName; int rv; if (argc<2) { fprintf(stderr, "Missing argument: Reader index\n"); return 1; } idx=atoi(argv[1]); devName=CUSBUnix::createDeviceName(idx); if (devName==NULL) { fprintf(stderr, "Device %d not found\n", idx); return 2; } r=new CReader(devName); rv=r->Connect(); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Could not connect to reader (%d)\n", rv); return 2; } fprintf(stderr, "Reader connected.\n"); fprintf(stderr, "Hit the ENTER key:\n"); getchar(); rv=r->Disonnect(); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Could not connect to reader (%d)\n", rv); return 2; } fprintf(stderr, "Reader disconnected.\n"); delete r; free(devName); #endif return 0; } int readFile(const char *fname, uint8_t *buffer) { FILE *f; uint8_t *p; int len; f=fopen(fname, "r"); if (f==NULL) return -1; p=buffer; len=0; while(!feof(f)) { int rv; rv=fread(p, 1, 1024, f); if (rv==0) break; p+=rv; len+=rv; } fclose(f); return len; } int test2(int argc, char **argv) { #ifdef ENABLE_NONSERIAL CReader *r; int idx; char *devName; const char *fname1; const char *fname2; uint8_t buffer1[64*1024]; uint8_t buffer2[64*1024]; int len1; int len2; int rv; uint32_t result; if (argc<4) { fprintf(stderr, "Usage:\n %s IDX NAME1 NAME2\n", argv[0]); return 1; } idx=atoi(argv[1]); fname1=argv[2]; fname2=argv[3]; len1=readFile(fname1, buffer1); if (len1<1) { fprintf(stderr, "Error reading file \"%s\"\n", fname1); return 2; } len2=readFile(fname2, buffer2); if (len2<1) { fprintf(stderr, "Error reading file \"%s\"\n", fname2); return 2; } devName=CUSBUnix::createDeviceName(idx); if (devName==NULL) { fprintf(stderr, "Device %d not found\n", idx); return 2; } r=new CReader(devName); rv=r->Connect(); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Could not connect to reader (%d)\n", rv); return 2; } rv=r->CtLoadModule(buffer1, len1, buffer2, len2, &result); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Unable to flash reader (%d)\n", rv); return 2; } fprintf(stderr, "Reader flashed.\n"); rv=r->Disonnect(); if (rv!=CJ_SUCCESS) { fprintf(stderr, "Could not connect to reader (%d)\n", rv); return 2; } fprintf(stderr, "Reader disconnected.\n"); delete r; free(devName); #endif return 0; } int main(int argc, char **argv) { return test1(argc, argv); //return test2(argc, argv); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/SECReader.h0000644000175000001440000000120311657145411020033 0ustar sctusers#ifndef SECREADER_H #define SECREADER_H #include "EC30Reader.h" class CSECReader : public CEC30Reader { public: CSECReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CSECReader(void); virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); protected: virtual uint16_t HostToReaderShort(uint16_t Value); virtual uint32_t HostToReaderLong(uint32_t Value); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECPReader.h0000644000175000001440000000125311657145411020035 0ustar sctusers#ifndef ECPREADER_H #define ECPREADER_H #include "EC30Reader.h" class CECPReader : public CEC30Reader { public: CECPReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CECPReader(void); virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); protected: virtual uint16_t HostToReaderShort(uint16_t Value); virtual uint32_t HostToReaderLong(uint32_t Value); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); virtual CJ_RESULT BuildReaderInfo(); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/EC30Reader.h0000644000175000001440000001433511657145411020065 0ustar sctusers#ifndef ECA_EC30READER_H #define ECA_EC30READER_H #include "CCIDReader.h" class CEC30Reader : public CCCIDReader { public: CEC30Reader(CReader *Owner,CBaseCommunication *Communicator); virtual CJ_RESULT PostCreate(); public: ~CEC30Reader(void); virtual CJ_RESULT CtLoadModule(uint8_t *pData,uint32_t DataLength,uint8_t *pSgn,uint32_t SgnLength,uint32_t *Result); virtual CJ_RESULT CtGetModuleInfoFromFile(uint8_t *pData,uint32_t DataLength,cj_ModuleInfo *ModuleInfo,uint32_t *EstimatedUpdateTime); virtual CJ_RESULT CtDeleteALLModules(uint32_t *Result); virtual CJ_RESULT CtDeleteModule(uint32_t ModuleID,uint32_t *Result); virtual CJ_RESULT CtActivateModule(uint32_t ModuleID,uint32_t *Result); virtual CJ_RESULT CtDeactivateModule(uint32_t ModuleID,uint32_t *Result); virtual CJ_RESULT CtKeyUpdate(uint8_t *pData,uint32_t DataLength,uint32_t *Result); virtual CJ_RESULT CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime); virtual CJ_RESULT CtSelfTest(void); virtual CJ_RESULT CtShowAuth(void); virtual RSCT_IFD_RESULT IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); virtual CJ_RESULT CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result); virtual CJ_RESULT CtGetSilentMode(bool *pboolMode,uint32_t *Result); virtual CJ_RESULT CtSetModulestoreInfo(uint8_t *Info,uint8_t InfoLength); virtual CJ_RESULT CtGetModulestoreInfo(uint8_t *Info,uint8_t *InfoLength); protected: virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout); virtual bool ATRFilter(bool IsWarm); virtual int Escape(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen); virtual CJ_RESULT CtApplicationData(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen, uint8_t *ApplicationError,uint32_t *ApplicationErrorLength); virtual CJ_RESULT BuildReaderInfo(); virtual CJ_RESULT BuildModuleInfo(); virtual bool HastModulestoreInfo(); virtual void SetSerialNumber(void); virtual void SetDate(uint8_t Nr); bool SetReaderConstants(void); virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); virtual RSCT_IFD_RESULT ccidTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); CJ_RESULT _CtSetContrast(uint8_t Value,uint32_t *Result); CJ_RESULT _CtSetBacklight(uint8_t Value,uint32_t *Result); virtual bool IsClass3(void); virtual CJ_RESULT cjInput(uint8_t *key,uint8_t timeout,uint8_t *tag52,int tag52len); virtual CJ_RESULT cjOutput(uint8_t timeout,uint8_t *tag52,int tag52len); virtual CJ_RESULT SetSyncParameters(uint8_t AddrByteCount, uint16_t PageSize); virtual CJ_RESULT KTLightCall(uint8_t *sad,uint8_t *dad,uint8_t *cmd, uint16_t lenc,int32_t Lc,uint8_t *data_ptr,int32_t Le,uint8_t *response,uint16_t *lenr); virtual int ExecuteSecureResult(CCID_Response *Response,uint8_t *in,int *in_len,int offs); virtual CJ_RESULT SetFlashMask(void); virtual int GetWarmstartTimeout(void); virtual CJ_RESULT SetSMModeAndCount(uint32_t ModuleID,uint32_t Count); virtual uint32_t GetReadersInputBufferSize(); virtual CJ_RESULT SpecialLess3_0_41(); #ifdef IT_TEST virtual int cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage); virtual int cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot, int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage); #else virtual int cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage); virtual int cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage); #endif uint8_t *m_pApplicationResponse; uint32_t m_nApplicationResponseLength; private: CJ_RESULT GetReaderInfo(cjeca_Info *Info); CJ_RESULT GetKeyInfo(tKeyInfo *Keys,uint32_t len); CJ_RESULT GetSecoderInfo(tSecoderInfo *Info,uint32_t len); CJ_RESULT GetModuleIDs(uint32_t *Count,uint32_t *IDs); CJ_RESULT GetModuleInfo(uint32_t ID,cj_ModuleInfo *Info); bool _CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime,uint8_t *KV,CJ_RESULT &Res); int ExecuteApplSecureResult(uint8_t Error,uint32_t ErrorLength,uint8_t *in,int *in_len,uint8_t *RespData,uint32_t RespDataLen,int offs); unsigned char *SecoderBuffer; uint32_t SecoderBufferLen; }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/BaseReader.cpp0000644000175000001440000004225011657145411020635 0ustar sctusers#include "Platform.h" #include "BaseReader.h" #include "Reader.h" #include "ntstatus.h" #define CASE_DEBUG(a) {\ case a:\ m_Owner->DebugResult("%s:%d --> %s", __FUNCTION__, __LINE__ ,#a);\ } #define RET_RESULT(a) {\ m_Owner->DebugResult("%s --> %s", __FUNCTION__, #a);\ return (a);\ } #define SET_CT_DATA_ERROR(a) {\ *response_len=2;\ *((uint16_t*)response)=htons(a);\ m_Owner->DebugErrorSW1SW2("%s --> %d", __FUNCTION__, a);\ } CBaseReader::CBaseReader(CReader *Owner,CBaseCommunication *Communicator) { m_Owner=Owner; m_pCommunicator=Communicator; m_pModuleInfo=NULL; m_ModuleInfoCount=0; m_ReaderState=0; m_ActiveProtocol=0; m_ATR_Length=0; m_KeyCallbackCtx=NULL; m_KeyIntCallback=NULL; m_ChangeCallbackCtx=NULL; m_ChangeIntCallback=NULL; m_ApduNorm=NORM_PCSC; m_bIsRF=false; } CJ_RESULT CBaseReader::PostCreate() { CJ_RESULT Res; if((Res=BuildReaderInfo())==CJ_SUCCESS) Res=BuildModuleInfo(); return Res; } uint8_t *CBaseReader::GetTag(uint8_t *start,int len,uint8_t tagvalue,int *taglen) { uint8_t tag; uint8_t tlen; *taglen=0; while(len>2) { tag=*start++; tlen=*start++; if(tag==tagvalue) { *taglen=tlen; return start; } start+=tlen; len-=tlen+2; } return NULL; } void CBaseReader::Unconnect(void) { CBaseCommunication *merk=m_pCommunicator; m_pCommunicator=0; if (merk) delete merk; } CBaseReader::~CBaseReader(void) { Unconnect(); if(m_pModuleInfo) delete [] m_pModuleInfo; } char CBaseReader::CtData(uint8_t *sad,uint8_t *dad,const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { *sad=1; *dad=2; SET_CT_DATA_ERROR(0x6D00); return -10; } RSCT_IFD_RESULT CBaseReader::IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length) { return IfdPower(Mode,ATR,ATR_Length,0); } RSCT_IFD_RESULT CBaseReader::IfdSetProtocol(uint32_t *Protocol) { *Protocol=0; m_ActiveProtocol=0; RET_RESULT(STATUS_NO_MEDIA); } RSCT_IFD_RESULT CBaseReader::IfdGetState(uint32_t *State) { *State=SCARD_UNKNOWN; return STATUS_SUCCESS; } RSCT_IFD_RESULT CBaseReader::IfdSetAttribute(const uint8_t *Input,uint32_t InputLength) { RET_RESULT(STATUS_NOT_SUPPORTED); } RSCT_IFD_RESULT CBaseReader::IfdGetAttribute(uint32_t Tag,uint8_t *Attribute,uint32_t *AttributeLength) { *AttributeLength=0; RET_RESULT(STATUS_NOT_SUPPORTED); } RSCT_IFD_RESULT CBaseReader::IfdSwallow() { RET_RESULT(STATUS_NOT_SUPPORTED); } RSCT_IFD_RESULT CBaseReader::IfdEject() { RET_RESULT(STATUS_NOT_SUPPORTED); } RSCT_IFD_RESULT CBaseReader::IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { *OutputLength=0; RET_RESULT(STATUS_NOT_SUPPORTED); } RSCT_IFD_RESULT CBaseReader::IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { RET_RESULT(STATUS_NO_MEDIA); } RSCT_IFD_RESULT CBaseReader::IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length,uint32_t Timeout) { m_ReaderState=0; RET_RESULT(STATUS_NO_MEDIA); } RSCT_IFD_RESULT CBaseReader::IfdIoControl(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { #ifdef _WINDOWS switch(IoCtrlCode) { CASE_DEBUG(IOCTL_SMARTCARD_POWER) { uint32_t mode; if(InputLength=SCARD_CTL_CODE(2048) && IoCtrlCode<=SCARD_CTL_CODE(4095)) { return IfdVendor(IoCtrlCode,Input,InputLength,Output,OutputLength); } else { return STATUS_NOT_SUPPORTED; } } #else return IfdVendor(IoCtrlCode,Input,InputLength,Output,OutputLength); #endif } CJ_RESULT CBaseReader::CtLoadModule(uint8_t *pData,uint32_t DataLength,uint8_t *pSgn,uint32_t SgnLength,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtKeyUpdate(uint8_t *pData,uint32_t DataLength,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtDeleteModule(uint32_t ModuleID,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtActivateModule(uint32_t ModuleID,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtDeactivateModule(uint32_t ModuleID,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtDeleteALLModules(uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtSetModulestoreInfo(uint8_t *Info,uint8_t InfoLength) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtGetModulestoreInfo(uint8_t *Info,uint8_t *InfoLength) { *InfoLength=0; RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtListModules(uint32_t *Count,cj_ModuleInfo *ModuleInfo) { cj_ModuleInfo *Info=ModuleInfo; if(*Count==SCARD_AUTOALLOCATE) { Info=new cj_ModuleInfo[m_ModuleInfoCount]; *Count=m_ModuleInfoCount; *(cj_ModuleInfo **)ModuleInfo=Info; } if(*CountID==ModuleID) break; } if(i==m_ModuleInfoCount) return NULL; return Info; } cj_ModuleInfo *CBaseReader::FindModuleWithMask(uint32_t ModuleID,uint32_t Mask) { cj_ModuleInfo *Info=m_pModuleInfo; uint32_t i; if(Info==NULL) return NULL; for(i=0;iID & Mask)==ModuleID) break; } if(i==m_ModuleInfoCount) return NULL; return Info; } CJ_RESULT CBaseReader::CtGetModuleInfoFromFile(uint8_t *pData,uint32_t DataLength,cj_ModuleInfo *ModuleInfo,uint32_t *EstimatedUpdateTime) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtFreeModuleInfoList(cj_ModuleInfo *pModuleInfo) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtIsModuleUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtGetActiveModuleID(uint32_t *ID,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtGetActivationID(uint32_t *ID,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtApplicationData(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen, uint8_t *ApplicationError,uint32_t *ApplicationErrorLength) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtSelfTest(void) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtShowAuth(void) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtGetReaderInfo(cj_ReaderInfo *pReaderInfo) { uint32_t min=(pReaderInfo->SizeOfStructSizeOfStruct:sizeof(m_ReaderInfo); memcpy(pReaderInfo,&m_ReaderInfo,min); pReaderInfo->SizeOfStruct=min; return SCARD_S_SUCCESS; } CJ_RESULT CBaseReader::InstallAndStartIFDHandler() { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::StopIFDHandler() { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::IntroduceReaderGroups() { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } uint16_t CBaseReader::ReaderToHostShort(uint16_t Value) { return HostToReaderShort(Value); } uint32_t CBaseReader::ReaderToHostLong(uint32_t Value) { return HostToReaderLong(Value); } void CBaseReader::SetChangeInterruptCallback(fctChangeIntCallback ChangeIntCallback,ctxPtr ChangeCallbackCtx) { m_ChangeIntCallback=ChangeIntCallback; m_ChangeCallbackCtx=ChangeCallbackCtx; } void CBaseReader::SetKeyInterruptCallback(fctKeyIntCallback KeyIntCallback,ctxPtr KeyCallbackCtx) { m_KeyIntCallback=KeyIntCallback; m_KeyCallbackCtx=KeyCallbackCtx; } int CBaseReader::Write(void *Message,uint32_t len) { int res; if(m_pCommunicator) { if(len>GetReadersInputBufferSize()) return CJ_ERR_INTERNAL_BUFFER_OVERFLOW; res=m_pCommunicator->Write(Message,len); if(res!=CJ_SUCCESS) ConnectionError(); return res; } return CJ_ERR_DEVICE_LOST; } int CBaseReader::Read(void *Response,uint32_t *ResponseLen) { int res; if(m_pCommunicator) { res=m_pCommunicator->Read(Response,ResponseLen); if(res!=CJ_SUCCESS) ConnectionError(); return res; } return CJ_ERR_DEVICE_LOST; } void CBaseReader::ConnectionError() { if(m_pCommunicator) { delete m_pCommunicator; m_pCommunicator=NULL; } } bool CBaseReader::IsConnected() { if(m_pCommunicator==NULL) return false; else if (m_pCommunicator->IsConnected()==false) { return false; } return true; } uint32_t CBaseReader::GetEnviroment(const char *Name,uint32_t Default) { /* use platform specific function to get the value */ return rsct_get_environment(Name, Default); } bool CBaseReader::IsNotSet(void *ptr,int len) { uint8_t *p=(uint8_t *)ptr; while(len--) { if(*p++!=0xff) return false; } return true; } uint16_t CBaseReader::InversByteOrderShort(uint16_t Value) { return (uint16_t)((Value << 8) | (Value >> 8)); } uint32_t CBaseReader::InversByteOrderLong(uint32_t Value) { return (uint32_t)((Value << 24) | ((Value << 8) & 0x00ff0000) | ((Value >> 8) & 0x0000ff00) | (Value >> 24)); } static int GetBits(uint8_t Value) { int Res=0; while(Value) { if(Value & 1) Res++; Value>>=1; } return Res; } int CBaseReader::check_len(uint8_t *atr,uint32_t buf_len,uint8_t **historical,uint32_t *hist_len) { uint8_t *ptr; uint8_t len; uint8_t len1; uint8_t v; int t1=0; ptr=atr+1; v=*ptr; len1=(uint8_t)((*hist_len=(uint8_t)(v & 0x0f))+2); len=0; do { v=(uint8_t)GetBits((uint8_t)((*ptr) & 0xf0)); len+=v; if(buf_len>=len && ((*ptr)&0x80)) { ptr+=v; if(!t1 && ((*ptr) & 0x0f)!=0) { len1++; t1=1; } } else { *historical=ptr+v+1; break; } }while(buf_len>len); if(t1) { uint32_t i; uint8_t lrc=0; for(i=1;i 0 && (m_ATR[0]==0x3b || m_ATR[0]==0x3f)) { if(check_len(m_ATR,m_ATR_Length,&m_Historical,&m_Historical_Length)==1) { ptr=m_ATR+1; Dx=*ptr++; if(Dx & 0x10) { m_TA1=*ptr++; hasTA1=1; } if(Dx & 0x20) { if(*ptr!=0 && !warm) { error=1; } ptr++; } else { if(!warm) error=1; } if(Dx & 0x40) { m_TC1=*ptr++; } if(Dx & 0x80) { TD1=Dx=*ptr++; protocol=1<<(Dx & 0x0f); if((Dx & 0x0f)>1) error=1; if(Dx & 0x10) { if(*ptr++ & 0x10) error=1; specific=1; } if(Dx & 0x20) { error=1; ptr++; } if(Dx & 0x40) { if((m_TC2=*ptr++)==0) error=1; } if(Dx & 0x80) { Dx=*ptr++; if((Dx & 0x0f)!=1 && (protocol!=1 || (Dx & 0x0e)!=0x0e)) error=1; protocol|=1<<(Dx & 0x0f); if((Dx & 0x0f)==1) { if(Dx & 0x10) { if((m_TA3=*ptr++)<0x10 || m_TA3==0xff) error=1; } if(Dx & 0x20) { //check this for emv m_TB3=*ptr; if(m_ApduNorm==NORM_EMV) { if(m_TB3>0x45 || (m_TB3&0x0f)>0x05 || ((1<<(m_TB3&0x0f))<=m_TC1+1 && m_TC1!=0xff)) error=1; } ptr++; } else if(m_ApduNorm==NORM_EMV) error=1; if(Dx & 0x40) { m_TC3=*ptr; if(m_TC3!=0) error=1; } } } else if(protocol&2) error=1; } } else if(check_len(m_ATR,m_ATR_Length,&m_Historical,&m_Historical_Length)==2) { error=1; } else { error=2; } if(error==2 || (error==1 && warm)) { IfdPower(SCARD_POWER_DOWN,0,0); error=2; } } else error=2; if(error==0) { if(specific) { if((TD1 & 0x0f)==0) { m_PossibleProtocols=SCARD_PROTOCOL_T0; m_ActiveProtocol=SCARD_PROTOCOL_T0; m_ReaderState=SCARD_SPECIFIC; } else if((TD1 & 0x0f)==1) { m_PossibleProtocols=SCARD_PROTOCOL_T1; m_ActiveProtocol=SCARD_PROTOCOL_T1; m_ReaderState=SCARD_SPECIFIC; } else { error=1; } } else { if(protocol&1) { m_PossibleProtocols|=SCARD_PROTOCOL_T0; m_ReaderState=SCARD_NEGOTIABLE; } if(protocol&2) { m_PossibleProtocols|=SCARD_PROTOCOL_T1; m_ReaderState=SCARD_NEGOTIABLE; } } } else if(m_ATR_Length == 4 && (m_ATR[0]==0x2c || m_ATR[0]==0x92 || m_ATR[0]==0xa2 || m_ATR[0]==0x82)) { m_Historical_Length=0; m_PossibleProtocols=SCARD_PROTOCOL_RAW; m_ActiveProtocol=SCARD_PROTOCOL_RAW; m_ReaderState=SCARD_SPECIFIC; if(m_ATR[0]==0x82) { if((m_ATR[1]&0x07)>3) m_iic_pagesize=1<<((m_ATR[1]&0x07)-3); else m_iic_pagesize=1; if(m_iic_pagesize * (0x0080<<(((m_ATR[1] & 0x78)>>3)-1))>2048) m_iic_offset_bytes=2; else m_iic_offset_bytes=1; } SetSyncParameters(m_iic_offset_bytes,m_iic_pagesize); } else if(m_ATR_Length == 4 && (m_ATR[0]==0xff || (m_ATR[0] & 0xf0)==0x80)) { m_Historical_Length=0; m_PossibleProtocols=SCARD_PROTOCOL_RAW; m_ActiveProtocol=SCARD_PROTOCOL_RAW; m_ReaderState=SCARD_NEGOTIABLE; } else if(m_ATR[0]==0x41) { m_Historical_Length=0; m_Historical=NULL; m_PossibleProtocols=SCARD_PROTOCOL_RAW; m_ActiveProtocol=SCARD_PROTOCOL_RAW; m_ReaderState=SCARD_SPECIFIC; } return error; } CJ_RESULT CBaseReader::CtSetAPDUNorm(const EApduNorm Norm) { m_ApduNorm=Norm; return CJ_SUCCESS; } CJ_RESULT CBaseReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtSetBacklight(EBacklight eBacklight,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } CJ_RESULT CBaseReader::CtGetSilentMode(bool *pboolMode,uint32_t *Result) { RET_RESULT(SCARD_E_UNSUPPORTED_FEATURE); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/Debug.cpp0000644000175000001440000001633011657145411017666 0ustar sctusers#include "Platform.h" #include #include "Debug.h" #include void CDebug::varLog(const char *devName, unsigned int nLevelMask, const char *format, ...) { va_list args; char dbg_buffer[1024]; va_start(args, format); vsnprintf(dbg_buffer, sizeof(dbg_buffer)-1, format, args); dbg_buffer[sizeof(dbg_buffer)-1] = 0; CDebug::Out(devName, nLevelMask, dbg_buffer, NULL, 0); va_end(args); } #ifdef _WINDOWS typedef bool (RSCT_STDCALL *FUNC_SIIMONEX_PROC_OUT)(uint32_t p_nMsgType, LPCSTR p_zSource, LPCSTR p_zText); static HMODULE module; static FUNC_SIIMONEX_PROC_OUT debuger; CDebug::CDebug(unsigned int nLevelMask) { HKEY hKey; unsigned long Result=0; module=0; m_nLevelMask=0; debuger=NULL; if(RegOpenKeyEx(HKEY_LOCAL_MACHINE,TEXT("Software\\REINER SCT\\cyberJack Base Components"),0,KEY_READ,&hKey)==ERROR_SUCCESS) { DWORD dwLength; DWORD sCTHelp; dwLength=sizeof(sCTHelp); if(RegQueryValueEx(hKey,TEXT("DebugMask"),NULL,NULL,(LPBYTE)&sCTHelp,&dwLength)==ERROR_SUCCESS) { Result=sCTHelp; } RegCloseKey(hKey); } if(Result) { m_nLevelMask=Result; } if((module=LoadLibrary(TEXT("SiiMonEx.dll")))!=NULL) { debuger=(FUNC_SIIMONEX_PROC_OUT)GetProcAddress(module,TEXT("ProtOut")); } else { debuger=NULL; } } CDebug::~CDebug(void) { if(module) { debuger=NULL; FreeLibrary(module); module=NULL; } } void CDebug::Out(const char *cDeviceName, unsigned int nLevelMask, const char *cCaption, void *pData, uint32_t ulDataLen) { if(m_nLevelMask & nLevelMask) { if(debuger) { char filter[32]; char text[512]; unsigned int i=0; uint8_t *ptr=(uint8_t *)pData; char pure_text[17]; char *pure; strcpy(filter,"CJECA32_"); strncat(filter,cDeviceName,32); filter[31]='\0'; sprintf(text,"%s --- MASK: %08X\n",cCaption,nLevelMask); debuger(0,filter,text); if (ulDataLen>0) { sprintf(text,"%11s ","DATA:"); pure=pure_text; memset(pure_text,0,sizeof(pure_text)); for(i=0;i32 && *ptr<128) *pure++=*ptr; else *pure++='.'; ptr++; if((i%16)==15 || i==ulDataLen-1) { while((i%16)!=15) { i++; sprintf(text+12+(i%16)*3," "); } strcat(text,"--- "); strcat(text,pure_text); strcat(text,"\n"); debuger(0,filter,text); pure=pure_text; memset(pure_text,0,sizeof(pure_text)); sprintf(text,"%11s ",""); } } } } } } CDebug Debug(0xffffffff); #elif defined(OS_LINUX) || defined(OS_DARWIN) #if defined(OS_DARWIN) # define DEBUG_DEFAULT_LOGFILE "/Library/Logs/cj.log" #else # define DEBUG_DEFAULT_LOGFILE "/tmp/cj.log" #endif #include #include CDebug::CDebug(unsigned int nLevelMask) :m_nLevelMask(nLevelMask) ,m_logFileName(strdup(DEBUG_DEFAULT_LOGFILE)) { } CDebug::~CDebug(void){ if (m_logFileName) free(m_logFileName); } void CDebug::setLevelMask(unsigned int nLevelMask) { m_nLevelMask=nLevelMask; } void CDebug::setLogFileName(const char *fname) { if (m_logFileName) free(m_logFileName); if (fname) m_logFileName=strdup(fname); else m_logFileName=NULL; } void CDebug::Out(const char *cDeviceName, unsigned int nLevelMask, const char *cCaption, void *pData, uint32_t ulDataLen){ #if 1 if (m_nLevelMask & nLevelMask){ char devName[8]; const char *mask; struct timeval tv; struct tm *tm; int pid; uint32_t i=0; uint8_t *ptr=(uint8_t *)pData; const char *p; FILE *f=NULL; if (m_logFileName) f=fopen(m_logFileName, "a+"); if (f==NULL) f=stderr; /* sample header data */ i=strlen(cDeviceName); if (i>=sizeof(devName)) { p=cDeviceName+(i-(sizeof(devName)-1)); i=sizeof(devName)-1; } else p=cDeviceName; strncpy(devName, p, i); devName[i]=0; switch(nLevelMask) { case DEBUG_MASK_COMMUNICATION_OUT: mask="COMOUT"; break; case DEBUG_MASK_COMMUNICATION_IN: mask="COMIN "; break; case DEBUG_MASK_COMMUNICATION_ERROR: mask="COMERR"; break; case DEBUG_MASK_COMMUNICATION_INT: mask="COMINT"; break; case DEBUG_MASK_COMMUNICATION_INFO: mask="COMINF"; break; case DEBUG_MASK_TRANSLATION: mask="TRANS "; break; case DEBUG_MASK_RESULTS: mask="RESULT"; break; case DEBUG_MASK_INPUT: mask="INPUT "; break; case DEBUG_MASK_OUTPUT: mask="OUTPUT"; break; case DEBUG_MASK_CTAPI: mask="CTAPI "; break; case DEBUG_MASK_IFD: mask="IFD "; break; case DEBUG_MASK_CJECOM: mask="CJECOM"; break; case DEBUG_MASK_PPA: mask="PPA "; break; default: mask="UNKNWN"; break; } pid=getpid(); gettimeofday(&tv, NULL); tm=localtime(&tv.tv_sec); if (cCaption) { i=strlen(cCaption); if (i && cCaption[i-1]=='\n') fprintf(f, "%s:[%08x]:%04d/%02d/%02d %02d:%02d:%02d:%06d:[%s]:%s", mask, pid, tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)tv.tv_usec, devName, cCaption); else fprintf(f, "%s:[%08x]:%04d/%02d/%02d %02d:%02d:%02d:%06d:[%s]:%s\n", mask, pid, tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)tv.tv_usec, devName, cCaption); } else fprintf(f, "%s:[%08x]:%04d/%02d/%02d %02d:%02d:%02d:%06d:[%s]:(no text)\n", mask, pid, tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, tm->tm_hour, tm->tm_min, tm->tm_sec, (int)tv.tv_usec, devName); /* show data if any */ if (ulDataLen>0 && pData) { fprintf(f, "%s: DATA: ", mask); for (i=0; i126) c='.'; fprintf(f, "%c", c); } else break; } fprintf(f, "\n"); } } if (f!=stderr) fclose(f); } #endif } CDebug Debug(0); #endif /* for all platforms */ extern "C" { void rsct_debug_out(const char *cDeviceName, unsigned int nLevelMask, const char *cCaption, void *pData, uint32_t ulDataLen) { Debug.Out(cDeviceName, nLevelMask, cCaption, pData, ulDataLen); } } /* extern "C" */ pcsc-cyberjack-3.99.5final.SP03/cjeca32/CCIDReader.h0000644000175000001440000001303611657145411020132 0ustar sctusers#ifndef ECA_CCIDREADER_H #define ECA_CCIDREADER_H #include "ccid.h" #include "BaseReader.h" class CCCIDReader : public CBaseReader { public: CCCIDReader(CReader *Owner,CBaseCommunication *Communication); virtual ~CCCIDReader(void); public: // virtual char CtData(uint8_t *sad,uint8_t *dad,const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); public: virtual RSCT_IFD_RESULT IfdSetProtocol(uint32_t *Protocol); virtual RSCT_IFD_RESULT IfdGetState(uint32_t *State); virtual RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); // virtual RSCT_IFD_RESULT IfdSetAttribute(const uint8_t *Input,uint32_t InputLength); // virtual RSCT_IFD_RESULT IfdGetAttribute(uint32_t Tag,uint32_t *Attribute); // virtual RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); // virtual RSCT_IFD_RESULT IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); // virtual RSCT_IFD_RESULT IfdIoControl(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); virtual char CtData(uint8_t *sad,uint8_t *dad,const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); protected: // virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length,uint32_t Timeout); virtual void DoInterruptCallback(uint8_t *Data,uint32_t ulDataLen); virtual void SetSerialNumber(void)=0; virtual void SetDate(uint8_t Nr)=0; virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len)=0; virtual void FillTeoPrologue(uint8_t *pbTeoPrologue); RSCT_IFD_RESULT IfdVerifyPinDirect(PIN_VERIFY_STRUCTURE *Input,uint8_t *Output,uint32_t *OutputLength); RSCT_IFD_RESULT IfdModifyPinDirect(PIN_MODIFY_STRUCTURE *Input,uint8_t *Output,uint32_t *OutputLength); virtual void GetProductString(uint8_t *Product)=0; virtual bool IsClass2(void); virtual bool IsClass3(void); virtual bool CheckUpdate(void); void TransformText(uint8_t *tag,int len); virtual CJ_RESULT cjInput(uint8_t *key,uint8_t timeout,uint8_t *tag52,int tag52len)=0; virtual CJ_RESULT cjOutput(uint8_t timeout,uint8_t *tag50,int tag50len); virtual CJ_RESULT CCID_Escape(uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); virtual CJ_RESULT KTLightCall(uint8_t *sad,uint8_t *dad,uint8_t *cmd, uint16_t lenc,int32_t Lc,uint8_t *data_ptr,int32_t Le,uint8_t *response,uint16_t *lenr); virtual int ExecuteSecureResult(CCID_Response *Response,uint8_t *in,int *in_len,int offs); virtual CJ_RESULT SetSMModeAndCount(uint32_t ModuleID,uint32_t Count); virtual bool PinDirectSupported(); virtual RSCT_IFD_RESULT PVMVT1(int Result,uint8_t *rbuffer,uint32_t rlen,uint32_t *lenr); virtual void CheckReaderDepended(CCID_Message &Message); private: int ctBcsReset(uint8_t *atr,uint8_t *atr_len,uint8_t *historical,uint8_t *hist_len,uint8_t prevered,int Timeout=0); char _CtData(uint8_t *sad,uint8_t *dad,uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); uint8_t *cmd_buffer; uint32_t cmd_buffer_len; CRSCTCriticalSection m_CriticalCallback; protected: uint8_t *ifd_in_buffer; uint16_t ifd_in_buffer_len; bool CopyIfdInput(const uint8_t *Input,uint32_t Length); protected: #ifdef IT_TEST virtual int cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage); virtual int cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage); #else virtual int cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage); virtual int cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage); #endif int Transfer(CCID_Message *Message, CCID_Response *Response); protected: uint8_t m_SequenceNo; }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECRReader.cpp0000644000175000001440000003014111657145411020370 0ustar sctusers#include "Platform.h" #include #include #include "ECRReader.h" #include "BaseCommunication.h" #include "memory_placements.h" #define base CECPReader CECRReader::CECRReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CECRReader::~CECRReader(void) { } void CECRReader::SetHWString(char *String) { strcpy(String,"ECR_"); } void CECRReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJECR",5); } RSCT_IFD_RESULT CECRReader::IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout) { uint32_t OrginalATR_Length=0; if(ATR_Length!=0) OrginalATR_Length=*ATR_Length; RSCT_IFD_RESULT Result=base::IfdPower(Mode,ATR,ATR_Length,Timeout); m_bIsRF=false; if(Result==STATUS_SUCCESS && Mode==SCARD_COLD_RESET || Mode==SCARD_WARM_RESET) { if(m_ATR_Length>=6 && m_ATR_Length<=12) { uint8_t tck=0; if(m_ATR[0]==0x41) { bool bDoSelectTCL=true; m_SerialNumberLength=m_ATR_Length-3; memcpy(m_SerialNumber,m_ATR+3,m_SerialNumberLength); if(m_ATR[1] & 0x20) { if(m_ATR[1]==0x28 || m_ATR[1]==0x38) { if(GetEnviroment("PrefereMifareClasic",0)) { bDoSelectTCL=false; } } if(bDoSelectTCL) { CCID_Message Message; CCID_Response Response; unsigned int i; memset(&Message,0,sizeof(Message)); Message.bMessageType=PC_TO_RDR_SETPARAMETERS; Message.Header.SetParameters.bProtocolNum=3;//Get ATS switch(Transfer(&Message,&Response)) { case CJ_SUCCESS: if((Response.bStatus&3)==2) return STATUS_NO_MEDIA; else if((Response.bStatus&3)==1 || (Response.bStatus & 0x40)) return STATUS_IO_TIMEOUT; memcpy(m_ATR,"\x3b\x80\x80\x01",4); if(Response.Data.abData[0]>15) return STATUS_NO_MEDIA; Response.Data.abData[2]&=0x70; Response.Data.abData[2]>>=4; i=0; while(Response.Data.abData[2]) { if(Response.Data.abData[2] & 1) i++; Response.Data.abData[2]>>=1; } Response.Data.abData[0]-=2+i; m_ATR[1]|=Response.Data.abData[0]; memcpy(m_ATR+4,Response.Data.abData+3+i,Response.Data.abData[0]); m_ATR_Length=Response.Data.abData[0]+4; break; default: return STATUS_DEVICE_NOT_CONNECTED; } } } else bDoSelectTCL=false; if(!bDoSelectTCL) { uint8_t merkSAK=m_ATR[1]; memcpy(m_ATR,"\x3b\x8f\x80\x01\x80\x4f\x0c\xA0\x00\x00\x03\x06\x00\x00\x00\x00\x00\x00\x00",19); m_ATR_Length=19; switch(merkSAK & 0xdf) { case 0x08: memcpy(m_ATR+12,"\x03\x00\x01",3); break; case 0x09: memcpy(m_ATR+12,"\x03\x00\x26",3); break; case 0x18: memcpy(m_ATR+12,"\x03\x00\x02",3); break; default:; } } for(unsigned int i=1;i uint32_t CECRReader::GetReadersInputBufferSize() { cj_ModuleInfo *Info; // assert(0); Info=FindModule(MODULE_ID_KERNEL); if(Info!=NULL && (Info->Version>=0x30 || Info->Version==0x30 && Info->Revision>=70)) return 2048; else return base::GetReadersInputBufferSize(); } RSCT_IFD_RESULT CECRReader::IfdSetProtocol(uint32_t *pProtocol) { if(m_bIsRF) { uint32_t Protocol=*pProtocol; *pProtocol=0; if(m_ReaderState==SCARD_ABSENT) return STATUS_NO_MEDIA; if(m_ReaderState==SCARD_NEGOTIABLE) { if(Protocol & (SCARD_PROTOCOL_DEFAULT | SCARD_PROTOCOL_OPTIMAL)) Protocol|=(SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1); if((Protocol & SCARD_PROTOCOL_T0) && (m_PossibleProtocols & SCARD_PROTOCOL_T0)) { m_ActiveProtocol=SCARD_PROTOCOL_T0; } else if((Protocol & SCARD_PROTOCOL_T1) && (m_PossibleProtocols & SCARD_PROTOCOL_T1)) { m_ActiveProtocol=SCARD_PROTOCOL_T1; } else { return STATUS_INVALID_DEVICE_REQUEST; } *pProtocol=m_ActiveProtocol; m_ReaderState=SCARD_SPECIFIC; return STATUS_SUCCESS; } else if(m_ReaderState==SCARD_SPECIFIC) { if(Protocol & (SCARD_PROTOCOL_DEFAULT | SCARD_PROTOCOL_OPTIMAL)) Protocol|=(SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1 | SCARD_PROTOCOL_RAW); if(m_ActiveProtocol & Protocol) { *pProtocol=m_ActiveProtocol; return STATUS_SUCCESS; } else return STATUS_NOT_SUPPORTED; } else return STATUS_IO_TIMEOUT; } return base::IfdSetProtocol(pProtocol); } RSCT_IFD_RESULT CECRReader::_IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { int l; char *str; // uint16_t rest=*response_len; if(cmd_len==5 && cmd[0]==0xff && cmd[1]==0x9a && cmd[2]==0x01 && cmd[4]==0) { switch(cmd[3]) { case 3: if(*response_len>=(l=strlen("cyberJack RFID komfort (Test)"))+2) { memcpy(response,"cyberJack RFID komfort (Test)",l); memcpy(response+l,"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 4: if(*response_len>=6) { sprintf((char *)response,"%04X\x90",0x0450); *response_len=6; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; case 8: if(*response_len>=7 && GetReadersInputBufferSize()<=99999 || *response_len>=6 && GetReadersInputBufferSize()<=9999) { sprintf((char *)response,"%d",(int)768); memcpy(response+(l=strlen((char *)response)),"\x90\x00",2); *response_len=l+2; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; default:; } } if(m_bIsRF && cmd_len==5 && cmd[0]==0xff && cmd[1]==0xca && cmd[2]<=0x01 && cmd[3]==0) { if(cmd[2]==0) { if(*response_len>=m_SerialNumberLength+2) { if(cmd[4]==0 || cmd[4]>=m_SerialNumberLength) { memcpy(response,m_SerialNumber,m_SerialNumberLength); if(cmd[4]!=0 && cmd[4]>m_SerialNumberLength) { memset(response+m_SerialNumberLength,0,cmd[4]-m_SerialNumberLength); memcpy(response+cmd[4],"\x62\x82",2); *response_len=cmd[4]+2; } else { memcpy(response+m_SerialNumberLength,"\x90\x00",2); *response_len=m_SerialNumberLength+2; } return STATUS_SUCCESS; } } if(*response_len>=2) { response[0]=0x6C; response[1]=m_SerialNumberLength; *response_len=2; return STATUS_SUCCESS; } return STATUS_BUFFER_TOO_SMALL; } else { if(*response_len>=m_ATR_Length-3) { if(cmd[4]==0 || cmd[4]>=m_ATR_Length-5) { memcpy(response,m_ATR+4,m_ATR_Length-5); if(cmd[4]!=0 && cmd[4]>m_ATR_Length-5) { memset(response+m_ATR_Length-5,0,cmd[4]-m_ATR_Length+5); memcpy(response+cmd[4],"\x62\x82",2); *response_len=cmd[4]+2; } else { memcpy(response+m_ATR_Length-5,"\x90\x00",2); *response_len=(uint16_t)(m_ATR_Length-3); } return STATUS_SUCCESS; } } if(*response_len>=2) { response[0]=0x6C; response[1]=(uint8_t)(m_ATR_Length-5); *response_len=2; return STATUS_SUCCESS; } return STATUS_BUFFER_TOO_SMALL; } } return base::_IfdTransmit(cmd,cmd_len,response,response_len); } RSCT_IFD_RESULT CECRReader::IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { uint32_t Result; uint32_t ResponseLen=*OutputLength-6; uint32_t ApplicationErrorLength=4; uint16_t InternalLength; uint16_t InternalLength2; uint16_t InternalLengthBuffer; uint8_t lengthCHAT; uint8_t lengthPIN; uint16_t lengthCD; uint8_t lengthCAR; uint8_t lengthCARprev; switch(IoCtrlCode) { case CJPCSC_VEN_IOCTRL_EXECUTE_PACE: if(InputLength<3 || *OutputLength<6) return STATUS_INFO_LENGTH_MISMATCH; memcpy(&InternalLengthBuffer,Input+1,2); if(InputLength!=3+InternalLengthBuffer) return STATUS_INFO_LENGTH_MISMATCH; InternalLength=HostToReaderShort(InternalLengthBuffer); if(CopyIfdInput(Input,InputLength)) return STATUS_INSUFFICIENT_RESOURCES; Input=ifd_in_buffer; memcpy(Input+1,&InternalLength,2); if(Input[0]==2) { if(InputLength>4) lengthCHAT=Input[4]; if(InputLength>5+lengthCHAT) lengthPIN=Input[5+lengthCHAT]; /* if(InputLength==7+lengthCHAT+lengthPIN) return STATUS_INFO_LENGTH_MISMATCH;*/ if(InputLength>7+lengthCHAT+lengthPIN) { memcpy(&lengthCD,Input+7+lengthCHAT+lengthPIN,2); /* if(InputLength!=8+lengthCHAT+lengthPIN+lengthCD) return STATUS_INFO_LENGTH_MISMATCH;*/ lengthCD=HostToReaderShort(lengthCD); memcpy(Input+7+lengthCHAT+lengthPIN,&lengthCD,2); } } switch(CtApplicationData(MODULE_ID_KERNEL,CCID_ESCAPE_DO_PACE,Input,InputLength, &Result, Output+6, &ResponseLen, Output, &ApplicationErrorLength)) { case CJ_SUCCESS: if(*OutputLength<6+ResponseLen || ResponseLen>65535) return STATUS_INSUFFICIENT_RESOURCES; *OutputLength=6+ResponseLen; InternalLength2=(uint16_t)ResponseLen; memcpy(Output+4,&InternalLength2,2); if(ApplicationErrorLength==0) memset(Output,0,4); if(Input[0]==2 && ResponseLen>=4) { memcpy(&InternalLength,Output+8,2); InternalLength=ReaderToHostShort(InternalLength); memcpy(Output+8,&InternalLength,2); if(ResponseLen>6+InternalLength) { lengthCAR=Output[10+InternalLength]; if(ResponseLen>7+InternalLength+lengthCAR) { lengthCARprev=Output[11+InternalLength+lengthCAR]; if(lengthCARprev>0 && GetEnviroment("PACE_DisableCARprev",0)) { Output[11+InternalLength+lengthCAR]=0; memmove(Output+12+InternalLength+lengthCAR,Output+12+InternalLength+lengthCAR+lengthCARprev,ResponseLen-(6+InternalLength+lengthCAR+lengthCARprev)); ResponseLen-=lengthCARprev; *OutputLength-=lengthCARprev; InternalLength2-=lengthCARprev; memcpy(Output+4,&InternalLength2,2); lengthCARprev=0; } if(ResponseLen>8+InternalLength+lengthCAR+lengthCARprev) { memcpy(&InternalLengthBuffer,Output+12+InternalLength+lengthCAR+lengthCARprev,2); InternalLengthBuffer=ReaderToHostShort(InternalLengthBuffer); memcpy(Output+12+InternalLength+lengthCAR+lengthCARprev,&InternalLengthBuffer,2); } } } } return STATUS_SUCCESS; default: *OutputLength=0; return STATUS_UNHANDLED_EXCEPTION; } default: return base::IfdVendor(IoCtrlCode,Input,InputLength,Output,OutputLength); } } CJ_RESULT CECRReader::BuildReaderInfo() { CJ_RESULT Res; Res = base::BuildReaderInfo(); m_ReaderInfo.HardwareMask |= RSCT_READER_HARDWARE_MASK_RFID | RSCT_READER_HARDWARE_MASK_PACE; return Res; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECFReader.cpp0000644000175000001440000000313311657145411020355 0ustar sctusers#include "Platform.h" #include #include "ECFReader.h" #include "BaseCommunication.h" #include "eca_defines.h" #include "eca_module_errors.h" #define base CEC30Reader CECFReader::CECFReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CECFReader::~CECFReader(void) { } uint16_t CECFReader::HostToReaderShort(uint16_t Value) { return InversByteOrderShort(htons(Value)); } uint32_t CECFReader::HostToReaderLong(uint32_t Value) { return InversByteOrderLong(htonl(Value)); } void CECFReader::SetHWString(char *String) { strcpy(String,"ECF_"); } void CECFReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJECF",5); if(GetEnviroment("ecom_f_ident",0)!=0) { memcpy(Product,"ECUSB",5); } } CJ_RESULT CECFReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { CJ_RESULT Res; switch(eContrast) { case ContrastVeryLow: Res=_CtSetContrast(40,Result); break; case ContrastLow: Res=_CtSetContrast(30,Result); break; case ContrastMedium: Res=_CtSetContrast(20,Result); break; case ContrastHigh: Res=_CtSetContrast(10,Result); break; case ContrastVeryHigh: Res=_CtSetContrast(0,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; } CJ_RESULT CECFReader::SetFlashMask(void) { uint32_t Result; uint32_t Value=HostToReaderLong(0xa374b516); return Escape(MODULE_ID_KERNEL,CCID_ESCAPE_MODULE_SET_FLASH_MASK,(uint8_t *)&Value,sizeof(Value),&Result,0,0); } int CECFReader::GetWarmstartTimeout(void) { return 4500; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/config.cpp0000644000175000001440000002023711657145411020106 0ustar sctusers/*************************************************************************** begin : Mon Aug 14 2006 copyright : (C) 2006 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #include "Platform.h" #include #include #include #include #include #include "config_p.h" #define CYBERJACK_CONFIG_GROUP_GENERIC 0 #define CYBERJACK_CONFIG_GROUP_VARS 1 #define CYBERJACK_CONFIG_GROUP_UNKNOWN 99 static CYBERJACK_CONFIG *_ctapi_config=NULL; static int _readConfig(FILE *f, CYBERJACK_CONFIG *cfg) { int currentGroup=CYBERJACK_CONFIG_GROUP_GENERIC; char lbuf[256]; while(!feof(f)) { char *p; char *varName; char *value; unsigned int len; lbuf[0]=0; if (0==fgets(lbuf, sizeof(lbuf), f)) { if (ferror(f)) { fprintf(stderr, "CYBERJACK: fgets: %s\n", strerror(errno)); return -1; } } len=strlen(lbuf); if (len<1) continue; if (lbuf[len-1]=='\n' || lbuf[len-1]=='\r') { lbuf[len-1]=0; len--; } if (len<1) continue; /*fprintf(stderr, "CYBERJACK: Data is \"%s\"\n", lbuf);*/ p=strchr(lbuf, '#'); if (p) *p=0; p=lbuf; /* skip blanks */ while(*p && isspace(*p)) p++; if (!*p) continue; /* check for group name */ if (*p=='[') { if (strncasecmp(p, "[generic]", 9)==0) { currentGroup=CYBERJACK_CONFIG_GROUP_GENERIC; } else if (strncasecmp(p, "[vars]", 6)==0) { currentGroup=CYBERJACK_CONFIG_GROUP_VARS; } else { fprintf(stderr, "CYBERJACK: Unknown group \"%s\", ignoring\n", p); currentGroup=CYBERJACK_CONFIG_GROUP_UNKNOWN; } } else { /* extract var name */ varName=p; while(*p && !isspace(*p) && *p!='=') p++; if (!*p) /* unexpected end of line */ continue; if (*p!='=') { /* found end of var name */ *p=0; p++; /* skip blanks */ while(*p && isspace(*p)) p++; } if (*p!='=') /* missing equation mark */ continue; *p=0; p++; /* skip blanks */ while(*p && isspace(*p)) p++; if (!*p) /* no value */ continue; value=p; p++; /* get end of value */ while(*p && !isspace(*p)) p++; if (*p) *p=0; /* handle key value pair */ if (currentGroup==CYBERJACK_CONFIG_GROUP_GENERIC) { /*fprintf(stderr, "CYBERJACK: Handling [%s]=[%s]\n", varName, value);*/ if (strcasecmp(varName, "flags")==0) { unsigned int j; if (1==sscanf(value, "%i", &j)) { cfg->flags=j; } else { fprintf(stderr, "CYBERJACK: Bad value for flags: \"%s\"", value); } } else if (strcasecmp(varName, "debugFile")==0) { cfg->debugFile=value; } else if (strcasecmp(varName, "serialFile")==0) { cfg->serialFile=value; } /* add more variables here */ else { fprintf(stderr, "CYBERJACK: Unknown variable \"%s\" in config file\n", value); } } else if (currentGroup==CYBERJACK_CONFIG_GROUP_VARS) { cfg->vars.insert(CFG_VARMAP::value_type(varName, value)); } } } /* while !feof */ return 0; } static int config_read_file(CYBERJACK_CONFIG *cfg) { FILE *f; f=fopen(CYBERJACK_CONFIG_FILE, "r"); if (f==NULL) { f=fopen(CYBERJACK_CONFIG_FILE".default", "r"); } if (f) { int rv; rv=_readConfig(f, cfg); fclose(f); if (rv) return rv; } return 0; } static int config_write_file(CYBERJACK_CONFIG *cfg) { FILE *f; f=fopen(CYBERJACK_CONFIG_FILE, "w+"); if (f==NULL) { fprintf(stderr, "RSCT: Could not create config file [%s]: %s\n", CYBERJACK_CONFIG_FILE, strerror(errno)); return -1; } fprintf(f, "# This file has been automatically created\n"); fprintf(f, "flags=0x%08x\n", cfg->flags); if (!(cfg->debugFile).empty()) fprintf(f, "debugFile=%s\n", cfg->debugFile.c_str()); if (!(cfg->serialFile).empty()) fprintf(f, "serialFile=%s\n", cfg->serialFile.c_str()); /* possibly write vars */ if (cfg->vars.size()) { CFG_VARMAP::iterator it; fprintf(f, "\n[vars]\n"); for (it=cfg->vars.begin(); it!=cfg->vars.end(); it++) { if (it->first.length() && it->second.length()) { fprintf(f, "%s=%s\n", it->first.c_str(), it->second.c_str()); } } } if (fclose(f)) { fprintf(stderr, "RSCT: Could not close config file [%s]: %s\n", CYBERJACK_CONFIG_FILE, strerror(errno)); return -1; } return 0; } int rsct_config_init() { /* init CTAPI configuration */ _ctapi_config=new CYBERJACK_CONFIG; if (!_ctapi_config) { Debug.Out("none", DEBUG_MASK_CTAPI, "not enough memory available\n", 0, 0); return -1; } _ctapi_config->debugFile="/tmp/cj.log"; _ctapi_config->flags=CT_FLAGS_DEFAULT; if (getenv("CJCTAPI_NO_KEYBEEP")) _ctapi_config->flags|=CT_FLAGS_NO_BEEP; if (getenv("CJCTAPI_ECOM_KERNEL")) _ctapi_config->flags|=CT_FLAGS_ECOM_KERNEL; config_read_file(_ctapi_config); return 0; } void rsct_config_fini() { if (_ctapi_config) { free(_ctapi_config); _ctapi_config=0; } } int rsct_config_save() { if (_ctapi_config) return config_write_file(_ctapi_config); return 0; } unsigned int rsct_config_get_flags() { if (!_ctapi_config) return 0; return _ctapi_config->flags; } void rsct_config_set_flags(unsigned int i) { if (_ctapi_config) _ctapi_config->flags=i; } unsigned int rsct_config_get_debug_output_level() { /* TODO: set this to 0 here or read from config file */ return 0xffffffff; } const char *rsct_config_get_debug_filename() { if (!_ctapi_config) return 0; if (_ctapi_config->debugFile[0]==0) return 0; return _ctapi_config->debugFile.c_str(); } const char *rsct_config_get_serial_filename() { if (!_ctapi_config) return 0; if (_ctapi_config->serialFile[0]==0) return 0; return _ctapi_config->serialFile.c_str(); } void rsct_config_set_serial_filename(const char *s) { if (_ctapi_config) { if (!s) _ctapi_config->serialFile=""; else { _ctapi_config->serialFile=s; } } } void rsct_config_set_var(const char *name, const char *val) { if (_ctapi_config) { if (name && val) { _ctapi_config->vars.insert(CFG_VARMAP::value_type(name, val)); } } } const char *rsct_config_get_var(const char *name) { if (_ctapi_config) { if (name) { CFG_VARMAP::iterator it; it=_ctapi_config->vars.find(name); if (it!=_ctapi_config->vars.end()) return it->second.c_str(); } } return NULL; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECBReader.cpp0000644000175000001440000000061711657145411020355 0ustar sctusers#include "Platform.h" #include "ECBReader.h" #define base CECPReader CECBReader::CECBReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CECBReader::~CECBReader(void) { } void CECBReader::SetHWString(char *String) { strcpy(String,"ECB_"); } void CECBReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJECB",5); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/Platform_unix.cpp0000644000175000001440000000700211657145411021463 0ustar sctusers/*************************************************************************** begin : Mon Jun 14 2010 copyright : (C) 2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #include "Platform.h" #include "USBUnix.h" #include "SerialUnix.h" #include "config_l.h" CBaseCommunication *rsct_platform_create_com(const char *deviceName, CReader *reader) { CBaseCommunication *com=NULL; // we allocated 10 bytex more in CReader::CReaderConstructor // so we can modify this const char here char *deviceNameDup = (char *) deviceName; if (strcasestr(deviceName, ":libudev:")!=NULL) { int idVendor, idProduct, bus_number, device_address = 0; sscanf(deviceName,"usb:%04x/%04x:libudev:0:/dev/bus/usb/%d/%d",&idVendor, &idProduct, &bus_number, &device_address); snprintf(deviceNameDup,strlen(deviceNameDup)+10,"usb:%04x/%04x:libusb:%03d:%03d",idVendor, idProduct, bus_number, device_address); } if (strcasestr(deviceName, ":libusb-1.0:")!=NULL) { int idVendor, idProduct, bus_number, device_address, interface = 0; sscanf(deviceName,"usb:%04x/%04x:libusb-1.0:%d:%d:%d",&idVendor, &idProduct, &bus_number, &device_address, &interface); snprintf(deviceNameDup,strlen(deviceNameDup)+10,"usb:%04x/%04x:libusb:%03d:%03d",idVendor, idProduct, bus_number, device_address); } if (strcasestr(deviceName, ":libusb:")!=NULL || strstr(deviceName, ":libhal:")!=NULL) # ifdef ENABLE_NONSERIAL com=new CUSBUnix(deviceName, reader); # else /* libusb and libhal not supported for serial devices */ return CJ_ERR_OPENING_DEVICE; # endif else com=new CSerialUnix(deviceName, reader); return com; } const char *rsct_get_package_version(void) { const char *s; s=rsct_config_get_var("PackageVersion"); if (s && *s) return s; /* for now */ return "3.99.5"; } uint32_t rsct_get_environment(const char *name, uint32_t defval) { const char *s; s=rsct_config_get_var(name); if (s && *s) { unsigned long int v; if (sscanf(s, "%lu", &v)==1) { return uint32_t(v); } else { fprintf(stderr, "CYBERJACK: Environment variable \"%s\" is not an integer\n", name); } } return defval; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/BaseCommunication.cpp0000644000175000001440000001563111660154635022245 0ustar sctusers#include "Platform.h" #include "BaseCommunication.h" #include #include "Debug.h" #include "ECAReader.h" #include "ECBReader.h" #include "ECRReader.h" #include "ECPReader.h" #include "SECReader.h" #include "ECFReader.h" #include "ECFReader.h" #include "EFBReader.h" #include "PPAReader.h" #include "RFKReader.h" #include "RFSReader.h" #include "CPTReader.h" CBaseCommunication::CBaseCommunication(const char *cDeviceName,CReader *Owner) { m_cDeviceName=strdup(cDeviceName); m_Owner=Owner; m_Reader=NULL; m_InterruptPipeState=UnInit; m_pid=0; } CBaseCommunication::~CBaseCommunication(void) { free(m_cDeviceName); } void CBaseCommunication::Close() {} int CBaseCommunication::Write(void *Message,uint32_t len) { if(IsConnected()) { Debug.Out(m_cDeviceName,DEBUG_MASK_COMMUNICATION_OUT,"CCID OUT:",Message,len); } return ((!IsConnected())?CJ_ERR_DEVICE_LOST:CJ_SUCCESS); } int CBaseCommunication::Read(void *Response,uint32_t *len) { if(IsConnected()) { Debug.Out(m_cDeviceName,DEBUG_MASK_COMMUNICATION_IN,"CCID IN:",Response,*len); } return ((!IsConnected())?CJ_ERR_DEVICE_LOST:CJ_SUCCESS); } void CBaseCommunication::FreeIFDHandlerDeviceName(char *DeviceName) { if(DeviceName!=NULL) delete DeviceName; } CBaseReader *CBaseCommunication::_buildUsbReaderObject(uint16_t pid, const char *readerName) { int len; char *ptr; len=strlen(readerName); ptr=strdup(readerName); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Reader Productstring: [%s]", ptr); switch(pid) { #ifndef _WINDOWS case 0x300: if (len>=18 && memcmp(ptr, "cyberJack pinpad(a)", 19)==0) { ptr[18]='\0'; m_Reader = new CPPAReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else { Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device [%s] ist not a known cyberJack 0x300, assuming pinpad(a)", ptr); m_Reader = new CPPAReader(m_Owner, this); } m_pid=pid; m_productString=ptr; free(ptr); return m_Reader; #endif case 0x400: if (len>=18 && memcmp(ptr, "cyberJack e-com(a)", 18)==0) { ptr[18]='\0'; m_Reader = new CECAReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else if(len>=24 && memcmp(ptr, "cyberJack e-com plus DUO", 24)==0){ ptr[24]='\0'; m_Reader = new CECBReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else if(len>=24 && memcmp(ptr, "cyberJack e-com plus BIO", 24)==0){ ptr[24]='\0'; m_Reader = new CECBReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else if(len>=25 && memcmp(ptr, "cyberJack e-com plus RFID", 25)==0){ ptr[25]='\0'; m_Reader = new CECRReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else if(len>=20 && memcmp(ptr, "cyberJack e-com plus", 20)==0) { ptr[20]='\0'; m_Reader = new CECPReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else if(len>=17 && memcmp(ptr, "cyberJack Secoder", 17)==0){ ptr[17]='\0'; m_Reader = new CSECReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else { Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device [%s] ist not a known cyberJack 0x400, assuming e-com(a)", ptr); m_Reader = new CECAReader(m_Owner, this); } m_pid=pid; m_productString=ptr; free(ptr); return m_Reader; case 0x401: if(len>=18 && memcmp(ptr, "cyberJack e-com(f)", 18)==0) { ptr[18]='\0'; m_Reader = new CECFReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else if (len>=19 && memcmp(ptr, "cyberJack e-com BIO", 19)==0){ ptr[19]='\0'; m_Reader = new CEFBReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else { Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device [%s] ist not a known cyberJack 0x401, assuming e-com(f)", ptr); m_Reader=new CECFReader(m_Owner, this); } m_pid=pid; m_productString=ptr; free(ptr); return m_Reader; case 0x0500: if (len>=23 && memcmp(ptr, "cyberJack RFID standard", 23)==0) { ptr[23]='\0'; m_Reader = new CRFSReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else { Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device [%s] ist not a known cyberJack 0x500, assuming RFID standard", ptr); m_Reader = new CRFSReader(m_Owner, this); } m_pid=pid; m_productString=ptr; free(ptr); return m_Reader; case 0x0501: if (len>=22 && memcmp(ptr, "cyberJack RFID komfort", 22)==0) { ptr[22]='\0'; m_Reader = new CRFKReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else { Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device [%s] ist not a known cyberJack 0x501, assuming RFID standard", ptr); m_Reader = new CRFSReader(m_Owner, this); } m_pid=pid; m_productString=ptr; free(ptr); return m_Reader; case 0x0502: if (len>=17 && memcmp(ptr, "cyberJack compact", 17)==0) { ptr[17]='\0'; m_Reader = new CCPTReader(m_Owner, this); Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INFO, "Recognized device %04x [%s]", pid, ptr); } else { Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device [%s] ist not a known cyberJack 0x502, assuming RFID standard", ptr); m_Reader = new CRFSReader(m_Owner, this); } m_pid=pid; m_productString=ptr; free(ptr); return m_Reader; /* add more readers here */ default: Debug.varLog(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device %04x [%s] ist not a known cyberJack\n", pid, ptr); free(ptr); return NULL; } } pcsc-cyberjack-3.99.5final.SP03/cjeca32/USBUnix.h0000644000175000001440000000501211657145411017575 0ustar sctusers/*************************************************************************** begin : Wed Apr 18 2007 copyright : (C) 2007-2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef RSCT_USBLINUX_H #define RSCT_USBLINUX_H #include "BaseCommunication.h" /* forward declaration */ typedef struct ausb_dev_handle ausb_dev_handle; class CUSBUnix : public CBaseCommunication { public: uint32_t m_refcounter; protected: ausb_dev_handle *m_devHandle; uint8_t m_bulkIn; uint8_t m_bulkOut; uint8_t m_intPipe; public: CUSBUnix(const char *cDeviceName,CReader *Owner); virtual ~CUSBUnix(void); static char *createDeviceName(int num); static char *createDeviceName(int busId, int devId); virtual int Write(void *Message, uint32_t len); virtual int Read(void *Response, uint32_t *ResponseLen); virtual CBaseReader *BuildReaderObject(); virtual void SetCommunicationString(cj_ReaderInfo *ReaderInfo); virtual bool IsConnected(); virtual int Open(); virtual void Close(); void usbCallback(const uint8_t *data, uint32_t dlength); private: virtual int StartInterruptPipe(); virtual int HaltInterruptPipe(); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECAReader.h0000644000175000001440000000114311657145411020014 0ustar sctusers#ifndef ECA_ECAREADER_H #define ECA_ECAREADER_H #include "EC30Reader.h" class CECAReader : public CEC30Reader { public: CECAReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CECAReader(void); virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); protected: virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout); virtual uint16_t HostToReaderShort(uint16_t Value); virtual uint32_t HostToReaderLong(uint32_t Value); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/Reader.cpp0000644000175000001440000004574411657145411020055 0ustar sctusers#include "Platform.h" #include #include #include "Reader.h" #include "BaseReader.h" #include "ECAReader.h" #include "Debug.h" #ifdef _EXP_CTAPI extern "C" { static CReader *myReader=NULL; CTAPI_RETURN CT_init(uint16_t,uint16_t) { if(myReader!=0) return -127; #ifdef _EXP_CTAPI_COM myReader=new CReader("\\\\.\\com1"); #else myReader=new CReader("\\\\.\\cjusbu01"); #endif if(myReader->Connect()!=CJ_SUCCESS) { delete myReader; myReader=NULL; return -128; } else return 0; } CTAPI_RETURN CT_data(uint16_t,uint8_t *dad,uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { char Res; if(myReader==0) return -128; if (*dad==1 && cmd_len > 5 && cmd[0]==0xFF && cmd[1]==0x80 && cmd[2]==0x04 && cmd[3]==0x00 && cmd_len > 13 && *response_len >= 4) { uint32_t nRspLen= *response_len - 4; uint32_t nIoCtrl= *((uint32_t*)&cmd[5]); uint32_t nStat=0; nStat=myReader->IfdIoControl (nIoCtrl,(BYTE*)(cmd+13),cmd_len-13,response+4,&nRspLen); *((uint32_t*)response)=nStat; *response_len=(USHORT)(nRspLen+sizeof (nStat)); Res=0; } else { Res=myReader->CtData(dad,sad,cmd_len,cmd,response_len,response); }; switch(Res) { case 0: case -1: case -11: break; default: delete myReader; myReader=NULL; } return Res; } CTAPI_RETURN CT_close(uint16_t) { if(myReader==0) return -128; delete myReader; myReader=NULL; return 0; } } #endif CReader::CReader(char *cDeviceName) { CReaderConstructor((const char *)cDeviceName); } CReader::CReader(const char *cDeviceName) { CReaderConstructor(cDeviceName); } void CReader::CReaderConstructor(const char *cDeviceName) { m_Reader=NULL; CritSec=new CRSCTCriticalSection(); m_cDeviceName=strdup(cDeviceName); //we allocate 10 bytes more because we modify the device name later in rsct_platform_create_com //m_cDeviceName=strdup(cDeviceName); m_cDeviceName=(char *) calloc(1,strlen(cDeviceName)+10); m_cDeviceName=strcpy(m_cDeviceName, cDeviceName); } CJ_RESULT CReader::Connect() { // ::MessageBox (0,L"CReader::Connect(1)",L"cjeca32.dll",MB_ICONSTOP); CJ_RESULT Res; CBaseCommunication *com=NULL; CritSec->Enter(); com=rsct_platform_create_com(m_cDeviceName,this); if(com) { // ::MessageBox (0,L"CReader::Connect(3)",L"cjeca32.dll",MB_ICONSTOP); if(com->Open()) { // ::MessageBox (0,L"CReader::Connect(4)",L"cjeca32.dll",MB_ICONSTOP); m_Reader=com->BuildReaderObject(); if(m_Reader) { // ::MessageBox (0,L"CReader::Connect(5a)",L"cjeca32.dll",MB_ICONSTOP); Res=m_Reader->PostCreate(); // ::MessageBox (0,L"CReader::Connect(6a)",L"cjeca32.dll",MB_ICONSTOP); CheckcJResult(Res); // ::MessageBox (0,L"CReader::Connect(7a)",L"cjeca32.dll",MB_ICONSTOP); CritSec->Leave(); // ::MessageBox (0,L"CReader::Connect(8a)",L"cjeca32.dll",MB_ICONSTOP); return Res; } else { // ::MessageBox (0,L"CReader::Connect(25)",L"cjeca32.dll",MB_ICONSTOP); CritSec->Leave(); return CJ_ERR_DEVICE_LOST; } } else { // ::MessageBox (0,L"CReader::Connect(50)",L"cjeca32.dll",MB_ICONSTOP); CritSec->Leave(); return CJ_ERR_OPENING_DEVICE; } } else { // ::MessageBox (0,L"CReader::Connect(100)",L"cjeca32.dll",MB_ICONSTOP); CritSec->Leave(); return CJ_ERR_OPENING_DEVICE; } } CJ_RESULT CReader::CreateVirtualReaderObject(const char *cReaderName) { if (strcasecmp(cReaderName, "ecom(a)")==0) { m_Reader=new CECAReader(this, NULL); return CJ_SUCCESS; } return CJ_ERR_OPENING_DEVICE; } CJ_RESULT CReader::Disonnect() { CritSec->Enter(); if(m_Reader) { m_Reader->IfdPower(SCARD_POWER_DOWN,0,0); m_Reader->Unconnect(); delete m_Reader; } m_Reader=NULL; CritSec->Leave(); return CJ_SUCCESS; } CReader::~CReader() { Disonnect(); free(m_cDeviceName); delete CritSec; } char CReader::CtData(uint8_t *dad,uint8_t *sad, uint16_t cmd_len, const uint8_t *cmd, uint16_t *response_len, uint8_t *response) { char res; if(m_Reader==NULL) return -128; CritSec->Enter(); Debug.Out(m_cDeviceName,DEBUG_MASK_INPUT,"CtData Cmd:",(void *)cmd,cmd_len); res=m_Reader->CtData(sad,dad,cmd,cmd_len,response,response_len); Debug.Out(m_cDeviceName,DEBUG_MASK_OUTPUT,"CtData Rsp",(void *)response,*response_len); switch(res) { case 0: case -1: case -11: break; default: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { *ATR_Length=0; return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdPower(Mode,ATR,ATR_Length); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: /* delete m_Reader; m_Reader=NULL;*/ break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdSetProtocol(uint32_t *Protocol) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { *Protocol=0; return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdSetProtocol(Protocol); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdGetState(uint32_t *State) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { *State=0; return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdGetState(State); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdSetAttribute(const uint8_t *Input,uint32_t InputLength) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdSetAttribute(Input,InputLength); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdGetAttribute(uint32_t Tag,uint8_t *Attribute,uint32_t *AttributeLength) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { *Attribute=0; return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdGetAttribute(Tag,Attribute,AttributeLength); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdSwallow() { RSCT_IFD_RESULT res; if(m_Reader==NULL) { return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdSwallow(); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdEject() { RSCT_IFD_RESULT res; if(m_Reader==NULL) { return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdEject(); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { *OutputLength=0; return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdVendor(IoCtrlCode,Input,InputLength,Output,OutputLength); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { *response_len=0; return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdTransmit(cmd,cmd_len,response,response_len); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } RSCT_IFD_RESULT CReader::IfdIoControl(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { RSCT_IFD_RESULT res; if(m_Reader==NULL) { *OutputLength=0; return STATUS_DEVICE_NOT_CONNECTED; } CritSec->Enter(); res=m_Reader->IfdIoControl(IoCtrlCode,Input,InputLength,Output,OutputLength); switch(res) { case STATUS_DEVICE_NOT_CONNECTED: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } CritSec->Leave(); return res; } void CReader::CheckcJResult(CJ_RESULT Result) { switch(Result) { case CJ_ERR_DEVICE_LOST: case CJ_ERR_CONNECT_TIMEOUT: m_Reader->Unconnect(); delete m_Reader; m_Reader=NULL; break; default:; } } CJ_RESULT CReader::CtLoadModule(uint8_t *pData,uint32_t DataLength,uint8_t *pSgn,uint32_t SgnLength,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtLoadModule(pData,DataLength,pSgn,SgnLength,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtDeleteModule(uint32_t ModuleID,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtDeleteModule(ModuleID,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtSelfTest(void) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtSelfTest(); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtShowAuth(void) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtShowAuth(); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtActivateModule(uint32_t ModuleID,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtActivateModule(ModuleID,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtDeactivateModule(uint32_t ModuleID,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtDeactivateModule(ModuleID,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtSetSilentMode(boolMode,pboolMode,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtGetSilentMode(bool *pboolMode,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtGetSilentMode(pboolMode,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtSetModulestoreInfo(uint8_t *Info,uint8_t InfoLength) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtSetModulestoreInfo(Info,InfoLength); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtGetModulestoreInfo(uint8_t *Info,uint8_t *InfoLength) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtGetModulestoreInfo(Info,InfoLength); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtDeleteALLModules(uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtDeleteALLModules(Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtListModules(uint32_t *Count,cj_ModuleInfo *ModuleInfo) { CJ_RESULT res; if(m_Reader==NULL) { *Count=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtListModules(Count,ModuleInfo); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtGetModuleInfoFromFile(uint8_t *pData,uint32_t DataLength,cj_ModuleInfo *ModuleInfo,uint32_t *EstimatedUpdateTime) { CJ_RESULT res; if(m_Reader==NULL) { *EstimatedUpdateTime=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtGetModuleInfoFromFile(pData,DataLength,ModuleInfo,EstimatedUpdateTime); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtFreeModuleInfoList(cj_ModuleInfo *pModuleInfo) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtFreeModuleInfoList(pModuleInfo); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtKeyUpdate(uint8_t *pData,uint32_t DataLength,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtKeyUpdate(pData,DataLength,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime) { CJ_RESULT res; if(m_Reader==NULL) { *EstimatedUpdateTime=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtIsKeyUpdateRecommended(pData,DataLength,EstimatedUpdateTime); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtIsModuleUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime) { CJ_RESULT res; if(m_Reader==NULL) { *EstimatedUpdateTime=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtIsModuleUpdateRecommended(pData,DataLength,EstimatedUpdateTime); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtGetActiveModuleID(uint32_t *ID,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { *ID=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtGetActiveModuleID(ID,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtGetActivationID(uint32_t *ID,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { *ID=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtGetActivationID(ID,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtApplicationData(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen) { CJ_RESULT res; if(m_Reader==NULL) { *ResponseLen=0; *Result=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtApplicationData(ApplicationID,Function,InputData,InputLen,Result,ResponseData,ResponseLen,0,0); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtApplicationDataEx(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen, uint8_t *ApplicationError,uint32_t *ApplicationErrorLength) { CJ_RESULT res; if(m_Reader==NULL) { *ResponseLen=0; *Result=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtApplicationData(ApplicationID,Function,InputData,InputLen,Result,ResponseData,ResponseLen,ApplicationError,ApplicationErrorLength); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { *Result=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtSetContrast(eContrast,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtSetBacklight(EBacklight eBacklight,uint32_t *Result) { CJ_RESULT res; if(m_Reader==NULL) { *Result=0; return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtSetBacklight(eBacklight,Result); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::InstallAndStartIFDHandler() { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->InstallAndStartIFDHandler(); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::StopIFDHandler() { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->StopIFDHandler(); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::IntroduceReaderGroups() { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->IntroduceReaderGroups(); CheckcJResult(res); CritSec->Leave(); return res; } CJ_RESULT CReader::CtGetReaderInfo(cj_ReaderInfo *pReaderInfo) { CJ_RESULT res; if(m_Reader==NULL) { return CJ_ERR_DEVICE_LOST; } CritSec->Enter(); res=m_Reader->CtGetReaderInfo(pReaderInfo); CheckcJResult(res); CritSec->Leave(); return res; } void CReader::SetChangeInterruptCallback(fctChangeIntCallback ChangeIntCallback,ctxPtr ChangeOwner) { CritSec->Enter(); m_Reader->SetChangeInterruptCallback(ChangeIntCallback,ChangeOwner); CritSec->Leave(); } void CReader::SetKeyInterruptCallback(fctKeyIntCallback KeyIntCallback,ctxPtr KeyOwner) { CritSec->Enter(); m_Reader->SetKeyInterruptCallback(KeyIntCallback,KeyOwner); CritSec->Leave(); } CJ_RESULT CReader::CtSetAPDUNorm(const EApduNorm Norm) { CJ_RESULT Res; CritSec->Enter(); Res=m_Reader->CtSetAPDUNorm(Norm); CritSec->Leave(); return Res; } void CReader::DebugResult(const char *format, ...) { #ifndef RSCT_NO_VARGS va_list args; char dbg_buffer[256]; va_start(args, format); vsnprintf(dbg_buffer, sizeof(dbg_buffer)-1, format, args); dbg_buffer[sizeof(dbg_buffer)-1] = 0; DebugLeveled(DEBUG_MASK_RESULTS, "Functionresult: %s", dbg_buffer); va_end(args); #endif } void CReader::DebugErrorSW1SW2(const char *format, ...) { #ifndef RSCT_NO_VARGS va_list args; char dbg_buffer[256]; va_start(args, format); vsnprintf(dbg_buffer, sizeof(dbg_buffer)-1, format, args); dbg_buffer[sizeof(dbg_buffer)-1] = 0; DebugLeveled(DEBUG_MASK_TRANSLATION, "DLL sets SW1SW2: %s", dbg_buffer); va_end(args); #endif } void CReader::DebugLeveled(uint32_t Mask, const char *format, ...) { #ifndef RSCT_NO_VARGS va_list args; char dbg_buffer[256]; va_start(args, format); vsnprintf(dbg_buffer, sizeof(dbg_buffer)-1, format, args); dbg_buffer[sizeof(dbg_buffer)-1] = 0; Debug.Out(m_cDeviceName,Mask,dbg_buffer,0,0); va_end(args); #endif } pcsc-cyberjack-3.99.5final.SP03/cjeca32/RFKReader.h0000644000175000001440000000062511657145411020052 0ustar sctusers#ifndef RFKREADER_H #define RFKREADER_H #include "RFSReader.h" class CRFKReader : public CRFSReader { public: CRFKReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CRFKReader(void); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); virtual CJ_RESULT CtSetBacklight(EBacklight eBacklight,uint32_t *Result); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/stdafx.h0000644000175000001440000000506611660154635017604 0ustar sctusers// stdafx.h : Includedatei fr Standardsystem-Includedateien // oder hufig verwendete projektspezifische Includedateien, // die nur in unregelmigen Abstnden gendert werden. // #ifndef ECA_STDAFX_H #define ECA_STDAFX_H // -------------------------------------------------------------------------- // Platform: Windows // ndern Sie folgende Definitionen fr Plattformen, die lter als die unten angegebenen sind. // In MSDN finden Sie die neuesten Informationen ber die entsprechenden Werte fr die unterschiedlichen Plattformen. # ifndef WINVER // Lassen Sie die Verwendung spezifischer Features von Windows XP oder spter zu. # define WINVER 0x0501 // ndern Sie dies in den geeigneten Wert fr andere Versionen von Windows. # endif # ifndef _WIN32_WINNT // Lassen Sie die Verwendung spezifischer Features von Windows XP oder spter zu. # define _WIN32_WINNT 0x0501 // ndern Sie dies in den geeigneten Wert fr andere Versionen von Windows. # endif # ifndef _WIN32_WINDOWS // Lassen Sie die Verwendung spezifischer Features von Windows 98 oder spter zu. # define _WIN32_WINDOWS 0x0410 // ndern Sie dies in den geeigneten Wert fr Windows Me oder hher. # endif # ifndef _WIN32_IE // Lassen Sie die Verwendung spezifischer Features von IE 6.0 oder spter zu. # define _WIN32_IE 0x0600 // ndern Sie dies in den geeigneten Wert fr andere Versionen von IE. # endif # define WIN32_LEAN_AND_MEAN // Selten verwendete Teile der Windows-Header nicht einbinden. # define _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES 1 # define _INSERT_KEY_EVENTS #ifdef UNDER_CE #define STRSAFE_NO_DEPRECATE struct _CONTEXT; struct CONTEXT; typedef struct _CONTEXT *PCONTEXT; #pragma comment(lib, "Coredll.lib") #include "excpt.h" #define _EXP_CTAPI #endif // -------------------------------------------------------------------------- // common for all systems #include #include "ntstatus.h" #include "cjeca32.h" #include "PCSC10.h" #include "Debug.h" #include "RSCTCriticalSection.h" #include "BaseCommunication.h" #ifdef _WINDOWS #ifdef UNDER_CE #include "USBCommunicationCe.h" #else #include "USBCommunication.h" #include "SerialCommunication.h" #endif #endif #include "BaseReader.h" #include "CCIDReader.h" #include "EC30Reader.h" #include "ECAReader.h" #include "SECReader.h" #include "ECFReader.h" #include "ECPReader.h" #include "ECRReader.h" #include "ECBReader.h" #include "ECMReader.h" #include "EFBReader.h" #include "RFSReader.h" #include "RFKReader.h" #include "PPAReader.h" #include "CPTReader.h" #include "Reader.h" #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/BaseReader.h0000644000175000001440000001351111657145411020300 0ustar sctusers #ifndef ECA_BASEREADER_H #define ECA_BASEREADER_H #include "cjeca32.h" #include "BaseCommunication.h" class CReader; class CBaseCommunication; class CBaseReader { public: CBaseReader(CReader *Owner,CBaseCommunication *Communicator); virtual CJ_RESULT PostCreate(); virtual ~CBaseReader(void); void Unconnect(void); public: virtual char CtData(uint8_t *sad,uint8_t *dad,const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); public: RSCT_IFD_RESULT IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length); virtual RSCT_IFD_RESULT IfdSetProtocol(uint32_t *Protocol); virtual RSCT_IFD_RESULT IfdGetState(uint32_t *State); virtual RSCT_IFD_RESULT IfdSetAttribute(const uint8_t *Input,uint32_t InputLength); virtual RSCT_IFD_RESULT IfdGetAttribute(uint32_t Tag,uint8_t *Attribute,uint32_t *AttributeLength); virtual RSCT_IFD_RESULT IfdSwallow(); virtual RSCT_IFD_RESULT IfdEject(); virtual RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); virtual RSCT_IFD_RESULT IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); virtual RSCT_IFD_RESULT IfdIoControl(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); protected: virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode,uint8_t *ATR,uint32_t *ATR_Length,uint32_t Timeout); int Write(void *Message,uint32_t len); int Read(void *Response,uint32_t *ResponseLen); uint8_t *GetTag(uint8_t *start,int len,uint8_t tagvalue,int *taglen); virtual CJ_RESULT SetSyncParameters(uint8_t AddrByteCount, uint16_t PageSize)=0; virtual uint32_t GetReadersInputBufferSize()=0; public: virtual CJ_RESULT CtLoadModule(uint8_t *pData,uint32_t DataLength,uint8_t *pSgn,uint32_t SgnLength,uint32_t *Result); virtual CJ_RESULT CtKeyUpdate(uint8_t *pData,uint32_t DataLength,uint32_t *Result); virtual CJ_RESULT CtIsKeyUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime); virtual CJ_RESULT CtDeleteModule(uint32_t ModuleID,uint32_t *Result); virtual CJ_RESULT CtActivateModule(uint32_t ModuleID,uint32_t *Result); virtual CJ_RESULT CtDeactivateModule(uint32_t ModuleID,uint32_t *Result); virtual CJ_RESULT CtDeleteALLModules(uint32_t *Result); CJ_RESULT CtListModules(uint32_t *Count,cj_ModuleInfo *ModuleInfo); virtual CJ_RESULT CtGetModuleInfoFromFile(uint8_t *pData,uint32_t DataLength,cj_ModuleInfo *ModuleInfo,uint32_t *EstimatedUpdateTime); CJ_RESULT CtFreeModuleInfoList(cj_ModuleInfo *pModuleInfo); virtual CJ_RESULT CtIsModuleUpdateRecommended(uint8_t *pData,uint32_t DataLength,uint32_t *EstimatedUpdateTime); virtual CJ_RESULT CtGetActiveModuleID(uint32_t *ID,uint32_t *Result); virtual CJ_RESULT CtGetActivationID(uint32_t *ID,uint32_t *Result); virtual CJ_RESULT CtApplicationData(uint32_t ApplicationID,uint16_t Function,uint8_t *InputData, uint32_t InputLen, uint32_t *Result, uint8_t *ResponseData, uint32_t *ResponseLen, uint8_t *ApplicationError,uint32_t *ApplicationErrorLength); virtual CJ_RESULT CtSelfTest(void); virtual CJ_RESULT CtShowAuth(void); virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); virtual CJ_RESULT CtSetBacklight(EBacklight eBacklight,uint32_t *Result); virtual CJ_RESULT CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result); virtual CJ_RESULT CtGetSilentMode(bool *pboolMode,uint32_t *Result); virtual CJ_RESULT CtSetModulestoreInfo(uint8_t *Info,uint8_t InfoLength); virtual CJ_RESULT CtGetModulestoreInfo(uint8_t *Info,uint8_t *InfoLength); CJ_RESULT CtSetAPDUNorm(const EApduNorm Norm); virtual CJ_RESULT InstallAndStartIFDHandler(); virtual CJ_RESULT StopIFDHandler(); virtual CJ_RESULT IntroduceReaderGroups(); CJ_RESULT CtGetReaderInfo(cj_ReaderInfo *pReaderInfo); protected: virtual CJ_RESULT BuildReaderInfo()=0; virtual CJ_RESULT BuildModuleInfo()=0; virtual uint16_t HostToReaderShort(uint16_t Value) = 0; virtual uint32_t HostToReaderLong(uint32_t Value) = 0; virtual uint16_t ReaderToHostShort(uint16_t Value); virtual uint32_t ReaderToHostLong(uint32_t Value); uint16_t InversByteOrderShort(uint16_t Value); uint32_t InversByteOrderLong(uint32_t Value); virtual void SetHWString(char *String)=0; cj_ModuleInfo *FindModule(uint32_t ModuleID); cj_ModuleInfo *FindModuleWithMask(uint32_t ModuleID,uint32_t Mask); bool IsConnected(); bool IsNotSet(void *ptr,int len); int AnalyseATR(bool warm); virtual void ConnectionError(); bool m_bIsRF; public: uint32_t GetEnviroment(const char *Name,uint32_t Default); void SetChangeInterruptCallback(fctChangeIntCallback ChangeIntCallback,ctxPtr ChangeOwner); void SetKeyInterruptCallback(fctKeyIntCallback KeyIntCallback,ctxPtr KeyOwner); virtual void DoInterruptCallback(uint8_t *Data,uint32_t ulDataLen)=0; protected: CBaseCommunication *m_pCommunicator; cj_ReaderInfo m_ReaderInfo; cj_ModuleInfo *m_pModuleInfo; uint32_t m_ModuleInfoCount; CReader *m_Owner; uint32_t m_ReaderState; uint32_t m_ActiveProtocol; ctxPtr m_KeyCallbackCtx; fctKeyIntCallback m_KeyIntCallback; ctxPtr m_ChangeCallbackCtx; fctChangeIntCallback m_ChangeIntCallback; uint8_t m_ATR[33]; uint32_t m_ATR_Length; uint8_t *m_Historical; uint32_t m_Historical_Length; uint8_t m_TA1; //speed uint8_t m_TC1; //XGT uint8_t m_TC2; //WT uint8_t m_TA3; //IFSC uint8_t m_TB3; //BWI/CWI uint8_t m_TC3; //LRC/CRC uint32_t m_PossibleProtocols; EApduNorm m_ApduNorm; uint8_t m_reader_path[10]; uint8_t m_reader_file[2]; uint8_t m_iic_deviceaddr; uint8_t m_iic_offset_bytes; uint8_t m_iic_pagesize; uint8_t m_reader_path_len; private: int check_len(uint8_t *atr,uint32_t buf_len,uint8_t **historical,uint32_t *hist_len); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ECMReader.h0000644000175000001440000000157311657145411020037 0ustar sctusers#ifndef ECMREADER_H #define ECMREADER_H #include "ECRReader.h" #include "ECBReader.h" class CECMReader : public CECRReader, public CECBReader { public: CECMReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CECMReader(void); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); protected: virtual RSCT_IFD_RESULT IfdPower(uint32_t Mode, uint8_t *ATR, uint32_t *ATR_Length, uint32_t Timeout); virtual RSCT_IFD_RESULT IfdSetProtocol(uint32_t *Protocol); virtual RSCT_IFD_RESULT _IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len); virtual RSCT_IFD_RESULT IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength); virtual CJ_RESULT BuildReaderInfo(); virtual uint32_t GetReadersInputBufferSize(); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/config_l.h0000644000175000001440000000617511657145411020073 0ustar sctusers/*************************************************************************** begin : Mon Aug 14 2006 copyright : (C) 2006 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifndef CYBERJACKCONFIG_H #define CYBERJACKCONFIG_H #define CT_FLAGS_DEBUG_GENERIC 0x00000001 #define CT_FLAGS_DEBUG_READER 0x00000002 #define CT_FLAGS_DEBUG_CTAPI 0x00000004 #define CT_FLAGS_DEBUG_AUSB 0x00000008 #define CT_FLAGS_DEBUG_CJPPA 0x00000010 #define CT_FLAGS_DEBUG_ECOM 0x00000020 #define CT_FLAGS_DEBUG_TRANSFER 0x00000040 #define CT_FLAGS_DEBUG_USB 0x00000080 #define CT_FLAGS_DEBUG_IFD 0x00000100 #define CT_FLAGS_DEBUG_ECA 0x00000200 #define CT_FLAGS_DEBUG_CUSTOM_LOGGING 0x00000400 #define CT_FLAGS_NO_BEEP 0x00010000 #define CT_FLAGS_ECOM_KERNEL_OLD 0x00020000 #define CT_FLAGS_ALLOW_INPUT 0x00040000 #define CT_FLAGS_BEEP_NO_X11 0x00080000 #define CT_FLAGS_RESET_BEFORE 0x00100000 #define CT_FLAGS_ECOM_KERNEL 0x00200000 #define CT_FLAGS_DEFAULT 0 typedef struct CYBERJACK_CONFIG CYBERJACK_CONFIG; #include "Platform.h" #ifdef __cplusplus extern "C" { #endif CJECA32_API int rsct_config_init(); CJECA32_API void rsct_config_fini(); CJECA32_API int rsct_config_save(); CJECA32_API unsigned int rsct_config_get_flags(); CJECA32_API void rsct_config_set_flags(unsigned int i); CJECA32_API unsigned int rsct_config_get_debug_output_level(); CJECA32_API const char *rsct_config_get_debug_filename(); CJECA32_API const char *rsct_config_get_serial_filename(); CJECA32_API void rsct_config_set_serial_filename(const char *s); CJECA32_API void rsct_config_set_var(const char *name, const char *val); CJECA32_API const char *rsct_config_get_var(const char *name); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/SECReader.cpp0000644000175000001440000000345011657145411020374 0ustar sctusers#include "Platform.h" #include #include #include "SECReader.h" #include "BaseCommunication.h" #define base CEC30Reader CSECReader::CSECReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CSECReader::~CSECReader(void) { } uint16_t CSECReader::HostToReaderShort(uint16_t Value) { return InversByteOrderShort(htons(Value)); } uint32_t CSECReader::HostToReaderLong(uint32_t Value) { return InversByteOrderLong(htonl(Value)); } void CSECReader::SetHWString(char *String) { strcpy(String,"SEC_"); } void CSECReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJSEC",5); } CJ_RESULT CSECReader::CtSetContrast(EContrast eContrast,uint32_t *Result) { CJ_RESULT Res; switch(eContrast) { case ContrastVeryLow: Res=_CtSetContrast(0,Result); break; case ContrastLow: Res=_CtSetContrast(70,Result); break; case ContrastMedium: Res=_CtSetContrast(120,Result); break; case ContrastHigh: Res=_CtSetContrast(160,Result); break; case ContrastVeryHigh: Res=_CtSetContrast(255,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; } RSCT_IFD_RESULT CSECReader::_IfdTransmit(const uint8_t *cmd, uint16_t cmd_len,uint8_t *response,uint16_t *response_len) { int l; char *str; // uint16_t rest=*response_len; if(cmd_len==5 && cmd[0]==0xff && cmd[1]==0x9a && cmd[2]==0x01 && cmd[4]==0) { switch(cmd[3]) { case 4: if(*response_len>=6) { sprintf((char *)response,"%04X\x90",0x0410); *response_len=6; return STATUS_SUCCESS; } else { *response_len=0; return STATUS_BUFFER_TOO_SMALL; } break; default:; } } return base::_IfdTransmit(cmd,cmd_len,response,response_len); } pcsc-cyberjack-3.99.5final.SP03/cjeca32/RSCTCriticalSection.h0000644000175000001440000000073511657145411022062 0ustar sctusers#ifndef ECA_RSCTCRITICAL_H #define ECA_RSCTCRITICAL_H #ifdef _WINDOWS #include #endif class CJECA32_PRIVATE_CLASS CRSCTCriticalSection { public: CRSCTCriticalSection(void); public: virtual ~CRSCTCriticalSection(void); protected: #ifdef _WINDOWS CRITICAL_SECTION m_hCritSec; #elif defined(OS_LINUX) #elif defined(OS_DARWIN) // MPCriticalRegionID m_CriticalRegionID; #endif public: void Enter(void); public: void Leave(void); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/RFKReader.cpp0000644000175000001440000000211611657145411020402 0ustar sctusers#include "Platform.h" #include #include #include "RFKReader.h" #include "BaseCommunication.h" #include "memory_placements.h" #define base CRFSReader CRFKReader::CRFKReader(CReader *Owner,CBaseCommunication *Communicator) :base(Owner,Communicator) { } CRFKReader::~CRFKReader(void) { } void CRFKReader::SetHWString(char *String) { strcpy(String,"RFK_"); } void CRFKReader::GetProductString(uint8_t *Product) { memcpy(Product,"CJRFK",5); } CJ_RESULT CRFKReader::CtSetBacklight(EBacklight eBacklight,uint32_t *Result) { CJ_RESULT Res; switch(eBacklight) { case BacklightOff: Res=_CtSetBacklight(0,Result); break; case BacklightVeryLow: Res=_CtSetBacklight(70,Result); break; case BacklightLow: Res=_CtSetBacklight(100,Result); break; case BacklightMedium: Res=_CtSetBacklight(120,Result); break; case BacklightHigh: Res=_CtSetBacklight(160,Result); break; case BacklightVeryHigh: Res=_CtSetBacklight(255,Result); break; default: Res=CJ_ERR_WRONG_PARAMETER; } return Res; }pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/0000755000175000001440000000000011660201014017045 5ustar sctuserspcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/Makefile.am0000644000175000001440000000116011657145411021115 0ustar sctusersINCLUDES=-I. -I.. -I$(top_srcdir)/include -I$(top_srcdir)/ctapi $(libusb_includes) $(hal_includes) AM_CFLAGS=@cyberjack_platform_def@ -DBUILDING_CYBERJACK $(visibility_cflags) AM_CPPFLAGS=@cyberjack_platform_def@ -DBUILDING_CYBERJACK $(visibility_cflags) EXTRA_DIST=usbdev_hal.c usbdev_libusb1.c noinst_LTLIBRARIES=libausb.la libausb_la_SOURCES=\ ausb_libusb0.c \ ausb_libusb1.c \ ausb.c \ ausb1.c \ ausb11.c \ ausb3.c \ ausb31.c \ usbdev.c noinst_HEADERS=\ ausb_libusb0_l.h \ ausb_libusb1_l.h \ ausb_l.h \ usbdev_l.h libausb_la_LIBADD=$(IOKIT_FRAMEWORK) $(FOUNDATION_FRAMEWORK) $(libusb_LIBS) $(hal_libs) pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/usbdev_l.h0000644000175000001440000000305011657145411021035 0ustar sctusers #ifndef USBDEV_L_H #define USBDEV_L_H #include typedef struct rsct_usbdev_t rsct_usbdev_t; struct rsct_usbdev_t { rsct_usbdev_t *next; char path[256]; char halPath[256]; char usbPath[256]; char serial[128]; uint32_t busId; uint32_t busPos; uint32_t vendorId; uint32_t productId; char productName[256]; char halUDI[256]; char deviceNodePath[256]; int port; }; #ifdef __cplusplus extern "C" { #endif int rsct_usbdev_init(); void rsct_usbdev_fini(); rsct_usbdev_t *rsct_usbdev_new(); rsct_usbdev_t *rsct_usbdev_dup(const rsct_usbdev_t *d); void rsct_usbdev_free(rsct_usbdev_t *d); void rsct_usbdev_list_add(rsct_usbdev_t **head, rsct_usbdev_t *d); void rsct_usbdev_list_unlink(rsct_usbdev_t **head, rsct_usbdev_t *d); void rsct_usbdev_list_free(rsct_usbdev_t *d); rsct_usbdev_t *rsct_usbdev_list_findByBus(rsct_usbdev_t *list, uint32_t busId, uint32_t busPos); rsct_usbdev_t *rsct_usbdev_list_findByUDI(rsct_usbdev_t *list, const char *devName); rsct_usbdev_t *rsct_usbdev_getDevByIdx(int num); rsct_usbdev_t *rsct_usbdev_getDevByBusPos(int busId, int devId); rsct_usbdev_t *rsct_usbdev_getDevByName(const char *devName); int rsct_usbdev_scan(rsct_usbdev_t **devList); int rsct_enum_serials(const char *fname); int rsct_enum_serials_with_devs(const char *fname, rsct_usbdev_t *devs); int rsct_get_serial_for_port(int port, const char *fname, char *sbuff, int blen); int rsct_get_port_for_serial(const char *fname, const char *serial); #ifdef __cplusplus } #endif #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/Makefile.in0000644000175000001440000004345611660201014021126 0ustar sctusers# Makefile.in generated by automake 1.11 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006, 2007, 2008, 2009 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@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = cjeca32/ausb DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/acx_compile_warn.m4 \ $(top_srcdir)/m4/as-scrub-include.m4 $(top_srcdir)/m4/fox.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/libxml2.m4 \ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/os.m4 $(top_srcdir)/m4/pcsc.m4 \ $(top_srcdir)/m4/searchfiles.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) am__DEPENDENCIES_1 = libausb_la_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am_libausb_la_OBJECTS = ausb_libusb0.lo ausb_libusb1.lo ausb.lo \ ausb1.lo ausb11.lo ausb3.lo ausb31.lo usbdev.lo libausb_la_OBJECTS = $(am_libausb_la_OBJECTS) DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --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 = $(libausb_la_SOURCES) DIST_SOURCES = $(libausb_la_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AS = @AS@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ COCOA_FRAMEWORK = @COCOA_FRAMEWORK@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYBERJACK_SO_AGE = @CYBERJACK_SO_AGE@ CYBERJACK_SO_CURRENT = @CYBERJACK_SO_CURRENT@ CYBERJACK_SO_EFFECTIVE = @CYBERJACK_SO_EFFECTIVE@ CYBERJACK_SO_REVISION = @CYBERJACK_SO_REVISION@ CYBERJACK_VERSION_BUILD = @CYBERJACK_VERSION_BUILD@ CYBERJACK_VERSION_FULL_STRING = @CYBERJACK_VERSION_FULL_STRING@ CYBERJACK_VERSION_MAJOR = @CYBERJACK_VERSION_MAJOR@ CYBERJACK_VERSION_MINOR = @CYBERJACK_VERSION_MINOR@ CYBERJACK_VERSION_PATCHLEVEL = @CYBERJACK_VERSION_PATCHLEVEL@ CYBERJACK_VERSION_RELEASE_STRING = @CYBERJACK_VERSION_RELEASE_STRING@ CYBERJACK_VERSION_STRING = @CYBERJACK_VERSION_STRING@ CYBERJACK_VERSION_TAG = @CYBERJACK_VERSION_TAG@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ ETC_SUBDIRS = @ETC_SUBDIRS@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ FOUNDATION_FRAMEWORK = @FOUNDATION_FRAMEWORK@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_DLL_TARGET = @INSTALL_DLL_TARGET@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ IOKIT_FRAMEWORK = @IOKIT_FRAMEWORK@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MAKE_DLL_TARGET = @MAKE_DLL_TARGET@ MKDIR_P = @MKDIR_P@ NM = @NM@ NMEDIT = @NMEDIT@ OBJC = @OBJC@ OBJCDEPMODE = @OBJCDEPMODE@ OBJCFLAGS = @OBJCFLAGS@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OSYSTEM = @OSYSTEM@ OS_TYPE = @OS_TYPE@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ 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@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ RPM_DIST_NAME = @RPM_DIST_NAME@ RPM_DIST_TAG = @RPM_DIST_TAG@ RPM_DIST_VER = @RPM_DIST_VER@ RPM_PCSC_DROPDIR = @RPM_PCSC_DROPDIR@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ STRIPALL = @STRIPALL@ SYSCONF_FRAMEWORK = @SYSCONF_FRAMEWORK@ THREAD_LIBS = @THREAD_LIBS@ UDEV_RULES_FILE = @UDEV_RULES_FILE@ USE_HOTPLUG = @USE_HOTPLUG@ USE_THREADS = @USE_THREADS@ USE_UDEV = @USE_UDEV@ VERSION = @VERSION@ 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_DUMPBIN = @ac_ct_DUMPBIN@ ac_ct_OBJC = @ac_ct_OBJC@ 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@ cyberjack_config_file = @cyberjack_config_file@ cyberjack_headerdir = @cyberjack_headerdir@ cyberjack_headerdir_am = @cyberjack_headerdir_am@ cyberjack_ifd_filename = @cyberjack_ifd_filename@ cyberjack_internal_libname = @cyberjack_internal_libname@ cyberjack_ldflags = @cyberjack_ldflags@ cyberjack_libs = @cyberjack_libs@ cyberjack_pkgincludedir = @cyberjack_pkgincludedir@ cyberjack_platform_def = @cyberjack_platform_def@ cyberjack_plugindir = @cyberjack_plugindir@ cyberjack_sys_is_windows = @cyberjack_sys_is_windows@ datadir = @datadir@ datarootdir = @datarootdir@ dl_libs = @dl_libs@ docdir = @docdir@ dvidir = @dvidir@ enable_nonserial = @enable_nonserial@ exec_prefix = @exec_prefix@ fox_includes = @fox_includes@ fox_libs = @fox_libs@ hal_CFLAGS = @hal_CFLAGS@ hal_LIBS = @hal_LIBS@ hal_includes = @hal_includes@ hal_libs = @hal_libs@ 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@ libusb_CFLAGS = @libusb_CFLAGS@ libusb_LIBS = @libusb_LIBS@ libusb_includes = @libusb_includes@ libusb_libs = @libusb_libs@ libxml2_includes = @libxml2_includes@ libxml2_libs = @libxml2_libs@ localedir = @localedir@ localstatedir = @localstatedir@ lt_ECHO = @lt_ECHO@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pcsc_includes = @pcsc_includes@ pcsc_lib = @pcsc_lib@ pcsc_libraries = @pcsc_libraries@ 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_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ usbdropdir = @usbdropdir@ visibility_cflags = @visibility_cflags@ INCLUDES = -I. -I.. -I$(top_srcdir)/include -I$(top_srcdir)/ctapi $(libusb_includes) $(hal_includes) AM_CFLAGS = @cyberjack_platform_def@ -DBUILDING_CYBERJACK $(visibility_cflags) AM_CPPFLAGS = @cyberjack_platform_def@ -DBUILDING_CYBERJACK $(visibility_cflags) EXTRA_DIST = usbdev_hal.c usbdev_libusb1.c noinst_LTLIBRARIES = libausb.la libausb_la_SOURCES = \ ausb_libusb0.c \ ausb_libusb1.c \ ausb.c \ ausb1.c \ ausb11.c \ ausb3.c \ ausb31.c \ usbdev.c noinst_HEADERS = \ ausb_libusb0_l.h \ ausb_libusb1_l.h \ ausb_l.h \ usbdev_l.h libausb_la_LIBADD = $(IOKIT_FRAMEWORK) $(FOUNDATION_FRAMEWORK) $(libusb_LIBS) $(hal_libs) all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cjeca32/ausb/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu cjeca32/ausb/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libausb.la: $(libausb_la_OBJECTS) $(libausb_la_DEPENDENCIES) $(LINK) $(libausb_la_OBJECTS) $(libausb_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ausb.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ausb1.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ausb11.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ausb3.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ausb31.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ausb_libusb0.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ausb_libusb1.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/usbdev.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) set x; \ 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) 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; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) 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) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile 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 \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags 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: pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/usbdev_libusb1.c0000644000175000001440000000631311657145411022143 0ustar sctusers#ifdef USE_USB1 #include static struct libusb_context *ausb_libusb1_context=NULL; int rsct_usbdev_init(void){ if (ausb_libusb1_context==NULL) { int rv; rv=libusb_init(&ausb_libusb1_context); if (rv) { fprintf(stderr, "RSCT: Error on libusb_init(): %d\n", rv); ausb_libusb1_context=NULL; return -1; } } return 0; } void rsct_usbdev_fini(void) { libusb_exit(ausb_libusb1_context); ausb_libusb1_context=NULL; } int rsct_usbdev_scan(rsct_usbdev_t **usbdev_list) { if (rsct_usbdev_init()) return -1; else { libusb_device **list; size_t cnt=libusb_get_device_list(ausb_libusb1_context, &list); size_t i; for (i=0; ibusId=libusb_get_bus_number(dev); d->busPos=libusb_get_device_address(dev); d->vendorId=descr.idVendor; d->productId=descr.idProduct; /* determine path for LibUSB */ snprintf(pbuff, sizeof(pbuff)-1, "/dev/bus/usb/%03d/%03d", d->busId, d->busPos); pbuff[sizeof(pbuff)-1]=0; if (stat(pbuff, &st)==0) { havePath=1; } else { snprintf(pbuff, sizeof(pbuff)-1, "/proc/bus/usb/%03d/%03d", d->busId, d->busPos); pbuff[sizeof(pbuff)-1]=0; if (stat(pbuff, &st)==0) { havePath=1; } } if (havePath) { strncpy(d->usbPath, pbuff, sizeof(d->usbPath)-1); d->usbPath[sizeof(d->usbPath)-1]=0; strncpy(d->deviceNodePath, pbuff, sizeof(d->deviceNodePath)-1); d->deviceNodePath[sizeof(d->deviceNodePath)-1]=0; } /* generate path for CTAPI/IFD */ snprintf(d->path, sizeof(d->path)-1, "usb:%04x/%04x:libusb:%03d:%03d", d->vendorId, d->productId, d->busId, d->busPos); if (1) { libusb_device_handle *dh; rv=libusb_open(dev, &dh); if (rv) { fprintf(stderr, "RSCT: Error on libusb_open: %d\n", rv); } else { /* get product string */ rv=libusb_get_string_descriptor_ascii(dh, descr.iProduct, (unsigned char*) (d->productName), sizeof(d->productName)-1); if (rv<0) { fprintf(stderr, "RSCT: Error on libusb_get_string_descriptor_ascii: %d\n", rv); d->productName[0]=0; } else { d->productName[rv]=0; } if (descr.idProduct>=0x300) { /* get serial number for newer devices */ rv=libusb_get_string_descriptor_ascii(dh, descr.iSerialNumber, (unsigned char*) (d->serial), sizeof(d->serial)-1); if (rv<0) { fprintf(stderr, "RSCT: Error on libusb_get_string_descriptor_ascii: %d\n", rv); d->serial[0]=0; } else { d->serial[rv]=0; } } libusb_close(dh); } } /* all set, add device */ rsct_usbdev_list_add(usbdev_list, d); } } else { fprintf(stderr, "RSCT: Error on libusb_get_device_descriptor: %d\n", rv); } } libusb_free_device_list(list, 1); rsct_usbdev_fini(); return 0; } } #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb_l.h0000644000175000001440000001232011657145411020477 0ustar sctusers/* USB support for the Cyberjack family of readers. * * Previous version were (C) 2004-2005 by Harald Welte * This version is a rewrite (asynchronous USB is no longer needed). * * (C) 2007 Martin Preuss * * Distributed and licensed under the terms of GNU LGPL, Version 2.1 */ #ifndef _AUSB_L_H #define _AUSB_L_H #define AUSB_CYBERJACK_VENDOR_ID 0xc4b #define AUSB_MAX_TIMEOUT 600 #ifdef ENABLE_NONSERIAL #include #include "usbdev_l.h" typedef struct ausb_dev_handle ausb_dev_handle; /* virtual functions */ typedef void (*AUSB_CLOSE_FN)(ausb_dev_handle *ah); typedef int (*AUSB_START_INTERRUPT_FN)(ausb_dev_handle *ah, int ep); typedef int (*AUSB_STOP_INTERRUPT_FN)(ausb_dev_handle *ah); typedef int (*AUSB_BULK_WRITE_FN)(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout); typedef int (*AUSB_BULK_READ_FN)(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout); typedef int (*AUSB_CLAIM_INTERFACE_FN)(ausb_dev_handle *ah, int interface); typedef int (*AUSB_RELEASE_INTERFACE_FN)(ausb_dev_handle *ah, int interface); typedef int (*AUSB_SET_CONFIGURATION_FN)(ausb_dev_handle *ah, int interface); typedef int (*AUSB_RESET_FN)(ausb_dev_handle *ah); typedef int (*AUSB_HALT_FN)(ausb_dev_handle *ah, unsigned int ep); typedef int (*AUSB_CLEAR_HALT_FN)(ausb_dev_handle *ah, unsigned int ep); typedef int (*AUSB_RESET_ENDPOINT_FN)(ausb_dev_handle *ah, unsigned int ep); typedef int (*AUSB_RESET_PIPE)(ausb_dev_handle *ah, int ep); typedef int (*AUSB_GET_KERNEL_DRIVER_NAME)(ausb_dev_handle *ah, int interface, char *name, unsigned int namelen); typedef int (*AUSB_DETACH_KERNEL_DRIVER_FN)(ausb_dev_handle *dev, int interface); typedef int (*AUSB_REATTACH_KERNEL_DRIVER_FN)(ausb_dev_handle *dev, int interface); typedef void (*AUSB_LOG_FN)(ausb_dev_handle *ah, const char *text, const void *pData, uint32_t ulDataLen); typedef void (*AUSB_CALLBACK)(const uint8_t *data, uint32_t dlength, void *userdata); /* structures */ struct ausb_callback { AUSB_CALLBACK handler; void *userdata; }; struct ausb_dev_handle { rsct_usbdev_t device; struct ausb_callback cb; void *extraData; uint16_t pid; AUSB_CLOSE_FN closeFn; AUSB_START_INTERRUPT_FN startInterruptFn; AUSB_STOP_INTERRUPT_FN stopInterruptFn; AUSB_BULK_WRITE_FN bulkWriteFn; AUSB_BULK_READ_FN bulkReadFn; AUSB_CLAIM_INTERFACE_FN claimInterfaceFn; AUSB_RELEASE_INTERFACE_FN releaseInterfaceFn; AUSB_SET_CONFIGURATION_FN setConfigurationFn; AUSB_RESET_FN resetFn; AUSB_CLEAR_HALT_FN clearHaltFn; AUSB_RESET_ENDPOINT_FN resetEndpointFn; AUSB_RESET_PIPE resetPipeFn; AUSB_GET_KERNEL_DRIVER_NAME getKernelDriverNameFn; AUSB_DETACH_KERNEL_DRIVER_FN detachKernelDriverFn; AUSB_REATTACH_KERNEL_DRIVER_FN reattachKernelDriverFn; }; #ifdef __cplusplus extern "C" { #endif /** @name Functions used commonly by all implementations */ /*@{*/ /* intitialization */ int ausb_init(void); /** * Register a callback which is called as soon as an URB request is * finished. * @param ah ausb handle obtained via @ref ausb_open * @param callback callback function to be used. This function receives a * pointer to the received interrupt data and caller-specified user data * @param userdata userdata to be passed to the callback function */ int ausb_register_callback(ausb_dev_handle *ah, AUSB_CALLBACK callback, void *userdata); int ausb_claim_interface(ausb_dev_handle *ah, int interface); int ausb_release_interface(ausb_dev_handle *ah, int interface); int ausb_set_configuration(ausb_dev_handle *dev, int configuration); int ausb_get_kernel_driver_name(ausb_dev_handle *ah, int interface, char *name, unsigned int namelen); int ausb_detach_kernel_driver(ausb_dev_handle *dev, int interface); int ausb_reattach_kernel_driver(ausb_dev_handle *dev, int interface); int ausb_reset(ausb_dev_handle *ah); int ausb_clear_halt(ausb_dev_handle *ah, unsigned int ep); int ausb_reset_endpoint(ausb_dev_handle *ah, unsigned int ep); int ausb_reset_pipe(ausb_dev_handle *ah, int ep); void ausb_set_log_fn(AUSB_LOG_FN fn); void ausb_log(ausb_dev_handle *ah, const char *text, const void *pData, uint32_t ulDataLen); /*@}*/ #ifdef USE_USB1 int ausb11_extend(ausb_dev_handle *ah); int ausb31_extend(ausb_dev_handle *ah); #else int ausb1_extend(ausb_dev_handle *ah); int ausb3_extend(ausb_dev_handle *ah); #endif /** @name Functions which are implemented differently for * different configurations. */ /*@{*/ /** * Open the given USB device. This creates the necessary * ausb handle which must be free'd when it is no longer * needed by calling @ref ausb_close. * @return ausb handle to be used by other functions in this group * @param dev usb device object obtained from libusb * */ ausb_dev_handle *ausb_open(rsct_usbdev_t *dev, int t); int ausb_close(ausb_dev_handle *ah); int ausb_start_interrupt(ausb_dev_handle *ah, int ep); int ausb_stop_interrupt(ausb_dev_handle *ah); int ausb_bulk_write(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout); int ausb_bulk_read(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout); /*@}*/ #ifdef __cplusplus } #endif #endif #endif /* _AUSB_H */ pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb_libusb1.c0000644000175000001440000000263211657145411021605 0ustar sctusers #ifdef HAVE_CONFIG_H # include #endif #ifdef USE_USB1 #include "ausb_l.h" #include "ausb_libusb1_l.h" #include #include static libusb_context *ausb_libusb1_context=NULL; int ausb_libusb1_init(void){ if (ausb_libusb1_context==NULL) { int rv; rv=libusb_init(ausb_libusb1_context); if (rv) { fprintf(stderr, "RSCT: Error on libusb_init(): %d\n", rv); ausb_libusb1_context=NULL; return -1; } } return 0; } int ausb_libusb1_fini(void){ if (ausb_libusb1_context!=NULL) { libusb_exit(ausb_libusb1_context); ausb_libusb1_context=NULL; } return 0; } libusb_device *ausb_libusb1_get_usbdev(const rsct_usbdev_t *d) { if (ausb_libusb1_init()) return NULL; else { libusb_device **list; size_t cnt=libusb_get_device_list(ausb_libusb1_context, &list); size_t i; libusb_device *dev=NULL; for (i=0; ibusId && libusb_get_device_address(dev)==d->busPos) break; } if (dev) libusb_ref_device(dev); /* free devices and unref them */ libusb_free_device_list(list, 1); return dev; } } int ausb_libusb1_handle_events(){ if (ausb_libusb1_context!=NULL) return libusb_handle_events(ausb_libusb1_context); else { fprintf(stderr, "RSCT: No USB context.}n"); return LIBUSB_ERROR_OTHER; } } #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/usbdev_hal.c0000644000175000001440000002056111657145411021347 0ustar sctusers #include #include struct RSCT_HAL_CONTEXT { DBusError dbus_error; DBusConnection *dbus_conn; LibHalContext *ctx; }; static struct RSCT_HAL_CONTEXT *global_hal_context=NULL; int rsct_usbdev_init() { if (global_hal_context==NULL) { struct RSCT_HAL_CONTEXT *uc; uc=(struct RSCT_HAL_CONTEXT*) malloc(sizeof(struct RSCT_HAL_CONTEXT)); if (uc==NULL) { fprintf(stderr, "RSCT: Memory full at rsct_usbdev_init\n"); return -1; } dbus_error_init(&(uc->dbus_error)); uc->dbus_conn=dbus_bus_get (DBUS_BUS_SYSTEM, &(uc->dbus_error)); if (dbus_error_is_set(&(uc->dbus_error))) { fprintf(stderr, "RSCT: Could not connect to system bus [%s]\n", uc->dbus_error.message); free(uc); return -1; } uc->ctx=libhal_ctx_new(); if (uc->ctx==NULL) { fprintf(stderr, "RSCT: Could not create HAL context\n"); free(uc); return -1; } libhal_ctx_set_dbus_connection(uc->ctx, uc->dbus_conn); global_hal_context=uc; } return 0; } void rsct_usbdev_fini() { if (global_hal_context) { dbus_error_free(&(global_hal_context->dbus_error)); if (global_hal_context->dbus_conn) { dbus_connection_unref(global_hal_context->dbus_conn); global_hal_context->dbus_conn = NULL; } /*libhal_ctx_shutdown(ctx, NULL);*/ libhal_ctx_free(global_hal_context->ctx); free(global_hal_context); global_hal_context=NULL; } } static int rsct_usbdev_scan_nonserial(char **devices, int i_devices, rsct_usbdev_t **usbdev_list) { int i; for (i=0; ictx, udi, &(global_hal_context->dbus_error))) { char *busType; busType=libhal_device_get_property_string(global_hal_context->ctx, udi, "info.subsystem", NULL); if (busType && (strcasecmp(busType, "usb")!=0)) { libhal_free_string(busType); busType=NULL; /* non-USB devices are handled below */ } if (busType==NULL) busType=libhal_device_get_property_string(global_hal_context->ctx, udi, "info.bus", NULL); if (busType) { if (strcasecmp(busType, "usb")==0) { /* USB device, look for LibUSB info */ if (libhal_device_property_exists(global_hal_context->ctx, udi, "usb.bus_number", NULL) && libhal_device_property_exists(global_hal_context->ctx, udi, "usb.linux.device_number", NULL)){ int busId; int busPos; int vendorId; int productId; char pbuff[256]; struct stat st; int havePath=0; busId=libhal_device_get_property_int(global_hal_context->ctx, udi, "usb.bus_number", NULL); busPos=libhal_device_get_property_int(global_hal_context->ctx, udi, "usb.linux.device_number", NULL); vendorId=libhal_device_get_property_int(global_hal_context->ctx, udi, "usb.vendor_id", NULL); productId=libhal_device_get_property_int(global_hal_context->ctx, udi, "usb.product_id", NULL); if (vendorId==0xc4b && rsct_usbdev_list_findByBus(*usbdev_list, busId, busPos)==NULL) { rsct_usbdev_t *d; char *serial=NULL; char *productName=NULL; d=rsct_usbdev_new(); d->busId=busId; d->busPos=busPos; d->vendorId=vendorId; d->productId=productId; snprintf(d->halPath, sizeof(d->halPath)-1, "usb:%04x/%04x:libhal:%s", d->vendorId, d->productId, udi); d->halPath[sizeof(d->halPath)-1]=0; /* set HAL UDI */ strncpy(d->halUDI, udi, sizeof(d->halUDI)-1); d->halUDI[sizeof(d->halUDI)-1]=0; /* determine path for LibUSB */ snprintf(pbuff, sizeof(pbuff)-1, "/dev/bus/usb/%03d/%03d", busId, busPos); pbuff[sizeof(pbuff)-1]=0; if (stat(pbuff, &st)==0) { havePath=1; } else { snprintf(pbuff, sizeof(pbuff)-1, "/proc/bus/usb/%03d/%03d", busId, busPos); pbuff[sizeof(pbuff)-1]=0; if (stat(pbuff, &st)==0) { havePath=1; } } if (havePath) { strncpy(d->usbPath, pbuff, sizeof(d->usbPath)-1); d->usbPath[sizeof(d->usbPath)-1]=0; strncpy(d->deviceNodePath, pbuff, sizeof(d->deviceNodePath)-1); d->deviceNodePath[sizeof(d->deviceNodePath)-1]=0; } /* generate path for CTAPI/IFD */ snprintf(d->path, sizeof(d->path)-1, "usb:%04x/%04x:libusb:%03d:%03d", d->vendorId, d->productId, d->busId, d->busPos); serial=libhal_device_get_property_string(global_hal_context->ctx, udi, "usb.serial", NULL); if (serial) { strncpy(d->serial, serial, sizeof(d->serial)-1); d->serial[sizeof(d->serial)-1]=0; libhal_free_string(serial); } /* get product name from parent. * Please note: This udi refers to the *_ifX HAL device, and it's product name * is the product name of the interface ("USB Vendor Specific Interface") rather than * that of the device itself. * Therefore we must access the parent in order to find the product name of the device. */ if (1) { char *parent_udi; /* ttyUSB device, get USB info from parent */ parent_udi=libhal_device_get_property_string(global_hal_context->ctx, udi, "info.parent", NULL); if (parent_udi) { productName=libhal_device_get_property_string(global_hal_context->ctx, parent_udi, "usb_device.product", NULL); libhal_free_string(parent_udi); } } if (productName) { strncpy(d->productName, productName, sizeof(d->productName)-1); d->productName[sizeof(d->productName)-1]=0; libhal_free_string(productName); } /* all set, add device */ rsct_usbdev_list_add(usbdev_list, d); } } } /* if USB */ libhal_free_string(busType); } /* if bus type */ } /* if device exists */ } /* for */ return 0; } static int rsct_usbdev_scan_serial(char **devices, int i_devices, rsct_usbdev_t **usbdev_list) { int i; for (i=0; ictx, udi, &(global_hal_context->dbus_error))) { char *busType; busType=libhal_device_get_property_string(global_hal_context->ctx, udi, "info.subsystem", NULL); if (busType==NULL) busType=libhal_device_get_property_string(global_hal_context->ctx, udi, "info.bus", NULL); if (busType) { if (strcasecmp(busType, "tty")==0) { char *parent_udi; /* ttyUSB device, get USB info from parent */ parent_udi=libhal_device_get_property_string(global_hal_context->ctx, udi, "info.parent", NULL); if (parent_udi) { rsct_usbdev_t *d; char *path; /* find device entry for parent */ d=rsct_usbdev_list_findByUDI(*usbdev_list, parent_udi); if (d) { int port; port=libhal_device_get_property_int(global_hal_context->ctx, udi, "serial.port", NULL); d->port=port; path=libhal_device_get_property_string(global_hal_context->ctx, udi, "serial.device", NULL); if (path) { strncpy(d->deviceNodePath, path, sizeof(d->deviceNodePath)-1); d->deviceNodePath[sizeof(d->deviceNodePath)-1]=0; libhal_free_string(path); } } libhal_free_string(parent_udi); } else { fprintf(stderr, "RSCT: Parent for serial device not found\n"); } } /* if tty */ libhal_free_string(busType); } /* if bus type */ } /* if device exists */ } /* for */ return 0; } int rsct_usbdev_scan(rsct_usbdev_t **usbdev_list) { int rv; rv=rsct_usbdev_init(); if (rv) return -1; else { char **devices; int i_devices; int rv; devices=libhal_get_all_devices(global_hal_context->ctx, &i_devices, &(global_hal_context->dbus_error)); if (devices==NULL) { fprintf(stderr, "RSCT: HAL not running: %s\n", global_hal_context->dbus_error.message); return -1; } if (i_devices<1) { fprintf(stderr, "RSCT: HAL returned an empty device list, this can't be right...\n"); } rv=rsct_usbdev_scan_nonserial(devices, i_devices, usbdev_list); if (rv==0) rv=rsct_usbdev_scan_serial(devices, i_devices, usbdev_list); libhal_free_string_array(devices); return rv; } return 0; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb_libusb1_l.h0000644000175000001440000000044411657145411022124 0ustar sctusers #ifndef AUSB_LIBUSB1_L_H #define AUSB_LIBUSB1_L_H #ifdef USE_USB1 #include #include "usbdev_l.h" int ausb_libusb1_init(void); int ausb_libusb1_fini(void); libusb_device *ausb_libusb1_get_usbdev(const rsct_usbdev_t *d); int ausb_libusb1_handle_events(); #endif #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb_libusb0.c0000644000175000001440000000251411657145411021603 0ustar sctusers #ifdef HAVE_CONFIG_H # include #endif #ifndef USE_USB1 #include "ausb_l.h" #include "ausb_libusb0_l.h" #include #include static int ausb_libusb0_was_init=0; int ausb_libusb0_init(void){ if (!ausb_libusb0_was_init) { usb_init(); ausb_libusb0_was_init=1; } usb_find_busses(); usb_find_devices(); return 0; } int ausb_libusb0_fini(void) { return 0; } struct usb_device *ausb_libusb0_get_usbdev(const rsct_usbdev_t *d) { struct usb_bus *busses, *bus; struct usb_device *dev; char tname[PATH_MAX+1]; char filename[PATH_MAX+1]; int nlen; ausb_libusb0_init(); snprintf(tname, PATH_MAX, "%03d/%03d", d->busId, d->busPos); nlen=strlen(tname); busses = usb_get_busses(); for (bus = busses; bus; bus = bus->next) { for (dev = bus->devices; dev; dev = dev->next) { int flen; strncpy(filename, bus->dirname, PATH_MAX ); strncat(filename, "/", PATH_MAX ); strncat(filename, dev->filename, PATH_MAX ); flen=strlen(filename); if (flen>=nlen) { if (strncmp(filename+(flen-nlen), tname, nlen)==0) { if (dev->descriptor.idVendor == AUSB_CYBERJACK_VENDOR_ID) return dev; else { fprintf(stderr, "RSCT: Device at %s is not a cyberjack\n", filename); return NULL; } } } } } return NULL; } #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb31.c0000644000175000001440000001716311657145411020335 0ustar sctusers/* USB support for the Cyberjack family of readers. * * Previous version were (C) 2004-2005 by Harald Welte * This version is a rewrite (asynchronous USB is no longer needed). * * (C) 2007 Martin Preuss * * Distributed and licensed under the terms of GNU LGPL, Version 2.1 */ /* * This implementation expects the reader to not send any interrupt URB * whatsoever (as is the case with newer firmware whose configuration 2 * does not have an interrupt pipe). * * This implementation otherwise only uses plain libusb calls so it should * work on any system for which libusb is available. */ #ifdef HAVE_CONFIG_H # include #endif #ifdef USE_USB1 #include #include #include #include #include #include #include #include #include "ausb_l.h" #include "ausb_libusb1_l.h" #define DEBUGP(ah, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, NULL, 0);\ } #define DEBUGL(ah, text, pData, ulDataLen) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: %s", __LINE__ , text); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, pData, ulDataLen);\ } struct ausb31_extra { libusb_device_handle *uh; }; typedef struct ausb31_extra ausb31_extra; static int ausb31_start_interrupt(ausb_dev_handle *ah, int ep) { ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) { int rv; DEBUGP(ah, "Halting interrupt pipe."); rv=libusb_control_transfer(xh->uh, 0x02, /* host to device */ 0x03, /* set feature */ 0x00, /* halt */ ep, /* endpoint */ NULL, 0, 1200); if (rv<0) { DEBUGP(ah, "unable to halt interrupt pipe (%d=%s)\n", errno, strerror(errno)); return -1; } return 0; } else return -1; } static int ausb31_stop_interrupt(ausb_dev_handle *ah) { return 0; } static int ausb31_bulk_write(ausb_dev_handle *ah, int ep, char *bytes, int length, int timeout){ ausb31_extra *xh; DEBUGP(ah, "bulk write (ah=%p, ep=0x%x, bytes=%p, size=%d, timeout=%d\n", ah, ep, bytes, length, timeout); xh=(ausb31_extra*)ah->extraData; if (xh) { int transferred=0; int rv; /* Ensure the endpoint address is correct */ ep &= ~LIBUSB_ENDPOINT_IN; rv=libusb_bulk_transfer(xh->uh, ep, (unsigned char*) bytes, length, &transferred, 0); if (rv) { DEBUGP(ah, "Error on libusb_bulk_transfer: %d", rv); return -1; } if (transferred!=length) { DEBUGP(ah, "not all data transferred (only %d bytes of %d)", transferred, length); return -1; } return transferred; } else return -1; } static int ausb31_bulk_read(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout){ ausb31_extra *xh; DEBUGP(ah, "bulk read (ah=%p, ep=0x%x, bytes=%p, size=%d, timeout=%d\n", ah, ep, bytes, size, timeout); xh=(ausb31_extra*)ah->extraData; if (xh) { for (;;) { int transferred=0; int rv; /* Ensure the endpoint address is correct */ ep |= LIBUSB_ENDPOINT_IN; rv=libusb_bulk_transfer(xh->uh, ep, (unsigned char*) bytes, size, &transferred, 0); if (rv) { DEBUGP(ah, "Error on libusb_bulk_transfer: %d", rv); return -1; } if (ah->pid!=0x100 && (bytes[0]==0x40 || /* RDR_TO_PC_KEYEVENT */ bytes[0]==0x50)) { /* RDR_TO_PC_NOTIFYSLOTCHANGE */ DEBUGL(ah, "Interrupt transfer received via bulk-in", bytes, rv); if (ah->cb.handler) { DEBUGP(ah, "Calling interrupt handler %p with %p", ah->cb.handler, ah->cb.userdata); ah->cb.handler((uint8_t*)bytes, transferred, ah->cb.userdata); } else { DEBUGP(ah, "No interrupt handler"); } } else { return transferred; } } } else return -1; } static int ausb31_claim_interface(ausb_dev_handle *ah, int interface){ ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) return libusb_claim_interface(xh->uh, interface); else return -1; } static int ausb31_release_interface(ausb_dev_handle *ah, int interface){ ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) return libusb_release_interface(xh->uh, interface); else return -1; } static int ausb31_set_configuration(ausb_dev_handle *ah, int configuration){ ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) { int ret; ret=libusb_set_configuration(xh->uh, configuration); if (ret<0) { DEBUGP(ah, "usb_set_configuration returned %d (errno=%d:%s)\n", ret, errno, strerror(errno)); } return ret; } else return -1; } static int ausb31_reset(ausb_dev_handle *ah){ ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) { int rv; rv=libusb_reset_device(xh->uh); if (rv==0) return rv; else if (rv==LIBUSB_ERROR_NOT_FOUND) { DEBUGP(ah, "Device is usb-wise disconnected, sleeping for 5 secs\n"); sleep(5); return 0; } else { DEBUGP(ah, "libusb_reset_device: %d\n", rv); return -1; } } else return -1; } static int ausb31_reset_endpoint(ausb_dev_handle *ah, unsigned int ep){ return 0; } static int ausb31_clear_halt(ausb_dev_handle *ah, unsigned int ep){ ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) return libusb_clear_halt(xh->uh, ep); else return -1; } static int ausb31_reset_pipe(ausb_dev_handle *ah, int ep){ ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) { int rv; rv=libusb_control_transfer(xh->uh, 0x02, /* host to device */ 0x03, /* set feature */ 0x00, /* halt */ ep, /* endpoint */ NULL, 0, 1200); if (rv<0) { DEBUGP(ah, "unable to reset endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } rv=libusb_clear_halt(xh->uh, ep); if (rv<0) { DEBUGP(ah, "unable to start endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } return rv; } else return -1; } static void ausb31_close(struct ausb_dev_handle *ah){ ausb31_extra *xh; xh=(ausb31_extra*)ah->extraData; if (xh) { libusb_close(xh->uh); free(xh); } } /* not static since this function is needed in ausb.c */ int ausb31_extend(ausb_dev_handle *ah){ struct libusb_device *dev; ausb31_extra *xh; int rv; DEBUGP(ah, "Extending AUSB handle as type 3"); xh=malloc(sizeof *xh); if (xh==0) { DEBUGP(ah, "memory full\n"); return -1; } memset(xh, 0, sizeof(*xh)); /* get libusb representation of the given device */ dev=ausb_libusb1_get_usbdev(&(ah->device)); if (dev==NULL) { DEBUGP(ah, "libusb device not found"); free(xh); return -1; } /* open the device */ rv=libusb_open(dev, &(xh->uh)); if (rv || !xh->uh) { DEBUGP(ah, "libusb_open() failed: rv\n"); free(xh); return -1; } /* done */ ah->extraData=xh; ah->closeFn=ausb31_close; ah->startInterruptFn=ausb31_start_interrupt; ah->stopInterruptFn=ausb31_stop_interrupt; ah->bulkWriteFn=ausb31_bulk_write; ah->bulkReadFn=ausb31_bulk_read; ah->claimInterfaceFn=ausb31_claim_interface; ah->releaseInterfaceFn=ausb31_release_interface; ah->setConfigurationFn=ausb31_set_configuration; ah->resetFn=ausb31_reset; ah->resetEndpointFn=ausb31_reset_endpoint; ah->clearHaltFn=ausb31_clear_halt; ah->resetPipeFn=ausb31_reset_pipe; return 0; } #endif /* ifdef USE_USB1 */ pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/usbdev.c0000644000175000001440000001504611657145411020525 0ustar sctusers #ifdef HAVE_CONFIG_H # include #endif #include "usbdev_l.h" #include #include #include #include #include #include #include /* #define DEBUG_USBDEV_C */ #define RSCT_LIST_ADD(typ, sr, head) {\ typ *curr; \ \ assert(sr); \ \ curr=*head; \ if (!curr) { \ *head=sr; \ } \ else { \ while(curr->next) { \ curr=curr->next; \ } \ curr->next=sr; \ }\ } #define RSCT_LIST_DEL(typ, sr, head) {\ typ *curr; \ \ assert(sr); \ curr=*head; \ if (curr) { \ if (curr==sr) { \ *head=curr->next; \ } \ else { \ while(curr->next!=sr) { \ curr=curr->next; \ } \ if (curr) \ curr->next=sr->next; \ } \ } \ sr->next=0;\ } #ifdef HAVE_HAL # include "usbdev_hal.c" #elif defined(USE_USB1) # include "usbdev_libusb1.c" #else # error "Neither HAL nor USB1 found!. Please install at least either of them." #endif rsct_usbdev_t *rsct_usbdev_new() { rsct_usbdev_t *d; d=(rsct_usbdev_t*) malloc(sizeof(rsct_usbdev_t)); if (d==NULL) return NULL; memset(d, 0, sizeof(rsct_usbdev_t)); d->port=-1; return d; } rsct_usbdev_t *rsct_usbdev_dup(const rsct_usbdev_t *od) { rsct_usbdev_t *d; d=rsct_usbdev_new(); *d=*od; return d; } void rsct_usbdev_free(rsct_usbdev_t *d) { if (d) { free(d); } } void rsct_usbdev_list_add(rsct_usbdev_t **h, rsct_usbdev_t *d) { RSCT_LIST_ADD(rsct_usbdev_t, d, h); } void rsct_usbdev_list_unlink(rsct_usbdev_t **h, rsct_usbdev_t *d) { RSCT_LIST_DEL(rsct_usbdev_t, d, h); } void rsct_usbdev_list_free(rsct_usbdev_t *d) { while(d) { rsct_usbdev_t *dNext; dNext=d->next; rsct_usbdev_free(d); d=dNext; } } rsct_usbdev_t *rsct_usbdev_list_findByBus(rsct_usbdev_t *head, uint32_t busId, uint32_t busPos) { rsct_usbdev_t *d; d=head; while(d) { if (d->busId==busId && d->busPos==busPos) break; d=d->next; } return d; } rsct_usbdev_t *rsct_usbdev_list_findByUDI(rsct_usbdev_t *list, const char *devName) { rsct_usbdev_t *d; d=list; while(d) { if (d->halUDI && strcasecmp(d->halUDI, devName)==0) break; d=d->next; } return d; } int rsct_get_serial_for_port(int port, const char *fname, char *sbuff, int blen) { FILE *f; f=fopen(fname, "r"); if (f==NULL) return -1; else { char lbuf[256]; int idx=1; while(!feof(f)) { int llen; lbuf[0]=0; if (0==fgets(lbuf, sizeof(lbuf), f)) { if (ferror(f)) { fprintf(stderr, "RSCT: fgets: %s\n", strerror(errno)); fclose(f); return -1; } else break; } /* remove possibly trailing CR */ llen=strlen(lbuf); if (llen && lbuf[llen-1]=='\n') lbuf[llen-1]=0; if (idx==port) { if (blen<(strlen(lbuf)+1)) { fprintf(stderr, "RSCT: Buffer too small for serial number\n"); fclose(f); return -1; } strcpy(sbuff, lbuf); fclose(f); /* success */ return 0; } idx++; } /* while !feof */ fclose(f); } /* not found */ return 1; } int rsct_get_port_for_serial(const char *fname, const char *serial) { FILE *f; f=fopen(fname, "r"); if (f==NULL) /* no port */ return 0; else { char lbuf[256]; int idx=1; while(!feof(f)) { int llen; lbuf[0]=0; if (NULL==fgets(lbuf, sizeof(lbuf), f)) { if (ferror(f)) { fprintf(stderr, "RSCT: fgets: %s\n", strerror(errno)); fclose(f); return -1; } else break; } /* remove possibly trailing CR */ llen=strlen(lbuf); if (llen && lbuf[llen-1]=='\n') lbuf[llen-1]=0; if (strcasecmp(serial, lbuf)==0) { fclose(f); /* success */ return idx; } idx++; } /* while !feof */ fclose(f); } /* not found */ return 0; } int rsct_enum_serials_with_devs(const char *fname, rsct_usbdev_t *devs) { int rv; rsct_usbdev_t *d; d=devs; while(d) { if (d->vendorId==0xc4b && d->serial[0]) { rv=rsct_get_port_for_serial(fname, d->serial); if (rv==0) { FILE *f; /* new device, serial number is unknown, add it */ f=fopen(fname, "a+"); if (f==NULL) { fprintf(stderr, "RSCT: fopen(%s): %s\n", fname, strerror(errno)); return -1; } fprintf(f, "%s\n", d->serial); if (fclose(f)) { fprintf(stderr, "RSCT: fclose(%s): %s\n", fname, strerror(errno)); return -1; } } } d=d->next; } return 0; } int rsct_enum_serials(const char *fname) { int rv; rsct_usbdev_t *devs=NULL; /* sample all devices */ rv=rsct_usbdev_scan(&devs); if (rv) { rsct_usbdev_list_free(devs); return rv; } rv=rsct_enum_serials_with_devs(fname, devs); rsct_usbdev_list_free(devs); return rv; } rsct_usbdev_t *rsct_usbdev_getDevByIdx(int num) { int rv; rsct_usbdev_t *devs=NULL; rsct_usbdev_t *d; rv=rsct_usbdev_scan(&devs); if (rv<0) { fprintf(stderr, "RSCT: Error scanning USB bus\n"); return NULL; } d=devs; while(d) { if (num--==0) break; d=d->next; } if (d) rsct_usbdev_list_unlink(&devs, d); rsct_usbdev_list_free(devs); return d; } rsct_usbdev_t *rsct_usbdev_getDevByBusPos(int busId, int devId) { int rv; rsct_usbdev_t *devs=NULL; rsct_usbdev_t *d; rv=rsct_usbdev_scan(&devs); if (rv<0) { fprintf(stderr, "RSCT: Error scanning USB bus\n"); return NULL; } d=devs; while(d) { if (d->busId==busId && d->busPos==devId) break; d=d->next; } if (d) rsct_usbdev_list_unlink(&devs, d); rsct_usbdev_list_free(devs); return d; } rsct_usbdev_t *rsct_usbdev_getDevByName(const char *devName) { int rv; rsct_usbdev_t *devs=NULL; rsct_usbdev_t *d; rv=rsct_usbdev_scan(&devs); if (rv<0) { fprintf(stderr, "RSCT: Error scanning USB bus\n"); return NULL; } d=devs; while(d) { if ((d->halPath && strcasecmp(d->halPath, devName)==0) || (d->path && strcasecmp(d->path, devName)==0)) break; d=d->next; } if (d) rsct_usbdev_list_unlink(&devs, d); rsct_usbdev_list_free(devs); return d; } pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb_libusb0_l.h0000644000175000001440000000040411657145411022117 0ustar sctusers #ifndef AUSB_LIBUSB0_L_H #define AUSB_LIBUSB0_L_H #ifndef USE_USB1 #include #include "usbdev_l.h" int ausb_libusb0_init(void); int ausb_libusb0_fini(void); struct usb_device *ausb_libusb0_get_usbdev(const rsct_usbdev_t *d); #endif #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb.c0000644000175000001440000001363311657145411020167 0ustar sctusers/* USB support for the Cyberjack family of readers. * * Previous version were (C) 2004-2005 by Harald Welte * This version is a rewrite (asynchronous USB is no longer needed). * * (C) 2007 Martin Preuss * * Distributed and licensed under the terms of GNU LGPL, Version 2.1 */ #ifdef HAVE_CONFIG_H # include #endif #include #include "ausb_l.h" #include "ausb_libusb0_l.h" #include "ausb_libusb1_l.h" #include #include #include #include #include #include #include #include #include #ifdef HAVE_HAL # include # include #endif #define DEBUGP(ah, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, NULL, 0);\ } #define DEBUGL(ah, text, pData, ulDataLen) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: %s", __LINE__ , text); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, pData, ulDataLen);\ } static AUSB_LOG_FN ausb_log_fn=NULL; void ausb_set_log_fn(AUSB_LOG_FN fn) { ausb_log_fn=fn; } void ausb_log(ausb_dev_handle *ah, const char *text, const void *pData, uint32_t ulDataLen) { if (ausb_log_fn) ausb_log_fn(ah, text, pData, ulDataLen); } int ausb_register_callback(ausb_dev_handle *ah, AUSB_CALLBACK callback, void *userdata){ DEBUGP(ah, "registering callback:%p\n", callback); ah->cb.handler=callback; ah->cb.userdata=userdata; return 0; } int ausb_claim_interface(ausb_dev_handle *ah, int interface){ DEBUGP(ah, "ausb_claim_interface\n"); if (ah->claimInterfaceFn) return ah->claimInterfaceFn(ah, interface); DEBUGP(ah, "callback for ausb_claim_interface not set\n"); return -1; } int ausb_release_interface(ausb_dev_handle *ah, int interface){ DEBUGP(ah, "ausb_release_interface\n"); if (ah->releaseInterfaceFn) return ah->releaseInterfaceFn(ah, interface); DEBUGP(ah, "callback for ausb_release_interface not set\n"); return -1; } int ausb_set_configuration(ausb_dev_handle *ah, int configuration){ DEBUGP(ah, "ausb_set_configuration\n"); if (ah->setConfigurationFn) return ah->setConfigurationFn(ah, configuration); DEBUGP(ah, "callback for ausb_set_configuration not set\n"); return -1; } ausb_dev_handle *ausb_open(rsct_usbdev_t *dev, int t) { ausb_dev_handle *ah=NULL; int rv; /*fprintf(stderr, "Opening device...\n");*/ ah=malloc(sizeof *ah); if (ah==0) { DEBUGP(ah, "memory full\n"); return 0; } memset(ah, 0, sizeof(*ah)); ah->pid=dev->productId; ah->device=*dev; switch(t) { case 1: #ifdef USE_USB1 rv=ausb11_extend(ah); #else rv=ausb1_extend(ah); #endif break; case 2: DEBUGP(ah, "This type is no longer supported.\n"); rv=-1; break; case 3: #ifdef USE_USB1 rv=ausb31_extend(ah); #else rv=ausb3_extend(ah); #endif break; default: DEBUGP(ah, "Invalid type %d\n", t); rv=-1; break; } if (rv) { DEBUGP(ah, "Could not extend as type %d (%d)\n", t, rv); free(ah); return 0; } return ah; } int ausb_close(ausb_dev_handle *ah) { DEBUGP(ah, "ausb_close\n"); if (ah->closeFn) ah->closeFn(ah); free(ah); return 0; } int ausb_start_interrupt(ausb_dev_handle *ah, int ep) { DEBUGP(ah, "ausb_start_interrupt\n"); if (ah->startInterruptFn) return ah->startInterruptFn(ah, ep); return 0; } int ausb_stop_interrupt(ausb_dev_handle *ah) { DEBUGP(ah, "ausb_stop_interrupt\n"); if (ah->stopInterruptFn) return ah->stopInterruptFn(ah); return 0; } int ausb_bulk_write(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout) { DEBUGL(ah, "Write:", bytes, size); if (ah->bulkWriteFn) return ah->bulkWriteFn(ah, ep, bytes, size, timeout); return -1; } int ausb_bulk_read(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout) { if (ah->bulkReadFn) { int rv; DEBUGP(ah, "Reading up to %d bytes", size); rv=ah->bulkReadFn(ah, ep, bytes, size, timeout); if (rv>=0) { DEBUGL(ah, "Read:", bytes, rv); } return rv; } return -1; } int ausb_reset(ausb_dev_handle *ah){ DEBUGP(ah, "ausb_reset\n"); if (ah->resetFn) return ah->resetFn(ah); else return -1; } int ausb_reset_endpoint(ausb_dev_handle *ah, unsigned int ep){ DEBUGP(ah, "ausb_reset_endpoint\n"); if (ah->resetEndpointFn) return ah->resetEndpointFn(ah, ep); else return -1; } int ausb_clear_halt(ausb_dev_handle *ah, unsigned int ep){ DEBUGP(ah, "ausb_clear_halt\n"); if (ah->clearHaltFn) return ah->clearHaltFn(ah, ep); else return -1; } int ausb_reset_pipe(ausb_dev_handle *ah, int ep){ DEBUGP(ah, "ausb_reset_pipe\n"); if (ah->resetPipeFn) return ah->resetPipeFn(ah, ep); else return -1; } int ausb_get_kernel_driver_name(ausb_dev_handle *ah, int interface, char *name, unsigned int namelen){ DEBUGP(ah, "ausb_get_kernel_driver_name\n"); if (ah->getKernelDriverNameFn) return ah->getKernelDriverNameFn(ah, interface, name, namelen); return -1; } int ausb_detach_kernel_driver(ausb_dev_handle *ah, int interface){ DEBUGP(ah, "ausb_detach_kernel_driver\n"); if (ah->detachKernelDriverFn) return ah->detachKernelDriverFn(ah, interface); return -1; } int ausb_reattach_kernel_driver(ausb_dev_handle *ah, int interface){ DEBUGP(ah, "ausb_reattach_kernel_driver\n"); if (ah->reattachKernelDriverFn) return ah->reattachKernelDriverFn(ah, interface); return -1; } int ausb_init(void) { #ifdef USE_USB1 return ausb_libusb1_init(); #else return ausb_libusb0_init(); #endif } int ausb_fini(void){ #ifdef USE_USB1 return ausb_libusb1_fini(); #else return ausb_libusb0_fini(); #endif } pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb1.c0000644000175000001440000003252111657145411020245 0ustar sctusers/* Wrapper/Extension code to libusb-0.1 to support asynchronous requests * on Linux platforns * * (C) 2004-2005 by Harald Welte * extended/modified by Martin Preuss (C) 2006,2007 * * Distributed and licensed under the terms of GNU LGPL, Version 2.1 */ #ifdef HAVE_CONFIG_H # include #endif #ifndef USE_USB1 #include #include #include #include #include #include #include #include #include #include #include #ifdef CONFIG_COMPAT #undef CONFIG_COMPAT #endif #ifndef __user # define __user #endif #include #include "ausb_l.h" #include "ausb_libusb0_l.h" #ifndef USBDEVFS_CONNECT # define USBDEVFS_CONNECT _IO('U', 23) #endif #define MAX_READ_WRITE 4096 #define CT_MAX_DEVICES 256 #define AUSB_MAX_INTURB_SIZE 256 #define DEBUGP(ah, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, NULL, 0);\ } #define DEBUGL(ah, text, pData, ulDataLen) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: %s", __LINE__ , text); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, pData, ulDataLen);\ } struct ausb1_extra { usb_dev_handle *uh; struct usbdevfs_urb intUrb; char intUrbBuffer[AUSB_MAX_INTURB_SIZE]; }; typedef struct ausb1_extra ausb1_extra; int ausb1_get_fd(ausb_dev_handle *ah) { ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) return *((int*)xh->uh); else return -1; } int ausb1_get_kernel_driver_name(ausb_dev_handle *ah, int interface, char *name, unsigned int namelen){ ausb1_extra *xh; DEBUGP(ah, "ausb_get_driver_np\n"); xh=(ausb1_extra*)ah->extraData; if (xh) { if (namelen<2) { DEBUGP(ah, "Buffer too small (%d)\n", namelen); return -1; } else { #ifdef LIBUSB_HAS_GET_DRIVER_NP int ret; ret=usb_get_driver_np(xh->uh, interface, name, namelen-1); if (ret<0) { DEBUGP(ah, "usb_get_driver_np: %d (%s)\n", errno, strerror(errno)); return 0; } else if (ret==0) { name[namelen-1]=0; return 1; } #endif } } return -1; } int ausb1_detach_kernel_driver(ausb_dev_handle *ah, int interface){ ausb1_extra *xh; DEBUGP(ah, "ausb_detach_kernel_driver_np\n"); xh=(ausb1_extra*)ah->extraData; if (xh) { #ifdef LIBUSB_HAS_DETACH_KERNEL_DRIVER_NP return usb_detach_kernel_driver_np(xh->uh, interface); #endif } return -1; } int ausb1_reattach_kernel_driver(ausb_dev_handle *ah, int interface){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) { struct usbdevfs_ioctl command; int ret; command.ifno = interface; command.ioctl_code = USBDEVFS_CONNECT; command.data = NULL; ret=ioctl(ausb1_get_fd(ah), USBDEVFS_IOCTL, &command); if (ret<0) { DEBUGP(ah, "IOCTL(USBDEVFS_CONNECT): %d (%s)\n", errno, strerror(errno)); } return ret; } return -1; } static int ausb1_claim_interface(ausb_dev_handle *ah, int interface){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) return usb_claim_interface(xh->uh, interface); else return -1; } static int ausb1_release_interface(ausb_dev_handle *ah, int interface){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) return usb_release_interface(xh->uh, interface); else return -1; } static int ausb1_set_configuration(ausb_dev_handle *ah, int configuration){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) { int ret; ret=usb_set_configuration(xh->uh, configuration); if (ret<0) { DEBUGP(ah, "usb_set_configuration returned %d (errno=%d:%s)\n", ret, errno, strerror(errno)); } return ret; } else return -1; } static int ausb1_reset(ausb_dev_handle *ah){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) return usb_reset(xh->uh); else return -1; } static int ausb1_reset_endpoint(ausb_dev_handle *ah, unsigned int ep){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) return usb_resetep(xh->uh, ep); else return -1; } static int ausb1_clear_halt(ausb_dev_handle *ah, unsigned int ep){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) return usb_clear_halt(xh->uh, ep); else return -1; } static int ausb1_reset_pipe(ausb_dev_handle *ah, int ep){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) { int rv; rv=usb_control_msg(xh->uh, 0x02, /* host to device */ 0x03, /* set feature */ 0x00, /* halt */ ep, /* endpoint */ NULL, 0, 1200); if (rv<0) { DEBUGP(ah, "unable to reset endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } rv=usb_clear_halt(xh->uh, ep); if (rv<0) { DEBUGP(ah, "unable to start endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } return rv; } else return -1; } static void ausb1_fill_bulk_urb(struct usbdevfs_urb *uurb, unsigned char endpoint, void *buffer, int buffer_length){ uurb->type=USBDEVFS_URB_TYPE_BULK; uurb->endpoint = endpoint; /* | USB_DIR_IN; */ uurb->flags = 1 ; /* USBDEVFS_URB_QUEUE_BULK; */ uurb->buffer = buffer; uurb->buffer_length = buffer_length; uurb->actual_length=0; uurb->signr = 0;; uurb->start_frame = -1; } static void ausb1_fill_int_urb(struct usbdevfs_urb *uurb, unsigned char endpoint, void *buffer, int buffer_length){ uurb->type=USBDEVFS_URB_TYPE_INTERRUPT; uurb->endpoint = endpoint; /* | USB_DIR_IN; */ uurb->flags = 0 ; /* USBDEVFS_URB_QUEUE_BULK; */ uurb->buffer = buffer; uurb->buffer_length = buffer_length; uurb->actual_length=0; uurb->signr = 0;; uurb->start_frame = -1; } static int ausb1_submit_urb(ausb_dev_handle *ah, struct usbdevfs_urb *uurb){ int ret; uurb->actual_length=0; /* save ausb_dev_handle in opaque usercontext field */ uurb->usercontext = ah; do { ret = ioctl(ausb1_get_fd(ah), USBDEVFS_SUBMITURB, uurb); } while (ret < 0 && errno == EINTR); return ret; } static int ausb1_discard_urb(ausb_dev_handle *ah, struct usbdevfs_urb *uurb){ int ret; do { ret = ioctl(ausb1_get_fd(ah), USBDEVFS_DISCARDURB, uurb); } while (ret < 0 && errno == EINTR); return ret; } static void handle_urb(struct usbdevfs_urb *uurb){ struct ausb_dev_handle *ah = uurb->usercontext; if (!ah) { DEBUGP(NULL, "cant't call handler because of a missing ah ptr\n"); return; } if (!ah->cb.handler) { DEBUGP(NULL, "received URB type %u, no handler\n", uurb->type); return; } ah->cb.handler(uurb->buffer, uurb->actual_length, ah->cb.userdata); } static int ausb1_start_interrupt(ausb_dev_handle *ah, int ep) { ausb1_extra *xh; int ret; xh=(ausb1_extra*)ah->extraData; DEBUGP(ah, "Starting interrupt pipe for endpoint %d", ep); ausb1_fill_int_urb(&xh->intUrb, ep, xh->intUrbBuffer, AUSB_MAX_INTURB_SIZE); ret=ausb1_submit_urb(ah, &xh->intUrb); if (ret<0) { DEBUGP(ah, "unable to submit interrupt urb (%d: %s)\n", errno, strerror(errno)); return -1; } /* read all pending interrupts */ DEBUGP(ah, "Clearing interrupt pipe"); for (;;) { int ret; struct usbdevfs_urb *rurb; time_t tStart; tStart=time(NULL); do { time_t tEnd; tEnd=time(NULL); if (difftime(tEnd, tStart)>10.0) { DEBUGP(ah, "Timeout while clearing interrupt pipe"); return -1; } rurb=NULL; ret = ioctl(ausb1_get_fd(ah), USBDEVFS_REAPURBNDELAY, &rurb); } while (ret < 0 && errno == EINTR); if (ret<0) { if (errno==EAGAIN) { /*fprintf(stderr, "No pending interrupt\n");*/ break; } else { DEBUGP(ah, "error getting URB [%s]\n", strerror(errno)); return -1; } } if (rurb==&xh->intUrb) { /* handle interrupt urb */ DEBUGP(ah, "answer for interrupt urb\n"); if (ausb1_submit_urb(ah, &xh->intUrb)) { DEBUGP(ah, "unable to submit interrupt urb\n"); return -1; } } else { DEBUGP(ah, "returned unknown urb %p\n", rurb); } } DEBUGP(ah, "Interrupt pipe started"); return 0; } static int ausb1_stop_interrupt(ausb_dev_handle *ah) { ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; ausb1_discard_urb(ah, &xh->intUrb); return 0; } static int ausb1_bulk_write(ausb_dev_handle *ah, int ep, char *bytes, int length, int timeout){ struct usbdevfs_bulktransfer bulk; int ret, sent = 0; ausb1_extra *xh; time_t tStart; xh=(ausb1_extra*)ah->extraData; DEBUGP(ah, "bulk write (ah=%p, ep=0x%x, bytes=%p, size=%d, timeout=%d\n", ah, ep, bytes, length, timeout); /* Ensure the endpoint address is correct */ ep &= ~USB_ENDPOINT_IN; tStart=time(NULL); do { time_t tEnd; tEnd=time(NULL); if (difftime(tEnd, tStart)>20.0) { DEBUGP(ah, "Timeout while sending data to bulkout pipe"); return -1; } bulk.ep=ep; bulk.len=length-sent; if (bulk.len>MAX_READ_WRITE) bulk.len=MAX_READ_WRITE; bulk.timeout=timeout; bulk.data=(unsigned char*)bytes+sent; ret=ioctl(ausb1_get_fd(ah), USBDEVFS_BULK, &bulk); if (ret<0) { DEBUGP(ah, "Error writing to bulk endpoint %d: %d (%s)\n", ep, errno, strerror(errno)); return ret; } sent+=ret; } while(ret>0 && sentextraData; DEBUGP(ah, "bulk read (ah=%p, ep=0x%x, bytes=%p, size=%d, timeout=%d\n", ah, ep, bytes, size, timeout); uurb=malloc(sizeof(*uurb)); if (!uurb) { DEBUGP(ah, "unable to allocate urb\n"); return -1; } ausb1_fill_bulk_urb(uurb, ep, bytes, size); if (ausb1_submit_urb(ah, uurb)) { DEBUGP(ah, "unable to submit bulk urb\n"); return -1; } tStart=time(NULL); for (;;) { do { time_t tEnd; tEnd=time(NULL); if (difftime(tEnd, tStart)>AUSB_MAX_TIMEOUT) { DEBUGP(ah, "Timeout while waiting for data on bulkin pipe"); ausb1_discard_urb(ah, uurb); return -1; } rurb=NULL; //ret = ioctl(ausb1_get_fd(ah), USBDEVFS_REAPURBNDELAY, &rurb); DEBUGP(ah, "sending ioctl...\n"); ret=ioctl(ausb1_get_fd(ah), USBDEVFS_REAPURB, &rurb); DEBUGP(ah, "sending ioctl... done (%d)\n", ret); } while (ret < 0 && (errno == EINTR || errno==EAGAIN)); if (ret<0) { DEBUGP(ah, "ioctl returned %d (errno=%d:%s)\n", ret, errno, strerror(errno)); ausb1_discard_urb(ah, uurb); return -1; } DEBUGP(ah, "ioctl returned urb %p\n", rurb); if (rurb==&xh->intUrb) { /* handle interrupt urb */ DEBUGP(ah, "answer for interrupt urb\n"); handle_urb(rurb); if (ausb1_submit_urb(ah, &xh->intUrb)) { DEBUGP(ah, "unable to submit interrupt urb\n"); return -1; } } else if (rurb==uurb) { DEBUGP(ah, "answer for bulk urb\n"); ret=rurb->actual_length; if (ah->pid!=0x100 && (bytes[0]==0x40 || /* RDR_TO_PC_KEYEVENT */ bytes[0]==0x50)) { /* RDR_TO_PC_NOTIFYSLOTCHANGE */ DEBUGP(ah, "interrupt event received via bulk-in\n"); handle_urb(rurb); ausb1_fill_bulk_urb(uurb, ep, bytes, size); if (ausb1_submit_urb(ah, uurb)) { DEBUGP(ah, "unable to submit bulk urb\n"); return -1; } } else { DEBUGP(ah, "Received %d bytes\n", ret); free(uurb); return ret; } } else { DEBUGP(ah, "returned unknown uurb %p\n", rurb); ausb1_discard_urb(ah, uurb); return -1; } } } static void ausb1_close(struct ausb_dev_handle *ah){ ausb1_extra *xh; xh=(ausb1_extra*)ah->extraData; if (xh) { usb_close(xh->uh); free(xh); } } /* not static since this function is needed in ausb.c */ int ausb1_extend(ausb_dev_handle *ah){ struct usb_device *dev; ausb1_extra *xh; xh=malloc(sizeof *xh); if (xh==0) { DEBUGP(ah, "memory full\n"); return -1; } memset(xh, 0, sizeof(*xh)); /* get libusb representation of the given device */ dev=ausb_libusb0_get_usbdev(&(ah->device)); if (dev==NULL) { DEBUGP(ah, "libusb device not found"); free(xh); return -1; } /* open the device */ xh->uh=usb_open(dev); if (!xh->uh) { DEBUGP(ah, "usb_open() failed\n"); fprintf(stderr, "usb_open() failed (%d=%s)\n", errno, strerror(errno)); free(xh); return -1; } /* done */ ah->extraData=xh; ah->closeFn=ausb1_close; ah->startInterruptFn=ausb1_start_interrupt; ah->stopInterruptFn=ausb1_stop_interrupt; ah->bulkWriteFn=ausb1_bulk_write; ah->bulkReadFn=ausb1_bulk_read; ah->claimInterfaceFn=ausb1_claim_interface; ah->releaseInterfaceFn=ausb1_release_interface; ah->setConfigurationFn=ausb1_set_configuration; ah->resetFn=ausb1_reset; ah->resetEndpointFn=ausb1_reset_endpoint; ah->clearHaltFn=ausb1_clear_halt; ah->resetPipeFn=ausb1_reset_pipe; ah->getKernelDriverNameFn=ausb1_get_kernel_driver_name; ah->detachKernelDriverFn=ausb1_detach_kernel_driver; ah->reattachKernelDriverFn=ausb1_reattach_kernel_driver; return 0; } #endif /* ifndef USE_USB1 */ pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb11.c0000644000175000001440000003077311657145411020335 0ustar sctusers/* Wrapper/Extension code to libusb-0.1 to support asynchronous requests * on Linux platforns * * (C) 2004-2005 by Harald Welte * extended/modified by Martin Preuss (C) 2006,2007 * * Distributed and licensed under the terms of GNU LGPL, Version 2.1 */ #ifdef HAVE_CONFIG_H # include #endif #ifdef USE_USB1 #include #include #include #include #include #include #include #include #include #include #include #include "ausb_l.h" #include "ausb_libusb1_l.h" #ifndef USBDEVFS_CONNECT # define USBDEVFS_CONNECT _IO('U', 23) #endif #define MAX_READ_WRITE 4096 #define CT_MAX_DEVICES 256 #define AUSB_MAX_URB_SIZE 256 #define AUSB_MAX_IRQWAIT 10 #define DEBUGP(ah, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, NULL, 0);\ } #define DEBUGL(ah, text, pData, ulDataLen) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: %s", __LINE__ , text); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, pData, ulDataLen);\ } struct ausb11_extra { libusb_device_handle *uh; struct libusb_transfer *intUrb; struct libusb_transfer *bulkinUrb; int ioError; int intCounter; int dontFree; unsigned char intUrbBuffer[AUSB_MAX_URB_SIZE]; unsigned char bulkinUrbBuffer[AUSB_MAX_URB_SIZE]; }; typedef struct ausb11_extra ausb11_extra; int ausb11_get_kernel_driver_name(ausb_dev_handle *ah, int interface, char *name, unsigned int namelen){ ausb11_extra *xh; DEBUGP(ah, "ausb_get_driver_np\n"); xh=(ausb11_extra*)ah->extraData; if (xh) { if (namelen<1 || name==NULL) { fprintf(stderr, "RSCT: no name buffer on ausb11_get_kernel_driver_name\n"); return -1; } if (libusb_kernel_driver_active(xh->uh, interface)) { strncpy(name, "cyberjack", namelen-1); name[namelen-1]=0; return 1; } else { name[0]=0; return 0; } } return -1; } int ausb11_detach_kernel_driver(ausb_dev_handle *ah, int interface){ ausb11_extra *xh; DEBUGP(ah, "ausb_detach_kernel_driver_np\n"); xh=(ausb11_extra*)ah->extraData; if (xh) { return libusb_detach_kernel_driver(xh->uh, interface); } return -1; } int ausb11_reattach_kernel_driver(ausb_dev_handle *ah, int interface){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) return libusb_attach_kernel_driver(xh->uh, interface); return -1; } static int ausb11_claim_interface(ausb_dev_handle *ah, int interface){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) return libusb_claim_interface(xh->uh, interface); else return -1; } static int ausb11_release_interface(ausb_dev_handle *ah, int interface){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) return libusb_release_interface(xh->uh, interface); else return -1; } static int ausb11_set_configuration(ausb_dev_handle *ah, int configuration){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) { int ret; ret=libusb_set_configuration(xh->uh, configuration); if (ret<0) { DEBUGP(ah, "usb_set_configuration returned %d (errno=%d:%s)\n", ret, errno, strerror(errno)); } return ret; } else return -1; } static int ausb11_reset(ausb_dev_handle *ah){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) { int rv; xh->ioError=0; rv=libusb_reset_device(xh->uh); if (rv==0) return rv; else if (rv==LIBUSB_ERROR_NOT_FOUND) { DEBUGP(ah, "Device is usb-wise disconnected, sleeping for 5 secs\n"); sleep(5); return 0; } else { DEBUGP(ah, "libusb_reset_device: %d\n", rv); return -1; } } else return -1; } static int ausb11_reset_endpoint(ausb_dev_handle *ah, unsigned int ep){ return 0; } static int ausb11_clear_halt(ausb_dev_handle *ah, unsigned int ep){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) { if (xh->ioError) { DEBUGP(ah, "Previous IO error, aborting clear_halt"); return -1; } else return libusb_clear_halt(xh->uh, ep); } else return -1; } static int ausb11_reset_pipe(ausb_dev_handle *ah, int ep){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) { if (xh->ioError) { DEBUGP(ah, "Previous IO error, aborting."); return -1; } else { int rv; rv=libusb_control_transfer(xh->uh, 0x02, /* host to device */ 0x03, /* set feature */ 0x00, /* halt */ ep, /* endpoint */ NULL, 0, 1200); if (rv<0) { DEBUGP(ah, "unable to reset endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } rv=libusb_clear_halt(xh->uh, ep); if (rv<0) { DEBUGP(ah, "unable to clear halt on endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } return rv; } } else return -1; } static void ausb11_int_callback(struct libusb_transfer *xfer) { ausb_dev_handle *ah; ausb11_extra *xh; ah=(ausb_dev_handle *) xfer->user_data; if (!ah) { DEBUGP(NULL, "cant't call handler because of a missing ah ptr\n"); return; } DEBUGP(ah, "received interrupt URB\n"); xh=(ausb11_extra*)ah->extraData; if (xh) { int ret; xh->intCounter++; if (!ah->cb.handler) { DEBUGP(NULL, "received interrupt URB, no handler\n"); return; } switch(xfer->status) { case LIBUSB_TRANSFER_COMPLETED: ah->cb.handler(xfer->buffer, xfer->actual_length, ah->cb.userdata); break; case LIBUSB_TRANSFER_ERROR: DEBUGP(ah, "Interrupt transfer status: Error"); break; case LIBUSB_TRANSFER_TIMED_OUT: DEBUGP(ah, "Interrupt transfer status: Timed out"); break; case LIBUSB_TRANSFER_CANCELLED: DEBUGP(ah, "Interrupt transfer status: Cancelled (not issueing new URB)"); return; case LIBUSB_TRANSFER_STALL: DEBUGP(ah, "Interrupt transfer status: HALT condition detected (not issueing new URB)"); return; case LIBUSB_TRANSFER_NO_DEVICE: DEBUGP(ah, "Interrupt transfer status: Device lost (not issueing new URB)"); return; case LIBUSB_TRANSFER_OVERFLOW: DEBUGP(ah, "Interrupt transfer status: Overflow"); break; default: DEBUGP(ah, "Interrupt transfer status: Unknown (%d)", xfer->status); break; } /* re-submit interrupt transfer */ ret=libusb_submit_transfer(xh->intUrb); if (ret) { DEBUGP(ah, "Error on libusb_submit_transfer: %d\n", ret); } } } static int ausb11_start_interrupt(ausb_dev_handle *ah, int ep) { ausb11_extra *xh; int ret; xh=(ausb11_extra*)ah->extraData; DEBUGP(ah, "Starting interrupt pipe for endpoint %d", ep); if (xh->intUrb==NULL) { xh->intUrb=libusb_alloc_transfer(0); libusb_fill_interrupt_transfer(xh->intUrb, xh->uh, ep, xh->intUrbBuffer, sizeof(xh->intUrbBuffer)-1, ausb11_int_callback, (void*) ah, 0); /* timeout [ms], 0=wait forever */ } ret=libusb_submit_transfer(xh->intUrb); if (ret) { DEBUGP(ah, "Error on libusb_submit_transfer: %d\n", ret); return -1; } DEBUGP(ah, "Interrupt pipe started"); return 0; } static int ausb11_stop_interrupt(ausb_dev_handle *ah) { ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh->intUrb) { int rv; xh->intCounter=0; rv=libusb_cancel_transfer(xh->intUrb); if (rv) { DEBUGP(ah, "Error on cancel_transfer: %d", rv); } else { int triesLeft=AUSB_MAX_IRQWAIT; /* wait for interrupt request to finish */ DEBUGP(ah, "Waiting for cancellation of interrupt request to finish..."); while(triesLeft && xh->intCounter==0) { rv=ausb_libusb1_handle_events(); if (rv) { DEBUGP(ah, "Error on handle_events (%d)", rv); return rv; } triesLeft--; } DEBUGP(ah, "Tries left while waiting for URB to return: %d out of %d", triesLeft, AUSB_MAX_IRQWAIT); if (triesLeft<1) { /* we risk memory leaks on purpose here, because it is better * to leak a few bytes here than to make the application crash later * because the interrupt handler doesn't find its buffer */ DEBUGP(ah, "Interrupt URB did not return, this can't be good..."); /* don't free here */ xh->intUrb=NULL; xh->dontFree=1; } } } return 0; } static int ausb11_bulk_write(ausb_dev_handle *ah, int ep, char *bytes, int length, int timeout){ ausb11_extra *xh; DEBUGP(ah, "bulk write (ah=%p, ep=0x%x, bytes=%p, size=%d, timeout=%d\n", ah, ep, bytes, length, timeout); xh=(ausb11_extra*)ah->extraData; if (xh) { if (xh->ioError) { DEBUGP(ah, "Previous IO error, aborting transfer"); return -1; } else { int l; int noDataFlag=0; l=length; while(l) { int transferred=0; int rv; /* Ensure the endpoint address is correct */ ep &= ~LIBUSB_ENDPOINT_IN; rv=libusb_bulk_transfer(xh->uh, ep, (unsigned char*) bytes, length, &transferred, 0); if (rv && rv!=LIBUSB_ERROR_TIMEOUT) { DEBUGP(ah, "Error on libusb_bulk_transfer: %d", rv); xh->ioError=rv; return -1; } if (transferred==0) { if (noDataFlag) { DEBUGP(ah, "no data transferred, aborting"); return -1; } else { DEBUGP(ah, "no data transferred, trying again"); noDataFlag++; } } l-=transferred; bytes+=transferred; if (l>0) { DEBUGP(ah, "not all data transferred (only %d bytes of %d)", transferred, length); } } return length; } } else return -1; } static int ausb11_bulk_read(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout){ ausb11_extra *xh; DEBUGP(ah, "bulk read (ah=%p, ep=0x%x, bytes=%p, size=%d, timeout=%d\n", ah, ep, bytes, size, timeout); xh=(ausb11_extra*)ah->extraData; if (xh) { if (xh->ioError) { DEBUGP(ah, "Previous IO error, aborting transfer"); return -1; } else { int transferred=0; int rv; /* Ensure the endpoint address is correct */ ep |= LIBUSB_ENDPOINT_IN; rv=libusb_bulk_transfer(xh->uh, ep, (unsigned char*) bytes, size, &transferred, 0); if (rv) { DEBUGP(ah, "Error on libusb_bulk_transfer: %d", rv); xh->ioError=rv; return -1; } if (ah->pid!=0x100 && (bytes[0]==0x40 || /* RDR_TO_PC_KEYEVENT */ bytes[0]==0x50)) { /* RDR_TO_PC_NOTIFYSLOTCHANGE */ DEBUGP(ah, "interrupt event received via bulk-in\n"); // TODO } return transferred; } } else return -1; } static void ausb11_close(struct ausb_dev_handle *ah){ ausb11_extra *xh; xh=(ausb11_extra*)ah->extraData; if (xh) { if (xh->intUrb) { libusb_free_transfer(xh->intUrb); xh->intUrb=NULL; } if (xh->bulkinUrb) { libusb_free_transfer(xh->bulkinUrb); xh->bulkinUrb=NULL; } libusb_close(xh->uh); if (xh->dontFree==0) /* only free not prohibited (see ausb11_stop_interrupt) */ free(xh); } } /* not static since this function is needed in ausb.c */ int ausb11_extend(ausb_dev_handle *ah){ int rv; libusb_device *dev; ausb11_extra *xh; xh=malloc(sizeof *xh); if (xh==0) { DEBUGP(ah, "memory full\n"); return -1; } memset(xh, 0, sizeof(*xh)); /* get libusb representation of the given device */ dev=ausb_libusb1_get_usbdev(&(ah->device)); if (dev==NULL) { DEBUGP(ah, "libusb device not found"); free(xh); return -1; } /* open the device */ rv=libusb_open(dev, &(xh->uh)); if (rv || !xh->uh) { DEBUGP(ah, "libusb_open() failed: rv\n"); free(xh); return -1; } /* done */ ah->extraData=xh; ah->closeFn=ausb11_close; ah->startInterruptFn=ausb11_start_interrupt; ah->stopInterruptFn=ausb11_stop_interrupt; ah->bulkWriteFn=ausb11_bulk_write; ah->bulkReadFn=ausb11_bulk_read; ah->claimInterfaceFn=ausb11_claim_interface; ah->releaseInterfaceFn=ausb11_release_interface; ah->setConfigurationFn=ausb11_set_configuration; ah->resetFn=ausb11_reset; ah->resetEndpointFn=ausb11_reset_endpoint; ah->clearHaltFn=ausb11_clear_halt; ah->resetPipeFn=ausb11_reset_pipe; ah->getKernelDriverNameFn=ausb11_get_kernel_driver_name; ah->detachKernelDriverFn=ausb11_detach_kernel_driver; ah->reattachKernelDriverFn=ausb11_reattach_kernel_driver; return 0; } #endif /* ifdef USE_USB1 */ pcsc-cyberjack-3.99.5final.SP03/cjeca32/ausb/ausb3.c0000644000175000001440000001613011657145411020245 0ustar sctusers/* USB support for the Cyberjack family of readers. * * Previous version were (C) 2004-2005 by Harald Welte * This version is a rewrite (asynchronous USB is no longer needed). * * (C) 2007 Martin Preuss * * Distributed and licensed under the terms of GNU LGPL, Version 2.1 */ /* * This implementation expects the reader to not send any interrupt URB * whatsoever (as is the case with newer firmware whose configuration 2 * does not have an interrupt pipe). * * This implementation otherwise only uses plain libusb calls so it should * work on any system for which libusb is available. */ #ifdef HAVE_CONFIG_H # include #endif #ifndef USE_USB1 #include #include #include #include #include #include #include #include #include "ausb_l.h" #include "ausb_libusb0_l.h" #define DEBUGP(ah, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, NULL, 0);\ } #define DEBUGL(ah, text, pData, ulDataLen) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: %s", __LINE__ , text); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ ausb_log(ah, dbg_buffer, pData, ulDataLen);\ } struct ausb3_extra { usb_dev_handle *uh; }; typedef struct ausb3_extra ausb3_extra; static int ausb3_start_interrupt(ausb_dev_handle *ah, int ep) { ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) { int rv; DEBUGP(ah, "Halting interrupt pipe."); rv=usb_control_msg(xh->uh, 0x02, /* host to device */ 0x03, /* set feature */ 0x00, /* halt */ ep, /* endpoint */ NULL, 0, 1200); if (rv<0) { DEBUGP(ah, "unable to halt interrupt pipe (%d=%s)\n", errno, strerror(errno)); return -1; } return 0; } else return -1; } static int ausb3_stop_interrupt(ausb_dev_handle *ah) { return 0; } static int ausb3_bulk_write(ausb_dev_handle *ah, int ep, char *bytes, int length, int timeout){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) { int rv; time_t tStart; tStart=time(NULL); do { time_t tEnd; tEnd=time(NULL); if (difftime(tEnd, tStart)>20.0) { DEBUGP(ah, "Timeout while sending data to bulkout pipe"); return -1; } rv=usb_bulk_write(xh->uh, ep, bytes, length, timeout); } while (rv < 0 && errno == EINTR); return rv; } else return -1; } static int ausb3_bulk_read(ausb_dev_handle *ah, int ep, char *bytes, int size, int timeout){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) { int rv; time_t tStart; tStart=time(NULL); for (;;) { do { time_t tEnd; tEnd=time(NULL); if (difftime(tEnd, tStart)>AUSB_MAX_TIMEOUT) { DEBUGP(ah, "Timeout while waiting for data on bulkin pipe"); return -1; } rv=usb_bulk_read(xh->uh, ep, bytes, size, timeout); } while (rv < 0 && errno == EINTR); if (rv>=1) { if (bytes[0]==0x40 || /* RDR_TO_PC_KEYEVENT */ bytes[0]==0x50) { /* RDR_TO_PC_NOTIFYSLOTCHANGE */ DEBUGL(ah, "Interrupt URB received", bytes, rv); if (ah->cb.handler) { DEBUGP(ah, "Calling interrupt handler %p with %p", ah->cb.handler, ah->cb.userdata); ah->cb.handler((uint8_t*)bytes, rv, ah->cb.userdata); DEBUGP(ah, "Calling interrupt handler: done"); } else { DEBUGP(ah, "No interrupt handler"); } } else break; } else break; } return rv; } else return -1; } static int ausb3_claim_interface(ausb_dev_handle *ah, int interface){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) return usb_claim_interface(xh->uh, interface); else return -1; } static int ausb3_release_interface(ausb_dev_handle *ah, int interface){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) return usb_release_interface(xh->uh, interface); else return -1; } static int ausb3_set_configuration(ausb_dev_handle *ah, int configuration){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) { int ret; ret=usb_set_configuration(xh->uh, configuration); if (ret<0) { DEBUGP(ah, "usb_set_configuration returned %d (errno=%d:%s)\n", ret, errno, strerror(errno)); } return ret; } else return -1; } static int ausb3_reset(ausb_dev_handle *ah){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) return usb_reset(xh->uh); else return -1; } static int ausb3_reset_endpoint(ausb_dev_handle *ah, unsigned int ep){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) return usb_resetep(xh->uh, ep); else return -1; } static int ausb3_clear_halt(ausb_dev_handle *ah, unsigned int ep){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) return usb_clear_halt(xh->uh, ep); else return -1; } static int ausb3_reset_pipe(ausb_dev_handle *ah, int ep){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) { int rv; rv=usb_control_msg(xh->uh, 0x02, /* host to device */ 0x03, /* set feature */ 0x00, /* halt */ ep, /* endpoint */ NULL, 0, 1200); if (rv<0) { DEBUGP(ah, "unable to reset endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } rv=usb_clear_halt(xh->uh, ep); if (rv<0) { DEBUGP(ah, "unable to start endpoint %d (%d=%s)",ep, errno, strerror(errno)); return rv; } return rv; } else return -1; } static void ausb3_close(struct ausb_dev_handle *ah){ ausb3_extra *xh; xh=(ausb3_extra*)ah->extraData; if (xh) { usb_close(xh->uh); free(xh); } } /* not static since this function is needed in ausb.c */ int ausb3_extend(ausb_dev_handle *ah){ struct usb_device *dev; ausb3_extra *xh; DEBUGP(ah, "Extending AUSB handle as type 3"); xh=malloc(sizeof *xh); if (xh==0) { DEBUGP(ah, "memory full\n"); return -1; } memset(xh, 0, sizeof(*xh)); /* get libusb representation of the given device */ dev=ausb_libusb0_get_usbdev(&(ah->device)); if (dev==NULL) { DEBUGP(ah, "libusb device not found"); free(xh); return -1; } /* open the device */ xh->uh=usb_open(dev); if (!xh->uh) { DEBUGP(ah, "usb_open() failed\n"); fprintf(stderr, "usb_open() failed (%d=%s)\n", errno, strerror(errno)); free(xh); return -1; } /* done */ ah->extraData=xh; ah->closeFn=ausb3_close; ah->startInterruptFn=ausb3_start_interrupt; ah->stopInterruptFn=ausb3_stop_interrupt; ah->bulkWriteFn=ausb3_bulk_write; ah->bulkReadFn=ausb3_bulk_read; ah->claimInterfaceFn=ausb3_claim_interface; ah->releaseInterfaceFn=ausb3_release_interface; ah->setConfigurationFn=ausb3_set_configuration; ah->resetFn=ausb3_reset; ah->resetEndpointFn=ausb3_reset_endpoint; ah->clearHaltFn=ausb3_clear_halt; ah->resetPipeFn=ausb3_reset_pipe; return 0; } #endif /* ifndef USE_USB1 */ pcsc-cyberjack-3.99.5final.SP03/cjeca32/cjeca32.cpp0000644000175000001440000000026611657145411020053 0ustar sctusers// cjeca32.cpp : Definiert den Einstiegspunkt fr die DLL-Anwendung. // #include "Platform.h" #include "cjeca32.h" // Dies ist das Beispiel einer exportierten Variable. pcsc-cyberjack-3.99.5final.SP03/cjeca32/RSCTCriticalSection.cpp0000644000175000001440000000235711657145411022417 0ustar sctusers#include "Platform.h" #include "RSCTCriticalSection.h" #ifdef _WINDOWS CRSCTCriticalSection::CRSCTCriticalSection(void) { InitializeCriticalSection(&m_hCritSec); } CRSCTCriticalSection::~CRSCTCriticalSection(void) { DeleteCriticalSection(&m_hCritSec); } void CRSCTCriticalSection::Enter(void) { EnterCriticalSection(&m_hCritSec); } void CRSCTCriticalSection::Leave(void) { LeaveCriticalSection(&m_hCritSec); } #elif defined(OS_LINUX) CRSCTCriticalSection::CRSCTCriticalSection(void){ } CRSCTCriticalSection::~CRSCTCriticalSection(void){ } void CRSCTCriticalSection::Enter(void){ } void CRSCTCriticalSection::Leave(void){ } #elif defined(OS_DARWIN) CRSCTCriticalSection::CRSCTCriticalSection(void) //: m_CriticalRegionID(NULL) { // MPCreateCriticalRegion(&m_CriticalRegionID); } CRSCTCriticalSection::~CRSCTCriticalSection(void) { // MPDeleteCriticalRegion(m_CriticalRegionID); // m_CriticalRegionID = NULL; } void CRSCTCriticalSection::Enter(void) { // if ( m_CriticalRegionID ) MPEnterCriticalRegion(m_CriticalRegionID, 0x7FFFFFFF); } void CRSCTCriticalSection::Leave(void) { // if ( m_CriticalRegionID ) MPExitCriticalRegion(m_CriticalRegionID); } #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/BaseTranslater.cpp0000644000175000001440000000032011657145411021542 0ustar sctusers#include "Platform.h" #include "BaseTranslater.h" CBaseTranslater::CBaseTranslater(CBaseCommunication *Communicator) { m_Communicator=Communicator; } CBaseTranslater::~CBaseTranslater(void) { } pcsc-cyberjack-3.99.5final.SP03/cjeca32/USBUnix.cpp0000644000175000001440000002325111657145411020135 0ustar sctusers/*************************************************************************** begin : Wed Apr 18 2007 copyright : (C) 2007-2010 by Martin Preuss email : martin@libchipcard.de *************************************************************************** * * * This library is free software; you can redistribute it and/or * * modify it under the terms of the GNU Lesser General Public * * License as published by the Free Software Foundation; either * * version 2.1 of the License, or (at your option) any later version. * * * * This library is distributed in the hope that it will be useful, * * but WITHOUT ANY WARRANTY; without even the implied warranty of * * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * * Lesser General Public License for more details. * * * * You should have received a copy of the GNU Lesser General Public * * License along with this library; if not, write to the Free Software * * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * * MA 02111-1307 USA * * * ***************************************************************************/ #ifdef HAVE_CONFIG_H # include #endif #ifdef ENABLE_NONSERIAL #include "Platform.h" #include #include #include #include #include #include "USBUnix.h" #include "ausb_l.h" #include "ECAReader.h" #include "ECBReader.h" #include "ECRReader.h" #include "ECPReader.h" #include "SECReader.h" #include "ECFReader.h" #include "ECFReader.h" #include "EFBReader.h" #define USB_TIMEOUT 10000000 #define USB_READ_TIMEOUT (USB_TIMEOUT*120) #define USB_WRITE_TIMEOUT USB_TIMEOUT #define DEBUGP(devName, debug_mask, format, ...) {\ char dbg_buffer[256]; \ \ snprintf(dbg_buffer, sizeof(dbg_buffer)-1,\ __FILE__":%5d: " format , __LINE__ , ##__VA_ARGS__); \ dbg_buffer[sizeof(dbg_buffer)-1]=0; \ Debug.Out(devName, debug_mask, dbg_buffer,0,0); \ } static void logAusb(ausb_dev_handle *ah, const char *text, const void *pData, uint32_t ulDataLen) { rsct_debug_out("", DEBUG_MASK_COMMUNICATION_IN, (char*)text, (char*)pData, ulDataLen); } extern "C" { void usb_callback(const uint8_t *data, uint32_t dlength, void *userdata) { CUSBUnix *com; com=(CUSBUnix*) userdata; com->usbCallback(data, dlength); } } char *CUSBUnix::createDeviceName(int num) { rsct_usbdev_t *dev; char *p; /* get device */ dev=rsct_usbdev_getDevByIdx(num); if (dev==NULL) { Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Device not found",0,0); return NULL; } if (dev->path) p=strdup(dev->path); else if (dev->halPath) p=strdup(dev->halPath); else p=NULL; rsct_usbdev_free(dev); return p; } char *CUSBUnix::createDeviceName(int busId, int devId) { rsct_usbdev_t *dev; char *p; /* get device */ dev=rsct_usbdev_getDevByBusPos(busId, devId); if (dev==NULL) { Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Device not found",0,0); return NULL; } if (dev->path) p=strdup(dev->path); else if (dev->halPath) p=strdup(dev->halPath); else p=NULL; rsct_usbdev_free(dev); return p; } CUSBUnix::CUSBUnix(const char *cDeviceName,CReader *Owner) :CBaseCommunication(cDeviceName, Owner) ,m_refcounter(1) ,m_devHandle(NULL) ,m_bulkIn(0) ,m_bulkOut(0) ,m_intPipe(0) { /* set log function */ ausb_set_log_fn(logAusb); } CUSBUnix::~CUSBUnix(void) { m_refcounter=0; Close(); } int CUSBUnix::Write(void *Message, uint32_t len) { int rv; rv=CBaseCommunication::Write(Message,len); if (rv==CJ_SUCCESS) { rv=ausb_bulk_write(m_devHandle, m_bulkOut, (char*) Message, len, USB_WRITE_TIMEOUT); if (rv<0) { Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Error on write",0,0); Close(); return CJ_ERR_DEVICE_LOST; } return CJ_SUCCESS; } else return rv; } int CUSBUnix::Read(void *Response, uint32_t *ResponseLen) { int rv; rv=ausb_bulk_read(m_devHandle, m_bulkIn, (char*)Response, *ResponseLen, USB_READ_TIMEOUT); if (rv<0) { Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Error on read",0,0); Close(); return CJ_ERR_DEVICE_LOST; } *ResponseLen=rv; return CBaseCommunication::Read(Response, ResponseLen); } CBaseReader *CUSBUnix::BuildReaderObject() { rsct_usbdev_t *dev; dev=rsct_usbdev_getDevByName(m_cDeviceName); if (dev==NULL) { Debug.Out(m_cDeviceName,DEBUG_MASK_COMMUNICATION_ERROR,"Device not found",0,0); return NULL; } if (dev->vendorId==AUSB_CYBERJACK_VENDOR_ID) { CBaseReader *r; DEBUGP(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Product: %s", dev->productName); /* use the same constructor for every platform, so that we only need to adjust the list * of known readers in a single place: BaseCommunication.cpp */ r=_buildUsbReaderObject(dev->productId, (const char*)(dev->productName)); rsct_usbdev_free(dev); return r; } else { Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device is not a cyberjack",0,0); return NULL; } } void CUSBUnix::SetCommunicationString(cj_ReaderInfo *ReaderInfo) { ReaderInfo->PID=m_pid; memcpy(ReaderInfo->CommunicationString, "USB", 4); memcpy(ReaderInfo->VendorString, "REINER SCT", 11); memcpy(ReaderInfo->ProductString, m_productString.c_str(),m_productString.length()); ReaderInfo->ContentsMask= RSCT_READER_MASK_PID | RSCT_READER_MASK_VENDOR_STRING | RSCT_READER_MASK_PRODUCT_STRING | RSCT_READER_MASK_COM_TYPE; } bool CUSBUnix::IsConnected() { return (m_devHandle!=NULL); } int CUSBUnix::Open() { rsct_usbdev_t *dev; int nConfig=0; int usbMode=1; int rv; m_bulkIn=0; m_bulkOut=0; m_intPipe=0; /* get device */ dev=rsct_usbdev_getDevByName(m_cDeviceName); if (dev==NULL) { Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Device not found",0,0); return 0; } /* get addresses of bulk endpoints */ nConfig=0; switch(dev->productId) { case 0x300: Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Using USB implementation 1", 0, 0); usbMode=1; m_bulkOut=0x04; m_bulkIn=0x85; m_intPipe=0x81; break; case 0x400: Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Using USB implementation 3", 0, 0); usbMode=3; m_bulkOut=0x02; m_bulkIn=0x81; m_intPipe=0x83; break; case 0x401: Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Using USB implementation 3", 0, 0); usbMode=3; m_bulkOut=0x02; m_bulkIn=0x82; m_intPipe=0x81; break; default: Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Using USB implementation 1", 0, 0); usbMode=1; m_bulkOut=0x02; m_bulkIn=0x81; m_intPipe=0x83; } /* ok, we have all, open the device */ m_devHandle=ausb_open(dev, usbMode); if (m_devHandle==NULL) { Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Unable to open device",0,0); return 0; } /* set configuration, this syncs driver and device */ rv=ausb_set_configuration(m_devHandle, 1); if (rv) { Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Unable to set configuration",0,0); ausb_close(m_devHandle); m_devHandle=NULL; return 0; } Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Claim interface", 0, 0); rv=ausb_claim_interface(m_devHandle, 0); if (rv<0) { Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Still unable to claim interface",0,0); ausb_close(m_devHandle); m_devHandle=NULL; return 0; } /* This will synchronize the toggle bit */ // ausb_reset_pipe(m_devHandle, m_bulkOut); // ausb_reset_pipe(m_devHandle, m_bulkIn); //fprintf(stderr, "register callback handler\n"); ausb_register_callback(m_devHandle, usb_callback, (void*)this); //fprintf(stderr, "start interrupt\n"); if (ausb_start_interrupt(m_devHandle, m_intPipe)) { Debug.Out("", DEBUG_MASK_COMMUNICATION_ERROR, "Unable to start receiving interrupts",0,0); ausb_close(m_devHandle); m_devHandle=NULL; return 0; } //fprintf(stderr, "device open.\n"); return 1; } void CUSBUnix::Close() { //fprintf(stderr, "Closing communication\n"); if (m_devHandle==NULL) { Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "Device not open",0,0); } else { ausb_stop_interrupt(m_devHandle); #if 0 ausb_reset(m_devHandle); #endif ausb_release_interface(m_devHandle, 0); ausb_close(m_devHandle); m_devHandle=NULL; } } int CUSBUnix::StartInterruptPipe() { return 0; } int CUSBUnix::HaltInterruptPipe() { return 0; } void CUSBUnix::usbCallback(const uint8_t *data, uint32_t dlength) { DEBUGP(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INT, "USB Interrupt received: %d bytes", dlength); if (m_Reader) { Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_INT, "Calling device interrupt handler", (uint8_t*)data, dlength); m_Reader->DoInterruptCallback((uint8_t*)data, dlength); } else { Debug.Out(m_cDeviceName, DEBUG_MASK_COMMUNICATION_ERROR, "No reader",0,0); } } #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/CPTReader.h0000644000175000001440000000151411660154635020056 0ustar sctusers#ifndef CPTREADER_H #define CPTREADER_H #include "EC30Reader.h" class CCPTReader : public CEC30Reader { public: CCPTReader(CReader *Owner,CBaseCommunication *Communicator); virtual ~CCPTReader(void); virtual CJ_RESULT CtSetContrast(EContrast eContrast,uint32_t *Result); protected: virtual uint16_t HostToReaderShort(uint16_t Value); virtual uint32_t HostToReaderLong(uint32_t Value); virtual void SetHWString(char *String); virtual void GetProductString(uint8_t *Product); virtual bool HastModulestoreInfo(); virtual CJ_RESULT CtSetBacklight(EBacklight eBacklight,uint32_t *Result); virtual CJ_RESULT CtSetSilentMode(bool boolMode,bool *pboolMode,uint32_t *Result); virtual CJ_RESULT CtGetSilentMode(bool *pboolMode,uint32_t *Result); virtual CJ_RESULT SpecialLess3_0_41(); virtual bool PinDirectSupported(); }; #endif pcsc-cyberjack-3.99.5final.SP03/cjeca32/CCIDReader.cpp0000644000175000001440000023337511660154710020473 0ustar sctusers#include "Platform.h" #include "CCIDReader.h" #include "Reader.h" #include "BaseCommunication.h" #include #include #include "memory_placements.h" #define base CBaseReader using namespace std; CCCIDReader::CCCIDReader(CReader *Owner,CBaseCommunication *Communicator) :CBaseReader(Owner,Communicator) ,cmd_buffer(NULL) ,cmd_buffer_len(0) ,ifd_in_buffer(NULL) ,ifd_in_buffer_len(0) ,m_SequenceNo(0) { } CCCIDReader::~CCCIDReader(void) { if(cmd_buffer_len>0) delete [] cmd_buffer; if(ifd_in_buffer_len>0) delete [] ifd_in_buffer; } #ifdef IT_TEST2 int CCCIDReader::Transfer(CCID_Message *Message, CCID_Response *Response) { int Res; CCID_Message InternalMessage; CCID_Response InternalResponse; CheckReaderDependend(*Message); memset(&InternalMessage,0,sizeof(InternalMessage)); InternalMessage.bMessageType=PC_TO_RDR_GETSLOTSTATUS; InternalMessage.bSeq=m_SequenceNo+1; memset(&InternalResponse,0,sizeof(InternalResponse)); uint32_t Length=Message->dwLength; Message->bSeq=m_SequenceNo; /* if(Message->bMessageType==PC_TO_RDR_ESCAPE && Message->dwLength>12) { if(Message->Data.Escape.Reader.EC30.dwApplication==0x55555555 && Message->Data.Escape.Reader.EC30.wFunction==0) { uint16_t lFilter=(uint16_t)((((uint16_t)Message->Data.Escape.Reader.EC30.Data.abDate[0])<<8)+((uint16_t)Message->Data.Escape.Reader.EC30.Data.abDate[1]))); uint16_t lMatch =(uint16_t)((((uint16_t)Message->Data.Escape.Reader.EC30.Data.abDate[1])<<8)+((uint16_t)Message->Data.Escape.Reader.EC30.Data.abDate[3]))); uint16_t lPost=(uint16_t)((((uint16_t)Message->Data.Escape.Reader.EC30.Data.abDate[2])<<8)+((uint16_t)Message->Data.Escape.Reader.EC30.Data.abDate[5]))); if(Message->dwLength==12+lFilter+lMatch+lPost) { if(lFilter>m_lFilter) { if(m_lFilter) { delete[] m_bFilter; m_lFilter=0; } m_bFilter=new uint16_t[ } } }*/ #ifdef IT_TEST if(Message->bMessageType!=PC_TO_RDR_SECURE) #endif Message->bSlot=0; if(!m_pCommunicator) return CJ_ERR_DEVICE_LOST; Message->dwLength=HostToReaderLong(Length); if((Res=Write(Message,10+Length))!=CJ_SUCCESS) { return Res; } if(Message->bMessageType==PC_TO_RDR_SECURE) { if((Res=Write(&InternalMessage,10))!=CJ_SUCCESS) { return Res; } } Length=sizeof(CCID_Response); if((Res=m_pCommunicator->Read(Response,&Length))!=CJ_SUCCESS) { return Res; } if(Message->bMessageType==PC_TO_RDR_SECURE) { uint32_t L=sizeof(InternalResponse); if((Res=m_pCommunicator->Read(&InternalResponse,&L))!=CJ_SUCCESS) { return Res; } } if(m_SequenceNo!=Response->bSeq) { return CJ_ERR_SEQ; } if((Response->bStatus & 3)!=0) { m_ActiveProtocol=0; m_ATR_Length=0; } if((Response->bStatus & 3)==2) m_ReaderState=SCARD_ABSENT; m_SequenceNo++; if(Message->bMessageType==PC_TO_RDR_SECURE) m_SequenceNo++; Response->dwLength=ReaderToHostLong(Response->dwLength); return CJ_SUCCESS; } #else int CCCIDReader::Transfer(CCID_Message *Message, CCID_Response *Response) { int Res; uint32_t Length; CheckReaderDepended(*Message); Length=Message->dwLength; Message->bSeq=m_SequenceNo; #ifdef IT_TEST if(Message->bMessageType!=PC_TO_RDR_SECURE) #endif Message->bSlot=0; if(!m_pCommunicator) return CJ_ERR_DEVICE_LOST; Message->dwLength=HostToReaderLong(Length); if((Res=Write(Message,10+Length))!=CJ_SUCCESS) { return Res; } do { Length=sizeof(CCID_Response); if((Res=m_pCommunicator->Read(Response,&Length))!=CJ_SUCCESS) { return Res; } while(m_SequenceNo!=Response->bSeq) { Length=sizeof(CCID_Response); if((Res=m_pCommunicator->Read(Response,&Length))!=CJ_SUCCESS) return CJ_ERR_SEQ; } }while(Message->bMessageType==PC_TO_RDR_XFRBLOCK && Response->bMessageType==RDR_TO_PC_DATABLOCK && Response->bStatus==0x80 && Response->dwLength==0 && Length==10); if((Response->bStatus & 3)!=0) { m_ActiveProtocol=0; m_ATR_Length=0; } if((Response->bStatus & 3)==2) m_ReaderState=SCARD_ABSENT; m_SequenceNo++; Response->dwLength=ReaderToHostLong(Response->dwLength); return CJ_SUCCESS; } #endif void CCCIDReader::DoInterruptCallback(uint8_t *Data,uint32_t ulDataLen) { if(ulDataLen==2) { m_CriticalCallback.Enter(); switch(Data[0]) { case RDR_TO_PC_NOTIFYSLOTCHANGE: if(Data[1] & 1) m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_INT,"NOTIFY: Slotstatus changed -- Inserted"); else m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_INT,"NOTIFY: Slotstatus changed -- Removed"); if(m_ChangeIntCallback!=NULL) m_ChangeIntCallback(m_ChangeCallbackCtx,Data[1] & 1); break; case RDR_TO_PC_KEYEVENT: m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_INT,"NOTIFY: Key event"); if(m_KeyIntCallback!=NULL) m_KeyIntCallback(m_KeyCallbackCtx,Data[1]); break; default: m_Owner->DebugLeveled(DEBUG_MASK_COMMUNICATION_INT | DEBUG_MASK_COMMUNICATION_ERROR,"Unknown Interrupt"); } m_CriticalCallback.Leave(); } } RSCT_IFD_RESULT CCCIDReader::IfdGetState(uint32_t *State) { CCID_Message Message; CCID_Response Response; memset(&Message,0,sizeof(Message)); *State=SCARD_UNKNOWN; Message.bMessageType=PC_TO_RDR_GETSLOTSTATUS; if(Transfer(&Message,&Response)==CJ_SUCCESS) { if(Response.bMessageType!=RDR_TO_PC_SLOTSTATUS) return STATUS_SUCCESS; switch(Response.bStatus & 3) { case 0: *State=m_ReaderState; break; case 1: *State=SCARD_SWALLOWED; m_ReaderState=SCARD_SWALLOWED; break; default: *State=SCARD_ABSENT; m_ReaderState=SCARD_ABSENT; } } else return STATUS_DEVICE_NOT_CONNECTED; return STATUS_SUCCESS; } RSCT_IFD_RESULT CCCIDReader::IfdSetProtocol(uint32_t *pProtocol) { CCID_Message Message; CCID_Response Response; memset(&Message,0,sizeof(Message)); uint32_t Protocol=*pProtocol; *pProtocol=0; Message.bMessageType=PC_TO_RDR_SETPARAMETERS; if(m_ReaderState==SCARD_ABSENT) return STATUS_NO_MEDIA; if(m_ReaderState==SCARD_NEGOTIABLE) { char bufferTA1[128]; char bufferTC1[128]; char bufferc[3]; if(m_ATR[0]==0xff || (m_ATR[0] & 0xf0)==0x80) { *pProtocol=SCARD_PROTOCOL_RAW; return STATUS_SUCCESS; } sprintf(bufferTA1,"ReplaceTA1_%02X",(int)m_TA1); strcpy(bufferTC1,"ReplaceTC1_"); for(unsigned int i=0;i0) delete cmd_buffer; cmd_buffer_len=lenc+4096; cmd_buffer=new uint8_t[cmd_buffer_len]; if(cmd_buffer==NULL) return -11; } memcpy(cmd_buffer,cmd,lenc); return _CtData(sad,dad,cmd_buffer,lenc,response,lenr); } bool CCCIDReader::CopyIfdInput(const uint8_t *Input,uint32_t Length) { if(ifd_in_buffer_len0) delete ifd_in_buffer; ifd_in_buffer_len=Length+4096; ifd_in_buffer=new uint8_t[ifd_in_buffer_len]; if(ifd_in_buffer==NULL) ifd_in_buffer_len=0; } if(ifd_in_buffer) memcpy(ifd_in_buffer,Input,Length); return (ifd_in_buffer==NULL); } bool CCCIDReader::IsClass3(void) { return false; } void CCCIDReader::TransformText(uint8_t *tag,int len) { while(len) { len--; if(*tag=='\r') *tag='\n'; tag++; } } CJ_RESULT CCCIDReader::cjOutput(uint8_t timeout,uint8_t *tag50,int tag50len) { return CJ_SUCCESS; } CJ_RESULT CCCIDReader::KTLightCall(uint8_t *sad,uint8_t *dad,uint8_t *cmd, uint16_t lenc,int32_t Lc,uint8_t *data_ptr,int32_t Le,uint8_t *response,uint16_t *lenr) { *sad=2; *dad=2; *lenr=2; memcpy(response,"\x6d\x00",2); return CJ_SUCCESS; } char CCCIDReader::_CtData(uint8_t *sad,uint8_t *dad,uint8_t *cmd, uint16_t lenc,uint8_t *response,uint16_t *lenr) { uint8_t *data_ptr=NULL; int32_t Lc=-1; int32_t Le=-1; if(*dad==1 && *sad==2) { if(*lenr<2) { *lenr=0; return -11; } if(lenc==5) { Le=cmd[4]; } else if(lenc==5+cmd[4]) { Lc=cmd[4]; data_ptr=cmd+5; #if defined(_LINUX) /* bugfix 20071018 MPreuss: in case of REQUEST_ICC it is ok to omit Le in APDU */ if (cmd[0]==0x20 && cmd[1]==0x12) Le=0; #endif } else if(lenc==6+cmd[4] && cmd[4]!=0) { Lc=cmd[4]; data_ptr=cmd+5; Le=cmd[lenc-1]; } else if(lenc>=7 && cmd[4]==0) { if(lenc==7) { Le=((int32_t)cmd[5]<<8)+cmd[6]; } else if(lenc==7+((uint32_t)cmd[5]<<8)+cmd[6]) { Lc=((int32_t)cmd[5]<<8)+cmd[6]; data_ptr=cmd+7; } else if(lenc==9+((uint32_t)cmd[5]<<8)+cmd[6] && (cmd[5]!=0 || cmd[6]!=0)) { Lc=((int32_t)cmd[5]<<8)+cmd[6]; data_ptr=cmd+7; Le=((int32_t)cmd[lenc-2]<<8)+cmd[lenc-1]; } else { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } } else if(lenc!=4) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } *dad=2; *sad=1; if(cmd[0]==0x00) { if(cmd[1]==0xa4) { if(cmd[2]!=0 || cmd[3]!=0) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(Lc!=2) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(memcmp(data_ptr,"\x3f\x00",2)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_path,cmd+5,2); m_reader_path_len=2; memset(m_reader_file,0,2); memcpy(response,"\x00\x2d\x00\x2d\x88\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x00\x20",2)==0 && m_reader_path_len==2 && memcmp(m_reader_path,"\x3f\x00",2)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_file,cmd+5,2); memcpy(response,"\x00\x0e\x00\x0e\x08\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x7f\x60",2)==0 && m_reader_path_len==2 && memcmp(m_reader_path,"\x3f\x00",2)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_path+2,cmd+5,2); m_reader_path_len=4; memset(m_reader_file,0,2); memcpy(response,"\x00\x05\x00\x05\x88\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x60\x20",2)==0 && m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7F\x60",4)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_file,cmd+5,2); memcpy(response,"\x00\x10\x00\x10\x08\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x60\x21",2)==0 && m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7F\x60",4)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_file,cmd+5,2); memcpy(response,"\x00\x10\x00\x10\x08\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x60\x30",2)==0 && m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7F\x60",4)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_file,cmd+5,2); memcpy(response,"\x00\x04\x00\x04\x08\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x60\x31",2)==0 && m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7F\x60",4)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_file,cmd+5,2); memcpy(response,"\x00\x03\x00\x03\x08\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x7f\x70",2)==0 && m_reader_path_len==2 && memcmp(m_reader_path,"\x3f\x00",2)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_path+2,cmd+5,2); m_reader_path_len=4; memset(m_reader_file,0,2); memcpy(response,"\x00\x19\x00\x19\x88\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x70\x20",2)==0 && m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7F\x70",4)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_file,cmd+5,2); memcpy(response,"\x00\x0f\x00\x0f\x08\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } if(memcmp(data_ptr,"\x70\x21",2)==0 && m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7F\x70",4)==0) { if(*lenr<12) { return -11; } memcpy(m_reader_file,cmd+5,2); memcpy(response,"\x00\x10\x00\x10\x08\x00\x00\x00\x00\x00\x90\x00",12); *lenr=12; return 0; } response[0]=0x6A; response[1]=0x82; *lenr=2; return 0; } else if(cmd[1]==0xb0) { if(m_reader_path_len==2 && memcmp(m_reader_path,"\x3f\x00",2)==0 && memcmp(m_reader_file,"\x00\x20",2)==0) { if(*lenr<16) return -11; memcpy(response,"\x01\x05\x43\x4a\x50\x50\x41\x02\01\00\x03\x02\x20\x00\x90\x00",16); *lenr=16; return 0; } if(m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7f\x60",4)==0 && memcmp(m_reader_file,"\x60\x20",2)==0) { if(*lenr<18) return -11; memcpy(response,"\x03\x02\x20\x00\x10\x01\x00\x11\x01\x00\x12\x01\x00\x13\x01\x00\x90\x00",18); *lenr=18; return 0; } if(m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7f\x60",4)==0 && memcmp(m_reader_file,"\x60\x21",2)==0) { if(*lenr<18) return -11; memcpy(response,"\x03\x02\x20\x00\x10\x01\x00\x11\x01\x00\x12\x01\x00\x13\x01\x00\x90\x00",18); *lenr=18; return 0; } if(m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7f\x60",4)==0 && memcmp(m_reader_file,"\x60\x30",2)==0) { if(*lenr<6) return -11; memcpy(response,"\x30\x02\x01\x03\x90\x00",6); *lenr=6; return 0; } if(m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7f\x60",4)==0 && memcmp(m_reader_file,"\x60\x31",2)==0) { if(*lenr<5) return -11; memcpy(response,"\x30\x01\xff\x90\x00",5); *lenr=5; return 0; } if(m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7f\x70",4)==0 && memcmp(m_reader_file,"\x70\x20",2)==0) { if(*lenr<17) return -11; memcpy(response,"\x03\x02\x20\x00\x20\x01\x81\x22\x06\01\x02\x03\x80\x81\x82\x90\x00",17); *lenr=17; return 0; } if(m_reader_path_len==4 && memcmp(m_reader_path,"\x3f\x00\x7f\x70",4)==0 && memcmp(m_reader_file,"\x70\x21",2)==0) { if(*lenr<18) return -11; memcpy(response,"\x03\x02\x20\x00\x21\x02\x01\x89\x22\x06\01\x02\x03\x80\x81\x82\x90\x00",17); *lenr=18; return 0; } response[0]=0x69; response[1]=0x82; *lenr=2; return 0; } else { response[0]=0x6D; response[1]=0x00; *lenr=2; return 0; } } else if(cmd[0]==0x20) { if(cmd[1]==0x10) /*B1*/ { if(cmd[2]>1 || cmd[2]==0 && cmd[3]!=0 || cmd[2]==1 && cmd[3]>2) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } /* FIX 2007/11/29: Seems like this expression is incorrect, at least it deviates from "0x20, 0x11" */ /*if(cmd[2]==1 && cmd[3]>0 || Lc!=-1 || Le!=0)*/ if(cmd[2]==1 && cmd[3]>0 && (Lc!=-1 || Le!=0)) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } IfdPower(SCARD_POWER_DOWN,0,0); if(cmd[2]==0x01) { uint8_t atr[250]; uint8_t historical[15]; uint8_t hist_len=sizeof(historical); uint8_t atr_len=(uint8_t)sizeof(atr); switch(ctBcsReset(atr,&atr_len,historical,&hist_len,0)) { case CJ_SUCCESS: if(cmd[3]==0) { if(atr[0]==0x3b || atr[0]==0x3f) { response[0]=0x90; response[1]=0x01; } else { response[0]=0x90; response[1]=0x00; } *lenr=2; } else if(cmd[3]==1) { if(atr_len+2>*lenr) { IfdPower(SCARD_POWER_DOWN,0,0); return -11; } else { memcpy(response,atr,atr_len); if(atr[0]==0x3b || atr[0]==0x3f) { response[atr_len]=0x90; response[atr_len+1]=0x01; } else { response[atr_len]=0x90; response[atr_len+1]=0x00; } *lenr=(uint16_t)(atr_len+2); } } else { if(hist_len+2>*lenr) { IfdPower(SCARD_POWER_DOWN,0,0); *lenr=0; return -11; } else { memcpy(response,historical,hist_len); if(atr[0]==0x3b || atr[0]==0x3f) { response[hist_len]=0x90; response[hist_len+1]=0x01; } else { response[hist_len]=0x90; response[hist_len+1]=0x00; } *lenr=(uint16_t)(hist_len+2); } } return 0; case CJ_ERR_PARITY: case CJ_ERR_TIMEOUT: case CJ_ERR_PROT: response[0]=0x64; response[1]=0x00; *lenr=2; return 0; case CJ_ERR_NO_ICC: response[0]=0x64; response[1]=0xA1; *lenr=2; return 0; default: IfdPower(SCARD_POWER_DOWN,0,0); return -128; } } else { response[0]=0x90; response[1]=0x00; *lenr=2; return 0; } } else if(cmd[1]==0x11) { if(cmd[2]>1 || cmd[2]==0 && cmd[3]!=0 || cmd[2]==1 && cmd[3]>2) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(cmd[2]==1 && cmd[3]>0 && (Lc!=-1 || Le!=0)) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } IfdPower(SCARD_POWER_DOWN,0,0); //IfdPower(SCARD_POWER_DOWN,0,0); // Sleep(3000); if(cmd[2]==0x01) { uint8_t atr[250]; uint8_t historical[15]; uint8_t hist_len=sizeof(historical); uint8_t atr_len=(uint8_t)sizeof(atr); switch(ctBcsReset(atr,&atr_len,historical,&hist_len,0)) { case CJ_SUCCESS: if(cmd[3]==0) { if(atr[0]==0x3b || atr[0]==0x3f) { response[0]=0x90; response[1]=0x01; } else { response[0]=0x90; response[1]=0x00; } *lenr=2; } else if(cmd[3]==1) { if(atr_len+2>*lenr) { IfdPower(SCARD_POWER_DOWN,0,0); *lenr=0; return -11; } else { memcpy(response,atr,atr_len); if(atr[0]==0x3b || atr[0]==0x3f) { response[atr_len]=0x90; response[atr_len+1]=0x01; } else { response[atr_len]=0x90; response[atr_len+1]=0x00; } *lenr=(uint16_t)(atr_len+2); } } else { if(hist_len+2>*lenr) { IfdPower(SCARD_POWER_DOWN,0,0); *lenr=0; return -11; } else { memcpy(response,historical,hist_len); if(atr[0]==0x3b || atr[0]==0x3f) { response[hist_len]=0x90; response[hist_len+1]=0x01; } else { response[hist_len]=0x90; response[hist_len+1]=0x00; } *lenr=(uint16_t)(hist_len+2); } } return 0; case CJ_ERR_PARITY: case CJ_ERR_TIMEOUT: case CJ_ERR_PROT: response[0]=0x64; response[1]=0x00; *lenr=2; return 0; case CJ_ERR_NO_ICC: response[0]=0x64; response[1]=0xA1; *lenr=2; return 0; default: IfdPower(SCARD_POWER_DOWN,0,0); return -128; } } else { response[0]=0x90; response[1]=0x00; *lenr=2; return 0; } } else if(cmd[1]==0x12) { uint32_t State; int Timeout=0; cmd[3]&=0x0f; if(cmd[2]!=1 || cmd[3]>2) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(cmd[3]>0 && (Le!=0)) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(IfdGetState(&State)==STATUS_DEVICE_NOT_CONNECTED) { *lenr=0; return -128; } if(State==SCARD_SPECIFIC) { response[0]=0x62; response[1]=0x01; *lenr=2; return 0; } if(Lc!=-1) { uint8_t *tag80; int taglen; if((tag80=GetTag(data_ptr,Lc,0x80,&taglen))!=NULL || Lc==1) { if(Lc==1) Timeout=data_ptr[0]; else { if(taglen!=1) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } Timeout=*tag80; } } } { uint8_t atr[250]; uint8_t historical[15]; uint8_t hist_len=sizeof(historical); uint8_t atr_len=(uint8_t)sizeof(atr); Timeout*=1000; switch(ctBcsReset(atr,&atr_len,historical,&hist_len,0,Timeout)) { case CJ_SUCCESS: if(cmd[3]==0) { if(atr[0]==0x3b || atr[0]==0x3f) { response[0]=0x90; response[1]=0x01; } else { response[0]=0x90; response[1]=0x00; } *lenr=2; } else if(cmd[3]==1) { if(atr_len+2>*lenr) { IfdPower(SCARD_POWER_DOWN,0,0); return -11; } else { memcpy(response,atr,atr_len); if(atr[0]==0x3b || atr[0]==0x3f) { response[atr_len]=0x90; response[atr_len+1]=0x01; } else { response[atr_len]=0x90; response[atr_len+1]=0x00; } *lenr=(uint16_t)(atr_len+2); } } else { if(hist_len+2>*lenr) { IfdPower(SCARD_POWER_DOWN,0,0); return -11; } else { memcpy(response,historical,hist_len); if(atr[0]==0x3b || atr[0]==0x3f) { response[hist_len]=0x90; response[hist_len+1]=0x01; } else { response[hist_len]=0x90; response[hist_len+1]=0x00; } *lenr=(uint16_t)(hist_len+2); } } return 0; case CJ_ERR_PARITY: case CJ_ERR_TIMEOUT: case CJ_ERR_PROT: response[0]=0x64; response[1]=0x00; *lenr=2; return 0; case CJ_ERR_PIN_CANCELED: response[0]=0x64; response[1]=0x01; *lenr=2; return 0; case CJ_ERR_NO_ICC: response[0]=0x62; response[1]=0x00; *lenr=2; return 0; default: IfdPower(SCARD_POWER_DOWN,0,0); *lenr=0; return -128; } } } else if(cmd[1]==0x13) { if(lenc==4 && cmd[2]==0x01 && cmd[3]==0x00) { if(*lenr<8) { *lenr=0; return -11; } response[0] = 0x71; response[1] = 0x01; response[2] = 0x00; response[3] = 0x72; response[4] = 0x01; switch(m_ActiveProtocol) { case SCARD_PROTOCOL_T0: response[5]=0; break; case SCARD_PROTOCOL_T1: response[5]=1; break; default: response[5]=0; } response[6] = 0x90; response[7] = 0x00; *lenr=8; return 0; } else if(Lc!=-1 || Le!=0) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(cmd[2]>1 || (cmd[2]==0 && cmd[3]!=0x46 && cmd[3]!=0x80 && cmd[3]!=0x81) || (cmd[2]==1 && cmd[3]!=0x80)) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(cmd[3]==0x80) { uint32_t State; if(*lenr<5) { *lenr=0; return -11; } response[0]=0x80; response[1]=1; if(IfdGetState(&State)==STATUS_DEVICE_NOT_CONNECTED) { *lenr=0; return -128; } switch(State) { case SCARD_SPECIFIC: case SCARD_NEGOTIABLE: response[2]=0x05; break; case SCARD_SWALLOWED: response[2]=0x03; break; case SCARD_ABSENT: response[2]=0x00; break; default: *lenr=0; return -128; } response[3]=0x90; response[4]=0x00; *lenr=5; } else if(cmd[3]==0x81) { uint8_t r[15]; int len=0; r[0]=0x81; if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC1) { len++; r[len+1]=1; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC2) { len++; r[len+1]=2; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC3) { len++; r[len+1]=3; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC4) { len++; r[len+1]=4; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC5) { len++; r[len+1]=5; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC6) { len++; r[len+1]=6; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC7) { len++; r[len+1]=7; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_ICC8) { len++; r[len+1]=8; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_KEYPAD) { len++; r[len+1]=0x40; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_KEYPAD) { len++; r[len+1]=0x50; } if(m_ReaderInfo.HardwareMask & RSCT_READER_HARDWARE_MASK_BIOMETRIC) { len++; r[len+1]=0x70; } r[1]=(uint8_t )len; r[len+2]=0x90; r[len+3]=0x00; if(*lenr>4),(int)(m_ReaderInfo.Version & 0x0f)); else sprintf((char *)(response+12)," V%1d.%1d",(int)(2),(int)(0)); if(IsClass3() && *lenr>=29) { memcpy(response+17,"; Rev. ",7); sprintf((char *)(response+24),"%3d",(int)Info->Revision); response[1]=25; response[27]=0x90; response[28]=0x00; *lenr=29; } else { response[1]=15; response[17]=0x90; response[18]=0x00; *lenr=19; } } return 0; } else if(cmd[1]==0x14) { if(Lc!=-1 || Le!=0) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(cmd[2]!=1 || cmd[3]!=0) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(IfdPower(SCARD_POWER_DOWN,0,0)!=STATUS_SUCCESS) return -10; if(m_ReaderState!=SCARD_ABSENT) { response[0]=0x90; response[1]=0x00; } else { response[0]=0x64; response[1]=0xA1; } *lenr=2; return 0; } else if(cmd[1]==0x15) { if(cmd[2]!=1) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(lenc!=4 && (Lc==-1 || Le!=-1)) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(IfdPower(SCARD_POWER_DOWN,0,0)!=STATUS_SUCCESS) return -10; if((cmd[3]&0x04)!=0x04 && lenc>4) { uint8_t *tag80; int taglen; int Timeout=0; uint32_t State; if((tag80=GetTag(data_ptr,Lc,0x80,&taglen))!=NULL || Lc==1) { if(Lc==1) Timeout=data_ptr[0]; else { if(taglen!=1) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } Timeout=*tag80; } Timeout*=1000; if(IfdPower(SCARD_POWER_DOWN,0,0,Timeout)!=STATUS_SUCCESS) return -10; if(IfdGetState(&State)==STATUS_DEVICE_NOT_CONNECTED) return -10; if(State==SCARD_ABSENT) { response[0]=0x90; response[1]=0x01; } else { response[0]=0x62; response[1]=0x00; } } else { response[0]=0x90; response[1]=0x00; } } else { response[0]=0x90; response[1]=0x00; } *lenr=2; return 0; } else if(cmd[1]==0x16 && IsClass2() && (!IsClass3() || FindModule(MODULE_ID_MKT_COMP))) { int charlen; uint8_t timeout=15; uint8_t *tag80; uint8_t *tag50; int taglen; int taglen50; int i,j; uint8_t buffer[256]; uint8_t text[256]; uint8_t key; fctKeyIntCallback merkcallback; ctxPtr Context; if(Le==-1) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(cmd[2]!=0x50 || (cmd[3]&0x0f)>0x02 || (cmd[3]&0xf0)>0x10 || (cmd[3]&0xf0)==0x10 && Le!=01) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } merkcallback=m_KeyIntCallback; Context=m_KeyCallbackCtx; SetKeyInterruptCallback(NULL,NULL); if(Lc!=-1 && ((tag80=GetTag(data_ptr,Lc,0x80,&taglen))!=NULL || Lc==1)) { if(Lc==1) timeout=data_ptr[0]; else { if(taglen!=1) { response[0]=0x67; response[1]=0x00; *lenr=2; SetKeyInterruptCallback(merkcallback,Context); return 0; } timeout=*tag80; } } charlen=Le; if(charlen==0) charlen=256; tag50=GetTag(data_ptr,Lc,0x50,&taglen50); if(tag50) { TransformText(tag50,taglen50); } for(i=0;i>4; if(tag80[1]>5) PinPosition=tag80[1]-6; else { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(taglen==6) { buffer[4]=0; taglen++; } else { if(PinPosition>taglen-7) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } } switch(tag80[0] & 3) { case 0: PinType=1; if(taglen==7) { if(PinLength==0) { Min=1; Max=30; Condition=2; PinLength=15; buffer[4]=0; outlen=5; } else { Min=PinLength; Max=PinLength; PinLength=PinLength/2+(PinLength & 1); Condition=1; //memset(buffer+5,0xff,PinLength); outlen=5; buffer[4]=0; } } else { if(PinLength==0) { Min=1; Max=30; Condition=2; PinLength=15; outlen=(taglen-2); buffer[4]=0; } else { /* if(PinLength/2+(PinLength & 1)+PinPosition>taglen-7) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; }*/ Min=PinLength; Max=PinLength; PinLength=PinLength/2+(PinLength & 1); Condition=1; buffer[4]=0; outlen=taglen-2; } } break; case 1: PinType=2; if(taglen==7) { if(PinLength==0) { Min=1; Max=15; Condition=2; PinLength=15; outlen=5; } else { Min=PinLength; Max=PinLength; Condition=1; outlen=5; } } else { if(PinLength==0) { Min=1; Max=15; Condition=2; PinLength=15; buffer[4]=0; outlen=(taglen-2); } else { Min=PinLength; Max=PinLength; Condition=1; buffer[4]=0; outlen=taglen-2; } } break; case 2: PinType=1; PinLengthPosition=4; PinLengthSize=4; PinPosition++; if(PinPosition>1) { use_MV=1; } if(buffer[4]12) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } PinLength=7; Condition=1; } break; default: response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } Prologue[0]=0; /* if(((cjccidHANDLE)hDevice)->PCB_seq&0x01) Prologue[1]=0x40; else Prologue[1]=0; Prologue[2]=outlen;*/ inlen=sizeof(rbuffer); if((tag51=GetTag(data_ptr,Lc,0x51,&taglen))!=NULL) { if(taglen==2) { if(tag51[0]>=4 || (tag80[0] & 3)!=2) Min=tag51[0]; if(tag51[1]>=Min) Max=tag51[1]; if(Max>12 && (tag80[0] & 3)==2) { Max=12; } } } tag50[0]=GetTag(data_ptr,Lc,0x50,&(taglen50[0])); if(tag50[0]) { TextCount=3; TransformText(tag50[0],taglen50[0]); btaglen50[2]=btaglen50[1]=btaglen50[0]=(uint8_t)taglen50[0]; tag50[2]=tag50[1]=tag50[0]; } tag53=GetTag(data_ptr,Lc,0x53,&taglen53); if(tag53) { if(taglen53==1) { bMessageIndex=tag53[0]; bMessageArray[1]=tag53[0]; } } if(use_MV) bNumberMessage=0xff; else bNumberMessage=0x01; tag54=GetTag(data_ptr,Lc,0x54,&taglen54); if(tag54) { if(taglen54==1) { bNumberMessage=tag54[0]; } } #ifdef IT_TEST switch(Res=cjccid_SecurePV(timeout,PinPosition,PinType, PinLengthSize,PinLength, PinLengthPosition, Min,Max, Condition,Prologue, buffer,outlen,rbuffer,&inlen,cmd[2]-1,tag50[0],taglen50[0],bMessageIndex,bNumberMessage)) #else switch(Res=((use_MV==0)?cjccid_SecurePV(timeout,PinPosition,PinType, PinLengthSize,PinLength, PinLengthPosition, Min,Max, Condition,Prologue, buffer,outlen,rbuffer,&inlen,tag50[0],taglen50[0],bMessageIndex,bNumberMessage): cjccid_SecureMV(timeout,1,PinType, PinLengthSize,PinLength, PinLengthPosition, Min,Max, 0, Condition,Prologue, 0,PinPosition-1, buffer,outlen,rbuffer,&inlen,TextCount,tag50,btaglen50,bMessageArray,bNumberMessage))) #endif { case CJ_SUCCESS: case CJ_ERR_PIN_EXTENDED: if(*lenr>4; if(tag80[1]>5 && tag80[1]!=tag80[2]) { PinPositionOld=tag80[1]-6; bConfirmPIN=2; } else if(tag80[2]>5 && tag80[1]==tag80[2]) { PinPositionOld=0; bConfirmPIN=0; } else { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(tag80[2]>5) { PinPositionNew=tag80[2]-6; } else if(tag80[2]==0) { if((tag80[0] & 3)==2 && tag80[1]!=0) PinPositionNew=PinPositionOld+8; else PinPositionNew=0; } else { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(taglen==7) { buffer[4]=0; taglen++; } switch(tag80[0] & 3) { case 0: PinType=1; if(taglen==8) { if(PinLength==0) { Min=1; if(tag80[1]>5 && tag80[1]!=tag80[2]) { Max=2*abs(PinPositionNew-PinPositionOld); if(Max>30) Max=30; } else Max=30; if(Max==0) Max=30; Condition=2; PinLength=(Max>>1)+(Max&1); buffer[4]=0; outlen=5; } else { Min=PinLength; Max=PinLength; PinLength=PinLength/2+(PinLength & 1); Condition=1; buffer[4]=0; outlen=5; } } else { if(PinLength==0) { Min=1; if(tag80[1]>5 && tag80[1]!=tag80[2]) { Max=2*abs(PinPositionNew-PinPositionOld); if((taglen-8-max(PinPositionNew,PinPositionOld))*2>Max) Max=(taglen-8-max(PinPositionNew,PinPositionOld))*2; if(Max>30) Max=30; } else Max=30; if(Max==0) Max=30; PinLength=(Max>>1)+(Max&1); buffer[4]=0; Condition=2; outlen=(taglen-3); } else { Min=PinLength; Max=PinLength; PinLength=PinLength/2+(PinLength & 1); Condition=1; outlen=taglen-3; buffer[4]=0; } } break; case 1: PinType=2; if(taglen==8) { if(PinLength==0) { Min=1; if(tag80[1]>5 && tag80[1]!=tag80[2]) { Max=abs(PinPositionNew-PinPositionOld); if(Max>15) Max=15; } else Max=15; if(Max==0) Max=15; PinLength=Max; Condition=2; buffer[4]=0; outlen=5; } else { Min=PinLength; Max=PinLength; Condition=1; buffer[4]=0; outlen=5; } } else { if(PinLength==0) { Min=1; if(tag80[1]>5 && tag80[1]!=tag80[2]) { Max=abs(PinPositionNew-PinPositionOld); if(taglen-8-max(PinPositionNew,PinPositionOld)>Max) Max=taglen-8-max(PinPositionNew,PinPositionOld); if(Max>15) Max=15; } else Max=15; if(Max==0) Max=15; PinLength=Max; Condition=2; outlen=(taglen-3); buffer[4]=0; } else { Min=PinLength; Max=PinLength; Condition=1; buffer[4]=0; outlen=taglen-3; } } break; case 2: PinType=1; // PinPositionNew++; // PinPositionOld++; PinPosition=1; PinLengthPosition=4; PinLengthSize=4; if(PinPositionNew>240 || PinPositionOld>240) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(buffer[4]12) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } PinLength=7; Condition=1; } break; default: response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } Prologue[0]=0; /* if(((cjccidHANDLE)hDevice)->PCB_seq&0x01) Prologue[1]=0x40; else Prologue[1]=0; Prologue[2]=outlen;*/ inlen=sizeof(rbuffer); if((tag51=GetTag(data_ptr,Lc,0x51,&taglen))!=NULL) { if(taglen==2) { if(tag51[0]>=4 || (tag80[0] & 3)!=2) Min=tag51[0]; if(tag51[1]>=Min) Max=tag51[1]; if(Max>12 && (tag80[0] & 3)==2) { Max=12; } } } cmd_ptr=data_ptr; cmd_len=Lc; int j=0; for(int i=0;i<5;i++) { tag50[j]=GetTag(cmd_ptr,cmd_len,0x50,&(taglen50[j])); if(tag50[j]) { cmd_ptr+=2+taglen50[j]; if(cmd_len<2+taglen50[j]) break; cmd_len-=2+taglen50[j]; if(i==0 || i==3 || i==4) { TextCount++; TransformText(tag50[j],taglen50[j]); btaglen50[j]=(uint8_t)taglen50[j]; j++; } } else break; } tag53=GetTag(data_ptr,Lc,0x53,&taglen53); if(tag53) { if(taglen53==3) { memcpy(bMessageIndex,tag53,3); } } if(bMessageIndex[1]==0) { bMessageIndex[1]=1; } bNumberMessage=0xff; tag54=GetTag(data_ptr,Lc,0x54,&taglen54); if(tag54) { if(taglen54==1) { bNumberMessage=tag54[0]; } } #ifdef IT_TEST switch(Res=cjccid_SecureMV(timeout,PinPosition,PinType, PinLengthSize,PinLength, PinLengthPosition, Min,Max, (bConfirmPIN | 1), Condition,Prologue, PinPositionOld,PinPositionNew, buffer,outlen,rbuffer,&inlen,cmd[2]-1,TextCount,tag50,btaglen50,bMessageIndex,bNumberMessage)) #else switch(Res=cjccid_SecureMV(timeout,PinPosition,PinType, PinLengthSize,PinLength, PinLengthPosition, Min,Max, (bConfirmPIN | 1), Condition,Prologue, PinPositionOld,PinPositionNew, buffer,outlen,rbuffer,&inlen,TextCount,tag50,btaglen50,bMessageIndex,bNumberMessage)) #endif { case CJ_SUCCESS: case CJ_ERR_PIN_EXTENDED: /* if(((cjccidHANDLE)hDevice)->Protokoll==1) { Res=PVMVT1(hDevice,Res,rbuffer,inlen,&inlen); }*/ if(*lenr=0x70 && cmd[1]<=0x76 && IsClass3() && FindModuleWithMask(MODULE_ID_KT_LIGHT,0xfffffeff)) { switch(KTLightCall(sad,dad,cmd,lenc,Lc,data_ptr,Le,response,lenr)) { case CJ_ERR_WRITE_DEVICE: case CJ_ERR_DEVICE_LOST: *lenr=0; return -128; case CJ_ERR_RBUFFER_TO_SMALL: *lenr=0; return -11; case CJ_SUCCESS: return 0; default: *lenr=0; return -10; } } else { response[0]=0x6D; response[1]=0x00; *lenr=2; return 0; } } else if(cmd[0]==0x80) { if(cmd[1]==0x60) { uint8_t *tag44; int taglen; if(cmd[2]!=0x01 || cmd[3]!=0x00) { response[0]=0x6A; response[1]=0x00; *lenr=2; return 0; } if(cmd[4]<3) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if((tag44=GetTag(cmd+5,cmd[4],0x44,&taglen))!=NULL) { if(taglen!=1) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if((*tag44 & 0xf0)==0x90) { m_iic_offset_bytes=2; } else { m_iic_offset_bytes=1; } m_iic_pagesize=1<<(*tag44 & 0x0f); SetSyncParameters(m_iic_offset_bytes,m_iic_pagesize); } if((tag44=GetTag(cmd+5,cmd[4],0x45,&taglen))!=NULL) { if(taglen!=1) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } m_iic_deviceaddr=*tag44; } if((tag44=GetTag(cmd+5,cmd[4],0x22,&taglen))!=NULL) { if(taglen!=1) { response[0]=0x67; response[1]=0x00; *lenr=2; return 0; } if(m_ActiveProtocol != SCARD_PROTOCOL_T0 && m_ActiveProtocol != SCARD_PROTOCOL_T1) { response[0]=0x90; response[1]=0x00; *lenr=2; return 0; } if(m_ActiveProtocol==SCARD_PROTOCOL_T0 && *tag44!=1 || m_ActiveProtocol==SCARD_PROTOCOL_T1 && *tag44!=2) { uint8_t atr[250]; uint8_t historical[15]; uint8_t hist_len=sizeof(historical); uint8_t atr_len=(uint8_t)sizeof(atr); IfdPower(SCARD_POWER_DOWN,0,0); switch(ctBcsReset(atr,&atr_len,historical,&hist_len,*tag44)) { case CJ_SUCCESS: if(m_ActiveProtocol==SCARD_PROTOCOL_T0 && *tag44==1 || m_ActiveProtocol==SCARD_PROTOCOL_T1 && *tag44==2) { if(atr[0]==0x3b || atr[0]==0x3f) { response[0]=0x90; response[1]=0x01; } else { response[0]=0x90; response[1]=0x00; } *lenr=2; } else { response[0]=0x64; response[1]=0xA3; } break; default: response[0]=0x64; response[1]=0xA3; } *lenr=2; return 0; } response[0]=0x90; response[1]=0x01; *lenr=2; return 0; } response[0]=0x90; response[1]=0x00; *lenr=2; return 0; } /* else if(cmd[1]==0x61 && cmd[2]==0x81 && cmd[3]==0 && ((cjccidHANDLE)hDevice)->Protokoll==6 || ((cjccidHANDLE)hDevice)->Protokoll==7 && lenc>=6) { int le=0; if(lenc==cmd[4]+6) { le=cmd[lenc-1]; if(le==0) le=256; } if(*lenrInfo.Flags & 1)==0 && cmd[1]==0x61 && cmd[2]==0x82 && cmd[3]==0 && cmd[4]==0) { uint16_t Counter; if(*lenr<4) { *lenr=0; return -11; } switch(cjccid_GetStackSignCounter(hDevice,&Counter)) { case CJ_SUCCESS: response[0]=(uint8_t)(Counter>>8); response[1]=(uint8_t)(Counter); response[2]=0x90; response[3]=0x00; *lenr=4; return 0; default: response[0]=0x60; response[1]=0x00; *lenr=2; return 0; } }*/ else { response[0]=0x6D; response[1]=0x00; *lenr=2; return 0; } } else { response[0]=0x6E; response[1]=0x00; *lenr=2; return 0; } } else if(*dad==0 && *sad==2) { *dad=2; *sad=0; if(*lenr<2) return -11; switch(_IfdTransmit(cmd,lenc,response,lenr)) { case STATUS_SUCCESS: return 0; case STATUS_IO_TIMEOUT: case STATUS_DEVICE_PROTOCOL_ERROR: *sad=1; response[0]=0x6f; response[1]=0x00; *lenr=2; return 0; case STATUS_INVALID_PARAMETER: *sad=1; response[0]=0x67; response[1]=0x00; *lenr=2; return 0; case STATUS_INVALID_DEVICE_STATE: if(m_ReaderState==SCARD_ABSENT) { *sad=1; response[0]=0x64; response[1]=0xA1; *lenr=2; return 0; } else { *sad=1; response[0]=0x64; response[1]=0xA2; *lenr=2; return 0; } case STATUS_BUFFER_TOO_SMALL: *lenr=0; return -11; case STATUS_DEVICE_NOT_CONNECTED: *lenr=0; return -128; default: *lenr=0; return -1; } } else { *lenr=0; return -1; } } int CCCIDReader::ExecuteSecureResult(CCID_Response *Response,uint8_t *in,int *in_len,int offs) { if(Response->bStatus & 0x02) return CJ_ERR_NO_ICC; else if(Response->bStatus & 0x01) return CJ_ERR_NO_ACTIVE_ICC; if(Response->bStatus & 0x40) { if(Response->bError==XFR_PARITY_ERROR) return CJ_ERR_PARITY; else if(Response->bError==ICC_MUTE) return CJ_ERR_TIMEOUT; else if(Response->bError==PIN_TIMEOUT) return CJ_ERR_PIN_TIMEOUT; else if(Response->bError==PIN_CANCELED) return CJ_ERR_PIN_CANCELED; else if(Response->bError==PIN_DIFFERENT) return CJ_ERR_PIN_DIFFERENT; else if(Response->bError==EXT_ERROR) { if(*in_len<(int)Response->dwLength) return CJ_ERR_RBUFFER_TO_SMALL; memcpy(in,Response->Data.abData,Response->dwLength); *in_len=Response->dwLength; return CJ_ERR_PIN_EXTENDED; } else if(Response->bError==5) return CJ_ERR_WRONG_PARAMETER; else if(Response->bError==21+offs) return CJ_ERR_WRONG_PARAMETER; else if(Response->bError==26+offs) return CJ_ERR_CONDITION_OF_USE; else if(Response->bError==DEACTIVATED_PROTOCOL) { if(Response->bStatus & 0x02) return CJ_ERR_NO_ICC; else if(Response->bStatus & 0x01) return CJ_ERR_NO_ACTIVE_ICC; } else return CJ_ERR_LEN; } if(*in_len<(int)Response->dwLength) return CJ_ERR_RBUFFER_TO_SMALL; memcpy(in,Response->Data.abData,Response->dwLength); *in_len=Response->dwLength; return CJ_SUCCESS; } #ifdef IT_TEST int CCCIDReader::cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage) #else int CCCIDReader::cjccid_SecurePV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t Condition,uint8_t *Prologue, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t *Text,uint8_t Textlen,uint8_t bMessageIndex,uint8_t bNumberMessage) #endif { CCID_Message Message; CCID_Response Response; int Res; cj_ModuleInfo *Info; Message.bMessageType=PC_TO_RDR_SECURE; Message.dwLength=out_len+15; #ifdef IT_TEST Message.bSlot=Slot; #endif Message.Header.Secure.bBWI=0; Message.Header.Secure.wLevelParameter=HostToReaderShort(0); Message.Data.Secure.bPINOperation=0; Message.Data.Secure.bTimeOut=Timeout; Message.Data.Secure.bmFormatString=(uint8_t)(0x80 | (PinPosition<<3) | PinType); Message.Data.Secure.bmPINBlockString=(uint8_t)((PinLengthSize<<4) | PinLength); Message.Data.Secure.bmPINLengthFormat=PinLengthPosition; Message.Data.Secure.Data.Verify.wPINMaxExtraDigit=HostToReaderShort((((uint16_t)Min)<<8)+Max); Message.Data.Secure.Data.Verify.bEntryValidationCondition=Condition; Message.Data.Secure.Data.Verify.bNumberMessage=bNumberMessage; Message.Data.Secure.Data.Verify.wLangId=HostToReaderShort(0x0409); Message.Data.Secure.Data.Verify.bMsgIndex=bMessageIndex; memcpy(Message.Data.Secure.Data.Verify.bTeoPrologue,Prologue,3); memcpy(Message.Data.Secure.Data.Verify.abData,out,out_len); #ifdef _INSERT_KEY_EVENTS { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa0; DoInterruptCallback(buffer,2); } #endif Info=FindModule(MODULE_ID_KT_LIGHT_GC); if(Info!=NULL && Info->Status==MODULE_READY) SetSMModeAndCount(MODULE_ID_KT_LIGHT_GC,1); Res=Transfer(&Message,&Response); #ifdef _INSERT_KEY_EVENTS if(Info!=NULL && Info->Status==MODULE_READY) SetSMModeAndCount(0,0); if(Res==CJ_SUCCESS) { if((Response.bStatus & 0x03)==0 && (((Response.bStatus & 0x40) && Response.bError==PIN_CANCELED) || (Response.bStatus & 0x40)==0)) { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; if(Response.bError==PIN_CANCELED) buffer[1]=0x01; else buffer[1]=0x02; DoInterruptCallback(buffer,2); } } { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa1; DoInterruptCallback(buffer,2); } #endif if(Res) return Res; return ExecuteSecureResult(&Response,in,in_len,0); } #ifdef IT_TEST int CCCIDReader::cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,uint8_t Slot,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage) #else int CCCIDReader::cjccid_SecureMV(uint8_t Timeout, uint8_t PinPosition,uint8_t PinType, uint8_t PinLengthSize,uint8_t PinLength, uint8_t PinLengthPosition, uint8_t Min, uint8_t Max, uint8_t bConfirmPIN, uint8_t Condition,uint8_t *Prologue, uint8_t OffsetOld,uint8_t OffsetNew, uint8_t *out,int out_len,uint8_t *in,int *in_len,int TextCount,uint8_t *Text[3],uint8_t Textlen[3],uint8_t bMessageIndex[3],uint8_t bNumberMessage) #endif { CCID_Message Message; CCID_Response Response; int Res; //cj_ModuleInfo *Info=FindModule(MODULE_ID_KERNEL); Message.bMessageType=PC_TO_RDR_SECURE; Message.dwLength=out_len+20; #ifdef IT_TEST Message.bSlot=Slot; #else Message.bSlot=0; #endif Message.Header.Secure.bBWI=0; Message.Header.Secure.wLevelParameter=HostToReaderShort(0); Message.Data.Secure.bPINOperation=1; Message.Data.Secure.bTimeOut=Timeout; Message.Data.Secure.bmFormatString=(uint8_t)(0x80 | (PinPosition<<3) | PinType); Message.Data.Secure.bmPINBlockString=(uint8_t)((PinLengthSize<<4) | PinLength); Message.Data.Secure.bmPINLengthFormat=PinLengthPosition; Message.Data.Secure.Data.Modify.bInsertionOffsetOld=OffsetOld; Message.Data.Secure.Data.Modify.bInsertionOffsetNew=OffsetNew; Message.Data.Secure.Data.Modify.wPINMaxExtraDigit=HostToReaderShort((((uint16_t)Min)<<8)+Max); Message.Data.Secure.Data.Modify.bConfirmPIN= bConfirmPIN; Message.Data.Secure.Data.Modify.bEntryValidationCondition=Condition; Message.Data.Secure.Data.Modify.bNumberMessage=bNumberMessage; Message.Data.Secure.Data.Modify.wLangId=HostToReaderShort(0x0409); Message.Data.Secure.Data.Modify.bMsgIndex1=bMessageIndex[0]; Message.Data.Secure.Data.Modify.bMsgIndex2=bMessageIndex[1]; Message.Data.Secure.Data.Modify.bMsgIndex3=bMessageIndex[2]; memcpy(Message.Data.Secure.Data.Modify.bTeoPrologue,Prologue,3); memcpy(Message.Data.Secure.Data.Modify.abData,out,out_len); #ifdef _INSERT_KEY_EVENTS { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa0; DoInterruptCallback(buffer,2); } #endif Res=Transfer(&Message,&Response); if(Res!=0) { #ifdef _INSERT_KEY_EVENTS uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa1; DoInterruptCallback(buffer,2); #endif return Res; } #ifdef _INSERT_KEY_EVENTS if((Response.bStatus & 0x03)==0 && (((Response.bStatus & 0x40) && Response.bError==PIN_CANCELED) || (Response.bStatus & 0x40)==0)) { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; if(Response.bError==PIN_CANCELED) buffer[1]=0x01; else buffer[1]=0x02; DoInterruptCallback(buffer,2); } { uint8_t buffer[2]; buffer[0]=RDR_TO_PC_KEYEVENT; buffer[1]=0xa1; DoInterruptCallback(buffer,2); } #endif return ExecuteSecureResult(&Response,in,in_len,5); } RSCT_IFD_RESULT CCCIDReader::IfdVendor(uint32_t IoCtrlCode,uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { uint8_t dad,sad; uint16_t Len; switch(IoCtrlCode) { case CJPCSC_VEN_IOCTRL_ESCAPE: switch(CCID_Escape(Input,InputLength,Output,OutputLength)) { case CJ_SUCCESS: return STATUS_SUCCESS; case CJ_ERR_INTERNAL_BUFFER_OVERFLOW: return STATUS_INSUFFICIENT_RESOURCES; case CJ_ERR_DEVICE_LOST: return STATUS_DEVICE_NOT_CONNECTED; case CJ_ERR_RBUFFER_TO_SMALL: return STATUS_BUFFER_TOO_SMALL; case CJ_ERR_SEQ: return STATUS_DEVICE_PROTOCOL_ERROR; default: return STATUS_UNHANDLED_EXCEPTION; } break; case CJPCSC_VEN_IOCTRL_VERIFY_PIN_DIRECT: if(InputLengthulDataLength) return STATUS_INVALID_BUFFER_SIZE; return IfdVerifyPinDirect((PIN_VERIFY_STRUCTURE *)Input,Output,OutputLength); case CJPCSC_VEN_IOCTRL_MODIFY_PIN_DIRECT: if(InputLengthulDataLength) return STATUS_INVALID_BUFFER_SIZE; return IfdModifyPinDirect((PIN_MODIFY_STRUCTURE *)Input,Output,OutputLength); case CJPCSC_VEN_IOCTRL_SET_NORM: if(InputLength<1) return STATUS_INVALID_BUFFER_SIZE; else CtSetAPDUNorm((EApduNorm)(Input[0])); if(OutputLength!=NULL) *OutputLength=0; return STATUS_SUCCESS; case CJPCSC_VEN_IOCTRL_MCT_READERDIRECT: dad=1; sad=2; if(*OutputLength>0xffff) Len=0xffff; else Len=(USHORT)*OutputLength; switch(CtData(&sad,&dad,Input,InputLength,Output,&Len)) { case 0: *OutputLength=Len; return STATUS_SUCCESS; case -11: *OutputLength=0; return STATUS_BUFFER_TOO_SMALL; default: *OutputLength=0; return STATUS_DEVICE_NOT_CONNECTED; } default: return base::IfdVendor(IoCtrlCode,Input,InputLength,Output,OutputLength); } } CJ_RESULT CCCIDReader::CCID_Escape(uint8_t *Input,uint32_t InputLength,uint8_t *Output,uint32_t *OutputLength) { CJ_RESULT Res; CCID_Message Message; CCID_Response Response; memset(&Message,0,sizeof(Message)); Message.bMessageType=PC_TO_RDR_ESCAPE; Message.dwLength=InputLength; if(InputLength>sizeof(Message.Data.abData)) { *OutputLength=0; return CJ_ERR_INTERNAL_BUFFER_OVERFLOW; } if(InputLength>0) memcpy(&Message.Data.abData,Input,InputLength); if((Res=Transfer(&Message,&Response))!=CJ_SUCCESS) { *OutputLength=0; return Res; } if(Response.bMessageType!=RDR_TO_PC_ESCAPE) { delete m_pCommunicator; m_pCommunicator=NULL; return CJ_ERR_DEVICE_LOST; } else if(Response.dwLength>*OutputLength) { *OutputLength=0; return CJ_ERR_RBUFFER_TO_SMALL; } memcpy(Output,Response.Data.abData,Response.dwLength); *OutputLength=Response.dwLength; return CJ_SUCCESS; } bool CCCIDReader::PinDirectSupported() { cj_ModuleInfo *Info=FindModule(MODULE_ID_KERNEL); if(Info==NULL) return false; if(Info->Version<0x30 || Info->Version==0x30 && Info->Revision<42) return false; return true; } RSCT_IFD_RESULT CCCIDReader::IfdVerifyPinDirect(PIN_VERIFY_STRUCTURE *Input,uint8_t *Output,uint32_t *OutputLength) { CCID_Message Message; CCID_Response Response; int Res; cj_ModuleInfo *Info; if(!PinDirectSupported()) return STATUS_NOT_SUPPORTED; Info=FindModule(MODULE_ID_KT_LIGHT_GC); if(Info!=NULL && Info->Status==MODULE_READY) SetSMModeAndCount(MODULE_ID_KT_LIGHT_GC,1); Message.bMessageType=PC_TO_RDR_SECURE; Message.dwLength=Input->ulDataLength+15; if(Input->ulDataLength>sizeof(Message.Data.Secure.Data.Verify.abData)) return STATUS_INVALID_BUFFER_SIZE; if(*OutputLength<2) return STATUS_BUFFER_TOO_SMALL; Message.bSlot=0; Message.Header.Secure.bBWI=0; Message.Header.Secure.wLevelParameter=HostToReaderShort(0); Message.Data.Secure.bPINOperation=0; Message.Data.Secure.bTimeOut=Input->bTimerOut; Message.Data.Secure.bmFormatString=Input->bmFormatString; Message.Data.Secure.bmPINBlockString=Input->bmPINBlockString; Message.Data.Secure.bmPINLengthFormat=Input->bmPINLengthFormat; Message.Data.Secure.Data.Verify.wPINMaxExtraDigit=HostToReaderShort(Input->wPINMaxExtraDigit); Message.Data.Secure.Data.Verify.bEntryValidationCondition=Input->bEntryValidationCondition; Message.Data.Secure.Data.Verify.bNumberMessage=Input->bNumberMessage; Message.Data.Secure.Data.Verify.wLangId=HostToReaderShort(Input->wLangId); Message.Data.Secure.Data.Verify.bMsgIndex=Input->bMsgIndex; FillTeoPrologue(Message.Data.Secure.Data.Verify.bTeoPrologue); memcpy(Message.Data.Secure.Data.Verify.abData,Input->abData,Input->ulDataLength); Res=Transfer(&Message,&Response); if(Info!=NULL && Info->Status==MODULE_READY) SetSMModeAndCount(0,0); if(Res) { *OutputLength=0; if(Res==CJ_ERR_DEVICE_LOST) return STATUS_DEVICE_NOT_CONNECTED; return STATUS_DEVICE_PROTOCOL_ERROR; } if(Response.bStatus & 0x40) { if(Response.bError==XFR_PARITY_ERROR) { *OutputLength=0; return STATUS_IO_TIMEOUT; } else if(Response.bError==ICC_MUTE) { *OutputLength=0; return STATUS_IO_TIMEOUT; } else if(Response.bError==PIN_TIMEOUT) { memcpy(Output,"\x64\x00",2); *OutputLength=2; return STATUS_SUCCESS; } else if(Response.bError==PIN_CANCELED) { memcpy(Output,"\x64\x01",2); *OutputLength=2; return STATUS_SUCCESS; } else if(Response.bError==PIN_DIFFERENT) { memcpy(Output,"\x64\x02",2); *OutputLength=2; return STATUS_SUCCESS; } else if(Response.bError==EXT_ERROR) { if(*OutputLengthulDataLength+20; if(Input->ulDataLength>sizeof(Message.Data.Secure.Data.Modify.abData)) return STATUS_INVALID_BUFFER_SIZE; if(*OutputLength<2) return STATUS_BUFFER_TOO_SMALL; Message.bSlot=0; Message.Header.Secure.bBWI=0; Message.Header.Secure.wLevelParameter=HostToReaderShort(0); Message.Data.Secure.bPINOperation=1; Message.Data.Secure.bTimeOut=Input->bTimerOut; Message.Data.Secure.bmFormatString=Input->bmFormatString; Message.Data.Secure.bmPINBlockString=Input->bmPINBlockString; Message.Data.Secure.bmPINLengthFormat=Input->bmPINLengthFormat; Message.Data.Secure.Data.Modify.bInsertionOffsetOld=Input->bInsertionOffsetOld; Message.Data.Secure.Data.Modify.bInsertionOffsetNew=Input->bInsertionOffsetNew; Message.Data.Secure.Data.Modify.wPINMaxExtraDigit=HostToReaderShort(Input->wPINMaxExtraDigit); Message.Data.Secure.Data.Modify.bConfirmPIN=Input->bConfirmPIN; Message.Data.Secure.Data.Modify.bEntryValidationCondition=Input->bEntryValidationCondition; Message.Data.Secure.Data.Modify.bNumberMessage=Input->bNumberMessage; Message.Data.Secure.Data.Modify.wLangId=HostToReaderShort(Input->wLangId); Message.Data.Secure.Data.Modify.bMsgIndex1=Input->bMsgIndex1; Message.Data.Secure.Data.Modify.bMsgIndex2=Input->bMsgIndex2; Message.Data.Secure.Data.Modify.bMsgIndex3=Input->bMsgIndex3; FillTeoPrologue(Message.Data.Secure.Data.Modify.bTeoPrologue); memcpy(Message.Data.Secure.Data.Modify.abData,Input->abData,Input->ulDataLength); Res=Transfer(&Message,&Response); if(Res) { *OutputLength=0; if(Res==CJ_ERR_DEVICE_LOST) return STATUS_DEVICE_NOT_CONNECTED; return STATUS_DEVICE_PROTOCOL_ERROR; } if(Response.bStatus & 0x40) { if(Response.bError==XFR_PARITY_ERROR) { *OutputLength=0; return STATUS_IO_TIMEOUT; } else if(Response.bError==ICC_MUTE) { *OutputLength=0; return STATUS_IO_TIMEOUT; } else if(Response.bError==PIN_TIMEOUT) { memcpy(Output,"\x64\x00",2); *OutputLength=2; return STATUS_SUCCESS; } else if(Response.bError==PIN_CANCELED) { memcpy(Output,"\x64\x01",2); *OutputLength=2; return STATUS_SUCCESS; } else if(Response.bError==PIN_DIFFERENT) { memcpy(Output,"\x64\x02",2); *OutputLength=2; return STATUS_SUCCESS; } else if(Response.bError==EXT_ERROR) { if(*OutputLength class CBaseReader; class CReader; class CBaseCommunication { public: CBaseCommunication(const char *cDeviceName,CReader *Owner); virtual ~CBaseCommunication(void); public: // Transmitting Data to the Reader: virtual int Write(void *Message,uint32_t len)=0; // Receiving Data from the Reader virtual int Read(void *Response,uint32_t *ResponseLen)=0; // Filling all Parts of the cj_ReaderInfo struct that can be retrieved by the driver without communication with the reader virtual void SetCommunicationString(cj_ReaderInfo *ReaderInfo)=0; // Depending on the driver information, this function has to create the correct instance of an CBaseReader object: // This function has to set the m_Reader member. // For USB - devices the PID can be used for this decision // For serial devives the devicename and a database can be used for this decision // For LPT Readers same as PID 100 for USB Readers virtual CBaseReader *BuildReaderObject()=0; // Determing wether the connection is still alive virtual bool IsConnected()=0; // Next functions will be implemented later // virtual int InstallIFDHandler(); // virtual int RemoveIFDHandler(); // virtual int GetIFDHandlerDeviceName(char *DeviceName); void FreeIFDHandlerDeviceName(char *DeviceName); virtual int StartInterruptPipe()=0; virtual int HaltInterruptPipe()=0; virtual int Open()=0; virtual void Close(); public: char *m_cDeviceName; protected: /** * build a reader object depending on pid and readerName. This method can be used by * @ref BuildReaderObject. */ CBaseReader *_buildUsbReaderObject(uint16_t pid, const char *readerName); protected: // Used in the derived classes for synconisation CRSCTCriticalSection m_CritSec; CRSCTCriticalSection m_CritClose; // Pointer to the reader implementation object CBaseReader *m_Reader; // Pointer to the reader interface object CReader *m_Owner; typedef enum _tInterruptPipeState{UnInit,Running,HaltRequest,Halted}tInterruptPipeState; tInterruptPipeState m_InterruptPipeState; uint16_t m_pid; std::string m_productString; }; #endif pcsc-cyberjack-3.99.5final.SP03/COPYING0000644000175000001440000004312211657145411015754 0ustar sctusers GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License. pcsc-cyberjack-3.99.5final.SP03/config.h.in0000644000175000001440000000636311660201013016733 0ustar sctusers/* config.h.in. Generated from configure.ac by autoheader. */ /* if DLL is to be built */ #undef BUILDING_DLL /* build */ #undef CYBERJACK_VERSION_BUILD /* full version string */ #undef CYBERJACK_VERSION_FULL_STRING /* major version */ #undef CYBERJACK_VERSION_MAJOR /* minor version */ #undef CYBERJACK_VERSION_MINOR /* patchlevel */ #undef CYBERJACK_VERSION_PATCHLEVEL /* version string */ #undef CYBERJACK_VERSION_STRING /* tag */ #undef CYBERJACK_VERSION_TAG /* Define if you want debugging code enabled. */ #undef DEBUG /* whether non-serial interfaces should be enabled */ #undef ENABLE_NONSERIAL /* visibility */ #undef GCC_WITH_VISIBILITY_ATTRIBUTE /* whether function dlopen is available */ #undef HAS_DLOPEN /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* whether FOX is available */ #undef HAVE_FOX /* if HAL is available */ #undef HAVE_HAL /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* whether XML2 is available */ #undef HAVE_LIBXML2 /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* if PC/SC is available */ #undef HAVE_PCSC /* Define to 1 if you have the header file. */ #undef HAVE_PTHREAD_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 the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* if BeOS is used */ #undef OS_BEOS /* if Apple Darwin is used */ #undef OS_DARWIN /* if FreeBSD is used */ #undef OS_FREEBSD /* if linux is used */ #undef OS_LINUX /* target system */ #undef OS_NAME /* if NetBSD is used */ #undef OS_NETBSD /* if OpenBSD is used */ #undef OS_OPENBSD /* if PalmOS is used */ #undef OS_PALMOS /* if this is a POSIX system */ #undef OS_POSIX /* target system */ #undef OS_SHORTNAME /* if Solaris is used */ #undef OS_SOLARIS /* system type */ #undef OS_TYPE /* if WIN32 is used */ #undef OS_WIN32 /* 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 /* needed for SuSE */ #undef USE_SUSE_HACK /* whether pthreads are to be used */ #undef USE_THREADS /* if libUSB-1.0 is available */ #undef USE_USB1 /* Version number of package */ #undef VERSION /* whether DL library is available */ #undef WITH_DLLIB /* Define to empty if `const' does not conform to ANSI C. */ #undef const pcsc-cyberjack-3.99.5final.SP03/AUTHORS0000644000175000001440000000000011657145411015755 0ustar sctuserspcsc-cyberjack-3.99.5final.SP03/config.guess0000755000175000001440000013272611660201014017234 0ustar sctusers#! /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, 2007, 2008 # Free Software Foundation, Inc. timestamp='2009-04-27' # 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, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_MACHINE}" in i?86) test -z "$VENDOR" && VENDOR=pc ;; *) test -z "$VENDOR" && VENDOR=unknown ;; esac test -f /etc/SuSE-release -o -f /.buildenv && VENDOR=suse # 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 ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) 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 | genuineintel) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 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:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu else echo ${UNAME_MACHINE}-${VENDOR}-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-${VENDOR}-linux-gnu exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-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}-${VENDOR}-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}-${VENDOR}-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-${VENDOR}-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-${VENDOR}-linux-gnu exit ;; ppc64:Linux:*:*) echo powerpc64-${VENDOR}-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}-${VENDOR}-linux-gnu${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu 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-${VENDOR}-linux-gnu ;; PA8*) echo hppa2.0-${VENDOR}-linux-gnu ;; *) echo hppa-${VENDOR}-linux-gnu ;; esac exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-${VENDOR}-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-${VENDOR}-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-${VENDOR}-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}-${VENDOR}-linux-gnu" ;; a.out-i386-linux) echo "${UNAME_MACHINE}-${VENDOR}-linux-gnuaout" exit ;; "") # Either a pre-BFD a.out linker (linux-gnuoldld) or # one that does not give us useful --help. echo "${UNAME_MACHINE}-${VENDOR}-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}-${VENDOR}-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}-${VENDOR}-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-${VENDOR}-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-${VENDOR}-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}-${VENDOR}-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-${VENDOR}-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-${VENDOR}-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-${VENDOR}-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-${VENDOR}-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) echo powerpc-${VENDOR}-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-${VENDOR}-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; 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}-${VENDOR}-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-${VENDOR}-tops10 exit ;; *:TENEX:*:*) echo pdp10-${VENDOR}-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-${VENDOR}-tops20 exit ;; *:ITS:*:*) echo pdp10-${VENDOR}-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-${VENDOR}-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; 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: