All of lore.kernel.org
 help / color / mirror / Atom feed
* Targeting Windows platform
@ 2018-03-14  4:15 Isaac Nickaein
  2018-03-14  6:26 ` Florian Doersch
  0 siblings, 1 reply; 5+ messages in thread
From: Isaac Nickaein @ 2018-03-14  4:15 UTC (permalink / raw)
  To: yocto

I know the idea is wild and possibly not a top priority (or even
priority) of the community, but extending the area of Yocto to support
Windows platform can make it the ubiquitous build system for the
enterprise, especially in embedded companies that have a mixture of
embedded and desktop applications.

In our company, we have adopted Yocto to be our build system for
embedded devices and are starting to use it for constant integration
and version management. It also solves the headache of setting up an
C++ environment  by building and provding an SDK that covers a large
set of libraries.

Having a unified build system can hugely simplify the build
management, version control and integration for large organizations
where various platforms are targeted. Yocto has proven to be a great
tool for this and I believe it has potential to cover this area too.

While Yocto is mainly used to build *images* for embedded targets, for
Windows platform it would be enough to build the binaries for
applications, at the first milestone at least. One can also extend it
to build setup files with tools such as WiX installer scripts. So, it
can be break down into:

1. Supporting a bbclass that creates Windows-compatible binaries. With
the help of compilers like mingw, there is the possibility.

2. Creating an SDK that targets Windows.

3. Adapting recipes to be able to build the sources for Windows (for
the cross-platform sources, this would be straight-forward).


I am not sure how much of effort these steps would take and what are
the obstacles. I would be glad to hear from community on what they
think and why this would or not happen.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Targeting Windows platform
  2018-03-14  4:15 Targeting Windows platform Isaac Nickaein
@ 2018-03-14  6:26 ` Florian Doersch
  0 siblings, 0 replies; 5+ messages in thread
From: Florian Doersch @ 2018-03-14  6:26 UTC (permalink / raw)
  To: yocto

Hi Isaac,

here we also have a mixture of embedded and desktop applications. We use 
yocto for our embedded devices (Xilinx Zynq, Raspberry Pi, Gumstix).

The SDKs and images are very helpful for (cross platform) CI and deployment.

A first milestone definitly would be having a minimal platform support 
for windows, so windows binaries can be built via mingw.

I see 2 steps there:
- cross build on a unix host
- native build on windows

A real Windows SDK support would be awesome (exspecially for deploying 
library dependencies)

I think some "zip" images would be a good start for "image"-deployment. 
I see the support for WiX-Installer second.

There is already some kind of "first try" with the mingw meta layer at 
http://git.yoctoproject.org/cgit.cgi/meta-mingw - but I tried to use it 
with our windows projects and failed, since the mingw version there is 
extremly old.

Regards
Florian


Am 14.03.2018 um 05:15 schrieb Isaac Nickaein:
> I know the idea is wild and possibly not a top priority (or even
> priority) of the community, but extending the area of Yocto to support
> Windows platform can make it the ubiquitous build system for the
> enterprise, especially in embedded companies that have a mixture of
> embedded and desktop applications.
> 
> In our company, we have adopted Yocto to be our build system for
> embedded devices and are starting to use it for constant integration
> and version management. It also solves the headache of setting up an
> C++ environment  by building and provding an SDK that covers a large
> set of libraries.
> 
> Having a unified build system can hugely simplify the build
> management, version control and integration for large organizations
> where various platforms are targeted. Yocto has proven to be a great
> tool for this and I believe it has potential to cover this area too.
> 
> While Yocto is mainly used to build *images* for embedded targets, for
> Windows platform it would be enough to build the binaries for
> applications, at the first milestone at least. One can also extend it
> to build setup files with tools such as WiX installer scripts. So, it
> can be break down into:
> 
> 1. Supporting a bbclass that creates Windows-compatible binaries. With
> the help of compilers like mingw, there is the possibility.
> 
> 2. Creating an SDK that targets Windows.
> 
> 3. Adapting recipes to be able to build the sources for Windows (for
> the cross-platform sources, this would be straight-forward).
> 
> 
> I am not sure how much of effort these steps would take and what are
> the obstacles. I would be glad to hear from community on what they
> think and why this would or not happen.
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Targeting Windows platform
  2018-03-14  8:58 ` Alexander Kanavin
@ 2018-03-14 10:26   ` Isaac Nickaein
  0 siblings, 0 replies; 5+ messages in thread
From: Isaac Nickaein @ 2018-03-14 10:26 UTC (permalink / raw)
  To: Alexander Kanavin; +Cc: yocto

Hi Alex,

Sure. I am hoping the management see the benefits and we could start
working on this. Besides that, I should give them an estimate on how
long would it take implement such thing.

I am clueless about how much effort would it take to add a Win32
MACHINE type. By looking at conf/machine/x86 it seems somewhat easy to
have a, but there could be serious work to be done on the compiler
setup, etc.

Again, while porting some libraries like Qt/OpenSSL/etc would be
straightforward, I wonder how many *base* libraries and tools are
there that must be ported but aren't easy to port.

I am looking for community's opinion to know the difficulties and
suggestions on the way of such big task.


Isaac

On Wed, Mar 14, 2018 at 12:28 PM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> On 03/14/2018 09:56 AM, Isaac Nickaein wrote:
>>
>> Thanks for sharing your experience. It is relieving to see that you
>> have the same perspective.
>> I hope there will be an initiative to target Windows and I will be
>> glad to contribute.
>
>
> I don't think waiting for the initiative to happen will get you anywhere.
> Talk to your management, and explain to them that you need time off from
> your 'day job' so that you can do deep research and prototyping into this
> subject. We'll all be happy to hear your findings.
>
> Alex


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Targeting Windows platform
  2018-03-14  7:56 Isaac Nickaein
@ 2018-03-14  8:58 ` Alexander Kanavin
  2018-03-14 10:26   ` Isaac Nickaein
  0 siblings, 1 reply; 5+ messages in thread
From: Alexander Kanavin @ 2018-03-14  8:58 UTC (permalink / raw)
  To: Isaac Nickaein, yocto

On 03/14/2018 09:56 AM, Isaac Nickaein wrote:
> Thanks for sharing your experience. It is relieving to see that you
> have the same perspective.
> I hope there will be an initiative to target Windows and I will be
> glad to contribute.

I don't think waiting for the initiative to happen will get you 
anywhere. Talk to your management, and explain to them that you need 
time off from your 'day job' so that you can do deep research and 
prototyping into this subject. We'll all be happy to hear your findings.

Alex


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Targeting Windows platform
@ 2018-03-14  7:56 Isaac Nickaein
  2018-03-14  8:58 ` Alexander Kanavin
  0 siblings, 1 reply; 5+ messages in thread
From: Isaac Nickaein @ 2018-03-14  7:56 UTC (permalink / raw)
  To: yocto

Hi Florian,

> The SDKs and images are very helpful for (cross platform) CI and deployment.

Indeed. I don't know any platform or tool as capable as Yocto to
provide such convenience for C++ development.

> A real Windows SDK support would be awesome (exspecially for deploying
> library dependencies)

Exactly. Library dependencies are a hell in C++ and there is still no
package manager that solves this.
Conan, vcpkg and other package managers haven't made significant
progress and they are nowhere near the maturity and versatility of
Yocto.

> There is already some kind of "first try" with the mingw meta layer at
> http://git.yoctoproject.org/cgit.cgi/meta-mingw - but I tried to use it
> with our windows projects and failed, since the mingw version there is
> extremly old.

While meta-mingw is intended to build an SDK running on Windows,  I'm
afraid it still targets Linux platform and does not provide a
**MACHINE** type for Windows.
It certainly can be used as a basis for building a Windows-To-Windows
SDK though.

Thanks for sharing your experience. It is relieving to see that you
have the same perspective.
I hope there will be an initiative to target Windows and I will be
glad to contribute.

Cheers,
Isaac


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-03-14 10:27 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-14  4:15 Targeting Windows platform Isaac Nickaein
2018-03-14  6:26 ` Florian Doersch
2018-03-14  7:56 Isaac Nickaein
2018-03-14  8:58 ` Alexander Kanavin
2018-03-14 10:26   ` Isaac Nickaein

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.