-
Notifications
You must be signed in to change notification settings - Fork 0
/
BUILD_INSTRUCTIONS.rtf
33 lines (33 loc) · 5.06 KB
/
BUILD_INSTRUCTIONS.rtf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033\deftab708{\fonttbl{\f0\fswiss\fprq2\fcharset0 Verdana;}}
{\stylesheet{ Normal;}{\s1 heading 1;}{\s2 heading 2;}{\s3 heading 3;}{\s4 heading 4;}}
{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\keepn\s3\qc\b\f0\fs22 MB3Libffl\par
\pard\qc\b0 (Build Instructions)\lang2057\par
\pard\li20\ri4\tx720\tx9440\par
\lang1031\par
Before building MB3Libffi you should have already installed and built MB3Proxy-libintl. MB3Proxy-libintl sets up a number of items which later get used for the "MB3" build series. For example, one particular component of MB3Proxy-libintl is the file \b local\_paths.lib\b0 . local-paths.lib specifies some important compile time paths, such as:-\par
\par
\pard\li20\ri4\tx720\tx1704\tx9440\b\tab $generic_include_folder \b0 - the 'top-level' path where your various \b #include \b0 files can be found\b\par
\tab $generic_win32_library_folder \b0 - the folder where your built \b lib\b0 files will get installed when building for Win32\b\par
\tab $generic_win32_binary_folder \b0 - a folder where build-time utilities can be found (such as \b glib-genmarshal.exe\b0 )\par
\b\tab $perl_path \b0 - a folder where your \b perl\b0 interpreter can be found\b\par
\tab $m4_path \b0 - a folder where the \b M4\b0 macro processor can be found\b\par
\pard\li20\ri4\tx720\tx9440\par
\b0 There are around 20 paths in total and you'll need to make sure that they're correct for your system. If you haven't already set up local-paths.lib, find it and set it up NOW.\par
\par
\b\par
\par
\pard\keepn\s4\li20\ri4\tx720\tx9440 Building MB3Libffi\par
\par
\pard{\pntext\f0 1.\tab}{\*\pn\pnlvlbody\pnf0\pnindent360\pnstart1\pndec{\pntxta.}}
\fi-705\li705\sa200\tx705\lang1033\b0\tab It's strongly recommended that you create a folder structure as described in the build instructions for \b MB3Proxy-libintl\b0 and that you install \b MB3Libffi\b0 in a subfolder of the created \b src\b0 folder. You should also have installed the various build tools described there (\b python\b0 / \b perl\b0 / \b M4\b0 etc).\par
{\pntext\f0 2.\tab}\tab After creating your local copy of \b MB3Libffi\b0 , switch to the most recent stable branch, which is called \b v3-00-stable\b0\par
{\pntext\f0 3.\tab}\tab Make sure that Microsoft Visual Studio is NOT open. Launch a Windows \b Command Prompt\b0 and navigate to the top-level folder that you chose for \b MB3Libffi\b0 . Type the command:- \b win32\_fixup.pl -buildall\b0 . You probably won't see any output if the command completed successfully.\par
{\pntext\f0 4.\tab}\tab Now open Visual Studio and load the project file (\b MB3ffi.sln\b0 if you're building as 32-bit - or \b MB3ffi64.sln\b0 if you're building as 64-bit). You should find them in your project's \b msvc\b0 subfolder. At the time of writing they contain only one project (called \b ffi\b0 ). If it doesn't already appear in bold print, right-click on \b ffi\b0 and select it as the Startup project. This will display it in bold print which will remind you that it's the top-level project.\par
{\pntext\f0 5.\tab} \tab For the Win32 build you'll notice 3 x build targets:- Debug 32, Release 32 and Release 32 with Debugging Capability. Mostly you'll tend to be using the Debug or Release targets. However, from a building perspective, the most important build target is \b Release 32 with Debugging Capability\b0 . That target carries out vital and important processing. For example it keeps the project version number correctly updated. It creates any folders that might be needed during the build. It ensures that any auto-generated files get properly generated at build time and, at the end of the build process, it copies your built modules and header files to their required locations (as specified in \b local-paths.lib\b0 ). You MUST build \b Release 32 with Debugging Capability \b0 BEFORE building the other 32-bit targets. After you've built that target successfully you can build the other targets in any order.\par
{\pntext\f0 6.\tab} \tab For the Win64 build, the corresponding targets are:- Debug, Release and Release with Debugging Capability. Mostly you'll tend to be using the Debug or Release targets. However, from a building perspective, the most important build target is \b Release with Debugging Capability\b0 . That target carries out vital and important processing. For example it keeps the project version number correctly updated. It creates any folders that might be needed during the build. It ensures that any auto-generated files get properly generated at build time and, at the end of the build process, it copies your built modules and header files to their required locations (as specified in \b local-paths.lib\b0 ). You MUST build \b Release with Debugging Capability \b0 BEFORE building the other 64-bit targets. After you've built that target successfully you can build the other targets in any order.\par
{\pntext\f0 7.\tab}\tab Repeat steps 3 and 5 (or 6, if appropriate) each time you update \b MB3Libffi\b0 .\par
\pard\sa200\tx705\par
\pard\li20\ri4\tx720\tx9440 Good luck !\lang2057\par
\pard\qj\tx709\lang1033\par
}