diff options
Diffstat (limited to 'tools/bison')
-rw-r--r-- | tools/bison/Makefile | 28 | ||||
-rw-r--r-- | tools/bison/patches/000-relocatable.patch | 20 | ||||
-rw-r--r-- | tools/bison/patches/010-intl-stub-compat.patch | 15 | ||||
-rw-r--r-- | tools/bison/patches/100-fix-gets-removal.patch | 15 |
4 files changed, 78 insertions, 0 deletions
diff --git a/tools/bison/Makefile b/tools/bison/Makefile new file mode 100644 index 000000000..ef705227e --- /dev/null +++ b/tools/bison/Makefile @@ -0,0 +1,28 @@ +# +# Copyright (C) 2008-2012 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +include $(TOPDIR)/rules.mk + +PKG_NAME:=bison +PKG_VERSION:=2.5 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 +PKG_SOURCE_URL:=@GNU/$(PKG_NAME) +PKG_MD5SUM:=9dba20116b13fc61a0846b0058fbe004 +PKG_CAT:=bzcat + +HOST_BUILD_PARALLEL:=1 + +include $(INCLUDE_DIR)/host-build.mk + +HOST_LDFLAGS += $(HOST_STATIC_LINKING) + +define Host/Clean + -$(MAKE) -C $(HOST_BUILD_DIR) uninstall + $(call Host/Clean/Default) +endef + +$(eval $(call HostBuild)) diff --git a/tools/bison/patches/000-relocatable.patch b/tools/bison/patches/000-relocatable.patch new file mode 100644 index 000000000..50dca6d33 --- /dev/null +++ b/tools/bison/patches/000-relocatable.patch @@ -0,0 +1,20 @@ +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -81,6 +81,7 @@ MOSTLYCLEANFILES = yacc + + yacc: + echo '#! /bin/sh' >$@ ++ echo 'test -n "$$STAGING_DIR" && exec "$$STAGING_DIR/../host/bin/bison" -y "$$@"' >>$@ + echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@ + chmod a+x $@ + +--- a/src/Makefile.in ++++ b/src/Makefile.in +@@ -1609,6 +1609,7 @@ uninstall-am: uninstall-binPROGRAMS unin + + yacc: + echo '#! /bin/sh' >$@ ++ echo 'test -n "$$STAGING_DIR" && exec "$$STAGING_DIR/../host/bin/bison" -y "$$@"' >>$@ + echo "exec '$(bindir)/bison' -y "'"$$@"' >>$@ + chmod a+x $@ + diff --git a/tools/bison/patches/010-intl-stub-compat.patch b/tools/bison/patches/010-intl-stub-compat.patch new file mode 100644 index 000000000..2cd720b68 --- /dev/null +++ b/tools/bison/patches/010-intl-stub-compat.patch @@ -0,0 +1,15 @@ +--- a/src/main.c ++++ b/src/main.c +@@ -58,9 +58,9 @@ main (int argc, char *argv[]) + { + program_name = argv[0]; + setlocale (LC_ALL, ""); +- (void) bindtextdomain (PACKAGE, LOCALEDIR); +- (void) bindtextdomain ("bison-runtime", LOCALEDIR); +- (void) textdomain (PACKAGE); ++ bindtextdomain (PACKAGE, LOCALEDIR); ++ bindtextdomain ("bison-runtime", LOCALEDIR); ++ textdomain (PACKAGE); + + uniqstrs_new (); + muscle_init (); diff --git a/tools/bison/patches/100-fix-gets-removal.patch b/tools/bison/patches/100-fix-gets-removal.patch new file mode 100644 index 000000000..1b9031064 --- /dev/null +++ b/tools/bison/patches/100-fix-gets-removal.patch @@ -0,0 +1,15 @@ +--- a/lib/stdio.in.h ++++ b/lib/stdio.in.h +@@ -177,12 +177,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not + "use gnulib module fflush for portable POSIX compliance"); + #endif + +-/* It is very rare that the developer ever has full control of stdin, +- so any use of gets warrants an unconditional warning. Assume it is +- always declared, since it is required by C89. */ +-#undef gets +-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); +- + #if @GNULIB_FOPEN@ + # if @REPLACE_FOPEN@ + # if !(defined __cplusplus && defined GNULIB_NAMESPACE) |