What is this with the g++?
I am right now wrapping the fairly huge SndObj library written in C++ into an XS module. I'm done with maybe a third of all the classes and compilation is already painful:
ethan@ethan:~/Projects/dists/sound-object/Sound-Object$ time make /usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp -C++ -typemap /usr/share/perl/5.8/ExtUtils/typemap -typemap typemap Object.xs > Object.xsc && mv Object.xsc Object.c g++ -c -I. -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.01\" -DXS_VERSION=\"0.01\" -fPIC "-I/usr/lib/perl/5.8/CORE" -DOSS Object.c rm -f blib/arch/auto/Sound/Object/Object.so LD_RUN_PATH="" g++ -shared -L/usr/local/lib Object.o -o blib/arch/auto/Sound/Object/Object.so -lsndobj -lpthread chmod 755 blib/arch/auto/Sound/Object/Object.so
real 0m38.023s user 0m31.130s sys 0m0.570s