New upstream version 1.8.24
This commit is contained in:
parent
c13142777b
commit
e4a22c05f5
24
COPYING
24
COPYING
|
@ -78,30 +78,6 @@ Files src/auth.c and src/auth.h are:
|
||||||
* Author: Nikos Mavrogiannopoulos <nmav@redhat.com>
|
* Author: Nikos Mavrogiannopoulos <nmav@redhat.com>
|
||||||
|
|
||||||
|
|
||||||
Files src/sd-daemon.c and src/sd-daemon.h are:
|
|
||||||
Copyright 2010 Lennart Poettering
|
|
||||||
|
|
||||||
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 AUTHORS OR COPYRIGHT HOLDERS
|
|
||||||
BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
|
|
||||||
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
||||||
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
||||||
SOFTWARE.
|
|
||||||
|
|
||||||
|
|
||||||
Files src/simclist.c and src/simclist.h are:
|
Files src/simclist.c and src/simclist.h are:
|
||||||
* Copyright (c) 2007,2008,2009,2010,2011 Mij <mij@bitchx.it>
|
* Copyright (c) 2007,2008,2009,2010,2011 Mij <mij@bitchx.it>
|
||||||
*
|
*
|
||||||
|
|
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
1.8.24: Ludovic Rousseau
|
||||||
|
12 October 2018
|
||||||
|
- the project moved to https://pcsclite.apdu.fr/
|
||||||
|
- SCardGetStatusChange(): Fix a rare race condition
|
||||||
|
- SCardReleaseContext(): do not release a lock owned by another context
|
||||||
|
- SCardReconnect(): suspend card auto power off
|
||||||
|
- Allow "=" in serial driver filenames
|
||||||
|
- Add the thread id in the pcscd log lines
|
||||||
|
- pcsc-spy: correctly handle incomplete log file
|
||||||
|
- Simclist: avoid to divide by zero in list_findpos()
|
||||||
|
- Some other minor improvements
|
||||||
|
|
||||||
|
|
||||||
1.8.23: Ludovic Rousseau
|
1.8.23: Ludovic Rousseau
|
||||||
18 December 2017
|
18 December 2017
|
||||||
- use libsystemd instead sd-daemon.{c,h}
|
- use libsystemd instead sd-daemon.{c,h}
|
||||||
|
|
643
ChangeLog.git
643
ChangeLog.git
|
@ -1,4 +1,639 @@
|
||||||
commit 09f0f85b86e7488cf26642dd17150f76bed5300c (HEAD -> master)
|
commit 73d95ada3221c060cbd7b6aa2375453f9d0e359b (HEAD -> master, origin/master, origin/HEAD)
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Oct 12 10:43:51 2018 +0200
|
||||||
|
|
||||||
|
Release 1.8.23
|
||||||
|
|
||||||
|
ChangeLog | 13 +++++++++++++
|
||||||
|
configure.ac | 2 +-
|
||||||
|
2 files changed, 14 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit eaaf8edac2a960feb884bcf4cd90720757fca0bb
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Oct 12 11:00:56 2018 +0200
|
||||||
|
|
||||||
|
Fix compiler warning: output may be truncated
|
||||||
|
|
||||||
|
winscard_msg.c: In function ‘ClientSetupSession’:
|
||||||
|
winscard_msg.c:134:2: warning: ‘strncpy’ output may be truncated copying 108 bytes from a string of length 109 [-Wstringop-truncation]
|
||||||
|
strncpy(svc_addr.sun_path, socketName, sizeof(svc_addr.sun_path));
|
||||||
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The source was sizeof(struct sockaddr_un) bytes long.
|
||||||
|
But the destination was sizeof(svc_addr.sun_path) bytes long only.
|
||||||
|
|
||||||
|
svc_addr is a struct sockaddr_un but the sun_path field is shorter (1
|
||||||
|
byte shorter according to the compiler) than the complete struct
|
||||||
|
sockaddr_un.
|
||||||
|
|
||||||
|
src/winscard_msg.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 2bef09483a51c9835ae70f4647791c9c00b98861
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Oct 12 10:53:41 2018 +0200
|
||||||
|
|
||||||
|
Fix compiler warning: cast between incompatible function
|
||||||
|
|
||||||
|
hotplug_libudev.c: In function ‘HPRegisterForHotplugEvents’:
|
||||||
|
hotplug_libudev.c:769:3: warning: cast between incompatible function types from ‘void (*)(void *)’ to ‘void * (*)(void *)’ [-Wcast-function-type]
|
||||||
|
(PCSCLITE_THREAD_FUNCTION( )) HPEstablishUSBNotifications, udev_monitor))
|
||||||
|
^
|
||||||
|
|
||||||
|
src/hotplug_libudev.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 3c80087b60fa30b45ee240f3c58a8562275c08f4
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Oct 12 10:52:47 2018 +0200
|
||||||
|
|
||||||
|
Fix compiler warning: cast between incompatible function
|
||||||
|
|
||||||
|
eventhandler.c: In function ‘EHSpawnEventHandler’:
|
||||||
|
eventhandler.c:234:3: warning: cast between incompatible function types from ‘void (*)(READER_CONTEXT *)’ {aka ‘void (*)(struct ReaderContext *)’} to ‘void * (*)(void *)’ [-Wcast-function-type]
|
||||||
|
(PCSCLITE_THREAD_FUNCTION( ))EHStatusHandlerThread, (LPVOID) rContext);
|
||||||
|
^
|
||||||
|
|
||||||
|
src/eventhandler.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
commit d6ba979b448901a063af537ef8ad68ca0b76727a
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Oct 12 10:51:48 2018 +0200
|
||||||
|
|
||||||
|
Fix compiler warning: cast between incompatible function
|
||||||
|
|
||||||
|
winscard_svc.c: In function ‘CreateContextThread’:
|
||||||
|
winscard_svc.c:237:3: warning: cast between incompatible function types from ‘void (*)(void *)’ to ‘void * (*)(void *)’ [-Wcast-function-type]
|
||||||
|
(PCSCLITE_THREAD_FUNCTION( )) ContextThread, (LPVOID) newContext);
|
||||||
|
^
|
||||||
|
|
||||||
|
src/winscard_svc.c | 4 ++--
|
||||||
|
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
commit 0984e0f4a03e5e29bb5725b6f149f56c9e9c73c2
|
||||||
|
Author: Mateusz Piotrowski <0mp@FreeBSD.org>
|
||||||
|
Date: Tue Oct 9 12:10:13 2018 +0200
|
||||||
|
|
||||||
|
Remove license information for src/sd-daemon.{c,h}
|
||||||
|
|
||||||
|
Those files were removed in 30e10951.
|
||||||
|
|
||||||
|
COPYING | 24 ------------------------
|
||||||
|
1 file changed, 24 deletions(-)
|
||||||
|
|
||||||
|
commit db6b67acf7027ecbc275cdb8242cddf3e6508b26 (zotac/master, zmaster)
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon Oct 8 14:41:53 2018 +0200
|
||||||
|
|
||||||
|
Rename POWER_STATE_INUSE -> POWER_STATE_IN_USE
|
||||||
|
|
||||||
|
src/pcscd.h.in | 2 +-
|
||||||
|
src/winscard.c | 8 ++++----
|
||||||
|
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
commit 5467a3896755f05e406fda15be090b9376909d6e
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon Oct 8 14:29:20 2018 +0200
|
||||||
|
|
||||||
|
UT for SCardReconnect(): suspend card auto power off
|
||||||
|
|
||||||
|
Check the card is not auto powered off after 5 seconds when
|
||||||
|
SCardReconnect() is used.
|
||||||
|
|
||||||
|
UnitaryTests/CheckAutoPowerOff.py | 91 +++++++++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 91 insertions(+)
|
||||||
|
|
||||||
|
commit 02dd27bfd19a88c051b91885472e5f6144f7a0a5
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon Oct 8 14:24:18 2018 +0200
|
||||||
|
|
||||||
|
SCardReconnect(): suspend card auto power off
|
||||||
|
|
||||||
|
When the card is reconnected the power state must be changed to
|
||||||
|
POWER_STATE_INUSE so that card auto power off is not triggered.
|
||||||
|
|
||||||
|
See associated Unitary Test CheckAutoPowerOff.py
|
||||||
|
|
||||||
|
Thanks to Christophe Ferrando for the bug report
|
||||||
|
|
||||||
|
src/winscard.c | 6 ++++++
|
||||||
|
1 file changed, 6 insertions(+)
|
||||||
|
|
||||||
|
commit c3bcdeb702658cd6233133b5f092292c9360a7d9
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Thu Oct 4 15:12:19 2018 +0200
|
||||||
|
|
||||||
|
MSGRemoveContext(): always disconnect the card
|
||||||
|
|
||||||
|
We need to call SCardDisconnect() in all cases so that the card use
|
||||||
|
counter is always decremented when a client disappear.
|
||||||
|
|
||||||
|
- when no lock is in use
|
||||||
|
- when a lock is in use
|
||||||
|
- but the lock is held by another context
|
||||||
|
- the lock is held by the current context
|
||||||
|
|
||||||
|
The bug effect was that smart card auto power off was not working
|
||||||
|
correctly.
|
||||||
|
|
||||||
|
src/winscard_svc.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
commit 46d174c492791bdb8205f29b3d5bfd903f4a798d
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Thu Oct 4 14:45:12 2018 +0200
|
||||||
|
|
||||||
|
MSGRemoveContext(): Do not reset the card if no lock
|
||||||
|
|
||||||
|
If the card was not locked (PC/SC transaction) then no need to reset it
|
||||||
|
when the context is released.
|
||||||
|
|
||||||
|
src/winscard_svc.c | 46 +++++++++++++++++++++++++++-------------------
|
||||||
|
1 file changed, 27 insertions(+), 19 deletions(-)
|
||||||
|
|
||||||
|
commit c2d79706d8074cc19c6d1e0a1b7a08137936911c
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Thu Oct 4 14:36:27 2018 +0200
|
||||||
|
|
||||||
|
MSGRemoveContext(): disconnect also if no lock is ongoing
|
||||||
|
|
||||||
|
If SCardDisconnect() is not called by the application it should be
|
||||||
|
called by pcscd to enable card auto power off.
|
||||||
|
|
||||||
|
This fixes a regression added by 57092b3.
|
||||||
|
|
||||||
|
src/winscard_svc.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit dde4deb7f709c2a54d791249a3e08f94a3763ca5
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Tue Oct 2 14:30:11 2018 +0200
|
||||||
|
|
||||||
|
Unit Test for bug fixed in 57092b3
|
||||||
|
|
||||||
|
UnitaryTests/SCardBeginTransaction_SharedMode.py | 132 +++++++++++++++++++++++
|
||||||
|
1 file changed, 132 insertions(+)
|
||||||
|
|
||||||
|
commit 57092b35cab35a9d939cd9094c49d8ecac85f1d2
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Tue Oct 2 14:22:48 2018 +0200
|
||||||
|
|
||||||
|
MSGRemoveContext(): only release a owned transaction
|
||||||
|
|
||||||
|
SCardReleaseContext() shall NOT release a lock (PC/SC transaction)
|
||||||
|
owned by another context.
|
||||||
|
|
||||||
|
Thanks to Frederic Hoerni for the bug report
|
||||||
|
"[Pcsclite-muscle] closing client cancels ongoing transaction"
|
||||||
|
http://lists.infradead.org/pipermail/pcsclite-muscle/2018-September/001126.html
|
||||||
|
|
||||||
|
src/winscard_svc.c | 20 ++++++++++----------
|
||||||
|
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
commit ea1ecdeb0fcfb77863ac03615f2c82b48d9a9c9a
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Sat Sep 15 18:20:46 2018 +0200
|
||||||
|
|
||||||
|
Add the thread id in the log lines
|
||||||
|
|
||||||
|
src/debuglog.c | 12 +++++++++++-
|
||||||
|
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit ded26af34a07d4bde9e86334519dc1799fbe6633
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jul 27 16:29:37 2018 +0200
|
||||||
|
|
||||||
|
Fix compiler warning: missing field 'rv' initializer
|
||||||
|
|
||||||
|
winscard_svc.c:814:44: warning: missing field 'rv' initializer
|
||||||
|
[-Wmissing-field-initializers]
|
||||||
|
struct wait_reader_state_change waStr = {0};
|
||||||
|
^
|
||||||
|
|
||||||
|
src/winscard_svc.c | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit e632d595fc7f1a7be73353ba2c9d89b509389917
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jul 27 16:28:35 2018 +0200
|
||||||
|
|
||||||
|
Fix compiler warning missing field 'rv' initializer
|
||||||
|
|
||||||
|
winscard_svc.c:428:47: warning: missing field 'rv' initializer
|
||||||
|
[-Wmissing-field-initializers]
|
||||||
|
struct wait_reader_state_change waStr = {0};
|
||||||
|
|
||||||
|
src/winscard_svc.c | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 54224a4cbf60f95f2da5f0978c62656f3369b700
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jul 27 16:00:49 2018 +0200
|
||||||
|
|
||||||
|
Fix SCardGetStatusChange() broken in a previous patch 984f84df
|
||||||
|
|
||||||
|
The patch in 984f84df10e2d0f432039e3b31f94c74e95092eb broke the
|
||||||
|
execution of SCardGetStatusChange() when SCardCancel() is used.
|
||||||
|
|
||||||
|
The client was waiting for a message that was never sent by the server.
|
||||||
|
|
||||||
|
Fortunately the broken code was never released in a stable version of
|
||||||
|
pcsc-lite.
|
||||||
|
|
||||||
|
Thanks to Sam Van Den Berge for the bug report
|
||||||
|
"[Pcsclite-muscle] SCardCancel broken"
|
||||||
|
http://lists.infradead.org/pipermail/pcsclite-muscle/2018-July/001096.html
|
||||||
|
|
||||||
|
Hello,
|
||||||
|
|
||||||
|
It seems like SCardGetStatusChange is currently broken.
|
||||||
|
This can be tested with UnitaryTests/SCardCancel.
|
||||||
|
|
||||||
|
Before commit 984f84df10e2d0f432039e3b31f94c74e95092eb:
|
||||||
|
|
||||||
|
$ LD_LIBRARY_PATH=../src/.libs/ ./SCardCancel
|
||||||
|
SCardEstablishContext:[0x00000000] Command successful.
|
||||||
|
Press Enter to cancel within 3 seconds
|
||||||
|
Entering blocking call
|
||||||
|
|
||||||
|
Calling SCardCancel...
|
||||||
|
SCardGetStatusChange:[0x80100002] Command cancelled.
|
||||||
|
Blocking call canceled
|
||||||
|
Good
|
||||||
|
SCardCancel:[0x00000000] Command successful.
|
||||||
|
SCardReleaseContext:[0x00000000] Command successful.
|
||||||
|
Waiting thread...
|
||||||
|
|
||||||
|
After commit 984f84df10e2d0f432039e3b31f94c74e95092eb:
|
||||||
|
|
||||||
|
$ LD_LIBRARY_PATH=../src/.libs/ ./SCardCancel
|
||||||
|
SCardEstablishContext:[0x00000000] Command successful.
|
||||||
|
Press Enter to cancel within 3 seconds
|
||||||
|
Entering blocking call
|
||||||
|
|
||||||
|
Calling SCardCancel...
|
||||||
|
SCardCancel:[0x00000000] Command successful.
|
||||||
|
|
||||||
|
<<<<<<<<< SCardGetStatusChange hangs here >>>>>>>>>
|
||||||
|
|
||||||
|
I don't have a fix but I just wanted to report this. Besides this big
|
||||||
|
thank you for all your great work!
|
||||||
|
|
||||||
|
Kr,
|
||||||
|
Sam.
|
||||||
|
|
||||||
|
src/winscard_clnt.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit ddf725874447a339f4ed69c70e1ad70b3d6c4d1c
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jun 29 17:16:03 2018 +0200
|
||||||
|
|
||||||
|
Doxygen: documentation moved to pcsclite.apdu.fr
|
||||||
|
|
||||||
|
Update the update.sh script to update the Doxygen documentation pages.
|
||||||
|
|
||||||
|
doc/update.sh | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 01677078a426d82f913ca43583390f6cb9e5b29c
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jun 29 16:31:30 2018 +0200
|
||||||
|
|
||||||
|
Allow "=" in serial driver filenames
|
||||||
|
|
||||||
|
For example the configuration:
|
||||||
|
LIBPATH /tmp/lib/pcsc/drivers/lib=ccid.dylib
|
||||||
|
failed with:
|
||||||
|
00000057 configfile.l:165:evaluatetoken() Error with library /tmp/lib/pcsc/drivers/lib: No such file or directory
|
||||||
|
|
||||||
|
The problem was detected on Android 8.0 with file names such as:
|
||||||
|
/data/app/com.baimobile.android.enterprise.credential.service-4wM9GBtoaS74ZiA0Y25YuQ==/lib/arm64/lib_some_reader_driver.so
|
||||||
|
|
||||||
|
Thanks to Alan Kozlay for the bug report and patch.
|
||||||
|
|
||||||
|
src/configfile.l | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 08664ae6e9b442ce6e6d54385dcba4d9cb70b2ca
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jun 29 16:28:13 2018 +0200
|
||||||
|
|
||||||
|
Doxygen: fix warning
|
||||||
|
|
||||||
|
PCSC/src/PCSC/ifdhandler.h:84: warning: Unsupported xml/html tag
|
||||||
|
<string> found
|
||||||
|
|
||||||
|
src/PCSC/ifdhandler.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit d412c4bb65cc26f124fd5adb5f81299b08789d8e
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jun 29 16:23:39 2018 +0200
|
||||||
|
|
||||||
|
Doxygen: do not document disabled functions
|
||||||
|
|
||||||
|
If USE_LIBSYSTEMD is not defined then ListenExistingSocket() is not
|
||||||
|
implemented and the associated Doxygen documentation should not be
|
||||||
|
present.
|
||||||
|
|
||||||
|
Fix Doxygen warning:
|
||||||
|
PCSC/src/winscard_msg_srv.c:193: warning: argument 'fd' of command @param is not found in the argument list of ProcessEventsServer(uint32_t *pdwClientID)
|
||||||
|
|
||||||
|
src/winscard_msg_srv.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit e4f50dc1cf264e0159524043a6f5fc1263942c32
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Jun 29 16:19:55 2018 +0200
|
||||||
|
|
||||||
|
Doxygen: Use " " for FRIENDLYNAME
|
||||||
|
|
||||||
|
The FRIENDLYNAME declaration for reader.conf files must use " " if space
|
||||||
|
characters are present in the name.
|
||||||
|
|
||||||
|
src/PCSC/ifdhandler.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit f14658076f12dde739a0e94a71036f62f83b1259
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon May 28 11:32:21 2018 +0200
|
||||||
|
|
||||||
|
Makefile.am: do not distribute DRIVERS
|
||||||
|
|
||||||
|
The DRIVERS files has been removed because it was obsolete. Do not
|
||||||
|
include it in the generated tarball.
|
||||||
|
|
||||||
|
Makefile.am | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 5616594ce51a9b1e1fa6d913b3f8001289924a15
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon May 21 23:06:44 2018 +0200
|
||||||
|
|
||||||
|
ifdhandler.h: fix PC/SC Driver Developers Kit URL
|
||||||
|
|
||||||
|
It is now at https://muscle.apdu.fr/musclecard.com/sourcedrivers.html
|
||||||
|
|
||||||
|
src/PCSC/ifdhandler.h | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit e93d7199fe69f35267421b51e673eca3b0e18b49
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon May 21 23:05:52 2018 +0200
|
||||||
|
|
||||||
|
HELP: fix Musle mailing list information
|
||||||
|
|
||||||
|
Move from muscle@lists.musclecard.com to pcsclite-muscle@lists.infradead.org
|
||||||
|
|
||||||
|
HELP | 5 +++--
|
||||||
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
commit dd40b62179791d108de37dc164da672a12b39064
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon May 21 23:01:51 2018 +0200
|
||||||
|
|
||||||
|
DRIVERS: remove outdated file
|
||||||
|
|
||||||
|
Fixes issue #37
|
||||||
|
"drivers aren't available at given location"
|
||||||
|
https://github.com/LudovicRousseau/PCSC/issues/37
|
||||||
|
|
||||||
|
DRIVERS | 28 ----------------------------
|
||||||
|
1 file changed, 28 deletions(-)
|
||||||
|
|
||||||
|
commit 378ed84c4cfa0b373b793e62540549bf0eeb9b79
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri May 18 17:54:07 2018 +0200
|
||||||
|
|
||||||
|
Fix project URL
|
||||||
|
|
||||||
|
Move from pcsclite.alioth.debian.org to pcsclite.apdu.fr
|
||||||
|
|
||||||
|
UnitaryTests/BufferOverflow_SCardControl.c | 2 +-
|
||||||
|
UnitaryTests/BufferOverflow_SCardGetAttrib.c | 2 +-
|
||||||
|
UnitaryTests/BufferOverflow_SCardTransmit.c | 2 +-
|
||||||
|
doc/example/pcsc_demo.c | 2 +-
|
||||||
|
doc/org.debian.pcsc-lite.policy | 2 +-
|
||||||
|
doc/pcscd.8.in | 2 +-
|
||||||
|
src/PCSC/debuglog.h | 2 +-
|
||||||
|
src/PCSC/ifdhandler.h | 7 +++----
|
||||||
|
src/PCSC/pcsclite.h.in | 2 +-
|
||||||
|
src/PCSC/reader.h | 2 +-
|
||||||
|
src/PCSC/winscard.h | 2 +-
|
||||||
|
src/PCSC/wintypes.h | 2 +-
|
||||||
|
src/atrhandler.c | 2 +-
|
||||||
|
src/atrhandler.h | 2 +-
|
||||||
|
src/auth.c | 2 +-
|
||||||
|
src/auth.h | 2 +-
|
||||||
|
src/configfile.h | 2 +-
|
||||||
|
src/configfile.l | 2 +-
|
||||||
|
src/debug.c | 2 +-
|
||||||
|
src/debuglog.c | 2 +-
|
||||||
|
src/dyn_generic.h | 2 +-
|
||||||
|
src/dyn_hpux.c | 2 +-
|
||||||
|
src/dyn_macosx.c | 2 +-
|
||||||
|
src/dyn_unix.c | 2 +-
|
||||||
|
src/error.c | 2 +-
|
||||||
|
src/eventhandler.c | 2 +-
|
||||||
|
src/eventhandler.h | 2 +-
|
||||||
|
src/hotplug.h | 2 +-
|
||||||
|
src/hotplug_generic.c | 2 +-
|
||||||
|
src/hotplug_libudev.c | 2 +-
|
||||||
|
src/hotplug_libusb.c | 2 +-
|
||||||
|
src/hotplug_linux.c | 2 +-
|
||||||
|
src/hotplug_macosx.c | 2 +-
|
||||||
|
src/ifdwrapper.c | 2 +-
|
||||||
|
src/ifdwrapper.h | 2 +-
|
||||||
|
src/misc.h | 2 +-
|
||||||
|
src/parser.h | 2 +-
|
||||||
|
src/pcscd.h.in | 2 +-
|
||||||
|
src/pcscdaemon.c | 2 +-
|
||||||
|
src/prothandler.c | 2 +-
|
||||||
|
src/prothandler.h | 2 +-
|
||||||
|
src/readerfactory.c | 2 +-
|
||||||
|
src/readerfactory.h | 2 +-
|
||||||
|
src/strlcpycat.h | 2 +-
|
||||||
|
src/sys_generic.h | 2 +-
|
||||||
|
src/sys_unix.c | 2 +-
|
||||||
|
src/testpcsc.c | 2 +-
|
||||||
|
src/tokenparser.l | 2 +-
|
||||||
|
src/utils.c | 2 +-
|
||||||
|
src/utils.h | 2 +-
|
||||||
|
src/utils/formaticc.c | 2 +-
|
||||||
|
src/utils/installifd.c | 2 +-
|
||||||
|
src/winscard.c | 2 +-
|
||||||
|
src/winscard_clnt.c | 2 +-
|
||||||
|
src/winscard_msg.c | 2 +-
|
||||||
|
src/winscard_msg.h | 2 +-
|
||||||
|
src/winscard_msg_srv.c | 2 +-
|
||||||
|
src/winscard_svc.c | 2 +-
|
||||||
|
src/winscard_svc.h | 2 +-
|
||||||
|
59 files changed, 61 insertions(+), 62 deletions(-)
|
||||||
|
|
||||||
|
commit 78505c8b025454de296331652b767e7bd198e593
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri May 18 17:26:13 2018 +0200
|
||||||
|
|
||||||
|
README.md: Fix project URL
|
||||||
|
|
||||||
|
Move from pcsclite.alioth.debian.org to pcsclite.apdu.fr
|
||||||
|
|
||||||
|
README.md | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 984f84df10e2d0f432039e3b31f94c74e95092eb
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Mon Apr 23 10:03:21 2018 +0200
|
||||||
|
|
||||||
|
Fix a rare race condition in SCardGetStatusChange()
|
||||||
|
|
||||||
|
Thanks to Maximilian Stein for the patch
|
||||||
|
|
||||||
|
[Pcsclite-muscle] Rare race condition in SCardGetStatusChange()
|
||||||
|
http://lists.infradead.org/pipermail/pcsclite-muscle/2018-April/001068.html
|
||||||
|
|
||||||
|
" Hello all,
|
||||||
|
|
||||||
|
recently we stumbled upon another (rare) race condition in the
|
||||||
|
SCardGetStatusChange() function. I especially ask Maksim Ivanov and
|
||||||
|
Florian Kaiser kindly to share their opinion about the problem and the
|
||||||
|
proposed fix, since they did a good job in improving
|
||||||
|
SCardGetStatusChange/SCardCancel in the recent past.
|
||||||
|
|
||||||
|
The problem:
|
||||||
|
The problem is basically the small gap between fetching the reader
|
||||||
|
states from pcscd [winscard_clnt.c:1741 and 2119] and registering for
|
||||||
|
event notifications [winscard_clnt.c:2070]. If a notification is sent in
|
||||||
|
this time period, SCardGetStatusChange() will sleep until another event
|
||||||
|
or the internal time-out is reached. Consider the following flow of
|
||||||
|
execution and events:
|
||||||
|
|
||||||
|
Precondition: [client] knows the current state of all readers from a
|
||||||
|
previous call to SCardGetStatusChange() and no changes happened since
|
||||||
|
then. Basically consider a thread that monitors the reader states which
|
||||||
|
calls SCardGetStatusChange() in a loop.
|
||||||
|
1. [client] calls SCardGetStatusChange() and fetches the reader states
|
||||||
|
from pcscd (line 1741). The fetched states are equal to the already
|
||||||
|
known states.
|
||||||
|
2. [pcscd] notices a change in any terminal state (smartcard movement or
|
||||||
|
number of connected clients to the smartcard changes) and sends a signal
|
||||||
|
to all *registered* clients via EHSignalEventToClients(). [client] is
|
||||||
|
not yet registered for event notifications, so EHSignalEventToClients()
|
||||||
|
won't send anything.
|
||||||
|
3. [client] continues execution and compares the given reader states to
|
||||||
|
the states fetched before [pcscd] noticed the change. The states are
|
||||||
|
equal so it registers for event notifications (line 2070). No
|
||||||
|
notification was sent, so [client] sleeps until the internal time-out
|
||||||
|
(60 seconds) is reached.
|
||||||
|
4. [client] reaches the internal time-out and fetches the current reader
|
||||||
|
states from [pcscd]. Now the states are different and
|
||||||
|
SCardGetStatusChange returns.
|
||||||
|
|
||||||
|
In the end the state change is noticed thanks to the internal polling
|
||||||
|
mechanism, but in automated environments, 60 seconds is a very long time
|
||||||
|
until a state change is detected. The error is most likely to occur if
|
||||||
|
multiple readers are used and state changes are frequent. Even more
|
||||||
|
likely it occurs if reader state polling is used by pcscd, i.e. when the
|
||||||
|
IFD handler does not support asynchronous card event notification (no
|
||||||
|
capability TAG_IFD_POLLING_THREAD_WITH_TIMEOUT). Then multiple readers
|
||||||
|
can accumulate their events to be processed in a very small time frame.
|
||||||
|
|
||||||
|
Suggestion for a fix:
|
||||||
|
The proposed fix makes fetching the reader states and registering for
|
||||||
|
event notifications an atomic action. The command
|
||||||
|
CMD_WAIT_READER_STATE_CHANGE expected no return value anyway, so I made
|
||||||
|
it return the reader states equal to CMD_GET_READERS_STATE. The action
|
||||||
|
is protected by the ClientsWaitingForEvent_lock in eventhandler.c, which
|
||||||
|
prevents parallel calls of MSGSignalClient() via
|
||||||
|
EHSignalEventToClients(). This is necessary to prevent a signal before
|
||||||
|
the reader states are sent, which would appear as garbage in the client
|
||||||
|
socket.
|
||||||
|
|
||||||
|
With the proposed fix, the client is registered for events after the
|
||||||
|
reader states were fetched. So if any difference is found in the local
|
||||||
|
and remote state (so that SCardGetStatusChange() returns) we have to
|
||||||
|
unregister from events. This was not necessary before, but works just
|
||||||
|
like unregistering after a timeout. This could be refined by checking
|
||||||
|
why the loop was exited and only unregister if necessary.
|
||||||
|
|
||||||
|
Unfortunately the proposed fix will slightly alter the internal protocol
|
||||||
|
between libpcsclite and pcscd, breaking statically linked client
|
||||||
|
applications with newer pcscd versions.
|
||||||
|
|
||||||
|
Further related thoughts:
|
||||||
|
I'm a bit uncertain if my proposed fix works nicely with SCardCancel(),
|
||||||
|
because I can think of one very rare situation when
|
||||||
|
SCardGetStatusChange() times out and unregisters from event
|
||||||
|
notifications, then gets cancelled but is not informed about that. Then
|
||||||
|
it re-registers for notifications, because no changes happened. Thus it
|
||||||
|
will not returned despite it was cancelled. But this should have been an
|
||||||
|
issue even before my fix.
|
||||||
|
|
||||||
|
I think the notification mechanism could be improved by using "response
|
||||||
|
headers" analogous to the server side, or just an additional field
|
||||||
|
"command" in the data structs. This way every message related to reader
|
||||||
|
state events could be identified by the client and handled respectively.
|
||||||
|
As I understand it, some of the past issues were because of signal,
|
||||||
|
cancel or stop-reader-state-change messages messing up the client socket
|
||||||
|
data. With a command field it can be decided what data the client
|
||||||
|
received, and what data is still expected to be received.
|
||||||
|
|
||||||
|
Best regards
|
||||||
|
Maximilian Stein "
|
||||||
|
|
||||||
|
src/eventhandler.c | 2 ++
|
||||||
|
src/winscard_clnt.c | 79 ++++++++++++++++++++++++++++++++++++-----------------
|
||||||
|
src/winscard_msg.h | 2 +-
|
||||||
|
src/winscard_svc.c | 31 +++++++++++++--------
|
||||||
|
src/winscard_svc.h | 1 +
|
||||||
|
5 files changed, 78 insertions(+), 37 deletions(-)
|
||||||
|
|
||||||
|
commit 0127d3c73d0ad2072407d880b92baf454992b27d
|
||||||
|
Author: Nicolas Dusart <dusartnicolas@gmail.com>
|
||||||
|
Date: Wed Mar 21 18:00:26 2018 +0100
|
||||||
|
|
||||||
|
Simclist: avoid to divide by zero in list_findpos()
|
||||||
|
|
||||||
|
A division by zero with float is undefined in C.
|
||||||
|
For example gcc 6.3.0 reports (when detected):
|
||||||
|
dividebyzero.c:5:20: warning: division by zero [-Wdiv-by-zero]
|
||||||
|
float a = (float)1/0;
|
||||||
|
|
||||||
|
But the code does NOT crash. The value of a is just infinity.
|
||||||
|
|
||||||
|
The problem is when Free Pascal runtime is used. In this case the code crashed.
|
||||||
|
|
||||||
|
src/simclist.c | 5 ++++-
|
||||||
|
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
commit 2f99e761e000c2c0ef1eb3bd6954b770ac294f22
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Fri Feb 2 15:21:25 2018 +0100
|
||||||
|
|
||||||
|
pcsc-spy: correctly handle incomplete log file
|
||||||
|
|
||||||
|
If the application is interrupted in the middle of a PC/SC call then we
|
||||||
|
do not get the returned values of the PC/SC call.
|
||||||
|
The total execution time is then not known and -1 seconds is displayed
|
||||||
|
instead.
|
||||||
|
|
||||||
|
src/spy/pcsc-spy | 10 +++++++---
|
||||||
|
1 file changed, 7 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
commit cc70541a47058fc0c6f16a964c75dfcd5b7c88e2
|
||||||
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
Date: Tue Dec 19 16:13:42 2017 +0100
|
||||||
|
|
||||||
|
systemd pcscd.service: add Documentation key
|
||||||
|
|
||||||
|
For now the documentation refers to pcscd(8) manpage.
|
||||||
|
|
||||||
|
etc/pcscd.service.in | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
commit 09f0f85b86e7488cf26642dd17150f76bed5300c (tag: pcsc-1.8.23)
|
||||||
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
Date: Mon Dec 18 19:56:49 2017 +0100
|
Date: Mon Dec 18 19:56:49 2017 +0100
|
||||||
|
|
||||||
|
@ -8,7 +643,7 @@ Date: Mon Dec 18 19:56:49 2017 +0100
|
||||||
configure.ac | 2 +-
|
configure.ac | 2 +-
|
||||||
2 files changed, 9 insertions(+), 1 deletion(-)
|
2 files changed, 9 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
commit 1dde8427236fa988e9f488baa46d7316691a5555 (origin/master, origin/HEAD)
|
commit 1dde8427236fa988e9f488baa46d7316691a5555
|
||||||
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
Date: Tue Nov 14 15:09:25 2017 +0100
|
Date: Tue Nov 14 15:09:25 2017 +0100
|
||||||
|
|
||||||
|
@ -194,7 +829,7 @@ Date: Tue Aug 1 10:11:29 2017 +0200
|
||||||
configure.ac | 2 +-
|
configure.ac | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
commit 8946edadaca353d65112664a5fcd7bbe1be54ed5
|
commit 8946edadaca353d65112664a5fcd7bbe1be54ed5 (zotac/fix)
|
||||||
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
Date: Wed Jul 12 17:59:48 2017 +0200
|
Date: Wed Jul 12 17:59:48 2017 +0200
|
||||||
|
|
||||||
|
@ -209,7 +844,7 @@ Date: Wed Jul 12 17:59:48 2017 +0200
|
||||||
src/simclist.c | 7 +++++++
|
src/simclist.c | 7 +++++++
|
||||||
1 file changed, 7 insertions(+)
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
commit 30e10951f81b9480e788965f89d0d4d0aee909c0 (zotac/master, github/master)
|
commit 30e10951f81b9480e788965f89d0d4d0aee909c0
|
||||||
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
Author: Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
Date: Thu Jul 13 17:52:13 2017 +0200
|
Date: Thu Jul 13 17:52:13 2017 +0200
|
||||||
|
|
||||||
|
|
28
DRIVERS
28
DRIVERS
|
@ -1,28 +0,0 @@
|
||||||
DRIVERS
|
|
||||||
|
|
||||||
To install USB drivers, download the driver from
|
|
||||||
http://musclecard.com/software.html and copy it to a temporary location.
|
|
||||||
After you have unarchived the files copy the directory to
|
|
||||||
/usr/local/pcsc/drivers/. If the directory /usr/local/pcsc/drivers/
|
|
||||||
does not exist create it before copying the driver directory to it.
|
|
||||||
|
|
||||||
Example Mac OS X, Linux 2.4:
|
|
||||||
|
|
||||||
tar -xzvf driver.bundle-0.1.0.tar.gz
|
|
||||||
cp -r driver.bundle /usr/local/pcsc/drivers/
|
|
||||||
cd /usr/local/pcsc/drivers/driver.bundle
|
|
||||||
build or use Project Builder to build
|
|
||||||
|
|
||||||
The /usr/local/pcsc/drivers/ directory should contain bundle directories only.
|
|
||||||
You must restart pcscd to use the new driver.
|
|
||||||
|
|
||||||
|
|
||||||
All OS's:
|
|
||||||
|
|
||||||
For non-USB users, you must edit the /etc/reader.conf file.
|
|
||||||
You can do this easily by running the installifd program in the utils/
|
|
||||||
directory of pcsc-lite. Some newer drivers require you to specify 1 as the
|
|
||||||
port and then make a symlink from /dev/pcsc/1 to /dev/ttyS* so you can
|
|
||||||
enumerate your ports on any Unix without changing the driver.
|
|
||||||
|
|
||||||
Refer to the driver README for more information.
|
|
5
HELP
5
HELP
|
@ -1,6 +1,7 @@
|
||||||
General questions:
|
General questions:
|
||||||
Contact the mailing list muscle@lists.musclecard.com
|
Contact the mailing list pcsclite-muscle@lists.infradead.org
|
||||||
(you must subscribe first at http://musclecard.com/list.html)
|
(you must subscribe first at
|
||||||
|
https://lists.infradead.org/mailman/listinfo/pcsclite-muscle )
|
||||||
|
|
||||||
|
|
||||||
Contract work:
|
Contract work:
|
||||||
|
|
316
INSTALL
316
INSTALL
|
@ -1,8 +1,8 @@
|
||||||
Installation Instructions
|
Installation Instructions
|
||||||
*************************
|
*************************
|
||||||
|
|
||||||
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
|
Copyright (C) 1994-1996, 1999-2002, 2004-2016 Free Software
|
||||||
Inc.
|
Foundation, Inc.
|
||||||
|
|
||||||
Copying and distribution of this file, with or without modification,
|
Copying and distribution of this file, with or without modification,
|
||||||
are permitted in any medium without royalty provided the copyright
|
are permitted in any medium without royalty provided the copyright
|
||||||
|
@ -12,97 +12,96 @@ without warranty of any kind.
|
||||||
Basic Installation
|
Basic Installation
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Briefly, the shell command `./configure && make && make install'
|
Briefly, the shell command './configure && make && make install'
|
||||||
should configure, build, and install this package. The following
|
should configure, build, and install this package. The following
|
||||||
more-detailed instructions are generic; see the `README' file for
|
more-detailed instructions are generic; see the 'README' file for
|
||||||
instructions specific to this package. Some packages provide this
|
instructions specific to this package. Some packages provide this
|
||||||
`INSTALL' file but do not implement all of the features documented
|
'INSTALL' file but do not implement all of the features documented
|
||||||
below. The lack of an optional feature in a given package is not
|
below. The lack of an optional feature in a given package is not
|
||||||
necessarily a bug. More recommendations for GNU packages can be found
|
necessarily a bug. More recommendations for GNU packages can be found
|
||||||
in *note Makefile Conventions: (standards)Makefile Conventions.
|
in *note Makefile Conventions: (standards)Makefile Conventions.
|
||||||
|
|
||||||
The `configure' shell script attempts to guess correct values for
|
The 'configure' shell script attempts to guess correct values for
|
||||||
various system-dependent variables used during compilation. It uses
|
various system-dependent variables used during compilation. It uses
|
||||||
those values to create a `Makefile' in each directory of the package.
|
those values to create a 'Makefile' in each directory of the package.
|
||||||
It may also create one or more `.h' files containing system-dependent
|
It may also create one or more '.h' files containing system-dependent
|
||||||
definitions. Finally, it creates a shell script `config.status' that
|
definitions. Finally, it creates a shell script 'config.status' that
|
||||||
you can run in the future to recreate the current configuration, and a
|
you can run in the future to recreate the current configuration, and a
|
||||||
file `config.log' containing compiler output (useful mainly for
|
file 'config.log' containing compiler output (useful mainly for
|
||||||
debugging `configure').
|
debugging 'configure').
|
||||||
|
|
||||||
It can also use an optional file (typically called `config.cache'
|
It can also use an optional file (typically called 'config.cache' and
|
||||||
and enabled with `--cache-file=config.cache' or simply `-C') that saves
|
enabled with '--cache-file=config.cache' or simply '-C') that saves the
|
||||||
the results of its tests to speed up reconfiguring. Caching is
|
results of its tests to speed up reconfiguring. Caching is disabled by
|
||||||
disabled by default to prevent problems with accidental use of stale
|
default to prevent problems with accidental use of stale cache files.
|
||||||
cache files.
|
|
||||||
|
|
||||||
If you need to do unusual things to compile the package, please try
|
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
|
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
|
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
|
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
|
some point 'config.cache' contains results you don't want to keep, you
|
||||||
may remove or edit it.
|
may remove or edit it.
|
||||||
|
|
||||||
The file `configure.ac' (or `configure.in') is used to create
|
The file 'configure.ac' (or 'configure.in') is used to create
|
||||||
`configure' by a program called `autoconf'. You need `configure.ac' if
|
'configure' by a program called 'autoconf'. You need 'configure.ac' if
|
||||||
you want to change it or regenerate `configure' using a newer version
|
you want to change it or regenerate 'configure' using a newer version of
|
||||||
of `autoconf'.
|
'autoconf'.
|
||||||
|
|
||||||
The simplest way to compile this package is:
|
The simplest way to compile this package is:
|
||||||
|
|
||||||
1. `cd' to the directory containing the package's source code and type
|
1. 'cd' to the directory containing the package's source code and type
|
||||||
`./configure' to configure the package for your system.
|
'./configure' to configure the package for your system.
|
||||||
|
|
||||||
Running `configure' might take a while. While running, it prints
|
Running 'configure' might take a while. While running, it prints
|
||||||
some messages telling which features it is checking for.
|
some messages telling which features it is checking for.
|
||||||
|
|
||||||
2. Type `make' to compile the package.
|
2. Type 'make' to compile the package.
|
||||||
|
|
||||||
3. Optionally, type `make check' to run any self-tests that come with
|
3. Optionally, type 'make check' to run any self-tests that come with
|
||||||
the package, generally using the just-built uninstalled binaries.
|
the package, generally using the just-built uninstalled binaries.
|
||||||
|
|
||||||
4. Type `make install' to install the programs and any data files and
|
4. Type 'make install' to install the programs and any data files and
|
||||||
documentation. When installing into a prefix owned by root, it is
|
documentation. When installing into a prefix owned by root, it is
|
||||||
recommended that the package be configured and built as a regular
|
recommended that the package be configured and built as a regular
|
||||||
user, and only the `make install' phase executed with root
|
user, and only the 'make install' phase executed with root
|
||||||
privileges.
|
privileges.
|
||||||
|
|
||||||
5. Optionally, type `make installcheck' to repeat any self-tests, but
|
5. Optionally, type 'make installcheck' to repeat any self-tests, but
|
||||||
this time using the binaries in their final installed location.
|
this time using the binaries in their final installed location.
|
||||||
This target does not install anything. Running this target as a
|
This target does not install anything. Running this target as a
|
||||||
regular user, particularly if the prior `make install' required
|
regular user, particularly if the prior 'make install' required
|
||||||
root privileges, verifies that the installation completed
|
root privileges, verifies that the installation completed
|
||||||
correctly.
|
correctly.
|
||||||
|
|
||||||
6. You can remove the program binaries and object files from the
|
6. You can remove the program binaries and object files from the
|
||||||
source code directory by typing `make clean'. To also remove the
|
source code directory by typing 'make clean'. To also remove the
|
||||||
files that `configure' created (so you can compile the package for
|
files that 'configure' created (so you can compile the package for
|
||||||
a different kind of computer), type `make distclean'. There is
|
a different kind of computer), type 'make distclean'. There is
|
||||||
also a `make maintainer-clean' target, but that is intended mainly
|
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
|
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
|
all sorts of other programs in order to regenerate files that came
|
||||||
with the distribution.
|
with the distribution.
|
||||||
|
|
||||||
7. Often, you can also type `make uninstall' to remove the installed
|
7. Often, you can also type 'make uninstall' to remove the installed
|
||||||
files again. In practice, not all packages have tested that
|
files again. In practice, not all packages have tested that
|
||||||
uninstallation works correctly, even though it is required by the
|
uninstallation works correctly, even though it is required by the
|
||||||
GNU Coding Standards.
|
GNU Coding Standards.
|
||||||
|
|
||||||
8. Some packages, particularly those that use Automake, provide `make
|
8. Some packages, particularly those that use Automake, provide 'make
|
||||||
distcheck', which can by used by developers to test that all other
|
distcheck', which can by used by developers to test that all other
|
||||||
targets like `make install' and `make uninstall' work correctly.
|
targets like 'make install' and 'make uninstall' work correctly.
|
||||||
This target is generally not run by end users.
|
This target is generally not run by end users.
|
||||||
|
|
||||||
Compilers and Options
|
Compilers and Options
|
||||||
=====================
|
=====================
|
||||||
|
|
||||||
Some systems require unusual options for compilation or linking that
|
Some systems require unusual options for compilation or linking that
|
||||||
the `configure' script does not know about. Run `./configure --help'
|
the 'configure' script does not know about. Run './configure --help'
|
||||||
for details on some of the pertinent environment variables.
|
for details on some of the pertinent environment variables.
|
||||||
|
|
||||||
You can give `configure' initial values for configuration parameters
|
You can give 'configure' initial values for configuration parameters
|
||||||
by setting variables in the command line or in the environment. Here
|
by setting variables in the command line or in the environment. Here is
|
||||||
is an example:
|
an example:
|
||||||
|
|
||||||
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
./configure CC=c99 CFLAGS=-g LIBS=-lposix
|
||||||
|
|
||||||
|
@ -113,21 +112,21 @@ Compiling For Multiple Architectures
|
||||||
|
|
||||||
You can compile the package for more than one kind of computer at the
|
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
|
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
|
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
|
directory where you want the object files and executables to go and run
|
||||||
the `configure' script. `configure' automatically checks for the
|
the 'configure' script. 'configure' automatically checks for the source
|
||||||
source code in the directory that `configure' is in and in `..'. This
|
code in the directory that 'configure' is in and in '..'. This is known
|
||||||
is known as a "VPATH" build.
|
as a "VPATH" build.
|
||||||
|
|
||||||
With a non-GNU `make', it is safer to compile the package for one
|
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
|
architecture at a time in the source code directory. After you have
|
||||||
installed the package for one architecture, use `make distclean' before
|
installed the package for one architecture, use 'make distclean' before
|
||||||
reconfiguring for another architecture.
|
reconfiguring for another architecture.
|
||||||
|
|
||||||
On MacOS X 10.5 and later systems, you can create libraries and
|
On MacOS X 10.5 and later systems, you can create libraries and
|
||||||
executables that work on multiple system types--known as "fat" or
|
executables that work on multiple system types--known as "fat" or
|
||||||
"universal" binaries--by specifying multiple `-arch' options to the
|
"universal" binaries--by specifying multiple '-arch' options to the
|
||||||
compiler but only a single `-arch' option to the preprocessor. Like
|
compiler but only a single '-arch' option to the preprocessor. Like
|
||||||
this:
|
this:
|
||||||
|
|
||||||
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
|
||||||
|
@ -136,105 +135,104 @@ this:
|
||||||
|
|
||||||
This is not guaranteed to produce working output in all cases, you
|
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
|
may have to build one architecture at a time and combine the results
|
||||||
using the `lipo' tool if you have problems.
|
using the 'lipo' tool if you have problems.
|
||||||
|
|
||||||
Installation Names
|
Installation Names
|
||||||
==================
|
==================
|
||||||
|
|
||||||
By default, `make install' installs the package's commands under
|
By default, 'make install' installs the package's commands under
|
||||||
`/usr/local/bin', include files under `/usr/local/include', etc. You
|
'/usr/local/bin', include files under '/usr/local/include', etc. You
|
||||||
can specify an installation prefix other than `/usr/local' by giving
|
can specify an installation prefix other than '/usr/local' by giving
|
||||||
`configure' the option `--prefix=PREFIX', where PREFIX must be an
|
'configure' the option '--prefix=PREFIX', where PREFIX must be an
|
||||||
absolute file name.
|
absolute file name.
|
||||||
|
|
||||||
You can specify separate installation prefixes for
|
You can specify separate installation prefixes for
|
||||||
architecture-specific files and architecture-independent files. If you
|
architecture-specific files and architecture-independent files. If you
|
||||||
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
|
pass the option '--exec-prefix=PREFIX' to 'configure', the package uses
|
||||||
PREFIX as the prefix for installing programs and libraries.
|
PREFIX as the prefix for installing programs and libraries.
|
||||||
Documentation and other data files still use the regular prefix.
|
Documentation and other data files still use the regular prefix.
|
||||||
|
|
||||||
In addition, if you use an unusual directory layout you can give
|
In addition, if you use an unusual directory layout you can give
|
||||||
options like `--bindir=DIR' to specify different values for particular
|
options like '--bindir=DIR' to specify different values for particular
|
||||||
kinds of files. Run `configure --help' for a list of the directories
|
kinds of files. Run 'configure --help' for a list of the directories
|
||||||
you can set and what kinds of files go in them. In general, the
|
you can set and what kinds of files go in them. In general, the default
|
||||||
default for these options is expressed in terms of `${prefix}', so that
|
for these options is expressed in terms of '${prefix}', so that
|
||||||
specifying just `--prefix' will affect all of the other directory
|
specifying just '--prefix' will affect all of the other directory
|
||||||
specifications that were not explicitly provided.
|
specifications that were not explicitly provided.
|
||||||
|
|
||||||
The most portable way to affect installation locations is to pass the
|
The most portable way to affect installation locations is to pass the
|
||||||
correct locations to `configure'; however, many packages provide one or
|
correct locations to 'configure'; however, many packages provide one or
|
||||||
both of the following shortcuts of passing variable assignments to the
|
both of the following shortcuts of passing variable assignments to the
|
||||||
`make install' command line to change installation locations without
|
'make install' command line to change installation locations without
|
||||||
having to reconfigure or recompile.
|
having to reconfigure or recompile.
|
||||||
|
|
||||||
The first method involves providing an override variable for each
|
The first method involves providing an override variable for each
|
||||||
affected directory. For example, `make install
|
affected directory. For example, 'make install
|
||||||
prefix=/alternate/directory' will choose an alternate location for all
|
prefix=/alternate/directory' will choose an alternate location for all
|
||||||
directory configuration variables that were expressed in terms of
|
directory configuration variables that were expressed in terms of
|
||||||
`${prefix}'. Any directories that were specified during `configure',
|
'${prefix}'. Any directories that were specified during 'configure',
|
||||||
but not in terms of `${prefix}', must each be overridden at install
|
but not in terms of '${prefix}', must each be overridden at install time
|
||||||
time for the entire installation to be relocated. The approach of
|
for the entire installation to be relocated. The approach of makefile
|
||||||
makefile variable overrides for each directory variable is required by
|
variable overrides for each directory variable is required by the GNU
|
||||||
the GNU Coding Standards, and ideally causes no recompilation.
|
Coding Standards, and ideally causes no recompilation. However, some
|
||||||
However, some platforms have known limitations with the semantics of
|
platforms have known limitations with the semantics of shared libraries
|
||||||
shared libraries that end up requiring recompilation when using this
|
that end up requiring recompilation when using this method, particularly
|
||||||
method, particularly noticeable in packages that use GNU Libtool.
|
noticeable in packages that use GNU Libtool.
|
||||||
|
|
||||||
The second method involves providing the `DESTDIR' variable. For
|
The second method involves providing the 'DESTDIR' variable. For
|
||||||
example, `make install DESTDIR=/alternate/directory' will prepend
|
example, 'make install DESTDIR=/alternate/directory' will prepend
|
||||||
`/alternate/directory' before all installation names. The approach of
|
'/alternate/directory' before all installation names. The approach of
|
||||||
`DESTDIR' overrides is not required by the GNU Coding Standards, and
|
'DESTDIR' overrides is not required by the GNU Coding Standards, and
|
||||||
does not work on platforms that have drive letters. On the other hand,
|
does not work on platforms that have drive letters. On the other hand,
|
||||||
it does better at avoiding recompilation issues, and works well even
|
it does better at avoiding recompilation issues, and works well even
|
||||||
when some directory options were not specified in terms of `${prefix}'
|
when some directory options were not specified in terms of '${prefix}'
|
||||||
at `configure' time.
|
at 'configure' time.
|
||||||
|
|
||||||
Optional Features
|
Optional Features
|
||||||
=================
|
=================
|
||||||
|
|
||||||
If the package supports it, you can cause programs to be installed
|
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
|
with an extra prefix or suffix on their names by giving 'configure' the
|
||||||
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
|
option '--program-prefix=PREFIX' or '--program-suffix=SUFFIX'.
|
||||||
|
|
||||||
Some packages pay attention to `--enable-FEATURE' options to
|
Some packages pay attention to '--enable-FEATURE' options to
|
||||||
`configure', where FEATURE indicates an optional part of the package.
|
'configure', where FEATURE indicates an optional part of the package.
|
||||||
They may also pay attention to `--with-PACKAGE' options, where 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
|
is something like 'gnu-as' or 'x' (for the X Window System). The
|
||||||
`README' should mention any `--enable-' and `--with-' options that the
|
'README' should mention any '--enable-' and '--with-' options that the
|
||||||
package recognizes.
|
package recognizes.
|
||||||
|
|
||||||
For packages that use the X Window System, `configure' can usually
|
For packages that use the X Window System, 'configure' can usually
|
||||||
find the X include and library files automatically, but if it doesn't,
|
find the X include and library files automatically, but if it doesn't,
|
||||||
you can use the `configure' options `--x-includes=DIR' and
|
you can use the 'configure' options '--x-includes=DIR' and
|
||||||
`--x-libraries=DIR' to specify their locations.
|
'--x-libraries=DIR' to specify their locations.
|
||||||
|
|
||||||
Some packages offer the ability to configure how verbose the
|
Some packages offer the ability to configure how verbose the
|
||||||
execution of `make' will be. For these packages, running `./configure
|
execution of 'make' will be. For these packages, running './configure
|
||||||
--enable-silent-rules' sets the default to minimal output, which can be
|
--enable-silent-rules' sets the default to minimal output, which can be
|
||||||
overridden with `make V=1'; while running `./configure
|
overridden with 'make V=1'; while running './configure
|
||||||
--disable-silent-rules' sets the default to verbose, which can be
|
--disable-silent-rules' sets the default to verbose, which can be
|
||||||
overridden with `make V=0'.
|
overridden with 'make V=0'.
|
||||||
|
|
||||||
Particular systems
|
Particular systems
|
||||||
==================
|
==================
|
||||||
|
|
||||||
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
|
On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC
|
||||||
CC is not installed, it is recommended to use the following options in
|
is not installed, it is recommended to use the following options in
|
||||||
order to use an ANSI C compiler:
|
order to use an ANSI C compiler:
|
||||||
|
|
||||||
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
|
||||||
|
|
||||||
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
|
||||||
|
|
||||||
HP-UX `make' updates targets which have the same time stamps as
|
HP-UX 'make' updates targets which have the same time stamps as their
|
||||||
their prerequisites, which makes it generally unusable when shipped
|
prerequisites, which makes it generally unusable when shipped generated
|
||||||
generated files such as `configure' are involved. Use GNU `make'
|
files such as 'configure' are involved. Use GNU 'make' instead.
|
||||||
instead.
|
|
||||||
|
|
||||||
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
|
||||||
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
|
parse its '<wchar.h>' header file. The option '-nodtk' can be used as a
|
||||||
a workaround. If GNU CC is not installed, it is therefore recommended
|
workaround. If GNU CC is not installed, it is therefore recommended to
|
||||||
to try
|
try
|
||||||
|
|
||||||
./configure CC="cc"
|
./configure CC="cc"
|
||||||
|
|
||||||
|
@ -242,26 +240,26 @@ and if that doesn't work, try
|
||||||
|
|
||||||
./configure CC="cc -nodtk"
|
./configure CC="cc -nodtk"
|
||||||
|
|
||||||
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
|
On Solaris, don't put '/usr/ucb' early in your 'PATH'. This
|
||||||
directory contains several dysfunctional programs; working variants of
|
directory contains several dysfunctional programs; working variants of
|
||||||
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
|
these programs are available in '/usr/bin'. So, if you need '/usr/ucb'
|
||||||
in your `PATH', put it _after_ `/usr/bin'.
|
in your 'PATH', put it _after_ '/usr/bin'.
|
||||||
|
|
||||||
On Haiku, software installed for all users goes in `/boot/common',
|
On Haiku, software installed for all users goes in '/boot/common',
|
||||||
not `/usr/local'. It is recommended to use the following options:
|
not '/usr/local'. It is recommended to use the following options:
|
||||||
|
|
||||||
./configure --prefix=/boot/common
|
./configure --prefix=/boot/common
|
||||||
|
|
||||||
Specifying the System Type
|
Specifying the System Type
|
||||||
==========================
|
==========================
|
||||||
|
|
||||||
There may be some features `configure' cannot figure out
|
There may be some features 'configure' cannot figure out
|
||||||
automatically, but needs to determine by the type of machine the package
|
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
|
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
|
_same_ architectures, 'configure' can figure that out, but if it prints
|
||||||
a message saying it cannot guess the machine type, give it the
|
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
|
'--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:
|
type, such as 'sun4', or a canonical name which has the form:
|
||||||
|
|
||||||
CPU-COMPANY-SYSTEM
|
CPU-COMPANY-SYSTEM
|
||||||
|
|
||||||
|
@ -270,101 +268,101 @@ where SYSTEM can have one of these forms:
|
||||||
OS
|
OS
|
||||||
KERNEL-OS
|
KERNEL-OS
|
||||||
|
|
||||||
See the file `config.sub' for the possible values of each field. If
|
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
|
'config.sub' isn't included in this package, then this package doesn't
|
||||||
need to know the machine type.
|
need to know the machine type.
|
||||||
|
|
||||||
If you are _building_ compiler tools for cross-compiling, you should
|
If you are _building_ compiler tools for cross-compiling, you should
|
||||||
use the option `--target=TYPE' to select the type of system they will
|
use the option '--target=TYPE' to select the type of system they will
|
||||||
produce code for.
|
produce code for.
|
||||||
|
|
||||||
If you want to _use_ a cross compiler, that generates code for a
|
If you want to _use_ a cross compiler, that generates code for a
|
||||||
platform different from the build platform, you should specify the
|
platform different from the build platform, you should specify the
|
||||||
"host" platform (i.e., that on which the generated programs will
|
"host" platform (i.e., that on which the generated programs will
|
||||||
eventually be run) with `--host=TYPE'.
|
eventually be run) with '--host=TYPE'.
|
||||||
|
|
||||||
Sharing Defaults
|
Sharing Defaults
|
||||||
================
|
================
|
||||||
|
|
||||||
If you want to set default values for `configure' scripts to share,
|
If you want to set default values for 'configure' scripts to share,
|
||||||
you can create a site shell script called `config.site' that gives
|
you can create a site shell script called 'config.site' that gives
|
||||||
default values for variables like `CC', `cache_file', and `prefix'.
|
default values for variables like 'CC', 'cache_file', and 'prefix'.
|
||||||
`configure' looks for `PREFIX/share/config.site' if it exists, then
|
'configure' looks for 'PREFIX/share/config.site' if it exists, then
|
||||||
`PREFIX/etc/config.site' if it exists. Or, you can set the
|
'PREFIX/etc/config.site' if it exists. Or, you can set the
|
||||||
`CONFIG_SITE' environment variable to the location of the site script.
|
'CONFIG_SITE' environment variable to the location of the site script.
|
||||||
A warning: not all `configure' scripts look for a site script.
|
A warning: not all 'configure' scripts look for a site script.
|
||||||
|
|
||||||
Defining Variables
|
Defining Variables
|
||||||
==================
|
==================
|
||||||
|
|
||||||
Variables not defined in a site shell script can be set in the
|
Variables not defined in a site shell script can be set in the
|
||||||
environment passed to `configure'. However, some packages may run
|
environment passed to 'configure'. However, some packages may run
|
||||||
configure again during the build, and the customized values of these
|
configure again during the build, and the customized values of these
|
||||||
variables may be lost. In order to avoid this problem, you should set
|
variables may be lost. In order to avoid this problem, you should set
|
||||||
them in the `configure' command line, using `VAR=value'. For example:
|
them in the 'configure' command line, using 'VAR=value'. For example:
|
||||||
|
|
||||||
./configure CC=/usr/local2/bin/gcc
|
./configure CC=/usr/local2/bin/gcc
|
||||||
|
|
||||||
causes the specified `gcc' to be used as the C compiler (unless it is
|
causes the specified 'gcc' to be used as the C compiler (unless it is
|
||||||
overridden in the site shell script).
|
overridden in the site shell script).
|
||||||
|
|
||||||
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
|
Unfortunately, this technique does not work for 'CONFIG_SHELL' due to an
|
||||||
an Autoconf limitation. Until the limitation is lifted, you can use
|
Autoconf limitation. Until the limitation is lifted, you can use this
|
||||||
this workaround:
|
workaround:
|
||||||
|
|
||||||
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
|
||||||
|
|
||||||
`configure' Invocation
|
'configure' Invocation
|
||||||
======================
|
======================
|
||||||
|
|
||||||
`configure' recognizes the following options to control how it
|
'configure' recognizes the following options to control how it
|
||||||
operates.
|
operates.
|
||||||
|
|
||||||
`--help'
|
'--help'
|
||||||
`-h'
|
'-h'
|
||||||
Print a summary of all of the options to `configure', and exit.
|
Print a summary of all of the options to 'configure', and exit.
|
||||||
|
|
||||||
`--help=short'
|
'--help=short'
|
||||||
`--help=recursive'
|
'--help=recursive'
|
||||||
Print a summary of the options unique to this package's
|
Print a summary of the options unique to this package's
|
||||||
`configure', and exit. The `short' variant lists options used
|
'configure', and exit. The 'short' variant lists options used only
|
||||||
only in the top level, while the `recursive' variant lists options
|
in the top level, while the 'recursive' variant lists options also
|
||||||
also present in any nested packages.
|
present in any nested packages.
|
||||||
|
|
||||||
`--version'
|
'--version'
|
||||||
`-V'
|
'-V'
|
||||||
Print the version of Autoconf used to generate the `configure'
|
Print the version of Autoconf used to generate the 'configure'
|
||||||
script, and exit.
|
script, and exit.
|
||||||
|
|
||||||
`--cache-file=FILE'
|
'--cache-file=FILE'
|
||||||
Enable the cache: use and save the results of the tests in FILE,
|
Enable the cache: use and save the results of the tests in FILE,
|
||||||
traditionally `config.cache'. FILE defaults to `/dev/null' to
|
traditionally 'config.cache'. FILE defaults to '/dev/null' to
|
||||||
disable caching.
|
disable caching.
|
||||||
|
|
||||||
`--config-cache'
|
'--config-cache'
|
||||||
`-C'
|
'-C'
|
||||||
Alias for `--cache-file=config.cache'.
|
Alias for '--cache-file=config.cache'.
|
||||||
|
|
||||||
`--quiet'
|
'--quiet'
|
||||||
`--silent'
|
'--silent'
|
||||||
`-q'
|
'-q'
|
||||||
Do not print messages saying which checks are being made. To
|
Do not print messages saying which checks are being made. To
|
||||||
suppress all normal output, redirect it to `/dev/null' (any error
|
suppress all normal output, redirect it to '/dev/null' (any error
|
||||||
messages will still be shown).
|
messages will still be shown).
|
||||||
|
|
||||||
`--srcdir=DIR'
|
'--srcdir=DIR'
|
||||||
Look for the package's source code in directory DIR. Usually
|
Look for the package's source code in directory DIR. Usually
|
||||||
`configure' can determine that directory automatically.
|
'configure' can determine that directory automatically.
|
||||||
|
|
||||||
`--prefix=DIR'
|
'--prefix=DIR'
|
||||||
Use DIR as the installation prefix. *note Installation Names::
|
Use DIR as the installation prefix. *note Installation Names:: for
|
||||||
for more details, including other options available for fine-tuning
|
more details, including other options available for fine-tuning the
|
||||||
the installation locations.
|
installation locations.
|
||||||
|
|
||||||
`--no-create'
|
'--no-create'
|
||||||
`-n'
|
'-n'
|
||||||
Run the configure checks, but stop before creating any output
|
Run the configure checks, but stop before creating any output
|
||||||
files.
|
files.
|
||||||
|
|
||||||
`configure' also accepts some other, not widely useful, options. Run
|
'configure' also accepts some other, not widely useful, options. Run
|
||||||
`configure --help' for more details.
|
'configure --help' for more details.
|
||||||
|
|
|
@ -12,7 +12,7 @@ EXTRA_DIST = \
|
||||||
GPL-3.0.txt \
|
GPL-3.0.txt \
|
||||||
bootstrap \
|
bootstrap \
|
||||||
ChangeLog.git \
|
ChangeLog.git \
|
||||||
DRIVERS SECURITY \
|
SECURITY \
|
||||||
HELP \
|
HELP \
|
||||||
m4/ax_pthread.m4 \
|
m4/ax_pthread.m4 \
|
||||||
m4/as-ac-expand.m4
|
m4/as-ac-expand.m4
|
||||||
|
|
27
Makefile.in
27
Makefile.in
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -138,7 +138,7 @@ am__recursive_targets = \
|
||||||
$(RECURSIVE_CLEAN_TARGETS) \
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
$(am__extra_recursive_targets)
|
$(am__extra_recursive_targets)
|
||||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
cscope distdir dist dist-all distcheck
|
cscope distdir distdir-am dist dist-all distcheck
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
|
||||||
$(LISP)config.h.in
|
$(LISP)config.h.in
|
||||||
# Read a list of newline-separated strings from the standard input,
|
# Read a list of newline-separated strings from the standard input,
|
||||||
|
@ -164,7 +164,7 @@ DIST_SUBDIRS = $(SUBDIRS)
|
||||||
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
|
||||||
$(top_srcdir)/src/PCSC/pcsclite.h.in AUTHORS COPYING ChangeLog \
|
$(top_srcdir)/src/PCSC/pcsclite.h.in AUTHORS COPYING ChangeLog \
|
||||||
INSTALL NEWS README TODO ar-lib compile config.guess \
|
INSTALL NEWS README TODO ar-lib compile config.guess \
|
||||||
config.sub depcomp install-sh ltmain.sh missing ylwrap
|
config.sub install-sh ltmain.sh missing ylwrap
|
||||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||||
distdir = $(PACKAGE)-$(VERSION)
|
distdir = $(PACKAGE)-$(VERSION)
|
||||||
top_distdir = $(distdir)
|
top_distdir = $(distdir)
|
||||||
|
@ -368,7 +368,7 @@ EXTRA_DIST = \
|
||||||
GPL-3.0.txt \
|
GPL-3.0.txt \
|
||||||
bootstrap \
|
bootstrap \
|
||||||
ChangeLog.git \
|
ChangeLog.git \
|
||||||
DRIVERS SECURITY \
|
SECURITY \
|
||||||
HELP \
|
HELP \
|
||||||
m4/ax_pthread.m4 \
|
m4/ax_pthread.m4 \
|
||||||
m4/as-ac-expand.m4
|
m4/as-ac-expand.m4
|
||||||
|
@ -399,8 +399,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
echo ' $(SHELL) ./config.status'; \
|
echo ' $(SHELL) ./config.status'; \
|
||||||
$(SHELL) ./config.status;; \
|
$(SHELL) ./config.status;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__maybe_remake_depfiles);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
@ -544,7 +544,10 @@ distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
-rm -f cscope.out cscope.in.out cscope.po.out cscope.files
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
$(am__remove_distdir)
|
$(am__remove_distdir)
|
||||||
test -d "$(distdir)" || mkdir "$(distdir)"
|
test -d "$(distdir)" || mkdir "$(distdir)"
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
|
@ -609,7 +612,7 @@ distdir: $(DISTFILES)
|
||||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||||
|| chmod -R a+r "$(distdir)"
|
|| chmod -R a+r "$(distdir)"
|
||||||
dist-gzip: distdir
|
dist-gzip: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
dist-bzip2: distdir
|
dist-bzip2: distdir
|
||||||
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
|
||||||
|
@ -634,7 +637,7 @@ dist-shar: distdir
|
||||||
@echo WARNING: "Support for shar distribution archives is" \
|
@echo WARNING: "Support for shar distribution archives is" \
|
||||||
"deprecated." >&2
|
"deprecated." >&2
|
||||||
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
|
||||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
|
||||||
$(am__post_remove_distdir)
|
$(am__post_remove_distdir)
|
||||||
|
|
||||||
dist-zip: distdir
|
dist-zip: distdir
|
||||||
|
@ -652,7 +655,7 @@ dist dist-all:
|
||||||
distcheck: dist
|
distcheck: dist
|
||||||
case '$(DIST_ARCHIVES)' in \
|
case '$(DIST_ARCHIVES)' in \
|
||||||
*.tar.gz*) \
|
*.tar.gz*) \
|
||||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
|
||||||
*.tar.bz2*) \
|
*.tar.bz2*) \
|
||||||
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||||
*.tar.lz*) \
|
*.tar.lz*) \
|
||||||
|
@ -662,7 +665,7 @@ distcheck: dist
|
||||||
*.tar.Z*) \
|
*.tar.Z*) \
|
||||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||||
*.shar.gz*) \
|
*.shar.gz*) \
|
||||||
GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
|
eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
|
||||||
*.zip*) \
|
*.zip*) \
|
||||||
unzip $(distdir).zip ;;\
|
unzip $(distdir).zip ;;\
|
||||||
esac
|
esac
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# generated automatically by aclocal 1.15 -*- Autoconf -*-
|
# generated automatically by aclocal 1.16.1 -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -296,7 +296,7 @@ AS_VAR_COPY([$1], [pkg_cv_][$1])
|
||||||
AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
||||||
])dnl PKG_CHECK_VAR
|
])dnl PKG_CHECK_VAR
|
||||||
|
|
||||||
# Copyright (C) 2002-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2002-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -308,10 +308,10 @@ AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
||||||
# generated from the m4 files accompanying Automake X.Y.
|
# generated from the m4 files accompanying Automake X.Y.
|
||||||
# (This private macro should not be called outside this file.)
|
# (This private macro should not be called outside this file.)
|
||||||
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_AUTOMAKE_VERSION],
|
||||||
[am__api_version='1.15'
|
[am__api_version='1.16'
|
||||||
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
|
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.
|
dnl require some minimum version. Point them to the right macro.
|
||||||
m4_if([$1], [1.15], [],
|
m4_if([$1], [1.16.1], [],
|
||||||
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
|
@ -327,12 +327,12 @@ m4_define([_AM_AUTOCONF_VERSION], [])
|
||||||
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
|
||||||
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
|
||||||
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
|
||||||
[AM_AUTOMAKE_VERSION([1.15])dnl
|
[AM_AUTOMAKE_VERSION([1.16.1])dnl
|
||||||
m4_ifndef([AC_AUTOCONF_VERSION],
|
m4_ifndef([AC_AUTOCONF_VERSION],
|
||||||
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
|
||||||
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
|
||||||
|
|
||||||
# Copyright (C) 2011-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2011-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -394,7 +394,7 @@ AC_SUBST([AR])dnl
|
||||||
|
|
||||||
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
# AM_AUX_DIR_EXPAND -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -446,7 +446,7 @@ am_aux_dir=`cd "$ac_aux_dir" && pwd`
|
||||||
|
|
||||||
# AM_CONDITIONAL -*- Autoconf -*-
|
# AM_CONDITIONAL -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -477,7 +477,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||||
Usually this means the macro was only invoked conditionally.]])
|
Usually this means the macro was only invoked conditionally.]])
|
||||||
fi])])
|
fi])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -668,13 +668,12 @@ _AM_SUBST_NOTMAKE([am__nodep])dnl
|
||||||
|
|
||||||
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
# Generate code to set up dependency tracking. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
# with or without modifications, as long as this notice is preserved.
|
# with or without modifications, as long as this notice is preserved.
|
||||||
|
|
||||||
|
|
||||||
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
|
@ -682,49 +681,41 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
# Older Autoconf quotes --file arguments for eval, but not when files
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||||
# are listed without --file. Let's play safe and only enable the eval
|
# are listed without --file. Let's play safe and only enable the eval
|
||||||
# if we detect the quoting.
|
# if we detect the quoting.
|
||||||
case $CONFIG_FILES in
|
# TODO: see whether this extra hack can be removed once we start
|
||||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
# requiring Autoconf 2.70 or later.
|
||||||
*) set x $CONFIG_FILES ;;
|
AS_CASE([$CONFIG_FILES],
|
||||||
esac
|
[*\'*], [eval set x "$CONFIG_FILES"],
|
||||||
|
[*], [set x $CONFIG_FILES])
|
||||||
shift
|
shift
|
||||||
for mf
|
# Used to flag and report bootstrapping failures.
|
||||||
|
am_rc=0
|
||||||
|
for am_mf
|
||||||
do
|
do
|
||||||
# Strip MF so we end up with the name of the file.
|
# Strip MF so we end up with the name of the file.
|
||||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
am_mf=`AS_ECHO(["$am_mf"]) | sed -e 's/:.*$//'`
|
||||||
# Check whether this is an Automake generated Makefile or not.
|
# Check whether this is an Automake generated Makefile which includes
|
||||||
# We used to match only the files named 'Makefile.in', but
|
# dependency-tracking related rules and includes.
|
||||||
# some people rename them; so instead we look at the file content.
|
# Grep'ing the whole file directly is not great: AIX grep has a line
|
||||||
# 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.
|
# 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
|
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
||||||
dirpart=`AS_DIRNAME("$mf")`
|
|| continue
|
||||||
else
|
am_dirpart=`AS_DIRNAME(["$am_mf"])`
|
||||||
continue
|
am_filepart=`AS_BASENAME(["$am_mf"])`
|
||||||
fi
|
AM_RUN_LOG([cd "$am_dirpart" \
|
||||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||||
# from the Makefile without running 'make'.
|
| $MAKE -f - am--depfiles]) || am_rc=$?
|
||||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
|
||||||
test -z "$DEPDIR" && continue
|
|
||||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
|
||||||
test -z "$am__include" && continue
|
|
||||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
|
||||||
# Find all dependency output files, they are included files with
|
|
||||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
|
||||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
|
||||||
# expansion.
|
|
||||||
for file in `sed -n "
|
|
||||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
|
||||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
|
||||||
# Make sure the directory exists.
|
|
||||||
test -f "$dirpart/$file" && continue
|
|
||||||
fdir=`AS_DIRNAME(["$file"])`
|
|
||||||
AS_MKDIR_P([$dirpart/$fdir])
|
|
||||||
# echo "creating $dirpart/$file"
|
|
||||||
echo '# dummy' > "$dirpart/$file"
|
|
||||||
done
|
|
||||||
done
|
done
|
||||||
|
if test $am_rc -ne 0; then
|
||||||
|
AC_MSG_FAILURE([Something went wrong bootstrapping makefile fragments
|
||||||
|
for automatic dependency tracking. Try re-running configure with the
|
||||||
|
'--disable-dependency-tracking' option to at least be able to build
|
||||||
|
the package (albeit without support for automatic dependency tracking).])
|
||||||
|
fi
|
||||||
|
AS_UNSET([am_dirpart])
|
||||||
|
AS_UNSET([am_filepart])
|
||||||
|
AS_UNSET([am_mf])
|
||||||
|
AS_UNSET([am_rc])
|
||||||
|
rm -f conftest-deps.mk
|
||||||
}
|
}
|
||||||
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
])# _AM_OUTPUT_DEPENDENCY_COMMANDS
|
||||||
|
|
||||||
|
@ -733,18 +724,17 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
# -----------------------------
|
# -----------------------------
|
||||||
# This macro should only be invoked once -- use via AC_REQUIRE.
|
# This macro should only be invoked once -- use via AC_REQUIRE.
|
||||||
#
|
#
|
||||||
# This code is only required when automatic dependency tracking
|
# This code is only required when automatic dependency tracking is enabled.
|
||||||
# is enabled. FIXME. This creates each '.P' file that we will
|
# This creates each '.Po' and '.Plo' makefile fragment that we'll need in
|
||||||
# need in order to bootstrap the dependency handling code.
|
# order to bootstrap the dependency handling code.
|
||||||
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
[AC_CONFIG_COMMANDS([depfiles],
|
[AC_CONFIG_COMMANDS([depfiles],
|
||||||
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
[test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS],
|
||||||
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
|
[AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"])])
|
||||||
])
|
|
||||||
|
|
||||||
# Do all the work for Automake. -*- Autoconf -*-
|
# Do all the work for Automake. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -831,8 +821,8 @@ AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl
|
||||||
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
AC_REQUIRE([AC_PROG_MKDIR_P])dnl
|
||||||
# For better backward compatibility. To be removed once Automake 1.9.x
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
||||||
# dies out for good. For more background, see:
|
# dies out for good. For more background, see:
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||||
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
AC_SUBST([mkdir_p], ['$(MKDIR_P)'])
|
||||||
# We need awk for the "check" target (and possibly the TAP driver). The
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
||||||
# system "awk" is bad on some platforms.
|
# system "awk" is bad on some platforms.
|
||||||
|
@ -899,7 +889,7 @@ END
|
||||||
Aborting the configuration process, to ensure you take notice of the issue.
|
Aborting the configuration process, to ensure you take notice of the issue.
|
||||||
|
|
||||||
You can download and install GNU coreutils to get an 'rm' implementation
|
You can download and install GNU coreutils to get an 'rm' implementation
|
||||||
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
||||||
|
|
||||||
If you want to complete the configuration process using your problematic
|
If you want to complete the configuration process using your problematic
|
||||||
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||||
|
@ -941,7 +931,7 @@ for _am_header in $config_headers :; do
|
||||||
done
|
done
|
||||||
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -962,7 +952,7 @@ if test x"${install_sh+set}" != xset; then
|
||||||
fi
|
fi
|
||||||
AC_SUBST([install_sh])])
|
AC_SUBST([install_sh])])
|
||||||
|
|
||||||
# Copyright (C) 2003-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2003-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -981,7 +971,7 @@ fi
|
||||||
rmdir .tst 2>/dev/null
|
rmdir .tst 2>/dev/null
|
||||||
AC_SUBST([am__leading_dot])])
|
AC_SUBST([am__leading_dot])])
|
||||||
|
|
||||||
# Copyright (C) 1998-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1998-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1002,7 +992,7 @@ fi])
|
||||||
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
|
||||||
# From Jim Meyering
|
# From Jim Meyering
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1037,7 +1027,7 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||||
|
|
||||||
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
# Check to see how 'make' treats includes. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1045,49 +1035,42 @@ AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
|
||||||
|
|
||||||
# AM_MAKE_INCLUDE()
|
# AM_MAKE_INCLUDE()
|
||||||
# -----------------
|
# -----------------
|
||||||
# Check to see how make treats includes.
|
# Check whether make has an 'include' directive that can support all
|
||||||
|
# the idioms we need for our automatic dependency tracking code.
|
||||||
AC_DEFUN([AM_MAKE_INCLUDE],
|
AC_DEFUN([AM_MAKE_INCLUDE],
|
||||||
[am_make=${MAKE-make}
|
[AC_MSG_CHECKING([whether ${MAKE-make} supports the include directive])
|
||||||
cat > confinc << 'END'
|
cat > confinc.mk << 'END'
|
||||||
am__doit:
|
am__doit:
|
||||||
@echo this is the am__doit target
|
@echo this is the am__doit target >confinc.out
|
||||||
.PHONY: am__doit
|
.PHONY: am__doit
|
||||||
END
|
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__include="#"
|
||||||
am__quote=
|
am__quote=
|
||||||
_am_result=none
|
# BSD make does it like this.
|
||||||
# First try GNU make style include.
|
echo '.include "confinc.mk" # ignored' > confmf.BSD
|
||||||
echo "include confinc" > confmf
|
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
||||||
# Ignore all kinds of additional output from 'make'.
|
echo 'include confinc.mk # ignored' > confmf.GNU
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
_am_result=no
|
||||||
*the\ am__doit\ target*)
|
for s in GNU BSD; do
|
||||||
am__include=include
|
AM_RUN_LOG([${MAKE-make} -f confmf.$s && cat confinc.out])
|
||||||
am__quote=
|
AS_CASE([$?:`cat confinc.out 2>/dev/null`],
|
||||||
_am_result=GNU
|
['0:this is the am__doit target'],
|
||||||
;;
|
[AS_CASE([$s],
|
||||||
esac
|
[BSD], [am__include='.include' am__quote='"'],
|
||||||
# Now try BSD make style include.
|
[am__include='include' am__quote=''])])
|
||||||
if test "$am__include" = "#"; then
|
if test "$am__include" != "#"; then
|
||||||
echo '.include "confinc"' > confmf
|
_am_result="yes ($s style)"
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
break
|
||||||
*the\ am__doit\ target*)
|
fi
|
||||||
am__include=.include
|
done
|
||||||
am__quote="\""
|
rm -f confinc.* confmf.*
|
||||||
_am_result=BSD
|
AC_MSG_RESULT([${_am_result}])
|
||||||
;;
|
AC_SUBST([am__include])])
|
||||||
esac
|
AC_SUBST([am__quote])])
|
||||||
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 -*-
|
# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1997-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1997-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1126,7 +1109,7 @@ fi
|
||||||
|
|
||||||
# Helper functions for option handling. -*- Autoconf -*-
|
# Helper functions for option handling. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1155,7 +1138,7 @@ AC_DEFUN([_AM_SET_OPTIONS],
|
||||||
AC_DEFUN([_AM_IF_OPTION],
|
AC_DEFUN([_AM_IF_OPTION],
|
||||||
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1202,7 +1185,7 @@ AC_LANG_POP([C])])
|
||||||
# For backward compatibility.
|
# For backward compatibility.
|
||||||
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1221,7 +1204,7 @@ AC_DEFUN([AM_RUN_LOG],
|
||||||
|
|
||||||
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
# Check to make sure that the build environment is sane. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1302,7 +1285,7 @@ AC_CONFIG_COMMANDS_PRE(
|
||||||
rm -f conftest.file
|
rm -f conftest.file
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2009-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2009-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1362,7 +1345,7 @@ AC_SUBST([AM_BACKSLASH])dnl
|
||||||
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
|
||||||
])
|
])
|
||||||
|
|
||||||
# Copyright (C) 2001-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2001-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1390,7 +1373,7 @@ fi
|
||||||
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
|
||||||
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
AC_SUBST([INSTALL_STRIP_PROGRAM])])
|
||||||
|
|
||||||
# Copyright (C) 2006-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2006-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -1409,7 +1392,7 @@ AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
|
||||||
|
|
||||||
# Check how to create a tarball. -*- Autoconf -*-
|
# Check how to create a tarball. -*- Autoconf -*-
|
||||||
|
|
||||||
# Copyright (C) 2004-2014 Free Software Foundation, Inc.
|
# Copyright (C) 2004-2018 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation
|
# This file is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
|
2
ar-lib
2
ar-lib
|
@ -4,7 +4,7 @@
|
||||||
me=ar-lib
|
me=ar-lib
|
||||||
scriptversion=2012-03-01.08; # UTC
|
scriptversion=2012-03-01.08; # UTC
|
||||||
|
|
||||||
# Copyright (C) 2010-2013 Free Software Foundation, Inc.
|
# Copyright (C) 2010-2017 Free Software Foundation, Inc.
|
||||||
# Written by Peter Rosin <peda@lysator.liu.se>.
|
# Written by Peter Rosin <peda@lysator.liu.se>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
|
2
compile
2
compile
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
scriptversion=2012-10-14.11; # UTC
|
scriptversion=2012-10-14.11; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,8 +1,8 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Configuration validation subroutine script.
|
# Configuration validation subroutine script.
|
||||||
# Copyright 1992-2016 Free Software Foundation, Inc.
|
# Copyright 1992-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
timestamp='2016-11-04'
|
timestamp='2018-02-22'
|
||||||
|
|
||||||
# This file is free software; you can redistribute it and/or modify it
|
# 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
|
# under the terms of the GNU General Public License as published by
|
||||||
|
@ -15,7 +15,7 @@ timestamp='2016-11-04'
|
||||||
# General Public License for more details.
|
# General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program; if not, see <http://www.gnu.org/licenses/>.
|
# along with this program; if not, see <https://www.gnu.org/licenses/>.
|
||||||
#
|
#
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
@ -33,7 +33,7 @@ timestamp='2016-11-04'
|
||||||
# Otherwise, we print the canonical config type on stdout and succeed.
|
# Otherwise, we print the canonical config type on stdout and succeed.
|
||||||
|
|
||||||
# You can get the latest version of this script from:
|
# You can get the latest version of this script from:
|
||||||
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
# https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
|
||||||
|
|
||||||
# This file is supposed to be the same for all GNU packages
|
# This file is supposed to be the same for all GNU packages
|
||||||
# and recognize all the CPU types, system types and aliases
|
# and recognize all the CPU types, system types and aliases
|
||||||
|
@ -57,7 +57,7 @@ Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
|
||||||
|
|
||||||
Canonicalize a configuration name.
|
Canonicalize a configuration name.
|
||||||
|
|
||||||
Operation modes:
|
Options:
|
||||||
-h, --help print this help, then exit
|
-h, --help print this help, then exit
|
||||||
-t, --time-stamp print date of last modification, then exit
|
-t, --time-stamp print date of last modification, then exit
|
||||||
-v, --version print version number, then exit
|
-v, --version print version number, then exit
|
||||||
|
@ -67,7 +67,7 @@ Report bugs and patches to <config-patches@gnu.org>."
|
||||||
version="\
|
version="\
|
||||||
GNU config.sub ($timestamp)
|
GNU config.sub ($timestamp)
|
||||||
|
|
||||||
Copyright 1992-2016 Free Software Foundation, Inc.
|
Copyright 1992-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This is free software; see the source for copying conditions. There is NO
|
This is free software; see the source for copying conditions. There is NO
|
||||||
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
@ -94,7 +94,7 @@ while test $# -gt 0 ; do
|
||||||
|
|
||||||
*local*)
|
*local*)
|
||||||
# First pass through any local machine types.
|
# First pass through any local machine types.
|
||||||
echo $1
|
echo "$1"
|
||||||
exit ;;
|
exit ;;
|
||||||
|
|
||||||
* )
|
* )
|
||||||
|
@ -112,7 +112,7 @@ esac
|
||||||
|
|
||||||
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
|
# 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.
|
# Here we must recognize all the valid KERNEL-OS combinations.
|
||||||
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
maybe_os=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
|
||||||
case $maybe_os in
|
case $maybe_os in
|
||||||
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
|
||||||
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
|
||||||
|
@ -120,16 +120,16 @@ case $maybe_os in
|
||||||
kopensolaris*-gnu* | cloudabi*-eabi* | \
|
kopensolaris*-gnu* | cloudabi*-eabi* | \
|
||||||
storm-chaos* | os2-emx* | rtmk-nova*)
|
storm-chaos* | os2-emx* | rtmk-nova*)
|
||||||
os=-$maybe_os
|
os=-$maybe_os
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
|
||||||
;;
|
;;
|
||||||
android-linux)
|
android-linux)
|
||||||
os=-linux-android
|
os=-linux-android
|
||||||
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
|
basic_machine=`echo "$1" | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
|
basic_machine=`echo "$1" | sed 's/-[^-]*$//'`
|
||||||
if [ $basic_machine != $1 ]
|
if [ "$basic_machine" != "$1" ]
|
||||||
then os=`echo $1 | sed 's/.*-/-/'`
|
then os=`echo "$1" | sed 's/.*-/-/'`
|
||||||
else os=; fi
|
else os=; fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -178,44 +178,44 @@ case $os in
|
||||||
;;
|
;;
|
||||||
-sco6)
|
-sco6)
|
||||||
os=-sco5v6
|
os=-sco5v6
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco5)
|
-sco5)
|
||||||
os=-sco3.2v5
|
os=-sco3.2v5
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco4)
|
-sco4)
|
||||||
os=-sco3.2v4
|
os=-sco3.2v4
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco3.2.[4-9]*)
|
-sco3.2.[4-9]*)
|
||||||
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco3.2v[4-9]*)
|
-sco3.2v[4-9]*)
|
||||||
# Don't forget version if it is 3.2v4 or newer.
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco5v6*)
|
-sco5v6*)
|
||||||
# Don't forget version if it is 3.2v4 or newer.
|
# Don't forget version if it is 3.2v4 or newer.
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-sco*)
|
-sco*)
|
||||||
os=-sco3.2v2
|
os=-sco3.2v2
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-udk*)
|
-udk*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-isc)
|
-isc)
|
||||||
os=-isc2.2
|
os=-isc2.2
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-clix*)
|
-clix*)
|
||||||
basic_machine=clipper-intergraph
|
basic_machine=clipper-intergraph
|
||||||
;;
|
;;
|
||||||
-isc*)
|
-isc*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-pc/'`
|
||||||
;;
|
;;
|
||||||
-lynx*178)
|
-lynx*178)
|
||||||
os=-lynxos178
|
os=-lynxos178
|
||||||
|
@ -227,10 +227,7 @@ case $os in
|
||||||
os=-lynxos
|
os=-lynxos
|
||||||
;;
|
;;
|
||||||
-ptx*)
|
-ptx*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
|
basic_machine=`echo "$1" | sed -e 's/86-.*/86-sequent/'`
|
||||||
;;
|
|
||||||
-windowsnt*)
|
|
||||||
os=`echo $os | sed -e 's/windowsnt/winnt/'`
|
|
||||||
;;
|
;;
|
||||||
-psos*)
|
-psos*)
|
||||||
os=-psos
|
os=-psos
|
||||||
|
@ -263,7 +260,7 @@ case $basic_machine in
|
||||||
| fido | fr30 | frv | ft32 \
|
| fido | fr30 | frv | ft32 \
|
||||||
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
|
||||||
| hexagon \
|
| hexagon \
|
||||||
| i370 | i860 | i960 | ia64 \
|
| i370 | i860 | i960 | ia16 | ia64 \
|
||||||
| ip2k | iq2000 \
|
| ip2k | iq2000 \
|
||||||
| k1om \
|
| k1om \
|
||||||
| le32 | le64 \
|
| le32 | le64 \
|
||||||
|
@ -299,7 +296,7 @@ case $basic_machine in
|
||||||
| nios | nios2 | nios2eb | nios2el \
|
| nios | nios2 | nios2eb | nios2el \
|
||||||
| ns16k | ns32k \
|
| ns16k | ns32k \
|
||||||
| open8 | or1k | or1knd | or32 \
|
| open8 | or1k | or1knd | or32 \
|
||||||
| pdp10 | pdp11 | pj | pjl \
|
| pdp10 | pj | pjl \
|
||||||
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
| powerpc | powerpc64 | powerpc64le | powerpcle \
|
||||||
| pru \
|
| pru \
|
||||||
| pyramid \
|
| pyramid \
|
||||||
|
@ -315,7 +312,7 @@ case $basic_machine in
|
||||||
| ubicom32 \
|
| ubicom32 \
|
||||||
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
|
||||||
| visium \
|
| visium \
|
||||||
| we32k \
|
| wasm32 \
|
||||||
| x86 | xc16x | xstormy16 | xtensa \
|
| x86 | xc16x | xstormy16 | xtensa \
|
||||||
| z8k | z80)
|
| z8k | z80)
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
|
@ -336,7 +333,7 @@ case $basic_machine in
|
||||||
basic_machine=$basic_machine-unknown
|
basic_machine=$basic_machine-unknown
|
||||||
os=-none
|
os=-none
|
||||||
;;
|
;;
|
||||||
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
|
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65)
|
||||||
;;
|
;;
|
||||||
ms1)
|
ms1)
|
||||||
basic_machine=mt-unknown
|
basic_machine=mt-unknown
|
||||||
|
@ -365,7 +362,7 @@ case $basic_machine in
|
||||||
;;
|
;;
|
||||||
# Object if more than one company name word.
|
# Object if more than one company name word.
|
||||||
*-*-*)
|
*-*-*)
|
||||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
# Recognize the basic CPU types with company name.
|
# Recognize the basic CPU types with company name.
|
||||||
|
@ -388,7 +385,7 @@ case $basic_machine in
|
||||||
| h8300-* | h8500-* \
|
| h8300-* | h8500-* \
|
||||||
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
|
||||||
| hexagon-* \
|
| hexagon-* \
|
||||||
| i*86-* | i860-* | i960-* | ia64-* \
|
| i*86-* | i860-* | i960-* | ia16-* | ia64-* \
|
||||||
| ip2k-* | iq2000-* \
|
| ip2k-* | iq2000-* \
|
||||||
| k1om-* \
|
| k1om-* \
|
||||||
| le32-* | le64-* \
|
| le32-* | le64-* \
|
||||||
|
@ -446,6 +443,7 @@ case $basic_machine in
|
||||||
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
|
||||||
| vax-* \
|
| vax-* \
|
||||||
| visium-* \
|
| visium-* \
|
||||||
|
| wasm32-* \
|
||||||
| we32k-* \
|
| we32k-* \
|
||||||
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
| x86-* | x86_64-* | xc16x-* | xps100-* \
|
||||||
| xstormy16-* | xtensa*-* \
|
| xstormy16-* | xtensa*-* \
|
||||||
|
@ -459,7 +457,7 @@ case $basic_machine in
|
||||||
# Recognize the various machine names and aliases which stand
|
# Recognize the various machine names and aliases which stand
|
||||||
# for a CPU type and a company and sometimes even an OS.
|
# for a CPU type and a company and sometimes even an OS.
|
||||||
386bsd)
|
386bsd)
|
||||||
basic_machine=i386-unknown
|
basic_machine=i386-pc
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
|
||||||
|
@ -493,7 +491,7 @@ case $basic_machine in
|
||||||
basic_machine=x86_64-pc
|
basic_machine=x86_64-pc
|
||||||
;;
|
;;
|
||||||
amd64-*)
|
amd64-*)
|
||||||
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=x86_64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
amdahl)
|
amdahl)
|
||||||
basic_machine=580-amdahl
|
basic_machine=580-amdahl
|
||||||
|
@ -538,7 +536,7 @@ case $basic_machine in
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
blackfin-*)
|
blackfin-*)
|
||||||
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=bfin-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
bluegene*)
|
bluegene*)
|
||||||
|
@ -546,13 +544,13 @@ case $basic_machine in
|
||||||
os=-cnk
|
os=-cnk
|
||||||
;;
|
;;
|
||||||
c54x-*)
|
c54x-*)
|
||||||
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=tic54x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
c55x-*)
|
c55x-*)
|
||||||
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=tic55x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
c6x-*)
|
c6x-*)
|
||||||
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=tic6x-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
c90)
|
c90)
|
||||||
basic_machine=c90-cray
|
basic_machine=c90-cray
|
||||||
|
@ -641,7 +639,7 @@ case $basic_machine in
|
||||||
basic_machine=rs6000-bull
|
basic_machine=rs6000-bull
|
||||||
os=-bosx
|
os=-bosx
|
||||||
;;
|
;;
|
||||||
dpx2* | dpx2*-bull)
|
dpx2*)
|
||||||
basic_machine=m68k-bull
|
basic_machine=m68k-bull
|
||||||
os=-sysv3
|
os=-sysv3
|
||||||
;;
|
;;
|
||||||
|
@ -650,7 +648,7 @@ case $basic_machine in
|
||||||
os=$os"spe"
|
os=$os"spe"
|
||||||
;;
|
;;
|
||||||
e500v[12]-*)
|
e500v[12]-*)
|
||||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=$os"spe"
|
os=$os"spe"
|
||||||
;;
|
;;
|
||||||
ebmon29k)
|
ebmon29k)
|
||||||
|
@ -742,9 +740,6 @@ case $basic_machine in
|
||||||
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
hp9k8[0-9][0-9] | hp8[0-9][0-9])
|
||||||
basic_machine=hppa1.0-hp
|
basic_machine=hppa1.0-hp
|
||||||
;;
|
;;
|
||||||
hppa-next)
|
|
||||||
os=-nextstep3
|
|
||||||
;;
|
|
||||||
hppaosf)
|
hppaosf)
|
||||||
basic_machine=hppa1.1-hp
|
basic_machine=hppa1.1-hp
|
||||||
os=-osf
|
os=-osf
|
||||||
|
@ -757,26 +752,26 @@ case $basic_machine in
|
||||||
basic_machine=i370-ibm
|
basic_machine=i370-ibm
|
||||||
;;
|
;;
|
||||||
i*86v32)
|
i*86v32)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv32
|
os=-sysv32
|
||||||
;;
|
;;
|
||||||
i*86v4*)
|
i*86v4*)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
i*86v)
|
i*86v)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
i*86sol2)
|
i*86sol2)
|
||||||
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
|
basic_machine=`echo "$1" | sed -e 's/86.*/86-pc/'`
|
||||||
os=-solaris2
|
os=-solaris2
|
||||||
;;
|
;;
|
||||||
i386mach)
|
i386mach)
|
||||||
basic_machine=i386-mach
|
basic_machine=i386-mach
|
||||||
os=-mach
|
os=-mach
|
||||||
;;
|
;;
|
||||||
i386-vsta | vsta)
|
vsta)
|
||||||
basic_machine=i386-unknown
|
basic_machine=i386-unknown
|
||||||
os=-vsta
|
os=-vsta
|
||||||
;;
|
;;
|
||||||
|
@ -795,19 +790,16 @@ case $basic_machine in
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
leon-*|leon[3-9]-*)
|
leon-*|leon[3-9]-*)
|
||||||
basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
|
basic_machine=sparc-`echo "$basic_machine" | sed 's/-.*//'`
|
||||||
;;
|
;;
|
||||||
m68knommu)
|
m68knommu)
|
||||||
basic_machine=m68k-unknown
|
basic_machine=m68k-unknown
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
m68knommu-*)
|
m68knommu-*)
|
||||||
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=m68k-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
m88k-omron*)
|
|
||||||
basic_machine=m88k-omron
|
|
||||||
;;
|
|
||||||
magnum | m3230)
|
magnum | m3230)
|
||||||
basic_machine=mips-mips
|
basic_machine=mips-mips
|
||||||
os=-sysv
|
os=-sysv
|
||||||
|
@ -839,10 +831,10 @@ case $basic_machine in
|
||||||
os=-mint
|
os=-mint
|
||||||
;;
|
;;
|
||||||
mips3*-*)
|
mips3*-*)
|
||||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
|
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`
|
||||||
;;
|
;;
|
||||||
mips3*)
|
mips3*)
|
||||||
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
|
basic_machine=`echo "$basic_machine" | sed -e 's/mips3/mips64/'`-unknown
|
||||||
;;
|
;;
|
||||||
monitor)
|
monitor)
|
||||||
basic_machine=m68k-rom68k
|
basic_machine=m68k-rom68k
|
||||||
|
@ -861,7 +853,7 @@ case $basic_machine in
|
||||||
os=-msdos
|
os=-msdos
|
||||||
;;
|
;;
|
||||||
ms1-*)
|
ms1-*)
|
||||||
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
|
basic_machine=`echo "$basic_machine" | sed -e 's/ms1-/mt-/'`
|
||||||
;;
|
;;
|
||||||
msys)
|
msys)
|
||||||
basic_machine=i686-pc
|
basic_machine=i686-pc
|
||||||
|
@ -903,7 +895,7 @@ case $basic_machine in
|
||||||
basic_machine=v70-nec
|
basic_machine=v70-nec
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
next | m*-next )
|
next | m*-next)
|
||||||
basic_machine=m68k-next
|
basic_machine=m68k-next
|
||||||
case $os in
|
case $os in
|
||||||
-nextstep* )
|
-nextstep* )
|
||||||
|
@ -948,6 +940,12 @@ case $basic_machine in
|
||||||
nsr-tandem)
|
nsr-tandem)
|
||||||
basic_machine=nsr-tandem
|
basic_machine=nsr-tandem
|
||||||
;;
|
;;
|
||||||
|
nsv-tandem)
|
||||||
|
basic_machine=nsv-tandem
|
||||||
|
;;
|
||||||
|
nsx-tandem)
|
||||||
|
basic_machine=nsx-tandem
|
||||||
|
;;
|
||||||
op50n-* | op60c-*)
|
op50n-* | op60c-*)
|
||||||
basic_machine=hppa1.1-oki
|
basic_machine=hppa1.1-oki
|
||||||
os=-proelf
|
os=-proelf
|
||||||
|
@ -980,7 +978,7 @@ case $basic_machine in
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
parisc-*)
|
parisc-*)
|
||||||
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=hppa-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
os=-linux
|
os=-linux
|
||||||
;;
|
;;
|
||||||
pbd)
|
pbd)
|
||||||
|
@ -996,7 +994,7 @@ case $basic_machine in
|
||||||
basic_machine=i386-pc
|
basic_machine=i386-pc
|
||||||
;;
|
;;
|
||||||
pc98-*)
|
pc98-*)
|
||||||
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i386-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentium | p5 | k5 | k6 | nexgen | viac3)
|
pentium | p5 | k5 | k6 | nexgen | viac3)
|
||||||
basic_machine=i586-pc
|
basic_machine=i586-pc
|
||||||
|
@ -1011,16 +1009,16 @@ case $basic_machine in
|
||||||
basic_machine=i786-pc
|
basic_machine=i786-pc
|
||||||
;;
|
;;
|
||||||
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
|
||||||
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i586-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
pentiumpro-* | p6-* | 6x86-* | athlon-*)
|
||||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
|
||||||
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i686-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pentium4-*)
|
pentium4-*)
|
||||||
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=i786-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
pn)
|
pn)
|
||||||
basic_machine=pn-gould
|
basic_machine=pn-gould
|
||||||
|
@ -1030,23 +1028,23 @@ case $basic_machine in
|
||||||
ppc | ppcbe) basic_machine=powerpc-unknown
|
ppc | ppcbe) basic_machine=powerpc-unknown
|
||||||
;;
|
;;
|
||||||
ppc-* | ppcbe-*)
|
ppc-* | ppcbe-*)
|
||||||
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpc-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppcle | powerpclittle)
|
ppcle | powerpclittle)
|
||||||
basic_machine=powerpcle-unknown
|
basic_machine=powerpcle-unknown
|
||||||
;;
|
;;
|
||||||
ppcle-* | powerpclittle-*)
|
ppcle-* | powerpclittle-*)
|
||||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpcle-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppc64) basic_machine=powerpc64-unknown
|
ppc64) basic_machine=powerpc64-unknown
|
||||||
;;
|
;;
|
||||||
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
|
ppc64-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppc64le | powerpc64little)
|
ppc64le | powerpc64little)
|
||||||
basic_machine=powerpc64le-unknown
|
basic_machine=powerpc64le-unknown
|
||||||
;;
|
;;
|
||||||
ppc64le-* | powerpc64little-*)
|
ppc64le-* | powerpc64little-*)
|
||||||
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpc64le-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ps2)
|
ps2)
|
||||||
basic_machine=i386-ibm
|
basic_machine=i386-ibm
|
||||||
|
@ -1100,17 +1098,10 @@ case $basic_machine in
|
||||||
sequent)
|
sequent)
|
||||||
basic_machine=i386-sequent
|
basic_machine=i386-sequent
|
||||||
;;
|
;;
|
||||||
sh)
|
|
||||||
basic_machine=sh-hitachi
|
|
||||||
os=-hms
|
|
||||||
;;
|
|
||||||
sh5el)
|
sh5el)
|
||||||
basic_machine=sh5le-unknown
|
basic_machine=sh5le-unknown
|
||||||
;;
|
;;
|
||||||
sh64)
|
simso-wrs)
|
||||||
basic_machine=sh64-unknown
|
|
||||||
;;
|
|
||||||
sparclite-wrs | simso-wrs)
|
|
||||||
basic_machine=sparclite-wrs
|
basic_machine=sparclite-wrs
|
||||||
os=-vxworks
|
os=-vxworks
|
||||||
;;
|
;;
|
||||||
|
@ -1129,7 +1120,7 @@ case $basic_machine in
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
strongarm-* | thumb-*)
|
strongarm-* | thumb-*)
|
||||||
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=arm-`echo "$basic_machine" | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
sun2)
|
sun2)
|
||||||
basic_machine=m68000-sun
|
basic_machine=m68000-sun
|
||||||
|
@ -1251,6 +1242,9 @@ case $basic_machine in
|
||||||
basic_machine=hppa1.1-winbond
|
basic_machine=hppa1.1-winbond
|
||||||
os=-proelf
|
os=-proelf
|
||||||
;;
|
;;
|
||||||
|
x64)
|
||||||
|
basic_machine=x86_64-pc
|
||||||
|
;;
|
||||||
xbox)
|
xbox)
|
||||||
basic_machine=i686-pc
|
basic_machine=i686-pc
|
||||||
os=-mingw32
|
os=-mingw32
|
||||||
|
@ -1259,20 +1253,12 @@ case $basic_machine in
|
||||||
basic_machine=xps100-honeywell
|
basic_machine=xps100-honeywell
|
||||||
;;
|
;;
|
||||||
xscale-* | xscalee[bl]-*)
|
xscale-* | xscalee[bl]-*)
|
||||||
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
|
basic_machine=`echo "$basic_machine" | sed 's/^xscale/arm/'`
|
||||||
;;
|
;;
|
||||||
ymp)
|
ymp)
|
||||||
basic_machine=ymp-cray
|
basic_machine=ymp-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
z8k-*-coff)
|
|
||||||
basic_machine=z8k-unknown
|
|
||||||
os=-sim
|
|
||||||
;;
|
|
||||||
z80-*-coff)
|
|
||||||
basic_machine=z80-unknown
|
|
||||||
os=-sim
|
|
||||||
;;
|
|
||||||
none)
|
none)
|
||||||
basic_machine=none-none
|
basic_machine=none-none
|
||||||
os=-none
|
os=-none
|
||||||
|
@ -1301,10 +1287,6 @@ case $basic_machine in
|
||||||
vax)
|
vax)
|
||||||
basic_machine=vax-dec
|
basic_machine=vax-dec
|
||||||
;;
|
;;
|
||||||
pdp10)
|
|
||||||
# there are many clones, so DEC is not a safe bet
|
|
||||||
basic_machine=pdp10-unknown
|
|
||||||
;;
|
|
||||||
pdp11)
|
pdp11)
|
||||||
basic_machine=pdp11-dec
|
basic_machine=pdp11-dec
|
||||||
;;
|
;;
|
||||||
|
@ -1314,9 +1296,6 @@ case $basic_machine in
|
||||||
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
|
||||||
basic_machine=sh-unknown
|
basic_machine=sh-unknown
|
||||||
;;
|
;;
|
||||||
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
|
|
||||||
basic_machine=sparc-sun
|
|
||||||
;;
|
|
||||||
cydra)
|
cydra)
|
||||||
basic_machine=cydra-cydrome
|
basic_machine=cydra-cydrome
|
||||||
;;
|
;;
|
||||||
|
@ -1336,7 +1315,7 @@ case $basic_machine in
|
||||||
# Make sure to match an already-canonicalized machine name.
|
# Make sure to match an already-canonicalized machine name.
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
echo Invalid configuration \`"$1"\': machine \`"$basic_machine"\' not recognized 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1344,10 +1323,10 @@ esac
|
||||||
# Here we canonicalize certain aliases for manufacturers.
|
# Here we canonicalize certain aliases for manufacturers.
|
||||||
case $basic_machine in
|
case $basic_machine in
|
||||||
*-digital*)
|
*-digital*)
|
||||||
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
|
basic_machine=`echo "$basic_machine" | sed 's/digital.*/dec/'`
|
||||||
;;
|
;;
|
||||||
*-commodore*)
|
*-commodore*)
|
||||||
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
|
basic_machine=`echo "$basic_machine" | sed 's/commodore.*/cbm/'`
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
;;
|
;;
|
||||||
|
@ -1358,8 +1337,8 @@ esac
|
||||||
if [ x"$os" != x"" ]
|
if [ x"$os" != x"" ]
|
||||||
then
|
then
|
||||||
case $os in
|
case $os in
|
||||||
# First match some system type aliases
|
# First match some system type aliases that might get confused
|
||||||
# that might get confused with valid system types.
|
# with valid system types.
|
||||||
# -solaris* is a basic system type, with this one exception.
|
# -solaris* is a basic system type, with this one exception.
|
||||||
-auroraux)
|
-auroraux)
|
||||||
os=-auroraux
|
os=-auroraux
|
||||||
|
@ -1370,18 +1349,19 @@ case $os in
|
||||||
-solaris)
|
-solaris)
|
||||||
os=-solaris2
|
os=-solaris2
|
||||||
;;
|
;;
|
||||||
-svr4*)
|
|
||||||
os=-sysv4
|
|
||||||
;;
|
|
||||||
-unixware*)
|
-unixware*)
|
||||||
os=-sysv4.2uw
|
os=-sysv4.2uw
|
||||||
;;
|
;;
|
||||||
-gnu/linux*)
|
-gnu/linux*)
|
||||||
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
|
||||||
;;
|
;;
|
||||||
# First accept the basic system types.
|
# es1800 is here to avoid being matched by es* (a different OS)
|
||||||
|
-es1800*)
|
||||||
|
os=-ose
|
||||||
|
;;
|
||||||
|
# Now accept the basic system types.
|
||||||
# The portable systems comes first.
|
# The portable systems comes first.
|
||||||
# Each alternative MUST END IN A *, to match a version number.
|
# Each alternative MUST end in a * to match a version number.
|
||||||
# -sysv* is not here because it comes later, after sysvr4.
|
# -sysv* is not here because it comes later, after sysvr4.
|
||||||
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
|
||||||
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
|
||||||
|
@ -1391,25 +1371,26 @@ case $os in
|
||||||
| -aos* | -aros* | -cloudabi* | -sortix* \
|
| -aos* | -aros* | -cloudabi* | -sortix* \
|
||||||
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
|
||||||
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
|
||||||
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
|
| -hiux* | -knetbsd* | -mirbsd* | -netbsd* \
|
||||||
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
|
| -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
|
||||||
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
|
||||||
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
|
||||||
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
|
||||||
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
|
||||||
| -chorusos* | -chorusrdb* | -cegcc* \
|
| -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
|
||||||
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
|
||||||
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
| -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
|
||||||
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
|
||||||
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
| -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
|
||||||
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
|
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* \
|
||||||
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
|
||||||
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
|
||||||
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
|
||||||
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
|
| -morphos* | -superux* | -rtmk* | -windiss* \
|
||||||
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
|
||||||
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
|
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
|
||||||
| -onefs* | -tirtos* | -phoenix* | -fuchsia*)
|
| -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox* | -bme* \
|
||||||
|
| -midnightbsd*)
|
||||||
# Remember, each alternative MUST END IN *, to match a version number.
|
# Remember, each alternative MUST END IN *, to match a version number.
|
||||||
;;
|
;;
|
||||||
-qnx*)
|
-qnx*)
|
||||||
|
@ -1426,12 +1407,12 @@ case $os in
|
||||||
-nto*)
|
-nto*)
|
||||||
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
os=`echo $os | sed -e 's|nto|nto-qnx|'`
|
||||||
;;
|
;;
|
||||||
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
|
-sim | -xray | -os68k* | -v88r* \
|
||||||
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
|
| -windows* | -osx | -abug | -netware* | -os9* \
|
||||||
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
|
||||||
;;
|
;;
|
||||||
-mac*)
|
-mac*)
|
||||||
os=`echo $os | sed -e 's|mac|macos|'`
|
os=`echo "$os" | sed -e 's|mac|macos|'`
|
||||||
;;
|
;;
|
||||||
-linux-dietlibc)
|
-linux-dietlibc)
|
||||||
os=-linux-dietlibc
|
os=-linux-dietlibc
|
||||||
|
@ -1440,10 +1421,10 @@ case $os in
|
||||||
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
os=`echo $os | sed -e 's|linux|linux-gnu|'`
|
||||||
;;
|
;;
|
||||||
-sunos5*)
|
-sunos5*)
|
||||||
os=`echo $os | sed -e 's|sunos5|solaris2|'`
|
os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
|
||||||
;;
|
;;
|
||||||
-sunos6*)
|
-sunos6*)
|
||||||
os=`echo $os | sed -e 's|sunos6|solaris3|'`
|
os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
|
||||||
;;
|
;;
|
||||||
-opened*)
|
-opened*)
|
||||||
os=-openedition
|
os=-openedition
|
||||||
|
@ -1454,12 +1435,6 @@ case $os in
|
||||||
-wince*)
|
-wince*)
|
||||||
os=-wince
|
os=-wince
|
||||||
;;
|
;;
|
||||||
-osfrose*)
|
|
||||||
os=-osfrose
|
|
||||||
;;
|
|
||||||
-osf*)
|
|
||||||
os=-osf
|
|
||||||
;;
|
|
||||||
-utek*)
|
-utek*)
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
|
@ -1484,7 +1459,7 @@ case $os in
|
||||||
-nova*)
|
-nova*)
|
||||||
os=-rtmk-nova
|
os=-rtmk-nova
|
||||||
;;
|
;;
|
||||||
-ns2 )
|
-ns2)
|
||||||
os=-nextstep2
|
os=-nextstep2
|
||||||
;;
|
;;
|
||||||
-nsk*)
|
-nsk*)
|
||||||
|
@ -1506,7 +1481,7 @@ case $os in
|
||||||
-oss*)
|
-oss*)
|
||||||
os=-sysv3
|
os=-sysv3
|
||||||
;;
|
;;
|
||||||
-svr4)
|
-svr4*)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
-svr3)
|
-svr3)
|
||||||
|
@ -1521,24 +1496,28 @@ case $os in
|
||||||
-ose*)
|
-ose*)
|
||||||
os=-ose
|
os=-ose
|
||||||
;;
|
;;
|
||||||
-es1800*)
|
|
||||||
os=-ose
|
|
||||||
;;
|
|
||||||
-xenix)
|
|
||||||
os=-xenix
|
|
||||||
;;
|
|
||||||
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
|
||||||
os=-mint
|
os=-mint
|
||||||
;;
|
;;
|
||||||
-aros*)
|
|
||||||
os=-aros
|
|
||||||
;;
|
|
||||||
-zvmoe)
|
-zvmoe)
|
||||||
os=-zvmoe
|
os=-zvmoe
|
||||||
;;
|
;;
|
||||||
-dicos*)
|
-dicos*)
|
||||||
os=-dicos
|
os=-dicos
|
||||||
;;
|
;;
|
||||||
|
-pikeos*)
|
||||||
|
# Until real need of OS specific support for
|
||||||
|
# particular features comes up, bare metal
|
||||||
|
# configurations are quite functional.
|
||||||
|
case $basic_machine in
|
||||||
|
arm*)
|
||||||
|
os=-eabi
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
-nacl*)
|
-nacl*)
|
||||||
;;
|
;;
|
||||||
-ios)
|
-ios)
|
||||||
|
@ -1548,7 +1527,7 @@ case $os in
|
||||||
*)
|
*)
|
||||||
# Get rid of the `-' at the beginning of $os.
|
# Get rid of the `-' at the beginning of $os.
|
||||||
os=`echo $os | sed 's/[^-]*-//'`
|
os=`echo $os | sed 's/[^-]*-//'`
|
||||||
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
|
echo Invalid configuration \`"$1"\': system \`"$os"\' not recognized 1>&2
|
||||||
exit 1
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
@ -1638,12 +1617,12 @@ case $basic_machine in
|
||||||
sparc-* | *-sun)
|
sparc-* | *-sun)
|
||||||
os=-sunos4.1.1
|
os=-sunos4.1.1
|
||||||
;;
|
;;
|
||||||
|
pru-*)
|
||||||
|
os=-elf
|
||||||
|
;;
|
||||||
*-be)
|
*-be)
|
||||||
os=-beos
|
os=-beos
|
||||||
;;
|
;;
|
||||||
*-haiku)
|
|
||||||
os=-haiku
|
|
||||||
;;
|
|
||||||
*-ibm)
|
*-ibm)
|
||||||
os=-aix
|
os=-aix
|
||||||
;;
|
;;
|
||||||
|
@ -1683,7 +1662,7 @@ case $basic_machine in
|
||||||
m88k-omron*)
|
m88k-omron*)
|
||||||
os=-luna
|
os=-luna
|
||||||
;;
|
;;
|
||||||
*-next )
|
*-next)
|
||||||
os=-nextstep
|
os=-nextstep
|
||||||
;;
|
;;
|
||||||
*-sequent)
|
*-sequent)
|
||||||
|
@ -1698,9 +1677,6 @@ case $basic_machine in
|
||||||
i370-*)
|
i370-*)
|
||||||
os=-mvs
|
os=-mvs
|
||||||
;;
|
;;
|
||||||
*-next)
|
|
||||||
os=-nextstep3
|
|
||||||
;;
|
|
||||||
*-gould)
|
*-gould)
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
|
@ -1810,15 +1786,15 @@ case $basic_machine in
|
||||||
vendor=stratus
|
vendor=stratus
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
|
basic_machine=`echo "$basic_machine" | sed "s/unknown/$vendor/"`
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
echo $basic_machine$os
|
echo "$basic_machine$os"
|
||||||
exit
|
exit
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-functions 'time-stamp)
|
||||||
# time-stamp-start: "timestamp='"
|
# time-stamp-start: "timestamp='"
|
||||||
# time-stamp-format: "%:y-%02m-%02d"
|
# time-stamp-format: "%:y-%02m-%02d"
|
||||||
# time-stamp-end: "'"
|
# time-stamp-end: "'"
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# Guess values for system-dependent variables and create Makefiles.
|
# Guess values for system-dependent variables and create Makefiles.
|
||||||
# Generated by GNU Autoconf 2.69 for pcsc-lite 1.8.23.
|
# Generated by GNU Autoconf 2.69 for pcsc-lite 1.8.24.
|
||||||
#
|
#
|
||||||
#
|
#
|
||||||
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
|
||||||
|
@ -587,8 +587,8 @@ MAKEFLAGS=
|
||||||
# Identity of this package.
|
# Identity of this package.
|
||||||
PACKAGE_NAME='pcsc-lite'
|
PACKAGE_NAME='pcsc-lite'
|
||||||
PACKAGE_TARNAME='pcsc-lite'
|
PACKAGE_TARNAME='pcsc-lite'
|
||||||
PACKAGE_VERSION='1.8.23'
|
PACKAGE_VERSION='1.8.24'
|
||||||
PACKAGE_STRING='pcsc-lite 1.8.23'
|
PACKAGE_STRING='pcsc-lite 1.8.24'
|
||||||
PACKAGE_BUGREPORT=''
|
PACKAGE_BUGREPORT=''
|
||||||
PACKAGE_URL=''
|
PACKAGE_URL=''
|
||||||
|
|
||||||
|
@ -709,7 +709,6 @@ am__nodep
|
||||||
AMDEPBACKSLASH
|
AMDEPBACKSLASH
|
||||||
AMDEP_FALSE
|
AMDEP_FALSE
|
||||||
AMDEP_TRUE
|
AMDEP_TRUE
|
||||||
am__quote
|
|
||||||
am__include
|
am__include
|
||||||
DEPDIR
|
DEPDIR
|
||||||
OBJEXT
|
OBJEXT
|
||||||
|
@ -792,7 +791,8 @@ PACKAGE_VERSION
|
||||||
PACKAGE_TARNAME
|
PACKAGE_TARNAME
|
||||||
PACKAGE_NAME
|
PACKAGE_NAME
|
||||||
PATH_SEPARATOR
|
PATH_SEPARATOR
|
||||||
SHELL'
|
SHELL
|
||||||
|
am__quote'
|
||||||
ac_subst_files=''
|
ac_subst_files=''
|
||||||
ac_user_opts='
|
ac_user_opts='
|
||||||
enable_option_checking
|
enable_option_checking
|
||||||
|
@ -1392,7 +1392,7 @@ if test "$ac_init_help" = "long"; then
|
||||||
# Omit some internal or obsolete options to make the list less imposing.
|
# 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.
|
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||||
cat <<_ACEOF
|
cat <<_ACEOF
|
||||||
\`configure' configures pcsc-lite 1.8.23 to adapt to many kinds of systems.
|
\`configure' configures pcsc-lite 1.8.24 to adapt to many kinds of systems.
|
||||||
|
|
||||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||||
|
|
||||||
|
@ -1463,7 +1463,7 @@ fi
|
||||||
|
|
||||||
if test -n "$ac_init_help"; then
|
if test -n "$ac_init_help"; then
|
||||||
case $ac_init_help in
|
case $ac_init_help in
|
||||||
short | recursive ) echo "Configuration of pcsc-lite 1.8.23:";;
|
short | recursive ) echo "Configuration of pcsc-lite 1.8.24:";;
|
||||||
esac
|
esac
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
|
|
||||||
|
@ -1615,7 +1615,7 @@ fi
|
||||||
test -n "$ac_init_help" && exit $ac_status
|
test -n "$ac_init_help" && exit $ac_status
|
||||||
if $ac_init_version; then
|
if $ac_init_version; then
|
||||||
cat <<\_ACEOF
|
cat <<\_ACEOF
|
||||||
pcsc-lite configure 1.8.23
|
pcsc-lite configure 1.8.24
|
||||||
generated by GNU Autoconf 2.69
|
generated by GNU Autoconf 2.69
|
||||||
|
|
||||||
Copyright (C) 2012 Free Software Foundation, Inc.
|
Copyright (C) 2012 Free Software Foundation, Inc.
|
||||||
|
@ -2091,7 +2091,7 @@ cat >config.log <<_ACEOF
|
||||||
This file contains any messages produced by compilers while
|
This file contains any messages produced by compilers while
|
||||||
running configure, to aid debugging if configure makes a mistake.
|
running configure, to aid debugging if configure makes a mistake.
|
||||||
|
|
||||||
It was created by pcsc-lite $as_me 1.8.23, which was
|
It was created by pcsc-lite $as_me 1.8.24, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
$ $0 $@
|
$ $0 $@
|
||||||
|
@ -2440,7 +2440,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
am__api_version='1.15'
|
am__api_version='1.16'
|
||||||
|
|
||||||
ac_aux_dir=
|
ac_aux_dir=
|
||||||
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
|
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
|
||||||
|
@ -2955,7 +2955,7 @@ fi
|
||||||
|
|
||||||
# Define the identity of the package.
|
# Define the identity of the package.
|
||||||
PACKAGE='pcsc-lite'
|
PACKAGE='pcsc-lite'
|
||||||
VERSION='1.8.23'
|
VERSION='1.8.24'
|
||||||
|
|
||||||
|
|
||||||
cat >>confdefs.h <<_ACEOF
|
cat >>confdefs.h <<_ACEOF
|
||||||
|
@ -2985,8 +2985,8 @@ MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
|
||||||
|
|
||||||
# For better backward compatibility. To be removed once Automake 1.9.x
|
# For better backward compatibility. To be removed once Automake 1.9.x
|
||||||
# dies out for good. For more background, see:
|
# dies out for good. For more background, see:
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00001.html>
|
||||||
# <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
# <https://lists.gnu.org/archive/html/automake/2012-07/msg00014.html>
|
||||||
mkdir_p='$(MKDIR_P)'
|
mkdir_p='$(MKDIR_P)'
|
||||||
|
|
||||||
# We need awk for the "check" target (and possibly the TAP driver). The
|
# We need awk for the "check" target (and possibly the TAP driver). The
|
||||||
|
@ -3037,7 +3037,7 @@ END
|
||||||
Aborting the configuration process, to ensure you take notice of the issue.
|
Aborting the configuration process, to ensure you take notice of the issue.
|
||||||
|
|
||||||
You can download and install GNU coreutils to get an 'rm' implementation
|
You can download and install GNU coreutils to get an 'rm' implementation
|
||||||
that behaves properly: <http://www.gnu.org/software/coreutils/>.
|
that behaves properly: <https://www.gnu.org/software/coreutils/>.
|
||||||
|
|
||||||
If you want to complete the configuration process using your problematic
|
If you want to complete the configuration process using your problematic
|
||||||
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM
|
||||||
|
@ -4015,45 +4015,45 @@ DEPDIR="${am__leading_dot}deps"
|
||||||
|
|
||||||
ac_config_commands="$ac_config_commands depfiles"
|
ac_config_commands="$ac_config_commands depfiles"
|
||||||
|
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} supports the include directive" >&5
|
||||||
am_make=${MAKE-make}
|
$as_echo_n "checking whether ${MAKE-make} supports the include directive... " >&6; }
|
||||||
cat > confinc << 'END'
|
cat > confinc.mk << 'END'
|
||||||
am__doit:
|
am__doit:
|
||||||
@echo this is the am__doit target
|
@echo this is the am__doit target >confinc.out
|
||||||
.PHONY: am__doit
|
.PHONY: am__doit
|
||||||
END
|
END
|
||||||
# If we don't find an include directive, just comment out the code.
|
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5
|
|
||||||
$as_echo_n "checking for style of include used by $am_make... " >&6; }
|
|
||||||
am__include="#"
|
am__include="#"
|
||||||
am__quote=
|
am__quote=
|
||||||
_am_result=none
|
# BSD make does it like this.
|
||||||
# First try GNU make style include.
|
echo '.include "confinc.mk" # ignored' > confmf.BSD
|
||||||
echo "include confinc" > confmf
|
# Other make implementations (GNU, Solaris 10, AIX) do it like this.
|
||||||
# Ignore all kinds of additional output from 'make'.
|
echo 'include confinc.mk # ignored' > confmf.GNU
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
_am_result=no
|
||||||
*the\ am__doit\ target*)
|
for s in GNU BSD; do
|
||||||
am__include=include
|
{ echo "$as_me:$LINENO: ${MAKE-make} -f confmf.$s && cat confinc.out" >&5
|
||||||
am__quote=
|
(${MAKE-make} -f confmf.$s && cat confinc.out) >&5 2>&5
|
||||||
_am_result=GNU
|
ac_status=$?
|
||||||
;;
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
esac
|
(exit $ac_status); }
|
||||||
# Now try BSD make style include.
|
case $?:`cat confinc.out 2>/dev/null` in #(
|
||||||
if test "$am__include" = "#"; then
|
'0:this is the am__doit target') :
|
||||||
echo '.include "confinc"' > confmf
|
case $s in #(
|
||||||
case `$am_make -s -f confmf 2> /dev/null` in #(
|
BSD) :
|
||||||
*the\ am__doit\ target*)
|
am__include='.include' am__quote='"' ;; #(
|
||||||
am__include=.include
|
*) :
|
||||||
am__quote="\""
|
am__include='include' am__quote='' ;;
|
||||||
_am_result=BSD
|
esac ;; #(
|
||||||
|
*) :
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
fi
|
if test "$am__include" != "#"; then
|
||||||
|
_am_result="yes ($s style)"
|
||||||
|
break
|
||||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5
|
fi
|
||||||
$as_echo "$_am_result" >&6; }
|
done
|
||||||
rm -f confinc confmf
|
rm -f confinc.* confmf.*
|
||||||
|
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${_am_result}" >&5
|
||||||
|
$as_echo "${_am_result}" >&6; }
|
||||||
|
|
||||||
# Check whether --enable-dependency-tracking was given.
|
# Check whether --enable-dependency-tracking was given.
|
||||||
if test "${enable_dependency_tracking+set}" = set; then :
|
if test "${enable_dependency_tracking+set}" = set; then :
|
||||||
|
@ -16172,7 +16172,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
||||||
# report actual input values of CONFIG_FILES etc. instead of their
|
# report actual input values of CONFIG_FILES etc. instead of their
|
||||||
# values after options handling.
|
# values after options handling.
|
||||||
ac_log="
|
ac_log="
|
||||||
This file was extended by pcsc-lite $as_me 1.8.23, which was
|
This file was extended by pcsc-lite $as_me 1.8.24, which was
|
||||||
generated by GNU Autoconf 2.69. Invocation command line was
|
generated by GNU Autoconf 2.69. Invocation command line was
|
||||||
|
|
||||||
CONFIG_FILES = $CONFIG_FILES
|
CONFIG_FILES = $CONFIG_FILES
|
||||||
|
@ -16238,7 +16238,7 @@ _ACEOF
|
||||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
|
||||||
ac_cs_version="\\
|
ac_cs_version="\\
|
||||||
pcsc-lite config.status 1.8.23
|
pcsc-lite config.status 1.8.24
|
||||||
configured by $0, generated by GNU Autoconf 2.69,
|
configured by $0, generated by GNU Autoconf 2.69,
|
||||||
with options \\"\$ac_cs_config\\"
|
with options \\"\$ac_cs_config\\"
|
||||||
|
|
||||||
|
@ -16357,7 +16357,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||||
#
|
#
|
||||||
# INIT-COMMANDS
|
# INIT-COMMANDS
|
||||||
#
|
#
|
||||||
AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"
|
AMDEP_TRUE="$AMDEP_TRUE" MAKE="${MAKE-make}"
|
||||||
|
|
||||||
|
|
||||||
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
# The HP-UX ksh and POSIX shell print the target directory to stdout
|
||||||
|
@ -17266,29 +17266,35 @@ $as_echo "$as_me: executing $ac_file commands" >&6;}
|
||||||
# Older Autoconf quotes --file arguments for eval, but not when files
|
# Older Autoconf quotes --file arguments for eval, but not when files
|
||||||
# are listed without --file. Let's play safe and only enable the eval
|
# are listed without --file. Let's play safe and only enable the eval
|
||||||
# if we detect the quoting.
|
# if we detect the quoting.
|
||||||
case $CONFIG_FILES in
|
# TODO: see whether this extra hack can be removed once we start
|
||||||
*\'*) eval set x "$CONFIG_FILES" ;;
|
# requiring Autoconf 2.70 or later.
|
||||||
*) set x $CONFIG_FILES ;;
|
case $CONFIG_FILES in #(
|
||||||
esac
|
*\'*) :
|
||||||
|
eval set x "$CONFIG_FILES" ;; #(
|
||||||
|
*) :
|
||||||
|
set x $CONFIG_FILES ;; #(
|
||||||
|
*) :
|
||||||
|
;;
|
||||||
|
esac
|
||||||
shift
|
shift
|
||||||
for mf
|
# Used to flag and report bootstrapping failures.
|
||||||
|
am_rc=0
|
||||||
|
for am_mf
|
||||||
do
|
do
|
||||||
# Strip MF so we end up with the name of the file.
|
# Strip MF so we end up with the name of the file.
|
||||||
mf=`echo "$mf" | sed -e 's/:.*$//'`
|
am_mf=`$as_echo "$am_mf" | sed -e 's/:.*$//'`
|
||||||
# Check whether this is an Automake generated Makefile or not.
|
# Check whether this is an Automake generated Makefile which includes
|
||||||
# We used to match only the files named 'Makefile.in', but
|
# dependency-tracking related rules and includes.
|
||||||
# some people rename them; so instead we look at the file content.
|
# Grep'ing the whole file directly is not great: AIX grep has a line
|
||||||
# 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.
|
# 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
|
sed -n 's,^am--depfiles:.*,X,p' "$am_mf" | grep X >/dev/null 2>&1 \
|
||||||
dirpart=`$as_dirname -- "$mf" ||
|
|| continue
|
||||||
$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
am_dirpart=`$as_dirname -- "$am_mf" ||
|
||||||
X"$mf" : 'X\(//\)[^/]' \| \
|
$as_expr X"$am_mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||||
X"$mf" : 'X\(//\)$' \| \
|
X"$am_mf" : 'X\(//\)[^/]' \| \
|
||||||
X"$mf" : 'X\(/\)' \| . 2>/dev/null ||
|
X"$am_mf" : 'X\(//\)$' \| \
|
||||||
$as_echo X"$mf" |
|
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
||||||
|
$as_echo X"$am_mf" |
|
||||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
|
@ -17306,53 +17312,48 @@ $as_echo X"$mf" |
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
s/.*/./; q'`
|
s/.*/./; q'`
|
||||||
else
|
am_filepart=`$as_basename -- "$am_mf" ||
|
||||||
continue
|
$as_expr X/"$am_mf" : '.*/\([^/][^/]*\)/*$' \| \
|
||||||
fi
|
X"$am_mf" : 'X\(//\)$' \| \
|
||||||
# Extract the definition of DEPDIR, am__include, and am__quote
|
X"$am_mf" : 'X\(/\)' \| . 2>/dev/null ||
|
||||||
# from the Makefile without running 'make'.
|
$as_echo X/"$am_mf" |
|
||||||
DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
|
sed '/^.*\/\([^/][^/]*\)\/*$/{
|
||||||
test -z "$DEPDIR" && continue
|
|
||||||
am__include=`sed -n 's/^am__include = //p' < "$mf"`
|
|
||||||
test -z "$am__include" && continue
|
|
||||||
am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
|
|
||||||
# Find all dependency output files, they are included files with
|
|
||||||
# $(DEPDIR) in their names. We invoke sed twice because it is the
|
|
||||||
# simplest approach to changing $(DEPDIR) to its actual value in the
|
|
||||||
# expansion.
|
|
||||||
for file in `sed -n "
|
|
||||||
s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
|
|
||||||
sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do
|
|
||||||
# Make sure the directory exists.
|
|
||||||
test -f "$dirpart/$file" && continue
|
|
||||||
fdir=`$as_dirname -- "$file" ||
|
|
||||||
$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
|
||||||
X"$file" : 'X\(//\)[^/]' \| \
|
|
||||||
X"$file" : 'X\(//\)$' \| \
|
|
||||||
X"$file" : 'X\(/\)' \| . 2>/dev/null ||
|
|
||||||
$as_echo X"$file" |
|
|
||||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
/^X\(\/\/\)[^/].*/{
|
/^X\/\(\/\/\)$/{
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
/^X\(\/\/\)$/{
|
/^X\/\(\/\).*/{
|
||||||
s//\1/
|
|
||||||
q
|
|
||||||
}
|
|
||||||
/^X\(\/\).*/{
|
|
||||||
s//\1/
|
s//\1/
|
||||||
q
|
q
|
||||||
}
|
}
|
||||||
s/.*/./; q'`
|
s/.*/./; q'`
|
||||||
as_dir=$dirpart/$fdir; as_fn_mkdir_p
|
{ echo "$as_me:$LINENO: cd "$am_dirpart" \
|
||||||
# echo "creating $dirpart/$file"
|
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||||
echo '# dummy' > "$dirpart/$file"
|
| $MAKE -f - am--depfiles" >&5
|
||||||
done
|
(cd "$am_dirpart" \
|
||||||
|
&& sed -e '/# am--include-marker/d' "$am_filepart" \
|
||||||
|
| $MAKE -f - am--depfiles) >&5 2>&5
|
||||||
|
ac_status=$?
|
||||||
|
echo "$as_me:$LINENO: \$? = $ac_status" >&5
|
||||||
|
(exit $ac_status); } || am_rc=$?
|
||||||
done
|
done
|
||||||
|
if test $am_rc -ne 0; then
|
||||||
|
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||||
|
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||||
|
as_fn_error $? "Something went wrong bootstrapping makefile fragments
|
||||||
|
for automatic dependency tracking. Try re-running configure with the
|
||||||
|
'--disable-dependency-tracking' option to at least be able to build
|
||||||
|
the package (albeit without support for automatic dependency tracking).
|
||||||
|
See \`config.log' for more details" "$LINENO" 5; }
|
||||||
|
fi
|
||||||
|
{ am_dirpart=; unset am_dirpart;}
|
||||||
|
{ am_filepart=; unset am_filepart;}
|
||||||
|
{ am_mf=; unset am_mf;}
|
||||||
|
{ am_rc=; unset am_rc;}
|
||||||
|
rm -f conftest-deps.mk
|
||||||
}
|
}
|
||||||
;;
|
;;
|
||||||
"libtool":C)
|
"libtool":C)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
AC_PREREQ([2.69])
|
AC_PREREQ([2.69])
|
||||||
|
|
||||||
AC_INIT([pcsc-lite],[1.8.23])
|
AC_INIT([pcsc-lite],[1.8.24])
|
||||||
AC_CONFIG_SRCDIR(src/pcscdaemon.c)
|
AC_CONFIG_SRCDIR(src/pcscdaemon.c)
|
||||||
AM_INIT_AUTOMAKE(1.8 dist-bzip2 no-dist-gzip)
|
AM_INIT_AUTOMAKE(1.8 dist-bzip2 no-dist-gzip)
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
|
|
10
depcomp
10
depcomp
|
@ -1,9 +1,9 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# depcomp - compile a program generating dependencies as side-effects
|
# depcomp - compile a program generating dependencies as side-effects
|
||||||
|
|
||||||
scriptversion=2013-05-30.07; # UTC
|
scriptversion=2018-03-07.03; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1999-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1999-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# 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
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -16,7 +16,7 @@ scriptversion=2013-05-30.07; # UTC
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
|
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# As a special exception to the GNU General Public License, if you
|
# As a special exception to the GNU General Public License, if you
|
||||||
# distribute this file as part of a program that contains a
|
# distribute this file as part of a program that contains a
|
||||||
|
@ -783,9 +783,9 @@ exit 0
|
||||||
# Local Variables:
|
# Local Variables:
|
||||||
# mode: shell-script
|
# mode: shell-script
|
||||||
# sh-indentation: 2
|
# sh-indentation: 2
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -172,7 +172,7 @@ am__recursive_targets = \
|
||||||
$(RECURSIVE_CLEAN_TARGETS) \
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
$(am__extra_recursive_targets)
|
$(am__extra_recursive_targets)
|
||||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
distdir
|
distdir distdir-am
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
# Read a list of newline-separated strings from the standard input,
|
# Read a list of newline-separated strings from the standard input,
|
||||||
# and print each of them once, without duplicates. Input order is
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
@ -402,8 +402,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
@ -633,7 +633,10 @@ cscopelist-am: $(am__tagged_files)
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -130,7 +130,8 @@ am__v_at_0 = @
|
||||||
am__v_at_1 =
|
am__v_at_1 =
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__maybe_remake_depfiles = depfiles
|
||||||
|
am__depfiles_remade = ./$(DEPDIR)/pcsc_demo-pcsc_demo.Po
|
||||||
am__mv = mv -f
|
am__mv = mv -f
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
@ -354,8 +355,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
@ -386,7 +387,13 @@ mostlyclean-compile:
|
||||||
distclean-compile:
|
distclean-compile:
|
||||||
-rm -f *.tab.c
|
-rm -f *.tab.c
|
||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc_demo-pcsc_demo.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc_demo-pcsc_demo.Po@am__quote@ # am--include-marker
|
||||||
|
|
||||||
|
$(am__depfiles_remade):
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
|
||||||
|
|
||||||
|
am--depfiles: $(am__depfiles_remade)
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
|
@ -481,7 +488,10 @@ cscopelist-am: $(am__tagged_files)
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
|
@ -551,7 +561,7 @@ clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
|
||||||
mostlyclean-am
|
mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -f ./$(DEPDIR)/pcsc_demo-pcsc_demo.Po
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-tags
|
distclean-tags
|
||||||
|
@ -597,7 +607,7 @@ install-ps-am:
|
||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -f ./$(DEPDIR)/pcsc_demo-pcsc_demo.Po
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
@ -618,9 +628,9 @@ uninstall-am:
|
||||||
|
|
||||||
.MAKE: install-am install-strip
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
|
||||||
clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \
|
clean-generic clean-libtool clean-noinstPROGRAMS cscopelist-am \
|
||||||
ctags-am distclean distclean-compile distclean-generic \
|
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||||
html-am info info-am install install-am install-data \
|
html-am info info-am install install-am install-data \
|
||||||
install-data-am install-dvi install-dvi-am install-exec \
|
install-data-am install-dvi install-dvi-am install-exec \
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Sample program to use PC/SC API.
|
* Sample program to use PC/SC API.
|
||||||
*
|
*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003-2011
|
* Copyright (C) 2003-2011
|
||||||
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
||||||
<policyconfig>
|
<policyconfig>
|
||||||
<vendor>The PCSC-lite Project</vendor>
|
<vendor>The PCSC-lite Project</vendor>
|
||||||
<vendor_url>http://pcsclite.alioth.debian.org/</vendor_url>
|
<vendor_url>https://pcsclite.apdu.fr/</vendor_url>
|
||||||
<!-- <icon_name>smart-card</icon_name> -->
|
<!-- <icon_name>smart-card</icon_name> -->
|
||||||
|
|
||||||
<action id="org.debian.pcsc-lite.access_pcsc">
|
<action id="org.debian.pcsc-lite.access_pcsc">
|
||||||
|
|
|
@ -102,7 +102,7 @@ file. See the
|
||||||
.BR reader.conf (5)
|
.BR reader.conf (5)
|
||||||
manual page for more information.
|
manual page for more information.
|
||||||
.PP
|
.PP
|
||||||
Some drivers are available at \fIhttp://pcsclite.alioth.debian.org/musclecard.com/drivers.html\fP.
|
Some drivers are available at \fIhttps://muscle.apdu.fr/musclecard.com/drivers.html\fP.
|
||||||
.
|
.
|
||||||
.SH "USB SMART CARD READER DRIVERS"
|
.SH "USB SMART CARD READER DRIVERS"
|
||||||
USB smart card reader drivers are located in
|
USB smart card reader drivers are located in
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -334,8 +334,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
@ -384,7 +384,10 @@ ctags CTAGS:
|
||||||
cscope cscopelist:
|
cscope cscopelist:
|
||||||
|
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
[Unit]
|
[Unit]
|
||||||
Description=PC/SC Smart Card Daemon
|
Description=PC/SC Smart Card Daemon
|
||||||
Requires=pcscd.socket
|
Requires=pcscd.socket
|
||||||
|
Documentation=man:pcscd(8)
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=@sbindir_exp@/pcscd --foreground --auto-exit
|
ExecStart=@sbindir_exp@/pcscd --foreground --auto-exit
|
||||||
|
|
361
install-sh
361
install-sh
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2011-11-20.07; # UTC
|
scriptversion=2014-09-12.12; # UTC
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
|
@ -41,19 +41,15 @@ scriptversion=2011-11-20.07; # UTC
|
||||||
# This script is compatible with the BSD install script, but was written
|
# This script is compatible with the BSD install script, but was written
|
||||||
# from scratch.
|
# from scratch.
|
||||||
|
|
||||||
|
tab=' '
|
||||||
nl='
|
nl='
|
||||||
'
|
'
|
||||||
IFS=" "" $nl"
|
IFS=" $tab$nl"
|
||||||
|
|
||||||
# set DOITPROG to echo to test this script
|
# Set DOITPROG to "echo" to test this script.
|
||||||
|
|
||||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
|
||||||
doit=${DOITPROG-}
|
doit=${DOITPROG-}
|
||||||
if test -z "$doit"; then
|
doit_exec=${doit:-exec}
|
||||||
doit_exec=exec
|
|
||||||
else
|
|
||||||
doit_exec=$doit
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Put in absolute file names if you don't have them in your path;
|
# Put in absolute file names if you don't have them in your path;
|
||||||
# or use environment vars.
|
# or use environment vars.
|
||||||
|
@ -68,17 +64,6 @@ mvprog=${MVPROG-mv}
|
||||||
rmprog=${RMPROG-rm}
|
rmprog=${RMPROG-rm}
|
||||||
stripprog=${STRIPPROG-strip}
|
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=
|
posix_mkdir=
|
||||||
|
|
||||||
# Desired mode of installed file.
|
# Desired mode of installed file.
|
||||||
|
@ -97,7 +82,7 @@ dir_arg=
|
||||||
dst_arg=
|
dst_arg=
|
||||||
|
|
||||||
copy_on_change=false
|
copy_on_change=false
|
||||||
no_target_directory=
|
is_target_a_directory=possibly
|
||||||
|
|
||||||
usage="\
|
usage="\
|
||||||
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||||
|
@ -137,46 +122,57 @@ while test $# -ne 0; do
|
||||||
-d) dir_arg=true;;
|
-d) dir_arg=true;;
|
||||||
|
|
||||||
-g) chgrpcmd="$chgrpprog $2"
|
-g) chgrpcmd="$chgrpprog $2"
|
||||||
shift;;
|
shift;;
|
||||||
|
|
||||||
--help) echo "$usage"; exit $?;;
|
--help) echo "$usage"; exit $?;;
|
||||||
|
|
||||||
-m) mode=$2
|
-m) mode=$2
|
||||||
case $mode in
|
case $mode in
|
||||||
*' '* | *' '* | *'
|
*' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*)
|
||||||
'* | *'*'* | *'?'* | *'['*)
|
echo "$0: invalid mode: $mode" >&2
|
||||||
echo "$0: invalid mode: $mode" >&2
|
exit 1;;
|
||||||
exit 1;;
|
esac
|
||||||
esac
|
shift;;
|
||||||
shift;;
|
|
||||||
|
|
||||||
-o) chowncmd="$chownprog $2"
|
-o) chowncmd="$chownprog $2"
|
||||||
shift;;
|
shift;;
|
||||||
|
|
||||||
-s) stripcmd=$stripprog;;
|
-s) stripcmd=$stripprog;;
|
||||||
|
|
||||||
-t) dst_arg=$2
|
-t)
|
||||||
# Protect names problematic for 'test' and other utilities.
|
is_target_a_directory=always
|
||||||
case $dst_arg in
|
dst_arg=$2
|
||||||
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
# Protect names problematic for 'test' and other utilities.
|
||||||
esac
|
case $dst_arg in
|
||||||
shift;;
|
-* | [=\(\)!]) dst_arg=./$dst_arg;;
|
||||||
|
esac
|
||||||
|
shift;;
|
||||||
|
|
||||||
-T) no_target_directory=true;;
|
-T) is_target_a_directory=never;;
|
||||||
|
|
||||||
--version) echo "$0 $scriptversion"; exit $?;;
|
--version) echo "$0 $scriptversion"; exit $?;;
|
||||||
|
|
||||||
--) shift
|
--) shift
|
||||||
break;;
|
break;;
|
||||||
|
|
||||||
-*) echo "$0: invalid option: $1" >&2
|
-*) echo "$0: invalid option: $1" >&2
|
||||||
exit 1;;
|
exit 1;;
|
||||||
|
|
||||||
*) break;;
|
*) break;;
|
||||||
esac
|
esac
|
||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# We allow the use of options -d and -T together, by making -d
|
||||||
|
# take the precedence; this is for compatibility with GNU install.
|
||||||
|
|
||||||
|
if test -n "$dir_arg"; then
|
||||||
|
if test -n "$dst_arg"; then
|
||||||
|
echo "$0: target directory not allowed when installing a directory." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
|
||||||
# When -d is used, all remaining arguments are directories to create.
|
# When -d is used, all remaining arguments are directories to create.
|
||||||
# When -t is used, the destination is already specified.
|
# When -t is used, the destination is already specified.
|
||||||
|
@ -207,6 +203,15 @@ if test $# -eq 0; then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test -z "$dir_arg"; then
|
||||||
|
if test $# -gt 1 || test "$is_target_a_directory" = always; then
|
||||||
|
if test ! -d "$dst_arg"; then
|
||||||
|
echo "$0: $dst_arg: Is not a directory." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if test -z "$dir_arg"; then
|
if test -z "$dir_arg"; then
|
||||||
do_exit='(exit $ret); exit $ret'
|
do_exit='(exit $ret); exit $ret'
|
||||||
trap "ret=129; $do_exit" 1
|
trap "ret=129; $do_exit" 1
|
||||||
|
@ -223,16 +228,16 @@ if test -z "$dir_arg"; then
|
||||||
|
|
||||||
*[0-7])
|
*[0-7])
|
||||||
if test -z "$stripcmd"; then
|
if test -z "$stripcmd"; then
|
||||||
u_plus_rw=
|
u_plus_rw=
|
||||||
else
|
else
|
||||||
u_plus_rw='% 200'
|
u_plus_rw='% 200'
|
||||||
fi
|
fi
|
||||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||||
*)
|
*)
|
||||||
if test -z "$stripcmd"; then
|
if test -z "$stripcmd"; then
|
||||||
u_plus_rw=
|
u_plus_rw=
|
||||||
else
|
else
|
||||||
u_plus_rw=,u+rw
|
u_plus_rw=,u+rw
|
||||||
fi
|
fi
|
||||||
cp_umask=$mode$u_plus_rw;;
|
cp_umask=$mode$u_plus_rw;;
|
||||||
esac
|
esac
|
||||||
|
@ -269,41 +274,15 @@ do
|
||||||
# If destination is a directory, append the input filename; won't work
|
# If destination is a directory, append the input filename; won't work
|
||||||
# if double slashes aren't ignored.
|
# if double slashes aren't ignored.
|
||||||
if test -d "$dst"; then
|
if test -d "$dst"; then
|
||||||
if test -n "$no_target_directory"; then
|
if test "$is_target_a_directory" = never; then
|
||||||
echo "$0: $dst_arg: Is a directory" >&2
|
echo "$0: $dst_arg: Is a directory" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
dstdir=$dst
|
dstdir=$dst
|
||||||
dst=$dstdir/`basename "$src"`
|
dst=$dstdir/`basename "$src"`
|
||||||
dstdir_status=0
|
dstdir_status=0
|
||||||
else
|
else
|
||||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
dstdir=`dirname "$dst"`
|
||||||
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"
|
test -d "$dstdir"
|
||||||
dstdir_status=$?
|
dstdir_status=$?
|
||||||
fi
|
fi
|
||||||
|
@ -314,74 +293,81 @@ do
|
||||||
if test $dstdir_status != 0; then
|
if test $dstdir_status != 0; then
|
||||||
case $posix_mkdir in
|
case $posix_mkdir in
|
||||||
'')
|
'')
|
||||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||||
umask=`umask`
|
umask=`umask`
|
||||||
case $stripcmd.$umask in
|
case $stripcmd.$umask in
|
||||||
# Optimize common cases.
|
# Optimize common cases.
|
||||||
*[2367][2367]) mkdir_umask=$umask;;
|
*[2367][2367]) mkdir_umask=$umask;;
|
||||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||||
|
|
||||||
*[0-7])
|
*[0-7])
|
||||||
mkdir_umask=`expr $umask + 22 \
|
mkdir_umask=`expr $umask + 22 \
|
||||||
- $umask % 100 % 40 + $umask % 20 \
|
- $umask % 100 % 40 + $umask % 20 \
|
||||||
- $umask % 10 % 4 + $umask % 2
|
- $umask % 10 % 4 + $umask % 2
|
||||||
`;;
|
`;;
|
||||||
*) mkdir_umask=$umask,go-w;;
|
*) mkdir_umask=$umask,go-w;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# With -d, create the new directory with the user-specified mode.
|
# With -d, create the new directory with the user-specified mode.
|
||||||
# Otherwise, rely on $mkdir_umask.
|
# Otherwise, rely on $mkdir_umask.
|
||||||
if test -n "$dir_arg"; then
|
if test -n "$dir_arg"; then
|
||||||
mkdir_mode=-m$mode
|
mkdir_mode=-m$mode
|
||||||
else
|
else
|
||||||
mkdir_mode=
|
mkdir_mode=
|
||||||
fi
|
fi
|
||||||
|
|
||||||
posix_mkdir=false
|
posix_mkdir=false
|
||||||
case $umask in
|
case $umask in
|
||||||
*[123567][0-7][0-7])
|
*[123567][0-7][0-7])
|
||||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
# $RANDOM is not portable (e.g. dash); use it when possible to
|
||||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
# lower collision chance
|
||||||
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
|
trap 'ret=$?; rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||||
|
|
||||||
if (umask $mkdir_umask &&
|
# As "mkdir -p" follows symlinks and we work in /tmp possibly; so
|
||||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
# create the $tmpdir first (and fail if unsuccessful) to make sure
|
||||||
then
|
# that nobody tries to guess the $tmpdir name.
|
||||||
if test -z "$dir_arg" || {
|
if (umask $mkdir_umask &&
|
||||||
# Check for POSIX incompatibilities with -m.
|
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||||
# other-writable bit of parent directory when it shouldn't.
|
then
|
||||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
if test -z "$dir_arg" || {
|
||||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
# Check for POSIX incompatibilities with -m.
|
||||||
case $ls_ld_tmpdir in
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
d????-?r-*) different_mode=700;;
|
# other-writable bit of parent directory when it shouldn't.
|
||||||
d????-?--*) different_mode=755;;
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
*) false;;
|
test_tmpdir="$tmpdir/a"
|
||||||
esac &&
|
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
||||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
case $ls_ld_tmpdir in
|
||||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
d????-?r-*) different_mode=700;;
|
||||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
d????-?--*) different_mode=755;;
|
||||||
}
|
*) false;;
|
||||||
}
|
esac &&
|
||||||
then posix_mkdir=:
|
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
||||||
fi
|
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
||||||
rmdir "$tmpdir/d" "$tmpdir"
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
else
|
}
|
||||||
# Remove any dirs left behind by ancient mkdir implementations.
|
}
|
||||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
then posix_mkdir=:
|
||||||
fi
|
fi
|
||||||
trap '' 0;;
|
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
||||||
esac;;
|
else
|
||||||
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
|
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
||||||
|
fi
|
||||||
|
trap '' 0;;
|
||||||
|
esac;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if
|
if
|
||||||
$posix_mkdir && (
|
$posix_mkdir && (
|
||||||
umask $mkdir_umask &&
|
umask $mkdir_umask &&
|
||||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||||
)
|
)
|
||||||
then :
|
then :
|
||||||
else
|
else
|
||||||
|
@ -391,53 +377,51 @@ do
|
||||||
# directory the slow way, step by step, checking for races as we go.
|
# directory the slow way, step by step, checking for races as we go.
|
||||||
|
|
||||||
case $dstdir in
|
case $dstdir in
|
||||||
/*) prefix='/';;
|
/*) prefix='/';;
|
||||||
[-=\(\)!]*) prefix='./';;
|
[-=\(\)!]*) prefix='./';;
|
||||||
*) prefix='';;
|
*) prefix='';;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
eval "$initialize_posix_glob"
|
|
||||||
|
|
||||||
oIFS=$IFS
|
oIFS=$IFS
|
||||||
IFS=/
|
IFS=/
|
||||||
$posix_glob set -f
|
set -f
|
||||||
set fnord $dstdir
|
set fnord $dstdir
|
||||||
shift
|
shift
|
||||||
$posix_glob set +f
|
set +f
|
||||||
IFS=$oIFS
|
IFS=$oIFS
|
||||||
|
|
||||||
prefixes=
|
prefixes=
|
||||||
|
|
||||||
for d
|
for d
|
||||||
do
|
do
|
||||||
test X"$d" = X && continue
|
test X"$d" = X && continue
|
||||||
|
|
||||||
prefix=$prefix$d
|
prefix=$prefix$d
|
||||||
if test -d "$prefix"; then
|
if test -d "$prefix"; then
|
||||||
prefixes=
|
prefixes=
|
||||||
else
|
else
|
||||||
if $posix_mkdir; then
|
if $posix_mkdir; then
|
||||||
(umask=$mkdir_umask &&
|
(umask=$mkdir_umask &&
|
||||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||||
# Don't fail if two instances are running concurrently.
|
# Don't fail if two instances are running concurrently.
|
||||||
test -d "$prefix" || exit 1
|
test -d "$prefix" || exit 1
|
||||||
else
|
else
|
||||||
case $prefix in
|
case $prefix in
|
||||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||||
*) qprefix=$prefix;;
|
*) qprefix=$prefix;;
|
||||||
esac
|
esac
|
||||||
prefixes="$prefixes '$qprefix'"
|
prefixes="$prefixes '$qprefix'"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
prefix=$prefix/
|
prefix=$prefix/
|
||||||
done
|
done
|
||||||
|
|
||||||
if test -n "$prefixes"; then
|
if test -n "$prefixes"; then
|
||||||
# Don't fail if two instances are running concurrently.
|
# Don't fail if two instances are running concurrently.
|
||||||
(umask $mkdir_umask &&
|
(umask $mkdir_umask &&
|
||||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||||
test -d "$dstdir" || exit 1
|
test -d "$dstdir" || exit 1
|
||||||
obsolete_mkdir_used=true
|
obsolete_mkdir_used=true
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
@ -472,15 +456,12 @@ do
|
||||||
|
|
||||||
# If -C, don't bother to copy if it wouldn't change the file.
|
# If -C, don't bother to copy if it wouldn't change the file.
|
||||||
if $copy_on_change &&
|
if $copy_on_change &&
|
||||||
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
|
||||||
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
|
||||||
|
set -f &&
|
||||||
eval "$initialize_posix_glob" &&
|
|
||||||
$posix_glob set -f &&
|
|
||||||
set X $old && old=:$2:$4:$5:$6 &&
|
set X $old && old=:$2:$4:$5:$6 &&
|
||||||
set X $new && new=:$2:$4:$5:$6 &&
|
set X $new && new=:$2:$4:$5:$6 &&
|
||||||
$posix_glob set +f &&
|
set +f &&
|
||||||
|
|
||||||
test "$old" = "$new" &&
|
test "$old" = "$new" &&
|
||||||
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
|
||||||
then
|
then
|
||||||
|
@ -493,24 +474,24 @@ do
|
||||||
# to itself, or perhaps because mv is so ancient that it does not
|
# to itself, or perhaps because mv is so ancient that it does not
|
||||||
# support -f.
|
# support -f.
|
||||||
{
|
{
|
||||||
# Now remove or move aside any old file at destination location.
|
# Now remove or move aside any old file at destination location.
|
||||||
# We try this two ways since rm can't unlink itself on some
|
# We try this two ways since rm can't unlink itself on some
|
||||||
# systems and the destination file might be busy for other
|
# systems and the destination file might be busy for other
|
||||||
# reasons. In this case, the final cleanup might fail but the new
|
# reasons. In this case, the final cleanup might fail but the new
|
||||||
# file should still install successfully.
|
# file should still install successfully.
|
||||||
{
|
{
|
||||||
test ! -f "$dst" ||
|
test ! -f "$dst" ||
|
||||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
||||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
||||||
} ||
|
} ||
|
||||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||||
(exit 1); exit 1
|
(exit 1); exit 1
|
||||||
}
|
}
|
||||||
} &&
|
} &&
|
||||||
|
|
||||||
# Now rename the file to the real destination.
|
# Now rename the file to the real destination.
|
||||||
$doit $mvcmd "$dsttmp" "$dst"
|
$doit $mvcmd "$dsttmp" "$dst"
|
||||||
}
|
}
|
||||||
fi || exit 1
|
fi || exit 1
|
||||||
|
|
||||||
|
|
556
ltmain.sh
556
ltmain.sh
|
@ -31,7 +31,7 @@
|
||||||
|
|
||||||
PROGRAM=libtool
|
PROGRAM=libtool
|
||||||
PACKAGE=libtool
|
PACKAGE=libtool
|
||||||
VERSION="2.4.6 Debian-2.4.6-2"
|
VERSION="2.4.6 Debian-2.4.6-4"
|
||||||
package_revision=2.4.6
|
package_revision=2.4.6
|
||||||
|
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ package_revision=2.4.6
|
||||||
# libraries, which are installed to $pkgauxdir.
|
# libraries, which are installed to $pkgauxdir.
|
||||||
|
|
||||||
# Set a version string for this script.
|
# Set a version string for this script.
|
||||||
scriptversion=2015-01-20.17; # UTC
|
scriptversion=2015-10-12.13; # UTC
|
||||||
|
|
||||||
# General shell script boiler plate, and helper functions.
|
# General shell script boiler plate, and helper functions.
|
||||||
# Written by Gary V. Vaughan, 2004
|
# Written by Gary V. Vaughan, 2004
|
||||||
|
@ -580,16 +580,16 @@ if test yes = "$_G_HAVE_PLUSEQ_OP"; then
|
||||||
{
|
{
|
||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
func_quote_for_eval "$2"
|
func_quote_arg pretty "$2"
|
||||||
eval "$1+=\\ \$func_quote_for_eval_result"
|
eval "$1+=\\ \$func_quote_arg_result"
|
||||||
}'
|
}'
|
||||||
else
|
else
|
||||||
func_append_quoted ()
|
func_append_quoted ()
|
||||||
{
|
{
|
||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
func_quote_for_eval "$2"
|
func_quote_arg pretty "$2"
|
||||||
eval "$1=\$$1\\ \$func_quote_for_eval_result"
|
eval "$1=\$$1\\ \$func_quote_arg_result"
|
||||||
}
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1091,85 +1091,181 @@ func_relative_path ()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# func_quote_for_eval ARG...
|
# func_quote_portable EVAL ARG
|
||||||
# --------------------------
|
# ----------------------------
|
||||||
# Aesthetically quote ARGs to be evaled later.
|
# Internal function to portably implement func_quote_arg. Note that we still
|
||||||
# This function returns two values:
|
# keep attention to performance here so we as much as possible try to avoid
|
||||||
# i) func_quote_for_eval_result
|
# calling sed binary (so far O(N) complexity as long as func_append is O(1)).
|
||||||
# double-quoted, suitable for a subsequent eval
|
func_quote_portable ()
|
||||||
# ii) func_quote_for_eval_unquoted_result
|
|
||||||
# has all characters that are still active within double
|
|
||||||
# quotes backslashified.
|
|
||||||
func_quote_for_eval ()
|
|
||||||
{
|
{
|
||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
func_quote_for_eval_unquoted_result=
|
func_quote_portable_result=$2
|
||||||
func_quote_for_eval_result=
|
|
||||||
while test 0 -lt $#; do
|
# one-time-loop (easy break)
|
||||||
case $1 in
|
while true
|
||||||
|
do
|
||||||
|
if $1; then
|
||||||
|
func_quote_portable_result=`$ECHO "$2" | $SED \
|
||||||
|
-e "$sed_double_quote_subst" -e "$sed_double_backslash"`
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Quote for eval.
|
||||||
|
case $func_quote_portable_result in
|
||||||
*[\\\`\"\$]*)
|
*[\\\`\"\$]*)
|
||||||
_G_unquoted_arg=`printf '%s\n' "$1" |$SED "$sed_quote_subst"` ;;
|
case $func_quote_portable_result in
|
||||||
*)
|
*[\[\*\?]*)
|
||||||
_G_unquoted_arg=$1 ;;
|
func_quote_portable_result=`$ECHO "$func_quote_portable_result" | $SED "$sed_quote_subst"`
|
||||||
esac
|
break
|
||||||
if test -n "$func_quote_for_eval_unquoted_result"; then
|
;;
|
||||||
func_append func_quote_for_eval_unquoted_result " $_G_unquoted_arg"
|
esac
|
||||||
else
|
|
||||||
func_append func_quote_for_eval_unquoted_result "$_G_unquoted_arg"
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $_G_unquoted_arg in
|
func_quote_portable_old_IFS=$IFS
|
||||||
# Double-quote args containing shell metacharacters to delay
|
for _G_char in '\' '`' '"' '$'
|
||||||
# word splitting, command substitution and variable expansion
|
do
|
||||||
# for a subsequent eval.
|
# STATE($1) PREV($2) SEPARATOR($3)
|
||||||
# Many Bourne shells cannot handle close brackets correctly
|
set start "" ""
|
||||||
# in scan sets, so we specify it separately.
|
func_quote_portable_result=dummy"$_G_char$func_quote_portable_result$_G_char"dummy
|
||||||
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
|
IFS=$_G_char
|
||||||
_G_quoted_arg=\"$_G_unquoted_arg\"
|
for _G_part in $func_quote_portable_result
|
||||||
|
do
|
||||||
|
case $1 in
|
||||||
|
quote)
|
||||||
|
func_append func_quote_portable_result "$3$2"
|
||||||
|
set quote "$_G_part" "\\$_G_char"
|
||||||
|
;;
|
||||||
|
start)
|
||||||
|
set first "" ""
|
||||||
|
func_quote_portable_result=
|
||||||
|
;;
|
||||||
|
first)
|
||||||
|
set quote "$_G_part" ""
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
done
|
||||||
|
IFS=$func_quote_portable_old_IFS
|
||||||
;;
|
;;
|
||||||
*)
|
*) ;;
|
||||||
_G_quoted_arg=$_G_unquoted_arg
|
|
||||||
;;
|
|
||||||
esac
|
esac
|
||||||
|
break
|
||||||
if test -n "$func_quote_for_eval_result"; then
|
|
||||||
func_append func_quote_for_eval_result " $_G_quoted_arg"
|
|
||||||
else
|
|
||||||
func_append func_quote_for_eval_result "$_G_quoted_arg"
|
|
||||||
fi
|
|
||||||
shift
|
|
||||||
done
|
done
|
||||||
|
|
||||||
|
func_quote_portable_unquoted_result=$func_quote_portable_result
|
||||||
|
case $func_quote_portable_result in
|
||||||
|
# double-quote args containing shell metacharacters to delay
|
||||||
|
# word splitting, command substitution 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_portable_result=\"$func_quote_portable_result\"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# func_quote_for_expand ARG
|
# func_quotefast_eval ARG
|
||||||
# -------------------------
|
# -----------------------
|
||||||
# Aesthetically quote ARG to be evaled later; same as above,
|
# Quote one ARG (internal). This is equivalent to 'func_quote_arg eval ARG',
|
||||||
# but do not quote variable references.
|
# but optimized for speed. Result is stored in $func_quotefast_eval.
|
||||||
func_quote_for_expand ()
|
if test xyes = `(x=; printf -v x %q yes; echo x"$x") 2>/dev/null`; then
|
||||||
|
func_quotefast_eval ()
|
||||||
|
{
|
||||||
|
printf -v func_quotefast_eval_result %q "$1"
|
||||||
|
}
|
||||||
|
else
|
||||||
|
func_quotefast_eval ()
|
||||||
|
{
|
||||||
|
func_quote_portable false "$1"
|
||||||
|
func_quotefast_eval_result=$func_quote_portable_result
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
# func_quote_arg MODEs ARG
|
||||||
|
# ------------------------
|
||||||
|
# Quote one ARG to be evaled later. MODEs argument may contain zero ore more
|
||||||
|
# specifiers listed below separated by ',' character. This function returns two
|
||||||
|
# values:
|
||||||
|
# i) func_quote_arg_result
|
||||||
|
# double-quoted (when needed), suitable for a subsequent eval
|
||||||
|
# ii) func_quote_arg_unquoted_result
|
||||||
|
# has all characters that are still active within double
|
||||||
|
# quotes backslashified. Available only if 'unquoted' is specified.
|
||||||
|
#
|
||||||
|
# Available modes:
|
||||||
|
# ----------------
|
||||||
|
# 'eval' (default)
|
||||||
|
# - escape shell special characters
|
||||||
|
# 'expand'
|
||||||
|
# - the same as 'eval'; but do not quote variable references
|
||||||
|
# 'pretty'
|
||||||
|
# - request aesthetic output, i.e. '"a b"' instead of 'a\ b'. This might
|
||||||
|
# later used in func_quote to get output like: 'echo "a b"' instead of
|
||||||
|
# 'echo a\ b'. This is slower than default on some shells.
|
||||||
|
# 'unquoted'
|
||||||
|
# - produce also $func_quote_arg_unquoted_result which does not contain
|
||||||
|
# wrapping double-quotes.
|
||||||
|
#
|
||||||
|
# Examples for 'func_quote_arg pretty,unquoted string':
|
||||||
|
#
|
||||||
|
# string | *_result | *_unquoted_result
|
||||||
|
# ------------+-----------------------+-------------------
|
||||||
|
# " | \" | \"
|
||||||
|
# a b | "a b" | a b
|
||||||
|
# "a b" | "\"a b\"" | \"a b\"
|
||||||
|
# * | "*" | *
|
||||||
|
# z="${x-$y}" | "z=\"\${x-\$y}\"" | z=\"\${x-\$y}\"
|
||||||
|
#
|
||||||
|
# Examples for 'func_quote_arg pretty,unquoted,expand string':
|
||||||
|
#
|
||||||
|
# string | *_result | *_unquoted_result
|
||||||
|
# --------------+---------------------+--------------------
|
||||||
|
# z="${x-$y}" | "z=\"${x-$y}\"" | z=\"${x-$y}\"
|
||||||
|
func_quote_arg ()
|
||||||
{
|
{
|
||||||
$debug_cmd
|
_G_quote_expand=false
|
||||||
|
case ,$1, in
|
||||||
case $1 in
|
*,expand,*)
|
||||||
*[\\\`\"]*)
|
_G_quote_expand=:
|
||||||
_G_arg=`$ECHO "$1" | $SED \
|
|
||||||
-e "$sed_double_quote_subst" -e "$sed_double_backslash"` ;;
|
|
||||||
*)
|
|
||||||
_G_arg=$1 ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case $_G_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.
|
|
||||||
*[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
|
|
||||||
_G_arg=\"$_G_arg\"
|
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
func_quote_for_expand_result=$_G_arg
|
case ,$1, in
|
||||||
|
*,pretty,*|*,expand,*|*,unquoted,*)
|
||||||
|
func_quote_portable $_G_quote_expand "$2"
|
||||||
|
func_quote_arg_result=$func_quote_portable_result
|
||||||
|
func_quote_arg_unquoted_result=$func_quote_portable_unquoted_result
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
# Faster quote-for-eval for some shells.
|
||||||
|
func_quotefast_eval "$2"
|
||||||
|
func_quote_arg_result=$func_quotefast_eval_result
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# func_quote MODEs ARGs...
|
||||||
|
# ------------------------
|
||||||
|
# Quote all ARGs to be evaled later and join them into single command. See
|
||||||
|
# func_quote_arg's description for more info.
|
||||||
|
func_quote ()
|
||||||
|
{
|
||||||
|
$debug_cmd
|
||||||
|
_G_func_quote_mode=$1 ; shift
|
||||||
|
func_quote_result=
|
||||||
|
while test 0 -lt $#; do
|
||||||
|
func_quote_arg "$_G_func_quote_mode" "$1"
|
||||||
|
if test -n "$func_quote_result"; then
|
||||||
|
func_append func_quote_result " $func_quote_arg_result"
|
||||||
|
else
|
||||||
|
func_append func_quote_result "$func_quote_arg_result"
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
done
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1215,8 +1311,8 @@ func_show_eval ()
|
||||||
_G_cmd=$1
|
_G_cmd=$1
|
||||||
_G_fail_exp=${2-':'}
|
_G_fail_exp=${2-':'}
|
||||||
|
|
||||||
func_quote_for_expand "$_G_cmd"
|
func_quote_arg pretty,expand "$_G_cmd"
|
||||||
eval "func_notquiet $func_quote_for_expand_result"
|
eval "func_notquiet $func_quote_arg_result"
|
||||||
|
|
||||||
$opt_dry_run || {
|
$opt_dry_run || {
|
||||||
eval "$_G_cmd"
|
eval "$_G_cmd"
|
||||||
|
@ -1241,8 +1337,8 @@ func_show_eval_locale ()
|
||||||
_G_fail_exp=${2-':'}
|
_G_fail_exp=${2-':'}
|
||||||
|
|
||||||
$opt_quiet || {
|
$opt_quiet || {
|
||||||
func_quote_for_expand "$_G_cmd"
|
func_quote_arg expand,pretty "$_G_cmd"
|
||||||
eval "func_echo $func_quote_for_expand_result"
|
eval "func_echo $func_quote_arg_result"
|
||||||
}
|
}
|
||||||
|
|
||||||
$opt_dry_run || {
|
$opt_dry_run || {
|
||||||
|
@ -1370,7 +1466,7 @@ func_lt_ver ()
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
|
|
||||||
# Set a version string for this script.
|
# Set a version string for this script.
|
||||||
scriptversion=2014-01-07.03; # UTC
|
scriptversion=2015-10-12.13; # UTC
|
||||||
|
|
||||||
# A portable, pluggable option parser for Bourne shell.
|
# A portable, pluggable option parser for Bourne shell.
|
||||||
# Written by Gary V. Vaughan, 2010
|
# Written by Gary V. Vaughan, 2010
|
||||||
|
@ -1530,6 +1626,8 @@ func_run_hooks ()
|
||||||
{
|
{
|
||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
|
_G_rc_run_hooks=false
|
||||||
|
|
||||||
case " $hookable_fns " in
|
case " $hookable_fns " in
|
||||||
*" $1 "*) ;;
|
*" $1 "*) ;;
|
||||||
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
|
*) func_fatal_error "'$1' does not support hook funcions.n" ;;
|
||||||
|
@ -1538,16 +1636,16 @@ func_run_hooks ()
|
||||||
eval _G_hook_fns=\$$1_hooks; shift
|
eval _G_hook_fns=\$$1_hooks; shift
|
||||||
|
|
||||||
for _G_hook in $_G_hook_fns; do
|
for _G_hook in $_G_hook_fns; do
|
||||||
eval $_G_hook '"$@"'
|
if eval $_G_hook '"$@"'; then
|
||||||
|
# store returned options list back into positional
|
||||||
# store returned options list back into positional
|
# parameters for next 'cmd' execution.
|
||||||
# parameters for next 'cmd' execution.
|
eval _G_hook_result=\$${_G_hook}_result
|
||||||
eval _G_hook_result=\$${_G_hook}_result
|
eval set dummy "$_G_hook_result"; shift
|
||||||
eval set dummy "$_G_hook_result"; shift
|
_G_rc_run_hooks=:
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
func_quote_for_eval ${1+"$@"}
|
$_G_rc_run_hooks && func_run_hooks_result=$_G_hook_result
|
||||||
func_run_hooks_result=$func_quote_for_eval_result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1557,10 +1655,16 @@ func_run_hooks ()
|
||||||
## --------------- ##
|
## --------------- ##
|
||||||
|
|
||||||
# In order to add your own option parsing hooks, you must accept the
|
# In order to add your own option parsing hooks, you must accept the
|
||||||
# full positional parameter list in your hook function, remove any
|
# full positional parameter list in your hook function, you may remove/edit
|
||||||
# options that you action, and then pass back the remaining unprocessed
|
# any options that you action, and then pass back the remaining unprocessed
|
||||||
# options in '<hooked_function_name>_result', escaped suitably for
|
# options in '<hooked_function_name>_result', escaped suitably for
|
||||||
# 'eval'. Like this:
|
# 'eval'. In this case you also must return $EXIT_SUCCESS to let the
|
||||||
|
# hook's caller know that it should pay attention to
|
||||||
|
# '<hooked_function_name>_result'. Returning $EXIT_FAILURE signalizes that
|
||||||
|
# arguments are left untouched by the hook and therefore caller will ignore the
|
||||||
|
# result variable.
|
||||||
|
#
|
||||||
|
# Like this:
|
||||||
#
|
#
|
||||||
# my_options_prep ()
|
# my_options_prep ()
|
||||||
# {
|
# {
|
||||||
|
@ -1570,9 +1674,11 @@ func_run_hooks ()
|
||||||
# usage_message=$usage_message'
|
# usage_message=$usage_message'
|
||||||
# -s, --silent don'\''t print informational messages
|
# -s, --silent don'\''t print informational messages
|
||||||
# '
|
# '
|
||||||
#
|
# # No change in '$@' (ignored completely by this hook). There is
|
||||||
# func_quote_for_eval ${1+"$@"}
|
# # no need to do the equivalent (but slower) action:
|
||||||
# my_options_prep_result=$func_quote_for_eval_result
|
# # func_quote eval ${1+"$@"}
|
||||||
|
# # my_options_prep_result=$func_quote_result
|
||||||
|
# false
|
||||||
# }
|
# }
|
||||||
# func_add_hook func_options_prep my_options_prep
|
# func_add_hook func_options_prep my_options_prep
|
||||||
#
|
#
|
||||||
|
@ -1581,25 +1687,37 @@ func_run_hooks ()
|
||||||
# {
|
# {
|
||||||
# $debug_cmd
|
# $debug_cmd
|
||||||
#
|
#
|
||||||
|
# args_changed=false
|
||||||
|
#
|
||||||
# # Note that for efficiency, we parse as many options as we can
|
# # Note that for efficiency, we parse as many options as we can
|
||||||
# # recognise in a loop before passing the remainder back to the
|
# # recognise in a loop before passing the remainder back to the
|
||||||
# # caller on the first unrecognised argument we encounter.
|
# # caller on the first unrecognised argument we encounter.
|
||||||
# while test $# -gt 0; do
|
# while test $# -gt 0; do
|
||||||
# opt=$1; shift
|
# opt=$1; shift
|
||||||
# case $opt in
|
# case $opt in
|
||||||
# --silent|-s) opt_silent=: ;;
|
# --silent|-s) opt_silent=:
|
||||||
|
# args_changed=:
|
||||||
|
# ;;
|
||||||
# # Separate non-argument short options:
|
# # Separate non-argument short options:
|
||||||
# -s*) func_split_short_opt "$_G_opt"
|
# -s*) func_split_short_opt "$_G_opt"
|
||||||
# set dummy "$func_split_short_opt_name" \
|
# set dummy "$func_split_short_opt_name" \
|
||||||
# "-$func_split_short_opt_arg" ${1+"$@"}
|
# "-$func_split_short_opt_arg" ${1+"$@"}
|
||||||
# shift
|
# shift
|
||||||
|
# args_changed=:
|
||||||
# ;;
|
# ;;
|
||||||
# *) set dummy "$_G_opt" "$*"; shift; break ;;
|
# *) # Make sure the first unrecognised option "$_G_opt"
|
||||||
|
# # is added back to "$@", we could need that later
|
||||||
|
# # if $args_changed is true.
|
||||||
|
# set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
|
||||||
# esac
|
# esac
|
||||||
# done
|
# done
|
||||||
#
|
#
|
||||||
# func_quote_for_eval ${1+"$@"}
|
# if $args_changed; then
|
||||||
# my_silent_option_result=$func_quote_for_eval_result
|
# func_quote eval ${1+"$@"}
|
||||||
|
# my_silent_option_result=$func_quote_result
|
||||||
|
# fi
|
||||||
|
#
|
||||||
|
# $args_changed
|
||||||
# }
|
# }
|
||||||
# func_add_hook func_parse_options my_silent_option
|
# func_add_hook func_parse_options my_silent_option
|
||||||
#
|
#
|
||||||
|
@ -1611,16 +1729,32 @@ func_run_hooks ()
|
||||||
# $opt_silent && $opt_verbose && func_fatal_help "\
|
# $opt_silent && $opt_verbose && func_fatal_help "\
|
||||||
# '--silent' and '--verbose' options are mutually exclusive."
|
# '--silent' and '--verbose' options are mutually exclusive."
|
||||||
#
|
#
|
||||||
# func_quote_for_eval ${1+"$@"}
|
# false
|
||||||
# my_option_validation_result=$func_quote_for_eval_result
|
|
||||||
# }
|
# }
|
||||||
# func_add_hook func_validate_options my_option_validation
|
# func_add_hook func_validate_options my_option_validation
|
||||||
#
|
#
|
||||||
# You'll alse need to manually amend $usage_message to reflect the extra
|
# You'll also need to manually amend $usage_message to reflect the extra
|
||||||
# options you parse. It's preferable to append if you can, so that
|
# options you parse. It's preferable to append if you can, so that
|
||||||
# multiple option parsing hooks can be added safely.
|
# multiple option parsing hooks can be added safely.
|
||||||
|
|
||||||
|
|
||||||
|
# func_options_finish [ARG]...
|
||||||
|
# ----------------------------
|
||||||
|
# Finishing the option parse loop (call 'func_options' hooks ATM).
|
||||||
|
func_options_finish ()
|
||||||
|
{
|
||||||
|
$debug_cmd
|
||||||
|
|
||||||
|
_G_func_options_finish_exit=false
|
||||||
|
if func_run_hooks func_options ${1+"$@"}; then
|
||||||
|
func_options_finish_result=$func_run_hooks_result
|
||||||
|
_G_func_options_finish_exit=:
|
||||||
|
fi
|
||||||
|
|
||||||
|
$_G_func_options_finish_exit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# func_options [ARG]...
|
# func_options [ARG]...
|
||||||
# ---------------------
|
# ---------------------
|
||||||
# All the functions called inside func_options are hookable. See the
|
# All the functions called inside func_options are hookable. See the
|
||||||
|
@ -1630,17 +1764,28 @@ func_options ()
|
||||||
{
|
{
|
||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
func_options_prep ${1+"$@"}
|
_G_rc_options=false
|
||||||
eval func_parse_options \
|
|
||||||
${func_options_prep_result+"$func_options_prep_result"}
|
|
||||||
eval func_validate_options \
|
|
||||||
${func_parse_options_result+"$func_parse_options_result"}
|
|
||||||
|
|
||||||
eval func_run_hooks func_options \
|
for my_func in options_prep parse_options validate_options options_finish
|
||||||
${func_validate_options_result+"$func_validate_options_result"}
|
do
|
||||||
|
if eval func_$my_func '${1+"$@"}'; then
|
||||||
|
eval _G_res_var='$'"func_${my_func}_result"
|
||||||
|
eval set dummy "$_G_res_var" ; shift
|
||||||
|
_G_rc_options=:
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# save modified positional parameters for caller
|
# Save modified positional parameters for caller. As a top-level
|
||||||
func_options_result=$func_run_hooks_result
|
# options-parser function we always need to set the 'func_options_result'
|
||||||
|
# variable (regardless the $_G_rc_options value).
|
||||||
|
if $_G_rc_options; then
|
||||||
|
func_options_result=$_G_res_var
|
||||||
|
else
|
||||||
|
func_quote eval ${1+"$@"}
|
||||||
|
func_options_result=$func_quote_result
|
||||||
|
fi
|
||||||
|
|
||||||
|
$_G_rc_options
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1649,9 +1794,9 @@ func_options ()
|
||||||
# All initialisations required before starting the option parse loop.
|
# All initialisations required before starting the option parse loop.
|
||||||
# Note that when calling hook functions, we pass through the list of
|
# Note that when calling hook functions, we pass through the list of
|
||||||
# positional parameters. If a hook function modifies that list, and
|
# positional parameters. If a hook function modifies that list, and
|
||||||
# needs to propogate that back to rest of this script, then the complete
|
# needs to propagate that back to rest of this script, then the complete
|
||||||
# modified list must be put in 'func_run_hooks_result' before
|
# modified list must be put in 'func_run_hooks_result' before
|
||||||
# returning.
|
# returning $EXIT_SUCCESS (otherwise $EXIT_FAILURE is returned).
|
||||||
func_hookable func_options_prep
|
func_hookable func_options_prep
|
||||||
func_options_prep ()
|
func_options_prep ()
|
||||||
{
|
{
|
||||||
|
@ -1661,10 +1806,14 @@ func_options_prep ()
|
||||||
opt_verbose=false
|
opt_verbose=false
|
||||||
opt_warning_types=
|
opt_warning_types=
|
||||||
|
|
||||||
func_run_hooks func_options_prep ${1+"$@"}
|
_G_rc_options_prep=false
|
||||||
|
if func_run_hooks func_options_prep ${1+"$@"}; then
|
||||||
|
_G_rc_options_prep=:
|
||||||
|
# save modified positional parameters for caller
|
||||||
|
func_options_prep_result=$func_run_hooks_result
|
||||||
|
fi
|
||||||
|
|
||||||
# save modified positional parameters for caller
|
$_G_rc_options_prep
|
||||||
func_options_prep_result=$func_run_hooks_result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1678,18 +1827,20 @@ func_parse_options ()
|
||||||
|
|
||||||
func_parse_options_result=
|
func_parse_options_result=
|
||||||
|
|
||||||
|
_G_rc_parse_options=false
|
||||||
# this just eases exit handling
|
# this just eases exit handling
|
||||||
while test $# -gt 0; do
|
while test $# -gt 0; do
|
||||||
# Defer to hook functions for initial option parsing, so they
|
# Defer to hook functions for initial option parsing, so they
|
||||||
# get priority in the event of reusing an option name.
|
# get priority in the event of reusing an option name.
|
||||||
func_run_hooks func_parse_options ${1+"$@"}
|
if func_run_hooks func_parse_options ${1+"$@"}; then
|
||||||
|
eval set dummy "$func_run_hooks_result"; shift
|
||||||
# Adjust func_parse_options positional parameters to match
|
_G_rc_parse_options=:
|
||||||
eval set dummy "$func_run_hooks_result"; shift
|
fi
|
||||||
|
|
||||||
# Break out of the loop if we already parsed every option.
|
# Break out of the loop if we already parsed every option.
|
||||||
test $# -gt 0 || break
|
test $# -gt 0 || break
|
||||||
|
|
||||||
|
_G_match_parse_options=:
|
||||||
_G_opt=$1
|
_G_opt=$1
|
||||||
shift
|
shift
|
||||||
case $_G_opt in
|
case $_G_opt in
|
||||||
|
@ -1704,7 +1855,10 @@ func_parse_options ()
|
||||||
;;
|
;;
|
||||||
|
|
||||||
--warnings|--warning|-W)
|
--warnings|--warning|-W)
|
||||||
test $# = 0 && func_missing_arg $_G_opt && break
|
if test $# = 0 && func_missing_arg $_G_opt; then
|
||||||
|
_G_rc_parse_options=:
|
||||||
|
break
|
||||||
|
fi
|
||||||
case " $warning_categories $1" in
|
case " $warning_categories $1" in
|
||||||
*" $1 "*)
|
*" $1 "*)
|
||||||
# trailing space prevents matching last $1 above
|
# trailing space prevents matching last $1 above
|
||||||
|
@ -1757,15 +1911,25 @@ func_parse_options ()
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
|
||||||
--) break ;;
|
--) _G_rc_parse_options=: ; break ;;
|
||||||
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
|
-*) func_fatal_help "unrecognised option: '$_G_opt'" ;;
|
||||||
*) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
|
*) set dummy "$_G_opt" ${1+"$@"}; shift
|
||||||
|
_G_match_parse_options=false
|
||||||
|
break
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
$_G_match_parse_options && _G_rc_parse_options=:
|
||||||
done
|
done
|
||||||
|
|
||||||
# save modified positional parameters for caller
|
|
||||||
func_quote_for_eval ${1+"$@"}
|
if $_G_rc_parse_options; then
|
||||||
func_parse_options_result=$func_quote_for_eval_result
|
# save modified positional parameters for caller
|
||||||
|
func_quote eval ${1+"$@"}
|
||||||
|
func_parse_options_result=$func_quote_result
|
||||||
|
fi
|
||||||
|
|
||||||
|
$_G_rc_parse_options
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1778,16 +1942,21 @@ func_validate_options ()
|
||||||
{
|
{
|
||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
|
_G_rc_validate_options=false
|
||||||
|
|
||||||
# Display all warnings if -W was not given.
|
# Display all warnings if -W was not given.
|
||||||
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
|
test -n "$opt_warning_types" || opt_warning_types=" $warning_categories"
|
||||||
|
|
||||||
func_run_hooks func_validate_options ${1+"$@"}
|
if func_run_hooks func_validate_options ${1+"$@"}; then
|
||||||
|
# save modified positional parameters for caller
|
||||||
|
func_validate_options_result=$func_run_hooks_result
|
||||||
|
_G_rc_validate_options=:
|
||||||
|
fi
|
||||||
|
|
||||||
# Bail if the options were screwed!
|
# Bail if the options were screwed!
|
||||||
$exit_cmd $EXIT_FAILURE
|
$exit_cmd $EXIT_FAILURE
|
||||||
|
|
||||||
# save modified positional parameters for caller
|
$_G_rc_validate_options
|
||||||
func_validate_options_result=$func_run_hooks_result
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -2068,7 +2237,7 @@ include the following information:
|
||||||
compiler: $LTCC
|
compiler: $LTCC
|
||||||
compiler flags: $LTCFLAGS
|
compiler flags: $LTCFLAGS
|
||||||
linker: $LD (gnu? $with_gnu_ld)
|
linker: $LD (gnu? $with_gnu_ld)
|
||||||
version: $progname $scriptversion Debian-2.4.6-2
|
version: $progname $scriptversion Debian-2.4.6-4
|
||||||
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
|
automake: `($AUTOMAKE --version) 2>/dev/null |$SED 1q`
|
||||||
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
|
autoconf: `($AUTOCONF --version) 2>/dev/null |$SED 1q`
|
||||||
|
|
||||||
|
@ -2270,6 +2439,8 @@ libtool_options_prep ()
|
||||||
nonopt=
|
nonopt=
|
||||||
preserve_args=
|
preserve_args=
|
||||||
|
|
||||||
|
_G_rc_lt_options_prep=:
|
||||||
|
|
||||||
# Shorthand for --mode=foo, only valid as the first argument
|
# Shorthand for --mode=foo, only valid as the first argument
|
||||||
case $1 in
|
case $1 in
|
||||||
clean|clea|cle|cl)
|
clean|clea|cle|cl)
|
||||||
|
@ -2293,11 +2464,18 @@ libtool_options_prep ()
|
||||||
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
|
uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u)
|
||||||
shift; set dummy --mode uninstall ${1+"$@"}; shift
|
shift; set dummy --mode uninstall ${1+"$@"}; shift
|
||||||
;;
|
;;
|
||||||
|
*)
|
||||||
|
_G_rc_lt_options_prep=false
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Pass back the list of options.
|
if $_G_rc_lt_options_prep; then
|
||||||
func_quote_for_eval ${1+"$@"}
|
# Pass back the list of options.
|
||||||
libtool_options_prep_result=$func_quote_for_eval_result
|
func_quote eval ${1+"$@"}
|
||||||
|
libtool_options_prep_result=$func_quote_result
|
||||||
|
fi
|
||||||
|
|
||||||
|
$_G_rc_lt_options_prep
|
||||||
}
|
}
|
||||||
func_add_hook func_options_prep libtool_options_prep
|
func_add_hook func_options_prep libtool_options_prep
|
||||||
|
|
||||||
|
@ -2309,9 +2487,12 @@ libtool_parse_options ()
|
||||||
{
|
{
|
||||||
$debug_cmd
|
$debug_cmd
|
||||||
|
|
||||||
|
_G_rc_lt_parse_options=false
|
||||||
|
|
||||||
# Perform our own loop to consume as many options as possible in
|
# Perform our own loop to consume as many options as possible in
|
||||||
# each iteration.
|
# each iteration.
|
||||||
while test $# -gt 0; do
|
while test $# -gt 0; do
|
||||||
|
_G_match_lt_parse_options=:
|
||||||
_G_opt=$1
|
_G_opt=$1
|
||||||
shift
|
shift
|
||||||
case $_G_opt in
|
case $_G_opt in
|
||||||
|
@ -2386,15 +2567,22 @@ libtool_parse_options ()
|
||||||
func_append preserve_args " $_G_opt"
|
func_append preserve_args " $_G_opt"
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# An option not handled by this hook function:
|
# An option not handled by this hook function:
|
||||||
*) set dummy "$_G_opt" ${1+"$@"}; shift; break ;;
|
*) set dummy "$_G_opt" ${1+"$@"} ; shift
|
||||||
|
_G_match_lt_parse_options=false
|
||||||
|
break
|
||||||
|
;;
|
||||||
esac
|
esac
|
||||||
|
$_G_match_lt_parse_options && _G_rc_lt_parse_options=:
|
||||||
done
|
done
|
||||||
|
|
||||||
|
if $_G_rc_lt_parse_options; then
|
||||||
|
# save modified positional parameters for caller
|
||||||
|
func_quote eval ${1+"$@"}
|
||||||
|
libtool_parse_options_result=$func_quote_result
|
||||||
|
fi
|
||||||
|
|
||||||
# save modified positional parameters for caller
|
$_G_rc_lt_parse_options
|
||||||
func_quote_for_eval ${1+"$@"}
|
|
||||||
libtool_parse_options_result=$func_quote_for_eval_result
|
|
||||||
}
|
}
|
||||||
func_add_hook func_parse_options libtool_parse_options
|
func_add_hook func_parse_options libtool_parse_options
|
||||||
|
|
||||||
|
@ -2451,8 +2639,8 @@ libtool_validate_options ()
|
||||||
}
|
}
|
||||||
|
|
||||||
# Pass back the unparsed argument list
|
# Pass back the unparsed argument list
|
||||||
func_quote_for_eval ${1+"$@"}
|
func_quote eval ${1+"$@"}
|
||||||
libtool_validate_options_result=$func_quote_for_eval_result
|
libtool_validate_options_result=$func_quote_result
|
||||||
}
|
}
|
||||||
func_add_hook func_validate_options libtool_validate_options
|
func_add_hook func_validate_options libtool_validate_options
|
||||||
|
|
||||||
|
@ -3418,8 +3606,8 @@ func_mode_compile ()
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
func_quote_for_eval "$libobj"
|
func_quote_arg pretty "$libobj"
|
||||||
test "X$libobj" != "X$func_quote_for_eval_result" \
|
test "X$libobj" != "X$func_quote_arg_result" \
|
||||||
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
|
&& $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \
|
||||||
&& func_warning "libobj name '$libobj' may not contain shell special characters."
|
&& func_warning "libobj name '$libobj' may not contain shell special characters."
|
||||||
func_dirname_and_basename "$obj" "/" ""
|
func_dirname_and_basename "$obj" "/" ""
|
||||||
|
@ -3492,8 +3680,8 @@ compiler."
|
||||||
|
|
||||||
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
|
func_to_tool_file "$srcfile" func_convert_file_msys_to_w32
|
||||||
srcfile=$func_to_tool_file_result
|
srcfile=$func_to_tool_file_result
|
||||||
func_quote_for_eval "$srcfile"
|
func_quote_arg pretty "$srcfile"
|
||||||
qsrcfile=$func_quote_for_eval_result
|
qsrcfile=$func_quote_arg_result
|
||||||
|
|
||||||
# Only build a PIC object if we are building libtool libraries.
|
# Only build a PIC object if we are building libtool libraries.
|
||||||
if test yes = "$build_libtool_libs"; then
|
if test yes = "$build_libtool_libs"; then
|
||||||
|
@ -4096,8 +4284,8 @@ func_mode_install ()
|
||||||
case $nonopt in *shtool*) :;; *) false;; esac
|
case $nonopt in *shtool*) :;; *) false;; esac
|
||||||
then
|
then
|
||||||
# Aesthetically quote it.
|
# Aesthetically quote it.
|
||||||
func_quote_for_eval "$nonopt"
|
func_quote_arg pretty "$nonopt"
|
||||||
install_prog="$func_quote_for_eval_result "
|
install_prog="$func_quote_arg_result "
|
||||||
arg=$1
|
arg=$1
|
||||||
shift
|
shift
|
||||||
else
|
else
|
||||||
|
@ -4107,8 +4295,8 @@ func_mode_install ()
|
||||||
|
|
||||||
# The real first argument should be the name of the installation program.
|
# The real first argument should be the name of the installation program.
|
||||||
# Aesthetically quote it.
|
# Aesthetically quote it.
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty "$arg"
|
||||||
func_append install_prog "$func_quote_for_eval_result"
|
func_append install_prog "$func_quote_arg_result"
|
||||||
install_shared_prog=$install_prog
|
install_shared_prog=$install_prog
|
||||||
case " $install_prog " in
|
case " $install_prog " in
|
||||||
*[\\\ /]cp\ *) install_cp=: ;;
|
*[\\\ /]cp\ *) install_cp=: ;;
|
||||||
|
@ -4165,12 +4353,12 @@ func_mode_install ()
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# Aesthetically quote the argument.
|
# Aesthetically quote the argument.
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty "$arg"
|
||||||
func_append install_prog " $func_quote_for_eval_result"
|
func_append install_prog " $func_quote_arg_result"
|
||||||
if test -n "$arg2"; then
|
if test -n "$arg2"; then
|
||||||
func_quote_for_eval "$arg2"
|
func_quote_arg pretty "$arg2"
|
||||||
fi
|
fi
|
||||||
func_append install_shared_prog " $func_quote_for_eval_result"
|
func_append install_shared_prog " $func_quote_arg_result"
|
||||||
done
|
done
|
||||||
|
|
||||||
test -z "$install_prog" && \
|
test -z "$install_prog" && \
|
||||||
|
@ -4181,8 +4369,8 @@ func_mode_install ()
|
||||||
|
|
||||||
if test -n "$install_override_mode" && $no_mode; then
|
if test -n "$install_override_mode" && $no_mode; then
|
||||||
if $install_cp; then :; else
|
if $install_cp; then :; else
|
||||||
func_quote_for_eval "$install_override_mode"
|
func_quote_arg pretty "$install_override_mode"
|
||||||
func_append install_shared_prog " -m $func_quote_for_eval_result"
|
func_append install_shared_prog " -m $func_quote_arg_result"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -4478,8 +4666,8 @@ func_mode_install ()
|
||||||
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
|
relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'`
|
||||||
|
|
||||||
$opt_quiet || {
|
$opt_quiet || {
|
||||||
func_quote_for_expand "$relink_command"
|
func_quote_arg expand,pretty "$relink_command"
|
||||||
eval "func_echo $func_quote_for_expand_result"
|
eval "func_echo $func_quote_arg_result"
|
||||||
}
|
}
|
||||||
if eval "$relink_command"; then :
|
if eval "$relink_command"; then :
|
||||||
else
|
else
|
||||||
|
@ -5258,7 +5446,8 @@ else
|
||||||
if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
if test \"\$libtool_execute_magic\" != \"$magic\"; then
|
||||||
file=\"\$0\""
|
file=\"\$0\""
|
||||||
|
|
||||||
qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"`
|
func_quote_arg pretty "$ECHO"
|
||||||
|
qECHO=$func_quote_arg_result
|
||||||
$ECHO "\
|
$ECHO "\
|
||||||
|
|
||||||
# A function that is used when there is no print builtin or printf.
|
# A function that is used when there is no print builtin or printf.
|
||||||
|
@ -5268,7 +5457,7 @@ func_fallback_echo ()
|
||||||
\$1
|
\$1
|
||||||
_LTECHO_EOF'
|
_LTECHO_EOF'
|
||||||
}
|
}
|
||||||
ECHO=\"$qECHO\"
|
ECHO=$qECHO
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Very basic option parsing. These options are (a) specific to
|
# Very basic option parsing. These options are (a) specific to
|
||||||
|
@ -6611,9 +6800,9 @@ func_mode_link ()
|
||||||
while test "$#" -gt 0; do
|
while test "$#" -gt 0; do
|
||||||
arg=$1
|
arg=$1
|
||||||
shift
|
shift
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty,unquoted "$arg"
|
||||||
qarg=$func_quote_for_eval_unquoted_result
|
qarg=$func_quote_arg_unquoted_result
|
||||||
func_append libtool_args " $func_quote_for_eval_result"
|
func_append libtool_args " $func_quote_arg_result"
|
||||||
|
|
||||||
# If the previous option needs an argument, assign it.
|
# If the previous option needs an argument, assign it.
|
||||||
if test -n "$prev"; then
|
if test -n "$prev"; then
|
||||||
|
@ -7211,9 +7400,9 @@ func_mode_link ()
|
||||||
save_ifs=$IFS; IFS=,
|
save_ifs=$IFS; IFS=,
|
||||||
for flag in $args; do
|
for flag in $args; do
|
||||||
IFS=$save_ifs
|
IFS=$save_ifs
|
||||||
func_quote_for_eval "$flag"
|
func_quote_arg pretty "$flag"
|
||||||
func_append arg " $func_quote_for_eval_result"
|
func_append arg " $func_quote_arg_result"
|
||||||
func_append compiler_flags " $func_quote_for_eval_result"
|
func_append compiler_flags " $func_quote_arg_result"
|
||||||
done
|
done
|
||||||
IFS=$save_ifs
|
IFS=$save_ifs
|
||||||
func_stripname ' ' '' "$arg"
|
func_stripname ' ' '' "$arg"
|
||||||
|
@ -7227,10 +7416,10 @@ func_mode_link ()
|
||||||
save_ifs=$IFS; IFS=,
|
save_ifs=$IFS; IFS=,
|
||||||
for flag in $args; do
|
for flag in $args; do
|
||||||
IFS=$save_ifs
|
IFS=$save_ifs
|
||||||
func_quote_for_eval "$flag"
|
func_quote_arg pretty "$flag"
|
||||||
func_append arg " $wl$func_quote_for_eval_result"
|
func_append arg " $wl$func_quote_arg_result"
|
||||||
func_append compiler_flags " $wl$func_quote_for_eval_result"
|
func_append compiler_flags " $wl$func_quote_arg_result"
|
||||||
func_append linker_flags " $func_quote_for_eval_result"
|
func_append linker_flags " $func_quote_arg_result"
|
||||||
done
|
done
|
||||||
IFS=$save_ifs
|
IFS=$save_ifs
|
||||||
func_stripname ' ' '' "$arg"
|
func_stripname ' ' '' "$arg"
|
||||||
|
@ -7254,8 +7443,8 @@ func_mode_link ()
|
||||||
|
|
||||||
# -msg_* for osf cc
|
# -msg_* for osf cc
|
||||||
-msg_*)
|
-msg_*)
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty "$arg"
|
||||||
arg=$func_quote_for_eval_result
|
arg=$func_quote_arg_result
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# Flags to be passed through unchanged, with rationale:
|
# Flags to be passed through unchanged, with rationale:
|
||||||
|
@ -7279,8 +7468,8 @@ func_mode_link ()
|
||||||
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
|
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
|
||||||
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
|
-O*|-g*|-flto*|-fwhopr*|-fuse-linker-plugin|-fstack-protector*|-stdlib=*| \
|
||||||
-specs=*|-fsanitize=*)
|
-specs=*|-fsanitize=*)
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty "$arg"
|
||||||
arg=$func_quote_for_eval_result
|
arg=$func_quote_arg_result
|
||||||
func_append compile_command " $arg"
|
func_append compile_command " $arg"
|
||||||
func_append finalize_command " $arg"
|
func_append finalize_command " $arg"
|
||||||
func_append compiler_flags " $arg"
|
func_append compiler_flags " $arg"
|
||||||
|
@ -7301,15 +7490,15 @@ func_mode_link ()
|
||||||
continue
|
continue
|
||||||
else
|
else
|
||||||
# Otherwise treat like 'Some other compiler flag' below
|
# Otherwise treat like 'Some other compiler flag' below
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty "$arg"
|
||||||
arg=$func_quote_for_eval_result
|
arg=$func_quote_arg_result
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
|
|
||||||
# Some other compiler flag.
|
# Some other compiler flag.
|
||||||
-* | +*)
|
-* | +*)
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty "$arg"
|
||||||
arg=$func_quote_for_eval_result
|
arg=$func_quote_arg_result
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*.$objext)
|
*.$objext)
|
||||||
|
@ -7429,8 +7618,8 @@ func_mode_link ()
|
||||||
*)
|
*)
|
||||||
# Unknown arguments in both finalize_command and compile_command need
|
# Unknown arguments in both finalize_command and compile_command need
|
||||||
# to be aesthetically quoted because they are evaled later.
|
# to be aesthetically quoted because they are evaled later.
|
||||||
func_quote_for_eval "$arg"
|
func_quote_arg pretty "$arg"
|
||||||
arg=$func_quote_for_eval_result
|
arg=$func_quote_arg_result
|
||||||
;;
|
;;
|
||||||
esac # arg
|
esac # arg
|
||||||
|
|
||||||
|
@ -9942,8 +10131,8 @@ EOF
|
||||||
for cmd in $concat_cmds; do
|
for cmd in $concat_cmds; do
|
||||||
IFS=$save_ifs
|
IFS=$save_ifs
|
||||||
$opt_quiet || {
|
$opt_quiet || {
|
||||||
func_quote_for_expand "$cmd"
|
func_quote_arg expand,pretty "$cmd"
|
||||||
eval "func_echo $func_quote_for_expand_result"
|
eval "func_echo $func_quote_arg_result"
|
||||||
}
|
}
|
||||||
$opt_dry_run || eval "$cmd" || {
|
$opt_dry_run || eval "$cmd" || {
|
||||||
lt_exit=$?
|
lt_exit=$?
|
||||||
|
@ -10036,8 +10225,8 @@ EOF
|
||||||
eval cmd=\"$cmd\"
|
eval cmd=\"$cmd\"
|
||||||
IFS=$save_ifs
|
IFS=$save_ifs
|
||||||
$opt_quiet || {
|
$opt_quiet || {
|
||||||
func_quote_for_expand "$cmd"
|
func_quote_arg expand,pretty "$cmd"
|
||||||
eval "func_echo $func_quote_for_expand_result"
|
eval "func_echo $func_quote_arg_result"
|
||||||
}
|
}
|
||||||
$opt_dry_run || eval "$cmd" || {
|
$opt_dry_run || eval "$cmd" || {
|
||||||
lt_exit=$?
|
lt_exit=$?
|
||||||
|
@ -10511,12 +10700,12 @@ EOF
|
||||||
elif eval var_value=\$$var; test -z "$var_value"; then
|
elif eval var_value=\$$var; test -z "$var_value"; then
|
||||||
relink_command="$var=; export $var; $relink_command"
|
relink_command="$var=; export $var; $relink_command"
|
||||||
else
|
else
|
||||||
func_quote_for_eval "$var_value"
|
func_quote_arg pretty "$var_value"
|
||||||
relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
|
relink_command="$var=$func_quote_arg_result; export $var; $relink_command"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
relink_command="(cd `pwd`; $relink_command)"
|
func_quote_arg pretty,unquoted "(cd `pwd`; $relink_command)"
|
||||||
relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
|
relink_command=$func_quote_arg_unquoted_result
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Only actually do things if not in dry run mode.
|
# Only actually do things if not in dry run mode.
|
||||||
|
@ -10756,13 +10945,14 @@ EOF
|
||||||
elif eval var_value=\$$var; test -z "$var_value"; then
|
elif eval var_value=\$$var; test -z "$var_value"; then
|
||||||
relink_command="$var=; export $var; $relink_command"
|
relink_command="$var=; export $var; $relink_command"
|
||||||
else
|
else
|
||||||
func_quote_for_eval "$var_value"
|
func_quote_arg pretty,unquoted "$var_value"
|
||||||
relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command"
|
relink_command="$var=$func_quote_arg_unquoted_result; export $var; $relink_command"
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
# Quote the link command for shipping.
|
# Quote the link command for shipping.
|
||||||
relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
|
relink_command="(cd `pwd`; $SHELL \"$progpath\" $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)"
|
||||||
relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"`
|
func_quote_arg pretty,unquoted "$relink_command"
|
||||||
|
relink_command=$func_quote_arg_unquoted_result
|
||||||
if test yes = "$hardcode_automatic"; then
|
if test yes = "$hardcode_automatic"; then
|
||||||
relink_command=
|
relink_command=
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
|
# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
|
||||||
|
# Foundation, Inc.
|
||||||
# Written by Gary V. Vaughan, 2004
|
# Written by Gary V. Vaughan, 2004
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation gives
|
# This file is free software; the Free Software Foundation gives
|
||||||
|
@ -33,7 +34,7 @@ m4_define([_lt_join],
|
||||||
# ------------
|
# ------------
|
||||||
# Manipulate m4 lists.
|
# Manipulate m4 lists.
|
||||||
# These macros are necessary as long as will still need to support
|
# These macros are necessary as long as will still need to support
|
||||||
# Autoconf-2.59 which quotes differently.
|
# Autoconf-2.59, which quotes differently.
|
||||||
m4_define([lt_car], [[$1]])
|
m4_define([lt_car], [[$1]])
|
||||||
m4_define([lt_cdr],
|
m4_define([lt_cdr],
|
||||||
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
|
||||||
|
@ -44,7 +45,7 @@ m4_define([lt_unquote], $1)
|
||||||
|
|
||||||
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
# lt_append(MACRO-NAME, STRING, [SEPARATOR])
|
||||||
# ------------------------------------------
|
# ------------------------------------------
|
||||||
# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
|
# Redefine MACRO-NAME to hold its former content plus 'SEPARATOR''STRING'.
|
||||||
# Note that neither SEPARATOR nor STRING are expanded; they are appended
|
# 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).
|
# 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
|
# No SEPARATOR is output if MACRO-NAME was previously undefined (different
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||||
#
|
#
|
||||||
# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
|
# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
|
||||||
|
# Foundation, Inc.
|
||||||
# Written by Scott James Remnant, 2004.
|
# Written by Scott James Remnant, 2004.
|
||||||
#
|
#
|
||||||
# This file is free software; the Free Software Foundation gives
|
# This file is free software; the Free Software Foundation gives
|
||||||
|
@ -11,7 +12,7 @@
|
||||||
|
|
||||||
# These exist entirely to fool aclocal when bootstrapping libtool.
|
# These exist entirely to fool aclocal when bootstrapping libtool.
|
||||||
#
|
#
|
||||||
# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
|
# 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
|
# 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.
|
# exported API, or moved to Autoconf or Automake where they belong.
|
||||||
#
|
#
|
||||||
|
@ -25,7 +26,7 @@
|
||||||
# included after everything else. This provides aclocal with the
|
# included after everything else. This provides aclocal with the
|
||||||
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
|
||||||
# because those macros already exist, or will be overwritten later.
|
# because those macros already exist, or will be overwritten later.
|
||||||
# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
|
# 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.
|
# 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
|
# Yes, that means every name once taken will need to remain here until
|
||||||
|
|
2
missing
2
missing
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
scriptversion=2013-10-28.13; # UTC
|
scriptversion=2013-10-28.13; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2014 Free Software Foundation, Inc.
|
||||||
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
# Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||||
|
|
||||||
# This program is free software; you can redistribute it and/or modify
|
# This program is free software; you can redistribute it and/or modify
|
||||||
|
|
321
src/Makefile.in
321
src/Makefile.in
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -109,6 +109,10 @@ mkinstalldirs = $(install_sh) -d
|
||||||
CONFIG_HEADER = $(top_builddir)/config.h
|
CONFIG_HEADER = $(top_builddir)/config.h
|
||||||
CONFIG_CLEAN_FILES = libpcsclite.pc pcscd.h
|
CONFIG_CLEAN_FILES = libpcsclite.pc pcscd.h
|
||||||
CONFIG_CLEAN_VPATH_FILES =
|
CONFIG_CLEAN_VPATH_FILES =
|
||||||
|
am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(libdir)" \
|
||||||
|
"$(DESTDIR)$(nodistheaderdir)" "$(DESTDIR)$(pcdir)" \
|
||||||
|
"$(DESTDIR)$(includedir)"
|
||||||
|
PROGRAMS = $(noinst_PROGRAMS) $(sbin_PROGRAMS)
|
||||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||||
am__vpath_adj = case $$p in \
|
am__vpath_adj = case $$p in \
|
||||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||||
|
@ -136,9 +140,6 @@ am__uninstall_files_from_dir = { \
|
||||||
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
|
||||||
$(am__cd) "$$dir" && rm -f $$files; }; \
|
$(am__cd) "$$dir" && rm -f $$files; }; \
|
||||||
}
|
}
|
||||||
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sbindir)" \
|
|
||||||
"$(DESTDIR)$(nodistheaderdir)" "$(DESTDIR)$(pcdir)" \
|
|
||||||
"$(DESTDIR)$(includedir)"
|
|
||||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||||
am__DEPENDENCIES_1 =
|
am__DEPENDENCIES_1 =
|
||||||
libpcsclite_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
|
libpcsclite_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
|
||||||
|
@ -156,7 +157,6 @@ libpcsclite_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
|
||||||
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
|
||||||
$(libpcsclite_la_CFLAGS) $(CFLAGS) $(libpcsclite_la_LDFLAGS) \
|
$(libpcsclite_la_CFLAGS) $(CFLAGS) $(libpcsclite_la_LDFLAGS) \
|
||||||
$(LDFLAGS) -o $@
|
$(LDFLAGS) -o $@
|
||||||
PROGRAMS = $(noinst_PROGRAMS) $(sbin_PROGRAMS)
|
|
||||||
am_pcsc_wirecheck_OBJECTS = pcsc-wirecheck-dist.$(OBJEXT) \
|
am_pcsc_wirecheck_OBJECTS = pcsc-wirecheck-dist.$(OBJEXT) \
|
||||||
pcsc-wirecheck-main.$(OBJEXT)
|
pcsc-wirecheck-main.$(OBJEXT)
|
||||||
pcsc_wirecheck_OBJECTS = $(am_pcsc_wirecheck_OBJECTS)
|
pcsc_wirecheck_OBJECTS = $(am_pcsc_wirecheck_OBJECTS)
|
||||||
|
@ -218,7 +218,37 @@ am__v_at_0 = @
|
||||||
am__v_at_1 =
|
am__v_at_1 =
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__maybe_remake_depfiles = depfiles
|
||||||
|
am__depfiles_remade = ./$(DEPDIR)/libpcsclite_la-debug.Plo \
|
||||||
|
./$(DEPDIR)/libpcsclite_la-error.Plo \
|
||||||
|
./$(DEPDIR)/libpcsclite_la-simclist.Plo \
|
||||||
|
./$(DEPDIR)/libpcsclite_la-sys_unix.Plo \
|
||||||
|
./$(DEPDIR)/libpcsclite_la-utils.Plo \
|
||||||
|
./$(DEPDIR)/libpcsclite_la-winscard_clnt.Plo \
|
||||||
|
./$(DEPDIR)/libpcsclite_la-winscard_msg.Plo \
|
||||||
|
./$(DEPDIR)/pcsc-wirecheck-dist.Po \
|
||||||
|
./$(DEPDIR)/pcsc-wirecheck-gen.Po \
|
||||||
|
./$(DEPDIR)/pcsc-wirecheck-main.Po \
|
||||||
|
./$(DEPDIR)/pcscd-atrhandler.Po ./$(DEPDIR)/pcscd-auth.Po \
|
||||||
|
./$(DEPDIR)/pcscd-configfile.Po ./$(DEPDIR)/pcscd-debuglog.Po \
|
||||||
|
./$(DEPDIR)/pcscd-dyn_hpux.Po ./$(DEPDIR)/pcscd-dyn_macosx.Po \
|
||||||
|
./$(DEPDIR)/pcscd-dyn_unix.Po \
|
||||||
|
./$(DEPDIR)/pcscd-eventhandler.Po \
|
||||||
|
./$(DEPDIR)/pcscd-hotplug_generic.Po \
|
||||||
|
./$(DEPDIR)/pcscd-hotplug_libudev.Po \
|
||||||
|
./$(DEPDIR)/pcscd-hotplug_libusb.Po \
|
||||||
|
./$(DEPDIR)/pcscd-hotplug_linux.Po \
|
||||||
|
./$(DEPDIR)/pcscd-hotplug_macosx.Po \
|
||||||
|
./$(DEPDIR)/pcscd-ifdwrapper.Po \
|
||||||
|
./$(DEPDIR)/pcscd-pcscdaemon.Po \
|
||||||
|
./$(DEPDIR)/pcscd-prothandler.Po \
|
||||||
|
./$(DEPDIR)/pcscd-readerfactory.Po \
|
||||||
|
./$(DEPDIR)/pcscd-simclist.Po ./$(DEPDIR)/pcscd-sys_unix.Po \
|
||||||
|
./$(DEPDIR)/pcscd-tokenparser.Po ./$(DEPDIR)/pcscd-utils.Po \
|
||||||
|
./$(DEPDIR)/pcscd-winscard.Po \
|
||||||
|
./$(DEPDIR)/pcscd-winscard_msg.Po \
|
||||||
|
./$(DEPDIR)/pcscd-winscard_msg_srv.Po \
|
||||||
|
./$(DEPDIR)/pcscd-winscard_svc.Po ./$(DEPDIR)/testpcsc.Po
|
||||||
am__mv = mv -f
|
am__mv = mv -f
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
@ -275,7 +305,7 @@ am__recursive_targets = \
|
||||||
$(RECURSIVE_CLEAN_TARGETS) \
|
$(RECURSIVE_CLEAN_TARGETS) \
|
||||||
$(am__extra_recursive_targets)
|
$(am__extra_recursive_targets)
|
||||||
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
|
||||||
distdir
|
distdir distdir-am
|
||||||
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
|
||||||
# Read a list of newline-separated strings from the standard input,
|
# Read a list of newline-separated strings from the standard input,
|
||||||
# and print each of them once, without duplicates. Input order is
|
# and print each of them once, without duplicates. Input order is
|
||||||
|
@ -602,8 +632,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
@ -619,44 +649,6 @@ libpcsclite.pc: $(top_builddir)/config.status $(srcdir)/libpcsclite.pc.in
|
||||||
pcscd.h: $(top_builddir)/config.status $(srcdir)/pcscd.h.in
|
pcscd.h: $(top_builddir)/config.status $(srcdir)/pcscd.h.in
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
|
||||||
|
|
||||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
|
||||||
@$(NORMAL_INSTALL)
|
|
||||||
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
|
||||||
list2=; for p in $$list; do \
|
|
||||||
if test -f $$p; then \
|
|
||||||
list2="$$list2 $$p"; \
|
|
||||||
else :; fi; \
|
|
||||||
done; \
|
|
||||||
test -z "$$list2" || { \
|
|
||||||
echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
|
|
||||||
$(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
|
|
||||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
|
|
||||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
|
|
||||||
}
|
|
||||||
|
|
||||||
uninstall-libLTLIBRARIES:
|
|
||||||
@$(NORMAL_UNINSTALL)
|
|
||||||
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
|
||||||
for p in $$list; do \
|
|
||||||
$(am__strip_dir) \
|
|
||||||
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
|
|
||||||
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
|
|
||||||
done
|
|
||||||
|
|
||||||
clean-libLTLIBRARIES:
|
|
||||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
|
||||||
@list='$(lib_LTLIBRARIES)'; \
|
|
||||||
locs=`for p in $$list; do echo $$p; done | \
|
|
||||||
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
|
||||||
sort -u`; \
|
|
||||||
test -z "$$locs" || { \
|
|
||||||
echo rm -f $${locs}; \
|
|
||||||
rm -f $${locs}; \
|
|
||||||
}
|
|
||||||
|
|
||||||
libpcsclite.la: $(libpcsclite_la_OBJECTS) $(libpcsclite_la_DEPENDENCIES) $(EXTRA_libpcsclite_la_DEPENDENCIES)
|
|
||||||
$(AM_V_CCLD)$(libpcsclite_la_LINK) -rpath $(libdir) $(libpcsclite_la_OBJECTS) $(libpcsclite_la_LIBADD) $(LIBS)
|
|
||||||
|
|
||||||
clean-noinstPROGRAMS:
|
clean-noinstPROGRAMS:
|
||||||
@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
|
@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
|
||||||
echo " rm -f" $$list; \
|
echo " rm -f" $$list; \
|
||||||
|
@ -715,6 +707,44 @@ clean-sbinPROGRAMS:
|
||||||
echo " rm -f" $$list; \
|
echo " rm -f" $$list; \
|
||||||
rm -f $$list
|
rm -f $$list
|
||||||
|
|
||||||
|
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||||
|
@$(NORMAL_INSTALL)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||||
|
list2=; for p in $$list; do \
|
||||||
|
if test -f $$p; then \
|
||||||
|
list2="$$list2 $$p"; \
|
||||||
|
else :; fi; \
|
||||||
|
done; \
|
||||||
|
test -z "$$list2" || { \
|
||||||
|
echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
|
||||||
|
$(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
|
||||||
|
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
|
||||||
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
|
||||||
|
}
|
||||||
|
|
||||||
|
uninstall-libLTLIBRARIES:
|
||||||
|
@$(NORMAL_UNINSTALL)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
|
||||||
|
for p in $$list; do \
|
||||||
|
$(am__strip_dir) \
|
||||||
|
echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
|
||||||
|
$(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
|
||||||
|
done
|
||||||
|
|
||||||
|
clean-libLTLIBRARIES:
|
||||||
|
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||||
|
@list='$(lib_LTLIBRARIES)'; \
|
||||||
|
locs=`for p in $$list; do echo $$p; done | \
|
||||||
|
sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
|
||||||
|
sort -u`; \
|
||||||
|
test -z "$$locs" || { \
|
||||||
|
echo rm -f $${locs}; \
|
||||||
|
rm -f $${locs}; \
|
||||||
|
}
|
||||||
|
|
||||||
|
libpcsclite.la: $(libpcsclite_la_OBJECTS) $(libpcsclite_la_DEPENDENCIES) $(EXTRA_libpcsclite_la_DEPENDENCIES)
|
||||||
|
$(AM_V_CCLD)$(libpcsclite_la_LINK) -rpath $(libdir) $(libpcsclite_la_OBJECTS) $(libpcsclite_la_LIBADD) $(LIBS)
|
||||||
|
|
||||||
pcsc-wirecheck$(EXEEXT): $(pcsc_wirecheck_OBJECTS) $(pcsc_wirecheck_DEPENDENCIES) $(EXTRA_pcsc_wirecheck_DEPENDENCIES)
|
pcsc-wirecheck$(EXEEXT): $(pcsc_wirecheck_OBJECTS) $(pcsc_wirecheck_DEPENDENCIES) $(EXTRA_pcsc_wirecheck_DEPENDENCIES)
|
||||||
@rm -f pcsc-wirecheck$(EXEEXT)
|
@rm -f pcsc-wirecheck$(EXEEXT)
|
||||||
$(AM_V_CCLD)$(LINK) $(pcsc_wirecheck_OBJECTS) $(pcsc_wirecheck_LDADD) $(LIBS)
|
$(AM_V_CCLD)$(LINK) $(pcsc_wirecheck_OBJECTS) $(pcsc_wirecheck_LDADD) $(LIBS)
|
||||||
|
@ -737,42 +767,48 @@ mostlyclean-compile:
|
||||||
distclean-compile:
|
distclean-compile:
|
||||||
-rm -f *.tab.c
|
-rm -f *.tab.c
|
||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-debug.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-debug.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-error.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-error.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-simclist.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-simclist.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-sys_unix.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-sys_unix.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-utils.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-utils.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-winscard_clnt.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-winscard_clnt.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-winscard_msg.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcsclite_la-winscard_msg.Plo@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc-wirecheck-dist.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc-wirecheck-dist.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc-wirecheck-gen.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc-wirecheck-gen.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc-wirecheck-main.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcsc-wirecheck-main.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-atrhandler.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-atrhandler.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-auth.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-auth.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-configfile.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-configfile.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-debuglog.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-debuglog.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-dyn_hpux.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-dyn_hpux.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-dyn_macosx.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-dyn_macosx.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-dyn_unix.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-dyn_unix.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-eventhandler.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-eventhandler.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_generic.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_generic.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_libudev.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_libudev.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_libusb.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_libusb.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_linux.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_linux.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_macosx.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-hotplug_macosx.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-ifdwrapper.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-ifdwrapper.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-pcscdaemon.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-pcscdaemon.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-prothandler.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-prothandler.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-readerfactory.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-readerfactory.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-simclist.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-simclist.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-sys_unix.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-sys_unix.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-tokenparser.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-tokenparser.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-utils.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-utils.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard_msg.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard_msg.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard_msg_srv.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard_msg_srv.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard_svc.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pcscd-winscard_svc.Po@am__quote@ # am--include-marker
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testpcsc.Po@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testpcsc.Po@am__quote@ # am--include-marker
|
||||||
|
|
||||||
|
$(am__depfiles_remade):
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
|
||||||
|
|
||||||
|
am--depfiles: $(am__depfiles_remade)
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
|
@ -1368,7 +1404,10 @@ cscopelist-am: $(am__tagged_files)
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
|
@ -1425,10 +1464,10 @@ distdir: $(DISTFILES)
|
||||||
done
|
done
|
||||||
check-am: all-am
|
check-am: all-am
|
||||||
check: check-recursive
|
check: check-recursive
|
||||||
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
|
all-am: Makefile $(PROGRAMS) $(LTLIBRARIES) $(DATA) $(HEADERS)
|
||||||
installdirs: installdirs-recursive
|
installdirs: installdirs-recursive
|
||||||
installdirs-am:
|
installdirs-am:
|
||||||
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(nodistheaderdir)" "$(DESTDIR)$(pcdir)" "$(DESTDIR)$(includedir)"; do \
|
for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(libdir)" "$(DESTDIR)$(nodistheaderdir)" "$(DESTDIR)$(pcdir)" "$(DESTDIR)$(includedir)"; do \
|
||||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||||
done
|
done
|
||||||
install: install-recursive
|
install: install-recursive
|
||||||
|
@ -1469,7 +1508,42 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||||
clean-noinstPROGRAMS clean-sbinPROGRAMS mostlyclean-am
|
clean-noinstPROGRAMS clean-sbinPROGRAMS mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-recursive
|
distclean: distclean-recursive
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -f ./$(DEPDIR)/libpcsclite_la-debug.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-error.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-simclist.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-sys_unix.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-utils.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-winscard_clnt.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-winscard_msg.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/pcsc-wirecheck-dist.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcsc-wirecheck-gen.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcsc-wirecheck-main.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-atrhandler.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-auth.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-configfile.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-debuglog.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-dyn_hpux.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-dyn_macosx.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-dyn_unix.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-eventhandler.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_generic.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_libudev.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_libusb.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_linux.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_macosx.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-ifdwrapper.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-pcscdaemon.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-prothandler.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-readerfactory.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-simclist.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-sys_unix.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-tokenparser.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-utils.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard_msg.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard_msg_srv.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard_svc.Po
|
||||||
|
-rm -f ./$(DEPDIR)/testpcsc.Po
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-tags
|
distclean-tags
|
||||||
|
@ -1516,7 +1590,42 @@ install-ps-am:
|
||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-recursive
|
maintainer-clean: maintainer-clean-recursive
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -f ./$(DEPDIR)/libpcsclite_la-debug.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-error.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-simclist.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-sys_unix.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-utils.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-winscard_clnt.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/libpcsclite_la-winscard_msg.Plo
|
||||||
|
-rm -f ./$(DEPDIR)/pcsc-wirecheck-dist.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcsc-wirecheck-gen.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcsc-wirecheck-main.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-atrhandler.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-auth.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-configfile.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-debuglog.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-dyn_hpux.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-dyn_macosx.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-dyn_unix.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-eventhandler.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_generic.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_libudev.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_libusb.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_linux.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-hotplug_macosx.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-ifdwrapper.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-pcscdaemon.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-prothandler.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-readerfactory.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-simclist.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-sys_unix.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-tokenparser.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-utils.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard_msg.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard_msg_srv.Po
|
||||||
|
-rm -f ./$(DEPDIR)/pcscd-winscard_svc.Po
|
||||||
|
-rm -f ./$(DEPDIR)/testpcsc.Po
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
@ -1539,23 +1648,23 @@ uninstall-am: uninstall-libLTLIBRARIES uninstall-nobase_includeHEADERS \
|
||||||
|
|
||||||
.MAKE: $(am__recursive_targets) install-am install-strip
|
.MAKE: $(am__recursive_targets) install-am install-strip
|
||||||
|
|
||||||
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \
|
.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
|
||||||
check-am clean clean-generic clean-libLTLIBRARIES \
|
am--depfiles check check-am clean clean-generic \
|
||||||
clean-libtool clean-noinstPROGRAMS clean-sbinPROGRAMS \
|
clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS \
|
||||||
cscopelist-am ctags ctags-am distclean distclean-compile \
|
clean-sbinPROGRAMS cscopelist-am ctags ctags-am distclean \
|
||||||
distclean-generic distclean-libtool distclean-tags distdir dvi \
|
distclean-compile distclean-generic distclean-libtool \
|
||||||
dvi-am html html-am info info-am install install-am \
|
distclean-tags distdir dvi dvi-am html html-am info info-am \
|
||||||
install-data install-data-am install-dvi install-dvi-am \
|
install install-am install-data install-data-am install-dvi \
|
||||||
install-exec install-exec-am install-html install-html-am \
|
install-dvi-am install-exec install-exec-am install-html \
|
||||||
install-info install-info-am install-libLTLIBRARIES \
|
install-html-am install-info install-info-am \
|
||||||
install-man install-nobase_includeHEADERS \
|
install-libLTLIBRARIES install-man \
|
||||||
install-nodistheaderDATA install-pcDATA install-pdf \
|
install-nobase_includeHEADERS install-nodistheaderDATA \
|
||||||
install-pdf-am install-ps install-ps-am install-sbinPROGRAMS \
|
install-pcDATA install-pdf install-pdf-am install-ps \
|
||||||
install-strip installcheck installcheck-am installdirs \
|
install-ps-am install-sbinPROGRAMS install-strip installcheck \
|
||||||
installdirs-am maintainer-clean maintainer-clean-generic \
|
installcheck-am installdirs installdirs-am maintainer-clean \
|
||||||
mostlyclean mostlyclean-compile mostlyclean-generic \
|
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||||
mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
|
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||||
uninstall-am uninstall-libLTLIBRARIES \
|
tags tags-am uninstall uninstall-am uninstall-libLTLIBRARIES \
|
||||||
uninstall-nobase_includeHEADERS uninstall-nodistheaderDATA \
|
uninstall-nobase_includeHEADERS uninstall-nodistheaderDATA \
|
||||||
uninstall-pcDATA uninstall-sbinPROGRAMS
|
uninstall-pcDATA uninstall-sbinPROGRAMS
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -40,7 +40,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
The routines specified hereafter will allow you to write an IFD handler
|
The routines specified hereafter will allow you to write an IFD handler
|
||||||
for the PC/SC Lite resource manager. Please use the complement
|
for the PC/SC Lite resource manager. Please use the complement
|
||||||
developer's kit complete with headers and Makefile at:
|
developer's kit complete with headers and Makefile at:
|
||||||
http://www.musclecard.com/drivers.html
|
https://muscle.apdu.fr/musclecard.com/sourcedrivers.html
|
||||||
|
|
||||||
This gives a common API for communication to most readers in a
|
This gives a common API for communication to most readers in a
|
||||||
homogeneous fashion. This document assumes that the driver developer is
|
homogeneous fashion. This document assumes that the driver developer is
|
||||||
|
@ -82,7 +82,7 @@ Example:
|
||||||
<string>0x04E6</string>
|
<string>0x04E6</string>
|
||||||
@endverbatim
|
@endverbatim
|
||||||
|
|
||||||
You may have an OEM of this reader in which an additional @c <string>
|
You may have an OEM of this reader in which an additional @c \<string>
|
||||||
can be used like in the below example:
|
can be used like in the below example:
|
||||||
|
|
||||||
@verbatim
|
@verbatim
|
||||||
|
@ -98,9 +98,8 @@ also. You may chose not to support this feature but it is useful when
|
||||||
reader vendors OEM products so you only distribute one driver.
|
reader vendors OEM products so you only distribute one driver.
|
||||||
|
|
||||||
|
|
||||||
The CCID driver from Ludovic Rousseau
|
The CCID driver from Ludovic Rousseau https://ccid.apdu.fr/ uses this
|
||||||
http://pcsclite.alioth.debian.org/ccid.html uses this feature since the
|
feature since the same driver supports many different readers.
|
||||||
same driver supports many different readers.
|
|
||||||
|
|
||||||
@subsection ifdProductID
|
@subsection ifdProductID
|
||||||
|
|
||||||
|
@ -203,7 +202,7 @@ It has the following syntax:
|
||||||
# Configuration file for pcsc-lite
|
# Configuration file for pcsc-lite
|
||||||
# David Corcoran <corcoran@musclecard.com>
|
# David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
||||||
FRIENDLYNAME Generic Reader
|
FRIENDLYNAME "Generic Reader"
|
||||||
DEVICENAME /dev/ttyS0
|
DEVICENAME /dev/ttyS0
|
||||||
LIBPATH /usr/lib/pcsc/drivers/libgen_ifd.so
|
LIBPATH /usr/lib/pcsc/drivers/libgen_ifd.so
|
||||||
CHANNELID 1
|
CHANNELID 1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -279,7 +279,7 @@ extern const SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, g_rgSCardRawPci;
|
||||||
#define INFINITE 0xFFFFFFFF /**< Infinite timeout */
|
#define INFINITE 0xFFFFFFFF /**< Infinite timeout */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define PCSCLITE_VERSION_NUMBER "1.8.23" /**< Current version */
|
#define PCSCLITE_VERSION_NUMBER "1.8.24" /**< Current version */
|
||||||
/** Maximum readers context (a slot is count as a reader) */
|
/** Maximum readers context (a slot is count as a reader) */
|
||||||
#define PCSCLITE_MAX_READERS_CONTEXTS 16
|
#define PCSCLITE_MAX_READERS_CONTEXTS 16
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2005
|
* Copyright (C) 1999-2005
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2003
|
* Copyright (C) 1999-2003
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Red Hat
|
* Copyright (C) 2013 Red Hat
|
||||||
*
|
*
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2013 Red Hat
|
* Copyright (C) 2013 Red Hat
|
||||||
*
|
*
|
||||||
|
|
242
src/configfile.c
242
src/configfile.c
|
@ -8,7 +8,7 @@
|
||||||
#define FLEX_SCANNER
|
#define FLEX_SCANNER
|
||||||
#define YY_FLEX_MAJOR_VERSION 2
|
#define YY_FLEX_MAJOR_VERSION 2
|
||||||
#define YY_FLEX_MINOR_VERSION 6
|
#define YY_FLEX_MINOR_VERSION 6
|
||||||
#define YY_FLEX_SUBMINOR_VERSION 1
|
#define YY_FLEX_SUBMINOR_VERSION 4
|
||||||
#if YY_FLEX_SUBMINOR_VERSION > 0
|
#if YY_FLEX_SUBMINOR_VERSION > 0
|
||||||
#define FLEX_BETA
|
#define FLEX_BETA
|
||||||
#endif
|
#endif
|
||||||
|
@ -83,10 +83,16 @@ typedef unsigned int flex_uint32_t;
|
||||||
#define UINT32_MAX (4294967295U)
|
#define UINT32_MAX (4294967295U)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef SIZE_MAX
|
||||||
|
#define SIZE_MAX (~(size_t)0)
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* ! C99 */
|
#endif /* ! C99 */
|
||||||
|
|
||||||
#endif /* ! FLEXINT_H */
|
#endif /* ! FLEXINT_H */
|
||||||
|
|
||||||
|
/* begin standard C++ headers. */
|
||||||
|
|
||||||
/* TODO: this is always defined, so inline it */
|
/* TODO: this is always defined, so inline it */
|
||||||
#define yyconst const
|
#define yyconst const
|
||||||
|
|
||||||
|
@ -99,32 +105,26 @@ typedef unsigned int flex_uint32_t;
|
||||||
/* Returned upon end-of-file. */
|
/* Returned upon end-of-file. */
|
||||||
#define YY_NULL 0
|
#define YY_NULL 0
|
||||||
|
|
||||||
/* Promotes a possibly negative, possibly signed char to an unsigned
|
/* Promotes a possibly negative, possibly signed char to an
|
||||||
* integer for use as an array index. If the signed char is negative,
|
* integer in range [0..255] for use as an array index.
|
||||||
* we want to instead treat it as an 8-bit unsigned char, hence the
|
|
||||||
* double cast.
|
|
||||||
*/
|
*/
|
||||||
#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
|
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
|
||||||
|
|
||||||
/* Enter a start condition. This macro really ought to take a parameter,
|
/* Enter a start condition. This macro really ought to take a parameter,
|
||||||
* but we do it the disgusting crufty way forced on us by the ()-less
|
* but we do it the disgusting crufty way forced on us by the ()-less
|
||||||
* definition of BEGIN.
|
* definition of BEGIN.
|
||||||
*/
|
*/
|
||||||
#define BEGIN (yy_start) = 1 + 2 *
|
#define BEGIN (yy_start) = 1 + 2 *
|
||||||
|
|
||||||
/* Translate the current start state into a value that can be later handed
|
/* Translate the current start state into a value that can be later handed
|
||||||
* to BEGIN to return to the state. The YYSTATE alias is for lex
|
* to BEGIN to return to the state. The YYSTATE alias is for lex
|
||||||
* compatibility.
|
* compatibility.
|
||||||
*/
|
*/
|
||||||
#define YY_START (((yy_start) - 1) / 2)
|
#define YY_START (((yy_start) - 1) / 2)
|
||||||
#define YYSTATE YY_START
|
#define YYSTATE YY_START
|
||||||
|
|
||||||
/* Action number for EOF rule of a given start state. */
|
/* Action number for EOF rule of a given start state. */
|
||||||
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
|
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
|
||||||
|
|
||||||
/* Special action meaning "start processing a new file". */
|
/* Special action meaning "start processing a new file". */
|
||||||
#define YY_NEW_FILE yyrestart(yyin )
|
#define YY_NEW_FILE yyrestart( yyin )
|
||||||
|
|
||||||
#define YY_END_OF_BUFFER_CHAR 0
|
#define YY_END_OF_BUFFER_CHAR 0
|
||||||
|
|
||||||
/* Size of default input buffer. */
|
/* Size of default input buffer. */
|
||||||
|
@ -161,7 +161,7 @@ extern FILE *yyin, *yyout;
|
||||||
#define EOB_ACT_CONTINUE_SCAN 0
|
#define EOB_ACT_CONTINUE_SCAN 0
|
||||||
#define EOB_ACT_END_OF_FILE 1
|
#define EOB_ACT_END_OF_FILE 1
|
||||||
#define EOB_ACT_LAST_MATCH 2
|
#define EOB_ACT_LAST_MATCH 2
|
||||||
|
|
||||||
#define YY_LESS_LINENO(n)
|
#define YY_LESS_LINENO(n)
|
||||||
#define YY_LINENO_REWIND_TO(ptr)
|
#define YY_LINENO_REWIND_TO(ptr)
|
||||||
|
|
||||||
|
@ -178,7 +178,6 @@ extern FILE *yyin, *yyout;
|
||||||
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
|
YY_DO_BEFORE_ACTION; /* set up yytext again */ \
|
||||||
} \
|
} \
|
||||||
while ( 0 )
|
while ( 0 )
|
||||||
|
|
||||||
#define unput(c) yyunput( c, (yytext_ptr) )
|
#define unput(c) yyunput( c, (yytext_ptr) )
|
||||||
|
|
||||||
#ifndef YY_STRUCT_YY_BUFFER_STATE
|
#ifndef YY_STRUCT_YY_BUFFER_STATE
|
||||||
|
@ -260,7 +259,6 @@ static YY_BUFFER_STATE * yy_buffer_stack = NULL; /**< Stack as an array. */
|
||||||
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
|
#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
|
||||||
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
|
? (yy_buffer_stack)[(yy_buffer_stack_top)] \
|
||||||
: NULL)
|
: NULL)
|
||||||
|
|
||||||
/* Same as previous macro, but useful when we know that the buffer stack is not
|
/* Same as previous macro, but useful when we know that the buffer stack is not
|
||||||
* NULL or when we need an lvalue. For internal use only.
|
* NULL or when we need an lvalue. For internal use only.
|
||||||
*/
|
*/
|
||||||
|
@ -281,65 +279,59 @@ static int yy_start = 0; /* start state number */
|
||||||
*/
|
*/
|
||||||
static int yy_did_buffer_switch_on_eof;
|
static int yy_did_buffer_switch_on_eof;
|
||||||
|
|
||||||
void yyrestart (FILE *input_file );
|
void yyrestart ( FILE *input_file );
|
||||||
void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
|
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
|
||||||
YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
|
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
|
||||||
void yy_delete_buffer (YY_BUFFER_STATE b );
|
void yy_delete_buffer ( YY_BUFFER_STATE b );
|
||||||
void yy_flush_buffer (YY_BUFFER_STATE b );
|
void yy_flush_buffer ( YY_BUFFER_STATE b );
|
||||||
void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
|
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
|
||||||
void yypop_buffer_state (void );
|
void yypop_buffer_state ( void );
|
||||||
|
|
||||||
static void yyensure_buffer_stack (void );
|
static void yyensure_buffer_stack ( void );
|
||||||
static void yy_load_buffer_state (void );
|
static void yy_load_buffer_state ( void );
|
||||||
static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
|
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
|
||||||
|
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
|
||||||
|
|
||||||
#define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
|
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
|
||||||
|
YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
|
||||||
|
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
|
||||||
|
|
||||||
YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
|
void *yyalloc ( yy_size_t );
|
||||||
YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
|
void *yyrealloc ( void *, yy_size_t );
|
||||||
YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,int len );
|
void yyfree ( void * );
|
||||||
|
|
||||||
void *yyalloc (yy_size_t );
|
|
||||||
void *yyrealloc (void *,yy_size_t );
|
|
||||||
void yyfree (void * );
|
|
||||||
|
|
||||||
#define yy_new_buffer yy_create_buffer
|
#define yy_new_buffer yy_create_buffer
|
||||||
|
|
||||||
#define yy_set_interactive(is_interactive) \
|
#define yy_set_interactive(is_interactive) \
|
||||||
{ \
|
{ \
|
||||||
if ( ! YY_CURRENT_BUFFER ){ \
|
if ( ! YY_CURRENT_BUFFER ){ \
|
||||||
yyensure_buffer_stack (); \
|
yyensure_buffer_stack (); \
|
||||||
YY_CURRENT_BUFFER_LVALUE = \
|
YY_CURRENT_BUFFER_LVALUE = \
|
||||||
yy_create_buffer(yyin,YY_BUF_SIZE ); \
|
yy_create_buffer( yyin, YY_BUF_SIZE ); \
|
||||||
} \
|
} \
|
||||||
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
|
YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define yy_set_bol(at_bol) \
|
#define yy_set_bol(at_bol) \
|
||||||
{ \
|
{ \
|
||||||
if ( ! YY_CURRENT_BUFFER ){\
|
if ( ! YY_CURRENT_BUFFER ){\
|
||||||
yyensure_buffer_stack (); \
|
yyensure_buffer_stack (); \
|
||||||
YY_CURRENT_BUFFER_LVALUE = \
|
YY_CURRENT_BUFFER_LVALUE = \
|
||||||
yy_create_buffer(yyin,YY_BUF_SIZE ); \
|
yy_create_buffer( yyin, YY_BUF_SIZE ); \
|
||||||
} \
|
} \
|
||||||
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
|
YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
|
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
|
||||||
|
|
||||||
/* Begin user sect3 */
|
/* Begin user sect3 */
|
||||||
|
|
||||||
#define yywrap() (/*CONSTCOND*/1)
|
#define yywrap() (/*CONSTCOND*/1)
|
||||||
#define YY_SKIP_YYWRAP
|
#define YY_SKIP_YYWRAP
|
||||||
|
typedef flex_uint8_t YY_CHAR;
|
||||||
typedef unsigned char YY_CHAR;
|
|
||||||
|
|
||||||
FILE *yyin = NULL, *yyout = NULL;
|
FILE *yyin = NULL, *yyout = NULL;
|
||||||
|
|
||||||
typedef int yy_state_type;
|
typedef int yy_state_type;
|
||||||
|
|
||||||
extern int yylineno;
|
extern int yylineno;
|
||||||
|
|
||||||
int yylineno = 1;
|
int yylineno = 1;
|
||||||
|
|
||||||
extern char *yytext;
|
extern char *yytext;
|
||||||
|
@ -348,10 +340,10 @@ extern char *yytext;
|
||||||
#endif
|
#endif
|
||||||
#define yytext_ptr yytext
|
#define yytext_ptr yytext
|
||||||
|
|
||||||
static yy_state_type yy_get_previous_state (void );
|
static yy_state_type yy_get_previous_state ( void );
|
||||||
static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
|
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
|
||||||
static int yy_get_next_buffer (void );
|
static int yy_get_next_buffer ( void );
|
||||||
static void yynoreturn yy_fatal_error (yyconst char* msg );
|
static void yynoreturn yy_fatal_error ( const char* msg );
|
||||||
|
|
||||||
/* Done after the current pattern has been matched and before the
|
/* Done after the current pattern has been matched and before the
|
||||||
* corresponding action - sets up yytext.
|
* corresponding action - sets up yytext.
|
||||||
|
@ -362,7 +354,6 @@ static void yynoreturn yy_fatal_error (yyconst char* msg );
|
||||||
(yy_hold_char) = *yy_cp; \
|
(yy_hold_char) = *yy_cp; \
|
||||||
*yy_cp = '\0'; \
|
*yy_cp = '\0'; \
|
||||||
(yy_c_buf_p) = yy_cp;
|
(yy_c_buf_p) = yy_cp;
|
||||||
|
|
||||||
#define YY_NUM_RULES 7
|
#define YY_NUM_RULES 7
|
||||||
#define YY_END_OF_BUFFER 8
|
#define YY_END_OF_BUFFER 8
|
||||||
/* This struct is not used in this scanner,
|
/* This struct is not used in this scanner,
|
||||||
|
@ -372,13 +363,13 @@ struct yy_trans_info
|
||||||
flex_int32_t yy_verify;
|
flex_int32_t yy_verify;
|
||||||
flex_int32_t yy_nxt;
|
flex_int32_t yy_nxt;
|
||||||
};
|
};
|
||||||
static yyconst flex_int16_t yy_accept[17] =
|
static const flex_int16_t yy_accept[17] =
|
||||||
{ 0,
|
{ 0,
|
||||||
0, 0, 8, 6, 4, 2, 6, 1, 6, 5,
|
0, 0, 8, 6, 4, 2, 6, 1, 6, 5,
|
||||||
0, 3, 1, 0, 5, 0
|
0, 3, 1, 0, 5, 0
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
static yyconst YY_CHAR yy_ec[256] =
|
static const YY_CHAR yy_ec[256] =
|
||||||
{ 0,
|
{ 0,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
|
1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
|
@ -386,7 +377,7 @@ static yyconst YY_CHAR yy_ec[256] =
|
||||||
1, 2, 1, 4, 5, 1, 1, 1, 6, 1,
|
1, 2, 1, 4, 5, 1, 1, 1, 6, 1,
|
||||||
1, 1, 1, 1, 7, 7, 7, 8, 8, 8,
|
1, 1, 1, 1, 7, 7, 7, 8, 8, 8,
|
||||||
8, 8, 8, 8, 8, 8, 8, 7, 1, 1,
|
8, 8, 8, 8, 8, 8, 8, 7, 1, 1,
|
||||||
1, 1, 1, 7, 9, 9, 9, 9, 9, 9,
|
7, 1, 1, 7, 9, 9, 9, 9, 9, 9,
|
||||||
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
|
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
|
||||||
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
|
9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
|
||||||
1, 7, 1, 1, 7, 1, 10, 10, 10, 10,
|
1, 7, 1, 1, 7, 1, 10, 10, 10, 10,
|
||||||
|
@ -410,24 +401,24 @@ static yyconst YY_CHAR yy_ec[256] =
|
||||||
1, 1, 1, 1, 1
|
1, 1, 1, 1, 1
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
static yyconst YY_CHAR yy_meta[11] =
|
static const YY_CHAR yy_meta[11] =
|
||||||
{ 0,
|
{ 0,
|
||||||
1, 1, 2, 1, 1, 1, 1, 1, 1, 1
|
1, 1, 2, 1, 1, 1, 1, 1, 1, 1
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
static yyconst flex_uint16_t yy_base[20] =
|
static const flex_int16_t yy_base[20] =
|
||||||
{ 0,
|
{ 0,
|
||||||
0, 0, 15, 31, 31, 31, 8, 0, 10, 10,
|
0, 0, 15, 31, 31, 31, 8, 0, 10, 10,
|
||||||
18, 31, 0, 20, 0, 31, 26, 13, 28
|
18, 31, 0, 20, 0, 31, 26, 13, 28
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
static yyconst flex_int16_t yy_def[20] =
|
static const flex_int16_t yy_def[20] =
|
||||||
{ 0,
|
{ 0,
|
||||||
16, 1, 16, 16, 16, 16, 17, 18, 19, 16,
|
16, 1, 16, 16, 16, 16, 17, 18, 19, 16,
|
||||||
17, 16, 18, 19, 10, 0, 16, 16, 16
|
17, 16, 18, 19, 10, 0, 16, 16, 16
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
static yyconst flex_uint16_t yy_nxt[42] =
|
static const flex_int16_t yy_nxt[42] =
|
||||||
{ 0,
|
{ 0,
|
||||||
4, 5, 6, 7, 8, 9, 10, 10, 10, 10,
|
4, 5, 6, 7, 8, 9, 10, 10, 10, 10,
|
||||||
12, 12, 12, 13, 16, 12, 15, 15, 15, 15,
|
12, 12, 12, 13, 16, 12, 15, 15, 15, 15,
|
||||||
|
@ -436,7 +427,7 @@ static yyconst flex_uint16_t yy_nxt[42] =
|
||||||
16
|
16
|
||||||
} ;
|
} ;
|
||||||
|
|
||||||
static yyconst flex_int16_t yy_chk[42] =
|
static const flex_int16_t yy_chk[42] =
|
||||||
{ 0,
|
{ 0,
|
||||||
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
|
||||||
7, 7, 9, 18, 3, 9, 10, 10, 10, 10,
|
7, 7, 9, 18, 3, 9, 10, 10, 10, 10,
|
||||||
|
@ -463,7 +454,7 @@ char *yytext;
|
||||||
/*
|
/*
|
||||||
* Reads lexical config files and updates database.
|
* Reads lexical config files and updates database.
|
||||||
*
|
*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -521,8 +512,9 @@ const char *ConfFile;
|
||||||
|
|
||||||
void tok_error(char *pcToken_error);
|
void tok_error(char *pcToken_error);
|
||||||
|
|
||||||
|
#line 516 "configfile.c"
|
||||||
#define YY_NO_INPUT 1
|
#define YY_NO_INPUT 1
|
||||||
#line 526 "configfile.c"
|
#line 518 "configfile.c"
|
||||||
|
|
||||||
#define INITIAL 0
|
#define INITIAL 0
|
||||||
|
|
||||||
|
@ -538,36 +530,36 @@ void tok_error(char *pcToken_error);
|
||||||
#define YY_EXTRA_TYPE void *
|
#define YY_EXTRA_TYPE void *
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int yy_init_globals (void );
|
static int yy_init_globals ( void );
|
||||||
|
|
||||||
/* Accessor methods to globals.
|
/* Accessor methods to globals.
|
||||||
These are made visible to non-reentrant scanners for convenience. */
|
These are made visible to non-reentrant scanners for convenience. */
|
||||||
|
|
||||||
int yylex_destroy (void );
|
int yylex_destroy ( void );
|
||||||
|
|
||||||
int yyget_debug (void );
|
int yyget_debug ( void );
|
||||||
|
|
||||||
void yyset_debug (int debug_flag );
|
void yyset_debug ( int debug_flag );
|
||||||
|
|
||||||
YY_EXTRA_TYPE yyget_extra (void );
|
YY_EXTRA_TYPE yyget_extra ( void );
|
||||||
|
|
||||||
void yyset_extra (YY_EXTRA_TYPE user_defined );
|
void yyset_extra ( YY_EXTRA_TYPE user_defined );
|
||||||
|
|
||||||
FILE *yyget_in (void );
|
FILE *yyget_in ( void );
|
||||||
|
|
||||||
void yyset_in (FILE * _in_str );
|
void yyset_in ( FILE * _in_str );
|
||||||
|
|
||||||
FILE *yyget_out (void );
|
FILE *yyget_out ( void );
|
||||||
|
|
||||||
void yyset_out (FILE * _out_str );
|
void yyset_out ( FILE * _out_str );
|
||||||
|
|
||||||
int yyget_leng (void );
|
int yyget_leng ( void );
|
||||||
|
|
||||||
char *yyget_text (void );
|
char *yyget_text ( void );
|
||||||
|
|
||||||
int yyget_lineno (void );
|
int yyget_lineno ( void );
|
||||||
|
|
||||||
void yyset_lineno (int _line_number );
|
void yyset_lineno ( int _line_number );
|
||||||
|
|
||||||
/* Macros after this point can all be overridden by user definitions in
|
/* Macros after this point can all be overridden by user definitions in
|
||||||
* section 1.
|
* section 1.
|
||||||
|
@ -575,9 +567,9 @@ void yyset_lineno (int _line_number );
|
||||||
|
|
||||||
#ifndef YY_SKIP_YYWRAP
|
#ifndef YY_SKIP_YYWRAP
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" int yywrap (void );
|
extern "C" int yywrap ( void );
|
||||||
#else
|
#else
|
||||||
extern int yywrap (void );
|
extern int yywrap ( void );
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -586,19 +578,18 @@ extern int yywrap (void );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef yytext_ptr
|
#ifndef yytext_ptr
|
||||||
static void yy_flex_strncpy (char *,yyconst char *,int );
|
static void yy_flex_strncpy ( char *, const char *, int );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef YY_NEED_STRLEN
|
#ifdef YY_NEED_STRLEN
|
||||||
static int yy_flex_strlen (yyconst char * );
|
static int yy_flex_strlen ( const char * );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef YY_NO_INPUT
|
#ifndef YY_NO_INPUT
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
static int yyinput (void );
|
static int yyinput ( void );
|
||||||
#else
|
#else
|
||||||
static int input (void );
|
static int input ( void );
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -629,7 +620,7 @@ static int input (void );
|
||||||
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
|
if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
|
||||||
{ \
|
{ \
|
||||||
int c = '*'; \
|
int c = '*'; \
|
||||||
size_t n; \
|
int n; \
|
||||||
for ( n = 0; n < max_size && \
|
for ( n = 0; n < max_size && \
|
||||||
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
|
(c = getc( yyin )) != EOF && c != '\n'; ++n ) \
|
||||||
buf[n] = (char) c; \
|
buf[n] = (char) c; \
|
||||||
|
@ -642,7 +633,7 @@ static int input (void );
|
||||||
else \
|
else \
|
||||||
{ \
|
{ \
|
||||||
errno=0; \
|
errno=0; \
|
||||||
while ( (result = (int) fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
|
while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
|
||||||
{ \
|
{ \
|
||||||
if( errno != EINTR) \
|
if( errno != EINTR) \
|
||||||
{ \
|
{ \
|
||||||
|
@ -731,17 +722,17 @@ YY_DECL
|
||||||
if ( ! YY_CURRENT_BUFFER ) {
|
if ( ! YY_CURRENT_BUFFER ) {
|
||||||
yyensure_buffer_stack ();
|
yyensure_buffer_stack ();
|
||||||
YY_CURRENT_BUFFER_LVALUE =
|
YY_CURRENT_BUFFER_LVALUE =
|
||||||
yy_create_buffer(yyin,YY_BUF_SIZE );
|
yy_create_buffer( yyin, YY_BUF_SIZE );
|
||||||
}
|
}
|
||||||
|
|
||||||
yy_load_buffer_state( );
|
yy_load_buffer_state( );
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 69 "configfile.l"
|
#line 69 "configfile.l"
|
||||||
|
|
||||||
|
|
||||||
#line 745 "configfile.c"
|
#line 736 "configfile.c"
|
||||||
|
|
||||||
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
|
||||||
{
|
{
|
||||||
|
@ -769,9 +760,9 @@ yy_match:
|
||||||
{
|
{
|
||||||
yy_current_state = (int) yy_def[yy_current_state];
|
yy_current_state = (int) yy_def[yy_current_state];
|
||||||
if ( yy_current_state >= 17 )
|
if ( yy_current_state >= 17 )
|
||||||
yy_c = yy_meta[(unsigned int) yy_c];
|
yy_c = yy_meta[yy_c];
|
||||||
}
|
}
|
||||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
||||||
++yy_cp;
|
++yy_cp;
|
||||||
}
|
}
|
||||||
while ( yy_base[yy_current_state] != 31 );
|
while ( yy_base[yy_current_state] != 31 );
|
||||||
|
@ -835,7 +826,7 @@ YY_RULE_SETUP
|
||||||
#line 77 "configfile.l"
|
#line 77 "configfile.l"
|
||||||
ECHO;
|
ECHO;
|
||||||
YY_BREAK
|
YY_BREAK
|
||||||
#line 839 "configfile.c"
|
#line 830 "configfile.c"
|
||||||
case YY_STATE_EOF(INITIAL):
|
case YY_STATE_EOF(INITIAL):
|
||||||
yyterminate();
|
yyterminate();
|
||||||
|
|
||||||
|
@ -913,7 +904,7 @@ case YY_STATE_EOF(INITIAL):
|
||||||
{
|
{
|
||||||
(yy_did_buffer_switch_on_eof) = 0;
|
(yy_did_buffer_switch_on_eof) = 0;
|
||||||
|
|
||||||
if ( yywrap( ) )
|
if ( yywrap( ) )
|
||||||
{
|
{
|
||||||
/* Note: because we've taken care in
|
/* Note: because we've taken care in
|
||||||
* yy_get_next_buffer() to have set up
|
* yy_get_next_buffer() to have set up
|
||||||
|
@ -1045,7 +1036,8 @@ static int yy_get_next_buffer (void)
|
||||||
|
|
||||||
b->yy_ch_buf = (char *)
|
b->yy_ch_buf = (char *)
|
||||||
/* Include room in for 2 EOB chars. */
|
/* Include room in for 2 EOB chars. */
|
||||||
yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 );
|
yyrealloc( (void *) b->yy_ch_buf,
|
||||||
|
(yy_size_t) (b->yy_buf_size + 2) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
/* Can't grow it, we don't own it. */
|
/* Can't grow it, we don't own it. */
|
||||||
|
@ -1077,7 +1069,7 @@ static int yy_get_next_buffer (void)
|
||||||
if ( number_to_move == YY_MORE_ADJ )
|
if ( number_to_move == YY_MORE_ADJ )
|
||||||
{
|
{
|
||||||
ret_val = EOB_ACT_END_OF_FILE;
|
ret_val = EOB_ACT_END_OF_FILE;
|
||||||
yyrestart(yyin );
|
yyrestart( yyin );
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
|
@ -1094,9 +1086,12 @@ static int yy_get_next_buffer (void)
|
||||||
if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
|
if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
|
||||||
/* Extend the array by 50%, plus the number we really need. */
|
/* Extend the array by 50%, plus the number we really need. */
|
||||||
int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
|
int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
|
||||||
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
|
YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
|
||||||
|
(void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
|
||||||
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
|
if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
|
||||||
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
|
YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
|
||||||
|
/* "- 2" to take care of EOB's */
|
||||||
|
YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
(yy_n_chars) += number_to_move;
|
(yy_n_chars) += number_to_move;
|
||||||
|
@ -1129,9 +1124,9 @@ static int yy_get_next_buffer (void)
|
||||||
{
|
{
|
||||||
yy_current_state = (int) yy_def[yy_current_state];
|
yy_current_state = (int) yy_def[yy_current_state];
|
||||||
if ( yy_current_state >= 17 )
|
if ( yy_current_state >= 17 )
|
||||||
yy_c = yy_meta[(unsigned int) yy_c];
|
yy_c = yy_meta[yy_c];
|
||||||
}
|
}
|
||||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
||||||
}
|
}
|
||||||
|
|
||||||
return yy_current_state;
|
return yy_current_state;
|
||||||
|
@ -1157,9 +1152,9 @@ static int yy_get_next_buffer (void)
|
||||||
{
|
{
|
||||||
yy_current_state = (int) yy_def[yy_current_state];
|
yy_current_state = (int) yy_def[yy_current_state];
|
||||||
if ( yy_current_state >= 17 )
|
if ( yy_current_state >= 17 )
|
||||||
yy_c = yy_meta[(unsigned int) yy_c];
|
yy_c = yy_meta[yy_c];
|
||||||
}
|
}
|
||||||
yy_current_state = yy_nxt[yy_base[yy_current_state] + (flex_int16_t) yy_c];
|
yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
|
||||||
yy_is_jam = (yy_current_state == 16);
|
yy_is_jam = (yy_current_state == 16);
|
||||||
|
|
||||||
return yy_is_jam ? 0 : yy_current_state;
|
return yy_is_jam ? 0 : yy_current_state;
|
||||||
|
@ -1193,7 +1188,7 @@ static int yy_get_next_buffer (void)
|
||||||
|
|
||||||
else
|
else
|
||||||
{ /* need more input */
|
{ /* need more input */
|
||||||
int offset = (yy_c_buf_p) - (yytext_ptr);
|
int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
|
||||||
++(yy_c_buf_p);
|
++(yy_c_buf_p);
|
||||||
|
|
||||||
switch ( yy_get_next_buffer( ) )
|
switch ( yy_get_next_buffer( ) )
|
||||||
|
@ -1210,13 +1205,13 @@ static int yy_get_next_buffer (void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Reset buffer status. */
|
/* Reset buffer status. */
|
||||||
yyrestart(yyin );
|
yyrestart( yyin );
|
||||||
|
|
||||||
/*FALLTHROUGH*/
|
/*FALLTHROUGH*/
|
||||||
|
|
||||||
case EOB_ACT_END_OF_FILE:
|
case EOB_ACT_END_OF_FILE:
|
||||||
{
|
{
|
||||||
if ( yywrap( ) )
|
if ( yywrap( ) )
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
if ( ! (yy_did_buffer_switch_on_eof) )
|
if ( ! (yy_did_buffer_switch_on_eof) )
|
||||||
|
@ -1254,11 +1249,11 @@ static int yy_get_next_buffer (void)
|
||||||
if ( ! YY_CURRENT_BUFFER ){
|
if ( ! YY_CURRENT_BUFFER ){
|
||||||
yyensure_buffer_stack ();
|
yyensure_buffer_stack ();
|
||||||
YY_CURRENT_BUFFER_LVALUE =
|
YY_CURRENT_BUFFER_LVALUE =
|
||||||
yy_create_buffer(yyin,YY_BUF_SIZE );
|
yy_create_buffer( yyin, YY_BUF_SIZE );
|
||||||
}
|
}
|
||||||
|
|
||||||
yy_init_buffer(YY_CURRENT_BUFFER,input_file );
|
yy_init_buffer( YY_CURRENT_BUFFER, input_file );
|
||||||
yy_load_buffer_state( );
|
yy_load_buffer_state( );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Switch to a different input buffer.
|
/** Switch to a different input buffer.
|
||||||
|
@ -1286,7 +1281,7 @@ static int yy_get_next_buffer (void)
|
||||||
}
|
}
|
||||||
|
|
||||||
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
||||||
yy_load_buffer_state( );
|
yy_load_buffer_state( );
|
||||||
|
|
||||||
/* We don't actually know whether we did this switch during
|
/* We don't actually know whether we did this switch during
|
||||||
* EOF (yywrap()) processing, but the only time this flag
|
* EOF (yywrap()) processing, but the only time this flag
|
||||||
|
@ -1314,22 +1309,22 @@ static void yy_load_buffer_state (void)
|
||||||
{
|
{
|
||||||
YY_BUFFER_STATE b;
|
YY_BUFFER_STATE b;
|
||||||
|
|
||||||
b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
|
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
|
||||||
if ( ! b )
|
if ( ! b )
|
||||||
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
||||||
|
|
||||||
b->yy_buf_size = (yy_size_t)size;
|
b->yy_buf_size = size;
|
||||||
|
|
||||||
/* yy_ch_buf has to be 2 characters longer than the size given because
|
/* yy_ch_buf has to be 2 characters longer than the size given because
|
||||||
* we need to put in 2 end-of-buffer characters.
|
* we need to put in 2 end-of-buffer characters.
|
||||||
*/
|
*/
|
||||||
b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
|
b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
|
||||||
if ( ! b->yy_ch_buf )
|
if ( ! b->yy_ch_buf )
|
||||||
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
|
||||||
|
|
||||||
b->yy_is_our_buffer = 1;
|
b->yy_is_our_buffer = 1;
|
||||||
|
|
||||||
yy_init_buffer(b,file );
|
yy_init_buffer( b, file );
|
||||||
|
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
@ -1348,9 +1343,9 @@ static void yy_load_buffer_state (void)
|
||||||
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
|
YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
|
||||||
|
|
||||||
if ( b->yy_is_our_buffer )
|
if ( b->yy_is_our_buffer )
|
||||||
yyfree((void *) b->yy_ch_buf );
|
yyfree( (void *) b->yy_ch_buf );
|
||||||
|
|
||||||
yyfree((void *) b );
|
yyfree( (void *) b );
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Initializes or reinitializes a buffer.
|
/* Initializes or reinitializes a buffer.
|
||||||
|
@ -1362,7 +1357,7 @@ static void yy_load_buffer_state (void)
|
||||||
{
|
{
|
||||||
int oerrno = errno;
|
int oerrno = errno;
|
||||||
|
|
||||||
yy_flush_buffer(b );
|
yy_flush_buffer( b );
|
||||||
|
|
||||||
b->yy_input_file = file;
|
b->yy_input_file = file;
|
||||||
b->yy_fill_buffer = 1;
|
b->yy_fill_buffer = 1;
|
||||||
|
@ -1405,7 +1400,7 @@ static void yy_load_buffer_state (void)
|
||||||
b->yy_buffer_status = YY_BUFFER_NEW;
|
b->yy_buffer_status = YY_BUFFER_NEW;
|
||||||
|
|
||||||
if ( b == YY_CURRENT_BUFFER )
|
if ( b == YY_CURRENT_BUFFER )
|
||||||
yy_load_buffer_state( );
|
yy_load_buffer_state( );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Pushes the new state onto the stack. The new state becomes
|
/** Pushes the new state onto the stack. The new state becomes
|
||||||
|
@ -1436,7 +1431,7 @@ void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
|
||||||
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
YY_CURRENT_BUFFER_LVALUE = new_buffer;
|
||||||
|
|
||||||
/* copied from yy_switch_to_buffer. */
|
/* copied from yy_switch_to_buffer. */
|
||||||
yy_load_buffer_state( );
|
yy_load_buffer_state( );
|
||||||
(yy_did_buffer_switch_on_eof) = 1;
|
(yy_did_buffer_switch_on_eof) = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1455,7 +1450,7 @@ void yypop_buffer_state (void)
|
||||||
--(yy_buffer_stack_top);
|
--(yy_buffer_stack_top);
|
||||||
|
|
||||||
if (YY_CURRENT_BUFFER) {
|
if (YY_CURRENT_BUFFER) {
|
||||||
yy_load_buffer_state( );
|
yy_load_buffer_state( );
|
||||||
(yy_did_buffer_switch_on_eof) = 1;
|
(yy_did_buffer_switch_on_eof) = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1465,7 +1460,7 @@ void yypop_buffer_state (void)
|
||||||
*/
|
*/
|
||||||
static void yyensure_buffer_stack (void)
|
static void yyensure_buffer_stack (void)
|
||||||
{
|
{
|
||||||
int num_to_alloc;
|
yy_size_t num_to_alloc;
|
||||||
|
|
||||||
if (!(yy_buffer_stack)) {
|
if (!(yy_buffer_stack)) {
|
||||||
|
|
||||||
|
@ -1522,11 +1517,11 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
|
||||||
/* They forgot to leave room for the EOB's. */
|
/* They forgot to leave room for the EOB's. */
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
|
b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
|
||||||
if ( ! b )
|
if ( ! b )
|
||||||
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
|
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
|
||||||
|
|
||||||
b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
|
b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
|
||||||
b->yy_buf_pos = b->yy_ch_buf = base;
|
b->yy_buf_pos = b->yy_ch_buf = base;
|
||||||
b->yy_is_our_buffer = 0;
|
b->yy_is_our_buffer = 0;
|
||||||
b->yy_input_file = NULL;
|
b->yy_input_file = NULL;
|
||||||
|
@ -1536,7 +1531,7 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
|
||||||
b->yy_fill_buffer = 0;
|
b->yy_fill_buffer = 0;
|
||||||
b->yy_buffer_status = YY_BUFFER_NEW;
|
b->yy_buffer_status = YY_BUFFER_NEW;
|
||||||
|
|
||||||
yy_switch_to_buffer(b );
|
yy_switch_to_buffer( b );
|
||||||
|
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
|
@ -1549,10 +1544,10 @@ YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
|
||||||
* @note If you want to scan bytes that may contain NUL values, then use
|
* @note If you want to scan bytes that may contain NUL values, then use
|
||||||
* yy_scan_bytes() instead.
|
* yy_scan_bytes() instead.
|
||||||
*/
|
*/
|
||||||
YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
|
YY_BUFFER_STATE yy_scan_string (const char * yystr )
|
||||||
{
|
{
|
||||||
|
|
||||||
return yy_scan_bytes(yystr,(int) strlen(yystr) );
|
return yy_scan_bytes( yystr, (int) strlen(yystr) );
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
|
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
|
||||||
|
@ -1562,7 +1557,7 @@ YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
|
||||||
*
|
*
|
||||||
* @return the newly allocated buffer state object.
|
* @return the newly allocated buffer state object.
|
||||||
*/
|
*/
|
||||||
YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
|
YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
|
||||||
{
|
{
|
||||||
YY_BUFFER_STATE b;
|
YY_BUFFER_STATE b;
|
||||||
char *buf;
|
char *buf;
|
||||||
|
@ -1571,7 +1566,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
|
||||||
|
|
||||||
/* Get memory for full buffer, including space for trailing EOB's. */
|
/* Get memory for full buffer, including space for trailing EOB's. */
|
||||||
n = (yy_size_t) (_yybytes_len + 2);
|
n = (yy_size_t) (_yybytes_len + 2);
|
||||||
buf = (char *) yyalloc(n );
|
buf = (char *) yyalloc( n );
|
||||||
if ( ! buf )
|
if ( ! buf )
|
||||||
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
|
YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
|
||||||
|
|
||||||
|
@ -1580,7 +1575,7 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
|
||||||
|
|
||||||
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
|
buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
|
||||||
|
|
||||||
b = yy_scan_buffer(buf,n );
|
b = yy_scan_buffer( buf, n );
|
||||||
if ( ! b )
|
if ( ! b )
|
||||||
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
|
YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
|
||||||
|
|
||||||
|
@ -1596,9 +1591,9 @@ YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, int _yybytes_len )
|
||||||
#define YY_EXIT_FAILURE 2
|
#define YY_EXIT_FAILURE 2
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static void yynoreturn yy_fatal_error (yyconst char* msg )
|
static void yynoreturn yy_fatal_error (const char* msg )
|
||||||
{
|
{
|
||||||
(void) fprintf( stderr, "%s\n", msg );
|
fprintf( stderr, "%s\n", msg );
|
||||||
exit( YY_EXIT_FAILURE );
|
exit( YY_EXIT_FAILURE );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1733,7 +1728,7 @@ int yylex_destroy (void)
|
||||||
|
|
||||||
/* Pop the buffer stack, destroying each element. */
|
/* Pop the buffer stack, destroying each element. */
|
||||||
while(YY_CURRENT_BUFFER){
|
while(YY_CURRENT_BUFFER){
|
||||||
yy_delete_buffer(YY_CURRENT_BUFFER );
|
yy_delete_buffer( YY_CURRENT_BUFFER );
|
||||||
YY_CURRENT_BUFFER_LVALUE = NULL;
|
YY_CURRENT_BUFFER_LVALUE = NULL;
|
||||||
yypop_buffer_state();
|
yypop_buffer_state();
|
||||||
}
|
}
|
||||||
|
@ -1754,7 +1749,7 @@ int yylex_destroy (void)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef yytext_ptr
|
#ifndef yytext_ptr
|
||||||
static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
|
static void yy_flex_strncpy (char* s1, const char * s2, int n )
|
||||||
{
|
{
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
|
@ -1764,7 +1759,7 @@ static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef YY_NEED_STRLEN
|
#ifdef YY_NEED_STRLEN
|
||||||
static int yy_flex_strlen (yyconst char * s )
|
static int yy_flex_strlen (const char * s )
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
for ( n = 0; s[n]; ++n )
|
for ( n = 0; s[n]; ++n )
|
||||||
|
@ -1802,7 +1797,6 @@ void yyfree (void * ptr )
|
||||||
#line 77 "configfile.l"
|
#line 77 "configfile.l"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Header file for reading lexical config files.
|
* Header file for reading lexical config files.
|
||||||
*
|
*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Reads lexical config files and updates database.
|
* Reads lexical config files and updates database.
|
||||||
*
|
*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -72,7 +72,7 @@ void tok_error(char *pcToken_error);
|
||||||
"\n" { iLinenumber++; }
|
"\n" { iLinenumber++; }
|
||||||
(\"[^"\n]*["\n])|(\'[^'\n]*['\n]) { (void)evaluatetoken(yytext); }
|
(\"[^"\n]*["\n])|(\'[^'\n]*['\n]) { (void)evaluatetoken(yytext); }
|
||||||
[ \t] {}
|
[ \t] {}
|
||||||
([A-Z]|[a-z]|[0-9]|[\\\/\-\.\_\@:])+ { (void)evaluatetoken(yytext); }
|
([A-Z]|[a-z]|[0-9]|[=\\\/\-\.\_\@:])+ { (void)evaluatetoken(yytext); }
|
||||||
. { iOldLinenumber = iLinenumber; tok_error(yytext); }
|
. { iOldLinenumber = iLinenumber; tok_error(yytext); }
|
||||||
%%
|
%%
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -48,6 +48,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
#include <pthread.h>
|
||||||
|
|
||||||
#include "pcsclite.h"
|
#include "pcsclite.h"
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
@ -139,6 +140,7 @@ static void log_line(const int priority, const char *DebugBuffer)
|
||||||
struct timeval new_time = { 0, 0 };
|
struct timeval new_time = { 0, 0 };
|
||||||
struct timeval tmp;
|
struct timeval tmp;
|
||||||
int delta;
|
int delta;
|
||||||
|
pthread_t thread_id;
|
||||||
|
|
||||||
gettimeofday(&new_time, NULL);
|
gettimeofday(&new_time, NULL);
|
||||||
if (0 == last_time.tv_sec)
|
if (0 == last_time.tv_sec)
|
||||||
|
@ -158,6 +160,8 @@ static void log_line(const int priority, const char *DebugBuffer)
|
||||||
|
|
||||||
last_time = new_time;
|
last_time = new_time;
|
||||||
|
|
||||||
|
thread_id = pthread_self();
|
||||||
|
|
||||||
if (LogDoColor)
|
if (LogDoColor)
|
||||||
{
|
{
|
||||||
const char *color_pfx = "", *color_sfx = "\33[0m";
|
const char *color_pfx = "", *color_sfx = "\33[0m";
|
||||||
|
@ -183,7 +187,13 @@ static void log_line(const int priority, const char *DebugBuffer)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
printf("%s%.8d%s %s%s%s\n", time_pfx, delta, time_sfx,
|
#ifdef __APPLE__
|
||||||
|
#define THREAD_FORMAT "%p"
|
||||||
|
#else
|
||||||
|
#define THREAD_FORMAT "%ld"
|
||||||
|
#endif
|
||||||
|
printf("%s%.8d%s [" THREAD_FORMAT "] %s%s%s\n",
|
||||||
|
time_pfx, delta, time_sfx, thread_id,
|
||||||
color_pfx, DebugBuffer, color_sfx);
|
color_pfx, DebugBuffer, color_sfx);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001
|
* Copyright (C) 2001
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2000
|
* Copyright (C) 2000
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2000-2002
|
* Copyright (C) 2000-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -61,7 +61,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
static list_t ClientsWaitingForEvent; /**< list of client file descriptors */
|
static list_t ClientsWaitingForEvent; /**< list of client file descriptors */
|
||||||
pthread_mutex_t ClientsWaitingForEvent_lock; /**< lock for the above list */
|
pthread_mutex_t ClientsWaitingForEvent_lock; /**< lock for the above list */
|
||||||
|
|
||||||
static void EHStatusHandlerThread(READER_CONTEXT *);
|
static void * EHStatusHandlerThread(READER_CONTEXT *);
|
||||||
|
|
||||||
LONG EHRegisterClientForEvent(int32_t filedes)
|
LONG EHRegisterClientForEvent(int32_t filedes)
|
||||||
{
|
{
|
||||||
|
@ -69,6 +69,8 @@ LONG EHRegisterClientForEvent(int32_t filedes)
|
||||||
|
|
||||||
(void)list_append(&ClientsWaitingForEvent, &filedes);
|
(void)list_append(&ClientsWaitingForEvent, &filedes);
|
||||||
|
|
||||||
|
(void)MSGSendReaderStates(filedes);
|
||||||
|
|
||||||
(void)pthread_mutex_unlock(&ClientsWaitingForEvent_lock);
|
(void)pthread_mutex_unlock(&ClientsWaitingForEvent_lock);
|
||||||
|
|
||||||
return SCARD_S_SUCCESS;
|
return SCARD_S_SUCCESS;
|
||||||
|
@ -239,7 +241,7 @@ LONG EHSpawnEventHandler(READER_CONTEXT * rContext)
|
||||||
return SCARD_S_SUCCESS;
|
return SCARD_S_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void EHStatusHandlerThread(READER_CONTEXT * rContext)
|
static void * EHStatusHandlerThread(READER_CONTEXT * rContext)
|
||||||
{
|
{
|
||||||
LONG rv;
|
LONG rv;
|
||||||
#ifndef NO_LOG
|
#ifndef NO_LOG
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2000-2003
|
* Copyright (C) 2000-2003
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2000-2003
|
* Copyright (C) 2000-2003
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2011
|
* Copyright (C) 2011
|
||||||
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
@ -593,7 +593,7 @@ static void HPScanUSB(struct udev *udev)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void HPEstablishUSBNotifications(void *arg)
|
static void * HPEstablishUSBNotifications(void *arg)
|
||||||
{
|
{
|
||||||
struct udev_monitor *udev_monitor = arg;
|
struct udev_monitor *udev_monitor = arg;
|
||||||
int r;
|
int r;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2004
|
* Copyright (C) 2001-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2003
|
* Copyright (C) 2001-2003
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2002-2004
|
* Copyright (C) 2002-2004
|
||||||
* Stephen M. Webb <stephenw@cryptocard.com>
|
* Stephen M. Webb <stephenw@cryptocard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This handles GCC attributes
|
* This handles GCC attributes
|
||||||
*
|
*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2005-2010
|
* Copyright (C) 2005-2010
|
||||||
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2003
|
* Copyright (C) 2003
|
||||||
* Toni Andjelkovic <toni@soth.at>
|
* Toni Andjelkovic <toni@soth.at>
|
||||||
|
|
|
@ -18,7 +18,7 @@ int pcsc_assert_wire_constants(void)
|
||||||
|
|
||||||
LASSERTF(PROTOCOL_VERSION_MAJOR == 4," found %lld\n",
|
LASSERTF(PROTOCOL_VERSION_MAJOR == 4," found %lld\n",
|
||||||
(long long)PROTOCOL_VERSION_MAJOR);
|
(long long)PROTOCOL_VERSION_MAJOR);
|
||||||
LASSERTF(PROTOCOL_VERSION_MINOR == 3," found %lld\n",
|
LASSERTF(PROTOCOL_VERSION_MINOR == 4," found %lld\n",
|
||||||
(long long)PROTOCOL_VERSION_MINOR);
|
(long long)PROTOCOL_VERSION_MINOR);
|
||||||
|
|
||||||
LASSERTF(MAX_READERNAME == 128," found %lld\n",
|
LASSERTF(MAX_READERNAME == 128," found %lld\n",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2011
|
* Copyright (C) 2006-2011
|
||||||
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
|
|
||||||
#define PCSCLITE_CSOCK_NAME PCSCLITE_IPC_DIR "/pcscd.comm"
|
#define PCSCLITE_CSOCK_NAME PCSCLITE_IPC_DIR "/pcscd.comm"
|
||||||
|
|
||||||
#define PCSCLITE_VERSION_NUMBER "1.8.23" /**< Current version */
|
#define PCSCLITE_VERSION_NUMBER "1.8.24" /**< Current version */
|
||||||
#define PCSCLITE_STATUS_POLL_RATE 400000 /**< Status polling rate */
|
#define PCSCLITE_STATUS_POLL_RATE 400000 /**< Status polling rate */
|
||||||
#define PCSCLITE_LOCK_POLL_RATE 100000 /**< Lock polling rate */
|
#define PCSCLITE_LOCK_POLL_RATE 100000 /**< Lock polling rate */
|
||||||
|
|
||||||
|
@ -66,7 +66,7 @@ enum
|
||||||
POWER_STATE_UNPOWERED, /**< auto power off */
|
POWER_STATE_UNPOWERED, /**< auto power off */
|
||||||
POWER_STATE_POWERED, /**< powered */
|
POWER_STATE_POWERED, /**< powered */
|
||||||
POWER_STATE_GRACE_PERIOD, /**< card was in use */
|
POWER_STATE_GRACE_PERIOD, /**< card was in use */
|
||||||
POWER_STATE_INUSE /**< card is used */
|
POWER_STATE_IN_USE /**< card is used */
|
||||||
};
|
};
|
||||||
|
|
||||||
/** time to wait before powering down an unused card */
|
/** time to wait before powering down an unused card */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2011
|
* Copyright (C) 2006-2011
|
||||||
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
@ -66,7 +66,7 @@ enum
|
||||||
POWER_STATE_UNPOWERED, /**< auto power off */
|
POWER_STATE_UNPOWERED, /**< auto power off */
|
||||||
POWER_STATE_POWERED, /**< powered */
|
POWER_STATE_POWERED, /**< powered */
|
||||||
POWER_STATE_GRACE_PERIOD, /**< card was in use */
|
POWER_STATE_GRACE_PERIOD, /**< card was in use */
|
||||||
POWER_STATE_INUSE /**< card is used */
|
POWER_STATE_IN_USE /**< card is used */
|
||||||
};
|
};
|
||||||
|
|
||||||
/** time to wait before powering down an unused card */
|
/** time to wait before powering down an unused card */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2002
|
* Copyright (C) 1999-2002
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -449,7 +449,10 @@ static inline struct list_entry_s *list_findpos(const list_t *restrict l, int po
|
||||||
/* accept 1 slot overflow for fetching head and tail sentinels */
|
/* accept 1 slot overflow for fetching head and tail sentinels */
|
||||||
if (posstart < -1 || posstart > (int)l->numels) return NULL;
|
if (posstart < -1 || posstart > (int)l->numels) return NULL;
|
||||||
|
|
||||||
x = (float)(posstart+1) / l->numels;
|
if( l->numels != 0 )
|
||||||
|
x = (float)(posstart+1) / l->numels;
|
||||||
|
else
|
||||||
|
x = 1;
|
||||||
if (x <= 0.25) {
|
if (x <= 0.25) {
|
||||||
/* first quarter: get to posstart from head */
|
/* first quarter: get to posstart from head */
|
||||||
for (i = -1, ptr = l->head_sentinel; i < posstart; ptr = ptr->next, i++);
|
for (i = -1, ptr = l->head_sentinel; i < posstart; ptr = ptr->next, i++);
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Makefile.in generated by automake 1.15 from Makefile.am.
|
# Makefile.in generated by automake 1.16.1 from Makefile.am.
|
||||||
# @configure_input@
|
# @configure_input@
|
||||||
|
|
||||||
# Copyright (C) 1994-2014 Free Software Foundation, Inc.
|
# Copyright (C) 1994-2018 Free Software Foundation, Inc.
|
||||||
|
|
||||||
# This Makefile.in is free software; the Free Software Foundation
|
# This Makefile.in is free software; the Free Software Foundation
|
||||||
# gives unlimited permission to copy and/or distribute it,
|
# gives unlimited permission to copy and/or distribute it,
|
||||||
|
@ -156,7 +156,8 @@ am__v_at_0 = @
|
||||||
am__v_at_1 =
|
am__v_at_1 =
|
||||||
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
|
||||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||||
am__depfiles_maybe = depfiles
|
am__maybe_remake_depfiles = depfiles
|
||||||
|
am__depfiles_remade = ./$(DEPDIR)/libpcscspy.Plo
|
||||||
am__mv = mv -f
|
am__mv = mv -f
|
||||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||||
|
@ -389,8 +390,8 @@ Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||||
*config.status*) \
|
*config.status*) \
|
||||||
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
|
||||||
*) \
|
*) \
|
||||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
|
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles)'; \
|
||||||
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
|
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__maybe_remake_depfiles);; \
|
||||||
esac;
|
esac;
|
||||||
|
|
||||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||||
|
@ -481,7 +482,13 @@ mostlyclean-compile:
|
||||||
distclean-compile:
|
distclean-compile:
|
||||||
-rm -f *.tab.c
|
-rm -f *.tab.c
|
||||||
|
|
||||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcscspy.Plo@am__quote@
|
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libpcscspy.Plo@am__quote@ # am--include-marker
|
||||||
|
|
||||||
|
$(am__depfiles_remade):
|
||||||
|
@$(MKDIR_P) $(@D)
|
||||||
|
@echo '# dummy' >$@-t && $(am__mv) $@-t $@
|
||||||
|
|
||||||
|
am--depfiles: $(am__depfiles_remade)
|
||||||
|
|
||||||
.c.o:
|
.c.o:
|
||||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||||
|
@ -605,7 +612,10 @@ cscopelist-am: $(am__tagged_files)
|
||||||
distclean-tags:
|
distclean-tags:
|
||||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||||
|
|
||||||
distdir: $(DISTFILES)
|
distdir: $(BUILT_SOURCES)
|
||||||
|
$(MAKE) $(AM_MAKEFLAGS) distdir-am
|
||||||
|
|
||||||
|
distdir-am: $(DISTFILES)
|
||||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||||
list='$(DISTFILES)'; \
|
list='$(DISTFILES)'; \
|
||||||
|
@ -679,7 +689,7 @@ clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||||
mostlyclean-am
|
mostlyclean-am
|
||||||
|
|
||||||
distclean: distclean-am
|
distclean: distclean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -f ./$(DEPDIR)/libpcscspy.Plo
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
distclean-am: clean-am distclean-compile distclean-generic \
|
distclean-am: clean-am distclean-compile distclean-generic \
|
||||||
distclean-tags
|
distclean-tags
|
||||||
|
@ -725,7 +735,7 @@ install-ps-am:
|
||||||
installcheck-am:
|
installcheck-am:
|
||||||
|
|
||||||
maintainer-clean: maintainer-clean-am
|
maintainer-clean: maintainer-clean-am
|
||||||
-rm -rf ./$(DEPDIR)
|
-rm -f ./$(DEPDIR)/libpcscspy.Plo
|
||||||
-rm -f Makefile
|
-rm -f Makefile
|
||||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||||
|
|
||||||
|
@ -749,9 +759,9 @@ uninstall-man: uninstall-man1
|
||||||
|
|
||||||
.MAKE: install-am install-strip
|
.MAKE: install-am install-strip
|
||||||
|
|
||||||
.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \
|
.PHONY: CTAGS GTAGS TAGS all all-am am--depfiles check check-am clean \
|
||||||
clean-libLTLIBRARIES clean-libtool cscopelist-am ctags \
|
clean-generic clean-libLTLIBRARIES clean-libtool cscopelist-am \
|
||||||
ctags-am distclean distclean-compile distclean-generic \
|
ctags ctags-am distclean distclean-compile distclean-generic \
|
||||||
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
distclean-libtool distclean-tags distdir dvi dvi-am html \
|
||||||
html-am info info-am install install-am install-data \
|
html-am info info-am install install-am install-data \
|
||||||
install-data-am install-dist_binSCRIPTS install-dvi \
|
install-data-am install-dist_binSCRIPTS install-dvi \
|
||||||
|
|
|
@ -889,9 +889,13 @@ class PCSCdemultiplexer(object):
|
||||||
for thread in threads:
|
for thread in threads:
|
||||||
threads[thread].join()
|
threads[thread].join()
|
||||||
|
|
||||||
(code, rv, sec, usec) = _parse_rv(tail)
|
try:
|
||||||
end_time = sec + usec / 1000000.
|
(code, rv, sec, usec) = _parse_rv(tail)
|
||||||
total_time = end_time - start_time
|
end_time = sec + usec / 1000000.
|
||||||
|
total_time = end_time - start_time
|
||||||
|
except ValueError:
|
||||||
|
# we have no return value of the latest PC/SC call
|
||||||
|
total_time = -1
|
||||||
|
|
||||||
# compute some statistics
|
# compute some statistics
|
||||||
thread_n = 1
|
thread_n = 1
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This handles abstract system level calls.
|
* This handles abstract system level calls.
|
||||||
*
|
*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999
|
* Copyright (C) 1999
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* Reads lexical config files and updates database.
|
* Reads lexical config files and updates database.
|
||||||
*
|
*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2003
|
* Copyright (C) 2001-2003
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2011
|
* Copyright (C) 2006-2011
|
||||||
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2006-2009
|
* Copyright (C) 2006-2009
|
||||||
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
* Ludovic Rousseau <ludovic.rousseau@free.fr>
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -348,8 +348,8 @@ LONG SCardConnect(/*@unused@*/ SCARDCONTEXT hContext, LPCSTR szReader,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* the card is now in use */
|
/* the card is now in use */
|
||||||
rContext->powerState = POWER_STATE_INUSE;
|
rContext->powerState = POWER_STATE_IN_USE;
|
||||||
Log1(PCSC_LOG_DEBUG, "powerState: POWER_STATE_INUSE");
|
Log1(PCSC_LOG_DEBUG, "powerState: POWER_STATE_IN_USE");
|
||||||
(void)pthread_mutex_unlock(&rContext->powerState_lock);
|
(void)pthread_mutex_unlock(&rContext->powerState_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -716,6 +716,12 @@ LONG SCardReconnect(SCARDHANDLE hCard, DWORD dwShareMode,
|
||||||
goto exit;
|
goto exit;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* the card is now in use */
|
||||||
|
(void)pthread_mutex_lock(&rContext->powerState_lock);
|
||||||
|
rContext->powerState = POWER_STATE_IN_USE;
|
||||||
|
Log1(PCSC_LOG_DEBUG, "powerState: POWER_STATE_IN_USE");
|
||||||
|
(void)pthread_mutex_unlock(&rContext->powerState_lock);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 1999-2004
|
* Copyright (C) 1999-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -388,6 +388,8 @@ static LONG SCardGetSetAttrib(SCARDHANDLE hCard, int command, DWORD dwAttrId,
|
||||||
LPBYTE pbAttr, LPDWORD pcbAttrLen);
|
LPBYTE pbAttr, LPDWORD pcbAttrLen);
|
||||||
|
|
||||||
static LONG getReaderStates(SCONTEXTMAP * currentContextMap);
|
static LONG getReaderStates(SCONTEXTMAP * currentContextMap);
|
||||||
|
static LONG getReaderStatesAndRegisterForEvents(SCONTEXTMAP * currentContextMap);
|
||||||
|
static LONG unregisterFromEvents(SCONTEXTMAP * currentContextMap);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Thread safety functions
|
* Thread safety functions
|
||||||
|
@ -1736,7 +1738,7 @@ LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* synchronize reader states with daemon */
|
/* synchronize reader states with daemon */
|
||||||
rv = getReaderStates(currentContextMap);
|
rv = getReaderStatesAndRegisterForEvents(currentContextMap);
|
||||||
if (rv != SCARD_S_SUCCESS)
|
if (rv != SCARD_S_SUCCESS)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
@ -2056,24 +2058,16 @@ LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout,
|
||||||
|
|
||||||
/* Only sleep once for each cycle of reader checks. */
|
/* Only sleep once for each cycle of reader checks. */
|
||||||
{
|
{
|
||||||
struct wait_reader_state_change waitStatusStruct;
|
struct wait_reader_state_change waitStatusStruct = {0};
|
||||||
struct timeval before, after;
|
struct timeval before, after;
|
||||||
|
|
||||||
gettimeofday(&before, NULL);
|
gettimeofday(&before, NULL);
|
||||||
|
|
||||||
waitStatusStruct.timeOut = dwTime;
|
|
||||||
waitStatusStruct.rv = SCARD_S_SUCCESS;
|
waitStatusStruct.rv = SCARD_S_SUCCESS;
|
||||||
|
|
||||||
/* another thread can do SCardCancel() */
|
/* another thread can do SCardCancel() */
|
||||||
currentContextMap->cancellable = TRUE;
|
currentContextMap->cancellable = TRUE;
|
||||||
|
|
||||||
rv = MessageSendWithHeader(CMD_WAIT_READER_STATE_CHANGE,
|
|
||||||
currentContextMap->dwClientID,
|
|
||||||
sizeof(waitStatusStruct), &waitStatusStruct);
|
|
||||||
|
|
||||||
if (rv != SCARD_S_SUCCESS)
|
|
||||||
goto end;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Read a message from the server
|
* Read a message from the server
|
||||||
*/
|
*/
|
||||||
|
@ -2089,20 +2083,7 @@ LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout,
|
||||||
if (SCARD_E_TIMEOUT == rv)
|
if (SCARD_E_TIMEOUT == rv)
|
||||||
{
|
{
|
||||||
/* ask server to remove us from the event list */
|
/* ask server to remove us from the event list */
|
||||||
rv = MessageSendWithHeader(CMD_STOP_WAITING_READER_STATE_CHANGE,
|
rv = unregisterFromEvents(currentContextMap);
|
||||||
currentContextMap->dwClientID,
|
|
||||||
sizeof(waitStatusStruct), &waitStatusStruct);
|
|
||||||
|
|
||||||
if (rv != SCARD_S_SUCCESS)
|
|
||||||
goto end;
|
|
||||||
|
|
||||||
/* Read a message from the server */
|
|
||||||
rv = MessageReceive(&waitStatusStruct,
|
|
||||||
sizeof(waitStatusStruct),
|
|
||||||
currentContextMap->dwClientID);
|
|
||||||
|
|
||||||
if (rv != SCARD_S_SUCCESS)
|
|
||||||
goto end;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rv != SCARD_S_SUCCESS)
|
if (rv != SCARD_S_SUCCESS)
|
||||||
|
@ -2116,7 +2097,7 @@ LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout,
|
||||||
}
|
}
|
||||||
|
|
||||||
/* synchronize reader states with daemon */
|
/* synchronize reader states with daemon */
|
||||||
rv = getReaderStates(currentContextMap);
|
rv = getReaderStatesAndRegisterForEvents(currentContextMap);
|
||||||
if (rv != SCARD_S_SUCCESS)
|
if (rv != SCARD_S_SUCCESS)
|
||||||
goto end;
|
goto end;
|
||||||
|
|
||||||
|
@ -2148,6 +2129,11 @@ LONG SCardGetStatusChange(SCARDCONTEXT hContext, DWORD dwTimeout,
|
||||||
end:
|
end:
|
||||||
Log1(PCSC_LOG_DEBUG, "Event Loop End");
|
Log1(PCSC_LOG_DEBUG, "Event Loop End");
|
||||||
|
|
||||||
|
/* if SCardCancel() has been used then the client is already
|
||||||
|
* unregistered */
|
||||||
|
if (SCARD_E_CANCELLED != rv)
|
||||||
|
(void)unregisterFromEvents(currentContextMap);
|
||||||
|
|
||||||
(void)pthread_mutex_unlock(¤tContextMap->mMutex);
|
(void)pthread_mutex_unlock(¤tContextMap->mMutex);
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
@ -3549,3 +3535,49 @@ static LONG getReaderStates(SCONTEXTMAP * currentContextMap)
|
||||||
return SCARD_S_SUCCESS;
|
return SCARD_S_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static LONG getReaderStatesAndRegisterForEvents(SCONTEXTMAP * currentContextMap)
|
||||||
|
{
|
||||||
|
int32_t dwClientID = currentContextMap->dwClientID;
|
||||||
|
LONG rv;
|
||||||
|
|
||||||
|
/* Get current reader states from server and register on event list */
|
||||||
|
rv = MessageSendWithHeader(CMD_WAIT_READER_STATE_CHANGE, dwClientID,
|
||||||
|
0, NULL);
|
||||||
|
if (rv != SCARD_S_SUCCESS)
|
||||||
|
return rv;
|
||||||
|
|
||||||
|
/* Read a message from the server */
|
||||||
|
rv = MessageReceive(&readerStates, sizeof(readerStates), dwClientID);
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
static LONG unregisterFromEvents(SCONTEXTMAP * currentContextMap)
|
||||||
|
{
|
||||||
|
int32_t dwClientID = currentContextMap->dwClientID;
|
||||||
|
LONG rv;
|
||||||
|
struct wait_reader_state_change waitStatusStruct = {0};
|
||||||
|
|
||||||
|
/* ask server to remove us from the event list */
|
||||||
|
rv = MessageSendWithHeader(CMD_STOP_WAITING_READER_STATE_CHANGE,
|
||||||
|
dwClientID, 0, NULL);
|
||||||
|
if (rv != SCARD_S_SUCCESS)
|
||||||
|
return rv;
|
||||||
|
|
||||||
|
/* This message can be the response to
|
||||||
|
* CMD_STOP_WAITING_READER_STATE_CHANGE, an event notification or a
|
||||||
|
* cancel notification.
|
||||||
|
* The server side ensures, that no more messages will be sent to
|
||||||
|
* the client. */
|
||||||
|
|
||||||
|
rv = MessageReceive(&waitStatusStruct, sizeof(waitStatusStruct),
|
||||||
|
dwClientID);
|
||||||
|
if (rv != SCARD_S_SUCCESS)
|
||||||
|
return rv;
|
||||||
|
|
||||||
|
/* if we received a cancel event the return value will be set
|
||||||
|
* accordingly */
|
||||||
|
rv = waitStatusStruct.rv;
|
||||||
|
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2004
|
* Copyright (C) 2001-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -79,9 +79,11 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
#define SOCK_CLOEXEC 0
|
#define SOCK_CLOEXEC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define member_size(type, member) sizeof(((type *)0)->member)
|
||||||
|
|
||||||
char *getSocketName(void)
|
char *getSocketName(void)
|
||||||
{
|
{
|
||||||
static char socketName[sizeof(struct sockaddr_un)];
|
static char socketName[member_size(struct sockaddr_un, sun_path)];
|
||||||
|
|
||||||
if ('\0' == socketName[0])
|
if ('\0' == socketName[0])
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2004
|
* Copyright (C) 2001-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -46,7 +46,7 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
/** Major version of the current message protocol */
|
/** Major version of the current message protocol */
|
||||||
#define PROTOCOL_VERSION_MAJOR 4
|
#define PROTOCOL_VERSION_MAJOR 4
|
||||||
/** Minor version of the current message protocol */
|
/** Minor version of the current message protocol */
|
||||||
#define PROTOCOL_VERSION_MINOR 3
|
#define PROTOCOL_VERSION_MINOR 4
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Information transmitted in \ref CMD_VERSION Messages.
|
* @brief Information transmitted in \ref CMD_VERSION Messages.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2004
|
* Copyright (C) 2001-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -164,6 +164,7 @@ INTERNAL int32_t InitializeSocket(void)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef USE_LIBSYSTEMD
|
||||||
/**
|
/**
|
||||||
* @brief Acquires a socket passed in from systemd.
|
* @brief Acquires a socket passed in from systemd.
|
||||||
*
|
*
|
||||||
|
@ -176,7 +177,6 @@ INTERNAL int32_t InitializeSocket(void)
|
||||||
* @retval 0 Success
|
* @retval 0 Success
|
||||||
* @retval -1 Passed FD is not an UNIX socket.
|
* @retval -1 Passed FD is not an UNIX socket.
|
||||||
*/
|
*/
|
||||||
#ifdef USE_LIBSYSTEMD
|
|
||||||
INTERNAL int32_t ListenExistingSocket(int fd)
|
INTERNAL int32_t ListenExistingSocket(int fd)
|
||||||
{
|
{
|
||||||
if (!sd_is_socket(fd, AF_UNIX, SOCK_STREAM, -1))
|
if (!sd_is_socket(fd, AF_UNIX, SOCK_STREAM, -1))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2004
|
* Copyright (C) 2001-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -95,7 +95,7 @@ static LONG MSGAddHandle(SCARDCONTEXT, SCARDHANDLE, SCONTEXT *);
|
||||||
static LONG MSGRemoveHandle(SCARDHANDLE, SCONTEXT *);
|
static LONG MSGRemoveHandle(SCARDHANDLE, SCONTEXT *);
|
||||||
static void MSGCleanupClient(SCONTEXT *);
|
static void MSGCleanupClient(SCONTEXT *);
|
||||||
|
|
||||||
static void ContextThread(LPVOID pdwIndex);
|
static void * ContextThread(LPVOID pdwIndex);
|
||||||
|
|
||||||
extern READER_STATE readerStates[PCSCLITE_MAX_READERS_CONTEXTS];
|
extern READER_STATE readerStates[PCSCLITE_MAX_READERS_CONTEXTS];
|
||||||
|
|
||||||
|
@ -325,7 +325,7 @@ static const char *CommandsText[] = {
|
||||||
ret = MessageSend(&v, sizeof(v), filedes); \
|
ret = MessageSend(&v, sizeof(v), filedes); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
static void ContextThread(LPVOID newContext)
|
static void * ContextThread(LPVOID newContext)
|
||||||
{
|
{
|
||||||
SCONTEXT * threadContext = (SCONTEXT *) newContext;
|
SCONTEXT * threadContext = (SCONTEXT *) newContext;
|
||||||
int32_t filedes = threadContext->dwClientID;
|
int32_t filedes = threadContext->dwClientID;
|
||||||
|
@ -411,24 +411,25 @@ static void ContextThread(LPVOID newContext)
|
||||||
|
|
||||||
case CMD_WAIT_READER_STATE_CHANGE:
|
case CMD_WAIT_READER_STATE_CHANGE:
|
||||||
{
|
{
|
||||||
struct wait_reader_state_change waStr;
|
/* nothing to read */
|
||||||
|
|
||||||
READ_BODY(waStr);
|
#ifdef USE_USB
|
||||||
|
/* wait until all readers are ready */
|
||||||
|
RFWaitForReaderInit();
|
||||||
|
#endif
|
||||||
|
|
||||||
/* add the client fd to the list */
|
/* add the client fd to the list and dump the readers state */
|
||||||
EHRegisterClientForEvent(filedes);
|
EHRegisterClientForEvent(filedes);
|
||||||
|
|
||||||
/* We do not send anything here.
|
|
||||||
* Either the client will timeout or the server will
|
|
||||||
* answer if an event occurs */
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CMD_STOP_WAITING_READER_STATE_CHANGE:
|
case CMD_STOP_WAITING_READER_STATE_CHANGE:
|
||||||
{
|
{
|
||||||
struct wait_reader_state_change waStr;
|
struct wait_reader_state_change waStr =
|
||||||
|
{
|
||||||
READ_BODY(waStr);
|
.timeOut = 0,
|
||||||
|
.rv = 0
|
||||||
|
};
|
||||||
|
|
||||||
/* remove the client fd from the list */
|
/* remove the client fd from the list */
|
||||||
waStr.rv = EHUnregisterClientForEvent(filedes);
|
waStr.rv = EHUnregisterClientForEvent(filedes);
|
||||||
|
@ -810,7 +811,11 @@ exit:
|
||||||
LONG MSGSignalClient(uint32_t filedes, LONG rv)
|
LONG MSGSignalClient(uint32_t filedes, LONG rv)
|
||||||
{
|
{
|
||||||
uint32_t ret;
|
uint32_t ret;
|
||||||
struct wait_reader_state_change waStr;
|
struct wait_reader_state_change waStr =
|
||||||
|
{
|
||||||
|
.timeOut = 0,
|
||||||
|
.rv = 0
|
||||||
|
};
|
||||||
|
|
||||||
Log2(PCSC_LOG_DEBUG, "Signal client: %d", filedes);
|
Log2(PCSC_LOG_DEBUG, "Signal client: %d", filedes);
|
||||||
|
|
||||||
|
@ -820,6 +825,18 @@ LONG MSGSignalClient(uint32_t filedes, LONG rv)
|
||||||
return ret;
|
return ret;
|
||||||
} /* MSGSignalClient */
|
} /* MSGSignalClient */
|
||||||
|
|
||||||
|
LONG MSGSendReaderStates(uint32_t filedes)
|
||||||
|
{
|
||||||
|
uint32_t ret;
|
||||||
|
|
||||||
|
Log2(PCSC_LOG_DEBUG, "Send reader states: %d", filedes);
|
||||||
|
|
||||||
|
/* dump the readers state */
|
||||||
|
ret = MessageSend(readerStates, sizeof(readerStates), filedes);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
static LONG MSGAddContext(SCARDCONTEXT hContext, SCONTEXT * threadContext)
|
static LONG MSGAddContext(SCARDCONTEXT hContext, SCONTEXT * threadContext)
|
||||||
{
|
{
|
||||||
threadContext->hContext = hContext;
|
threadContext->hContext = hContext;
|
||||||
|
@ -844,7 +861,7 @@ static LONG MSGRemoveContext(SCARDCONTEXT hContext, SCONTEXT * threadContext)
|
||||||
while (list_size(&threadContext->cardsList) != 0)
|
while (list_size(&threadContext->cardsList) != 0)
|
||||||
{
|
{
|
||||||
READER_CONTEXT * rContext = NULL;
|
READER_CONTEXT * rContext = NULL;
|
||||||
SCARDHANDLE hCard, hLockId;
|
SCARDHANDLE hCard;
|
||||||
void *ptr;
|
void *ptr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -868,31 +885,42 @@ static LONG MSGRemoveContext(SCARDCONTEXT hContext, SCONTEXT * threadContext)
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
hLockId = rContext->hLockId;
|
if (0 == rContext->hLockId)
|
||||||
rContext->hLockId = 0;
|
|
||||||
|
|
||||||
if (hCard != hLockId)
|
|
||||||
{
|
{
|
||||||
/*
|
/* no lock. Just leave the card */
|
||||||
* if the card is locked by someone else we do not reset it
|
|
||||||
* and simulate a card removal
|
|
||||||
*/
|
|
||||||
rv = SCARD_W_REMOVED_CARD;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* We will use SCardStatus to see if the card has been
|
|
||||||
* reset there is no need to reset each time
|
|
||||||
* Disconnect is called
|
|
||||||
*/
|
|
||||||
rv = SCardStatus(hCard, NULL, NULL, NULL, NULL, NULL, NULL);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (rv == SCARD_W_RESET_CARD || rv == SCARD_W_REMOVED_CARD)
|
|
||||||
(void)SCardDisconnect(hCard, SCARD_LEAVE_CARD);
|
(void)SCardDisconnect(hCard, SCARD_LEAVE_CARD);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
(void)SCardDisconnect(hCard, SCARD_RESET_CARD);
|
{
|
||||||
|
if (hCard != rContext->hLockId)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
* if the card is locked by someone else we do not reset it
|
||||||
|
* and simulate a card removal
|
||||||
|
*/
|
||||||
|
rv = SCARD_W_REMOVED_CARD;
|
||||||
|
|
||||||
|
/* decrement card use */
|
||||||
|
(void)SCardDisconnect(hCard, SCARD_LEAVE_CARD);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* release the lock */
|
||||||
|
rContext->hLockId = 0;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We will use SCardStatus to see if the card has been
|
||||||
|
* reset there is no need to reset each time
|
||||||
|
* Disconnect is called
|
||||||
|
*/
|
||||||
|
rv = SCardStatus(hCard, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||||
|
|
||||||
|
if (rv == SCARD_W_RESET_CARD || rv == SCARD_W_REMOVED_CARD)
|
||||||
|
(void)SCardDisconnect(hCard, SCARD_LEAVE_CARD);
|
||||||
|
else
|
||||||
|
(void)SCardDisconnect(hCard, SCARD_RESET_CARD);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Remove entry from the list */
|
/* Remove entry from the list */
|
||||||
lrv = list_delete_at(&threadContext->cardsList, 0);
|
lrv = list_delete_at(&threadContext->cardsList, 0);
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* MUSCLE SmartCard Development ( http://pcsclite.alioth.debian.org/pcsclite.html )
|
* MUSCLE SmartCard Development ( https://pcsclite.apdu.fr/ )
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2004
|
* Copyright (C) 2001-2004
|
||||||
* David Corcoran <corcoran@musclecard.com>
|
* David Corcoran <corcoran@musclecard.com>
|
||||||
|
@ -45,5 +45,6 @@ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
void ContextsDeinitialize(void);
|
void ContextsDeinitialize(void);
|
||||||
LONG CreateContextThread(uint32_t *);
|
LONG CreateContextThread(uint32_t *);
|
||||||
LONG MSGSignalClient(uint32_t filedes, LONG rv);
|
LONG MSGSignalClient(uint32_t filedes, LONG rv);
|
||||||
|
LONG MSGSendReaderStates(uint32_t filedes);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
6
ylwrap
6
ylwrap
|
@ -1,9 +1,9 @@
|
||||||
#! /bin/sh
|
#! /bin/sh
|
||||||
# ylwrap - wrapper for lex/yacc invocations.
|
# ylwrap - wrapper for lex/yacc invocations.
|
||||||
|
|
||||||
scriptversion=2013-01-12.17; # UTC
|
scriptversion=2016-01-11.22; # UTC
|
||||||
|
|
||||||
# Copyright (C) 1996-2013 Free Software Foundation, Inc.
|
# Copyright (C) 1996-2017 Free Software Foundation, Inc.
|
||||||
#
|
#
|
||||||
# Written by Tom Tromey <tromey@cygnus.com>.
|
# Written by Tom Tromey <tromey@cygnus.com>.
|
||||||
#
|
#
|
||||||
|
@ -242,6 +242,6 @@ exit $ret
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|
Loading…
Reference in New Issue