build: improve ccache support
[openwrt/openwrt.git] / config / Config-devel.in
1 # Copyright (C) 2006-2013 OpenWrt.org
2 #
3 # This is free software, licensed under the GNU General Public License v2.
4 # See /LICENSE for more information.
5 #
6
7 menuconfig DEVEL
8 bool "Advanced configuration options (for developers)"
9 default n
10
11 config BROKEN
12 bool "Show broken platforms / packages" if DEVEL
13 default n
14
15 config BINARY_FOLDER
16 string "Binary folder" if DEVEL
17 default ""
18 help
19 Store built firmware images and filesystem images in this directory.
20 If not set, uses './bin/$(BOARD)'
21
22 config DOWNLOAD_FOLDER
23 string "Download folder" if DEVEL
24 default ""
25 help
26 Store downloaded source bundles in this directory.
27 If not set then defaults to './dl', which is removed by operations such as
28 'git clean -xdf' or 'make distclean'.
29 This option is useful if you have a low bandwidth Internet connection, and by
30 setting a path outside the OpenWrt tree downloads will be saved.
31
32 config LOCALMIRROR
33 string "Local mirror for source packages" if DEVEL
34 default ""
35
36 config AUTOREBUILD
37 bool "Automatic rebuild of packages" if DEVEL
38 default y
39 help
40 Automatically rebuild packages when their files change.
41
42 config AUTOREMOVE
43 bool "Automatic removal of build directories" if DEVEL
44 default n
45 help
46 Automatically delete build directories after make target completed.
47 This allows you to symlink build_dir into a scratch location, e.g. a ramdisk,
48 which does not have enough space to keep a complete build_dir.
49
50 config BUILD_SUFFIX
51 string "Build suffix to append to the target BUILD_DIR variable" if DEVEL
52 default ""
53 help
54 Build suffix to append to the BUILD_DIR variable, i.e: './build_dir/{target-build-dir}_$(BUILD_SUFFIX)'.
55 This allows you to switch to a different .config whilst retaining all the build
56 objects generated by the first .config
57
58 config TARGET_ROOTFS_DIR
59 string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
60 default ""
61 help
62 Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with
63 custom path. Use this option to re-define the location of the target
64 root filesystem directory.
65
66 config CCACHE
67 bool "Use ccache" if DEVEL
68 default n
69 help
70 Compiler cache; see https://ccache.samba.org/
71
72 config CCACHE_DIR
73 string "Set ccache directory" if CCACHE
74 default ""
75 help
76 Store ccache in this directory.
77 If not set, uses './.ccache'
78
79 config EXTERNAL_KERNEL_TREE
80 string "Use external kernel tree" if DEVEL
81 default ""
82
83 config KERNEL_GIT_CLONE_URI
84 string "Enter git repository to clone" if DEVEL
85 default ""
86 help
87 Enter the full git repository path i.e.:
88 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
89 This will create a git clone of the kernel in your build directory.
90
91 config KERNEL_GIT_LOCAL_REPOSITORY
92 string "Enter path to local reference repository" if DEVEL
93 depends on (KERNEL_GIT_CLONE_URI != "")
94 default ""
95 help
96 Enter a full pathname to a local reference git repository.
97 In this instance, the --reference option of git clone will
98 be used thus creating a quick local clone of your repo.
99
100 config KERNEL_GIT_REF
101 string "Enter git ref at which to checkout" if DEVEL
102 depends on (KERNEL_GIT_CLONE_URI != "")
103 default ""
104 help
105 Enter the git ref at which to checkout the git repository
106 after it is cloned, and before making it a tar-ball.
107 It can be a git hash or a branch name.
108 If unused, the clone's repository HEAD will be checked-out.
109
110 config BUILD_LOG
111 bool "Enable log files during build process" if DEVEL
112 help
113 If enabled, log files will be written to the ./log directory.
114
115 config BUILD_LOG_DIR
116 string "Log folder" if DEVEL
117 default ""
118 help
119 Store build logs in this directory.
120 If not set, uses './logs'
121
122 config SRC_TREE_OVERRIDE
123 bool "Enable package source tree override" if DEVEL
124 help
125 If enabled, you can force a package to use a git tree as source
126 code instead of the normal tarball. Create a symlink 'git-src'
127 in the package directory, pointing to the .git tree that you want
128 to pull the source code from.
129
130 config EXTRA_OPTIMIZATION
131 string "Additional compiler options" if DEVEL
132 default "-fno-caller-saves -fno-plt" if !CONFIG_EXTERNAL_TOOLCHAIN && !arc
133 default "-fno-caller-saves"
134 help
135 Extra target-independent optimizations to use when building for the target.