User Tools

Site Tools


build:compiling_avidemux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

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:
  
build/compiling_avidemux.1271233084.txt.gz · Last modified: 2012/11/11 08:51 (external edit)