Compiling Under Wine
now3djp writes "Interesting article over on CodingStyle that demonstrates how I successfully eliminated wasted time maintaining an MS-Windows computer when I could build natively from my GNU computer! /. has followed other cross compilers in the past. This article is different because I used MS's own compiler! This allowed me to get on with real games porting; with only a proportional increase in compile time. Wine has really come a long way in supporting simple apps, let us hope it reaches a 1.0 soon."
Now this is impressive. Things like this are what WINE should be all about. Amazing.
I can't wait til we have a fully functioning windows emulator. Even if it will kill the need for native apps (read games).
I find it entertaining that when I went to read the comments, I got to see an article for Visual Studio .NET :).
--
lds
that you compile under the influence of any type of alcahol
Its ironic to go to read an article on how to rid your self of a Windows computer by compiling under GNU/Linux/Wine and the giant advertisement that pops up is for Microsoft Visual Studio .Net.
Tequila: It's not just for breakfast anymore!
does microsoft compile windows under wine?
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
Let me tell you something, I've compiled not only under wine, but on vodka, whiskey, shit even ACID. And when I was on acid, my monitor tried to eat me...
It's not so interesting to me that he managed to compile using VC++ under WINE. VC++ doesn't call any of the APIs you code, it just puts machine code into the file saying you can call them if you want. It's all well and good to have VC++ compile DX9_CreateSurface() (or whatever) into a bunch of PUSHs, POPs and a JMP instruction, but that doesn't help if WINE can't actually call that function when you're testing. It makes more sense to me to use Bochs or VMWare to test your application if you're developing on multiple platforms. Anything less would be short-changing your Windows clients.
GNU/Build GNU/natively GNU/on GNU/a GNU/computer GNU/using GNU/a MS-Windows/compiler GNU/without GNU/a MS-Windows/computer!
I prefer to use Beer. I find that it compiles much nicer, and it's cheaper too. =)
-------
"In times of universal deceit, telling the truth becomes a revolutionary act."
-- George Orwell
Pretty soon it'll only be an order of magnitude harder to pretend that Linux is an equal competitor in this Wintel world. Then Linux can capture a full ten percent of Apple's desktop space! We'll be kings! No, gods!
You know (shaking the finger of logic and wisdom), if they (MS) sold such a product for the GNU environment for a couple hundred bucks...I would buy it. And I know a few other developers who would to. Providing, of course, it didn't totally suck!
"Other bands play, but Manowar KILLS"
Last time I tryed to compile something under the influence of (way too much) wine, I ended up on the floor infront of my computer. All I remember was waking up to a formatted hard drive; compiling under the influence of wine sucks!
"Entropy is the bad-guy, and he is everywhere"
wine compiling cygwin compiling wine compiling cygwin compiling....
- tristan
Does this work 99 percent of the time?
What I'm curious about is whether you can make apps that run in Wine but crash or fail in Windows.
I'm completely clueless, so if this is a stupid question, then I appologize.
If the people are forced to test applications on slow machines, we may not have word processors that need 40MB of ram and a 933MHZ pentium III to run.
Fight Spammers!
Wine has really come a long way to facilitate running major applications such as Visual C++. Features that "just work" often do not get mentioned because there is nothing to say. Wine has many excellent features like this. However, I have expressed the problems with Wine currently and I expect that in a potential follow up article many of these will be resolved. Wine has been in development for over a decade now. As it is finally nearing a 1.0 release, I see how much better it was than the 1.0 release of MS Windows.
Using Visual C++ on GNU/Wine gives me all the benefits of being able to develop a 100% compatible MS-Windows version of the game, while saving me the time of maintaining another Win2k machine version of the source and moving to that machine to compile. It has been a great time saver for me and I strongly expect this information will be very useful to myself and others in the future.
Okay, so you can use Visual C++ compiler under WINE. Is that terribly surprising when WINE can run MS-Office for the most part? The compiler takes the source files and libraries and produces an executable or library. I don't know for sure, but I wouldn't think that too much of this would involve heavy usage of the Win32API, much less the lesser-used and less-tested-under-WINE parts. For the most part, the compiler would be doing tokenising, parsing, translation and optimisation, which would in all likelihood use no external libraries or anything.
I don't mean to rubbish this article, I'm just saying that I don't see it as being terribly surprising. On the other hand, I think this is a great use of WINE and is definitely more innovative that anythin I would use WINE for. And as he says in the article, there was a lot of fiddling around with command line arguments and environment variables. But if you're compiling from the command-line under Windows, it's just as bad (no, really).
A much greater "victory" for WINE would be to have the whole VisualStudio ensemble running. But I'm not sure if this is feasible, especially in the short-term. By "victory" I don't mean something along the lines of "Linux now allows you to run a quality IDE", because KDevelop and Eclipse are great IDEs. Instead, VisualStudio and Office are probably the most complicated pieces of software written by MS (excluding Windows itself) and for WINE to be able to run them both as if they were running under Windows would be truly a fantastic achievement.
This sig intentionally left bla... dammit!
Who's got the whiteout?
Holy crap, if this isn't flame bait, I don't know what is!!!
"Other bands play, but Manowar KILLS"
I don't see me - just set ads.doubleclick.net to 127.0.0.1 in your hosts file. Granted thats not the only host you have to add, but there are regularly maintained lists out there of good people to block :).
that is...i meant the NEAT article by Old Ike, but somehow my post ended up over here...
"Other bands play, but Manowar KILLS"
I'm a programmer for a Supplier of Software to the US Government and we are actively looking to port our products to Linux do to the strong interest from our clients. Specific Offices decide what products they want to implement and how to do it. We are investigating Emulating Windows as an one solution.
I look forward to the days when any program that is Windows Compliant runs on any platform that supports the Windows API.
That being said, the real problem I have is DRIVERS for my hardware working under Linux. If someone could emulate Windows enough to use standard Windows Drivers, there would be no more reason to use Windows at all. I truly commend those braves souls and companies who write drivers for Linux.
Now if there was a Proxy that accepted Microsoft SQL requests and sent them to a PostgreSQL backend transparently we would be free of the beast and save the Tax Payers lots of money paying my paycheck, plus blow our competiters out of the water. :o)
Wow! So RMS wants us to simply call it GNU now? Dropping the Linux part altogether? Sorta hypocritical to me ;).
Or do you run Hurd? Which is technically the GNU OS.
The above is meant to be funny.
Slashdot is a waste of time. I enjoy wasting time.
...a no nasty headaches from the sulfides.
Try Maryland Wines, esp Bordy
and Beer, esp Oliver Ale !
"Whoever would overthrow the liberty of a nation must begin by subduing the freeness of speech."--Benjamin Franklin
Does this guy really use the HURD, or is it just that he's an RMS mega-fan?
Go west, (You probably need to look it up)
The MSVC compiler generates code as bad as gcc does. Both suck.
Use the Intel compilers, your code will be 50-300% faster.
And yes, Intel has both Win32, Win64, and Linux compilers, which is why I can state the above becasue I've used them.
GCC or MSVC are fine for development, due to fast compiling, but dont even think of releasing enduser versions with them.
- Adam L. Beberg - The Cosm Project - http://www.mithral.com/
The author describes the problem he originally solves as being the pain of moving code between Linux and Windows, losing attributes, case problems, etc. The approach I take is to keep all code in CVS on my file server. I do compiling and editing on my personal computer; both Linux and Windows can handle CVS. This way you have to reboot into Windows for the Windows compile, but never have to worry about copying files or case changes.
Can someone help me as to just why he needs to move his source back and forth between computers. I mean, I like that he's consolidated to one machine and all, but couldn't he just use a samba share or something to save the (apparently complicated) step of moving the source code from one machine to another. What's the real advantage here? (Real question, not a flame)
Put identity in the browser.
I use Microchip's pic assemler through wine, for a small piece of code I maintain that runs on a PIC that wasn't supported by any GNU/Linux assembler when I started. I also maintain a legacy version of a very specific proprietary MSDOS (actually we run DRDOS) program that was written with Borland C, hopefully I will be replacing the last running bit of that with a DJGPP compiled version soon, which of course can be cross compiled on GNU/Linux without the need for Wine and bcw.
I know what your thinking, but when a piece of software has worked flawlessly (well almost!) for 15 or so years, and is 'mission critical' it is very hard to drop a platform and move on. I am hoping to try out a move to Linux some day in the near future so that I can take advantage of new features and things that just arent available for DOS. But unless I can convince everyone else of the benefits I may be supporting dos for quite some time (I am the only software person at this company).
Cutomers will not be running it, so don't bother.
Fight Spammers!
I don't see you either...
I'm curious, what exactly will the "milestone" of version 1.0 of Wine actually mean ? I would doubt that it'll ever be 100% compatible with Windows 98/XP. So what feature list is the development team trying to complete before calling it 1.0 ?
I think that pretty much any other product would have been deemed a failure if it had endured a 10 year development life and not reached version 1.0. Unless of course we're talking about Duke Nukem Forever...
My experience of Wine is common to most people's I think; it looks like a great idea, but as soon as you try to run any non-trivial program, it simply locks up/doesn't work. I've looked at their website and looked at all the "passed" indicators on their test cases. That doesn't help me run my apps much though... do they need more test cases ? Are they simply too abstract ??
Just my $0.02 worth
Never, ever lose a file again. Ever.
Visual C++ doesn't do anything weird regarding Windows API. The IDE is a normal affair, and the compiler could be run without a user interface. It's really not testing Wine to it's limitations and the irony of situation is barely worth commenting on. This is non-news, the only thing this article achieves is to make Slashdot look like the anti-MS geeks with limited social awareness. Some things just aren't worth giggling at.
I don't even need to look at the poster to know that this is the work of micheal...
I wrote the parent to this message, and i asked a serious question about the grandparent to this post, which was not me.
Why why why do you dislike Russians?
...does this "gay faggot shit" belong?
In your pr0n directory?
Use the Intel compilers, your code will be 50-300% faster.
50-300%? You're nuts. I've used both, and performance definitely varies...and if I had to choose one or the other as "generally producing faster code", I'd probably point at gcc.
Take a look at these benchmarks.
Gcc produces fastest code on 26 of the tests, icc on 9.
Furthermore, not all the optimization flags for gcc were being used (no idea why -fexpensive-optimizations wasn't used).
May we never see th
ad.doubleclick.nete click.net
images.slashdot.org. googlesyndication.com
ad2.doubleclick.net
ln.doubl
m.doubleclick.net
m2.doubleclick.net
images2.slashdot.org
pagead
and uses the preview right
can turn to a troll
when the typos roll
and the bottle is empty and light
Next you will have some moron compiling under vmware or bochs or plex86. If you don't care about the abstraction or the 60% degradation in performance, and the fact that you have to rewrite all your make files to use vc++ nmake, this is for you. Its a convoluted mess IMHO. Using cross gcc for win32 on linux is a much cleaner way of doing this.
usercontent.css
,u bleclick'],d vertis'],a nner/'] {
i dth="468"][height="60"] {i dth="728"][height="90"] {
*[src*='ads.'],
*[src*='/ad/']
*[src*='/ads/'],
*[src*='/Ads/'],
*[src*='do
*[src*='us.a1.yimg.com'],
*[src*='a
img[src^='http://images.slashdot.org/b
display: none !important;
}
You can add whatever else you want there as well. Things like
/* this hides the usual 468x60 Flash banner ads */
embed[type="application/x-shockwave-flash"][w
display: none !important;
visibility: hidden !important;
}
/* this hides the not so usual but very annoying 728x90 Flash banner ads */
embed[type="application/x-shockwave-flash"][w
display: none !important;
visibility: hidden !important;
}
If you wanna get rich, you know that payback is a bitch
I can run more windows apps flawlessly now...
now I'll have no reason for the need of windows...
even though I dumped windows off my HDD 6 months ago.
You running an OS on an emulated machine. You are still not running the OS as it actually runs on the machine.
and went straight for the LSD.
And they *warned* you the brown acid was bad.
KFG
Pardon my poor memory, but didn't I read recently that the Visual Studio license specifically forbids developing anything that will be released as free software?
If I remembered correctly, then this is an entirely fruitless endeavor...
Of course all my code runs right the first time. I was thinking of everybody elses code.
Fight Spammers!
What the fsck is "GNU/WINE"! Aaargh! It's one thing to give RMS some credit, but this reeks of puerile toadying in an effort to look sophisticated in front of other juvenile sycophants.
Repeat after me, "WINE is not a GNU project!"
A Government Is a Body of People, Usually Notably Ungoverned
that needs 128MB of RAM and a 3ghz Itanium just to load in under 5 minutes is Bad Thing?
Damn, back to my ed clone I guess. I think I can get that to run under your specs if I leave out the SETI@home easter egg.
KFG
The Texas Instruments Code Composer Studio for the TMS 6701 DSP is only available for windows. For this project everything else is compiled for Linux-386 as well as embedded Linux-PPC.
Running the command line tools under wine works fine, and now I am able to have one intel linux box compile all the DSP and PPC firmware as well as the Linux GUI code in a cron job from the daily cvs snapshots.
Doing this has made things SO much nicer. I would prefer if TI had a linux version of their DSP compiler, and will continue to pester them for one, but in the meantime WINE saves the day and allows me to NOT run windows for weeks on end!
My Win2000 anti-uptime is around 3 weeks now. I am weaning myself off windows!
Running command line tools like compilers is one of the EASIEST things for WINE to do - All they have to do is read and write files and allocate memory.
Biggest hassle for me: having to make special sed scripts to deal with mixed case file names in the auto-generated makefile dependency list that are incorrect since the compiler assumes case insensitive filesystems.
--jeff++
ipv6 is my vpn
Never drink & compile.
Repeal the DMCA!
I did it shometaimes and man it worksh great !
It's MAGIC.
He keeps talking about this GNU OS thingy. Does Wine run on the Hurd already?
He wants to port a game to PS2 Linux, but why does he need to build a Windows version? All that time wasted, for nothing...
Just make a shell script in ~/bin that /options as arguments:
0 3/ 02/0181.html
runs wine on whatever command you want to
access from Linux. I do it all the time.
You might need the following patch if the
command you're running is a batch file,
and you want to pass
http://www.winehq.com/hypermail/wine-patches/20
i prefer to compile under rum
*hic*
or, kill 'em ALL off, with the addendum to HOSTS at...
http://www.smartin-designs.com/
( ads, tracker-sleazers, etc, all of 'em, and it speeds-up one's browsing, too. )
Messages to/for me ( in me journal )
I paid for lots of operating systems too. I have 2 versions of OS/2, 2 versions of DOS, windows 95 and 98, 3 copies of NT 4.0 and a copy of 3.51 and a copy of w2k that I got stuck with because it didn't work and I had to refund the client's money. Microsoft would not refund what I paid them. Microsoft would not allow me to either return or exchange the unopened copies of Windows NT 4.0 either. I was a Microsoft dealer at the time and bought a 3 pack - which was about a month before w2k was announced. So I got stuck... then stuck again with w2k.
I have only one computer that runs windows NT so only one of these operating systems is in use.
I have red hat linux 6.1 server edition, OpenBSD 3.0 and Mandrake 8.1. I paid for all these too even though they are free.
Now, my desktop runs Debian and it is just great and I did a net install. Guess what, I don't know how to upgrade that RH 6.1 machine. Sure I can reformat the hard drive - but it contains a LOT of my work and I don't want to lose it. With Debian, an upgrade is easy.
In addition to this I bought 2 copies of Brief and I can't use it even though it is my favorite editor. I did a trial d/l of CRiSP and it is a wonderful editor, fully Brief compatible. I contacted them about licencing. I run 8 machines in my home and am a member of the local Unix users group and do consulting work. The CRiSP people told me I would need a "Licence Manager"! I decided to learn Emacs. It has a CRiSP mode and is looking better every day.
I bought 3 versions of M$ FTN and copies of M$ C as well. The last version of M$ FTN was such a botch that I could not use it. I have the Borland OS/2 C/C++ compiler. It was so broken I didn't use it.... but I paid for it. I have Borland C++ professional builder 4. I want to do C/C++ cross platform development.
I phoned Borland. I think they told me that I can buy Delphi for Linux. I think they told me that the language is supported on both platforms but that the API is different. The person on the other end of the phone didn't seem too knowledgable. So I am going into wxWIndows or gtk because these people actually SAY they are cross platform. Thus, I do not have any C++ builder code and didn't get my money's worth.
I have 4 versions of Oracle - paid for by the taxpayer (because I am one of their developers). The DOS versions were so bad we couldn't use them on that platform. The OS/2 versions were better but still not good enouf. It is not possible to install 8i for red hat 6.1 (even though that is the version oracle says 8I is for) unless you CAN STAND ON YOUR HEAD and read the paper What you need to knwo before you even THINK of installing oracle 8i . Imagine having to backdate the glibC and install an old version of Java from blackstrap just so you can get the installer to work. Why couldn't Oracle have put their developers into a room with 2 cd sets. One set - an off the shelf shrink wrapped copy of Red Hat 6.1, and the other set - a copy of the 8i source tree. And then make sure they don't have INTERNET access so they can't cheat and create a version that you can't install. Leave them there until they solve the problem or rot to death trying!!! Damit. I have lost MONTHS of my life solving other people's problems.
Guess what, I am porting the client's apps over to PostgreSQL. See ya Oracle!!! Goodbye!
So, of all the software I bought most of it did the job for a precious short time or didn't do the job at all - with the exception of Brief - which was just excellent. And what happened to Brief? Borland bought the rights, put it on the shelf and AFAIK I can't buy it any more.
So frankly I really don't care if that copy of VB ++ was paid for. Even if it wasn't, I do not feel M$ was ripped off . I feel I was ripped off.
I have been ripped off Over and Over and Over because I bought these products in good faith and paid for them with my hard earned money. Now I can't use them. Some never did what they were advertised to do. Others were discontinued and I lost out.
Let me tell you about the 2nd last copy of M$ FTN that I purchased. I found a bug where the conpiler just eliminated an "IF" statement. No errors, no warnings, and no machine instructions either. I filed a bug report with M$ with sample code. Months went by. I re-filed the bug. Months went by. Finally I phoned them and sat on wait for like an hour - and paid for this too. The rep told me the bug was fixed in the new version. So I bought it.
When the new version arrived I tried out the sample code from the bug report. The problem was still there. Oh, and the last version I bought couldn't be used it was so bad. The client dropped PC development ideas and switched to SUN.
What the Open Source movment has done is a refreshing breath of fresh air and IMHO it is the ONLY way that the programmers of the future are going to stand any chance of avoiding the endentured servant trap that closed source software creates. Anyone questioning this should realise that in order to use closed source software they have to agree to the licence terms and these are arbitrary and non-negotiable. If you find the terms unacceptable then you can't be a programmer. That is unless you can find the tools and the infrastructure you need elsewhere.
Well, we programmers are being attacked another way now.... patent law. If this gets too well established we won't be allowed to be independant. We'll have to work for a big company that has managed to negotiate cross licensing. Either that or pay the piper each time we want to go to the can.
Water flows down hill and the infrasructure required to build some of the closed source tools, like Windows NT/2K/XP, or Oracle or JAVA or say a compiler suite like Visual C++ or Borland Professional Builder is so great that it looks like an ocean. Oceans are hard to move. Oceans are also hard to re-create. There is no way that any company could recreate from scratch an operating system like XP. The environment that XP grew out of no longer exists. IBM tried and failed.
Over the years all computer companies with the exception of perhaps IBM,HP,M$ have failed. Who here thinks Microsoft will survive into the year 2050? Gates won't be in charge then. Who here thinks that another company is going to loom up that can invest the BILLIONS in infrastructure required to create an alternative?
The future of software has to be opensource because that is the only way for us programmers to ensure that we will have the tools we need and the right to use them.
If I add up the THOUSANDS I have spent on software over the years it illustrates to me that I should have been looking for better solutions a long time ago.
The U.S. Government already blows its competitors out of the water.
Wine is a very bad platform for compiling because everytime a file is opened in the current wine architecture there are at least two context switches and the CPU caches also get flushed. This is because of Wine's client/server approach. I love client/server architectures, but having synchronous requests and or task switches in performance critical paths are a no-go.
When compiling big projects there are many thousands of files to open. Especially those header files add up quickly. Even when the latency penalty is only a couple of hundred usecs this is very noticable. When also the CPU cache got flushed things get very bad. In my experiments only about 15% of the CPU time were available for the real compile work, the rest were soft page faults and task switches.
There was work to fix this situation but this
was shot down before it got very far.
Why are you still using nmake.exe and make files with MSVC?
If you're using .dsp files anywhere - and it sounds like you are since others are using MSVC to work on the project - nmake.exe and .mak files are pretty much obsolete with Microsoft Visual C++.
FYI, .dsp files are the equivalent of a project makefile, but generated by the GUI. They also happen to be perfectly maintainable in a text editor - but it's probably not a format you're used to.
Do yourself a favor and see if you can use the modern replacement. It's a command line similar to the following:
That will build the project directly from the command line, without mucking about exporting a .mak makefile from the GUI.
Your needs may vary, but it may save some time maintaining one only one rule file for win32, rather than a .dsp for native Windows developers, and a .mak file for you.
Thanks for letting us know that you can't install Oracle 8i on Redhat 6.1.
But how do you debug? You're going to require a Windows box to test/debug the excecutable on anyway...
That's what you get when "dumbasses" evolve? What do you mean?
Better yet, how about: "...who can't be bothered to learn English."
This is funny
This article got me thinking about the application of emulating a GNU/Linux compiler, like cc, under the windows XP OS. The cigwin project is advanced enough for that I think. It would open a whole world to windows developers who thought about porting to linux. This way you don't need to maintain a complicated GNU/Linux computer.
This is not a troll or flamebait, just suggesting the best tool for the best job.
BSD, Linux, OS X, & Solaris folks should read and blog at *nix.org
Please write to John Mayer and Nora Jones and advise them to lay off the ciggies for a bit.
You misunderstand. Slashdot IS Soviet Russia. The moderators are like the KGB - any dissidents, and BANG they are moderated invisible.
I think if you are serious about cross platform development, you need to have a native install of all the platforms you intent to port to. Either multi-boot or seperate boxes. Why? Well amy emulator, WINE espically but even VMWare, has certian quirks and differences that native hardware does not. You need to test it as it will be run to be sure. Also, if you are using any advanced 3d function, the emulators are going to fall flat on their faces.
If I were really serious about a commercial cross platform release, say Windows and Linux I think I would want a ton of testing. I'd probably want at least 3 different systems, all tht had a copy of Windows 98, ME, 2k, and XP plus at least 3 big Linux distros. While in theory something complied for any hardware under any verison of Windows should work on any other, it's just not the case. Same for Linux. You want to test for the little "gotchas" if you want to make sure you have a really stable software.
How in the world did a post of direct relevance get marked "Offtopic"? I mean, he freakin' gave an answer to the question implied by the article, unlike most of the "Score 5"'s.
I metamod religiously, and as recently as six months ago I'd generally metamod negatively in one case out of a hundred. Now I find myself nailing a bad mod or two almost every time, about one case in seven or eight. And it's getting worse. I think moderation is in an advance state of collapse, with no incremental fix likely to rescue it.
Proving that OS/2's Win16 capability was no trojan horse, because W95 was exactly the same in that regard.
Modify the parent redundant
Before Microsoft, Hotmail used Visual C++ to write programs for their servers that ran on FreeBSD. Visual C++ had a great debugger. I have YET to see a debugger on UNIX that comes close to Visual C++.
I'll rejoice.
When Dosemu reached 1.0, usage of DOS had become very low. So let us hope for a Wine 1.0 soon:)
I use squid on my machine with the sleezeball filter system, so that *all* my browsers are taken care of when I add a filter.
May we never see th
That looks like a pretty fundamental point, deserves higher score and visibility .....
Furthermore, the point of the article is that this guy is now using Wine to do some real work, not that Wine has acheived some level of technical excellence that's meant to be impressive to YOU. There is one tiny blurb about how Wine has progressed.
Does anyone know for how long Wine has been able to run vc++, and what was required to get it working?
How bout you reimplement windows from the ground up before you start trolling about it.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Right, he should not use the repository everyone else is using. It's really easy to make your own then switch your CVSROOT between the two. I generally always have my own cvs repository on my Unix home directory which serves out to other platforms.
Of course, if that's not your cup of tea, you could just share the filesystem the cvs tree is on.
The point is that copying around source trees causes more problems than it's worth.
What's the point of compiling win apps and linux apps on the same machine?
I develop windows apps for a living (hey...it's a living). Even in our 99% windows environment, I don't build _everything_ on my machine. We have an automated build environment. It's very simple to launch a little client app to trigger a build on a different machine. All of the source is checked out of source control, and then built. I wrote the "remote build" app myself so it was tailored to our companies use, but I would guess there are commercial/free utilities out there. If not, it ain't that hard to write a windows service that reads a file and executes command lines written in that file (which is what our remote build app does).
If you're going to have to have native windows machines to test on anyway, why not just set up an environment where you can build your windows apps on a windows machine while still sitting at your linux machine?
On the one hand, I think what was done was neat (sometimes just showing it can be done is worth while), but on the other hand, it doesn't sound like the most efficient way of doing things.
I managed to run Visual Studio 6 on Wine some time ago, so it is not impossible. I made a small MFC app, compiled it and ram. There were some problems with debugging though.
Oh, installer doesn't work - I ran an exe from Windows partition.
OTOH some people actually reverse engineered the NES (using an oscilloscope and disassembler) and wrote working games on it, but then they still had to show their game to Nintendo to get permission to continue developing.
The safest bet is to not have your job depend on tweaking the last little bit of performance out of a customer's machine when you have only a vague idea of which platform they might be running on. Either improve your algorithms in the whole, or hide the slow performing code in a place where the user won't notice. (if possible)
That said, another option is to isolate the performance-critical sections into chunks of code which get optimized separately and then have cpu-detection code choose the appropriate chunk at runtime. The debian atlas packages do something like this, though (AFAIR) they use hand-optimized assembly instead of just using compiler flags and/or different compilers. (and yes, you can have both the sse- and 3dnow-optimized packages installed on the same machine, and the code will load the appropriate shared library at runtime)
Then, instead of standardizing on a compiler, you'll need to standardize on a build system that will let you compile the code as you need it compiled.
I doubt that profiling would reveal that.
Fight Spammers!
Perhaps you should replace "Win3.x" with "MS-DOS". As I recall, Win3.x apps worked horribly under Windows '95, due to programmer's shortcuts that Windows '95 won't allow. DOS programs, however, often work better under Windows 95 then they do under Windows 3.x.
OH NOES!!! IT APPEARS YUO DO NOT HAVE ENOUGH MONEY TO PAY FOR DIS HERE PIZZA! WAHT EVER ARE YOU GOING TO DO!?!?
The author first asserts that the process of moving files between the systems causes the upper/lower caseness of the filenames to be munged
This is the case, I've run into this problem myself many times and it has little to do with how the files are saved and much to do with how fs-drivers are implemented and configured. Compare to how you often end up with read-only files if you copy them from a CD in Linux. Sure you can change some settings, but then often get other side-effects in other situations (goes for both). I believe he is the original author of his project.
The author displays no knowledge of the network mounting of filesystems using SAMBA (CIFS) or NFS.
The fact that he is dual-booting strongly suggests that he (like most of us) only has one development machine, not a complete network of machines. Don't get ignorant just because you are better equipped.
Why isn't the source code checked into a configuration management tool, like CVS?
Once again, he only has one workstation, thus is CVS out of the question since it needs to be hosted under one of the OSes and he can only run one at once. Besides, CVS is in most cases just unnecessary and complicates and slows stuff down if you are the single developer. You can make backups through normal file copying.
As others have already noted elsewhere, he will still have to test on the target platform.
Which I'm sure he does now and then too (by dual booting). However, if you just need to do some minor change in platform independent code it's really a bliss to not need to dual-boot.
Besides, your criticism of using VMWare for testing is quite irrelevant. It's true you need to test on multiple environments to know that it works on them all, but as you said, VMWare with Windows X *IS* one of these environments. If he's dual booting he only has access to one environment anyway, using VMWare as well will add one or more extra testing environments.
I would have LOVED to have a similar setup as his when I was developing BladeEnc. Like him I only had one development machine (couldn't afford more) and constantly needed to dual-boot in order to recompile and package a new version. The platform dependent parts of BladeEnc were very limited and untouched for 95% of the development, thus this setup + testing under wine (for possible quality degradation due to compiler excentricities) would have been more than enough during most of my days. Only performance tweaking would have to be done in windows environment.
With your 20+ years as software developer you obviously have found your way of working in your projects and with your budget. Don't knock others creative solutions for solving their problems with their resources in a totally different situation.
This is very big news. Microsoft's compiler CL.EXE makes many non-obvious Win32 API calls before it gets down to business. These calls were not implemented immediately because they are used by very few programs. Even after the calls were implemented, CL.EXE would routinely crash (as of maybe October or November 2002). If the Microsoft compiler now runs on Wine, we have achieved a major step forward.
-Hope
You should be able to use the cc front end that comes with UWIN as a front end for MSVC that you are running with WINE. This will allow you to use UNIX Makefiles to compile using MSCV. It also
will allow you do use UNIX style file names
and compile options.
I haven't tried compiling the cc front end to MSVC on UNIX/Linux, but you should be able to compile it using MSVC and run it under WINE.
The source code is part of the UWIN development package which you can download from http://www.research.att.com/sw/tools/uwin/.
Then you go on to say, "only thing this article achieves is to make Slashdot look like the anti-MS geeks with limited social awareness".
What the fuck? This article had nothing to do with MS bashing, it was about doing windows development on Linux! Again, what the fuck? Then you go on to insult Michael... for no apparent reason.
You're just trolling, stop it.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
I am sorry when was that? i never even saw OS/2 on any desktop computer!!!
OS/2 was never a desktop OS and never had a marketshare there. It came bundled with ps/2s' and that's all it ever got.
What really killed OS/2 is that you couldn't get it for free.
i've been around computers for 1 1/2 decades, and i NEVER saw anything open loosing against anything closed. I could get a windows 95 cd anytime but i couldn't find an OS/2 cd before warp.
Washington bullets will simply be known as the "Bulle
X is a Greek letter (Chi) that means "Christ."
>> does microsoft compile windows under wine?
You mean we can run programs on GNU/Linux?
To develop unix programs on windows, than to develop windows programs on unix. Based on the wich platform the developer is more likely to be running, of course. (all of my developer friends run windows)
Just to know, ICC has been known to optimize code for AMD processors quite nicely.
/usr/include/linux stuff.
An application should compile nicely anywhere, for example, Apache. You name it, gcc, icc, forte - it compiles.
Also, applications should be developed against a standard c library/headers. None of this winsock or strange SYSVisms or
GCC (with some interesting non-standard extensions) and non standard platforms like RedHat makes for difficult porting. Bad discipline and non-standardness is what created a place in the world for the giant, titanic Java. It had gotten to the point where it was easier to port a VM to here or there than to simply compile the application somewhere else. We all know speed suffers for the abstraction which is of questionable value.
So, which compiler should be targeted? Which CPU? Well, unless the compiler is broken or the CPU has severe errata, all of them.
Premature optimization is the root of all evil, so making the first order of business deciding which compiler, platform and CPU the program is for is just that. Why do you think Knuth gives examples in a mythical assembly language for a mythical processor? (Partly due to the fact that it was mythical in a superior sense at the time he came up with it, but also to point out that proper algorithmic implementation and proper programming are architecture independent.)
Legalize the constitution. Think for yourself question authority.
Very good show ;-). I still maintain 3 boxes at home (windows, linux, and mac), but maybe now I can get that down to 2! I rarely want to develop a windows program, but when I do, I always have to boot up Windows on my second Linux box, and create and compile my program, and then boot back into Linux, test my program in WINE, etc. This will hopefully save me a step ;-).
Very popular slashdot journal for adul
TCL Core Team Interview
.Net .NET language about to debut...." I was surfing around and...
.Net .NET language about to debut...." I was surfing around and...
On March 10th, 2003 with 115 comments
Gentu writes "OSNews features a nice and long-ish interview with the TCL core development team for just about everything. " Covers a lot of ground like what...
Section: Developers > Programming
Ask About Proprietary vs. Open Source Code Quality
On March 6th, 2003 with 190 comments
Scott Trappe is CEO of Reasoning, a company that has gained a certain amount of noteriety (and a Slashdot mention) by running its Ilumna automated inspection...
Section: Interviews > Programming
Survey says: ELC platform spec will expand use of
On March 5th, 2003 with 19 comments
An anonymous reader writes "According to a "quick survey" taken during the past two weeks of visitors to LinuxDevices.com's website, developers overwhelmingly...
Section: Developers > Programming
Joel on Community Forums
On March 4th, 2003 with 76 comments
Evil Grinn writes "In Building Communities with Software, Joel Spolsky starts with a lament about the lack of real-life community among programmers, but...
Section: Developers > Programming
Object Prevalence: Get Rid of Your Database?
On March 3rd, 2003 with 674 comments
A reader writes:" Persistence for object-oriented systems is an incredibly cumbersome task to deal with when building many kinds of applications: mapping...
Section: Developers > Programming
An XHTML Tutorial That Does Not Assume HTML?
On March 2nd, 2003 with 39 comments
stevelinton writes "I am looking for a tutorial similar to Dave Ragget's excellent HTML tutorial(s), but for XHTML 1.1. I am NOT looking for a "HTML to XHTML"...
Section: Ask Slashdot > Programming
Welcome to the Safari Jungle
On February 27th, 2003 with 211 comments
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid...
Section: Book Reviews > Programming
GLSlang Draft Approved
On February 27th, 2003 with 26 comments
Screaming Lunatic writes "The OpenGL2 working group has approved the draft version of The OpenGL Shading Language (glslang). It looks like OpenGL2.0 is...
Section: Developers > Programming
Use of Math Languages and Packages in Research?
On February 26th, 2003 with 453 comments
CEHT asks: "As a research programmer at the university, I have encountered numerous times when I need to choose which language(s) or package(s) to use for...
Section: Ask Slashdot > Programming
Turing Test 2: A Sense of Humor
On February 26th, 2003 with 389 comments
mhackarbie writes "Salon has a great story, Artificial Stupidity, about the Loebner Prize, a yearly contest that for over 10 years now has offered a $100,000...
Section: Main > Programming
Swarm Intelligence
On February 25th, 2003 with 219 comments
elamdaly writes "Eric Bonabeau, Ph.D, a keynote speaker at the upcoming Emerging Technology conference, is a leader in the field of swarm intelligence and has...
Section: Developers > Programming
Do Scripters Suffer Discrimination?
On February 24th, 2003 with 1216 comments
TheTheologian writes "In his InfoWorld column, Chad Dickerson says 'there is a level of quiet discomfort between the "scripting" versus "programming" factions...
Section: Ask Slashdot > Programming
Compiling Under Wine
On February 23rd, 2003 with 340 comments
now3djp writes "Interesting article over on CodingStyle that demonstrates how I successfully eliminated wasted time maintaining an MS-Windows computer when I...
Section: Developers > Programming
An Interview With Guido van Rossum
On February 20th, 2003 with 18 comments
An anonymous reader submits "The folks over at artima.com have finished posting a 6 part interview with Guido Van Rossum, Python's creator and Benevolent...
Section: Developers > Programming
Guide to Globalizing Windows Applications
On February 20th, 2003 with 43 comments
JimCricket writes "Does your application need to be usable in multiple countries? Art & Logic has posted a handbook for developers who want to globalize...
Section: Developers > Programming
Stop Breaking the Build
On February 19th, 2003 with 92 comments
Cap'n Grumpy writes "You know the score - you've just finished some coding, do a final cvs update before commiting, and all of a sudden all hell breaks loose....
Section: Developers > Programming
Agile Software Development with Scrum
On February 18th, 2003 with 168 comments
bADlOGIN writes "Anyone and everyone on Slashdot probably knows that business-driven software development efforts all too often end up as a mess. After a...
Section: Book Reviews > Programming
Web Programming by printf()
On February 17th, 2003 with 104 comments
An anonymous reader writes "Art & Logic has posted an article titled 'Why CGI is Evil'. CGI might be an obvious way to create a simple web application, but...
Section: Developers > Programming
Best Practices for Writing LDAP Aware Apps?
On February 17th, 2003 with 33 comments
Saqib Ali asks: "I am in a process of writing a web application, that makes quite a lot of transactions with the LDAP server. I would like to find out, what...
Section: Ask Slashdot > Programming
New S# Language - Smalltalk for
On February 14th, 2003 with 47 comments
curador writes "In an interview with David Simmons, CTO of SmallScript Corp., we learned about a new
Section: Developers > Programming
Inside the Intel Compiler
On February 13th, 2003 with 52 comments
deadfx writes "Linux Journal is carrying an article authored by members of the Intel Compiler Lab examining specific optimizations employed by the compiler...
Section: Developers > Programming
Extreme Programming for Web Projects
On February 13th, 2003 with 197 comments
PinglePongle writes with this review of Addison Wesley's Extreme Programming for Web Projects, writing "The authors work for a web shop, building websites for...
Section: Book Reviews > Programming
Apple Publishes Keynote XML Schema
On February 13th, 2003 with 29 comments
grouchomarxist writes "Apple has published a technote on the XML file format (APXL schema) used by their new presentation application Keynote. They've also...
Section: Apple > Programming
Perl Features of the Future - Part 1
On February 13th, 2003 with 61 comments
Kevin writes "This story highlights some of the features being included in Perl 6. "There will be substantial changes in the move from Perl 5 to Perl 6. We've...
Section: Developers > Programming
Trees Fall Prey to AoA
On February 11th, 2003 with 30 comments
bluethundr writes "For all of the years that it has been available, the only way to read the classic instructional text known as the Art of Assembly by Randy...
Section: Developers > Programming
Programmers and the "Big Picture"?
On February 11th, 2003 with 405 comments
FirmWarez asks: "I'm an embedded systems engineer. I've designed and programmed industrial, medical, consumer, and aerospace gear. I was engineering manager...
Section: Developers > Programming
Guido van Rossum On Strong vs. Weak Typing
On February 10th, 2003 with 100 comments
Bill Venners writes "In this interview, Java creator James Gosling says, 'There's a folk theorem out there that systems with very loose typing are very easy...
Section: Developers > Programming
XML Turns 5
On February 10th, 2003 with 36 comments
GiMP writes "According to the World Wide Web Consortium, XML turns 5 years old today. XML is used by many programs as a generic container for data....
Section: Developers > Programming
IPv6 Application Competition - win $10,000
On February 9th, 2003 with 217 comments
sneekz writes "The IPv6 Promotion Council of Japan has announced a competition for developers of IPv6-enabled applications. Various prizes up to $10,000 for...
Section: Developers > Programming
Open Watcom 1.0 Released
On February 8th, 2003 with 307 comments
JoshRendlesham writes "The Open Watcom C/C++ and FORTRAN 1.0 compilers have been officially released. The source, and binaries for Win32 and OS/2 systems, are...
Section: Developers > Programming
TCL Core Team Interview
On March 10th, 2003 with 115 comments
Gentu writes "OSNews features a nice and long-ish interview with the TCL core development team for just about everything. " Covers a lot of ground like what...
Section: Developers > Programming
Ask About Proprietary vs. Open Source Code Quality
On March 6th, 2003 with 190 comments
Scott Trappe is CEO of Reasoning, a company that has gained a certain amount of noteriety (and a Slashdot mention) by running its Ilumna automated inspection...
Section: Interviews > Programming
Survey says: ELC platform spec will expand use of
On March 5th, 2003 with 19 comments
An anonymous reader writes "According to a "quick survey" taken during the past two weeks of visitors to LinuxDevices.com's website, developers overwhelmingly...
Section: Developers > Programming
Joel on Community Forums
On March 4th, 2003 with 76 comments
Evil Grinn writes "In Building Communities with Software, Joel Spolsky starts with a lament about the lack of real-life community among programmers, but...
Section: Developers > Programming
Object Prevalence: Get Rid of Your Database?
On March 3rd, 2003 with 674 comments
A reader writes:" Persistence for object-oriented systems is an incredibly cumbersome task to deal with when building many kinds of applications: mapping...
Section: Developers > Programming
An XHTML Tutorial That Does Not Assume HTML?
On March 2nd, 2003 with 39 comments
stevelinton writes "I am looking for a tutorial similar to Dave Ragget's excellent HTML tutorial(s), but for XHTML 1.1. I am NOT looking for a "HTML to XHTML"...
Section: Ask Slashdot > Programming
Welcome to the Safari Jungle
On February 27th, 2003 with 211 comments
Robby Russell writes "Paper books have a tendency to accumulate dust, take up large amounts of shelf space and be a painful reminder that you need to get rid...
Section: Book Reviews > Programming
GLSlang Draft Approved
On February 27th, 2003 with 26 comments
Screaming Lunatic writes "The OpenGL2 working group has approved the draft version of The OpenGL Shading Language (glslang). It looks like OpenGL2.0 is...
Section: Developers > Programming
Use of Math Languages and Packages in Research?
On February 26th, 2003 with 453 comments
CEHT asks: "As a research programmer at the university, I have encountered numerous times when I need to choose which language(s) or package(s) to use for...
Section: Ask Slashdot > Programming
Turing Test 2: A Sense of Humor
On February 26th, 2003 with 389 comments
mhackarbie writes "Salon has a great story, Artificial Stupidity, about the Loebner Prize, a yearly contest that for over 10 years now has offered a $100,000...
Section: Main > Programming
Swarm Intelligence
On February 25th, 2003 with 219 comments
elamdaly writes "Eric Bonabeau, Ph.D, a keynote speaker at the upcoming Emerging Technology conference, is a leader in the field of swarm intelligence and has...
Section: Developers > Programming
Do Scripters Suffer Discrimination?
On February 24th, 2003 with 1216 comments
TheTheologian writes "In his InfoWorld column, Chad Dickerson says 'there is a level of quiet discomfort between the "scripting" versus "programming" factions...
Section: Ask Slashdot > Programming
Compiling Under Wine
On February 23rd, 2003 with 340 comments
now3djp writes "Interesting article over on CodingStyle that demonstrates how I successfully eliminated wasted time maintaining an MS-Windows computer when I...
Section: Developers > Programming
An Interview With Guido van Rossum
On February 20th, 2003 with 18 comments
An anonymous reader submits "The folks over at artima.com have finished posting a 6 part interview with Guido Van Rossum, Python's creator and Benevolent...
Section: Developers > Programming
Guide to Globalizing Windows Applications
On February 20th, 2003 with 43 comments
JimCricket writes "Does your application need to be usable in multiple countries? Art & Logic has posted a handbook for developers who want to globalize...
Section: Developers > Programming
Stop Breaking the Build
On February 19th, 2003 with 92 comments
Cap'n Grumpy writes "You know the score - you've just finished some coding, do a final cvs update before commiting, and all of a sudden all hell breaks loose....
Section: Developers > Programming
Agile Software Development with Scrum
On February 18th, 2003 with 168 comments
bADlOGIN writes "Anyone and everyone on Slashdot probably knows that business-driven software development efforts all too often end up as a mess. After a...
Section: Book Reviews > Programming
Web Programming by printf()
On February 17th, 2003 with 104 comments
An anonymous reader writes "Art & Logic has posted an article titled 'Why CGI is Evil'. CGI might be an obvious way to create a simple web application, but...
Section: Developers > Programming
Best Practices for Writing LDAP Aware Apps?
On February 17th, 2003 with 33 comments
Saqib Ali asks: "I am in a process of writing a web application, that makes quite a lot of transactions with the LDAP server. I would like to find out, what...
Section: Ask Slashdot > Programming
New S# Language - Smalltalk for
On February 14th, 2003 with 47 comments
curador writes "In an interview with David Simmons, CTO of SmallScript Corp., we learned about a new
Section: Developers > Programming
Inside the Intel Compiler
On February 13th, 2003 with 52 comments
deadfx writes "Linux Journal is carrying an article authored by members of the Intel Compiler Lab examining specific optimizations employed by the compiler...
Section: Developers > Programming
Extreme Programming for Web Projects
On February 13th, 2003 with 197 comments
PinglePongle writes with this review of Addison Wesley's Extreme Programming for Web Projects, writing "The authors work for a web shop, building websites for...
Section: Book Reviews > Programming
Apple Publishes Keynote XML Schema
On February 13th, 2003 with 29 comments
grouchomarxist writes "Apple has published a technote on the XML file format (APXL schema) used by their new presentation application Keynote. They've also...
Section: Apple > Programming
Perl Features of the Future - Part 1
On February 13th, 2003 with 61 comments
Kevin writes "This story highlights some of the features being included in Perl 6. "There will be substantial changes in the move from Perl 5 to Perl 6. We've...
Section: Developers > Programming
Trees Fall Prey to AoA
On February 11th, 2003 with 30 comments
bluethundr writes "For all of the years that it has been available, the only way to read the classic instructional text known as the Art of Assembly by Randy...
Section: Developers > Programming
Programmers and the "Big Picture"?
On February 11th, 2003 with 405 comments
FirmWarez asks: "I'm an embedded systems engineer. I've designed and programmed industrial, medical, consumer, and aerospace gear. I was engineering manager...
Section: Developers > Programming
Guido van Rossum On Strong vs. Weak Typing
On February 10th, 2003 with 100 comments
Bill Venners writes "In this interview, Java creator James Gosling says, 'There's a folk theorem out there that systems with very loose typing are very easy...
Section: Developers > Programming
XML Turns 5
On February 10th, 2003 with 36 comments
GiMP writes "According to the World Wide Web Consortium, XML turns 5 years old today. XML is used by many programs as a generic container for data....
Section: Developers > Programming
IPv6 Application Competition - win $10,000
On February 9th, 2003 with 217 comments
sneekz writes "The IPv6 Promotion Council of Japan has announced a competition for developers of IPv6-enabled applications. Various prizes up to $10,000 for...
Section: Developers > Programming
Open Watcom 1.0 Released
On February 8th, 2003 with 307 comments
JoshRendlesham writes "The Open Watcom C/C++ and FORTRAN 1.0 compilers have been officially released. The source, and binaries for Win32 and OS/2 systems, are...
Section: Developers > Programming