in reply to Re: Defining an XS symbol in the Makefile.PL (quoting)
in thread Defining an XS symbol in the Makefile.PL
which, I think, looks right.gcc -c -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPERL_TEXTMODE_SCRIPTS + -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MIN +GW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bitfields -s -O2 -D +VERSION=\"1.52\" -DXS_VERSION=\"1.52\" "-IC:\_64\perl530_810\lib\COR +E" -DPERL_EXT -DUSE_PPPORT_H "-DMY_FORMAT=\"%.17\"" ListUtil.c
And that prints out **.17**, showing quite clearly that the quotes && the percentage sign have been lost.printf("\n**%s**\n", MY_FORMAT);
During the build I get:use strict; use warnings; use Config; use Inline C => Config => USING => 'ParseRegExp', CCFLAGSEX => q["-DMY_FORMAT=\"%.16e\""], BUILD_NOISY => 1, ; use Inline C =><<'EOC'; SV * foo(void) { printf(MY_FORMAT, sqrt(2.0)); printf("\n"); } EOC foo();
gcc -c -iquote"C:/_32/C" -s -O2 -DWIN32 -DWIN64 -DCONSERVATIVE -DPER +L_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DUSE_ +PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bit +fields "-DMY_FORMAT=\"%.16e\"" -s -O2 -DVERSION=\"0.00\" -DXS_VERSI +ON=\"0.00\" "-IC:\_64\perl530_810\lib\CORE" try_pl_d937.c <command-line>: warning: missing terminating " character try_pl_d937.xs:1:10: fatal error: EXTERN.h: No such file or directory #include "EXTERN.h" ^~~~~~~~~~ compilation terminated.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Defining an XS symbol in the Makefile.PL (quoting)
by Anonymous Monk on Aug 19, 2019 at 08:41 UTC | |
by syphilis (Archbishop) on Aug 19, 2019 at 09:02 UTC | |
by Anonymous Monk on Aug 19, 2019 at 09:15 UTC | |
by syphilis (Archbishop) on Aug 19, 2019 at 12:05 UTC | |
by jcb (Parson) on Aug 19, 2019 at 22:45 UTC | |
| |
by Anonymous Monk on Aug 21, 2019 at 01:26 UTC |