Fix build on OpenBSD with BSD userland emu and smartcard NSS enabled

Submitted by Brad on Aug. 22, 2011, 8:39 p.m.

Details

Message ID 20110822203958.GA1151@rox.home.comstyle.com
State New
Headers show

Commit Message

Brad Aug. 22, 2011, 8:39 p.m.
Fix build on OpenBSD with BSD userland emu and smartcard NSS enabled.

The first issue is the hard coded POSIX Real Time extensions library in the
libcacard/Makefile. From looking at the code it doesn't seem this is necessary
anyway. Robert Relyea seems to think it most likely isn't necessary.

The second issue was the missing exclusion of the BSD userland binary
builds from the addition of this Makefile target for the smartcard NSS
code which breaks the builds if smartcard NSS support is enabled.


pastebin clip of the build failure..

http://pastebin.com/raw.php?i=BLCKd3s6


Signed-off-by: Brad Smith <brad@comstyle.com>

---
 Makefile.target    |    4 +++-
 libcacard/Makefile |    4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

Comments

Blue Swirl Aug. 27, 2011, 5:52 p.m.
Thanks, applied.

On Mon, Aug 22, 2011 at 8:39 PM, Brad <brad@comstyle.com> wrote:
> Fix build on OpenBSD with BSD userland emu and smartcard NSS enabled.
>
> The first issue is the hard coded POSIX Real Time extensions library in the
> libcacard/Makefile. From looking at the code it doesn't seem this is necessary
> anyway. Robert Relyea seems to think it most likely isn't necessary.
>
> The second issue was the missing exclusion of the BSD userland binary
> builds from the addition of this Makefile target for the smartcard NSS
> code which breaks the builds if smartcard NSS support is enabled.
>
>
> pastebin clip of the build failure..
>
> http://pastebin.com/raw.php?i=BLCKd3s6
>
>
> Signed-off-by: Brad Smith <brad@comstyle.com>
>
> ---
>  Makefile.target    |    4 +++-
>  libcacard/Makefile |    4 ++--
>  2 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/Makefile.target b/Makefile.target
> index e280bf6..07af4d4 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -387,9 +387,11 @@ obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y))
>  endif # CONFIG_SOFTMMU
>
>  ifndef CONFIG_LINUX_USER
> +ifndef CONFIG_BSD_USER
>  # libcacard needs qemu-thread support, and besides is only needed by devices
> -# so not requires with linux-user targets
> +# so not requires with linux-user / bsd-user targets
>  obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y))
> +endif # CONFIG_BSD_USER
>  endif # CONFIG_LINUX_USER
>
>  obj-y += $(addprefix ../, $(trace-obj-y))
> diff --git a/libcacard/Makefile b/libcacard/Makefile
> index bd7b3e6..81d9eb5 100644
> --- a/libcacard/Makefile
> +++ b/libcacard/Makefile
> @@ -20,7 +20,7 @@ QEMU_CFLAGS+=$(GLIB_CFLAGS)
>  libcacard.lib-y=$(addsuffix .lo,$(basename $(libcacard-y)))
>
>  vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o
> -       $(call quiet-command,$(CC) -o $@ $^ $(libcacard_libs) $(LIBS) -lrt,"  LINK  $@")
> +       $(call quiet-command,$(CC) -o $@ $^ $(libcacard_libs) $(LIBS),"  LINK  $@")
>
>  clean:
>        rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ vscclient *.lo .libs/* *.la *.pc
> @@ -39,7 +39,7 @@ install-libcacard:
>        @echo "libtool is missing, please install and rerun configure"; exit 1
>  else
>  libcacard.la: $(libcacard.lib-y) $(QEMU_OBJS_LIB)
> -       $(call quiet-command,$(LIBTOOL) --mode=link --quiet --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs) -lrt,"  lt LINK $@")
> +       $(call quiet-command,$(LIBTOOL) --mode=link --quiet --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs),"  lt LINK $@")
>
>  libcacard.pc: $(libcacard_srcpath)/libcacard.pc.in
>        sed -e 's|@LIBDIR@|$(libdir)|' \
> --
> 1.7.6
>
>
> --
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.
>
>
>

Patch hide | download patch | download mbox

diff --git a/Makefile.target b/Makefile.target
index e280bf6..07af4d4 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -387,9 +387,11 @@  obj-y += $(addprefix $(HWDIR)/, $(hw-obj-y))
 endif # CONFIG_SOFTMMU
 
 ifndef CONFIG_LINUX_USER
+ifndef CONFIG_BSD_USER
 # libcacard needs qemu-thread support, and besides is only needed by devices
-# so not requires with linux-user targets
+# so not requires with linux-user / bsd-user targets
 obj-$(CONFIG_SMARTCARD_NSS) += $(addprefix ../libcacard/, $(libcacard-y))
+endif # CONFIG_BSD_USER
 endif # CONFIG_LINUX_USER
 
 obj-y += $(addprefix ../, $(trace-obj-y))
diff --git a/libcacard/Makefile b/libcacard/Makefile
index bd7b3e6..81d9eb5 100644
--- a/libcacard/Makefile
+++ b/libcacard/Makefile
@@ -20,7 +20,7 @@  QEMU_CFLAGS+=$(GLIB_CFLAGS)
 libcacard.lib-y=$(addsuffix .lo,$(basename $(libcacard-y)))
 
 vscclient: $(libcacard-y) $(QEMU_OBJS) vscclient.o
-	$(call quiet-command,$(CC) -o $@ $^ $(libcacard_libs) $(LIBS) -lrt,"  LINK  $@")
+	$(call quiet-command,$(CC) -o $@ $^ $(libcacard_libs) $(LIBS),"  LINK  $@")
 
 clean:
 	rm -f *.o */*.o *.d */*.d *.a */*.a *~ */*~ vscclient *.lo .libs/* *.la *.pc
@@ -39,7 +39,7 @@  install-libcacard:
 	@echo "libtool is missing, please install and rerun configure"; exit 1
 else
 libcacard.la: $(libcacard.lib-y) $(QEMU_OBJS_LIB)
-	$(call quiet-command,$(LIBTOOL) --mode=link --quiet --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs) -lrt,"  lt LINK $@")
+	$(call quiet-command,$(LIBTOOL) --mode=link --quiet --tag=CC $(CC) -rpath $(libdir) -o $@ $^ $(libcacard_libs),"  lt LINK $@")
 
 libcacard.pc: $(libcacard_srcpath)/libcacard.pc.in
 	sed -e 's|@LIBDIR@|$(libdir)|' \