http://www.perlmonks.org?node_id=181731


in reply to Re: Compiling Tk::PNG on win32 (complications, more c/xs than perl)
in thread Compiling Tk::PNG on win32 (complications, more c/xs than perl)

Wouldn't passing -I and -L do that? (extra paths) Editing Config.pm is out of the question.
Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultip +licity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DN +O_STRICT -DHAVE_DES_FCRYPT -D PERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', + lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:/ +Perl\lib\CORE" -machine:x86' libpth="C:\Program Files\Microsoft Visual Studio\VC98\mfc\lib" "C: +\Program Files\Microsoft Visua l Studio\VC98\lib" "C:\Perl\lib\CORE" libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib + comdlg32.lib advapi32.lib sh ell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mp +r.lib winmm.lib version.lib o dbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool +.lib comdlg32.lib advapi32.li b shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.li +b mpr.lib winmm.lib version.l ib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -l +ibpath:"C:/Perl\lib\CORE" -ma chine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEX +T PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 633 Built under MSWin32 Compiled at Jun 17 2002 21:33:05 @INC: C:/Perl/lib C:/Perl/site/lib . C:\>
so you really need to "show" them to Makefile.PL somehow.

I'm open for suggestions (I cracked open Makefile.PL at one point, added stuff to LIBS and INC, as well as cracking the Makefile itself open and doing that under CCFLAGS, but that didn't really solve anything I didn't by hardcoding the stuff myself as described in the original thread ~ I really disliked doing that)

At this point I really am convinced (since i'm using zlib 1.1.4, cause I can't find no other) that this is mostly due to my zlib version ~ most likely the Tk::PNG stuff needs to be updated to work with the newer zlib/libpng (imgPNG.c is the heart'n'soul of the module ~ i'm not an xs hacker).

 
______crazyinsomniac_____________________________
Of all the things I've lost, I miss my mind the most.
perl -e "$q=$_;map({chr unpack qq;H*;,$_}split(q;;,q*H*));print;$q/$q;"

Replies are listed 'Best First'.
Re: Re: Re: Compiling Tk::PNG on win32 (complications, more c/xs than perl)
by Courage (Parson) on Jul 15, 2002 at 10:49 UTC
    Here is one of my diff files to gain similar things:
    --- D:\WORK\PerlCompile\perl-5.6.1-x\compile-extensions\XML-Parser-2.3 +0\xxx\Makefile.PL Thu Apr 19 22:01:23 2001 +++ Makefile.PL Thu Apr 19 21:50:10 2001 @@ -24,7 +24,7 @@ WriteMakefile( NAME => 'XML::Parser::Expat', C => ['Expat.c'], - LIBS => $libs, + LIBS => "-L$Config{libpth} -L$Config{libpth}\\Relea +se vcl.lib $libs", XSPROTOARG => '-noprototypes', VERSION_FROM => 'Expat.pm', @extras
    So add/edit Makefile.PL in a similar way.

    Courage, the Cowardly Dog.