Skip Menu |

This queue is for tickets about the Prima CPAN distribution.

Report information
The Basics
Id: 2434
Status: resolved
Priority: 0/
Queue: Prima

People
Owner: Nobody in particular
Requestors:
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: Makefile.PL suggestion (refactor, turn into Prima::build)
your Makefile.PL is seriously bloated. You ought to put that stuff in a module called Prima::build. wxPerl ( http://wxperl.sf.net/ ) has a very nice way of doing it (Wx::build) Also, you might wanna make use of Win32::GetShortPathName
From: Dmitry Karasik
[guest - Thu Apr 24 10:29:50 2003]: Show quoted text
> your Makefile.PL is seriously bloated.
I'm scared. Show quoted text
> You ought to put that stuff in a module called Prima::build.
What would anyone benefit from that? Show quoted text
> Also, you might wanna make use of Win32::GetShortPathName
Prima does not use Win32 package. What is the reason to use it as a prerequisite? /Dmitry P.S. http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/misc.html#BIKESHED-PAINTING
From: Dmitry Karasik
[guest - Thu Apr 24 10:29:50 2003]: Show quoted text
> your Makefile.PL is seriously bloated.
I'm scared. Show quoted text
> You ought to put that stuff in a module called Prima::build.
What would anyone benefit from that? Show quoted text
> Also, you might wanna make use of Win32::GetShortPathName
Prima does not use Win32 package. What is the reason to use it as a prerequisite? /Dmitry P.S. http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/misc.html#BIKESHED-PAINTING
[guest - Thu Apr 24 11:28:36 2003]: Show quoted text
> [guest - Thu Apr 24 10:29:50 2003]: >
> > your Makefile.PL is seriously bloated.
> > I'm scared. >
> > You ought to put that stuff in a module called Prima::build.
> > What would anyone benefit from that?
It'd make debugging easier (people trying to build would have an easier time) Show quoted text
> > Also, you might wanna make use of Win32::GetShortPathName
> > Prima does not use Win32 package. What is the reason > to use it as a prerequisite?
often times C:\progra~1 is better than C:\program files on win32
Show quoted text
> > > You ought to put that stuff in a module called Prima::build.
> > What would anyone benefit from that?
> It'd make debugging easier > (people trying to build would have an easier time)
I would disagree here. No matter how big Makefile.PL is, there is no clear division line where which code would go to ::build and which would remain. Since Prima's Makefile.PL doesn't use MakeMaker & company, all the code is needed. A typical Makefile.PL is small because it uses MakeMaker, and this does not make debugging easier. When there's trouble with building, it's better to consult with makefile.log, - the only cases when one needs hacking Makefile.PL, are either when new features are to be added, or when an absolutely different building paradigm is used - compare WIn32 and unix, for example. Show quoted text
>
> > > Also, you might wanna make use of Win32::GetShortPathName
> > > > Prima does not use Win32 package. What is the reason > > to use it as a prerequisite?
> > often times C:\progra~1 is better than C:\program files > on win32
This is not the case, I'm afraid. A space character is absolutely valid filesystem symbol, and might as well appear on every system. Doing that only for Win32 is, with high probability, a ugly hack. In general though I do agree that it's easier, but lets' consider the following real life example: Show quoted text
> cl -nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT
-DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -nologo -O1 -MD -DNDEBUG -Iinclude -Iinclude\generic -IC:\Perl\lib\CORE -DHAVE_CONFIG_H=1 -FeC:\DOCUME~1\_\LOCALS~1\Temp\pmts0000.exe -FoC:\DOCUME~1\_\LOCALS~1\Temp\pmts0000.obj C:\DOCUME~1\_\LOCALS~1\Temp\pmts0000.c /link /LIBPATH:"C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib" /LIBPATH:"C:\Program Files\Microsoft Visual Studio\VC98\lib" /LIBPATH:"C:\Perl\lib\CORE" oldnames.lib pmts0000.c LINK : fatal error LNK1181: cannot open input file "Files\Microsoft.obj" Who's stupid here? Makefile.PL or Microsoft's link.exe? A do agree that the situation is bad, but it can be overridden with explicitly setting environment variables.
Show quoted text
> Who's stupid here? Makefile.PL or Microsoft's link.exe? A do agree > that the situation is bad, > but it can be overridden with explicitly setting environment > variables.
Maybe you should put that in the readme?