source: trunk/Config.in @ 28394

Last change on this file since 28394 was 28394, checked in by nbd, 5 years ago

build system: add a feature that allows you to pull sources from a git tree instead of the usual tarball

  • Property svn:eol-style set to native
File size: 12.5 KB
Line 
1# Copyright (C) 2006-2010 OpenWrt.org
2#
3# This is free software, licensed under the GNU General Public License v2.
4# See /LICENSE for more information.
5#
6
7mainmenu "OpenWrt Configuration"
8
9config HAVE_DOT_CONFIG
10        bool
11        default y
12
13source "target/Config.in"
14
15menu "Target Images"
16
17        menuconfig TARGET_ROOTFS_INITRAMFS
18                bool "ramdisk"
19                default y if USES_INITRAMFS
20                help
21                  Embed the rootfs into the kernel (initramfs)
22
23                choice
24                        prompt "Compression"
25                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
26                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
27                        default TARGET_INITRAMFS_COMPRESSION_NONE
28                        depends TARGET_ROOTFS_INITRAMFS
29                        help
30                          Select ramdisk compression.
31
32                        config TARGET_INITRAMFS_COMPRESSION_NONE
33                                bool "none"
34
35                        config TARGET_INITRAMFS_COMPRESSION_GZIP
36                                bool "gzip"
37
38                        config TARGET_INITRAMFS_COMPRESSION_BZIP2
39                                bool "bzip2"
40
41                        config TARGET_INITRAMFS_COMPRESSION_LZMA
42                                bool "lzma"
43
44                        config TARGET_INITRAMFS_COMPRESSION_LZO
45                                bool "lzo"
46
47                        config TARGET_INITRAMFS_COMPRESSION_XZ
48                                bool "xz"
49                                depends LINUX_2_6_38
50                endchoice
51
52        comment "Root filesystem archives"
53
54        config TARGET_ROOTFS_CPIOGZ
55                bool "cpio.gz"
56                default y if USES_CPIOGZ
57                help
58                  Build a compressed cpio archive of the the root filesystem
59
60        config TARGET_ROOTFS_TARGZ
61                bool "tar.gz"
62                default y if USES_TARGZ
63                help
64                  Build a compressed tar archive of the the root filesystem
65
66        comment "Root filesystem images"
67
68        config TARGET_ROOTFS_EXT4FS
69                bool "ext4"
70                default y if USES_EXT4
71                depends !TARGET_ROOTFS_INITRAMFS
72                help
73                  Ext4 file system with some free space for uml images
74
75        config TARGET_ROOTFS_ISO
76                bool "iso"
77                default n
78                depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
79                help
80                  Create some bootable ISO image
81
82        config TARGET_ROOTFS_JFFS2
83                bool "jffs2"
84                default y if USES_JFFS2
85                depends !TARGET_ROOTFS_INITRAMFS
86                help
87                  Build a jffs2 root filesystem
88
89        config TARGET_ROOTFS_SQUASHFS
90                bool "squashfs"
91                default y if USES_SQUASHFS
92                depends !TARGET_ROOTFS_INITRAMFS
93                help
94                  Build a squashfs-lzma root filesystem
95
96        config TARGET_ROOTFS_UBIFS
97                bool "ubifs"
98                default y if USES_UBIFS
99                depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
100                help
101                  Build a ubifs root filesystem
102
103        comment "Image Options"
104
105        source "target/linux/*/image/Config.in"
106
107        config TARGET_ROOTFS_PARTSIZE
108                int "Root filesystem partition size (in MB)"
109                depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
110                default 48
111                help
112                    Allows you to change the root filesystem partition size
113
114        config TARGET_ROOTFS_MAXINODE
115                int "Maximum number of inodes in root filesystem"
116                depends TARGET_ROOTFS_EXT4FS
117                default 6000
118                help
119                    Allows you to change the maximum number of inodes in the root filesystem
120
121endmenu
122
123menu "Global build settings"
124
125        config ALL
126                bool "Select all packages by default"
127                default n
128
129        comment "General build options"
130
131        config DISPLAY_SUPPORT
132                bool "Show packages that require graphics support (local or remote)"
133                default n
134
135        config BUILD_PATENTED
136                default y
137                bool "Compile with support for patented functionality"
138                help
139                  When this option is disabled, software which provides patented functionality will not be built.
140                  In case software provides optional support for patented functionality,
141                  this optional support will get disabled for this package.
142
143        config BUILD_NLS
144                default n
145                bool "Compile with full language support"
146                help
147                  When this option is enabled, packages are built with the full versions of iconv and GNU gettext
148                  instead of the default OpenWrt stubs.
149
150        config SHADOW_PASSWORDS
151                bool
152                prompt "Enable shadow password support"
153                default y
154                help
155                  Enable shadow password support.
156
157        config CLEAN_IPKG
158                bool
159                prompt "Remove ipkg/opkg status data files in final images"
160                default n
161                help
162                        This removes all ipkg/opkg status data files from the target directory before building the root fs
163
164        config COLLECT_KERNEL_DEBUG
165                bool
166                prompt "Collect kernel debug information"
167                select KERNEL_DEBUG_INFO
168                default n
169                help
170                        This collects debugging symbols from the kernel and all compiled modules.
171                        Useful for release builds, so that kernel issues can be debugged offline later.
172
173        comment "Kernel build options"
174
175        config KERNEL_DEBUG_FS
176                bool "Compile the kernel with Debug FileSystem enabled"
177                default y
178                help
179                  debugfs is a virtual file system that kernel developers use to put
180                  debugging files into. Enable this option to be able to read and
181                  write to these files.
182
183        config KERNEL_PROFILING
184                bool "Compile the kernel with profiling enabled"
185                default n
186                help
187                  Enable the extended profiling support mechanisms used by profilers such
188                  as OProfile.
189
190        config KERNEL_KALLSYMS
191                bool "Compile the kernel with symbol table information"
192                default n
193                help
194                  This will give you more information in stack traces from kernel oopses
195
196        config KERNEL_DEBUG_KERNEL
197                bool
198                default n
199
200        config KERNEL_DEBUG_INFO
201                bool "Compile the kernel with debug information"
202                default n
203                select KERNEL_DEBUG_KERNEL
204                help
205                  This will compile your kernel and modules with debug information.
206
207        config KERNEL_DEBUG_LL
208                bool
209                default n
210                depends on arm
211                help
212                  ARM low level debugging
213
214        config KERNEL_EARLY_PRINTK
215                bool "Compile the kernel with early printk"
216                default n
217                depends on arm
218                select KERNEL_DEBUG_KERNEL
219                select KERNEL_DEBUG_LL if arm
220                help
221                  Compile the kernel with early printk support.
222                  This is only useful for debugging purposes to send messages
223                  over the serial console in early boot.
224                  Enable this to debug early boot problems.
225
226        config KERNEL_AIO
227                bool "Compile the kernel with asynchronous IO support"
228                default n
229
230        config KERNEL_MAGIC_SYSRQ
231                bool "Compile the kernel with SysRq support"
232                default n
233
234        comment "Package build options"
235
236        config DEBUG
237                bool
238                prompt "Compile packages with debugging info"
239                default n
240                help
241                  Adds -g3 to the CFLAGS
242
243        config IPV6
244                bool
245                prompt "Enable IPv6 support in packages"
246                default y
247                help
248                  Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts).
249
250        config PKG_BUILD_PARALLEL
251                bool
252                prompt "Compile certain packages parallelized"
253                default n
254                help
255                  This adds a -jX option to certain packages that are known to
256                  behave well for parallel build.
257
258                  Note that this may overcommit CPU resources depending on the
259                  -j level of the main make process, the number of package
260                  submake jobs selected below and the number of actual CPUs present.
261                  Example: If the main make is passed a -j4 and the submake -j
262                  is also set to 4, we may end up with 16 parallel make processes
263                  in the worst case.
264
265                  You get maximum build performance, if you set the package build
266                  jobs to the number of CPUs (cores) available and also start the main
267                  make process with -jX, where X is the number of CPUs (cores).
268                  However, make sure you have enough RAM available for
269                  NR_CPUS to the power of two (NR_CPUS^2) make jobs.
270
271                  If you are unsure, select N.
272
273        config PKG_BUILD_JOBS
274                int
275                prompt "Number of package submake jobs (2-512)"
276                range 2 512
277                default 2
278                depends on PKG_BUILD_PARALLEL
279                help
280                  The number of jobs (-jX) to pass to packages submake.
281
282        config PKG_DEFAULT_PARALLEL
283                bool
284                prompt "Parallelize the default package build rule (May break build)"
285                depends on PKG_BUILD_PARALLEL
286                default n
287                help
288                  Always set the default package build rules to parallel build.
289
290                  WARNING: This may break build or kill your cat, as it builds
291                  packages with multiple jobs that are probably not tested in
292                  a parallel build environment.
293
294                  Only say Y, if you don't mind fixing broken packages.
295                  Before reporting build bugs, set this to N and re-run the build.
296
297        config TOOLCHAIN_PARALLEL
298                bool
299                prompt "Parallelize the toolchain build (May break build)"
300                depends on PKG_BUILD_PARALLEL
301                default n
302                help
303                  Build the toolchain with parallel make jobs.
304                  This speeds up the toolchain build on SMP machines, but may
305                  break the build for certain toolchain versions.
306
307                  If you say Y, toolchain build might break.
308                  Before reporting build bugs, set this to N and re-run the build.
309
310        comment "Stripping options"
311
312        choice
313                prompt "Binary stripping method"
314                default USE_STRIP   if EXTERNAL_TOOLCHAIN
315                default USE_STRIP   if USE_GLIBC || USE_EGLIBC
316                default USE_SSTRIP
317                help
318                  Select the binary stripping method you wish to use.
319
320                config NO_STRIP
321                        bool "none"
322                        help
323                          This will install unstripped binaries (useful for native compiling/debugging)
324
325                config USE_STRIP
326                        bool "strip"
327                        help
328                          This will install binaries stripped using strip from binutils
329
330
331                config USE_SSTRIP
332                        bool "sstrip"
333                        depends !DEBUG
334                        depends !USE_GLIBC
335                        depends !USE_EGLIBC
336                        help
337                          This will install binaries stripped using sstrip
338        endchoice
339
340        config STRIP_ARGS
341                string
342                prompt "Strip arguments"
343                depends USE_STRIP
344                default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
345                default "--strip-all"
346                help
347                  Specifies arguments passed to the strip command when stripping binaries
348
349        config STRIP_KERNEL_EXPORTS
350                bool "Strip unnecessary exports from the kernel image"
351                help
352                  Reduces kernel size by stripping unused kernel exports from the kernel image
353                  Note that this might make the kernel incompatible with any kernel modules that
354                  were not selected at the time the kernel image was created
355
356        config USE_MKLIBS
357                bool "Strip unnecessary functions from libraries"
358                help
359                  Reduces libraries to only those functions that are necessary for using all
360                  selected packages (including those selected as <M>)
361                  Note that this will make the system libraries incompatible with most of the packages
362                  that are not selected during the build process
363
364endmenu
365
366menuconfig DEVEL
367        bool "Advanced configuration options (for developers)"
368        default n
369
370        config BROKEN
371                bool "Show broken platforms / packages" if DEVEL
372                default n
373
374        config DOWNLOAD_FOLDER
375                string "Download folder" if DEVEL
376                default ""
377
378        config LOCALMIRROR
379                string "Local mirror for source packages" if DEVEL
380                default ""
381
382        config AUTOREBUILD
383                bool "Automatic rebuild of packages" if DEVEL
384                default y
385                help
386                  Automatically rebuild packages when their files change
387
388        config BUILD_SUFFIX
389                string "Build suffix to append to the BUILD_DIR variable" if DEVEL
390                default ""
391                help
392                  Build suffix to append to the BUILD_DIR variable, i.e: build_dir_suffix
393
394        config TARGET_ROOTFS_DIR
395                string "Override the default TARGET_ROOTFS_DIR variable" if DEVEL
396                default ""
397                help
398                  Override the default TARGET_ROOTFS_DIR variable content $(BUILD_DIR) with custom path.
399                  Use this option to re-define the location of the target root file system directory.
400
401        config CCACHE
402                bool "Use ccache" if DEVEL
403                default n
404                help
405                  Compiler cache; see http://ccache.samba.org/
406
407        config EXTERNAL_KERNEL_TREE
408                string "Use external kernel tree" if DEVEL
409                default ""
410
411        config KERNEL_GIT_CLONE_URI
412                string "Enter git repository to clone" if DEVEL
413                default ""
414                help
415                  Enter the full git repository path i.e.:
416                  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
417                  This will create a git clone of the kernel in your build
418                  directory.
419
420        config KERNEL_GIT_LOCAL_REPOSITORY
421                string "Enter path to local reference repository" if DEVEL
422                default ""
423                help
424                  Enter a full pathname to a local reference git repository.
425                  In this instance, the --refererence option of git clone will
426                  be used thus creating a quick local clone of your repo.
427
428        config BUILD_LOG
429                bool "Enable log files during build process" if DEVEL
430                help
431                  If enabled log files will be written to the ./log directory
432
433        config SRC_TREE_OVERRIDE
434                bool "Enable package source tree override" if DEVEL
435                help
436                  If enabled, you can force a package to use a git tree as source
437                  code instead of the normal tarball. Create a symlink 'git-src'
438                  in the package directory, pointing to the .git tree that you want
439                  to pull the source code from
440
441menuconfig TARGET_OPTIONS
442        bool "Target Options"  if DEVEL
443
444        config TARGET_OPTIMIZATION
445                string "Target Optimizations" if TARGET_OPTIONS
446                default DEFAULT_TARGET_OPTIMIZATION
447                help
448                  Optimizations to use when building for the target host.
449
450        config SOFT_FLOAT
451                bool "Use software floating point by default" if TARGET_OPTIONS
452                default y
453                depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
454                help
455                  If your target CPU does not have a Floating Point Unit (FPU) or a
456                  kernel FPU emulator, but you still wish to support floating point
457                  functions, then everything will need to be compiled with soft floating
458                  point support (-msoft-float).
459
460                  Most people will answer N.
461
462source "toolchain/Config.in"
463
464source "target/imagebuilder/Config.in"
465source "target/sdk/Config.in"
466source "target/toolchain/Config.in"
467
468source "tmp/.config-package.in"
Note: See TracBrowser for help on using the repository browser.