This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
build:compiling_avidemux [2010/04/14 10:18] j.m Imported the remaining remainder. Phewww... |
build:compiling_avidemux [2012/11/11 08:51] (current) |
||
|---|---|---|---|
| Line 63: | Line 63: | ||
| - <code>cmake .</code> (the dot is required) | - <code>cmake .</code> (the dot is required) | ||
| - <code>make</code> | - <code>make</code> | ||
| - | |||
| - | For more information, see the [[http://www.avidemux.org/admForum/viewtopic.php?id=3281|Switch to CMAKE in progress]] thread in the Avidemux forum. | ||
| === Old method (Avidemux 2.3 and older) === | === Old method (Avidemux 2.3 and older) === | ||
| Line 273: | Line 271: | ||
| == MinGW == | == MinGW == | ||
| - | - Extract the contents of each MinGW tarball (binutils, gcc-core, gcc-g++, mingw-runtime, mingw-utils, w32api) to a folder on your hard-drive, e.g. C:DevMinGW. | + | - Extract the contents of each MinGW tarball (binutils, gcc-core, gcc-g++, mingw-runtime, mingw-utils, w32api) to a folder on your hard-drive, e.g. <nowiki>C:\Dev\MinGW</nowiki>. |
| == MSYS == | == MSYS == | ||
| - | - Run the MSYS installer (e.g. MSYS-1.0.11-2004.04.30-1.exe) and follow the install wizard. Choose an appropriate destination folder, e.g. C:Devmsys. | + | - Run the MSYS installer (e.g. MSYS-1.0.11-2004.04.30-1.exe) and follow the install wizard. Choose an appropriate destination folder, e.g. <nowiki>C:\Dev\msys</nowiki>. |
| - Agree to the post install process. | - Agree to the post install process. | ||
| - State that MinGW is installed. | - State that MinGW is installed. | ||
| Line 299: | Line 297: | ||
| == Netwide Assembler == | == Netwide Assembler == | ||
| - | - Extract the contents of the NASM zip file to an appropriate folder, e.g. C:Program FilesNasm. | + | - Extract the contents of the NASM zip file to an appropriate folder, e.g. <nowiki>C:\Program Files\Nasm</nowiki>. |
| - Make a copy of **nasmw.exe** and rename it to **nasm.exe** in the Nasm folder. (The optional components expect the filename to be nasm.exe but the Win32 version of NASM has a filename of nasmw.exe) | - Make a copy of **nasmw.exe** and rename it to **nasm.exe** in the Nasm folder. (The optional components expect the filename to be nasm.exe but the Win32 version of NASM has a filename of nasmw.exe) | ||
| - Copy **nasm.exe** to the MinGW **bin** folder. | - Copy **nasm.exe** to the MinGW **bin** folder. | ||
| Line 316: | Line 314: | ||
| - Choose the **Directories** tab. | - Choose the **Directories** tab. | ||
| - Select **Executable Files** from the **Show Directories For** dropdown box. | - Select **Executable Files** from the **Show Directories For** dropdown box. | ||
| - | - Add the path for NASM, e.g. C:Program FilesNasm. | + | - Add the path for NASM, e.g. <nowiki>C:\Program Files\Nasm</nowiki>. |
| === Downloading source code from SVN === | === Downloading source code from SVN === | ||
| Line 328: | Line 326: | ||
| - Click **OK** to download the source code. | - Click **OK** to download the source code. | ||
| - | ==== Avidemux Dependencies ==== | + | ==== Avidemux dependencies ==== |
| === Download Dependencies === | === Download Dependencies === | ||
| Line 393: | Line 391: | ||
| == Netscape Portable Runtime == | == Netscape Portable Runtime == | ||
| - | - Extract the contents of the nspr zip file to a folder, e.g. C:\Dev. | + | - Extract the contents of the nspr zip file to a folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Copy **libnspr4.dll** from the NSPR **lib** folder to the MinGW **bin** folder. | - Copy **libnspr4.dll** from the NSPR **lib** folder to the MinGW **bin** folder. | ||
| Line 399: | Line 397: | ||
| - Run the Pthreads-w32 exe to extract required files to a temporary folder. | - Run the Pthreads-w32 exe to extract required files to a temporary folder. | ||
| - | - Copy the contents of the **Pre-built.1include** folder to the MinGW **include** folder. | + | - Copy the contents of the **<nowiki>Pre-built.1\include</nowiki>** folder to the MinGW **include** folder. |
| - | - Copy all **a** and **lib** files from the **Pre-built.1lib** folder to the MinGW **lib** folder. | + | - Copy all **a** and **lib** files from the **<nowiki>Pre-built.1\lib</nowiki>** folder to the MinGW **lib** folder. |
| - | - Copy all **dll** files from the **Pre-built.1lib** folder to the MinGW **bin** folder. | + | - Copy all **dll** files from the **<nowiki>Pre-built.1\lib</nowiki>** folder to the MinGW **bin** folder. |
| == Zlib == | == Zlib == | ||
| Line 411: | Line 409: | ||
| == SpiderMonkey == | == SpiderMonkey == | ||
| - | - Extract the contents of the tarball to a folder, e.g. C:Dev. | + | - Extract the contents of the tarball to a folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Build Spidermonkey using Microsoft Visual C++ or MinGW: | - Build Spidermonkey using Microsoft Visual C++ or MinGW: | ||
| //Using Microsoft Visual C++ 6.0:// | //Using Microsoft Visual C++ 6.0:// | ||
| * a. Open the **js.mak** file in the Spridermonkey **src** folder with a text editor. | * a. Open the **js.mak** file in the Spridermonkey **src** folder with a text editor. | ||
| - | * b. Update the compiler options to refer to the Netscape Portable Runtime by replacing all occurrences of: <code>CPP_PROJ=</code> with (includes a trailing space): <code>CPP_PROJ=/I c:\devnspr-4.4.1\include /D "JS_THREADSAFE" </code> | + | * b. Update the compiler options to refer to the Netscape Portable Runtime by replacing all occurrences of: <code>CPP_PROJ=</code> with (includes a trailing space): <code>CPP_PROJ=/I c:\dev\nspr-4.4.1\include /D "JS_THREADSAFE" </code> |
| - | * c. Update the linker options to refer to the Netscape Portable Runtime by replacing all occurrences of: <code>LINK32_FLAGS=</code> with (includes a trailing space): <code>LINK32_FLAGS=/libpath:c:devnspr-4.4.1lib libnspr4.lib </code> | + | * c. Update the linker options to refer to the Netscape Portable Runtime by replacing all occurrences of: <code>LINK32_FLAGS=</code> with (includes a trailing space): <code>LINK32_FLAGS=/libpath:c:\dev\nspr-4.4.1\lib libnspr4.lib </code> |
| * d. Save the file and close the editor. | * d. Save the file and close the editor. | ||
| - | * e. Start a command prompt and run **VCVARS32.BAT** from the Visual C++ **bin** folder. <code>"C:\Program Files\Microsoft Visual StudioVC98\Bin\VCVARS32.BAT"</code> | + | * e. Start a command prompt and run **VCVARS32.BAT** from the Visual C++ **bin** folder. <code>"C:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT"</code> |
| - | * f. Change directory to the Spidermonkey **src** folder. <code>cdDevjssrc</code> | + | * f. Change directory to the Spidermonkey **src** folder. <code>cd\Dev\js\src</code> |
| * g. Run **NMAKE** on **js.mak** using the **jsshell – Win32 Release** configuration. <code>nmake /f js.mak CFG="jsshell - Win32 Release"</code> | * g. Run **NMAKE** on **js.mak** using the **jsshell – Win32 Release** configuration. <code>nmake /f js.mak CFG="jsshell - Win32 Release"</code> | ||
| * h. Close the command prompt. | * h. Close the command prompt. | ||
| * i. Start MSYS. | * i. Start MSYS. | ||
| - | * j. Change directory to the Spidermonkey **srcRelease** folder. <code>cd /c/Dev/js/src/Release</code> | + | * j. Change directory to the Spidermonkey **<nowiki>src\Release</nowiki>** folder. <code>cd /c/Dev/js/src/Release</code> |
| * k. Using **pexports**, create a module-definition file for the newly created **js32.dll**: <code>pexports js32.dll > js32.def</code> | * k. Using **pexports**, create a module-definition file for the newly created **js32.dll**: <code>pexports js32.dll > js32.def</code> | ||
| * l. Use **dlltool** to produce a **libjs** import library. <code>dlltool -d js32.def -l /mingw/lib/libjs.a</code> | * l. Use **dlltool** to produce a **libjs** import library. <code>dlltool -d js32.def -l /mingw/lib/libjs.a</code> | ||
| Line 463: | Line 461: | ||
| ar r $(BIN) $(OBJECTS) | ar r $(BIN) $(OBJECTS) | ||
| ranlib $(BIN)</code> | ranlib $(BIN)</code> | ||
| - | * c. Make sure all indentations in the script are tabbed and not spaced. Also ensure **SRCDIR** is correctly set to the Spridermonkey **srcfdlibm** folder. | + | * c. Make sure all indentations in the script are tabbed and not spaced. Also ensure **SRCDIR** is correctly set to the Spidermonkey **<nowiki>src\fdlibm</nowiki>** folder. |
| * d. Create a text file named **makefile** in the Spidermonkey **src** folder. | * d. Create a text file named **makefile** in the Spidermonkey **src** folder. | ||
| * e. Paste the following script into **makefile**:<code make># Project: js32 | * e. Paste the following script into **makefile**:<code make># Project: js32 | ||
| Line 529: | Line 527: | ||
| * f. Make sure all indentations in the script are tabbed and not spaced. Also ensure **LIBS** and **CFLAGS** are correctly set to the appropriate Netscape Portable Runtime subdirectories and **SRCDIR** is correctly set to the Spridermonkey **src** folder. | * f. Make sure all indentations in the script are tabbed and not spaced. Also ensure **LIBS** and **CFLAGS** are correctly set to the appropriate Netscape Portable Runtime subdirectories and **SRCDIR** is correctly set to the Spridermonkey **src** folder. | ||
| * g. Start MSYS. | * g. Start MSYS. | ||
| - | * Make the fdlibm library. <code>cd /c/Dev/js/src/fdlibm | + | * h. Make the fdlibm library. <code>cd /c/Dev/js/src/fdlibm |
| make</code> | make</code> | ||
| * i. Make the SpiderMonkey library. <code>cd /c/Dev/js/src | * i. Make the SpiderMonkey library. <code>cd /c/Dev/js/src | ||
| Line 543: | Line 541: | ||
| == Aften == | == Aften == | ||
| - | - Extract the contents of the Aften zip file to a temporary folder, e.g. C:\Dev. | + | - Extract the contents of the Aften zip file to a temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Move the Aften **bin**, **include** and **lib** subdirectories to the corresponding MinGW folders. | - Move the Aften **bin**, **include** and **lib** subdirectories to the corresponding MinGW folders. | ||
| - Open the file **aften.h** in the MinGW **include** folder with a text editor. | - Open the file **aften.h** in the MinGW **include** folder with a text editor. | ||
| Line 562: | Line 560: | ||
| == FAAC == | == FAAC == | ||
| - | - Extract the contents of the faac zip file to a temporary folder, e.g. C:\Dev. | + | - Extract the contents of the faac zip file to a temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Open the header files **libfaac\frame.h** and **include\faac.h** with a text editor. | - Open the header files **libfaac\frame.h** and **include\faac.h** with a text editor. | ||
| - Replace the following line in both files: <code cpp>#define FAACAPI __stdcall</code> with: <code cpp>#define FAACAPI __cdecl</code> | - Replace the following line in both files: <code cpp>#define FAACAPI __stdcall</code> with: <code cpp>#define FAACAPI __cdecl</code> | ||
| Line 597: | Line 595: | ||
| == FAAD == | == FAAD == | ||
| - | - Extract the contents of the FAAD zip file to a temporary folder, e.g. C:\Dev. | + | - Extract the contents of the FAAD zip file to a temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Copy ***.h** in the FAAD **include** folder to the MinGW **include** folder. | - Copy ***.h** in the FAAD **include** folder to the MinGW **include** folder. | ||
| - Build FAAD using Microsoft Visual C++ or MinGW: | - Build FAAD using Microsoft Visual C++ or MinGW: | ||
| Line 639: | Line 637: | ||
| == LAME == | == LAME == | ||
| - | - Extract the contents of the lame tarball to a temporary folder, e.g. C:\Dev. | + | - Extract the contents of the lame tarball to a temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Start MSYS. | - Start MSYS. | ||
| - Change directory to the lame folder. <code>cd /c/dev/lame-3.97</code> | - Change directory to the lame folder. <code>cd /c/dev/lame-3.97</code> | ||
| Line 650: | Line 648: | ||
| == Libdca == | == Libdca == | ||
| - | - Extract the contents of the libdca tarball to a temporary folder, e.g. C:\Dev. | + | - Extract the contents of the libdca tarball to a temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Start MSYS. | - Start MSYS. | ||
| - Change directory to the libdca folder. <code>cd /c/dev/libdts-0.0.2</code> | - Change directory to the libdca folder. <code>cd /c/dev/libdts-0.0.2</code> | ||
| Line 672: | Line 670: | ||
| == Ogg Vorbis == | == Ogg Vorbis == | ||
| - | - Extract the contents of the Ogg and Vorbis zip files to the same temporary folder, e.g. C:\Dev. | + | - Extract the contents of the Ogg and Vorbis zip files to the same temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Build Ogg Vorbis using Microsoft Visual C++ or MinGW: | - Build Ogg Vorbis using Microsoft Visual C++ or MinGW: | ||
| Line 694: | Line 692: | ||
| * p. Copy **vorbisenc.dll** in the Vorbis **win32\VorbisEnc_Dynamic_Release** folder to the MinGW **bin** folder. | * p. Copy **vorbisenc.dll** in the Vorbis **win32\VorbisEnc_Dynamic_Release** folder to the MinGW **bin** folder. | ||
| * q. Copy **vorbisfile.dll** in the Vorbis **win32\VorbisFile_Dynamic_Release** folder to the MinGW **bin** folder. | * q. Copy **vorbisfile.dll** in the Vorbis **win32\VorbisFile_Dynamic_Release** folder to the MinGW **bin** folder. | ||
| - | * Copy the Vorbis **include\vorbis** folder to the MinGW **include** folder. | + | * r. Copy the Vorbis **include\vorbis** folder to the MinGW **include** folder. |
| * s. Start MSYS. | * s. Start MSYS. | ||
| * t. Using **pexports**, create a module-definition file for the Ogg Vorbis runtimes: <code>pexports /mingw/bin/vorbis.dll > vorbis.def | * t. Using **pexports**, create a module-definition file for the Ogg Vorbis runtimes: <code>pexports /mingw/bin/vorbis.dll > vorbis.def | ||
| Line 717: | Line 715: | ||
| == Simple DirectMedia Layer == | == Simple DirectMedia Layer == | ||
| - | - Extract the contents of the SDL zip file to a temporary folder, e.g. C:\Dev. | + | - Extract the contents of the SDL zip file to a temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Start MSYS. | - Start MSYS. | ||
| - Change directory to the SDL folder. <code>cd /c/dev/sdl-1.2.11</code> | - Change directory to the SDL folder. <code>cd /c/dev/sdl-1.2.11</code> | ||
| Line 724: | Line 722: | ||
| make install</code> | make install</code> | ||
| - 5. Close MSYS. | - 5. Close MSYS. | ||
| - | 6. If you prefer a Microsoft Visual C++ compiled runtime, extract **SDL.dll** in the SDL-dev zip file to the MinGW **bin** folder. Alternatively, compile the supplied **SDL.dsw** using Microsoft Visual C++ 6.0. | + | - If you prefer a Microsoft Visual C++ compiled runtime, extract **SDL.dll** in the SDL-dev zip file to the MinGW **bin** folder. Alternatively, compile the supplied **SDL.dsw** using Microsoft Visual C++ 6.0. |
| == x264 == | == x264 == | ||
| Line 763: | Line 761: | ||
| == Xvid == | == Xvid == | ||
| - | - Extract the contents of the Xvid tarball to a temporary folder, e.g. C:\Dev. | + | - Extract the contents of the Xvid tarball to a temporary folder, e.g. <nowiki>C:\Dev</nowiki>. |
| - Build Xvid using Microsoft Visual C++ or MinGW: | - Build Xvid using Microsoft Visual C++ or MinGW: | ||