| 8 | | * the binary packages is outdated or contains critical bugs or is missing required features which are available in the later version of the software |
| 9 | | * you need to customize the build, for example to support a particular installation layout, to get platform-specific optimizations or to link against particular libraries which are not supported in the binary package |
| 10 | | * you want to customize the software by editing the source code |
| | 8 | * The binary packages is outdated or contains critical bugs or is missing required features which are available in the later version of the software. |
| | 9 | * You need to customize the build, for example to support a particular installation layout, to get platform-specific optimizations or to link against particular libraries which are not supported in the binary package. |
| | 10 | * You want to customize the software by editing the source code. |
| 42 | | * PREFIX/bin: contains the generated binaries (e.g. {{{ffmpeg}}}, {{{ffplay}}}, {{{ffprobe}}} etc. in the case of FFmpeg) |
| 43 | | * PREFIX/include: contains the library headers (e.g. {{{libavutil/avstring.h}}}, {{{libavcodec/avcodec.h}}}, {{{libavformat/avformat.h}}} etc. in case of FFmpeg) required to compile applications linked against the package libraries |
| 44 | | * PREFIX/lib: contains the generated libraries (e.g. {{{libavutil}}}, {{{libavcodec}}}, {{{libavformat}}} etc. in the case of FFmpeg) |
| 45 | | * PREFIX/share: contains various system-independent components; especially documentation files and examples |
| | 42 | * `PREFIX/bin`: contains the generated binaries (e.g. {{{ffmpeg}}}, {{{ffplay}}}, {{{ffprobe}}} etc. in the case of FFmpeg) |
| | 43 | * `PREFIX/include`: contains the library headers (e.g. {{{libavutil/avstring.h}}}, {{{libavcodec/avcodec.h}}}, {{{libavformat/avformat.h}}} etc. in case of FFmpeg) required to compile applications linked against the package libraries |
| | 44 | * `PREFIX/lib`: contains the generated libraries (e.g. {{{libavutil}}}, {{{libavcodec}}}, {{{libavformat}}} etc. in the case of FFmpeg) |
| | 45 | * `PREFIX/share`: contains various system-independent components; especially documentation files and examples |
| 62 | | * PATH: defines the list of {{{:}}}-separated paths where the system looks for binaries. For example if you install your package in {{{/usr/local/}}}, you should update the PATH so that it will contain {{{/usr/local/bin}}}. This can be done for example through the command {{{export PATH=/usr/local/bin:$PATH}}}. |
| 63 | | * LD_LIBRARY_PATH: contains the {{{:}}}-separated paths where the system looks for libraries. For example if you install your package in {{{/usr/local/}}}, you should update the LD_LIBRARY_PATH so that it will contain {{{/usr/local/lib}}}. This can be done for example through the command {{{export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH}}}. This variable is sometimes deprecated in favor of the use of {{{ldconfig}}}. |
| 64 | | * CFLAGS: contains flags used by the C compiler, and usually includes preprocessing directives like {{{-IPREFIX/include}}} or compilation flags. Custom CFLAGS are usually prefixed to the source package compiler flags by the source package build system. Alternatively many build systems allow to specify the configure option {{{-extra-cflags}}}. |
| 65 | | * LDFLAGS: these are directives used by the linker, and usually include linking directives like {{{-LPREFIX/lib}}} needed to find libraries installed in custom paths. Custom LDFLAGS are usually prefixed to the source package linker flags by the source package build system. Alternatively, many build systems allow to specify the configure option {{{-extra-ldflags}}}. |
| 66 | | * PKG_CONFIG_PATH: contains the {{{:}}}-separated paths used by {{{pkg-config}}} to detect the pkg-config files used by many build systems to detect the custom CFLAGS/LDFLAGS used by a specific library. |
| | 62 | * `PATH`: defines the list of {{{:}}}-separated paths where the system looks for binaries. For example if you install your package in {{{/usr/local/}}}, you should update the PATH so that it will contain {{{/usr/local/bin}}}. This can be done for example through the command {{{export PATH=/usr/local/bin:$PATH}}}. |
| | 63 | * `LD_LIBRARY_PATH`: contains the {{{:}}}-separated paths where the system looks for libraries. For example if you install your package in {{{/usr/local/}}}, you should update the LD_LIBRARY_PATH so that it will contain {{{/usr/local/lib}}}. This can be done for example through the command {{{export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH}}}. This variable is sometimes deprecated in favor of the use of {{{ldconfig}}}. |
| | 64 | * `CFLAGS`: contains flags used by the C compiler, and usually includes preprocessing directives like {{{-IPREFIX/include}}} or compilation flags. Custom CFLAGS are usually prefixed to the source package compiler flags by the source package build system. Alternatively many build systems allow to specify the configure option {{{-extra-cflags}}}. |
| | 65 | * `LDFLAGS`: these are directives used by the linker, and usually include linking directives like {{{-LPREFIX/lib}}} needed to find libraries installed in custom paths. Custom LDFLAGS are usually prefixed to the source package linker flags by the source package build system. Alternatively, many build systems allow to specify the configure option {{{-extra-ldflags}}}. |
| | 66 | * `PKG_CONFIG_PATH`: contains the {{{:}}}-separated paths used by {{{pkg-config}}} to detect the pkg-config files used by many build systems to detect the custom CFLAGS/LDFLAGS used by a specific library. |