httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From David Wheeler <da...@kineticode.com>
Subject Re: Building on Red Hat 9
Date Fri, 26 Mar 2004 01:42:22 GMT
On Mar 25, 2004, at 4:50 PM, Stas Bekman wrote:

> I'm not 100% sure, but I think not. You lack a simple xs.->.c  
> conversion, i.e. it ignores the .xs files. Please show me the  
> execution path without your recent patch. But before you do tha, can  
> you open your MAkefile and check for xs targets?

Here you go:

# --- MakeMaker xs_c section:

.xs.c:
	$(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $(XSUBPP_EXTRA_ARGS)  
$*.xs > $*.xsc && $(MV) $*.xsc $*.c


# --- MakeMaker xs_o section:

.xs$(OBJ_EXT):
	$(PERLRUN) $(XSUBPP) $(XSPROTOARG) $(XSUBPPARGS) $*.xs > $*.xsc &&  
$(MV) $*.xsc $*.c
	$(CCCMD) $(CCCDLFLAGS) "-I$(PERL_INC)" $(PASTHRU_DEFINE) $(DEFINE) $*.c

And now for the make without the patch:

geertz% make
cp lib/Apache/libapreq.pm blib/lib/Apache/libapreq.pm
cp libapreq.pod blib/lib/libapreq.pod
cc -c   
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/modules/perl  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/regex  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/os/unix -I/usr/include/httpd -pipe -fno-common -DPERL_DARWIN  
-no-cpp-precomp -fno-strict-aliasing -Os   -DVERSION=\"\"  
-DXS_VERSION=\"\"  "-I/usr/local/lib/perl5/5.8.3/darwin-2level/CORE"    
apache_request.c
cc -c   
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/modules/perl  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/regex  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/os/unix -I/usr/include/httpd -pipe -fno-common -DPERL_DARWIN  
-no-cpp-precomp -fno-strict-aliasing -Os   -DVERSION=\"\"  
-DXS_VERSION=\"\"  "-I/usr/local/lib/perl5/5.8.3/darwin-2level/CORE"    
apache_cookie.c
cc -c   
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/modules/perl  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/regex  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/os/unix -I/usr/include/httpd -pipe -fno-common -DPERL_DARWIN  
-no-cpp-precomp -fno-strict-aliasing -Os   -DVERSION=\"\"  
-DXS_VERSION=\"\"  "-I/usr/local/lib/perl5/5.8.3/darwin-2level/CORE"    
apache_multipart_buffer.c
rm -rf ../blib/arch/auto/libapreq/libapreq.a
/usr/bin/ar cr ../blib/arch/auto/libapreq/libapreq.a apache_request.o  
apache_cookie.o apache_multipart_buffer.o && /usr/bin/ar ts  
../blib/arch/auto/libapreq/libapreq.a
apache_request.o
apache_cookie.o
apache_multipart_buffer.o
chmod 755 ../blib/arch/auto/libapreq/libapreq.a
cp apache_multipart_buffer.h  
../blib/arch/auto/libapreq/include/apache_multipart_buffer.h
cp apache_cookie.h ../blib/arch/auto/libapreq/include/apache_cookie.h
cp apache_request.h ../blib/arch/auto/libapreq/include/apache_request.h
cp Request.pm ../blib/lib/Apache/Request.pm
/usr/bin/perl /usr/local/lib/perl5/5.8.3/ExtUtils/xsubpp  -typemap  
/usr/local/lib/perl5/5.8.3/ExtUtils/typemap -typemap  
/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/typemap   
Request.xs > Request.xsc && mv Request.xsc Request.c
cc -c  -I../c  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/modules/perl  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/regex  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/os/unix -I/usr/include/httpd -pipe -fno-common -DPERL_DARWIN  
-no-cpp-precomp -fno-strict-aliasing -Os   -DVERSION=\"1.3\"  
-DXS_VERSION=\"1.3\"  "-I/usr/local/lib/perl5/5.8.3/darwin-2level/CORE"  
   Request.c
In file included from  
/usr/local/lib/perl5/5.8.3/darwin-2level/CORE/perl.h:1807,
                  from  
/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/include/ 
modules/perl/mod_perl.h:80,
                  from Request.xs:57:
/usr/local/lib/perl5/5.8.3/darwin-2level/CORE/handy.h:259:1: warning:  
"strEQ" redefined
In file included from Request.xs:17:
../c/apache_request.h:78:1: warning: this is the location of the  
previous definition
Running Mkbootstrap for Apache::Request ()
chmod 644 Request.bs
rm -f ../blib/arch/auto/Apache/Request/Request.bundle
LD_RUN_PATH="" env MACOSX_DEPLOYMENT_TARGET=10.3 cc  -bundle -undefined  
dynamic_lookup -L/usr/local/lib Request.o  -o  
../blib/arch/auto/Apache/Request/Request.bundle    
-L/Users/david/dev/perl/httpd-apreq/Request/../blib/arch/auto/libapreq  
-lapreq
chmod 755 ../blib/arch/auto/Apache/Request/Request.bundle
cp Request.bs ../blib/arch/auto/Apache/Request/Request.bs
chmod 644 ../blib/arch/auto/Apache/Request/Request.bs
Manifying ../blib/man3/Apache::Request.3
cp Cookie.pm ../blib/lib/Apache/Cookie.pm
/usr/bin/perl /usr/local/lib/perl5/5.8.3/ExtUtils/xsubpp  -typemap  
/usr/local/lib/perl5/5.8.3/ExtUtils/typemap -typemap  
/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/typemap   
Cookie.xs > Cookie.xsc && mv Cookie.xsc Cookie.c
cc -c  -I../c  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/modules/perl  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/include  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/regex  
-I/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/ 
include/os/unix -I/usr/include/httpd -pipe -fno-common -DPERL_DARWIN  
-no-cpp-precomp -fno-strict-aliasing -Os   -DVERSION=\"1.3\"  
-DXS_VERSION=\"1.3\"  "-I/usr/local/lib/perl5/5.8.3/darwin-2level/CORE"  
   Cookie.c
In file included from  
/usr/local/lib/perl5/5.8.3/darwin-2level/CORE/perl.h:1807,
                  from  
/usr/local/lib/perl5/site_perl/5.8.3/darwin-2level/auto/Apache/include/ 
modules/perl/mod_perl.h:80,
                  from Cookie.xs:56:
/usr/local/lib/perl5/5.8.3/darwin-2level/CORE/handy.h:259:1: warning:  
"strEQ" redefined
In file included from ../c/apache_cookie.h:20,
                  from Cookie.xs:17:
../c/apache_request.h:78:1: warning: this is the location of the  
previous definition
Running Mkbootstrap for Apache::Cookie ()
chmod 644 Cookie.bs
rm -f ../blib/arch/auto/Apache/Cookie/Cookie.bundle
LD_RUN_PATH="" env MACOSX_DEPLOYMENT_TARGET=10.3 cc  -bundle -undefined  
dynamic_lookup -L/usr/local/lib Cookie.o  -o  
../blib/arch/auto/Apache/Cookie/Cookie.bundle    
-L/Users/david/dev/perl/httpd-apreq/Cookie/../blib/arch/auto/libapreq  
-lapreq
chmod 755 ../blib/arch/auto/Apache/Cookie/Cookie.bundle
cp Cookie.bs ../blib/arch/auto/Apache/Cookie/Cookie.bs
chmod 644 ../blib/arch/auto/Apache/Cookie/Cookie.bs
Manifying ../blib/man3/Apache::Cookie.3
Manifying blib/man3/Apache::libapreq.3
Manifying blib/man3/libapreq.3

And of course, "make test" does pass.

> so when i tell MM to create .o, it first will use xs_o target which  
> will trigger xs_c target, so it'll do xs -> c -> o. I suppose that  
> since you use dylib it has no idea what to do with it. as you probably  
> don't have xs_dylib make target

Nope.

> Also could you grep for some CPAN modules that use the 'OBJECT'  
> argument in Makefile.PL?

geertz% cd ~/.cpanplus
geertz% find . -name Makefile.PL | xargs grep OBJECT
./5.8.2/build/Compress-Zlib-1.32/zlib-src/Makefile.PL:  'OBJECT'    =>  
q[ $(O_FILES) ],
./5.8.2/build/Data-UUID-0.11/Makefile.PL:    'OBJECT'           =>  
'$(O_FILES)', # link all the C files too
./5.8.2/build/DBD-Pg-1.31/Makefile.PL:    OBJECT       =>  
"Pg\$(OBJ_EXT) dbdimp\$(OBJ_EXT) quote\$(OBJ_EXT) types\$(OBJ_EXT)",
./5.8.2/build/File-RsyncP-0.44/Digest/Makefile.PL:    'OBJECT'  =>  
q[Digest$(OBJ_EXT) md4c$(OBJ_EXT) rsync_lib$(OBJ_EXT)],
./5.8.2/build/File-RsyncP-0.44/FileList/Makefile.PL:    'OBJECT'         
     => q[FileList$(OBJ_EXT) flist$(OBJ_EXT)],
./5.8.2/build/version-0.33/Makefile.PL:    'OBJECT'             =>  
'$(O_FILES)', # link all the C files too
./5.8.2/build/version-0.34/Makefile.PL:    'OBJECT'             =>  
'$(O_FILES)', # link all the C files too
./5.8.3/build/DBD-Pg-1.32/Makefile.PL:    OBJECT       =>  
"Pg\$(OBJ_EXT) dbdimp\$(OBJ_EXT) quote\$(OBJ_EXT) types\$(OBJ_EXT)",
./5.8.3/build/DBD-Pg-1.32_1/Makefile.PL:    OBJECT       =>  
"Pg\$(OBJ_EXT) dbdimp\$(OBJ_EXT) quote\$(OBJ_EXT) types\$(OBJ_EXT)",
./5.8.3/build/DBD-Pg-1.32_2/Makefile.PL:    OBJECT       =>  
"Pg\$(OBJ_EXT) dbdimp\$(OBJ_EXT) quote\$(OBJ_EXT) types\$(OBJ_EXT)",
./5.8.3/build/DBD-SQLite-0.29/Makefile.PL:    'OBJECT'        =>  
'$(O_FILES)',
./5.8.3/build/IPC-ShareLite-0.09/Makefile.PL:    'OBJECT'    =>  
'sharelite.o ShareLite.o',
./5.8.3/build/Mac-Carbon-0.64/AppleEvents/Makefile.PL:  $ARGS{'OBJECT'}  
         = 'AppleEvents.o PerlAEUtils.o';
./5.8.3/build/Mac-Carbon-0.64/AppleEvents/Makefile.PL:  $ARGS{'OBJECT'}  
         = 'AppleEvents.c.o PerlAEUtils.cp.o';
./5.8.3/build/Mac-Carbon-0.64/MacPerl/Makefile.PL:      $ARGS{'OBJECT'}  
         = 'MacPerl.o OSA.o';
./5.8.3/build/Mac-Carbon-0.64/MacPerl/Makefile.PL:      $ARGS{'OBJECT'}  
         = 'MacPerl.c XL.c OSA.c';
./5.8.3/build/Mac-Carbon-0.64/MoreFiles/Makefile.PL:    $ARGS{'OBJECT'}  
         = '$(O_FILES)';
./5.8.3/build/Mac-Carbon-0.64/MoreFiles/Makefile.PL:    $ARGS{'OBJECT'}  
         = 'MF.c';
./5.8.3/build/Mac-Carbon-0.65/AppleEvents/Makefile.PL:  $ARGS{'OBJECT'}  
         = 'AppleEvents.o PerlAEUtils.o';
./5.8.3/build/Mac-Carbon-0.65/AppleEvents/Makefile.PL:  $ARGS{'OBJECT'}  
         = 'AppleEvents.c.o PerlAEUtils.cp.o';
./5.8.3/build/Mac-Carbon-0.65/MacPerl/Makefile.PL:      $ARGS{'OBJECT'}  
         = 'MacPerl.o OSA.o';
./5.8.3/build/Mac-Carbon-0.65/MacPerl/Makefile.PL:      $ARGS{'OBJECT'}  
         = 'MacPerl.c XL.c OSA.c';
./5.8.3/build/Mac-Carbon-0.65/MoreFiles/Makefile.PL:    $ARGS{'OBJECT'}  
         = '$(O_FILES)';
./5.8.3/build/Mac-Carbon-0.65/MoreFiles/Makefile.PL:    $ARGS{'OBJECT'}  
         = 'MF.c';
./5.8.3/build/Mac-Carbon-0.66/AppleEvents/Makefile.PL:  $ARGS{'OBJECT'}  
         = 'AppleEvents.o PerlAEUtils.o';
./5.8.3/build/Mac-Carbon-0.66/AppleEvents/Makefile.PL:  $ARGS{'OBJECT'}  
         = 'AppleEvents.c.o PerlAEUtils.cp.o';
./5.8.3/build/Mac-Carbon-0.66/MacPerl/Makefile.PL:      $ARGS{'OBJECT'}  
         = 'MacPerl.o OSA.o';
./5.8.3/build/Mac-Carbon-0.66/MacPerl/Makefile.PL:      $ARGS{'OBJECT'}  
         = 'MacPerl.c XL.c OSA.c';
./5.8.3/build/Mac-Carbon-0.66/MoreFiles/Makefile.PL:    $ARGS{'OBJECT'}  
         = '$(O_FILES)';
./5.8.3/build/Mac-Carbon-0.66/MoreFiles/Makefile.PL:    $ARGS{'OBJECT'}  
         = 'MF.c';
./5.8.3/build/PAR-0.80/myldr/Makefile.PL:OBJECTS=main$o my_par_pl$o $res
./5.8.3/build/PAR-0.80/myldr/Makefile.PL:$par_exe: \$(OBJECTS)  
my_par_pl$o
./5.8.3/build/PAR-0.80/myldr/Makefile.PL:       \$(LD) \$(OBJECTS)  
\$(PERL_LDFLAGS) $out$par_exe_link
./5.8.3/build/Template-Toolkit-2.13/xs/Makefile.PL:    'OBJECT'   =>  
'Stash.o',
./5.8.3/build/version-0.35/Makefile.PL:    'OBJECT'             =>  
'$(O_FILES)', # link all the C files too
./5.8.3/build/version-0.36/Makefile.PL:    'OBJECT'             =>  
'$(O_FILES)', # link all the C files too
./5.8.3/build/XML-LibXML-1.57/Makefile.PL:    'OBJECT'    =>  
'$(O_FILES)', # add the DOM extensions to libxml2

HTH,

David


Mime
View raw message