Added package v86d which provides a real-mode helper for uvesafb driver.
PATCH 1/1 Added package v86d which provides a real-mode helper for uvesafb driver.
--- package/Config.in | 1 + package/v86d/Config.in | 9 +++++++++ package/v86d/v86d.mk | 30 ++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 0 deletions(-) create mode 100644 package/v86d/Config.in create mode 100644 package/v86d/v86d.mk
package/Config.in +1 -0
@@ -230,6 +230,7 @@ source "package/unionfs/Config.in" source "package/usb_modeswitch/Config.in" source "package/usbmount/Config.in" source "package/usbutils/Config.in" +source "package/v86d/Config.in" source "package/wipe/Config.in" source "package/xfsprogs/Config.in" endmenu
package/v86d/Config.in new file +9 -0
@@ -0,0 +1,9 @@ +config BR2_PACKAGE_V86D + bool "v86d" + depends on (BR2_i386 || BR2_x86_64) + help + v86d is the userspace helper that runs x86 code in an emulated + environment. uvesafb will not work without v86d. v86d currently + supports the x86 and amd64 (x86-64) architectures. + + http://dev.gentoo.org/~spock/projects/uvesafb/
package/v86d/v86d.mk new file +30 -0
@@ -0,0 +1,30 @@ +############################################ +# +# v86d +# +############################################ + +V86D_VERSION = 0.1.10 +V86D_SOURCE = v86d-$(V86D_VERSION).tar.bz2 +V86D_SITE = http://dev.gentoo.org/~spock/projects/uvesafb/archive + +# This flag to configure should be per target architecture rather than +# autodetected (or it will be per host architecture which may be +# not the same as target). + +X86EMU = $(if $(BR2_i386),n,y) + +# v86d's configure script is not autoconf-based. +# GENTARGETS macro will be used rather than AUTOTARGETS. + +define V86D_CONFIGURE_CMDS + (cd $(@D) ; ./configure --with-debug=n --with-klibc=n --with-x86emu=$(X86EMU)) +endef + +# It is necessary to define __i386__ explicitly for successful compilation. + +define V86D_BUILD_CMDS + $(MAKE) CC="$(TARGET_CC) -D__i386__" LD="$(TARGET_LD)" -C $(@D) all +endef + +$(eval $(call GENTARGETS))
Signature · 1 line
1.7.2.5
PATCH 1/1 Added package v86d which provides a real-mode helper for uvesafb driver.
On 05/09/12 12:41, Dmitry wrote:
[snip]
package/v86d/v86d.mk line 15
Quoted 5 lines
package/v86d/v86d.mk new file +5
-0+# This flag to configure should be per target architecture rather than +# autodetected (or it will be per host architecture which may be +# not the same as target). + +X86EMU = $(if $(BR2_i386),n,y)
This comment was not very clear to me. I guess you mean
# The configure script autodetects the host architecture, so we must
# pass the target architecture explicitly.
package/v86d/v86d.mk line 28
Quoted 13 lines
package/v86d/v86d.mk new file +13
-0+ +# v86d's configure script is not autoconf-based. +# GENTARGETS macro will be used rather than AUTOTARGETS. + +define V86D_CONFIGURE_CMDS + (cd $(@D) ; ./configure --with-debug=n --with-klibc=n --with-x86emu=$(X86EMU)) +endef + +# It is necessary to define __i386__ explicitly for successful compilation. + +define V86D_BUILD_CMDS + $(MAKE) CC="$(TARGET_CC) -D__i386__" LD="$(TARGET_LD)" -C $(@D) all +endef
When you use GENTARGETS, you must also specify the install commands.
However, you can probably keep using AUTOTARGETS. Even when you use AUTOTARGETS, it is possible to override the CONFIGURE_CMDS and BUILD_CMDS. But you don't even need to override the BUILD_CMDS. Instead, you can pass additional options to the MAKE call, by defining
V86D_MAKE_OPT += CC="$(TARGET_CC) -D__i386__"
(As Thomas mentioned, if you assign twice on the command line it is only
the last one that counts.)
I can't guarantee that what I'm saying is correct, though, so be sure to
test with a clean build before resending.
Regards,
Arnout
Quoted 2 lines
+
+$(eval $(call GENTARGETS))
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
PATCH 1/1 Added package v86d which provides a real-mode helper for uvesafb driver.
Arnout,
Quoted 12 lines · Arnout Vandecappelle
On 05/09/12 12:41, Dmitry wrote:
[snip]package/v86d/v86d.mk line 15
Quoted 5 lines
package/v86d/v86d.mk new file +5
-0+# This flag to configure should be per target architecture rather than +# autodetected (or it will be per host architecture which may be +# not the same as target). + +X86EMU = $(if $(BR2_i386),n,y)?This comment was not very clear to me. ?I guess you mean # The configure script autodetects the host architecture, so we must
Quoted 1 line
# pass the target architecture explicitly.
Thanks for your feedback. Indeed, the configure script calls uname -m by default, that is, assumes host architecture is same as target's.
Quoted 2 lines
?When you use GENTARGETS, you must also specify the install commands.
And if I don't then standard "cd $(@D); make install" or anything similar will be used? Somehow it works without explicit install command specification.
Quoted 2 lines
However, you can probably keep using AUTOTARGETS. ?Even when you use AUTOTARGETS, it is possible to override the
CONFIGURE_CMDSandBUILD_CMDS.
Due to the way v86d configure is written GENTARGETS seems to be more proper - I got convinced.
Quoted 4 lines
But you don't even need to override the
BUILD_CMDS. ?Instead, you can pass additional options to the MAKE call, by defining
V86D_MAKE_OPT+= CC="$(TARGET_CC) -D__i386__"
What I have in the patch I provided, was tested build-wise on i386 and x86-64 targets (but the program itself was only tested in 32bit mode). I tried that Thomas suggested (redefine CFLAGS), it did not work. I don't see much sense in changing the working command from what is in my patch.
Thanks.
Signature · 3 lines
Dmitry Golubovsky Anywhere on the Web
PATCH 1/1 Added package v86d which provides a real-mode helper for uvesafb driver.
Quoted 3 lines · Dmitry Golubovsky
Arnout,
On Fri, May 11, 2012 at 6:39 PM, Arnout Vandecappelle<[email protected]> wrote:
[snip]
Quoted 5 lines
Quoted 1 line
When you use GENTARGETS, you must also specify the install commands.
And if I don't then standard "cd $(@D); make install" or anything similar will be used? Somehow it works without explicit install command specification.
No, with GENTARGETS the install commands are empty by default. Or you sure
it's not the old binary from a previous compilation that you see in your target dir?
I tried it with a clean build and there's no v86d or testvbe in the target
dir.
Quoted 5 lines
Quoted 2 lines
However, you can probably keep using AUTOTARGETS. Even when you use AUTOTARGETS, it is possible to override the
CONFIGURE_CMDSandBUILD_CMDS.Due to the way v86d configure is written GENTARGETS seems to be more proper - I got convinced.
The non-existent MAKETARGETS would be even better :-)
Quoted 10 lines
Quoted 4 lines
But you don't even need to override the
BUILD_CMDS. Instead, you can pass additional options to the MAKE call, by defining
V86D_MAKE_OPT+= CC="$(TARGET_CC) -D__i386__"What I have in the patch I provided, was tested build-wise on i386 and x86-64 targets (but the program itself was only tested in 32bit mode). I tried that Thomas suggested (redefine CFLAGS), it did not work. I don't see much sense in changing the working command from what is in my patch.
Sure, it's OK as it is (except for the install target of course).
Merely pointing out an alternative.
Regards,
Arnout
Signature · 6 lines
Arnout Vandecappelle arnout at mind be Senior Embedded Software Architect +32-16-286540 Essensium/Mind http://www.mind.be G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
A message that is not in the archive (sent off-list or not yet received): CADiAo4KYq_xVcstt8LTK5PtgdyVHfLguqq9Jfpi13aSC7FnATg@mail.gmail.com
PATCH 1/1 Added package v86d which provides a real-mode helper for uvesafb driver.
Forgot to copy the list.
---------- Forwarded message ----------
From: Dmitry Golubovsky <[email protected]>
Date: Sun, May 13, 2012 at 11:52 PM
Subject: Re: [Buildroot] [PATCH] Added package v86d which provides a real-mode helper for uvesafb driver.
To: Arnout Vandecappelle <[email protected]>
Arnout,
Quoted 2 lines · Arnout Vandecappelle
?I tried it with a clean build and there's no v86d or testvbe in the target dir.
Indeed, my omission. Thanks for pointing me out.
Quoted 7 lines
Quoted 4 lines
Quoted 4 lines
But you don't even need to override the
BUILD_CMDS. ?Instead, you can pass additional options to the MAKE call, by defining
V86D_MAKE_OPT+= CC="$(TARGET_CC) -D__i386__"?Sure, it's OK as it is (except for the install target of course). Merely pointing out an alternative.
Thanks, but I'll stay with what I have.
I am resending the patch - hopefully it is good t go now.
--
Dmitry Golubovsky
Anywhere on the Web
Signature · 3 lines
Dmitry Golubovsky Anywhere on the Web