Go to file
Hauke Mehrtens 336ad4c9aa toolchain/uClibc: enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL
This is required to build net-snmp.

If that options is disabled in uClibc then net-snmp doesn't
detect sighold support on its configuration stage and so
defines HAVE_SIGHOLD as 0. That in its turn causes compilation of
the following branch of timerPause() in apps/snmpnetstat:
------------------>8----------------
    int             oldmask;
    oldmask = sigblock(sigmask(SIGALRM));
    if (!signalled) {
        sigpause(0);
    }
    sigsetmask(oldmask);
------------------>8----------------

Now in uClibc all 3 sigblock(), sigmask() and sigsetmask()
were removed back in 2005, see:
https://git.busybox.net/uClibc/commit/?id=5aa7aa7fa7ec2a0fe567ac0b2595b46add6f3594

And all that causes net-snmp linkage to fail this way:
------------------>8----------------
.libs/if.o: In function `intpr':
if.c:(.text+0x908): undefined reference to `sigmask'
if.c:(.text+0x90e): undefined reference to `sigblock'
if.c:(.text+0x924): undefined reference to `sigsetmask'
------------------>8----------------

If we enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL in uClibc then
branch with sighold is used in timerPause() and everything builds as
expected.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 49178
2016-04-17 12:49:30 +00:00
config build: don't add -fno-plt for ARC 2016-02-07 13:29:16 +00:00
docs build: Prevent more gzip timestamps 2015-07-14 09:57:45 +00:00
include kernel: update kernel 4.4 to version 4.4.7 2016-04-16 21:05:48 +00:00
package samba: fix some security problems 2016-04-16 20:06:34 +00:00
scripts scripts/getver.sh: Use 'git-rev-parse' to detect if tree lies in Git repository 2016-04-13 20:52:26 +00:00
target kernel: update kernel 4.4 to version 4.4.7 2016-04-16 21:05:48 +00:00
toolchain toolchain/uClibc: enable UCLIBC_HAS_OBSOLETE_BSD_SIGNAL 2016-04-17 12:49:30 +00:00
tools ar71xx: add TP-Link TL-WA901ND-v4 support 2016-04-09 10:26:46 +00:00
.gitattributes add .gitattributes to prevent the git autocrlf option from messing with CRLF/LF in files 2012-05-08 13:30:49 +00:00
.gitignore build: add integration for managing opkg package feed keys 2015-04-06 19:39:51 +00:00
BSDmakefile add missing copyright header 2007-02-26 01:05:09 +00:00
Config.in scripts/config: sync with linux upstream 2015-01-08 14:33:53 +00:00
LICENSE finally move buildroot-ng to trunk 2016-03-20 17:29:15 +01:00
Makefile Makefile: set timezone to UTC 2016-01-28 22:42:18 +00:00
README Add 'subversion' build dependency to README 2014-08-31 12:06:32 +00:00
feeds.conf.default feeds.conf.default: add new targets feed 2015-03-19 11:58:35 +00:00
rules.mk build: disable the use of -iremap for UML (#21851) 2016-02-13 22:23:32 +00:00

README

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, subversion, 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