1*a58d3d2aSXin Li# Optimizations 2*a58d3d2aSXin Lioption('fixed-point', type : 'boolean', value : false, description : 'Compile without floating point (for machines without a fast enough FPU') 3*a58d3d2aSXin Lioption('fixed-point-debug', type : 'boolean', value : false, description : 'Debug fixed-point implementation') 4*a58d3d2aSXin Lioption('float-api', type : 'boolean', value : true, description : 'Compile with or without the floating point API (for machines with no float library') 5*a58d3d2aSXin Lioption('float-approx', type : 'boolean', value : false, description : 'Enable fast approximations for floating point (not supported on all platforms)') 6*a58d3d2aSXin Lioption('rtcd', type : 'feature', value : 'auto', description : 'Run-time CPU capabilities detection') 7*a58d3d2aSXin Lioption('asm', type : 'feature', value : 'auto', description : 'Assembly optimizations for ARM (fixed-point)') 8*a58d3d2aSXin Lioption('intrinsics', type : 'feature', value : 'auto', description : 'Intrinsics optimizations for ARM NEON or x86') 9*a58d3d2aSXin Li 10*a58d3d2aSXin Lioption('enable-deep-plc', type : 'boolean', value : false, description : 'Enable Deep Packet Loss Concealment (PLC)') 11*a58d3d2aSXin Lioption('enable-dred', type : 'boolean', value : false, description : 'Enable Deep Redundancy (DRED)') 12*a58d3d2aSXin Lioption('enable-osce', type : 'boolean', value : false, description : 'Enable Opus Speech Coding Enhancement (OSCE)') 13*a58d3d2aSXin Lioption('enable-dnn-debug-float', type : 'boolean', value : false, description : 'Compute DNN using float weights') 14*a58d3d2aSXin Li 15*a58d3d2aSXin Lioption('custom-modes', type : 'boolean', value : false, description : 'Enable non-Opus modes, e.g. 44.1 kHz & 2^n frames') 16*a58d3d2aSXin Lioption('extra-programs', type : 'feature', value : 'auto', description : 'Extra programs (demo and tests)') 17*a58d3d2aSXin Lioption('assertions', type : 'boolean', value : false, description : 'Additional software error checking') 18*a58d3d2aSXin Lioption('hardening', type : 'boolean', value : true, description : 'Run-time checks that are cheap and safe for use in production') 19*a58d3d2aSXin Lioption('fuzzing', type : 'boolean', value : false, description : 'Causes the encoder to make random decisions') 20*a58d3d2aSXin Lioption('check-asm', type : 'boolean', value : false, description : 'Run bit-exactness checks between optimized and c implementations') 21*a58d3d2aSXin Li 22*a58d3d2aSXin Li# common feature options 23*a58d3d2aSXin Lioption('tests', type : 'feature', value : 'auto', description : 'Build tests') 24*a58d3d2aSXin Lioption('docs', type: 'feature', value: 'auto', description: 'Build API documentation') 25*a58d3d2aSXin Li 26*a58d3d2aSXin Li# other options 27*a58d3d2aSXin Lioption('docdir', type: 'string', value: 'doc/opus', description: 'Directory to install documentation into (default: DATADIR/doc/opus') 28