On Fri, 2007-07-20 at 14:39 +0200, Mike wrote:
On 7/20/07, Farokh Irani <[EMAIL PROTECTED]> wrote:
> So, somewhere there is still something going on with .c vs .cpp. I'll
> poke at apxs a bit and see if I can figure out why, but a crash
> course in perl wasn't what I was looking at doing right now :)
So you mean a change from *.cpp to *.c is the only real working
solution? That's strange but anyway it works now...
Well - from what I can observe this seems to be a bug in libtool itself
(why did I expect this, given libtools poor C++ support?).
The final link command emitted by apxs seems to be (my reindentation):
/usr/share/apr-1.0/build/libtool --silent --mode=link \
--tag=disable-static g++ -o mod_fancy.la \
-rpath /usr/lib/apache2/modules -module -avoid-version \
config.cpp mod_fancy.cpp
Note that apxs is passing source file names to libtool. This doesn't
seem to work. Passing the '.libs/mod_fancy.o .libs/config.o' seems a
quick fix. I wonder if it's worth the effort.
NOTE: I've sucessfully compiled C++ modules, but 'I somehow always give
my sorce files '*.c' extentions.
I took a further look at apxs, and it appears that the bad coding for
the source files continues. In my apxs around line 406, you'll find
the following:
foreach $s (@srcs) {
my $slo = $s;
$slo =~ s|\.c$|.slo|;
my $lo = $s;
$lo =~ s|\.c$|.lo|;
my $la = $s;
$la =~ s|\.c$|.la|;
my $o = $s;
$o =~ s|\.c$|.o|;
When I replaced the .c in the above with .cpp, everything worked fine
using .cpp. Now, I'm not sure if the perl from the first fix:
if ( $f =~ m/\.c(c|pp){0,1}$/i ) instead of
if ($f =~ m|\.c$|)
can somehow be used in the above, but I'm sure that someone with perl
experience should be able to point out how to fix it.
--
Farokh
----------------------------------------------------------------------------
MCF Software...simply dependably engineered
Developers of ListSTAR http://www.liststar.com/, MacRADIUS
http://www.macradius.com/, Address List Sorter
http://www.mcfsoftware.com/als/, SimpleText Filter for EIMS
http://www.mcfsoftware.com/stf/ and Auto Reply plug-in for EIMS
http://www.mcfsoftware.com/ar/.