"build" refers to Inline creating a module in _Inline (like h2xs) and making it at use/BEGIN time (perl Makefile.PL/make install), before your program runs, ex
$ perl def.pl
validate Stage
Starting Build Preprocess Stage
get_maps Stage
Finished Build Preprocess Stage
Starting Build Parse Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Writing Makefile for def_pl_38b1
Writing MYMETA.yml and MYMETA.json
Finished "perl Makefile.PL" Stage
Starting "make" Stage
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe C:\perl\site\5.14
+.1\lib\ExtUtils\xsubpp -typemap "C:\perl\5.14.1\l
ib\ExtUtils\typemap" def_pl_38b1.xs > def_pl_38b1.xsc && C:\perl\5.14
+.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtil
s::Command -e mv -- def_pl_38b1.xsc def_pl_38b1.c
gcc -c -I"D:/soInline" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -
+DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S
YS -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.00\"
+ -DXS_VERSION=\"0.00\" "-IC:\perl\5.14.1\lib\MSW
in32-x86-multi-thread\CORE" def_pl_38b1.c
Running Mkbootstrap for def_pl_38b1 ()
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 def_pl_38b1.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Mksym
+lists \
-e "Mksymlists('NAME'=>\"def_pl_38b1\", 'DLBASE' => 'def_pl_38b1'
+, 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS'
=> { }, 'DL_VARS' => []);"
dlltool --def def_pl_38b1.def --output-exp dll.exp
g++ -o blib\arch\auto\def_pl_38b1\def_pl_38b1.dll -Wl,--base-file -Wl,
+dll.base -mdll -s -L"c:\perl\5.14.1\lib\MSWin32-x8
6-multi-thread\CORE" -L"C:\MinGW\lib" def_pl_38b1.o C:\perl\5.14.1\l
+ib\MSWin32-x86-multi-thread\CORE\libperl514.a -lmo
ldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -l
+shell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2
_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp
dlltool --def def_pl_38b1.def --base-file dll.base --output-exp dll.ex
+p
g++ -o blib\arch\auto\def_pl_38b1\def_pl_38b1.dll -mdll -s -L"c:\perl\
+5.14.1\lib\MSWin32-x86-multi-thread\CORE" -L"C:\Mi
nGW\lib" def_pl_38b1.o C:\perl\5.14.1\lib\MSWin32-x86-multi-thread\C
+ORE\libperl514.a -lmoldname -lkernel32 -luser32 -l
gdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -l
+netapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -
lodbc32 -lodbccp32 -lcomctl32 dll.exp
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 755 blib\arch\auto\def_pl_38b1\def_
pl_38b1.dll
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e cp -- def_pl_38b1.bs blib\arch\auto\def_pl_3
8b1\def_pl_38b1.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 blib\arch\auto\def_pl_38b1\def_
pl_38b1.bs
Finished "make" Stage
Starting "make install" Stage
Files found in blib\arch: installing files in blib\lib into architectu
+re dependent library tree
Installing D:\soInline\_Inline\lib\auto\def_pl_38b1\def_pl_38b1.bs
Installing D:\soInline\_Inline\lib\auto\def_pl_38b1\def_pl_38b1.dll
Finished "make install" Stage
Starting Cleaning Up Stage
Finished Cleaning Up Stage
Finished Build Compile Stage
SV = IV(0x99aa48) at 0x99aa4c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 123
SV = IV(0x99aa48) at 0x99aa4c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 1
$ perl notdef.pl
validate Stage
Starting Build Preprocess Stage
get_maps Stage
Finished Build Preprocess Stage
Starting Build Parse Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Writing Makefile for modSV
Writing MYMETA.yml and MYMETA.json
Finished "perl Makefile.PL" Stage
Starting "make" Stage
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe C:\perl\site\5.14
+.1\lib\ExtUtils\xsubpp -typemap "C:\perl\5.14.1\l
ib\ExtUtils\typemap" modSV.xs > modSV.xsc && C:\perl\5.14.1\bin\MSWin
+32-x86-multi-thread\perl.exe -MExtUtils::Command -
e mv -- modSV.xsc modSV.c
gcc -c -I"D:/soInline" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -
+DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S
YS -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.00\"
+ -DXS_VERSION=\"0.00\" "-IC:\perl\5.14.1\lib\MSW
in32-x86-multi-thread\CORE" modSV.c
Running Mkbootstrap for modSV ()
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 modSV.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Mksym
+lists \
-e "Mksymlists('NAME'=>\"modSV\", 'DLBASE' => 'modSV', 'DL_FUNCS'
+ => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL
_VARS' => []);"
dlltool --def modSV.def --output-exp dll.exp
g++ -o blib\arch\auto\modSV\modSV.dll -Wl,--base-file -Wl,dll.base -md
+ll -s -L"c:\perl\5.14.1\lib\MSWin32-x86-multi-thre
ad\CORE" -L"C:\MinGW\lib" modSV.o C:\perl\5.14.1\lib\MSWin32-x86-mul
+ti-thread\CORE\libperl514.a -lmoldname -lkernel32
-luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -l
+oleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm
-lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp
dlltool --def modSV.def --base-file dll.base --output-exp dll.exp
g++ -o blib\arch\auto\modSV\modSV.dll -mdll -s -L"c:\perl\5.14.1\lib\M
+SWin32-x86-multi-thread\CORE" -L"C:\MinGW\lib" mod
SV.o C:\perl\5.14.1\lib\MSWin32-x86-multi-thread\CORE\libperl514.a -
+lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -
lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -l
+ws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
-lcomctl32 dll.exp
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 755 blib\arch\auto\modSV\modSV.dll
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e cp -- modSV.bs blib\arch\auto\modSV\modSV.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 blib\arch\auto\modSV\modSV.bs
Finished "make" Stage
Starting "make install" Stage
Files found in blib\arch: installing files in blib\lib into architectu
+re dependent library tree
Installing D:\soInline\_Inline\lib\auto\modSV\modSV.bs
Installing D:\soInline\_Inline\lib\auto\modSV\modSV.dll
Finished "make install" Stage
Starting Cleaning Up Stage
Finished Cleaning Up Stage
Finished Build Compile Stage
SV = IV(0xc39248) at 0xc3924c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 123
SV = IV(0xc39248) at 0xc3924c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 1
subsequent runs don't "build"
unless the c-source changes
$ perl -le " print qq{\n/* blah */\n\n} " >> modsv.c
$ perl def.pl
validate Stage
Starting Build Preprocess Stage
get_maps Stage
Finished Build Preprocess Stage
Starting Build Parse Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Writing Makefile for def_pl_4ff5
Writing MYMETA.yml and MYMETA.json
Finished "perl Makefile.PL" Stage
Starting "make" Stage
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe C:\perl\site\5.14
+.1\lib\ExtUtils\xsubpp -typemap "C:\perl\5.14.1\l
ib\ExtUtils\typemap" def_pl_4ff5.xs > def_pl_4ff5.xsc && C:\perl\5.14
+.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtil
s::Command -e mv -- def_pl_4ff5.xsc def_pl_4ff5.c
gcc -c -I"D:/soInline" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -
+DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S
YS -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.00\"
+ -DXS_VERSION=\"0.00\" "-IC:\perl\5.14.1\lib\MSW
in32-x86-multi-thread\CORE" def_pl_4ff5.c
Running Mkbootstrap for def_pl_4ff5 ()
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 def_pl_4ff5.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Mksym
+lists \
-e "Mksymlists('NAME'=>\"def_pl_4ff5\", 'DLBASE' => 'def_pl_4ff5'
+, 'DL_FUNCS' => { }, 'FUNCLIST' => [], 'IMPORTS'
=> { }, 'DL_VARS' => []);"
dlltool --def def_pl_4ff5.def --output-exp dll.exp
g++ -o blib\arch\auto\def_pl_4ff5\def_pl_4ff5.dll -Wl,--base-file -Wl,
+dll.base -mdll -s -L"c:\perl\5.14.1\lib\MSWin32-x8
6-multi-thread\CORE" -L"C:\MinGW\lib" def_pl_4ff5.o C:\perl\5.14.1\l
+ib\MSWin32-x86-multi-thread\CORE\libperl514.a -lmo
ldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -l
+shell32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2
_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp
dlltool --def def_pl_4ff5.def --base-file dll.base --output-exp dll.ex
+p
g++ -o blib\arch\auto\def_pl_4ff5\def_pl_4ff5.dll -mdll -s -L"c:\perl\
+5.14.1\lib\MSWin32-x86-multi-thread\CORE" -L"C:\Mi
nGW\lib" def_pl_4ff5.o C:\perl\5.14.1\lib\MSWin32-x86-multi-thread\C
+ORE\libperl514.a -lmoldname -lkernel32 -luser32 -l
gdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -l
+netapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -
lodbc32 -lodbccp32 -lcomctl32 dll.exp
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 755 blib\arch\auto\def_pl_4ff5\def_
pl_4ff5.dll
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e cp -- def_pl_4ff5.bs blib\arch\auto\def_pl_4
ff5\def_pl_4ff5.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 blib\arch\auto\def_pl_4ff5\def_
pl_4ff5.bs
Finished "make" Stage
Starting "make install" Stage
Files found in blib\arch: installing files in blib\lib into architectu
+re dependent library tree
Installing D:\soInline\_Inline\lib\auto\def_pl_4ff5\def_pl_4ff5.bs
Installing D:\soInline\_Inline\lib\auto\def_pl_4ff5\def_pl_4ff5.dll
Finished "make install" Stage
Starting Cleaning Up Stage
Finished Cleaning Up Stage
Finished Build Compile Stage
SV = IV(0x99aa48) at 0x99aa4c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 123
SV = IV(0x99aa48) at 0x99aa4c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 1
$ perl notdef.pl
validate Stage
Starting Build Preprocess Stage
get_maps Stage
Finished Build Preprocess Stage
Starting Build Parse Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Writing Makefile for modSV
Writing MYMETA.yml and MYMETA.json
Finished "perl Makefile.PL" Stage
Starting "make" Stage
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe C:\perl\site\5.14
+.1\lib\ExtUtils\xsubpp -typemap "C:\perl\5.14.1\l
ib\ExtUtils\typemap" modSV.xs > modSV.xsc && C:\perl\5.14.1\bin\MSWin
+32-x86-multi-thread\perl.exe -MExtUtils::Command -
e mv -- modSV.xsc modSV.c
gcc -c -I"D:/soInline" -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -
+DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_S
YS -fno-strict-aliasing -mms-bitfields -s -O2 -DVERSION=\"0.00\"
+ -DXS_VERSION=\"0.00\" "-IC:\perl\5.14.1\lib\MSW
in32-x86-multi-thread\CORE" modSV.c
Running Mkbootstrap for modSV ()
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 modSV.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Mksym
+lists \
-e "Mksymlists('NAME'=>\"modSV\", 'DLBASE' => 'modSV', 'DL_FUNCS'
+ => { }, 'FUNCLIST' => [], 'IMPORTS' => { }, 'DL
_VARS' => []);"
dlltool --def modSV.def --output-exp dll.exp
g++ -o blib\arch\auto\modSV\modSV.dll -Wl,--base-file -Wl,dll.base -md
+ll -s -L"c:\perl\5.14.1\lib\MSWin32-x86-multi-thre
ad\CORE" -L"C:\MinGW\lib" modSV.o C:\perl\5.14.1\lib\MSWin32-x86-mul
+ti-thread\CORE\libperl514.a -lmoldname -lkernel32
-luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshell32 -lole32 -l
+oleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm
-lversion -lodbc32 -lodbccp32 -lcomctl32 dll.exp
dlltool --def modSV.def --base-file dll.base --output-exp dll.exp
g++ -o blib\arch\auto\modSV\modSV.dll -mdll -s -L"c:\perl\5.14.1\lib\M
+SWin32-x86-multi-thread\CORE" -L"C:\MinGW\lib" mod
SV.o C:\perl\5.14.1\lib\MSWin32-x86-multi-thread\CORE\libperl514.a -
+lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -
lcomdlg32 -ladvapi32 -lshell32 -lole32 -loleaut32 -lnetapi32 -luuid -l
+ws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32
-lcomctl32 dll.exp
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 755 blib\arch\auto\modSV\modSV.dll
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e cp -- modSV.bs blib\arch\auto\modSV\modSV.bs
C:\perl\5.14.1\bin\MSWin32-x86-multi-thread\perl.exe -MExtUtils::Comma
+nd -e chmod -- 644 blib\arch\auto\modSV\modSV.bs
Finished "make" Stage
Starting "make install" Stage
Files found in blib\arch: installing files in blib\lib into architectu
+re dependent library tree
Installing D:\soInline\_Inline\lib\auto\modSV\modSV.dll
Finished "make install" Stage
Starting Cleaning Up Stage
Finished Cleaning Up Stage
Finished Build Compile Stage
SV = IV(0xc39248) at 0xc3924c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 123
SV = IV(0xc39248) at 0xc3924c
REFCNT = 1
FLAGS = (PADMY,IOK,pIOK)
IV = 1
The resulting directory structure
$ tree -f -a _Inline
_Inline
|-- _Inline/build
| `-- _Inline/build/modSV
| |-- _Inline/build/modSV/INLINE.h
| |-- _Inline/build/modSV/MYMETA.json
| |-- _Inline/build/modSV/MYMETA.yml
| |-- _Inline/build/modSV/Makefile
| |-- _Inline/build/modSV/Makefile.PL
| |-- _Inline/build/modSV/blib
| | |-- _Inline/build/modSV/blib/arch
| | | |-- _Inline/build/modSV/blib/arch/.exists
| | | `-- _Inline/build/modSV/blib/arch/auto
| | | `-- _Inline/build/modSV/blib/arch/auto/modSV
| | | |-- _Inline/build/modSV/blib/arch/auto/modSV/.
+exists
| | | |-- _Inline/build/modSV/blib/arch/auto/modSV/m
+odSV.bs
| | | `-- _Inline/build/modSV/blib/arch/auto/modSV/m
+odSV.dll
| | |-- _Inline/build/modSV/blib/bin
| | | `-- _Inline/build/modSV/blib/bin/.exists
| | |-- _Inline/build/modSV/blib/lib
| | | |-- _Inline/build/modSV/blib/lib/.exists
| | | `-- _Inline/build/modSV/blib/lib/auto
| | | `-- _Inline/build/modSV/blib/lib/auto/modSV
| | | `-- _Inline/build/modSV/blib/lib/auto/modSV/.e
+xists
| | |-- _Inline/build/modSV/blib/man1
| | | `-- _Inline/build/modSV/blib/man1/.exists
| | |-- _Inline/build/modSV/blib/man3
| | | `-- _Inline/build/modSV/blib/man3/.exists
| | `-- _Inline/build/modSV/blib/script
| | `-- _Inline/build/modSV/blib/script/.exists
| |-- _Inline/build/modSV/dll.base
| |-- _Inline/build/modSV/dll.exp
| |-- _Inline/build/modSV/modSV.bs
| |-- _Inline/build/modSV/modSV.c
| |-- _Inline/build/modSV/modSV.def
| |-- _Inline/build/modSV/modSV.o
| |-- _Inline/build/modSV/modSV.xs
| |-- _Inline/build/modSV/modSV_def.old
| `-- _Inline/build/modSV/pm_to_blib
|-- _Inline/config-MSWin32-x86-multi-thread-5.014001
`-- _Inline/lib
`-- _Inline/lib/auto
|-- _Inline/lib/auto/def_pl_38b1
| |-- _Inline/lib/auto/def_pl_38b1/def_pl_38b1.bs
| |-- _Inline/lib/auto/def_pl_38b1/def_pl_38b1.dll
| `-- _Inline/lib/auto/def_pl_38b1/def_pl_38b1.inl
|-- _Inline/lib/auto/def_pl_4ff5
| |-- _Inline/lib/auto/def_pl_4ff5/def_pl_4ff5.bs
| |-- _Inline/lib/auto/def_pl_4ff5/def_pl_4ff5.dll
| `-- _Inline/lib/auto/def_pl_4ff5/def_pl_4ff5.inl
`-- _Inline/lib/auto/modSV
|-- _Inline/lib/auto/modSV/.packlist
|-- _Inline/lib/auto/modSV/modSV.bs
|-- _Inline/lib/auto/modSV/modSV.dll
`-- _Inline/lib/auto/modSV/modSV.inl
18 directories, 35 files
The _Inline/build directory usually gets cleaned up, but not for notdef.pl
notdef.pl also NAME's the module, so its name doesn't change, but def.pl doesn't NAME the module, so a name is derived from the filename (def.pl) and the md5 sum of the c-source code
$ cat _Inline\lib\auto\def_pl_4ff5\def_pl_4ff5.inl
md5 : 4ff5a29496365b6167324b7d80efb321
name : def_pl_4ff5
version : ""
language : C
language_id : C
installed : 0
date_compiled : Thu Nov 22 21:58:12 2012
inline_version : 0.5
ILSM : %
module : Inline::C
suffix : dll
type : compiled
Config : %
apiversion : ?
archname : MSWin32-x86-multi-thread
cc : gcc
ccflags : " -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICI
+T_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing
-mms-bitfields"
ld : g++
osname : MSWin32
osvers : 5.1
so : dll
version : 5.14.1
Now, can two copies of notdef.pl run simultaneously? Lets see
First cleanup $ rm -rfv _Inline
And one copy will trip over the other and die , the other will continue normally
$ perl -le " system 1, $^X, q,notdef.pl, for 1,2 "
$ validate Stage
Starting Build Preprocess Stage
get_maps Stage
Finished Build Preprocess Stage
Starting Build Parse Stage
validate Stage
Starting Build Preprocess Stage
get_maps Stage
Finished Build Preprocess Stage
Starting Build Parse Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Parse Stage
Starting Build Glue 1 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 1 Stage
Starting Build Glue 2 Stage
Finished Build Glue 2 Stage
Starting Build Glue 3 Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Finished Build Glue 3 Stage
Starting Build Compile Stage
Starting "perl Makefile.PL" Stage
Writing Makefile for modSV
Writing Makefile for modSV
Writing MYMETA.yml and MYMETA.json
Can't open Makefile for input: No such file or directory
at notdef.pl line 8.
BEGIN failed--compilation aborted at notdef.pl line 8.
Writing MYMETA.yml and MYMETA.json
Finished "perl Makefile.PL" Stage
Starting "make" Stage
...
Now I'm not sure what scenario davido is talking about in the OP, but I hope this helps
FWIW, def.pl/notdef.pl are derived from XS: returning a 64-bit unsigned int?/Re: Inline::C with multiple *.c