Compile avmplus in windows

In this post, i like to document the process and changes needed to build the avmplus in windows environment. Though Adobe provided the solution file, it didn’t work in the first try.

If you understand the vcproj file format, its all about adding few more CPP files in the project/solution and compile it. Here are the list of changes you need to make to this code base to compile it in windows environment.

diff –git a/core/Isolate.cpp b/core/Isolate.cpp
index fe88b87..1ae6e10 100644
— a/core/Isolate.cpp
+++ b/core/Isolate.cpp
@@ -6,7 +6,8 @@
#include “avmplus.h”
-#include “FixedHeapUtils.cpp”
+//#include “FixedHeapUtils.cpp”
+#include “FixedHeapUtils.h”
#include “Channels.cpp”
#include “VMThread.h”
diff –git a/platform/win32/avm2010.vcxproj b/platform/win32/avm2010.vcxproj
index 178927d..de10e4a 100644
— a/platform/win32/avm2010.vcxproj
+++ b/platform/win32/avm2010.vcxproj
@@ -47,11 +47,14 @@
     <ClCompile Include=”..\..\core\ArrayObject.cpp” />
     <ClCompile Include=”..\..\core\atom.cpp” />
     <ClCompile Include=”..\..\core\AvmSerializer.cpp” />
+    <ClCompile Include=”..\..\core\ConcurrencyGlue.cpp” />
     <ClCompile Include=”..\..\core\d2a.cpp” />
     <ClCompile Include=”..\..\core\DictionaryGlue.cpp” />
+    <ClCompile Include=”..\..\core\FixedHeapUtils.cpp” />
     <ClCompile Include=”..\..\core\Float4Class.cpp” />
     <ClCompile Include=”..\..\core\FloatClass.cpp” />
     <ClCompile Include=”..\..\core\InvokerCompiler.cpp” />
+    <ClCompile Include=”..\..\core\Isolate.cpp” />
     <ClCompile Include=”..\..\core\JSONClass.cpp” />
     <ClCompile Include=”..\..\core\ObjectIO.cpp” />
     <ClCompile Include=”..\..\core\ProxyGlue.cpp” />
@@ -242,6 +245,11 @@
     <ClCompile Include=”..\..\nanojit\NativeX64.cpp” />
     <ClCompile Include=”..\..\nanojit\njconfig.cpp” />
     <ClCompile Include=”..\..\nanojit\RegAlloc.cpp” />
+    <ClCompile Include=”..\..\other-licenses\lzma\Alloc.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\LzFind.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\LzmaDec.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\LzmaEnc.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\LzmaLib.c” />
     <ClCompile Include=”..\..\other-licenses\zlib\adler32.c” />
     <ClCompile Include=”..\..\other-licenses\zlib\compress.c” />
     <ClCompile Include=”..\..\other-licenses\zlib\crc32.c” />
@@ -318,6 +326,8 @@
     <ClCompile Include=”..\..\shell\FileClass.cpp” />
     <ClCompile Include=”..\..\shell\FileInputStream.cpp” />
     <ClCompile Include=”..\..\shell\ShellCore.cpp” />
+    <ClCompile Include=”..\..\shell\ShellWorkerDomainGlue.cpp” />
+    <ClCompile Include=”..\..\shell\ShellWorkerGlue.cpp” />
     <ClCompile Include=”..\..\shell\swf.cpp” />
     <ClCompile Include=”..\..\shell\SystemClass.cpp” />
     <ClCompile Include=”..\..\shell\WinFile.cpp” />
diff –git a/platform/win32/avm2010.vcxproj.filters b/platform/win32/avm2010.vcxproj.filters
index 54034dd..515d148 100644
— a/platform/win32/avm2010.vcxproj.filters
+++ b/platform/win32/avm2010.vcxproj.filters
@@ -671,6 +671,26 @@
     <ClCompile Include=”..\..\core\ObjectIO.cpp”>
       <Filter>core</Filter>
     </ClCompile>
+    <ClCompile Include=”..\..\core\FixedHeapUtils.cpp”>
+      <Filter>core</Filter>
+    </ClCompile>
+    <ClCompile Include=”..\..\core\ConcurrencyGlue.cpp”>
+      <Filter>core</Filter>
+    </ClCompile>
+    <ClCompile Include=”..\..\core\Isolate.cpp”>
+      <Filter>core</Filter>
+    </ClCompile>
+    <ClCompile Include=”..\..\other-licenses\lzma\LzmaLib.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\Alloc.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\LzmaEnc.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\LzFind.c” />
+    <ClCompile Include=”..\..\other-licenses\lzma\LzmaDec.c” />
+    <ClCompile Include=”..\..\shell\ShellWorkerGlue.cpp”>
+      <Filter>shell</Filter>
+    </ClCompile>
+    <ClCompile Include=”..\..\shell\ShellWorkerDomainGlue.cpp”>
+      <Filter>shell</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <ClInclude Include=”..\..\core\AbcEnv.h”>

Advertisements
This entry was posted in C/C++, Flash and tagged , , , . Bookmark the permalink.

One Response to Compile avmplus in windows

  1. Programmer says:

    Thanks, this fixed all of those unresolved dependencies errors I was getting. Also, these fixes only work for this build (I’ve only tested it on the avm2010 project, not avm2011): https://github.com/adobe-flash/avmplus. These fixes will not work on this build (which has more recent changes): https://github.com/adobe/avmplus.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s