From 27b76ab0671089c47506615a796a261e993896a7 Mon Sep 17 00:00:00 2001 From: James <> Date: Sun, 17 Mar 2013 12:16:37 +0000 Subject: fish --- .svn/dir-prop-base | 17 + .svn/entries | 355 +++++++++++++++ .svn/prop-base/Config.in.svn-base | 5 + .svn/prop-base/LICENSE.svn-base | 5 + .svn/prop-base/Makefile.svn-base | 9 + .svn/prop-base/README.svn-base | 5 + .svn/prop-base/rules.mk.svn-base | 5 + .svn/text-base/.gitattributes.svn-base | 1 + .svn/text-base/.gitignore.svn-base | 24 + .svn/text-base/BSDmakefile.svn-base | 7 + .svn/text-base/Config.in.svn-base | 690 +++++++++++++++++++++++++++++ .svn/text-base/LICENSE.svn-base | 340 ++++++++++++++ .svn/text-base/Makefile.svn-base | 109 +++++ .svn/text-base/README.svn-base | 35 ++ .svn/text-base/feeds.conf.default.svn-base | 10 + .svn/text-base/rules.mk.svn-base | 327 ++++++++++++++ 16 files changed, 1944 insertions(+) create mode 100644 .svn/dir-prop-base create mode 100644 .svn/entries create mode 100644 .svn/prop-base/Config.in.svn-base create mode 100644 .svn/prop-base/LICENSE.svn-base create mode 100644 .svn/prop-base/Makefile.svn-base create mode 100644 .svn/prop-base/README.svn-base create mode 100644 .svn/prop-base/rules.mk.svn-base create mode 100644 .svn/text-base/.gitattributes.svn-base create mode 100644 .svn/text-base/.gitignore.svn-base create mode 100644 .svn/text-base/BSDmakefile.svn-base create mode 100644 .svn/text-base/Config.in.svn-base create mode 100644 .svn/text-base/LICENSE.svn-base create mode 100644 .svn/text-base/Makefile.svn-base create mode 100644 .svn/text-base/README.svn-base create mode 100644 .svn/text-base/feeds.conf.default.svn-base create mode 100644 .svn/text-base/rules.mk.svn-base (limited to '.svn') diff --git a/.svn/dir-prop-base b/.svn/dir-prop-base new file mode 100644 index 0000000..c9a2210 --- /dev/null +++ b/.svn/dir-prop-base @@ -0,0 +1,17 @@ +K 10 +svn:ignore +V 85 +dl +.config +.config.old +bin +build_dir +env +staging_dir +tmp +feeds +files +feeds.conf +logs + +END diff --git a/.svn/entries b/.svn/entries new file mode 100644 index 0000000..0d9f4ee --- /dev/null +++ b/.svn/entries @@ -0,0 +1,355 @@ +10 + +dir +36060 +svn://svn.openwrt.org/openwrt/trunk +svn://svn.openwrt.org/openwrt + + + +2013-03-16T22:25:47.833948Z +36060 +florian +has-props + + + + + + + + + + + + + +3c298f89-4303-0410-b956-a3cf2f4a3e73 + +toolchain +dir + +LICENSE +file + + + + +2013-03-17T12:13:25.000000Z +94d55d512a9ba36caa9b7df079bae19f +2009-04-17T14:32:29.989894Z +15245 +nico +has-props + + + + + + + + + + + + + + + + + + + + +17992 + +include +dir + +target +dir + +scripts +dir + +docs +dir + +package +dir + +feeds.conf.default +file + + + + +2013-03-17T12:13:25.000000Z +8d1c0b833016483bb0ba8991861b8bb7 +2011-11-16T16:05:23.778983Z +29188 +mb + + + + + + + + + + + + + + + + + + + + + +567 + +README +file + + + + +2013-03-17T12:13:25.000000Z +6df5f931a937478c7965db38c38c0fc5 +2013-03-07T17:32:29.455175Z +35900 +nbd +has-props + + + + + + + + + + + + + + + + + + + + +1259 + +rules.mk +file + + + + +2013-03-17T12:13:25.000000Z +d3c2de035175bc34db0dfdb114a95088 +2013-02-20T06:49:02.397540Z +35688 +juhosg +has-props + + + + + + + + + + + + + + + + + + + + +10090 + +tools +dir + +.gitignore +file + + + + +2013-03-17T12:13:25.000000Z +464b8e434a7074ec8f939fc3cdfa9409 +2011-10-31T09:37:59.719729Z +28690 +acinonyx + + + + + + + + + + + + + + + + + + + + + +204 + +BSDmakefile +file + + + + +2013-03-17T12:13:25.000000Z +8d08eacab0cd34e9fa61765d2520304d +2007-02-26T01:05:09.192501Z +6383 +nbd + + + + + + + + + + + + + + + + + + + + + +179 + +.gitattributes +file + + + + +2013-03-17T12:13:25.000000Z +d3d04ac1b5897688b0d97abfd135aefa +2012-05-08T13:30:49.468311Z +31649 +nbd + + + + + + + + + + + + + + + + + + + + + +8 + +Config.in +file + + + + +2013-03-17T12:13:25.000000Z +3e1f826339376d33d99d3ad0cc05e853 +2013-03-10T14:51:38.477932Z +35935 +nbd +has-props + + + + + + + + + + + + + + + + + + + + +17212 + +Makefile +file + + + + +2013-03-17T12:13:25.000000Z +24f03b8fabb31fe0787151a6ab82d76a +2012-12-02T15:26:28.218051Z +34451 +nbd +has-props + + + + + + + + + + + + + + + + + + + + +3251 + diff --git a/.svn/prop-base/Config.in.svn-base b/.svn/prop-base/Config.in.svn-base new file mode 100644 index 0000000..bdbd305 --- /dev/null +++ b/.svn/prop-base/Config.in.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:eol-style +V 6 +native +END diff --git a/.svn/prop-base/LICENSE.svn-base b/.svn/prop-base/LICENSE.svn-base new file mode 100644 index 0000000..bdbd305 --- /dev/null +++ b/.svn/prop-base/LICENSE.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:eol-style +V 6 +native +END diff --git a/.svn/prop-base/Makefile.svn-base b/.svn/prop-base/Makefile.svn-base new file mode 100644 index 0000000..4179626 --- /dev/null +++ b/.svn/prop-base/Makefile.svn-base @@ -0,0 +1,9 @@ +K 9 +copyright +V 30 +Copyright (C) 2006 OpenWrt.org +K 13 +svn:eol-style +V 6 +native +END diff --git a/.svn/prop-base/README.svn-base b/.svn/prop-base/README.svn-base new file mode 100644 index 0000000..bdbd305 --- /dev/null +++ b/.svn/prop-base/README.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:eol-style +V 6 +native +END diff --git a/.svn/prop-base/rules.mk.svn-base b/.svn/prop-base/rules.mk.svn-base new file mode 100644 index 0000000..bdbd305 --- /dev/null +++ b/.svn/prop-base/rules.mk.svn-base @@ -0,0 +1,5 @@ +K 13 +svn:eol-style +V 6 +native +END diff --git a/.svn/text-base/.gitattributes.svn-base b/.svn/text-base/.gitattributes.svn-base new file mode 100644 index 0000000..fa1385d --- /dev/null +++ b/.svn/text-base/.gitattributes.svn-base @@ -0,0 +1 @@ +* -text diff --git a/.svn/text-base/.gitignore.svn-base b/.svn/text-base/.gitignore.svn-base new file mode 100644 index 0000000..70a454c --- /dev/null +++ b/.svn/text-base/.gitignore.svn-base @@ -0,0 +1,24 @@ +*.o +.DS_Store +.*.swp +/env +/dl +/.config +/.config.old +/bin +/build_dir +/staging_dir +/tmp +/logs +/feeds +/feeds.conf +/files +/package/feeds +/package/openwrt-packages +*.orig +*.rej +*~ +.#* +*# +.emacs.desktop* +TAGS*~ \ No newline at end of file diff --git a/.svn/text-base/BSDmakefile.svn-base b/.svn/text-base/BSDmakefile.svn-base new file mode 100644 index 0000000..c6a0425 --- /dev/null +++ b/.svn/text-base/BSDmakefile.svn-base @@ -0,0 +1,7 @@ +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +world ${.TARGETS}: + @gmake $@ diff --git a/.svn/text-base/Config.in.svn-base b/.svn/text-base/Config.in.svn-base new file mode 100644 index 0000000..8de6e1a --- /dev/null +++ b/.svn/text-base/Config.in.svn-base @@ -0,0 +1,690 @@ +# Copyright (C) 2006-2012 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" + + menuconfig TARGET_ROOTFS_INITRAMFS + bool "ramdisk" + default y if USES_INITRAMFS + help + Embed the rootfs into the kernel (initramfs) + + choice + prompt "Compression" + 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 + 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" + + config TARGET_INITRAMFS_COMPRESSION_LZO + bool "lzo" + + config TARGET_INITRAMFS_COMPRESSION_XZ + bool "xz" + endchoice + + config EXTERNAL_CPIO + string + prompt "Use external cpio" if TARGET_ROOTFS_INITRAMFS + default "" + help + Kernel uses specified external cpio as INITRAMFS_SOURCE + + comment "Root filesystem archives" + + config TARGET_ROOTFS_CPIOGZ + bool "cpio.gz" + default y if USES_CPIOGZ + help + Build a compressed cpio archive of the the root filesystem + + config TARGET_ROOTFS_TARGZ + bool "tar.gz" + default y if USES_TARGZ + help + Build a compressed tar archive of the the root filesystem + + comment "Root filesystem 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 on TARGET_x86_generic + depends !TARGET_ROOTFS_INITRAMFS + 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_SQUASHFS + bool "squashfs" + default y if USES_SQUASHFS + depends !TARGET_ROOTFS_INITRAMFS + help + Build a squashfs-lzma root filesystem + + config TARGET_ROOTFS_UBIFS + bool "ubifs" + default y if USES_UBIFS + depends !TARGET_ROOTFS_INITRAMFS && USES_UBIFS + help + Build a ubifs root filesystem + + 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 + default 48 + help + 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 + default 6000 + help + 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 TARGET_ROOTFS_EXT4FS + default 0 + help + Allows you to change the percentage of reserved blocks in the root filesystem + +endmenu + +menu "Global build settings" + + config ALL + bool "Select all packages by default" + default n + + comment "General build options" + + config DISPLAY_SUPPORT + bool "Show packages that require graphics support (local or remote)" + default n + + config BUILD_PATENTED + default y + bool "Compile with support for patented functionality" + help + When this option is disabled, software which provides patented functionality will not be built. + In case software provides optional support for patented functionality, + this optional support will get disabled for this package. + + config BUILD_NLS + default n + bool "Compile with full language support" + help + When this option is enabled, packages are built with the full versions of iconv and GNU gettext + instead of the default OpenWrt stubs. If uClibc is used, it is also built with locale support. + + config BUILD_STATIC_TOOLS + default n + bool "Attempt to link host utilities statically" + help + Linking host utilities like sed or firmware-utils statically increases the portability of the + generated ImageBuilder and SDK tarballs, however it may fail on some Linux distributions. + + config SHADOW_PASSWORDS + bool + prompt "Enable shadow password support" + default y + help + Enable shadow password support. + + config CLEAN_IPKG + bool + 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 + + config COLLECT_KERNEL_DEBUG + bool + prompt "Collect kernel debug information" + 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. + + 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 y + 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 y + 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_DIRECT_IO + bool "Compile the kernel with direct IO support" + default n + + config KERNEL_MAGIC_SYSRQ + bool "Compile the kernel with SysRq support" + default y + + config KERNEL_COREDUMP + bool + + config KERNEL_ELF_CORE + bool "Enable process core dump support" + select KERNEL_COREDUMP + 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 + + config KERNEL_RELAY + bool + + # + # CGROUP support symbols + # + + config KERNEL_FREEZER + bool + default y if KERNEL_CGROUP_FREEZER + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_FREEZER + bool + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_DEVICE + bool + depends KERNEL_CGROUPS + + config KERNEL_CPUSETS + bool + default y if KERNEL_CGROUP_CPUACCT + depends KERNEL_CGROUPS + + config KERNEL_PROC_PID_CPUSET + bool + default y if KERNEL_CGROUP_CPUACCT + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_CPUACCT + bool + depends KERNEL_CGROUPS + + config KERNEL_RESOURCE_COUNTERS + bool + default y if KERNEL_CGROUP_MEM_RES_CTLR + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_MEM_RES_CTLR + bool + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_MEM_RES_CTLR_SWAP + bool + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED + bool + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_MEM_RES_CTLR_KMEM + bool + depends KERNEL_CGROUPS + + config KERNEL_CGROUP_PERF + bool + depends KERNEL_CGROUPS + + config KERNEL_CFS_BANDWIDTH + bool + default y if KERNEL_FAIR_GROUP_SCHED + depends KERNEL_CGROUP_SCHED + + config KERNEL_FAIR_GROUP_SCHED + bool + default y if KERNEL_CGROUP_SCHED + depends KERNEL_CGROUP_SCHED + + config KERNEL_RT_GROUP_SCHED + bool + default y if KERNEL_CGROUP_SCHED + depends KERNEL_CGROUP_SCHED + + config KERNEL_CGROUP_SCHED + bool + depends KERNEL_CGROUPS + + config KERNEL_NET_CLS_CGROUP + bool + depends KERNEL_CGROUPS + + config KERNEL_NETPRIO_CGROUP + bool + depends KERNEL_CGROUPS + + config KERNEL_BLK_CGROUP + bool + depends KERNEL_CGROUPS + + config KERNEL_DEBUG_BLK_CGROUP + bool + default n if KERNEL_CGROUPS + depends KERNEL_CGROUPS + + config KERNEL_CGROUPS + bool "Enable kernel cgroups" + default n + select KERNEL_CGROUP_FREEZER + select KERNEL_CGROUP_DEVICE + select KERNEL_CGROUP_CPUACCT + select KERNEL_CGROUP_MEM_RES_CTLR + select KERNEL_CGROUP_MEM_RES_CTLR_SWAP + select KERNEL_CGROUP_MEM_RES_CTLR_SWAP_ENABLED + select KERNEL_CGROUP_MEM_RES_CTLR_KMEM + select KERNEL_CGROUP_PERF + select KERNEL_CGROUP_SCHED + select KERNEL_NET_CLS_CGROUP + select KERNEL_NETPRIO_CGROUP + select KERNEL_BLK_CGROUP + + # + # Namespace support symbols + # + + config KERNEL_UTS_NS + bool + depends KERNEL_NAMESPACES + + config KERNEL_IPC_NS + bool + depends KERNEL_NAMESPACES + + config KERNEL_USER_NS + bool + depends KERNEL_NAMESPACES + + config KERNEL_PID_NS + bool + depends KERNEL_NAMESPACES + + config KERNEL_NET_NS + bool + depends KERNEL_NAMESPACES + + config KERNEL_DEVPTS_MULTIPLE_INSTANCES + bool + depends KERNEL_NAMESPACES + + config KERNEL_NAMESPACES + bool "Enable kernel namespaces" + default n + select KERNEL_UTS_NS + select KERNEL_IPC_NS + select KERNEL_USER_NS + select KERNEL_PID_NS + select KERNEL_NET_NS + select KERNEL_DEVPTS_MULTIPLE_INSTANCES + + + comment "Package build options" + + config DEBUG + bool + prompt "Compile packages with debugging info" + default n + help + Adds -g3 to the CFLAGS + + config IPV6 + bool + prompt "Enable IPv6 support in packages" + default y + help + Enable IPV6 support in packages (passes --enable-ipv6 to configure scripts). + + config PKG_BUILD_PARALLEL + bool + prompt "Compile certain packages parallelized" + default y + help + This adds a -jX option to certain packages that are known to + behave well for parallel build. By default the package make processes + use the main jobserver, in which case this option only takes effect + when you add -jX to the make command. + + If you are unsure, select N. + + config PKG_BUILD_USE_JOBSERVER + bool + prompt "Use top-level make jobserver for packages" + depends on PKG_BUILD_PARALLEL + default y + help + This passes the main make process jobserver fds to package builds, + enabling full parallelization across different packages + + Note that disabling this may overcommit CPU resources depending on the + -j level of the main make process, the number of package + submake jobs selected below and the number of actual CPUs present. + Example: If the main make is passed a -j4 and the submake -j + is also set to 4, we may end up with 16 parallel make processes + in the worst case. + + + config PKG_BUILD_JOBS + int + prompt "Number of package submake jobs (2-512)" + range 2 512 + default 2 + depends on PKG_BUILD_PARALLEL && !PKG_BUILD_USE_JOBSERVER + help + The number of jobs (-jX) to pass to packages submake. + + config PKG_DEFAULT_PARALLEL + bool + prompt "Parallelize the default package build rule (May break build)" + depends on PKG_BUILD_PARALLEL + depends on BROKEN + default n + help + Always set the default package build rules to parallel build. + + WARNING: This may break build or kill your cat, as it builds + packages with multiple jobs that are probably not tested in + a parallel build environment. + + Only say Y, if you don't mind fixing broken packages. + 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 || USE_MUSL + 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 !DEBUG + depends !USE_GLIBC + depends !USE_EGLIBC + help + This will install binaries stripped using sstrip + endchoice + + config STRIP_ARGS + string + prompt "Strip arguments" + depends USE_STRIP + default "--strip-unneeded --remove-section=.comment --remove-section=.note" if DEBUG + default "--strip-all" + help + Specifies arguments passed to the strip command when stripping binaries + + config STRIP_KERNEL_EXPORTS + 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 + + 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 ) + Note that this will make the system libraries incompatible with most of the packages + that are not selected during the build process + + if INSTALL_LIBSTDCPP + choice + prompt "Preferred standard C++ library" + default USE_LIBSTDCXX if USE_EGLIBC + default USE_UCLIBCXX + help + Select the preferred standard C++ library for all packages that support this. + + config USE_UCLIBCXX + bool "uClibc++" + + config USE_LIBSTDCXX + bool "libstdc++" + endchoice + endif + +endmenu + +menuconfig DEVEL + bool "Advanced configuration options (for developers)" + default n + + config BROKEN + bool "Show broken platforms / packages" if DEVEL + default n + + config DOWNLOAD_FOLDER + string "Download folder" if DEVEL + default "" + + config LOCALMIRROR + string "Local mirror for source packages" if DEVEL + default "" + + config AUTOREBUILD + bool "Automatic rebuild of packages" if DEVEL + default y + help + Automatically rebuild packages when their files change + + config BUILD_SUFFIX + string "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 "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 "Use ccache" if DEVEL + default n + help + Compiler cache; see http://ccache.samba.org/ + + config EXTERNAL_KERNEL_TREE + string "Use external kernel tree" if DEVEL + default "" + + config KERNEL_GIT_CLONE_URI + string "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 "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. + + config BUILD_LOG + bool "Enable log files during build process" if DEVEL + help + If enabled log files will be written to the ./log directory + + config SRC_TREE_OVERRIDE + bool "Enable package source tree override" if DEVEL + help + If enabled, you can force a package to use a git tree as source + code instead of the normal tarball. Create a symlink 'git-src' + in the package directory, pointing to the .git tree that you want + to pull the source code from + +menuconfig TARGET_OPTIONS + bool "Target Options" if DEVEL + + config TARGET_OPTIMIZATION + string "Target Optimizations" if TARGET_OPTIONS + default DEFAULT_TARGET_OPTIMIZATION + help + Optimizations to use when building for the target host. + + config SOFT_FLOAT + bool "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" diff --git a/.svn/text-base/LICENSE.svn-base b/.svn/text-base/LICENSE.svn-base new file mode 100644 index 0000000..d60c31a --- /dev/null +++ b/.svn/text-base/LICENSE.svn-base @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/.svn/text-base/Makefile.svn-base b/.svn/text-base/Makefile.svn-base new file mode 100644 index 0000000..9197640 --- /dev/null +++ b/.svn/text-base/Makefile.svn-base @@ -0,0 +1,109 @@ +# Makefile for OpenWrt +# +# Copyright (C) 2007 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +TOPDIR:=${CURDIR} +LC_ALL:=C +LANG:=C +export TOPDIR LC_ALL LANG + +empty:= +space:= $(empty) $(empty) +$(if $(findstring $(space),$(TOPDIR)),$(error ERROR: The path to the OpenWrt directory must not include any spaces)) + +world: + +include $(TOPDIR)/include/host.mk + +ifneq ($(OPENWRT_BUILD),1) + # XXX: these three lines are normally defined by rules.mk + # but we can't include that file in this context + empty:= + space:= $(empty) $(empty) + _SINGLE=export MAKEFLAGS=$(space); + + override OPENWRT_BUILD=1 + export OPENWRT_BUILD + GREP_OPTIONS= + export GREP_OPTIONS + include $(TOPDIR)/include/debug.mk + include $(TOPDIR)/include/depends.mk + include $(TOPDIR)/include/toplevel.mk +else + include rules.mk + include $(INCLUDE_DIR)/depends.mk + include $(INCLUDE_DIR)/subdir.mk + include target/Makefile + include package/Makefile + include tools/Makefile + include toolchain/Makefile + +$(toolchain/stamp-install): $(tools/stamp-install) +$(target/stamp-compile): $(toolchain/stamp-install) $(tools/stamp-install) $(BUILD_DIR)/.prepared +$(package/stamp-compile): $(target/stamp-compile) $(package/stamp-cleanup) +$(package/stamp-install): $(package/stamp-compile) +$(target/stamp-install): $(package/stamp-compile) $(package/stamp-install) + +printdb: + @true + +prepare: $(target/stamp-compile) + +clean: FORCE + rm -rf $(BUILD_DIR) $(BIN_DIR) $(BUILD_LOG_DIR) + +dirclean: clean + rm -rf $(STAGING_DIR) $(STAGING_DIR_HOST) $(STAGING_DIR_TOOLCHAIN) $(TOOLCHAIN_DIR) $(BUILD_DIR_HOST) $(BUILD_DIR_TOOLCHAIN) + rm -rf $(TMP_DIR) + +ifndef DUMP_TARGET_DB +$(BUILD_DIR)/.prepared: Makefile + @mkdir -p $$(dirname $@) + @touch $@ + +tmp/.prereq_packages: .config + unset ERROR; \ + for package in $(sort $(prereq-y) $(prereq-m)); do \ + $(_SINGLE)$(NO_TRACE_MAKE) -s -r -C package/$$package prereq || ERROR=1; \ + done; \ + if [ -n "$$ERROR" ]; then \ + echo "Package prerequisite check failed."; \ + false; \ + fi + touch $@ +endif + +# check prerequisites before starting to build +prereq: $(target/stamp-prereq) tmp/.prereq_packages + @if [ ! -f "$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)" ]; then \ + echo 'ERROR: Missing site config for target "$(REAL_GNU_TARGET_NAME)" !'; \ + echo ' The missing file will cause configure scripts to fail during compilation.'; \ + echo ' Please provide a "$(INCLUDE_DIR)/site/$(REAL_GNU_TARGET_NAME)" file and restart the build.'; \ + exit 1; \ + fi + +prepare: .config $(tools/stamp-install) $(toolchain/stamp-install) +world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE + $(_SINGLE)$(SUBMAKE) -r package/index + +# update all feeds, re-create index files, install symlinks +package/symlinks: + $(SCRIPT_DIR)/feeds update -a + $(SCRIPT_DIR)/feeds install -a + +# re-create index files, install symlinks +package/symlinks-install: + $(SCRIPT_DIR)/feeds update -i + $(SCRIPT_DIR)/feeds install -a + +# remove all symlinks, don't touch ./feeds +package/symlinks-clean: + $(SCRIPT_DIR)/feeds uninstall -a + +.PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean + +endif diff --git a/.svn/text-base/README.svn-base b/.svn/text-base/README.svn-base new file mode 100644 index 0000000..32e698d --- /dev/null +++ b/.svn/text-base/README.svn-base @@ -0,0 +1,35 @@ +This is the buildsystem for the OpenWrt Linux distribution. + +Please use "make menuconfig" to configure your appreciated +configuration for the toolchain and firmware. + +You need to have installed gcc, binutils, bzip2, flex, python, perl +make, find, grep, diff, unzip, gawk, getopt, libz-dev and libc headers. + +Run "./scripts/feeds update -a" to get all the latest package definitions +defined in feeds.conf / feeds.conf.default respectively +and "./scripts/feeds install -a" to install symlinks of all of them into +package/feeds/. + +Use "make menuconfig" to configure your image. + +Simply running "make" will build your firmware. +It will download all sources, build the cross-compile toolchain, +the kernel and all choosen applications. + +You can use "scripts/flashing/flash.sh" for remotely updating your embedded +system via tftp. + +The OpenWrt system is documented in docs/. You will need a LaTeX distribution +and the tex4ht package to build the documentation. Type "make -C docs/" to build it. + +To build your own firmware you need to have access to a Linux, BSD or MacOSX system +(case-sensitive filesystem required). Cygwin will not be supported because of +the lack of case sensitiveness in the file system. + + +Sunshine! + Your OpenWrt Project + http://openwrt.org + + diff --git a/.svn/text-base/feeds.conf.default.svn-base b/.svn/text-base/feeds.conf.default.svn-base new file mode 100644 index 0000000..518bf68 --- /dev/null +++ b/.svn/text-base/feeds.conf.default.svn-base @@ -0,0 +1,10 @@ +src-svn packages svn://svn.openwrt.org/openwrt/packages +src-svn xwrt http://x-wrt.googlecode.com/svn/trunk/package +src-svn luci http://svn.luci.subsignal.org/luci/trunk/contrib/package +#src-svn phone svn://svn.openwrt.org/openwrt/feeds/phone +#src-svn efl svn://svn.openwrt.org/openwrt/feeds/efl +#src-svn xorg svn://svn.openwrt.org/openwrt/feeds/xorg +#src-svn desktop svn://svn.openwrt.org/openwrt/feeds/desktop +#src-svn xfce svn://svn.openwrt.org/openwrt/feeds/xfce +#src-svn lxde svn://svn.openwrt.org/openwrt/feeds/lxde +#src-link custom /usr/src/openwrt/custom-feed diff --git a/.svn/text-base/rules.mk.svn-base b/.svn/text-base/rules.mk.svn-base new file mode 100644 index 0000000..6455fde --- /dev/null +++ b/.svn/text-base/rules.mk.svn-base @@ -0,0 +1,327 @@ +# +# Copyright (C) 2006-2010 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +ifneq ($(__rules_inc),1) +__rules_inc=1 + +ifeq ($(DUMP),) + -include $(TOPDIR)/.config +endif +include $(TOPDIR)/include/debug.mk +include $(TOPDIR)/include/verbose.mk + +TMP_DIR:=$(TOPDIR)/tmp + +GREP_OPTIONS= +export GREP_OPTIONS + +qstrip=$(strip $(subst ",,$(1))) +#")) + +empty:= +space:= $(empty) $(empty) +merge=$(subst $(space),,$(1)) +confvar=$(call merge,$(foreach v,$(1),$(if $($(v)),y,n))) +strip_last=$(patsubst %.$(lastword $(subst .,$(space),$(1))),%,$(1)) + +define sep + +endef + +_SINGLE=export MAKEFLAGS=$(space); +CFLAGS:= +ARCH:=$(subst i486,i386,$(subst i586,i386,$(subst i686,i386,$(call qstrip,$(CONFIG_ARCH))))) +ARCH_PACKAGES:=$(call qstrip,$(CONFIG_TARGET_ARCH_PACKAGES)) +BOARD:=$(call qstrip,$(CONFIG_TARGET_BOARD)) +TARGET_OPTIMIZATION:=$(call qstrip,$(CONFIG_TARGET_OPTIMIZATION)) +TARGET_SUFFIX=$(call qstrip,$(CONFIG_TARGET_SUFFIX)) +BUILD_SUFFIX:=$(call qstrip,$(CONFIG_BUILD_SUFFIX)) +SUBDIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR}) +export SHELL:=/usr/bin/env bash + +OPTIMIZE_FOR_CPU=$(subst i386,i486,$(ARCH)) + +ifeq ($(ARCH),powerpc) + FPIC:=-fPIC +else + FPIC:=-fpic +endif + +HOST_FPIC:=-fPIC + +ARCH_SUFFIX:= +GCC_ARCH:= + +ifneq ($(filter -march=armv%,$(TARGET_OPTIMIZATION)),) + ARCH_SUFFIX:=_$(patsubst -march=arm%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION))) + GCC_ARCH:=$(patsubst -march=%,%,$(filter -march=armv%,$(TARGET_OPTIMIZATION))) +endif +ifneq ($(filter -mips%r2,$(TARGET_OPTIMIZATION)),) + ARCH_SUFFIX:=_r2 +endif +ifdef CONFIG_HAS_SPE_FPU + TARGET_SUFFIX:=$(TARGET_SUFFIX)spe +endif + +DL_DIR:=$(if $(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(call qstrip,$(CONFIG_DOWNLOAD_FOLDER)),$(TOPDIR)/dl) +BIN_DIR:=$(TOPDIR)/bin/$(BOARD) +INCLUDE_DIR:=$(TOPDIR)/include +SCRIPT_DIR:=$(TOPDIR)/scripts +BUILD_DIR_BASE:=$(TOPDIR)/build_dir +BUILD_DIR_HOST:=$(BUILD_DIR_BASE)/host +STAGING_DIR_HOST:=$(TOPDIR)/staging_dir/host +ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + GCCV:=$(call qstrip,$(CONFIG_GCC_VERSION)) + LIBC:=$(call qstrip,$(CONFIG_LIBC)) + LIBCV:=$(call qstrip,$(CONFIG_LIBC_VERSION)) + REAL_GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX)) + GNU_TARGET_NAME=$(OPTIMIZE_FOR_CPU)-openwrt-linux + DIR_SUFFIX:=_$(LIBC)-$(LIBCV)$(if $(CONFIG_arm),_eabi) + BIN_DIR:=$(BIN_DIR)$(if $(CONFIG_USE_UCLIBC),,-$(LIBC)) + BUILD_DIR:=$(BUILD_DIR_BASE)/target-$(ARCH)$(ARCH_SUFFIX)$(DIR_SUFFIX)$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) + STAGING_DIR:=$(TOPDIR)/staging_dir/target-$(ARCH)$(ARCH_SUFFIX)$(DIR_SUFFIX)$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) + BUILD_DIR_TOOLCHAIN:=$(BUILD_DIR_BASE)/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) + TOOLCHAIN_DIR:=$(TOPDIR)/staging_dir/toolchain-$(ARCH)$(ARCH_SUFFIX)_gcc-$(GCCV)$(DIR_SUFFIX) + PACKAGE_DIR:=$(BIN_DIR)/packages +else + ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) + GNU_TARGET_NAME=$(call qstrip,$(CONFIG_TARGET_NAME)) + else + GNU_TARGET_NAME=$(shell gcc -dumpmachine) + endif + REAL_GNU_TARGET_NAME=$(GNU_TARGET_NAME) + BUILD_DIR:=$(BUILD_DIR_BASE)/target-$(GNU_TARGET_NAME)$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) + STAGING_DIR:=$(TOPDIR)/staging_dir/target-$(GNU_TARGET_NAME)$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX)) + BUILD_DIR_TOOLCHAIN:=$(BUILD_DIR_BASE)/toolchain-$(GNU_TARGET_NAME) + TOOLCHAIN_DIR:=$(TOPDIR)/staging_dir/toolchain-$(GNU_TARGET_NAME) + PACKAGE_DIR:=$(BIN_DIR)/packages +endif +STAMP_DIR:=$(BUILD_DIR)/stamp +STAMP_DIR_HOST=$(BUILD_DIR_HOST)/stamp +TARGET_ROOTFS_DIR?=$(if $(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(call qstrip,$(CONFIG_TARGET_ROOTFS_DIR)),$(BUILD_DIR)) +TARGET_DIR:=$(TARGET_ROOTFS_DIR)/root-$(BOARD) +STAGING_DIR_ROOT:=$(STAGING_DIR)/root-$(BOARD) +BUILD_LOG_DIR:=$(TOPDIR)/logs +PKG_INFO_DIR := $(STAGING_DIR)/pkginfo + +TARGET_PATH:=$(STAGING_DIR_HOST)/bin:$(subst $(space),:,$(filter-out .,$(filter-out ./,$(subst :,$(space),$(PATH))))) +TARGET_CFLAGS:=$(TARGET_OPTIMIZATION)$(if $(CONFIG_DEBUG), -g3) +TARGET_CXXFLAGS = $(TARGET_CFLAGS) +TARGET_CPPFLAGS:=-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include +TARGET_LDFLAGS:=-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib +ifneq ($(CONFIG_EXTERNAL_TOOLCHAIN),) +LIBGCC_S_PATH=$(realpath $(wildcard $(call qstrip,$(CONFIG_LIBGCC_ROOT_DIR))/$(call qstrip,$(CONFIG_LIBGCC_FILE_SPEC)))) +LIBGCC_S=$(if $(LIBGCC_S_PATH),-L$(dir $(LIBGCC_S_PATH)) -lgcc_s) +LIBGCC_A=$(realpath $(lastword $(wildcard $(dir $(LIBGCC_S_PATH))/gcc/*/*/libgcc.a))) +else +LIBGCC_A=$(lastword $(wildcard $(TOOLCHAIN_DIR)/lib/gcc/*/*/libgcc.a)) +LIBGCC_S=$(if $(wildcard $(TOOLCHAIN_DIR)/lib/libgcc_s.so),-L$(TOOLCHAIN_DIR)/lib -lgcc_s,$(LIBGCC_A)) +endif +LIBRPC=-lrpc +LIBRPC_DEPENDS=+librpc + +ifneq ($(findstring $(ARCH) , mips64 x86_64 ),) + LIB_SUFFIX:=64 +endif + +ifndef DUMP + ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) + -include $(TOOLCHAIN_DIR)/info.mk + export GCC_HONOUR_COPTS:=0 + TARGET_CROSS:=$(if $(TARGET_CROSS),$(TARGET_CROSS),$(OPTIMIZE_FOR_CPU)-openwrt-linux$(if $(TARGET_SUFFIX),-$(TARGET_SUFFIX))-) + TARGET_CFLAGS+= -fhonour-copts $(if $(CONFIG_GCC_VERSION_4_4)$(CONFIG_GCC_VERSION_4_5),,-Wno-error=unused-but-set-variable) + TARGET_CPPFLAGS+= -I$(TOOLCHAIN_DIR)/usr/include -I$(TOOLCHAIN_DIR)/include + TARGET_LDFLAGS+= -L$(TOOLCHAIN_DIR)/usr/lib -L$(TOOLCHAIN_DIR)/lib + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH) + else + ifeq ($(CONFIG_NATIVE_TOOLCHAIN),) + TARGET_CROSS:=$(call qstrip,$(CONFIG_TOOLCHAIN_PREFIX)) + TOOLCHAIN_ROOT_DIR:=$(call qstrip,$(CONFIG_TOOLCHAIN_ROOT)) + TOOLCHAIN_BIN_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_BIN_PATH))) + TOOLCHAIN_INC_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_INC_PATH))) + TOOLCHAIN_LIB_DIRS:=$(patsubst ./%,$(TOOLCHAIN_ROOT_DIR)/%,$(call qstrip,$(CONFIG_TOOLCHAIN_LIB_PATH))) + ifneq ($(TOOLCHAIN_BIN_DIRS),) + TARGET_PATH:=$(subst $(space),:,$(TOOLCHAIN_BIN_DIRS)):$(TARGET_PATH) + endif + ifneq ($(TOOLCHAIN_INC_DIRS),) + TARGET_CPPFLAGS+= $(patsubst %,-I%,$(TOOLCHAIN_INC_DIRS)) + endif + ifneq ($(TOOLCHAIN_LIB_DIRS),) + TARGET_LDFLAGS+= $(patsubst %,-L%,$(TOOLCHAIN_LIB_DIRS)) + endif + TARGET_PATH:=$(TOOLCHAIN_DIR)/bin:$(TARGET_PATH) + endif + endif +endif +TARGET_PATH_PKG:=$(STAGING_DIR)/host/bin:$(TARGET_PATH) + +ifeq ($(CONFIG_SOFT_FLOAT),y) + SOFT_FLOAT_CONFIG_OPTION:=--with-float=soft + TARGET_CFLAGS+= -msoft-float +else + SOFT_FLOAT_CONFIG_OPTION:= +endif + +export PATH:=$(TARGET_PATH) +export STAGING_DIR +export SH_FUNC:=. $(INCLUDE_DIR)/shell.sh; + +PKG_CONFIG:=$(STAGING_DIR_HOST)/bin/pkg-config + +export PKG_CONFIG + +HOSTCC:=gcc +HOST_CPPFLAGS:=-I$(STAGING_DIR_HOST)/include +HOST_CFLAGS:=-O2 $(HOST_CPPFLAGS) +HOST_LDFLAGS:=-L$(STAGING_DIR_HOST)/lib + +TARGET_CC:=$(TARGET_CROSS)gcc +TARGET_AR:=$(TARGET_CROSS)ar +TARGET_RANLIB:=$(TARGET_CROSS)ranlib +TARGET_CXX:=$(if $(CONFIG_INSTALL_LIBSTDCPP),$(TARGET_CROSS)g++,no) +KPATCH:=$(SCRIPT_DIR)/patch-kernel.sh +SED:=$(STAGING_DIR_HOST)/bin/sed -i -e +CP:=cp -fpR +LN:=ln -sf + +INSTALL_BIN:=install -m0755 +INSTALL_DIR:=install -d -m0755 +INSTALL_DATA:=install -m0644 +INSTALL_CONF:=install -m0600 + +TARGET_CC_NOCACHE:=$(TARGET_CC) +TARGET_CXX_NOCACHE:=$(TARGET_CXX) +HOSTCC_NOCACHE:=$(HOSTCC) +export TARGET_CC_NOCACHE +export TARGET_CXX_NOCACHE +export HOSTCC_NOCACHE + +ifneq ($(CONFIG_CCACHE),) + TARGET_CC:= ccache_cc + TARGET_CXX:= ccache_cxx + HOSTCC:= ccache $(HOSTCC) +endif + +TARGET_CONFIGURE_OPTS = \ + AR=$(TARGET_CROSS)ar \ + AS="$(TARGET_CC) -c $(TARGET_CFLAGS)" \ + LD=$(TARGET_CROSS)ld \ + NM=$(TARGET_CROSS)nm \ + CC="$(TARGET_CC)" \ + GCC="$(TARGET_CC)" \ + CXX="$(TARGET_CXX)" \ + RANLIB=$(TARGET_CROSS)ranlib \ + STRIP=$(TARGET_CROSS)strip \ + OBJCOPY=$(TARGET_CROSS)objcopy \ + OBJDUMP=$(TARGET_CROSS)objdump \ + SIZE=$(TARGET_CROSS)size + +# strip an entire directory +ifneq ($(CONFIG_NO_STRIP),) + RSTRIP:=: + STRIP:=: +else + ifneq ($(CONFIG_USE_STRIP),) + STRIP:=$(TARGET_CROSS)strip $(call qstrip,$(CONFIG_STRIP_ARGS)) + else + ifneq ($(CONFIG_USE_SSTRIP),) + STRIP:=$(STAGING_DIR_HOST)/bin/sstrip + endif + endif + RSTRIP:= \ + export CROSS="$(TARGET_CROSS)" \ + $(if $(CONFIG_KERNEL_KALLSYMS),NO_RENAME=1) \ + $(if $(CONFIG_KERNEL_PROFILING),KEEP_SYMBOLS=1); \ + NM="$(TARGET_CROSS)nm" \ + STRIP="$(STRIP)" \ + STRIP_KMOD="$(SCRIPT_DIR)/strip-kmod.sh" \ + $(SCRIPT_DIR)/rstrip.sh +endif + +ifeq ($(CONFIG_ENABLE_LOCALE),true) + DISABLE_NLS:=--enable-nls +else + DISABLE_NLS:=--disable-nls +endif + +ifeq ($(CONFIG_IPV6),y) + DISABLE_IPV6:= +else + DISABLE_IPV6:=--disable-ipv6 +endif + +ifeq ($(CONFIG_TAR_VERBOSITY),y) + TAR_OPTIONS:=-xvf - +else + TAR_OPTIONS:=-xf - +endif + +ifeq ($(CONFIG_BUILD_LOG),y) + BUILD_LOG:=1 +endif + +define shvar +V_$(subst .,_,$(subst -,_,$(subst /,_,$(1)))) +endef + +define shexport +$(call shvar,$(1))=$$(call $(1)) +export $(call shvar,$(1)) +endef + +define include_mk +$(eval -include $(if $(DUMP),,$(STAGING_DIR)/mk/$(strip $(1)))) +endef + +# Execute commands under flock +# $(1) => The shell expression. +# $(2) => The lock name. If not given, the global lock will be used. +define locked + SHELL= \ + $(STAGING_DIR_HOST)/bin/flock \ + $(TMP_DIR)/.$(if $(2),$(strip $(2)),global).flock \ + -c '$(subst ','\'',$(1))' +endef + +# Recursively copy paths into another directory, purge dangling +# symlinks before. +# $(1) => File glob expression +# $(2) => Destination directory +define file_copy + for src_dir in $(sort $(foreach d,$(wildcard $(1)),$(dir $(d)))); do \ + ( cd $$src_dir; find -type f -or -type d ) | \ + ( cd $(2); while :; do \ + read FILE; \ + [ -z "$$FILE" ] && break; \ + [ -L "$$FILE" ] || continue; \ + echo "Removing symlink $(2)/$$FILE"; \ + rm -f "$$FILE"; \ + done; ); \ + done; \ + $(CP) $(1) $(2) +endef + +# file extension +ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1))) + +all: +FORCE: ; +.PHONY: FORCE + +val.%: + @$(if $(filter undefined,$(origin $*)),\ + echo "$* undefined" >&2, \ + echo '$(subst ','"'"',$($*))' \ + ) + +var.%: + @$(if $(filter undefined,$(origin $*)),\ + echo "$* undefined" >&2, \ + echo "$*='"'$(subst ','"'\"'\"'"',$($*))'"'" \ + ) + +endif #__rules_inc -- cgit v1.2.3