diff mbox series

[v2] ccid-card: include libcacard.h only

Message ID 3c36db1dc0702763ebb7966cc27428ed67d43804.1522751624.git.mprivozn@redhat.com
State New
Headers show
Series [v2] ccid-card: include libcacard.h only | expand

Commit Message

Michal Prívozník April 3, 2018, 10:34 a.m. UTC
When trying to build with latest libcacard-2.5.1, I hit the
following error:

In file included from hw/usb/ccid-card-passthru.c:12:0:
/usr/include/cacard/vscard_common.h:26:2: error: #warning "Only <libcacard.h> can be included directly" [-Werror=cpp]
 #warning "Only <libcacard.h> can be included directly"

While it was fixed in libcacard upstream (so that individual
files can be included directly), it doesn't make much sense.
Let's switch to including the main libcacard.h and also require
at least libcacard-2.5.1 which introduced it. It's available
since late 2015.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
---

Comments

Marc-André Lureau April 3, 2018, 11:38 a.m. UTC | #1
Hi

On Tue, Apr 3, 2018 at 12:34 PM, Michal Privoznik <mprivozn@redhat.com> wrote:
> When trying to build with latest libcacard-2.5.1, I hit the
> following error:
>
> In file included from hw/usb/ccid-card-passthru.c:12:0:
> /usr/include/cacard/vscard_common.h:26:2: error: #warning "Only <libcacard.h> can be included directly" [-Werror=cpp]
>  #warning "Only <libcacard.h> can be included directly"
>
> While it was fixed in libcacard upstream (so that individual
> files can be included directly), it doesn't make much sense.
> Let's switch to including the main libcacard.h and also require
> at least libcacard-2.5.1 which introduced it. It's available
> since late 2015.
>
> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
> ---
>
> diff to v1:
> - Introduce configure change to require newer libcacard version
>
>  configure                   | 2 +-
>  hw/usb/ccid-card-emulated.c | 5 +----
>  hw/usb/ccid-card-passthru.c | 2 +-
>  3 files changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/configure b/configure
> index 4d0e92c96c..0edec24fff 100755
> --- a/configure
> +++ b/configure
> @@ -4440,7 +4440,7 @@ fi
>
>  # check for smartcard support
>  if test "$smartcard" != "no"; then
> -    if $pkg_config libcacard; then
> +    if $pkg_config --atleast-version=2.5.1 libcacard; then
>          libcacard_cflags=$($pkg_config --cflags libcacard)
>          libcacard_libs=$($pkg_config --libs libcacard)
>          smartcard="yes"
> diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
> index ea42e4681d..7b538ae6da 100644
> --- a/hw/usb/ccid-card-emulated.c
> +++ b/hw/usb/ccid-card-emulated.c
> @@ -27,10 +27,7 @@
>   */
>
>  #include "qemu/osdep.h"
> -#include <eventt.h>
> -#include <vevent.h>
> -#include <vreader.h>
> -#include <vcard_emul.h>
> +#include <cacard/libcacard.h>

You should be able to #include <libcacard.h> only

>
>  #include "qemu/thread.h"
>  #include "qemu/main-loop.h"
> diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
> index b7dd3602dc..982d575edd 100644
> --- a/hw/usb/ccid-card-passthru.c
> +++ b/hw/usb/ccid-card-passthru.c
> @@ -9,7 +9,7 @@
>   */
>
>  #include "qemu/osdep.h"
> -#include <cacard/vscard_common.h>
> +#include <cacard/libcacard.h>
>  #include "chardev/char-fe.h"
>  #include "qemu/error-report.h"
>  #include "qemu/sockets.h"
> --
> 2.16.1
>
Michal Prívozník April 3, 2018, 11:48 a.m. UTC | #2
On 04/03/2018 01:38 PM, Marc-André Lureau wrote:
> Hi
> 
> On Tue, Apr 3, 2018 at 12:34 PM, Michal Privoznik <mprivozn@redhat.com> wrote:
>> When trying to build with latest libcacard-2.5.1, I hit the
>> following error:
>>
>> In file included from hw/usb/ccid-card-passthru.c:12:0:
>> /usr/include/cacard/vscard_common.h:26:2: error: #warning "Only <libcacard.h> can be included directly" [-Werror=cpp]
>>  #warning "Only <libcacard.h> can be included directly"
>>
>> While it was fixed in libcacard upstream (so that individual
>> files can be included directly), it doesn't make much sense.
>> Let's switch to including the main libcacard.h and also require
>> at least libcacard-2.5.1 which introduced it. It's available
>> since late 2015.
>>
>> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>> ---
>>
>> diff to v1:
>> - Introduce configure change to require newer libcacard version
>>
>>  configure                   | 2 +-
>>  hw/usb/ccid-card-emulated.c | 5 +----
>>  hw/usb/ccid-card-passthru.c | 2 +-
>>  3 files changed, 3 insertions(+), 6 deletions(-)
>>
>> diff --git a/configure b/configure
>> index 4d0e92c96c..0edec24fff 100755
>> --- a/configure
>> +++ b/configure
>> @@ -4440,7 +4440,7 @@ fi
>>
>>  # check for smartcard support
>>  if test "$smartcard" != "no"; then
>> -    if $pkg_config libcacard; then
>> +    if $pkg_config --atleast-version=2.5.1 libcacard; then
>>          libcacard_cflags=$($pkg_config --cflags libcacard)
>>          libcacard_libs=$($pkg_config --libs libcacard)
>>          smartcard="yes"
>> diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
>> index ea42e4681d..7b538ae6da 100644
>> --- a/hw/usb/ccid-card-emulated.c
>> +++ b/hw/usb/ccid-card-emulated.c
>> @@ -27,10 +27,7 @@
>>   */
>>
>>  #include "qemu/osdep.h"
>> -#include <eventt.h>
>> -#include <vevent.h>
>> -#include <vreader.h>
>> -#include <vcard_emul.h>
>> +#include <cacard/libcacard.h>
> 
> You should be able to #include <libcacard.h> only.

Yes, you're right. Do you want me to resend or will you handle this when
merging the patch?


Thanks,
Michal
Marc-André Lureau April 3, 2018, 2:54 p.m. UTC | #3
Hi

On Tue, Apr 3, 2018 at 1:48 PM, Michal Privoznik <mprivozn@redhat.com> wrote:
> On 04/03/2018 01:38 PM, Marc-André Lureau wrote:
>> Hi
>>
>> On Tue, Apr 3, 2018 at 12:34 PM, Michal Privoznik <mprivozn@redhat.com> wrote:
>>> When trying to build with latest libcacard-2.5.1, I hit the
>>> following error:
>>>
>>> In file included from hw/usb/ccid-card-passthru.c:12:0:
>>> /usr/include/cacard/vscard_common.h:26:2: error: #warning "Only <libcacard.h> can be included directly" [-Werror=cpp]
>>>  #warning "Only <libcacard.h> can be included directly"
>>>
>>> While it was fixed in libcacard upstream (so that individual
>>> files can be included directly), it doesn't make much sense.
>>> Let's switch to including the main libcacard.h and also require
>>> at least libcacard-2.5.1 which introduced it. It's available
>>> since late 2015.
>>>
>>> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
>>> ---
>>>
>>> diff to v1:
>>> - Introduce configure change to require newer libcacard version
>>>
>>>  configure                   | 2 +-
>>>  hw/usb/ccid-card-emulated.c | 5 +----
>>>  hw/usb/ccid-card-passthru.c | 2 +-
>>>  3 files changed, 3 insertions(+), 6 deletions(-)
>>>
>>> diff --git a/configure b/configure
>>> index 4d0e92c96c..0edec24fff 100755
>>> --- a/configure
>>> +++ b/configure
>>> @@ -4440,7 +4440,7 @@ fi
>>>
>>>  # check for smartcard support
>>>  if test "$smartcard" != "no"; then
>>> -    if $pkg_config libcacard; then
>>> +    if $pkg_config --atleast-version=2.5.1 libcacard; then
>>>          libcacard_cflags=$($pkg_config --cflags libcacard)
>>>          libcacard_libs=$($pkg_config --libs libcacard)
>>>          smartcard="yes"
>>> diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
>>> index ea42e4681d..7b538ae6da 100644
>>> --- a/hw/usb/ccid-card-emulated.c
>>> +++ b/hw/usb/ccid-card-emulated.c
>>> @@ -27,10 +27,7 @@
>>>   */
>>>
>>>  #include "qemu/osdep.h"
>>> -#include <eventt.h>
>>> -#include <vevent.h>
>>> -#include <vreader.h>
>>> -#include <vcard_emul.h>
>>> +#include <cacard/libcacard.h>
>>
>> You should be able to #include <libcacard.h> only.
>
> Yes, you're right. Do you want me to resend or will you handle this when
> merging the patch?

I'll let Gerd decide:
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Gerd Hoffmann April 27, 2018, 8:58 a.m. UTC | #4
On Tue, Apr 03, 2018 at 12:34:37PM +0200, Michal Privoznik wrote:
> When trying to build with latest libcacard-2.5.1, I hit the
> following error:
> 
> In file included from hw/usb/ccid-card-passthru.c:12:0:
> /usr/include/cacard/vscard_common.h:26:2: error: #warning "Only <libcacard.h> can be included directly" [-Werror=cpp]
>  #warning "Only <libcacard.h> can be included directly"
> 
> While it was fixed in libcacard upstream (so that individual
> files can be included directly), it doesn't make much sense.
> Let's switch to including the main libcacard.h and also require
> at least libcacard-2.5.1 which introduced it. It's available
> since late 2015.

Added to usb queue.

thanks,
  Gerd
diff mbox series

Patch

diff to v1:
- Introduce configure change to require newer libcacard version

 configure                   | 2 +-
 hw/usb/ccid-card-emulated.c | 5 +----
 hw/usb/ccid-card-passthru.c | 2 +-
 3 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/configure b/configure
index 4d0e92c96c..0edec24fff 100755
--- a/configure
+++ b/configure
@@ -4440,7 +4440,7 @@  fi
 
 # check for smartcard support
 if test "$smartcard" != "no"; then
-    if $pkg_config libcacard; then
+    if $pkg_config --atleast-version=2.5.1 libcacard; then
         libcacard_cflags=$($pkg_config --cflags libcacard)
         libcacard_libs=$($pkg_config --libs libcacard)
         smartcard="yes"
diff --git a/hw/usb/ccid-card-emulated.c b/hw/usb/ccid-card-emulated.c
index ea42e4681d..7b538ae6da 100644
--- a/hw/usb/ccid-card-emulated.c
+++ b/hw/usb/ccid-card-emulated.c
@@ -27,10 +27,7 @@ 
  */
 
 #include "qemu/osdep.h"
-#include <eventt.h>
-#include <vevent.h>
-#include <vreader.h>
-#include <vcard_emul.h>
+#include <cacard/libcacard.h>
 
 #include "qemu/thread.h"
 #include "qemu/main-loop.h"
diff --git a/hw/usb/ccid-card-passthru.c b/hw/usb/ccid-card-passthru.c
index b7dd3602dc..982d575edd 100644
--- a/hw/usb/ccid-card-passthru.c
+++ b/hw/usb/ccid-card-passthru.c
@@ -9,7 +9,7 @@ 
  */
 
 #include "qemu/osdep.h"
-#include <cacard/vscard_common.h>
+#include <cacard/libcacard.h>
 #include "chardev/char-fe.h"
 #include "qemu/error-report.h"
 #include "qemu/sockets.h"