Hello,
Does anyone has experience on building windows driver under MinGW.
Now, I build a scsi miniport driver under MinGW, but it cannot work. If
I use WDK to build the driver, everything is OK. So I want to confirm
that does MinGW scsiport lib works for windows driver or can we build a
scsi miniport under MinGW?
Thanks
Wayne
On Wed, Jul 23, 2008 at 10:49:37PM +0800, Wayne Gong wrote:
Hello,
Does anyone has experience on building windows driver under MinGW.
Now, I build a scsi miniport driver under MinGW, but it cannot work. If
I use WDK to build the driver, everything is OK. So I want to confirm
that does MinGW scsiport lib works for windows driver or can we build a
scsi miniport under MinGW?
Please note that at least one of your coworkers has experience in this
area, so you might want to contact him:
http://strdup.livejournal.com/34596.html
It should be possible, but difficult.
good luck,
greg k-h
Greg KH wrote:
On Wed, Jul 23, 2008 at 10:49:37PM +0800, Wayne Gong wrote:
> Does anyone has experience on building windows driver under MinGW.
> Now, I build a scsi miniport driver under MinGW, but it cannot work. If
> I use WDK to build the driver, everything is OK. So I want to confirm
> that does MinGW scsiport lib works for windows driver or can we build a
> scsi miniport under MinGW?
>
Please note that at least one of your coworkers has experience in this
area, so you might want to contact him:
http://strdup.livejournal.com/34596.html
It should be possible, but difficult.
However, Wayne needs to remember that Microsoft only “supports” drivers
built with the build tools in the WDK. If you come across a problem and
call Microsoft for support, they won’t even talk to you until you can
reproduce the problem with the compiler and linker in the WDK.
This is even true for other Visual C++ versions; it’s not just because
of gcc.
greg k-h
I didn’t know you hung out here.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.
Tim Roberts wrote:
> greg k-h
I didn’t know you hung out here.
http://www.osronline.com/showThread.cfm?link=115497
Note my similar response at the end of the thread 
> >> Does anyone has experience on building windows driver under MinGW.
>> Now, I build a scsi miniport driver under MinGW, but it
cannot work.
>> If I use WDK to build the driver, everything is OK. So I want to
>> confirm that does MinGW scsiport lib works for windows
driver or can
>> we build a scsi miniport under MinGW?
>>
>
> Please note that at least one of your coworkers has
experience in this
> area, so you might want to contact him:
> http://strdup.livejournal.com/34596.html
>
> It should be possible, but difficult.
And did you READ the limitations in that thread:
- NO support for .pdb files to make windbg work (it says KdPrint is your
friend)
- NO support for 64-bit binaries (it says plan on becoming a serious MinGW
contributor for a while)
- NO support for KMDF
Sounds pretty broken to me.
It seems like the reason MinGW was even being considered was because the
developer’s lawyer gave an opinion on the use of GPL code in a driver. That
opinion was it might be in violation of the license. Some years ago while
reading the DDK license carefully, I believe I came to the same conclusion.
Some specific clarification on the WDK license might be appropriate for the
DDC or the WDK documentation. For example, many of the installer programs
being used are open source, and don’t know if they are in conformance or not
with the WDK/DDK license terms. If a company wanted to write Windows
drivers, and release them as open source, exactly which open source license
would not (and would) be in violation of the DDK/WDK license. I know the
open source Windows InfiniBand drivers are under the BSD license, and know
Microsoft is activly contributing code, so assume the BSD license is
compatable with the WDK/DDK license.
Jan
I have asked our legal group to take a look at the EULA to see if we can clarify. We would certainly prefer to have driver developers use the WDK build environment and a murky EULA seems a particularly bad reason for them not to.
To restate the meta-question: It would be very useful to have Microsoft clarify the status of (a) the WDK build environment (headers, libs, etc) for use with GPL’ed code, and (b) the use of WDK sample drivers as the basis for GPL’ed code.
It would be even more useful if Microsoft could clearly state that “we have no objection to, and the license terms are not meant to prevent, developers from releasing GPL’ed code based on WDK samples or using the WDK build environment .”
Peter
OSR
> Does anyone has experience on building windows driver under MinGW.
Now, I build a scsi miniport driver under MinGW, but it cannot work. If
I use WDK to build the driver, everything is OK. So I want to confirm
that does MinGW scsiport lib works for windows driver or can we build a
scsi miniport under MinGW?
You’re seeking for issues. Use the proper build tools.
There is no support for any build tools for a kernel-mode binaries in Windows
other then WDK, so, there are no guarantees at all that MinGW even minimally
works, and no guarantees that MinGW-built driver will be 100% correct.
–
Maxim Shatskih, Windows DDK MVP
StorageCraft Corporation
xxxxx@storagecraft.com
http://www.storagecraft.com
> You’re seeking for issues. Use the proper build tools.
There is no support for any build tools for a kernel-mode binaries in Windows
other then WDK, so, there are no guarantees at all that MinGW even minimally
works, and no guarantees that MinGW-built driver will be 100% correct.
The main reason of building windows scsi miniport driver under MinGW is
license issue.
The project I am doing now is an open source project under GPL and BSD
based license. And I am trying to release the first open source windows
driver. Our team do dig a lot search about WDK license. They cannot
answer the question that whether we can use WDK to build a GPL/BSD
license source code and release it as a commercial product. Especially
the head file and sample code in WDK.
Meanwhile, I doubt that our driver binary which build under MinGW can
get windows driver logo.
So, the essential question is:
- How to release a windows driver under GPL or BSD based license?
- If I use WDK to build windows driver but I get some GPL/BSD code on
my project(it’s necessary), what should I do?
Thanks
Wayne
Wayne Gong wrote:
The project I am doing now is an open source project under GPL and BSD
based license. And I am trying to release the first open source windows
driver.
Haven’t your in-house oracles discovered that
open source drivers for Windows already exist?
See for example http://www.truecrypt.org
and their license. Their driver is built with the WDK.
Regards,
–PA
Like a piece of software published with its own weird license by an organization that hides the identities of its members is a real comfort to a commercial entity…
Peter
OSR
> 1. How to release a windows driver under GPL or BSD based license?
I don’t think releasing a driver under the BSD license that uses the WDK is
a problem. Microsoft contributes code to such an open source project, and it
most definitly uses the DDK/WDK. The GPL license may be a very different
problem.
Jan
Wayne Gong wrote:
The main reason of building windows scsi miniport driver under MinGW
is license issue.
The project I am doing now is an open source project under GPL and BSD
based license. And I am trying to release the first open source
windows driver.
You are too late: http://btwincap.sourceforge.net. True, it’s LGPL,
rather than full GPL.
Our team do dig a lot search about WDK license. They cannot answer the
question that whether we can use WDK to build a GPL/BSD license source
code and release it as a commercial product. Especially the head file
and sample code in WDK.
Are you releasing source code or object code? If you are releasing
source code, then why would the WDK license matter? Your clients would
need to have the WDK to build the driver, but there’s nothing of the WDK
in the source.
Meanwhile, I doubt that our driver binary which build under MinGW can
get windows driver logo.
Although it’s possible to check this, I doubt that WHQL would even look.
–
Tim Roberts, xxxxx@probo.com
Providenza & Boekelheide, Inc.