Message ID | 20140619173410.7378.82319.stgit@3820 |
---|---|
State | New |
Headers | show |
On Thu, Jun 19, 2014 at 08:35:42PM +0300, Nikolay Nikolaev wrote: > Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures > mingw compilation won't break. > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> okay but why does non posix work without -lutil and posix doesn't? > --- > 0 files changed > > diff --git a/tests/Makefile b/tests/Makefile > index 4caf7de..5661d52 100644 > --- a/tests/Makefile > +++ b/tests/Makefile > @@ -156,7 +156,7 @@ gcov-files-i386-y += hw/usb/hcd-ehci.c > gcov-files-i386-y += hw/usb/hcd-uhci.c > gcov-files-i386-y += hw/usb/dev-hid.c > gcov-files-i386-y += hw/usb/dev-storage.c > -#check-qtest-i386-y += tests/vhost-user-test$(EXESUF) > +check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF) > check-qtest-x86_64-y = $(check-qtest-i386-y) > gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c > gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y)) > @@ -323,11 +323,14 @@ tests/es1370-test$(EXESUF): tests/es1370-test.o > tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o > tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o > tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-pc-obj-y) > -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o libqemuutil.a libqemustub.a > +tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y) > tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o > tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a libqemustub.a > > -#LIBS+= -lutil > + > +ifeq ($(CONFIG_POSIX),y) > +LIBS+= -lutil > +endif > > # QTest rules >
On Thu, Jun 19, 2014 at 9:24 PM, Michael S. Tsirkin <mst@redhat.com> wrote: > On Thu, Jun 19, 2014 at 08:35:42PM +0300, Nikolay Nikolaev wrote: > > Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures > > mingw compilation won't break. > > > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> > > okay but why does non posix work without -lutil and posix doesn't? > There are 2 things here: 1. vhost-user-test links to qemu-char.o, which uses qemu_openpty_raw from libqemuutil.a. qemu_openpty_raw requires openpty from libutil. We added LIBS=-lutil in tests/Makefile to satisfy this dependency. 2. tests/Makefile is included in the main Makefile, so LIBS is applied to all make targets. Making LIBS depend on CONFIG_POSIX actually switches on/off -lutil globally. Probably the best solution would be to just stub qemu_openpty_raw an drop -lutil. regards, Nikolay Nikolaev > > > --- > > 0 files changed > > > > diff --git a/tests/Makefile b/tests/Makefile > > index 4caf7de..5661d52 100644 > > --- a/tests/Makefile > > +++ b/tests/Makefile > > @@ -156,7 +156,7 @@ gcov-files-i386-y += hw/usb/hcd-ehci.c > > gcov-files-i386-y += hw/usb/hcd-uhci.c > > gcov-files-i386-y += hw/usb/dev-hid.c > > gcov-files-i386-y += hw/usb/dev-storage.c > > -#check-qtest-i386-y += tests/vhost-user-test$(EXESUF) > > +check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF) > > check-qtest-x86_64-y = $(check-qtest-i386-y) > > gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c > > gcov-files-x86_64-y = $(subst > i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y)) > > @@ -323,11 +323,14 @@ tests/es1370-test$(EXESUF): tests/es1370-test.o > > tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o > > tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o > > tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o > $(libqos-pc-obj-y) > > -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o > qemu-timer.o libqemuutil.a libqemustub.a > > +tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o > qemu-timer.o $(qtest-obj-y) > > tests/qemu-iotests/socket_scm_helper$(EXESUF): > tests/qemu-iotests/socket_scm_helper.o > > tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a > libqemustub.a > > > > -#LIBS+= -lutil > > + > > +ifeq ($(CONFIG_POSIX),y) > > +LIBS+= -lutil > > +endif > > > > # QTest rules > > > > -- > You received this message because you are subscribed to the Google Groups > "Snabb Switch development" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to snabb-devel+unsubscribe@googlegroups.com. > To post to this group, send an email to snabb-devel@googlegroups.com. > Visit this group at http://groups.google.com/group/snabb-devel. >
On Thu, Jun 19, 2014 at 09:24:09PM +0300, Michael S. Tsirkin wrote: > On Thu, Jun 19, 2014 at 08:35:42PM +0300, Nikolay Nikolaev wrote: > > Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures > > mingw compilation won't break. > > > > Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> > > okay but why does non posix work without -lutil and posix doesn't? Ping. > > --- > > 0 files changed > > > > diff --git a/tests/Makefile b/tests/Makefile > > index 4caf7de..5661d52 100644 > > --- a/tests/Makefile > > +++ b/tests/Makefile > > @@ -156,7 +156,7 @@ gcov-files-i386-y += hw/usb/hcd-ehci.c > > gcov-files-i386-y += hw/usb/hcd-uhci.c > > gcov-files-i386-y += hw/usb/dev-hid.c > > gcov-files-i386-y += hw/usb/dev-storage.c > > -#check-qtest-i386-y += tests/vhost-user-test$(EXESUF) > > +check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF) > > check-qtest-x86_64-y = $(check-qtest-i386-y) > > gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c > > gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y)) > > @@ -323,11 +323,14 @@ tests/es1370-test$(EXESUF): tests/es1370-test.o > > tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o > > tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o > > tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-pc-obj-y) > > -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o libqemuutil.a libqemustub.a > > +tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y) > > tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o > > tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a libqemustub.a > > > > -#LIBS+= -lutil > > + > > +ifeq ($(CONFIG_POSIX),y) > > +LIBS+= -lutil > > +endif > > > > # QTest rules > >
diff --git a/tests/Makefile b/tests/Makefile index 4caf7de..5661d52 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -156,7 +156,7 @@ gcov-files-i386-y += hw/usb/hcd-ehci.c gcov-files-i386-y += hw/usb/hcd-uhci.c gcov-files-i386-y += hw/usb/dev-hid.c gcov-files-i386-y += hw/usb/dev-storage.c -#check-qtest-i386-y += tests/vhost-user-test$(EXESUF) +check-qtest-i386-$(CONFIG_POSIX) += tests/vhost-user-test$(EXESUF) check-qtest-x86_64-y = $(check-qtest-i386-y) gcov-files-i386-y += i386-softmmu/hw/timer/mc146818rtc.c gcov-files-x86_64-y = $(subst i386-softmmu/,x86_64-softmmu/,$(gcov-files-i386-y)) @@ -323,11 +323,14 @@ tests/es1370-test$(EXESUF): tests/es1370-test.o tests/intel-hda-test$(EXESUF): tests/intel-hda-test.o tests/ioh3420-test$(EXESUF): tests/ioh3420-test.o tests/usb-hcd-ehci-test$(EXESUF): tests/usb-hcd-ehci-test.o $(libqos-pc-obj-y) -tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o libqemuutil.a libqemustub.a +tests/vhost-user-test$(EXESUF): tests/vhost-user-test.o qemu-char.o qemu-timer.o $(qtest-obj-y) tests/qemu-iotests/socket_scm_helper$(EXESUF): tests/qemu-iotests/socket_scm_helper.o tests/test-qemu-opts$(EXESUF): tests/test-qemu-opts.o libqemuutil.a libqemustub.a -#LIBS+= -lutil + +ifeq ($(CONFIG_POSIX),y) +LIBS+= -lutil +endif # QTest rules
Use qtest-obj-y to get the right library order. CONFIG_POSIX ensures mingw compilation won't break. Signed-off-by: Nikolay Nikolaev <n.nikolaev@virtualopensystems.com> --- 0 files changed