On Tue, Oct 26, 2010 at 4:31 PM, John Wohlbier <johnwohlbier@xxxxxxxxx>wrote: > I searched the mailing list archives for this question and only found one > message containing ppuxlc which didn't answer my question. > > We're trying to use autoconf in a hybrid environment that includes the > CellBE. I have a configure.ac for the CellBE PPE core and one for the SPE > core. I also have some macros for setting up the compilers and their flags > since it appears that AC_PROG_CC and AC_PROG_CXX do not support these > compilers. I have what I feel are valid compiler flags for, in this case, > ppuxlc++. However, I think I have a problem with the interaction of > autoconf/libtool and cannot get my sources to compile. Below is what I see > on output. > > To try and narrow down on the error "ppuxlc++: 1501-208 (S) command option > D is missing a subargument" I went through by hand and removed all of the -D > arguments, and it still failed. Finally, I removed the -MD argument and it > "compiles." Unfortunately I don't know enough about autoconf/libtool to know > what the -MD -MP -MF arguments are or where they come from. Can anyone > provide any hints or suggestions on how to figure out what is going on? > Thanks. (Sorry if this is more appropriate for the libtool list, but I just > don't know and didn't think it was appropriate to cross post.) > > jgw > > > /bin/sh ../../libtool --tag=CXX --mode=compile ppuxlc++ > -DPACKAGE_NAME=\"pika_ppe\" -DPACKAGE_TARNAME=\"pika_ppe\" > -DPACKAGE_VERSION=\"0\" -DPACKAGE_STRING=\"pika_ppe\ 0\" > -DPACKAGE_BUGREPORT=\"wohlbier@xxxxxxxx\" -DPACKAGE=\"pika_ppe\" > -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 > -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 > -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 > -DENABLE_DMP=1 -DUSE_DACS_P2P=1 -DPPE_BUILD=1 -DENABLE_INSTRUMENTATION=1 > -DADDRESSING_64=1 -DADDRESSING_64=1 -D__DOUBLEPREC__=1 -DDBC=7 > -DSAL_SCALAR=1 -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=8 > -DSIZEOF_LONG_LONG=8 -DSIZEOF_VOID_P=8 -DHARDWARE_COPY_SIZE=16384 > -DHARDWARE_CACHE_SIZE=131072 -I. > -I../../../../../cell/ppe/lib/pika_utilities -I../../lib > -I/opt/cell/sysroot/usr/include -I/opt/cell/sysroot/usr/include > -I/usr/projects/MPMC/support_libs/draco_64_serial_ppu/include > -I/usr/projects/MPMC/support_libs/sal/include -qcpluscmt -q64 -MT > Comp_Cart_Part.lo -MD -MP -MF .deps/Comp_Cart_Part.Tpo -c -o > Comp_Cart_Part.lo `test -f > '/usr/projects/MPMC/wohlbier/pika/src/pika_utilities/Comp_Cart_Part.cc' || > echo > '../../../../../cell/ppe/lib/pika_utilities/'`/usr/projects/MPMC/wohlbier/pika/src/pika_utilities/Comp_Cart_Part.cc > ppuxlc++ -DPACKAGE_NAME=\"pika_ppe\" -DPACKAGE_TARNAME=\"pika_ppe\" > -DPACKAGE_VERSION=\"0\" "-DPACKAGE_STRING=\"pika_ppe 0\"" > -DPACKAGE_BUGREPORT=\"wohlbier@xxxxxxxx\" -DPACKAGE=\"pika_ppe\" > -DVERSION=\"0\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 > -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 > -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 > -DENABLE_DMP=1 -DUSE_DACS_P2P=1 -DPPE_BUILD=1 -DENABLE_INSTRUMENTATION=1 > -DADDRESSING_64=1 -DADDRESSING_64=1 -D__DOUBLEPREC__=1 -DDBC=7 > -DSAL_SCALAR=1 -DSIZEOF_INT=4 -DSIZEOF_SHORT=2 -DSIZEOF_LONG=8 > -DSIZEOF_LONG_LONG=8 -DSIZEOF_VOID_P=8 -DHARDWARE_COPY_SIZE=16384 > -DHARDWARE_CACHE_SIZE=131072 -I. > -I../../../../../cell/ppe/lib/pika_utilities -I../../lib > -I/opt/cell/sysroot/usr/include -I/opt/cell/sysroot/usr/include > -I/usr/projects/MPMC/support_libs/draco_64_serial_ppu/include > -I/usr/projects/MPMC/support_libs/sal/include -qcpluscmt -q64 -MT > Comp_Cart_Part.lo -MD -MP -MF .deps/Comp_Cart_Part.Tpo -c > /usr/projects/MPMC/wohlbier/pika/src/pika_utilities/Comp_Cart_Part.cc -o > Comp_Cart_Part.o > ppuxlc++: 1501-208 (S) command option D is missing a subargument > make[4]: *** [Comp_Cart_Part.lo] Error 1 > > I compared the man pages of g++ and ppuxlc++ and tried to narrow down what the problem may be. ppuxlc++ does not have -MT, -MD nor -MP (-MF appears to be their catchall where g++ has finer grained control on this, if I understood it correctly). If I simply remove those I get .lo and .o files. ppuxlc++ also has a qmakedep=gcc option which I don't really understand the purpose of. So I guess the question now is how do I conditionally specify the arguments so that the unrecognized options are not supplied to libtool? Thanks. jgw _______________________________________________ Autoconf mailing list Autoconf@xxxxxxx http://lists.gnu.org/mailman/listinfo/autoconf