llperl
\- dll
\-src
####
C:\test\llperl\dll>cl /MT -c -DWIN32 -DWIN64 -DPERLDLL -DPERL_CORE -DPERL_IMPLICIT_SYS -I ..\src *.c *.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 15.00.21022.08 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
av.c deb.c doio.c doop.c dump.c DynaLoader.c fcrypt.c globals.c gv.c hv.c keywords.c locale.c mathoms.c
mg.c mro.c numeric.c op.c op.c(10621) : warning C4028: formal parameter 2 different from declaration
pad.c perl.c perlapi.c Generating Code... Compiling... perlio.c perly.c pp.c pp_ctl.c pp_hot.c pp_pack.c
pp_sort.c pp_sys.c reentr.c regcomp.c regexec.c run.c scope.c sv.c taint.c toke.c universal.c utf8.c
util.c win32.c Generating Code... Compiling... Win32CORE.c win32io.c win32sck.c win32thread.c Generating Code...
Compiling... perllib.cpp Generating Code...
C:\test\llperl\dll>link /dll /out:..\perl516.dll -def:..\perldll.def *.obj ws2_32.lib user32.lib ComCtl32.Lib AdvAPI32.Lib
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
perlio.obj : warning LNK4197: export 'PerlIO_perlio' specified multiple times; using first specification
perlio.obj : warning LNK4197: export 'PerlIO_pending' specified multiple times; using first specification
Creating library ..\perl516.lib and object ..\perl516.exp
C:\test\llperl>dir
02/09/2012 09:53 dll
02/09/2012 22:52 2,587,136 perl516.dll
02/09/2012 22:52 153,839 perl516.exp
02/09/2012 22:52 253,364 perl516.lib
02/09/2012 03:46 src
####
C:\test\llperl>cl /MT -c -DWIN32 -DWIN64 -DPERL_CORE -DPERL_IMPLICIT_SYS -I src src\*.c
Microsoft (R) C/C++ Optimizing Compiler Version 15.00.21022.08 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
perlmain.c
C:\test\llperl>link /OUT:perllVm.exe *.obj perl516.lib ws2_32.lib user32.lib ComCtl32.Lib AdvAPI32.Lib
Microsoft (R) Incremental Linker Version 9.00.21022.08
Copyright (C) Microsoft Corporation. All rights reserved.
C:\test\llperl>dir
02/09/2012 09:53 dll
02/09/2012 22:52 2,587,136 perl516.dll
02/09/2012 22:52 153,839 perl516.exp
02/09/2012 22:52 253,364 perl516.lib
02/09/2012 03:29 23,359 perldll.def
02/09/2012 22:56 38,400 perllVm.exe
02/09/2012 22:56 1,015 perlmain.obj
02/09/2012 03:46 src
####
C:\test\llperl>perllVm -v
This is perl 5, version 16, subversion 1 (v5.16.1) built for MSWin32-x64-multi-thread
Copyright 1987-2012, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl". If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.
C:\test\llperl>perllVm -E"say 'Hello, world!'"
Hello, world!
C:\test\llperl>type Ack.pl
#! perl -sw
use strict;
use 5.010;
use Time::HiRes qw[ time ];
no warnings 'recursion';
sub Ack {
my( $M, $N ) = @_;
return $N + 1 if $M == 0;
return Ack( $M - 1, 1 ) if $N == 0;
return Ack( $M - 1, Ack( $M, $N - 1 ) );
}
my $start = time;
say Ack( @ARGV );
say 'Took: ', time() - $start;
C:\test\llperl>perllVm Ack.pl 3 9
4093
Took: 15.6298589706421
####
C:\test\llperl>\test\perl-5.16.1\perl.exe Ack.pl 3 9
4093
Took: 9.76109409332275
####
C:\test\perllVm>dir
02/09/2012 04:04 331 Ack.pl
02/09/2012 22:10 1,863 build.cmd
02/09/2012 23:12 dll
02/09/2012 03:29 23,359 perldll.def
02/09/2012 05:01 src
C:\test\perllVm>cd dll
C:\test\perllVm\dll>set opts=-c -fno-caret-diagnostics -fno-color-diagnostics
C:\test\perllVm\dll>set warn=-Wno-unused-value -Wno-deprecated-declarations -Wno-parentheses -Wno-deprecated-writable-strings
C:\test\perllVm\dll>set defs=-DWIN32 -DWIN64 -DPERLDLL -DPERL_CORE -DPERL_IMPLICIT_SYS
C:\test\perllVm\dll>set srcs=av.c deb.c doio.c doop.c dump.c DynaLoader.c fcrypt.c globals.c gv.c hv.c keywords.c locale
.c mathoms.c mg.c mro.c numeric.c op.c pad.c perl.c perlapi.c perlio.c perllib.cpp perly.c pp.c pp_ctl.c pp_hot.c pp_pac
k.c pp_sort.c pp_sys.c reentr.c regcomp.c regexec.c run.c scope.c sv.c taint.c toke.c universal.c utf8.c util.c win32.c
Win32CORE.c win32io.c win32sck.c win32thread.c
C:\test\perllVm\dll>set libs=ws2_32.lib user32.lib ComCtl32.Lib AdvAPI32.Lib
C:\test\perllVm\dll>\llvm\clang.exe -m64 -I ..\src %opts% %warn% %defs% %srcs%
In file included from sv.c:41:
./stdint.h:197:9: warning: 'INT64_C' macro redefined
..\src/handy.h:204:28: note: previous definition is here
In file included from sv.c:41:
./stdint.h:202:9: warning: 'UINT64_C' macro redefined
..\src/handy.h:205:28: note: previous definition is here
win32.c:1925:30: warning: format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
win32.c:1925:33: warning: format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
win32.c:1929:36: warning: format specifies type 'int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
win32.c:1977:41: warning: format specifies type 'unsigned int' but the argument has type 'DWORD' (aka 'unsigned long') [-Wformat]
C:\test\perllVm\dll>dir /b *.o
av.o deb.o doio.o doop.o dump.o DynaLoader.o fcrypt.o globals.o gv.o hv.o keywords.o locale.o mathoms.o mg.o mro.o
numeric.o op.o pad.o perl.o perlapi.o perlio.o perllib.o perly.o pp.o pp_ctl.o pp_hot.o pp_pack.o pp_sort.o pp_sys.o
reentr.o regcomp.o regexec.o run.o scope.o sv.o taint.o toke.o universal.o utf8.o util.o win32.o Win32CORE.o win32io.o
win32sck.o win32thread.o
C:\test\perllVm\dll>link /verbose:lib /dll /noentry /out:..\perl516.dll -def:..\perldll.def *.obj /libpath %libs% | wc -l
1796