2017-11-01 21:27:13 +08:00
# Build properties
2019-09-21 19:32:13 +08:00
option ( 'ansi' , type : 'boolean' , value : false , description : 'Turn on strict ansi' )
2022-06-29 23:40:55 +08:00
option ( 'enable-console-bin' , type : 'boolean' , value : true , description : 'Build a console-only binary which does not link GTK' )
2019-09-21 19:32:13 +08:00
option ( 'win32-debug-console' , type : 'boolean' , value : true , description : 'Open a console when starting the program' )
option ( 'enable-multiproc' , type : 'boolean' , value : true , description : 'Support for multiple processors' )
option ( 'profiling' , type : 'boolean' , value : false , description : 'Enable profiling' )
2024-01-04 22:00:01 +08:00
option ( 'windows-installer' , type : 'boolean' , value : false , description : 'Generate files needed for the Inno Windows installer' )
option ( 'ms-store' , type : 'boolean' , value : false , description : 'Generate files needed for the Microsoft Store .msixupload and/or .msixbundle' )
2019-09-21 19:32:13 +08:00
2020-03-18 01:48:54 +08:00
option ( 'relocatable-bundle' , type : 'combo' , value : 'platform-default' ,
description : 'build with resources considered bundled under the same prefix' ,
choices : [ 'yes' , 'no' , 'platform-default' ] )
2019-09-21 19:32:13 +08:00
option ( 'shmem-type' , type : 'combo' , value : 'auto' , description : 'Shared memory transport type' ,
choices : [ 'none' , 'sysv' , 'posix' , 'win32' , 'auto' ] )
2019-11-30 22:27:30 +08:00
option ( 'build-id' , type : 'string' , value : 'unknown' , description : 'Unique string used to define your build' )
2020-02-14 07:58:22 +08:00
option ( 'revision' , type : 'integer' , value : 0 , description : 'Revision increment for a package' )
2021-08-26 07:22:32 +08:00
option ( 'check-update' , type : 'combo' , value : 'platform-default' ,
description : 'GIMP will look up new version availability on startup' ,
choices : [ 'yes' , 'no' , 'platform-default' ] )
2020-02-07 04:20:17 +08:00
2017-11-01 21:27:13 +08:00
option ( 'bug-report-url' , type : 'string' , value : '' , description : 'URL used by the debug dialog to report bugs' )
option ( 'gimpdir' , type : 'string' , value : '' , description : 'Change default gimpdir from ~/.config/GIMP/2.9 to ~/.config/DIR/2.9 (if relative), or to DIR (if absolute)' )
option ( 'icc-directory' , type : 'string' , value : '' , description : 'Path to default color profiles for this system' )
option ( 'directx-sdk-dir' , type : 'string' , value : '' , description : 'Prefix where the DirectX SDK is installed(optional)' )
option ( 'with-sendmail' , type : 'string' , value : '' , description : 'Use Sendmail instead of Xdg-email' )
option ( 'win32-32bits-dll-folder' , type : 'string' , value : '32/bin' , description : 'alternative folder with 32-bit versions of DLL libraries on Windows' )
option ( 'libunwind' , type : 'boolean' , value : true , description : 'Build with libunwind for backtrace' )
option ( 'libbacktrace' , type : 'boolean' , value : true , description : 'Build with libbacktrace support' )
# Features
2024-06-05 20:40:30 +08:00
option ( 'enable-default-bin' , type : 'feature' , value : 'auto' , description : 'Install unversioned symlinks pointing to versioned executables (on UNIX) or unversioned duplicates (on Windows)' )
2017-11-01 21:27:13 +08:00
option ( 'aa' , type : 'feature' , value : 'auto' , description : 'AA plugin' )
option ( 'alsa' , type : 'feature' , value : 'auto' , description : 'Alsa support in midi input controller' )
option ( 'appdata-test' , type : 'feature' , value : 'auto' , description : 'Validate the appdata file' )
option ( 'cairo-pdf' , type : 'feature' , value : 'auto' , description : 'Cairo-pdf support' )
2023-07-17 05:24:59 +08:00
option ( 'fits' , type : 'feature' , value : 'auto' , description : 'Support for loading/exporting FITS images' )
2017-11-01 21:27:13 +08:00
option ( 'ghostscript' , type : 'feature' , value : 'auto' , description : 'Ghostscript support' )
option ( 'gudev' , type : 'feature' , value : 'auto' , description : 'Gudev support' )
option ( 'heif' , type : 'feature' , value : 'auto' , description : 'HEIF support' )
2023-07-13 06:55:20 +08:00
option ( 'ilbm' , type : 'feature' , value : 'auto' , description : 'Amiga IFF support' )
2017-11-01 21:27:13 +08:00
option ( 'jpeg2000' , type : 'feature' , value : 'auto' , description : 'Jpeg-2000 support' )
2021-08-26 20:24:21 +08:00
option ( 'jpeg-xl' , type : 'feature' , value : 'auto' , description : 'JPEG XL support' )
2017-11-01 21:27:13 +08:00
option ( 'mng' , type : 'feature' , value : 'auto' , description : 'Mng support' )
option ( 'openexr' , type : 'feature' , value : 'auto' , description : 'Openexr support' )
2023-07-17 05:24:59 +08:00
option ( 'openmp' , type : 'feature' , value : 'auto' , description : 'OpenMP support' )
2020-07-06 17:03:21 +08:00
option ( 'print' , type : 'boolean' , value : true , description : 'Print support' )
configure, meson, plug-ins: unmaintain WebkitGTK-depending plug-ins.
This is an official way to declare these plug-ins as now
unmaintained/deprecated.
Relevant plug-ins are:
1) help-browser (Displaying the docs): nowadays every desktop machine
has a browser. Let's just use whatever is the person's default
browser.
2) web-page (Web screenshot): it looks to me like every browser has this
feature by default now (I use it all the time in Firefox to get a
full-page screenshot, never in GIMP), even on mobile, I am told. It's
nice to have it in GIMP too, but not like absolutely necessary.
On the other hand:
1. It's a hell to build, with a lot of issues. We have regular issues on
our Flatpak-s. We don't manage to build it on our CI (only locally
apparently). Also it takes a crazy amount of time (like 90% of CI
build-time would be webkit).
2. From what I gather, new versions don't work on Windows anymore. Even
MSYS2 seems to have dropped the ball and don't try anymore.
Basically we would have a feature disparity from GIMP 3.0 (most
platform but Windows). We don't know when it will be resolved (if
ever) as it's been like this for years.
Now why we are keeping the code around instead of just removing
everything is that the topic tree in the help browser is useful and
comfortable to use. Ideally we should get some equivalent to help
browsing the help efficiently in the web docs as well (so basically
menus, web search and alike?). So I am told to keep the code around at
least for now to see if we can figure something out or improve the
situation.
Except for this point, we can consider the WebkitGTK plug-ins as
deprecated from GIMP 3.0 on.
2021-12-23 01:47:30 +08:00
option ( 'webkit-unmaintained' , type : 'boolean' , value : false , description : 'Help browser and webpage plugins (unmaintained)' )
2017-11-01 21:27:13 +08:00
option ( 'webp' , type : 'feature' , value : 'auto' , description : 'Webp support' )
option ( 'wmf' , type : 'feature' , value : 'auto' , description : 'Wmf support' )
option ( 'xcursor' , type : 'feature' , value : 'auto' , description : 'Xcursor support' )
option ( 'xpm' , type : 'feature' , value : 'auto' , description : 'XPM support' )
2020-05-14 23:51:55 +08:00
option ( 'headless-tests' , type : 'feature' , value : 'auto' , description : 'Use xvfb-run/dbus-run-session for UI-dependent automatic tests' )
2017-11-01 21:27:13 +08:00
2021-09-01 22:44:13 +08:00
option ( 'can-crosscompile-gir' , type : 'boolean' , value : false , description : 'GIR is buildable even if crosscompiling' )
2021-12-29 07:55:17 +08:00
option ( 'gi-docgen' , type : 'feature' , value : 'auto' , description : 'Build developer documentation (uses gi-docgen)' )
2021-01-29 23:51:47 +08:00
option ( 'g-ir-doc' , type : 'boolean' , value : false , description : 'Build developer documentation for introspected API' )
2017-11-01 21:27:13 +08:00
option ( 'linux-input' , type : 'feature' , value : 'auto' , description : 'Linux input event controller module' )
2022-01-26 09:55:27 +08:00
option ( 'vector-icons' , type : 'boolean' , value : true , description : 'Use vector icons rather than raster ones' )
2017-11-01 21:27:13 +08:00
2023-04-05 22:39:15 +08:00
option ( 'vala' , type : 'feature' , value : 'auto' , description : 'Build VAPI and Vala plugins' )
option ( 'javascript' , type : 'feature' , value : 'auto' , description : 'Install Javascript plug-ins' )
option ( 'lua' , type : 'feature' , value : 'auto' , description : 'Install Lua plug-ins' )