Lines Matching +full:gcc +full:- +full:i686 +full:- +full:linux +full:- +full:gnu
1 Building libjpeg-turbo
6 ------------------
11 - [CMake](http://www.cmake.org) v2.8.12 or later
13 - [NASM](http://www.nasm.us) or [Yasm](http://yasm.tortall.net)
14 (if building x86 or x86-64 SIMD extensions)
19 - NOTE: Currently, if it is desirable to hide the SIMD function symbols in
21 libjpeg-turbo, then NASM 2.14 or later or Yasm must be used when
22 building libjpeg-turbo.
29 Red Hat Enterprise Linux 8 and in the PowerTools repository on RHEL
32 ### Un*x Platforms (including Linux, Mac, FreeBSD, Solaris, and Cygwin)
34 - GCC v4.1 (or later) or Clang recommended for best performance
36 - If building the TurboJPEG Java wrapper, JDK or OpenJDK 1.5 or later is
37 required. Most modern Linux distributions, as well as Solaris 10 and later,
46 - Microsoft Visual C++ 2005 or later
51 which includes everything necessary to build libjpeg-turbo.
54 or later), which includes command-line versions of the 32-bit and 64-bit
56 * If you intend to build libjpeg-turbo from the command line, then add the
61 * If built with Visual C++ 2015 or later, the libjpeg-turbo static libraries
63 * The libjpeg API DLL (**jpeg{version}.dll**) will depend on the C run-time
68 - MinGW
70 [MSYS2](http://msys2.github.io/) or [tdm-gcc](http://tdm-gcc.tdragon.net/)
75 - If building the TurboJPEG Java wrapper, JDK 1.5 or later is required. This
82 Sub-Project Builds
83 ------------------
85 The libjpeg-turbo build system does not support being included as a sub-project
90 Out-of-Tree Builds
91 ------------------
95 necessarily be the same as the libjpeg-turbo source directory. You can create
97 libjpeg-turbo can be built from the same source tree using different compilers
99 directory, whereas *{source_directory}* refers to the libjpeg-turbo source
100 directory. For in-tree builds, these directories are the same.
104 -----
107 CMake generator (specified with the `-G` option) with `Ninja`, in all of the
112 ---------------
121 The following procedure will build libjpeg-turbo on Unix and Unix-like systems.
122 (On Solaris, this generates a 32-bit build. See "Build Recipes" below for
123 64-bit build instructions.)
126 cmake -G"Unix Makefiles" [additional CMake flags] {source_directory}
134 **libjpeg.so.{version}** (Linux, Unix)<br>
136 **cygjpeg-{version}.dll** (Cygwin)<br>
143 **libjpeg.so** (Linux, Unix)<br>
153 **libturbojpeg.so.0.2.0** (Linux, Unix)<br>
155 **cygturbojpeg-0.dll** (Cygwin)<br>
158 **libturbojpeg.so** (Linux, Unix)<br>
169 cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=Release [additional CMake flags] {source_directory}
172 This will build either a 32-bit or a 64-bit version of libjpeg-turbo, depending
177 **jpeg-static.lib**<br>
186 **turbojpeg-static.lib**<br>
206 cmake -G"Visual Studio 10" [additional CMake flags] {source_directory}
209 to build a 64-bit version of libjpeg-turbo. A separate build directory must be
210 used for 32-bit and 64-bit builds.
214 build of libjpeg-turbo.
218 **{configuration}/jpeg-static.lib**<br>
227 **{configuration}/turbojpeg-static.lib**<br>
244 environment. If you are cross-compiling on a Un*x platform (including Mac and
248 cmake -G"MSYS Makefiles" [additional CMake flags] {source_directory}
256 **libjpeg-{version}.dll**<br>
277 Add `-DCMAKE_BUILD_TYPE=Debug` to the CMake command line. Or, if building
278 with NMake, remove `-DCMAKE_BUILD_TYPE=Release` (Debug builds are the default
284 Add `-DWITH_JPEG7=1` to the CMake command line to build a version of
285 libjpeg-turbo that is API/ABI-compatible with libjpeg v7. Add `-DWITH_JPEG8=1`
286 to the CMake command line to build a version of libjpeg-turbo that is
287 API/ABI-compatible with libjpeg v8. See [README.md](README.md) for more
291 ### In-Memory Source/Destination Managers
293 When using libjpeg v6b or v7 API/ABI emulation, add `-DWITH_MEM_SRCDST=0` to
294 the CMake command line to build a version of libjpeg-turbo that lacks the
303 included in this release of libjpeg-turbo. libjpeg-turbo's implementation is
307 add `-DWITH_ARITH_ENC=0` or `-DWITH_ARITH_DEC=0` to the CMake command line to
313 Add `-DWITH_JAVA=1` to the CMake command line to incorporate an optional Java
315 Java front-end classes to support it. This allows the TurboJPEG shared library
320 build/test libjpeg-turbo, then (prior to running CMake) set the `JAVA_HOME`
333 -------------
336 ### 32-bit Build on 64-bit Linux/Unix
341 CFLAGS=-m32
342 LDFLAGS=-m32
345 ### 64-bit Build on Solaris
350 CFLAGS=-m64
351 LDFLAGS=-m64
360 ### 32-bit MinGW Build on Un*x (including Mac and Cygwin)
367 set(CMAKE_C_COMPILER {mingw_binary_path}/i686-w64-mingw32-gcc)
368 set(CMAKE_RC_COMPILER {mingw_binary_path}/i686-w64-mingw32-windres)
374 cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \
379 ### 64-bit MinGW Build on Un*x (including Mac and Cygwin)
386 set(CMAKE_C_COMPILER {mingw_binary_path}/x86_64-w64-mingw32-gcc)
387 set(CMAKE_RC_COMPILER {mingw_binary_path}/x86_64-w64-mingw32-windres)
393 cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \
398 Building libjpeg-turbo for iOS
399 ------------------------------
403 advantage of libjpeg-turbo's SIMD extensions to significantly accelerate JPEG
404 compression/decompression. This section describes how to build libjpeg-turbo
408 ### Armv8 (64-bit)
412 The following script demonstrates how to build libjpeg-turbo to run on the
417 export CFLAGS="-Wall -arch arm64 -miphoneos-version-min=8.0 -funwind-tables"
427 cmake -G"Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake \
428 -DCMAKE_OSX_SYSROOT=${IOS_SYSROOT[0]} \
433 Building libjpeg-turbo for Android
434 ----------------------------------
436 Building libjpeg-turbo for Android platforms requires v13b or later of the
440 ### Armv7 (32-bit)
448 NDK_PATH={full path to the NDK directory-- for example,
449 /opt/android/android-ndk-r16b}
450 TOOLCHAIN={"gcc" or "clang"-- "gcc" must be used with NDK r16b and earlier,
452 ANDROID_VERSION={the minimum version of Android to support-- for example,
456 cmake -G"Unix Makefiles" \
457 -DANDROID_ABI=armeabi-v7a \
458 -DANDROID_ARM_MODE=arm \
459 -DANDROID_PLATFORM=android-${ANDROID_VERSION} \
460 -DANDROID_TOOLCHAIN=${TOOLCHAIN} \
461 -DCMAKE_ASM_FLAGS="--target=arm-linux-androideabi${ANDROID_VERSION}" \
462 -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake \
467 ### Armv8 (64-bit)
475 NDK_PATH={full path to the NDK directory-- for example,
476 /opt/android/android-ndk-r16b}
477 TOOLCHAIN={"gcc" or "clang"-- "gcc" must be used with NDK r14b and earlier,
480 is required for a 64-bit build.}
483 cmake -G"Unix Makefiles" \
484 -DANDROID_ABI=arm64-v8a \
485 -DANDROID_ARM_MODE=arm \
486 -DANDROID_PLATFORM=android-${ANDROID_VERSION} \
487 -DANDROID_TOOLCHAIN=${TOOLCHAIN} \
488 -DCMAKE_ASM_FLAGS="--target=aarch64-linux-android${ANDROID_VERSION}" \
489 -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake \
494 ### x86 (32-bit)
500 NDK_PATH={full path to the NDK directory-- for example,
501 /opt/android/android-ndk-r16b}
502 TOOLCHAIN={"gcc" or "clang"-- "gcc" must be used with NDK r14b and earlier,
504 ANDROID_VERSION={The minimum version of Android to support-- for example,
508 cmake -G"Unix Makefiles" \
509 -DANDROID_ABI=x86 \
510 -DANDROID_PLATFORM=android-${ANDROID_VERSION} \
511 -DANDROID_TOOLCHAIN=${TOOLCHAIN} \
512 -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake \
517 ### x86-64 (64-bit)
523 NDK_PATH={full path to the NDK directory-- for example,
524 /opt/android/android-ndk-r16b}
525 TOOLCHAIN={"gcc" or "clang"-- "gcc" must be used with NDK r14b and earlier,
528 is required for a 64-bit build.}
531 cmake -G"Unix Makefiles" \
532 -DANDROID_ABI=x86_64 \
533 -DANDROID_PLATFORM=android-${ANDROID_VERSION} \
534 -DANDROID_TOOLCHAIN=${TOOLCHAIN} \
535 -DCMAKE_TOOLCHAIN_FILE=${NDK_PATH}/build/cmake/android.toolchain.cmake \
541 ----------------------
550 cmake-gui {source_directory}
553 text-based interactive version of CMake, and CMake-GUI is a GUI version. Both
554 will display all variables that are relevant to the libjpeg-turbo build, their
558 Installing libjpeg-turbo
561 You can use the build system to install libjpeg-turbo (as opposed to creating
565 the Visual Studio IDE) will uninstall libjpeg-turbo.
568 libjpeg-turbo into a directory of your choosing. If you don't specify
571 **c:\libjpeg-turbo**<br>
572 Visual Studio 32-bit build
574 **c:\libjpeg-turbo64**<br>
575 Visual Studio 64-bit build
577 **c:\libjpeg-turbo-gcc**<br>
578 MinGW 32-bit build
580 **c:\libjpeg-turbo-gcc64**<br>
581 MinGW 64-bit build
583 **/opt/libjpeg-turbo**<br>
586 The default value of `CMAKE_INSTALL_PREFIX` causes the libjpeg-turbo files to
588 libjpeg-turbo binary packages. Changing the value of `CMAKE_INSTALL_PREFIX`
589 (for instance, to **/usr/local**) causes the libjpeg-turbo files to be
590 installed with a directory structure that conforms to GNU standards.
595 finer degree of control over where specific files in the libjpeg-turbo
609 cmake -G"{generator type}" -DCMAKE_INSTALL_LIBDIR:PATH=lib {source_directory}
622 Linux section in Creating Distribution Packages
623 -----
627 Create Red Hat-style binary RPM package. Requires RPM v4 or later.
632 Red Hat-style source RPM package from the tarball. Requires RPM v4 or later.
636 Create Debian-style binary package. Requires dpkg.
640 ---
648 x86-64/Arm binaries, set the following CMake variable:
650 * `ARMV8_BUILD`: Directory containing an Armv8 (64-bit) iOS or macOS build of
651 libjpeg-turbo to include in the universal binaries
653 You should first use CMake to configure an Armv8 sub-build of libjpeg-turbo
654 (see "Building libjpeg-turbo for iOS" above, if applicable) in a build
656 Next, configure the primary (x86-64) build of libjpeg-turbo as an out-of-tree
659 packaging system will build the sub-build, use lipo to combine it with the
665 -------
679 The installer package (libjpeg-turbo-*{version}*[-gcc|-vc][64].exe) will be
693 The most common way to test libjpeg-turbo is by invoking `make test` (Un*x) or
697 libjpeg-turbo and libjpeg v6b. This also invokes the TurboJPEG unit tests,