X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcin-manual-latex.git;a=blobdiff_plain;f=parts%2FDeveloper.tex;h=7d9ce919797b553f673735e50ca3c78dee41267a;hp=441e35bea8709df3612e128a48db5faf889914ca;hb=b8af22290c1844a01b2c6f90966da33d67212dd1;hpb=5f571df5bd79e42a70d662836d82a020ad61dab2 diff --git a/parts/Developer.tex b/parts/Developer.tex index 441e35b..7d9ce91 100644 --- a/parts/Developer.tex +++ b/parts/Developer.tex @@ -35,7 +35,7 @@ So, an example of what happens in 4 steps for a single-user build would be as fo A lot of things can be tweaked to change the results. \ Mostly these changes are parameters to the configure step, which can change important build related items, like the application name, or where and what the target system directories should be. \ This makes it possible to have several versions at the same time on the same computer if needed. \ To see what it is that the makefiles use to build Cinelerra, look at the resulting top-level global\_config file which is created by the ./configure step. \medskip -Building Cinelerra requires many thirdparty libraries, and it is recommended that you use the static build version included in the git repo. \ Some of them are patched, and fix significant bugs. \ It is important to note that because system installation historically has been with as many shared objects as possible, the defaults are that any system library detected during configuration setup will be used, whe\begin{lstlisting}[numbers=none]n the package is built ``-{}-without-single-user'', which is the default build. \ To build with static thirdparty libraries for system install to the system /usr area, use: +Building Cinelerra requires many thirdparty libraries, and it is recommended that you use the static build version included in the git repo. \ Some of them are patched, and fix significant bugs. \ It is important to note that because system installation historically has been with as many shared objects as possible, the defaults are that any system library detected during configuration setup will be used, when the package is built ``-{}-without-single-user'', which is the default build. \ To build with static thirdparty libraries for system install to the system /usr area, use: \smallskip \hspace{2em}.configure -{}-enable-static-build --prefix=/usr @@ -136,6 +136,197 @@ cp Makefile.devel Makefile Since the procedure for obtaining the latest ffmpeg version is not always kept up-to-date and the line numbers will always change, you may have to create that patch first. \ Generally those line numbers are only updated by a developer when a new stable version with worthwhile features is actually included in the Cinelerra build. FFmpeg is constantly changing and many times the git version is not as stable as desired. +\section{Configuration Features} +\label{sec:Configuration Features} + +A listing of the current configuration features as of January 11, 2020: + +\begingroup + \fontsize{10pt}{12pt}\selectfont +\begin{verbatim} + +`configure' configures cinelerra 5.1 to adapt to many kinds of systems. + +Usage: ./configure [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print `checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for `--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or `..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [/usr/local] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, `make install' will install all the files in +`/usr/local/bin', `/usr/local/lib' etc. You can specify +an installation prefix other than `/usr/local' using `--prefix', +for instance `--prefix=$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/cinelerra] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] + +Program names: + --program-prefix=PREFIX prepend PREFIX to installed program names + --program-suffix=SUFFIX append SUFFIX to installed program names + --program-transform-name=PROGRAM run sed PROGRAM on installed program names + +Optional Features: + --disable-option-checking ignore unrecognized --enable/--with options + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-silent-rules less verbose build output (undo: "make V=1") + --disable-silent-rules verbose build output (undo: "make V=0") + --enable-dependency-tracking + do not reject slow dependency extractors + --disable-dependency-tracking + speeds up one-time build + --enable-a52dec build a52dec (yes) + --enable-djbfft build djbfft (yes) + --enable-audiofile build audiofile (no) + --enable-encore build encore (no) + --enable-esound build esound (no) + --enable-ffmpeg build ffmpeg (yes) + --enable-fftw build fftw (auto) + --enable-flac build flac (auto) + --enable-giflib build giflib (yes) + --enable-ilmbase build ilmbase (auto) + --enable-lame build lame (auto) + --enable-libavc1394 build libavc1394 (auto) + --enable-libraw1394 build libraw1394 (auto) + --enable-libiec61883 build libiec61883 (auto) + --enable-libdv build libdv (auto) + --enable-libjpeg build libjpeg (auto) + --enable-opus build opus (auto) + --enable-openjpeg build openjpeg (auto) + --enable-libogg build libogg (auto) + --enable-libsndfile build libsndfile (auto) + --enable-libtheora build libtheora (auto) + --enable-libuuid build libuuid (yes) + --enable-libvorbis build libvorbis (auto) + --enable-mjpegtools build mjpegtools (yes) + --enable-openexr build openexr (auto) + --enable-tiff build tiff (auto) + --enable-twolame build twolame (auto) + --enable-x264 build x264 (auto) + --enable-x265 build x265 (auto) + --enable-libvpx build libvpx (auto) + --enable-lv2 build lv2 (auto) + --enable-sratom build sratom (auto) + --enable-serd build serd (auto) + --enable-sord build sord (auto) + --enable-lilv build lilv (auto) + --enable-suil build suil (auto) + --enable-libaom build libaom (auto) + --enable-dav1d build dav1d (auto) + --enable-libwebp build libwebp (auto) + --enable-ffnvcodec build ffnvcodec (auto) + --enable-static-build build static ([auto]) + --enable-x264_hidepth build x264 10bit ([no]) + --enable-x265_hidepth build x265 10bit ([no]) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-jobs parallel build jobs (auto) + --with-exec-name binary executable name (cin) + --with-single-user to install cin in bin (no) + --with-ladspa-build build ladspa library (yes) + --with-lv2 lv2 library support (yes) + --with-cinlib cinelerra library path (auto) + --with-cindat cinelerra share path (auto) + --with-plugin-dir plugin install dir (auto) + --with-ladspa-dir ladspa install dir (auto) + --with-config-dir .bcast config dir ($$HOME/.bcast5) + --with-nested-dir nested proxy dir ($$HOME/Videos) + --with-browser cin_browser path (firefox) + --with-git-ffmpeg git ffmpeg using url (no) + --with-noelision use noelision/libpthread (auto) + --with-booby window lock trace booby trap (no) + --with-libzmpeg build libzmpeg (yes) + --with-commercial enable commercial capture (yes) + --with-thirdparty use thirdparty build (yes) + --with-shuttle shuttle device (yes) + --with-wintv usb 2040:826d wintv device (yes) + --with-x10tv usb 0bc7:0004 X10 remote device (yes) + --with-vaapi video acceleration api (yes) + --with-vdpau video decode+presentation api for unix (yes) + --with-nv nvenc/nvdec ffnvcodec api (yes) + --with-cuda nv cuda plugins (auto) + --with-clang use clang instead of gcc/g++ (no) + --with-gl use opengl (auto) + --with-oss use OSS audio (auto) + --with-xft use libXft (auto) + --with-alsa use libasound/alsa (auto) + --with-firewire use firewire (auto) + --with-dv use dv (auto) + --with-dvb use dvb (auto) + --with-video4linux2 use v4l2 (auto) + --with-xxf86vm use xf86vmode (auto) + --with-esound use esd (auto) + --with-shuttle shuttle dev support (auto) + --with-shuttle_usb use libusb-1.0 (auto) + --with-lv2 use lv2 (auto) + --with-cuda build cuda plugins (auto) + --with-dl system has libdl (auto) + --with-opencv opencv=sys/sta/dyn,git/tar=url (auto) + --with-numa system has libnuma (auto) + --with-openexr use openexr (auto) + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + CCAS assembler compiler command (defaults to CC) + CCASFLAGS assembler compiler flags (defaults to CFLAGS) + CXX C++ compiler command + CXXFLAGS C++ compiler flags + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . + +\end{verbatim} +\endgroup + \section{Thirdparty Parallel Build} \label{sec:Thirdparty Parallel Build}