That won't work.
You have to use the compiler that perl was compiled with ( i have gcc in my path, but my perl was compiled with cl, which is also in my path).
All that stuff is stored in Config (use Config; aka `perl -V:.+');
A technique i've seen often is to get the compiler details out of %Config,
and attempt to compile test.c,
which is simply int main(){return 0};
Then attempt to run it.
If you made it past those two, the user has a compiler, so the makefile gets written.
And of course, there is an override commandline option, which skips the check, and assumes there is a compiler installed.
The best technique by far , in my opinion, is not to worry or perform any checks. The users will figure out if s?he needs a compiler when they run make, you just make sure all your ducks are in order ;)(all the user has to do if they got a compiler is fill in a few path variables, and let it rip)
For examples of this see the makefiles for the following distributions (among others):
MJD says you
can't just make shit up and expect the computer to know what you mean, retardo!
** The Third rule of perl club is a statement of fact: pod is sexy.
|
| [reply] [d/l] |
Do you really need a compiler or do you need a maker? Most win32 machines have neither, but its the later thats important for non XS modules.
I thought that MakeMaker was smart enough to know which compiler to use, but its up to the end user to make sure that its available from the path and that the LIB and INCLUDE directories. Maybe a simple prompt at the beginning saying "You need to make sure a compiler is available from the path. If this requires running a batch file then do so before you use this code..." or somethign like that.
As a last point, maybe File::Which is useful to you?
--- demerphq
my friends call me, usually because I'm late....
| [reply] |