An Alien that sets cflags to something like -Ifoo -Dbar breaks when used via use Inline with.
The reason is that Alien::Base’s Inline() method puts all these flags into INC, while Inline::C quotes spaces in INC when flags other than -I appear inside it. The INC value that Inline::C passes on to EU:MM becomes "-Ifoo -Dbar". Consequently the compiler doesn’t look for a directory named foo, it looks for a directory named foo -Dbar instead.
A somewhat hacky workaround might be to include at least one double quote in cflags, which would currently prevent Inline::C from adding further quotes in its quote_spaces() function.
But I think the proper solution for Alien::Base would rather be to revert #109, putting the -D and other flags into CCFLAGSEX instead.
An Alien that sets
cflagsto something like-Ifoo -Dbarbreaks when used viause Inline with.The reason is that Alien::Base’s
Inline()method puts all these flags intoINC, while Inline::C quotes spaces inINCwhen flags other than-Iappear inside it. TheINCvalue that Inline::C passes on to EU:MM becomes"-Ifoo -Dbar". Consequently the compiler doesn’t look for a directory namedfoo, it looks for a directory namedfoo -Dbarinstead.A somewhat hacky workaround might be to include at least one double quote in
cflags, which would currently prevent Inline::C from adding further quotes in itsquote_spaces()function.But I think the proper solution for Alien::Base would rather be to revert #109, putting the
-Dand other flags intoCCFLAGSEXinstead.