ar71xx: image: add IMAGE_PROFILE variable
[openwrt/svn-archive/archive.git] / Config.in
index bd4f63e..d6573a6 100644 (file)
--- a/Config.in
+++ b/Config.in
@@ -1,4 +1,4 @@
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -6,6 +6,10 @@
 
 mainmenu "OpenWrt Configuration"
 
+config MODULES
+       bool
+       default y
+
 config HAVE_DOT_CONFIG
        bool
        default y
@@ -25,7 +29,7 @@ menu "Target Images"
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ar71xx
                        default TARGET_INITRAMFS_COMPRESSION_LZMA if TARGET_ramips
                        default TARGET_INITRAMFS_COMPRESSION_NONE
-                       depends TARGET_ROOTFS_INITRAMFS
+                       depends on TARGET_ROOTFS_INITRAMFS
                        help
                          Select ramdisk compression.
 
@@ -44,6 +48,9 @@ menu "Target Images"
                        config TARGET_INITRAMFS_COMPRESSION_LZO
                                bool "lzo"
 
+                       config TARGET_INITRAMFS_COMPRESSION_LZ4
+                               bool "lz4"
+
                        config TARGET_INITRAMFS_COMPRESSION_XZ
                                bool "xz"
                endchoice
@@ -74,55 +81,140 @@ menu "Target Images"
        config TARGET_ROOTFS_EXT4FS
                bool "ext4"
                default y if USES_EXT4
-               depends !TARGET_ROOTFS_INITRAMFS
                help
                  Ext4 file system with some free space for uml images
 
        config TARGET_ROOTFS_ISO
                bool "iso"
                default n
-               depends TARGET_ROOTFS_INITRAMFS && TARGET_x86
+               depends on TARGET_x86_generic
                help
                  Create some bootable ISO image
 
        config TARGET_ROOTFS_JFFS2
                bool "jffs2"
                default y if USES_JFFS2
-               depends !TARGET_ROOTFS_INITRAMFS
                help
                  Build a jffs2 root filesystem
 
+       config TARGET_ROOTFS_JFFS2_NAND
+               bool "jffs2 for NAND"
+               default y if USES_JFFS2_NAND
+               depends on USES_JFFS2_NAND
+               help
+                 Build a jffs2 root filesystem for NAND flash
+
        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_UBIFS
+       menuconfig TARGET_ROOTFS_UBIFS
                bool "ubifs"
                default y if USES_UBIFS
-               depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS
+               depends on USES_UBIFS
                help
                  Build a ubifs root filesystem
 
+               choice
+                       prompt "compression"
+                       default TARGET_UBIFS_COMPRESSION_NONE
+                       depends on TARGET_ROOTFS_UBIFS
+                       help
+                         Select compression type
+
+                       config TARGET_UBIFS_COMPRESSION_NONE
+                               bool "none"
+
+                       config TARGET_UBIFS_COMPRESSION_LZO
+                               bool "lzo"
+
+                       config TARGET_UBIFS_COMPRESSION_ZLIB
+                               bool "zlib"
+               endchoice
+
+               config TARGET_UBIFS_FREE_SPACE_FIXUP
+                       bool "free space fixup" if TARGET_ROOTFS_UBIFS
+                       default y
+                       help
+                         The file-system free space has to be fixed up on first mount
+
+               config TARGET_UBIFS_JOURNAL_SIZE
+                       string
+                       prompt "journal size" if TARGET_ROOTFS_UBIFS
+                       default "512KiB"
+
+               config TARGET_UBIFS_SQUASH_UIDS
+                       bool "squash uids" if TARGET_ROOTFS_UBIFS
+                       default n
+                       help
+                         Squash owners making all files owned by root
+
        comment "Image Options"
 
        source "target/linux/*/image/Config.in"
 
        config TARGET_ROOTFS_PARTSIZE
                int "Root filesystem partition size (in MB)"
-               depends X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
+               depends on X86_GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532
                default 48
                help
-                   Allows you to change the root filesystem partition size
+                 Allows you to change the root filesystem partition size
 
        config TARGET_ROOTFS_MAXINODE
                int "Maximum number of inodes in root filesystem"
-               depends TARGET_ROOTFS_EXT4FS
+               depends on TARGET_ROOTFS_EXT4FS
                default 6000
                help
-                   Allows you to change the maximum number of inodes in the root filesystem
+                 Allows you to change the maximum number of inodes in the root filesystem
+
+       config TARGET_ROOTFS_RESERVED_PCT
+               int "Percentage of reserved blocks in root filesystem"
+               depends on TARGET_ROOTFS_EXT4FS
+               default 0
+               help
+                 Allows you to change the percentage of reserved blocks in the root filesystem
+
+       menuconfig TARGET_ROOTFS_INCLUDE_KERNEL
+               bool "Include kernel in root filesystem"
+               depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
+               default n if USES_UBIFS
+               help
+                 Include the kernel image in the rootfs. Typically the image is placed
+                 below /boot.
+
+               config TARGET_ROOTFS_INCLUDE_UIMAGE
+                       bool "include uImage" if TARGET_ROOTFS_INCLUDE_KERNEL
+                       default y
+                       help
+                         This option might not apply to all targets. Make sure
+                         to check target/linux/<your_target>/image/Makefile to
+                         see if this option will have any effect.
+
+               config TARGET_ROOTFS_INCLUDE_ZIMAGE
+                       bool "include zImage" if TARGET_ROOTFS_INCLUDE_KERNEL
+                       default y
+                       help
+                         This option might not apply to all targets. Make sure
+                         to check target/linux/<your_target>/image/Makefile to
+                         see if this option will have any effect.
+
+               config TARGET_ROOTFS_INCLUDE_FIT
+                       bool "include FIT" if TARGET_ROOTFS_INCLUDE_KERNEL
+                       default y
+                       help
+                         This option might not apply to all targets. Make sure
+                         to check target/linux/<your_target>/image/Makefile to
+                         see if this option will have any effect.
+
+       config TARGET_ROOTFS_INCLUDE_DTB
+               bool "Include DTB in root filesystem"
+               depends on TARGET_ROOTFS_UBIFS || TARGET_ROOTFS_EXT4FS
+               default n if USES_UBIFS
+               help
+                 Include the device tree blob file(s) in the rootfs. Typically the DTBs
+                 are placed below /boot.
 
 endmenu
 
@@ -172,7 +264,7 @@ menu "Global build settings"
                prompt "Remove ipkg/opkg status data files in final images"
                default n
                help
-                       This removes all ipkg/opkg status data files from the target directory before building the root fs
+                 This removes all ipkg/opkg status data files from the target directory before building the root fs
 
        config COLLECT_KERNEL_DEBUG
                bool
@@ -180,102 +272,12 @@ menu "Global build settings"
                select KERNEL_DEBUG_INFO
                default n
                help
-                       This collects debugging symbols from the kernel and all compiled modules.
-                       Useful for release builds, so that kernel issues can be debugged offline later.
+                 This collects debugging symbols from the kernel and all compiled modules.
+                 Useful for release builds, so that kernel issues can be debugged offline later.
 
        comment "Kernel build options"
 
-       config KERNEL_DEBUG_FS
-               bool "Compile the kernel with Debug FileSystem enabled"
-               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.
-
-       config KERNEL_PERF_EVENTS
-               bool
-               default n
-
-       config KERNEL_PROFILING
-               bool "Compile the kernel with profiling enabled"
-               default n
-               select KERNEL_PERF_EVENTS
-               help
-                 Enable the extended profiling support mechanisms used by profilers such
-                 as OProfile.
-
-       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_FTRACE
-               bool "Compile the kernel with tracing support"
-               default n
-
-       config KERNEL_ENABLE_DEFAULT_TRACERS
-               bool "Trace process context switches and events"
-               depends on KERNEL_FTRACE
-               default n
-
-       config KERNEL_DEBUG_KERNEL
-               bool
-               default n
-
-       config KERNEL_DEBUG_INFO
-               bool "Compile the kernel with debug information"
-               default n
-               select KERNEL_DEBUG_KERNEL
-               help
-                 This will compile your kernel and modules with debug information.
-
-       config KERNEL_DEBUG_LL_UART_NONE
-               bool
-               default n
-               depends on arm
-
-       config KERNEL_DEBUG_LL
-               bool
-               default n
-               depends on arm
-               select KERNEL_DEBUG_LL_UART_NONE
-               help
-                 ARM low level debugging
-
-       config KERNEL_EARLY_PRINTK
-               bool "Compile the kernel with early printk"
-               default n
-               depends on arm
-               select KERNEL_DEBUG_KERNEL
-               select KERNEL_DEBUG_LL if arm
-               help
-                 Compile the kernel with early printk support.
-                 This is only useful for debugging purposes to send messages
-                 over the serial console in early boot.
-                 Enable this to debug early boot problems.
-
-       config KERNEL_AIO
-               bool "Compile the kernel with asynchronous IO support"
-               default n
-
-       config KERNEL_MAGIC_SYSRQ
-               bool "Compile the kernel with SysRq support"
-               default y
-
-       config KERNEL_ELF_CORE
-               bool "Enable process core dump support"
-               default y
-
-       config KERNEL_PROVE_LOCKING
-               bool "Enable kernel lock checking"
-               select KERNEL_DEBUG_KERNEL
-               default n
-
-       config KERNEL_PRINTK_TIME
-               bool "Enable printk timestamps"
-               default y
+       source "Config-kernel.in"
 
        comment "Package build options"
 
@@ -347,26 +349,12 @@ menu "Global build settings"
                  Only say Y, if you don't mind fixing broken packages.
                  Before reporting build bugs, set this to N and re-run the build.
 
-       config TOOLCHAIN_PARALLEL
-               bool
-               prompt "Parallelize the toolchain build (May break build)"
-               depends on PKG_BUILD_PARALLEL
-               depends on BROKEN
-               default n
-               help
-                 Build the toolchain with parallel make jobs.
-                 This speeds up the toolchain build on SMP machines, but may
-                 break the build for certain toolchain versions.
-
-                 If you say Y, toolchain build might break.
-                 Before reporting build bugs, set this to N and re-run the build.
-
        comment "Stripping options"
 
        choice
                prompt "Binary stripping method"
                default USE_STRIP   if EXTERNAL_TOOLCHAIN
-               default USE_STRIP   if USE_GLIBC || USE_EGLIBC
+               default USE_STRIP   if USE_GLIBC || USE_EGLIBC || USE_MUSL
                default USE_SSTRIP
                help
                  Select the binary stripping method you wish to use.
@@ -384,9 +372,9 @@ menu "Global build settings"
 
                config USE_SSTRIP
                        bool "sstrip"
-                       depends !DEBUG
-                       depends !USE_GLIBC
-                       depends !USE_EGLIBC
+                       depends on !DEBUG
+                       depends on !USE_GLIBC
+                       depends on !USE_EGLIBC
                        help
                          This will install binaries stripped using sstrip
        endchoice
@@ -394,7 +382,7 @@ menu "Global build settings"
        config STRIP_ARGS
                string
                prompt "Strip arguments"
-               depends USE_STRIP
+               depends on USE_STRIP
                default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG
                default "--strip-all"
                help
@@ -427,7 +415,6 @@ menu "Global build settings"
 
                config USE_LIBSTDCXX
                        bool "libstdc++"
-
        endchoice
 
 endmenu
@@ -507,6 +494,12 @@ menuconfig DEVEL
                  in the package directory, pointing to the .git tree that you want
                  to pull the source code from
 
+       config EXTRA_OPTIMIZATION
+               string "Additional compiler options" if DEVEL
+               default "-fno-caller-saves"
+               help
+                 Extra Target-independent optimizations to use when building for the target.
+
 menuconfig TARGET_OPTIONS
        bool "Target Options"  if DEVEL
 
@@ -519,7 +512,7 @@ menuconfig TARGET_OPTIONS
        config SOFT_FLOAT
                bool "Use software floating point by default" if TARGET_OPTIONS
                default y
-               depends on (arm || armeb || powerpc || mipsel || mips) && !HAS_FPU
+               depends on (arm || armeb || powerpc || mipsel || mips || mips64el || mips64) && !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
@@ -528,6 +521,19 @@ menuconfig TARGET_OPTIONS
 
                  Most people will answer N.
 
+       config USE_MIPS16
+               bool "Build packages with MIPS16 instructions" if TARGET_OPTIONS
+               depends on HAS_MIPS16
+               depends on !GCC_VERSION_4_6
+               default y
+               help
+                 If your target CPU does support the MIPS16 instruction set
+                 and you want to use it for packages, enable this option.
+                 MIPS16 produces smaller binaries thus reducing pressure on
+                 caches and TLB.
+
+                 Most people will answer N.
+
 source "toolchain/Config.in"
 
 source "target/imagebuilder/Config.in"