Message ID | 20110822203958.GA1151@rox.home.comstyle.com |
---|---|
State | New |
Headers | show |
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. > > >
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)|' \
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(-)