Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Xmingwin For Cross Generation Applications

Hemos posted more than 11 years ago | from the making-the-applications dept.

Microsoft 108

An anonymous reader writes "Xmingwin makes it practical to generate Windows programs from a Linux server. This column gives a recipe for setting up Xmingwin, outlines the most important reasons for doing so and shows you how to generate executables for multiple platforms -- including Windows DLLs -- from a single Linux source."

Sorry! There are no comments related to the filter you selected.

Confessions (-1, Troll)

Anonymous Coward | more than 11 years ago | (#5216185)

"I have to go", I said, getting up and pulling my pants on. Natalie Portman
turned over in my bed, looking mournfully at me. I walked over some hot grits
and into the kitchen. Why on earth was that woman so blissfully ignorant of my
dark secret? The signs were there, and in my humble opinion, they were pretty
obvious. The History log was cluttered with slashdot comments and the desktop
wallpaper was a painting by Theodor Kittelsen. Come on!

There were stacks of warez and pr0n, but none had been touched for ages. No, I
had other hobbies. Dark undertakings. Evil distractions. Things so horrible that
even Voldemort would be ashamed. I stared into my coffee. It was black like my
tainted soul. Would Natalie leave me if I told her? Would she call the police?

I felt naked and petrified. The grains of sugar I poured into my coffee, so
white and pure, being disolved by the darkness. They seemed to slow down, as to
rub in the choice I had made long ago. Did I want +1 Interesting? or maybe
Insightful? No. I didn't want any Informative or Funny moderations. I was young
and reckless, and I still regret it.

I would blame society, I would blame education, but I have no one to blame but
myself. As I walk through the valley of the shadow of death, I fear no evil, for
I am one of them.

I am a troll.

4th Post? (-1, Troll)

Anonymous Coward | more than 11 years ago | (#5216209)

Xing man this baby!

Seriously though, /. is the S0X.

ohhh maaaan (5, Insightful)

nocomment (239368) | more than 11 years ago | (#5216211)

I've been trying to migrate people _away_ from windows, this only makes it easier for them to stay ;-)

Of course it also help linux break into places it wasn't allowed before, so i've got to say bravo for that!
Still, should be running BSD ;-p

Re:ohhh maaaan (2, Insightful)

Cookeisparanoid (178680) | more than 11 years ago | (#5216270)

Im not sure I agree, wine/winex helps to windows apps in Linux and helps to give Linux a higher profile. I dont think its existance stops the adoption of or the production of apps for Linux.
I would have thought the more choice and flexibility the better.

Re:ohhh maaaan (1)

ma++i+ude (580592) | more than 11 years ago | (#5216291)

I've been trying to migrate people _away_ from windows, this only makes it easier for them to stay ;-)

On the other hand, Microsoft has done an excellent job trying to migrate developers away from Windows by creating Visual C++, the bastard son of C++. I have yet to find any features in VC++ that would make my job as a developer easier than in gcc. (Step-by-step execution built into the GUI? The few times I would actually need it, the debugger crashes before trapping anything. IDE? If you must, use KDevelop [kdevelop.org] .)

Fortunately I've only had to work with this brilliant piece of software for short (a few months) assignments.

Re:ohhh maaaan (1)

lederhosen (612610) | more than 11 years ago | (#5216362)

It lets you---and enforces you to---write
invalid c++ code! g++ with --ansi stays
(pretty well) to the standard.

Re:ohhh maaaan (0)

Anonymous Coward | more than 11 years ago | (#5216770)

edit-and-continue! it's the only reason i would consider using vc++ (apart from having to for work, bloody tapi)

but i prefer anjuta myself.

Re:ohhh maaaan (1)

Anonym0us Cow Herd (231084) | more than 11 years ago | (#5218396)

I've been trying to migrate people _away_ from windows, this only makes it easier for them to stay ;-)

I disagree. Take a longer term view. This makes it easier for them to leave Windows. Nothing happens overnight. And won't happen as quickly as I would like.

While so much noise and attention is being focused on Linux, I think the biggest threat to Microsoft is, once again, sneaking in under the radar. (Step 1: First they ignore you.) The biggest threat: cross-over applications. Stuff like OpenOffice [openoffice.org] . Or the GIMP [gimp.org] . (And yes, I understand that GIMP is not a competitor to professional Photoshop users.)

It seems like more and more cross platform tools and toolkits are available. This was once the holy grail, and there were basically NO solutions. Now, a recent slashdot article [slashdot.org] reveals many ways to develop cross platform applications and gui's.

KDE and Qt are both being ported to Win32 (with GPL license). At some point, expect a flood of KDE applications, including another free KOffice suite, to be available for Windows. Other projects such as The Open CD [theopencd.org] and GNU Win II [gnuwin.epfl.ch] only help accellerate the acceptance of not only free, but open source applications by ordinary windows users.

Eventually, users recognize: hey the OS is irrelevant!

In the meantime, Linux on the desktop will have improved a great deal. Or instead, perhaps the recent RelaxOS [reactos.com] ?

Testing ? (4, Interesting)

MosesJones (55544) | more than 11 years ago | (#5216214)


Winner of Company Most likely to produce Buggy Software....

The people who do this. You can produce work on the Server but to properly test you still need the windows environment. So you have to deploy to that, given that you need a testing environment per developer as well as for UAT and QA then your costs aren't really reduced. The advantages in terms of compile speed are killed in terms of transfer and deployment.

Somebody somewhere clearly things they need this, somebody somewhere doesn't work in large teams and on commercial apps.

Sorry to dis someones work, but I'd be more interested in a decent Open Source windows IDE on windows than being able to do a fraction of the work on Linux... and I loathe MS-Windows. Why do so many Open Source projects have to ape MS rather than take on the beast.

Too many people, too many projects. Come and save us IBM.

Re:Testing ? (1)

amigaluvr (644269) | more than 11 years ago | (#5216250)

There are also cross platform virii issues too. Code being shifted around like nobodies business and things are lost track of.

Re:Testing ? (1)

ma++i+ude (580592) | more than 11 years ago | (#5216498)

There are also cross platform virii issues too.

Well, isn't the mere existence of programming languages dangerous, because it lets hackers write malicious code? This sounds remotely like something **AA would say. What's more, machine code could be used as a circumvention device for copyright protection. Yes, we better outlaw binary.

(It's called "reduction to absurdity".)

Re:Testing ? (0)

Anonymous Coward | more than 11 years ago | (#5216259)

Too many people, too many projects. Come and save us IBM.

LOL...xmingwin is hosted on IBM's developer works. Actually I disagree, this will definately put linux on top of windows in the OS heirarchy. Can you generate linux (elf) executable in windows? I think not. It's better to be on top.

Re:Testing ? (1)

stratjakt (596332) | more than 11 years ago | (#5216465)

>>Can you generate linux (elf) executable in windows?

yes [slashdot.org]

Re:Testing ? (5, Informative)

catscan2000 (211521) | more than 11 years ago | (#5216264)

If you're looking to replace Visual Studio for programs that don't rely too much on the COM wizards and such, try out Dev-C++ [bloodshed.net] . It's pretty fast, too, and it uses GCC :-).

Re:Testing ? (1)

Billly Gates (198444) | more than 11 years ago | (#5216666)

Agreed. It rocks. I use both VC and Dev-c++. A Linux version is in beta and its written in kylix. I like it alot better then Eclipse.

If you need an ide in Linux look no farther. The only issue is the beta linux version was only available on cd the last time I looked.

Re:Testing ? (0)

Anonymous Coward | more than 11 years ago | (#5219152)

One problem i found with Dev-C++ was that the scrollwheel only works intermittently in the source window of the IDE. This might not seem like a big deal, but it's not until you lose something simple like that until you realize how much you relied on it. Not to mention the fact you can't automatically use an external editor (read: vi) like you can with Visual Studio. It's a good package for the price (free), but it definitely has a ways to go before it catches up Visual Studio. They could start by listening to bug reports like the above and not silently closing them. *sigh*

Re:Testing ? (1)

jd142 (129673) | more than 11 years ago | (#5216406)

You can produce work on the Server but to properly test you still need the windows environment

Of course you do, and I don't think the column anywhere suggested otherwise. The column is talking solely about code generation, not code testing. What this stops is having to reboot a different os, to work with the same app but in a different ide. Which means you don't have to learn 2 sets of compilers and their little idiosyncracies, maintain 2 sets of code with the hassle that entails.

We've got maybe 250 computers in out little department, and before I deploy an app, I test on at least 3 different classes of computer. I would imaging that big companies just have a room of computers with their various base installs and various hardware classes used just for testing.

Re:Testing ? (1)

hoop33 (585222) | more than 11 years ago | (#5216970)

I would imaging that big companies just have a room of computers with their various base installs and various hardware classes used just for testing.

Excuse me while I decide whether to laugh or cry; I work at a large corporation, on their e-commerce web site (not their main revenue stream) that does over $1 billion in revenue a year. We have no test lab. We have no test machines. We are told to test (on our own NT 4.0 machines), but not spend time on it. Sadly, I've worked in a few corporations, and they haven't been much different.

Re:Testing ? (2, Interesting)

jd142 (129673) | more than 11 years ago | (#5217241)

You are right. That is sad. I'm doing an app for our students so they can sign up for job interviews via a nice little web app. Because it uses javascript, I decided to test the app on:

--Microsoft Internet Explorer 5.5 and above on any version of Windows 9x or later
--Mozilla 1.0 and above on Windows or Linux
--Netscape 7.0 and above on Windows or Linux
--Opera 6.0 on Windows
--Konqueror 3.1 on Linux

We don't have any macs in the building, and I just haven't gotten around to walking to one of the other buildings and checking it out. But I will before it goes live.

During the interview season I suppose we'll get maybe 2,000 hits a week from our 750 students. But their eventual livlihood depends on their student jobs now, so this is very important to them.

And people rag on those of us who work for the government instead of private business (which is, of course, perfectly efficient and hires only the best and brightest people).

Re:Testing ? (2, Informative)

batkiwi (137781) | more than 11 years ago | (#5216428)

The number one advantage I can see for this in the environment I work in is automated builds.

We have big linux servers that do all of our java compiling nightly (and auto-runs junit tests/etc), but you can't do that for your windows dll's without a seperate box. Now that need is gone.

Automated builds + a full-featured dev environment (2, Informative)

danlyke (149938) | more than 11 years ago | (#5218378)

Beyond just automated builds, my big issue with VisualStudio is that it sucks boulders through capillary tubes if you ever have to change compilation options on more than one build target, or add a bunch of "only slightly different" items to a build. Besides the fact that it's often bloody impossible to figure out where it's setting a given compiler option.

And when I've used the VC command line tools and called up Microsoft to report bugs I've gotten laughter, at best. They simply won't support anything but the visual environment.

This gives a full-featured development environment using real production quality tools in an environment that won't be blowing chunks every time I try to do something remotely outlandish with the USB bus. I've no problem with having a Windows box beside my Linux box for running the app, I just want a stable, full-featured development environment. Linux cross-compiling onto a Samba mount is closer to that than Microsoft's been in many years.

Surely a security risk (1, Interesting)

amigaluvr (644269) | more than 11 years ago | (#5216221)

In my experience this is not what should be done.

Moving files like this, executables which are virii prone into one system or another helps with the spread of virii. Why? It may not look logical at first

What happens is systems that are not running the software can check it for the virii that do run on it. They'll miss the infections coming from the other platform, or perhaps some other one again.

What you end up with is a security risk. It pulls everything down the tubes.

Re:Surely a security risk (-1)

Anonymous Coward | more than 11 years ago | (#5216289)

repeat after me:

'viruses'

there, it's an easy word. I'm sure you can say it again... go on try

'viruses'

simple isn't it? now go use it in the real world, not trendyGeekSpeekLand

Re:Surely a security risk (2, Informative)

vrmlguy (120854) | more than 11 years ago | (#5216469)

Huh? I'm not sure I understand what you're saying here, so allow me to paraphrase:

Placing a .EXE file on a Linux server helps spread virii, because the Linux server won't check to see if the file is infected with a Windows-based virus. This is bad because if the file becomes infected, the infection will be missed.

I'm making the generous assumption that you aren't saying that the Linus system will create an infected executable. Even so, there seem to be some unwritten assumptions here.

First, you assume that there is an infected Windows system. Just about every commercial environment that I'm aware of runs some form of anti-virus software on every Windows-based server and desktop. This means that there is little chance of infection by a known virus. I will readily conceed that unknown infections, such as Slammer, can still be a problem, but that leads to your second assumption.

You seem to think that any Windows-based system with read-access to the file also has write-access to it. This runs counter to the best-practices adopted at most sites. A fundimental rule of security is to provide no more access than is needed to get the job done. File servers generally restrict the average user from modifying static resources. In this case, I would include anyone with a Windows-based system as an average user. Since they aren't running a developement environment, there is no need for them to write to the directories where the software is stored.

So, did I miss something, or did you post of subtle troll?

Re:Surely a security risk (1)

u38cg (607297) | more than 11 years ago | (#5216470)

Eh? Are you moderators on crack?

I wasn't aware that compiling a program risked creating a virus. I certainly wasn't aware that cross-compiling was so dangerous.

I would agree with those that suggest that this doesn't seem to be a sensible way to run a production environment, but it's good for people like me, writing cross-platform applications that I will be porting to Windows. It saves me hunting down someone with the time and inclination to do my dirty work for me, as I gave up on Windows a while back now.

Re:Surely a security risk (2, Interesting)

The Bungi (221687) | more than 11 years ago | (#5216484)

The time when viruses like Pong and Natas infected binaries are fading fast. Instead we have worms that are far more effective because they can infect other machines as opposed to just other applications on the same box. Before, you were scewed. Today, the whole goddamn Internet is screwed. It's just a matter of scale and opportunity.

Or are you saying that Windows executables are somehow more infection prone than ELF or Mac binaries?

It pulls everything down the tubes

Now, now. That's just your inner zealot speaking.

Re:Surely a security risk (1)

KDan (90353) | more than 11 years ago | (#5216723)

I would say that windows executables are themselves automatically virii that need to be eradicated... you know, the usual stuff... Windows is a badly written virus (slow, bloated, writes random stuff on your hdd and crashes unexpectedly - however most viruses are compactly written works of art, so windows doesn't qualify) - however an exe binary written by a linux programmer could qualify :-P

Daniel

Re:Surely a security risk (1)

The Bungi (221687) | more than 11 years ago | (#5217544)

Now, now. That's just your inner zealot speaking.

Re:Surely a security risk (3, Informative)

Twirlip of the Mists (615030) | more than 11 years ago | (#5217666)

I'm on a crusade. I intend to post a comment like this one whenever I see anybody use "virii." Please don't interpret this comment as either endorsement of or disagreement with the parent post. Moderators: with your help, we can wipe out "virii" in our lifetime!

The plural of "virus" isn't "virii." There is no such word. The plural of "virus" is "viruses."

Here's a good explanation from cdknow.com [cknow.com] , quoted here in its entirety because the people who most need to read this won't click on a link.

The correct English plural of virus is viruses. Please consult any good dictionary before making up words.

For the purists, in Latin, there is a rarely-used plural form:

virus, viri (neuter)

(Forms: almost always restricted to nominative and accusative singular; generally singular in Lucretius, ablative singular in Lucretius)

The point of this is that even in Latin the form "viri" is rarely used. The singular form is used in most every instance. (This is from the Oxford Latin Dictionary.)

So, when considering the Latin: "virii" is incorrect and "viri" was almost never used.

Despite the fact there was little use for the plural form, there is another reason why "viri" was rarely used. The most common Latin word for "man" is "vir" with "viri" being its plural in the form used as the subject of a sentence. Thus, since "men" as the subject of a sentence would be used far more often than "venoms" (virus means venom) the "viri" word was most commonly seen as the plural of "man."

Bottom line: Don't try to make up words using a false Latin plural form. Since the word virus in its English form is now used then the English plural (viruses) should be used.

More plural-of-virus resources:

perl.com [perl.com] , the canonical and exhaustive source
The alt.comp.virus FAQ [wisc.edu]
Jonathan de Boyne Pollard's Frequently Given Answer [tesco.net]
Merriam-Webster's "Word for the Wise [m-w.com] ," January 20, 2000.

Re:Surely a security risk (1)

grolim13 (110441) | more than 11 years ago | (#5216488)

Rubbish! Excluding the fact that I have seen few viruses in the last few years that weren't spread by holes email clients such as Outlook, the output of a compiler can generally be assumed to be virus free. (The exception would be for a hack similar to Ken Thompson's trojan login on the original Unix, but the chances of that working on diverse systems such as Linux and *BSD is somewhat unlikely.)

A hacked native Windows compiler seems to me to be much more likely.

Re:Surely a security risk (1)

Scottaroo (461317) | more than 11 years ago | (#5216492)

I think that this is incredibly unlikely to spread virus executables from one machine to another. The compiled code would not work on the machine where it was compiled. People have been doing cross-compiling for years without this problem. Virus code exploits vulnerabilities in the system - a Win32 virus will only exploit machines which supply a Win32 runtime environment.

Re:Surely a security risk (1)

jeffphil (461483) | more than 11 years ago | (#5216534)

I always heard Microsoft compiles on FreeBSD for their "Gold" production releases so that they don't send out programs with viruses.

Re:Surely a security risk (0)

Anonymous Coward | more than 11 years ago | (#5216732)

I heard linux users eat their young.

Re:Surely a security risk (2, Interesting)

Howie (4244) | more than 11 years ago | (#5217085)

Do you mean: Q80520 - How Microsoft Ensures Virus-Free Software [colug.net] ?

It's not compilation, but the CD-mastering. (this used to be in the MS KB, but it seems to have gone).

Re:Surely a security risk (1)

FroMan (111520) | more than 11 years ago | (#5216734)

First, I think your idea that somehow compiling on a linux box is going to create a virus or spread a win32 virus is kind of silly. The linux box does not run win32 code that is is compiling.

Second. Sophos [sophos.com] supports (or did as of about a year ago) a linux version of their virus software. If you really needed virus scanning its there.

Is it on NetBSD? (1, Funny)

Noryungi (70322) | more than 11 years ago | (#5216226)

I can see it now... if this exists, somewhere in the NetBSD ports collection, it means we can actually create WinNT/Alpha applications... =)

Re:Is it on NetBSD? (1)

grolim13 (110441) | more than 11 years ago | (#5216466)

Dunno if it supports WinNT/Alpha, but it should run on NetBSD - after all, it's just a slightly modified version of gcc with some supporting tools for making Windows executables.

Re:Is it on NetBSD? (0)

Anonymous Coward | more than 11 years ago | (#5217907)

don't forget WinNT/PPC Executables!
the windows nt 4 cd has support for ppc, mips, intel and one other.

Xmingwin? (5, Insightful)

gwernol (167574) | more than 11 years ago | (#5216261)

This sounds like intriguing functionality, but really can't they find a better name than Xmingwin? Its a horrible name, practically unpronounceable, difficult to remember and spell, easy to confuse with other similar projects.

I know this might sound like a troll but I'm serious about this. Projects do themselves no favors by adopting badly thought out names. A confusing name makes it less likely that I will use or evangelize this software. When someone asks me for a recommendation for a software platform for generating Windows executables on our Linux servers I'll be embarassed to say Xmingwin (I work in a corporate environment). Its hard to say, hard for someone to understand when said and worse it sounds amateurish. Its almost as bad as Ogg Vorbis: very geek-cool to use Klingon but the kiss of death in a serious corporate environment.

This isn't a slam on open source - god knows there are too many dumb names in the closed source world - but a plea for developers to think about naming. Its an important part of getting your technology talked about and accepted.

Re:Xmingwin? (-1)

Anonymous Coward | more than 11 years ago | (#5216298)

...by gwernol (167574)

Re:Xmingwin? (0)

Anonymous Coward | more than 11 years ago | (#5216305)

What kind of logic are you working under? It's XMingWin because it's the X implementation of Minimalist GNU for Windows.

I can't see a better name coming from that. perhaps

XMiniGNUWind? XMGW?

Re:Xmingwin? (1)

jd142 (129673) | more than 11 years ago | (#5216516)

It's XMingWin because it's the X implementation of Minimalist GNU for Windows.

I believe the article suggested that the X indicated it generated cross platform executables:

Xmingwin is my label for, "Mingwin run as a cross-generating application." Be aware: you'll also see it spelled as "cross Mingw32," "Xmingw32," or other variations. Usage isn't well standardized at this point.

Since it is a command line compiler, not an X based ide, there's no reason to have x even installed on your box to use this. Well, that I can see.

Re:Xmingwin? (3, Insightful)

josh crawley (537561) | more than 11 years ago | (#5216325)

I pronounce it like X-ming win. like ex-Penguin (with the p soundling like M)

Re:Xmingwin? (1)

squiggleslash (241428) | more than 11 years ago | (#5216853)

I vote we pronounce it "Zing-ming-wing". It's kind of cool & catchy...

Re:Xmingwin? (1)

---- (147583) | more than 11 years ago | (#5216359)

It's an evolutionary thing.
it started life as 'MinGW' which meant Minimalistic GNU for Windows.

Re:Xmingwin? (1)

Xerithane (13482) | more than 11 years ago | (#5216374)

This sounds like intriguing functionality, but really can't they find a better name than Xmingwin? Its a horrible name, practically unpronounceable, difficult to remember and spell, easy to confuse with other similar projects.


You are damn right. There is no way people are going to be content with this, look at how many different variations of pronouncing leenooks there are.

Are we going to have some more test .au's, "Hello this is and I pronounce Xmingwin, 'Bob'".

Re:Xmingwin? (0)

The Bungi (221687) | more than 11 years ago | (#5216526)

Hello. I'm Jozef Bubak Slownik Nazw Osobowych Elementow Identyfikacyjnych Sadecczyzny.

Pronounced "Joe Smith"

Nice to meeting u.

Re:Xmingwin? (1)

josh crawley (537561) | more than 11 years ago | (#5216411)

And PLEASE, tell me how you pronounce YOUR NAME, gwerwol?

Re:Xmingwin? (1)

gwernol (167574) | more than 11 years ago | (#5216750)

And PLEASE, tell me how you pronounce YOUR NAME, gwerwol?

Fair point - although its gwernol not gwerwol :-) Its a nickname derived from a Welsh placename, so its pretty obscure. Its actually pronounced much as its spelt: two syllables "gwer-nol".

The real point is I'm not trying to promote my nickname. Its just a silly identifier chosen because it was available on Slashdot. Xmingwin are trying (I hope) to promote their technology and gain acceptance for it. That's why it doesn't matter that I have a stupid handle on Slashdot but it is a concern that the Xmingwin developers have a project name that might actually discourage its adoption in the broad business community.

Re:Xmingwin? (1)

Skuld-Chan (302449) | more than 11 years ago | (#5216460)

from the short lived dilbert cartoon:

PHB: "the name is the most important part of the project - I cannot stress that enough"

Re:Xmingwin? (1)

NineNine (235196) | more than 11 years ago | (#5216565)

"Mozilla"

Probably one of the most ridiculous sounding software names I've heard. Tell a manager that you're interested in using "Mozilla", and he'll tell you he's never seen that movie. Software developers, by and large, have *zero* business sense.

Re:Xmingwin? (1)

bergeron76 (176351) | more than 11 years ago | (#5217524)

Personally, I think Mozilla is a cool name. It started as the codename of the codebase at Netscape. I've demo'd Mozilla for several people and within days they were converted. And they never once asked me, "what was the name of that program again?".

Re:Xmingwin? (0)

Anonymous Coward | more than 11 years ago | (#5217912)

You're an evil man, forcing a 30Mb browser install on unsuspecting newbies.

Re:Xmingwin? (0)

Anonymous Coward | more than 11 years ago | (#5217942)

So the fact that a manager is not in touch with computer related developments is somehow an indication of a developer's business sense?

Now, such a manager overruling his technical staff's recommendation because he thinks the name of the software is silly? THAT'S poor business sense.

Re:Xmingwin? (1)

NineNine (235196) | more than 11 years ago | (#5217979)

"Hey, boss, there's this great new product called 'Missy's Mighty Metal Maker' that I think we should install on all of our core machines in the foundry. It's really great! What do you say?"

"We'll mail you your last check."

Re:Xmingwin? (0)

Anonymous Coward | more than 11 years ago | (#5218866)

"Hey boss! Some guy on slashdot just completely missed the point!"

"So what's fucking new? Get back to work"

Re:Xmingwin? (1)

lateral (523650) | more than 11 years ago | (#5216580)

I am glad somebody else has noticed this. If it takes off I expect to see a Java version before too long called JXmingwin, a Python version called PXmingwin, a KDE gui version called KPXmingwin a Gnome GUI version called, guess what, GPXmingwin and perhaps the whole thing bundled into a library called libXmingwin. Before too long there will be a fork and we'll have OpenPXmingwin and FreePXmingwin. Perhaps we'll see a cywin port called cygFreeXmingwing. Eventually it will be ported to OSX where it will be called 'iWin'.

Mind you I'll take the name cygFreeXmingwin over 'Mono' any day.

L.

They're just following the Geek Rule (4, Funny)

dark-nl (568618) | more than 11 years ago | (#5216856)

Every cool project should have a FAQ entry explaining its name. If the name is too easy, or has an obvious pronunciation, then it can't be a cool project. Ideally, there should be long-standing flamewars about it (i.e. is it "vee-eye" or "veye"?).

Re:Xmingwin? (0)

Anonymous Coward | more than 11 years ago | (#5217061)

think about naming. Its an important part of getting your technology talked about and accepted

Call it Xmingdows. That should getcha some attention.

Re:Xmingwin? (1)

Jester99 (23135) | more than 11 years ago | (#5217196)

Anyone else read it as "X Wingman" on first glance?

Now I can't get that pronunciation out of my head when I read the word. :P

Xmingwin is not the official name (1)

stevenj (9583) | more than 11 years ago | (#5217727)

From the article:
Xmingwin is
my label for, "Mingwin run as a cross-generating application." [emphasis added]

As another poster has pointed out, people have been cross-compiling with MinGW (not really "Mingwin") for years, and most people seem to just call it MinGW.

Note that Debian already comes with a MinGW cross-compiler package [debian.org] , which will soon be available for non-i386 architectures [debian.org] as well (e.g. cross-compiling from ppc to win32).

Re:Xmingwin? (1)

286 (620933) | more than 11 years ago | (#5220061)

Sounds like a perfectly good Chinese name to me...

But then again why not just change the name to "bob", I mean please people all open source project should have should use good proper English phonemes.

F~!@# the l18n stuff anyway...and to hell with linguistic diversity.

I this talk has made me hungry for some good old rou-juan and potatos.

Impeach Bush et al. +1, Patriotic (-1, Offtopic)

Anonymous Coward | more than 11 years ago | (#5216263)

Ramsey Clark, former U.S. Attorney General,
has drawn up articles of impeachment against Bush,
Cheney, Rumsfeld and Ashcroft. There is a
petition being organized and these will be
hand delivered to the Democratic leaders and
the judiciary committee. To sign the petition go
to Impeach Bush et al. [votetoimpeach.org] .

There you can read the articles and sign
the petition if you so choose.

Peace,
W00t

In Soviet Russia... (-1, Troll)

Anonymous Coward | more than 11 years ago | (#5216297)

Windows generates Linux! [bryanconsulting.com]

Usually... (1, Troll)

termos (634980) | more than 11 years ago | (#5216301)

Usually programs like these are buggy, and it does not work 100% on both systems (look at WINE for example). Since this is not the same "idea" it could be good, but i guess it will take time before people start using it fully.

Re:Usually... (4, Informative)

grolim13 (110441) | more than 11 years ago | (#5216555)

No, you're misunderstanding how this works. Cross-compilers have been around for ages, this one just happens to have the advantage that it inherently portable (because it is based on GCC) and targets Windows (which is phenomonally popular).

Wine works by reimplementing a part of the Windows API. Mingw32 is a compiler which takes C/C++ programs and Windows libraries and generates Windows executables. Its C/C++ support is just about flawless as it uses GCC; it can link programs against native Windows libraries just like any Windows compiler would; and it produces ordinary Windows executables.

These Windows executables, however, won't run natively on the (Linux) host machine.

Note that this is also not an automated system for writing portable programs; Xmingwin won't compile anything that wouldn't compile on a normal Windows machine. But if you have code that is portable, you can save a lot of hassle by having just one machine to build binaries for several platforms.

OK (-1)

Anonymous Coward | more than 11 years ago | (#5216333)

Linux Linux Linux, what about BSD?

Re:OK (0)

Anonymous Coward | more than 11 years ago | (#5216803)

what about BSD?

That's OK. We don't want this piece of crap.

Xmingwin vs gcc-mingw32 (3, Interesting)

---- (147583) | more than 11 years ago | (#5216338)

What's the difference between this announcement and the pre-existing mingw32 integration with gcc ?
  • lets see, we have ...
  • The mingw-runtime package
    The Public Domain versions of the MSVCRT header and library import files
    Beginning with version 2.0 C89 and C99 extensions are provided that include
    but not limited to, wide character functions, floating point environment
    functions (declared in fenv.h), floating point classification functions and
    macros, the inttypes.h format conversion macros, stubs for msvcrt.dll
    underscored functions that are now part of C99 standard, and a replacement for
    fseek and fwrite that are safer on W9x. The POSIX dirent functions have been
    moved from libmingw.a to libmingwex.a so those desiring 'Minimal' can easily
    have it. The ISO C extensions are visible by default within the headers, to
    remove them define __NO_ISOCEXT. You need to explicitly add these functions
    until they are eventually added to the GCC specs file for inclusion by default.
  • The gcc-mingw32 package
    Mingw32 support headers and libraries for GCC
How exactly is this different? We've been able to produce win32 executables using mingw and gcc for years now.

Re:Xmingwin vs gcc-mingw32 (3, Informative)

vrmlguy (120854) | more than 11 years ago | (#5216510)

The difference is that this is running mingwin as a cross-compiler. Yes, we've been able to produce win32 executables using mingw and gcc for years now, but that's by running everything on a Windows-based system. Now we can run the same suite of tools on a Unix-based system.

Re:Xmingwin vs gcc-mingw32 (1)

grolim13 (110441) | more than 11 years ago | (#5216515)

It isn't different at all. Xmingwin is just the term that the author of the article uses to refer to a mingw32 cross-compiler.

Kylix (-1)

Anonymous Coward | more than 11 years ago | (#5216344)

*cough* Borland Kylix *cough*

Re:Kylix (-1)

Anonymous Coward | more than 11 years ago | (#5216409)


I notice that you have a cough. Please not that while a doctor may touch your nuts and ask you to turn your head and cough, it is not necessary to do so when your boyfriend is licking your nuts. Hopefully this will cause you to quick hacking like a smoker all day long. Thank you.

Xmingwin for Linux?? (-1)

Anonymous Coward | more than 11 years ago | (#5216367)

How about Linux version Kiss My Ass you fucking smelly hippy liberal tree-fucking dog-kissing faggots! Got get a fucking job and BUY the software that the rest of the world is using, you stupid fucks. Welcome to the REAL WORLD were your mad linux skills are worth about as much as a monkey fart, you filthy asshole always looking for a handout. The country wasn't MADE by lazy fucks like you, always wanting something for nothing. Quit giving each other faggot AIDS and then looking to me for free healthcare, you dumb cunts. You're not just lazy, your a fucking filthy aids-infested faggot always looking for a blow job from some toothless bum on the street. And it's a good thing because on the street is where you belong! Free trash, free stink, free disease, free used needles, and free operating systems. You'll fucking love it, you get shit for free and I do mean SHIT - the shit you lay your head on at night, and that shitty hacked nigger-rig OS called Linux. Fucking duct tape and glue made by every other fucking asshole in the world. Yee-ha, that's security! Assholes without jobs writing shitty code, please some work for my company and protect my assets! Tell you what, you can fuck your mother and her aids-cunt with a rubber that every other stinking hippy in the world has designed. Fucking freak kiss MY ASS and take a bath I can smell you from here.

MOD UP PARENT!!!!!! (-1)

Anonymous Coward | more than 11 years ago | (#5216380)

MOD UP PARENT!!!!!!

It's feeding the Troll but... (-1, Flamebait)

Y Ddraig Goch (596795) | more than 11 years ago | (#5216418)

Until you get some balls I suggest that you take your own advice. OS software may not cost $$. But how many lines are you willing to write for the common good?
Ignore the Dragon Sig. You are not crunchy and there isn't enough ketchup in the world to make you taste good!!

Re:It's feeding the Troll but... (-1, Troll)

Anonymous Coward | more than 11 years ago | (#5216691)


That's like asking "How many times are you willing to stick your schlong into the diseased whore for the common good?" Everyone having their fingers in something doesn't make it good. It makes it filthy. Linux is a salad bar without a sneeze gaurd.

Multi DLLs, yes, but what about multi VERSIONS? (-1)

Anonymous Coward | more than 11 years ago | (#5216384)


Do you remeber those bumper stickers from the 80's that said "Flush Twice, it's a long way to Washington." The way it would work is poop would come out of your butt, into the sewage system, and then supposedly to the US Government. But we have a NEW system in place today - the fecal sludge of millions is funneled to Finland or wherever that hippie Linus Titandass is from and he passes this shit off as "Linux." Linux is the disease of contemporary IT. It is a computer virus that does more binary damage than AIDs does to the human race (and 32 of all AIDS cases are directly linked to your mother, that filthy crack whore). You should wrap a virtual condom around your computer assets - the Trojan of servers, Windows 2000. Then you will learn the meaning of productivity and security. In the meantime, quick visiting the armless fleshy dentist for a while and get some real skills, take a bath, and get a job. You're a filthy leech on society, and there's more to life than free handouts you stupid fuck.

Quick Note (3, Informative)

jchawk (127686) | more than 11 years ago | (#5216391)

For those of you wondering, this only works for apps that you are currently writing. It isn't going to work for just any windows app, but it's still kinda neat.

---

If you just signed up for a new sprint pcs cell phone I can get you a $10 rebate. Email me at jchawk@ my website (tr0n.com) that's a zero in tr0n.

Not a bad idea for all teams (2, Interesting)

mlyle (148697) | more than 11 years ago | (#5216400)

Lots of people are posting on how this is potentially a bad idea. Sure, it's not likely to be as mature as other compiler environments. There's all kinds of small shops where this could simplify build infrastructure, though. Maintaining different build servers for all the platform variation a company chooses to support can be costly to build, especially with the infrastructure to do revision control and fire off simultaneous builds and package things together. If a company just needs to produce command line tools or simple DLL's to accelerate code in a scripting language, this might be a good choice.

Probably the largest win is allowing developers to unit test application logic on their local Windows desktop, if they prefer that environment, before doing final unit test, integration test, and deployment on top of *nix/Linux.

We've had this for years (4, Informative)

Stiletto (12066) | more than 11 years ago | (#5216520)


I've been using a MINGW32-based linux->win32 cross-development environment for years. The same concepts apply as for cross-compiling to different hardware architectures. This is definitely not new software. With properly written makefiles, you can build to target both Linux and Win32 platforms from the same source tree and build environment. Of course you must test on both platforms, but having a setup like this definitely makes it easier to build large projects for both Windows and Linux.

Re:We've had this for years (1)

sineltor (312152) | more than 11 years ago | (#5218104)

Preaching to the converted but thats one of the greatest assets of the make system - I'm currently working on a project using GCC/Mingw compiling with windows and I have a friend who's programming from linux with virtually no modification. Recently someone using MacOS-X joined our little group and after some tweaking they manged to get it compiling fine there as well...

We're using SDL, OpenGL, etc and it all works great with just a ./configure, make

MSDEV command-line under WINE? (1)

eries (71365) | more than 11 years ago | (#5216616)

Seems like another way to get the same functionality would be to get the VC++ command-line compiler working under WINE. Has anyone had any luck with this?

Re:MSDEV command-line under WINE? (1)

Minna Kirai (624281) | more than 11 years ago | (#5216840)

Some people have gotten results from that, but even if it works, the result isn't really the same.

0) VC++ is non-free. (And not just by RMS's libre definition either. Legally acquiring it can take many $$$)
1) VC++ speaks a different dialect of C++ than gcc does. While neither of them is 100% standards compliant, you'd want the same set of workarounds to function for both target platforms.
2) You'd need some tricky scripting to propagate error conditions from VC++ through WINE and into make's status knowledge. Connecting it to a makefile, or an Ant build.xml, or whatever your buildchain is, would be more complicated than simply inserting a gcc cross-compiler.

Ahem (1)

AtrN (87501) | more than 11 years ago | (#5216644)

It's not just Linux and its not new. I was using it a two years ago to deliver DLLs to some co-workers....
; uname
FreeBSD
; head -2 /usr/ports/devel/mingw/Makefile
# New ports collection makefile for: mingw
# Date created: 6 June 2000
;

wat were they thinking (1)

runtimeerror7 (244061) | more than 11 years ago | (#5216762)

when they named it? trying to make the transition to windows DIFFICULT by using ENGLISH?

A real world example is needed. (1)

sergio (35237) | more than 11 years ago | (#5216915)

XMingWin makes for a very nice tool to use from the Linux side. But the big question is: How well does it work in the area of dynamically loading libraries (.so and .dll stuff) and all the headaches associated with all those #ifdefs in portable libraries!

As a particular minimal case try: Hello World app using wxWindows for both environments. It would be nice to see if this is a more vialble approach than using the same sources using gcc under Linux and Dev-C++ inder Win* to compile a portable app.

Just curious...

Sergio

Re:A real world example is needed -- Voila! (1, Informative)

Anonymous Coward | more than 11 years ago | (#5217086)

I can say from experience that most of the wxWindows samples compile and run quite well. I didn't test them all but all I compiled ran. Some of them are a lot more involved than "Hello World". I made both static and .dll versions of the wxWindows lib and tested them under Wine and NT 4.0

BTW, here's a quick and dirty HowTo I set up in response to a request from the SunCoast Linux Users Group (SLUG) mail list a week or so ago.

Ed.

http://web.tampabay.rr.com/ecentan1/xplat/crossc om pile.html

Re:A real world example is needed -- Voila! (1)

sergio (35237) | more than 11 years ago | (#5218423)

Interesting...

This is the real thing in terms of what a practical developer of apps targeted to run both on Linux and Win32 needs.

Thanks!

Please Help us IBM & SUN !! (0)

Anonymous Coward | more than 11 years ago | (#5217362)

Please saves us from wrath of windoze.

I am tired of all the security and memory leaks of windoze OS and application

.Not HELL..oh my GOD (0)

Anonymous Coward | more than 11 years ago | (#5217391)

Please not another .NOT hell project.

Windoze and .Not is domed. I like my Java and Linux c++ native apps.

I dont want willy nilly OS from windoze and .Not Hell language.

Xmingwin vs. Visual-MinGW (2, Interesting)

Lumpish Scholar (17107) | more than 11 years ago | (#5217712)

Like a lot of people here, I don't get it the point. Cross compilers are for developing for platforms that can't host development tools. When I did cross platform (Windows, Solaris, HP-UX) development, my tools were Vim and CVS plus the native compiler. Which platform would I edit on? Whichever was most convenient that moment.

On the other hand, for those who want to use MinGW for Windows development, check out the GPL Visual-MinGW [sourceforge.net] . Al Stevens had some very nice things to say about it in the December 2002 issue of Dr. Dobb's. (The article isn't online, but the issue's table of contents is here [ddj.com] .)

There are some significant licensing differences between MinGW and Cygwin. The Cygwin runtime is GPL (not LGPL!), but can be licensed for non-open use. The MinGW runtime is public domain.

I love it! (0)

Anonymous Coward | more than 11 years ago | (#5217833)

It doesn't supply the baroquely integrated development environments (IDEs) common in Windows development shops. Instead, Mingwin's rich toolchest of robust utilities performs basic development operations: compilation, linking, and so on. All these are flexible and programmable, though, in the usual UNIX spirit.

Wow, that's the most incredible SPIN I've seen in years.

Canadian Cross-Compiler? (1)

X (1235) | more than 11 years ago | (#5218070)

It is my understanding that this has been doing this for a while, and was actually called a "Canadian Cross Compiler".

Re:Canadian Cross-Compiler? (2, Informative)

The Lord of Chaos (231000) | more than 11 years ago | (#5218414)

Canadian Cross is when you are building a cross compiler to be hosted on a different platform than you are building it on.

Example:
Using a Linux-x86 system to build a windows hosted powerPC compiler.

"Canadian" refers to there being three different platforms (parties*) involved: the target platform (powerPC), the hosting platform (windows), and the platform building the cross-compiler (Linux).

* There used to be three national political parties in Canada before those pesky Quebecois formed a national party.

Re:Canadian Cross-Compiler? (0)

Anonymous Coward | more than 11 years ago | (#5218688)

Rat bastards.. Them and the Reform (now Alliance) all deserve some ass-kicking for reigonalizing politics and destroying any hope of any party not elected in Ontario from gaining political power.

And they thought they were more powerful from having strong support in their reigons .. idiots.

I've had success 2 years ago (1)

Wolfier (94144) | more than 11 years ago | (#5218172)

Running mingw32 under Wine to compile Win32 executables. I suppose it still works. Ran perfect for me.

A newer version of mingw as cross compiler (1)

CunningPike (112982) | more than 11 years ago | (#5219170)

A nice article, but the cross-compiler HOWTO is a little out-of-date (circa 1999).


Having banged my head against a wall over this for a while, I eventually managed to put together a script (based on ideas from Pieter Thysebaert) that builds and installs mingw from latest sources (gcc-3.2.1, binutils-2.13.90, ...)


The script also works around a couple of problems not described in any of the HOWTOs I've read.


Anyway, download it from here [gla.ac.uk]

Huh? (1)

cgf (50504) | more than 11 years ago | (#5219896)

So, this basically sets up a cross compiler?
And, that's a big deal?

I've been generating cygwin releases from linux for
years. I can't believe that this rates as news in
any way.

If it does, then the crossgcc mailing list at sources.redhat.com is probably worth checking out. There you can be amazed by the fact that many many people are using cross compilers on a daily basis.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?