Add a target (CONFIG_MAKE_CONFIG) that creates an exportable toolchain. The toolchain will zipped and saved under $(TOPDIR)/bin directory.
[openwrt.org/openwrt.git] / Config.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
# Copyright (C) 2006-2009 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

mainmenu "OpenWrt Configuration"

config HAVE_DOT_CONFIG
	bool
	default y

source "target/Config.in"

menu "Target Images"
	config TARGET_ROOTFS_INITRAMFS
		bool "ramdisk"
		default y if USES_INITRAMFS
		depends LINUX_2_6
		help
		  Embed the rootfs into the kernel (initramfs)

	choice
		prompt "ramdisk compression"
		depends TARGET_ROOTFS_INITRAMFS
		depends !LINUX_2_6_21
		depends !LINUX_2_6_25
		depends !LINUX_2_6_27
		depends !LINUX_2_6_28
		default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
		default TARGET_INITRAMFS_COMPRESSION_NONE
		help
		  Select ramdisk compression.

		config TARGET_INITRAMFS_COMPRESSION_NONE
			bool "NONE"

		config TARGET_INITRAMFS_COMPRESSION_GZIP
			bool "GZIP"

		config TARGET_INITRAMFS_COMPRESSION_BZIP2
			bool "BZIP2"

		config TARGET_INITRAMFS_COMPRESSION_LZMA
			bool "LZMA"
	endchoice

	config TARGET_ROOTFS_JFFS2
		bool "jffs2"
		default y if USES_JFFS2
		depends !TARGET_ROOTFS_INITRAMFS
		help
		  Build a jffs2 root filesystem

	config TARGET_ROOTFS_SQUASHFS
		bool "squashfs"
		default y if USES_SQUASHFS
		depends !TARGET_ROOTFS_INITRAMFS
		help
		  Build a squashfs-lzma root filesystem

	config TARGET_ROOTFS_TGZ
		bool "tgz"
		default y if USES_TGZ
		depends !TARGET_ROOTFS_INITRAMFS
		help
		  Build a compressed tar archive of the the root filesystem

	config TARGET_ROOTFS_CPIOGZ
		bool "cpiogz"
		default y if USES_CPIOGZ
		depends !TARGET_ROOTFS_INITRAMFS
		help
		  Build a compressed cpio archive of the the root filesystem

	config TARGET_ROOTFS_EXT2FS
		bool "ext2"
		default y if USES_EXT2
		depends !TARGET_ROOTFS_INITRAMFS
		help
		  Ext2 file system with some free space for uml images

	config TARGET_ROOTFS_ISO
		bool "iso"
		default n
		depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
		help
		  Create some bootable ISO image

comment "Image Options"

source "target/linux/*/image/Config.in"

    config TARGET_ROOTFS_FSPART
        int "Filesystem part size (in MB)"
        depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT2FS || TARGET_rb532 || TARGET_olpc
        default 48
        help
            Allows you to change the filesystem partition size

    config TARGET_ROOTFS_MAXINODE
        int "Maximum number of inodes in filesystem"
        depends TARGET_ROOTFS_EXT2FS
        default 6000
        help
            Allows you to change the maximum number of inodes in the filesystem

endmenu

menu "Global build settings"

config ALL
	bool "Select all packages by default"
	default n

comment "General build options"

config CLEAN_IPKG
	bool
	prompt "Disable ipkg/opkg installation on the target"
	default n
	help
		This removes all ipkg data from the target directory before building the root fs

config LARGEFILE
	bool
	prompt "Enable large file (files > 2 GB) support"
	default y
	help
	  Enable large file (files > 2 GB) support.

config SHADOW_PASSWORDS
	bool
	prompt "Enable shadow password support"
	default y
	help
	  Enable shadow password support.

choice
	prompt "Binary stripping method"
	default USE_STRIP   if EXTERNAL_TOOLCHAIN
	default USE_STRIP   if USE_GLIBC || USE_EGLIBC
	default USE_SSTRIP
	help
	  Select the binary stripping method you wish to use.

	config NO_STRIP
		bool "none"
		help
		  This will install unstripped binaries (useful for native compiling/debugging)

	config USE_STRIP
		bool "strip"
		help
		  This will install binaries stripped using strip from binutils


	config USE_SSTRIP
		bool "sstrip"
		depends !USE_GLIBC
		depends !USE_EGLIBC
		help
		  This will install binaries stripped using sstrip

endchoice

config USE_MKLIBS
	bool "Strip unnecessary functions from libraries"
	help
	  Reduces libraries to only those functions that are necessary for using all
	  selected packages (including those selected as <M>)
	  Note that this will make the system libraries incompatible with most of the packages
	  that are not selected during the build process

config STRIP_KERNEL_EXPORTS
	depends LINUX_2_6
	bool "Strip unnecessary exports from the kernel image"
	help
	  Reduces kernel size by stripping unused kernel exports from the kernel image
	  Note that this might make the kernel incompatible with any kernel modules that
	  were not selected at the time the kernel image was created

comment "Package build options"

config DEBUG
	bool
	prompt "Compile packages with debugging info"
	default n
	help
		Disables stripping and adds -g3 to the CFLAGS

config DEBUG_DIR
	bool "Install debugging binaries into a staging directory"
	default n
	help
		This will install all compiled package binaries into build_dir/target-*/debug-*/,
		useful for cross-debugging via gdb/gdbserver

config IPV6
        bool
        prompt "Enable IPv6 support in packages"
        default n
        help
                Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).

comment "Kernel build options"

config KERNEL_KALLSYMS
	bool "Compile the kernel with symbol table information"
	default n
	help
		This will give you more information in stack traces from kernel oopses

config KERNEL_PROFILING
	bool "Compile the kernel with profiling enabled"
	default n
	help
		Enable the extended profiling support mechanisms used by profilers such
		as OProfile.

config KERNEL_DEBUG_FS
	bool "Compile the kernel with Debug Filesystem enabled"
	depends LINUX_2_6
	default y
	help
		debugfs is a virtual file system that kernel developers use to put
		debugging files into. Enable this option to be able to read and
		write to these files.

endmenu

menuconfig DEVEL
	bool "Advanced configuration options (for developers)"
	default n

config BROKEN
	bool
	prompt "Show broken platforms / packages" if DEVEL
	default n

config DOWNLOAD_FOLDER
	string
	prompt "Download folder" if DEVEL
	default ""

config LOCALMIRROR
	string
	prompt "Local mirror for source packages" if DEVEL

config AUTOREBUILD
	bool
	prompt "Automatic rebuild of packages" if DEVEL
	default y
	help
		Automatically rebuild packages when their files change

config BUILD_SUFFIX
	string
	prompt "Build suffix to append to the BUILD_DIR variable" if DEVEL
	default ""
	help
		Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix

config TARGET_ROOTFS_DIR
	string
	prompt "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
	default ""
	help
		Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
		Use this option to re-define the location of the target root file system directory.

config CCACHE
	bool
	prompt "Use ccache" if DEVEL
	default n
	help
		Compiler cache; see http://ccache.samba.org/

config EXTERNAL_KERNEL_TREE
	string
	prompt "Use external kernel tree" if DEVEL
	default ""

config KERNEL_GIT_CLONE_URI
	string
	prompt "Enter git repository to clone" if DEVEL
	default ""
	help
		Enter the full git repository path i.e.:
		git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
		This will create a git clone of the kernel in your build
		directory.

config KERNEL_GIT_LOCAL_REPOSITORY
	string
	prompt "Enter path to local reference repository" if DEVEL
	default ""
	help
		Enter a full pathname to a local reference git repository.
		In this instance, the --refererence option of git clone will
		be used thus creating a quick local clone of your repo.


menuconfig TARGET_OPTIONS
	bool "Target Options"  if DEVEL

config TARGET_OPTIMIZATION
	string
	prompt "Target Optimizations" if TARGET_OPTIONS
	default DEFAULT_TARGET_OPTIMIZATION
	help
	  Optimizations to use when building for the target host.

config SOFT_FLOAT
	bool
	prompt "Use software floating point by default" if TARGET_OPTIONS
	default y
	depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
	help
	  If your target CPU does not have a Floating Point Unit (FPU) or a
	  kernel FPU emulator, but you still wish to support floating point
	  functions, then everything will need to be compiled with soft floating
	  point support (-msoft-float).

	  Most people will answer N.


source "toolchain/Config.in"

source "target/imagebuilder/Config.in"
source "target/sdk/Config.in"
source "target/toolchain/Config.in"

source "tmp/.config-package.in"



comments