update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,17 @@
avoid regen during install
Signed-off-by: Francois Perrad <francois.perrad@gadz.org>
--- a/sources/Makefile
+++ b/sources/Makefile
@@ -120,7 +120,7 @@
ln -sf $(SHARED_LIB) $(LIBRARIES)/lib4th.so
endif
-mostlyinstall: libinstall all
+mostlyinstall: libinstall
cp 4th 4tsh pp4th $(BINARIES)
install: mostlyinstall
--

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 1c7adbb1a56dad4c4c781e6e023d77ac862842560c05246b691d07e9a4460ab2 4th-3.62.4-unix.tar.gz

View File

@@ -0,0 +1,70 @@
################################################################################
#
# 4th
#
################################################################################
4TH_VERSION = 3.62.4
4TH_SOURCE = 4th-$(4TH_VERSION)-unix.tar.gz
4TH_SITE = http://downloads.sourceforge.net/project/forth-4th/4th-$(4TH_VERSION)
4TH_LICENSE = GPLv3+, LGPLv3+
# The COPYING file only contains the text of the LGPLv3, but the
# source code really contains parts under GPLv3+.
4TH_LICENSE_FILES = COPYING
4TH_DEPENDENCIES = host-4th
4TH_INSTALL_STAGING = YES
4TH_CFLAGS = $(TARGET_CFLAGS) -DUNIX -fsigned-char
ifeq ($(BR2_STATIC_LIBS),y)
4TH_MAKE_ENV = $(TARGET_MAKE_ENV) STATIC=1
else
4TH_MAKE_ENV = $(TARGET_MAKE_ENV) SHARED=1
4TH_CFLAGS += -fPIC
endif
define 4TH_BUILD_CMDS
$(4TH_MAKE_ENV) $(MAKE) -C $(@D)/sources all \
CROSS="$(TARGET_CROSS)" \
CFLAGS="$(4TH_CFLAGS)" \
FOURTH=$(HOST_DIR)/usr/bin/4th
endef
define 4TH_INSTALL_STAGING_CMDS
$(4TH_MAKE_ENV) $(MAKE) -C $(@D)/sources libinstall \
LIBRARIES=$(STAGING_DIR)/usr/lib
$(INSTALL) -D -m 0644 $(@D)/sources/4th.h \
$(STAGING_DIR)/usr/include/4th.h
endef
define 4TH_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/bin
mkdir -p $(TARGET_DIR)/usr/lib
$(4TH_MAKE_ENV) $(MAKE) -C $(@D)/sources mostlyinstall \
BINARIES=$(TARGET_DIR)/usr/bin \
LIBRARIES=$(TARGET_DIR)/usr/lib
mkdir -p $(TARGET_DIR)/usr/share/4th/lib
cp -dpf $(@D)/4th/*.4th $(TARGET_DIR)/usr/share/4th
cp -dpf $(@D)/4th/lib/*.4th $(TARGET_DIR)/usr/share/4th/lib
mkdir -p $(TARGET_DIR)/usr/share/4th/demo
cp -dpf $(@D)/4th/demo/*.4th $(TARGET_DIR)/usr/share/4th/demo
mkdir -p $(TARGET_DIR)/usr/share/4th/4pp/lib
cp -dpf $(@D)/4th/4pp/*.4pp $(TARGET_DIR)/usr/share/4th/4pp
cp -dpf $(@D)/4th/4pp/lib/*.4pp $(TARGET_DIR)/usr/share/4th/4pp/lib
endef
define HOST_4TH_BUILD_CMDS
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/sources all \
CFLAGS="$(HOST_CFLAGS) -DUNIX -fsigned-char"
endef
define HOST_4TH_INSTALL_CMDS
mkdir -p $(HOST_DIR)/usr/bin
mkdir -p $(HOST_DIR)/usr/lib
$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/sources mostlyinstall \
BINARIES=$(HOST_DIR)/usr/bin \
LIBRARIES=$(HOST_DIR)/usr/lib
endef
$(eval $(generic-package))
$(eval $(host-generic-package))

View File

@@ -0,0 +1,8 @@
config BR2_PACKAGE_4TH
bool "4th"
help
4tH is a Forth compiler that can create bytecode,
C-embeddable bytecode, standalone executables, but also
works fine as a scripting language
http://thebeez.home.xs4all.nl/4tH/

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,52 @@
menu "Host utilities"
source "package/aespipe/Config.in.host"
source "package/android-tools/Config.in.host"
source "package/cbootimage/Config.in.host"
source "package/checkpolicy/Config.in.host"
source "package/cramfs/Config.in.host"
source "package/dfu-util/Config.in.host"
source "package/dos2unix/Config.in.host"
source "package/dosfstools/Config.in.host"
source "package/dtc/Config.in.host"
source "package/e2fsprogs/Config.in.host"
source "package/e2tools/Config.in.host"
source "package/faketime/Config.in.host"
source "package/fwup/Config.in.host"
source "package/genext2fs/Config.in.host"
source "package/genimage/Config.in.host"
source "package/genpart/Config.in.host"
source "package/go/Config.in.host"
source "package/gptfdisk/Config.in.host"
source "package/imx-usb-loader/Config.in.host"
source "package/jq/Config.in.host"
source "package/jsmin/Config.in.host"
source "package/lpc3250loader/Config.in.host"
source "package/lttng-babeltrace/Config.in.host"
source "package/mfgtools/Config.in.host"
source "package/mke2img/Config.in.host"
source "package/mkpasswd/Config.in.host"
source "package/mtd/Config.in.host"
source "package/mtools/Config.in.host"
source "package/mxsldr/Config.in.host"
source "package/omap-u-boot-utils/Config.in.host"
source "package/openocd/Config.in.host"
source "package/opkg-utils/Config.in.host"
source "package/parted/Config.in.host"
source "package/patchelf/Config.in.host"
source "package/pru-software-support/Config.in.host"
source "package/pwgen/Config.in.host"
source "package/qemu/Config.in.host"
source "package/raspberrypi-usbboot/Config.in.host"
source "package/sam-ba/Config.in.host"
source "package/squashfs/Config.in.host"
source "package/sunxi-tools/Config.in.host"
source "package/tegrarcm/Config.in.host"
source "package/ti-cgt-pru/Config.in.host"
source "package/uboot-tools/Config.in.host"
source "package/util-linux/Config.in.host"
source "package/vboot-utils/Config.in.host"
source "package/xorriso/Config.in.host"
source "package/zip/Config.in.host"
endmenu

View File

@@ -0,0 +1,421 @@
ifndef MAKE
MAKE := make
endif
ifndef HOSTMAKE
HOSTMAKE = $(MAKE)
endif
HOSTMAKE := $(shell which $(HOSTMAKE) || type -p $(HOSTMAKE) || echo make)
# If BR2_JLEVEL is 0, scale the maximum concurrency with the number of
# CPUs. An additional job is used in order to keep processors busy
# while waiting on I/O.
# If the number of processors is not available, assume one.
ifeq ($(BR2_JLEVEL),0)
PARALLEL_JOBS := $(shell echo \
$$((1 + `getconf _NPROCESSORS_ONLN 2>/dev/null || echo 1`)))
else
PARALLEL_JOBS := $(BR2_JLEVEL)
endif
MAKE1 := $(HOSTMAKE) -j1
override MAKE = $(HOSTMAKE) \
$(if $(findstring j,$(filter-out --%,$(MAKEFLAGS))),,-j$(PARALLEL_JOBS))
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
TARGET_VENDOR = $(call qstrip,$(BR2_TOOLCHAIN_BUILDROOT_VENDOR))
else
TARGET_VENDOR = buildroot
endif
# Sanity checks
ifeq ($(TARGET_VENDOR),)
$(error BR2_TOOLCHAIN_BUILDROOT_VENDOR is not allowed to be empty)
endif
ifeq ($(TARGET_VENDOR),unknown)
$(error BR2_TOOLCHAIN_BUILDROOT_VENDOR cannot be 'unknown'. \
It might be confused with the native toolchain)
endif
# Compute GNU_TARGET_NAME
GNU_TARGET_NAME = $(ARCH)-$(TARGET_VENDOR)-$(TARGET_OS)-$(LIBC)$(ABI)
# FLAT binary format needs uclinux
ifeq ($(BR2_BINFMT_FLAT),y)
TARGET_OS = uclinux
else
TARGET_OS = linux
endif
ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),y)
LIBC = uclibc
else ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
LIBC = musl
else
LIBC = gnu
endif
# The ABI suffix is a bit special on ARM, as it needs to be
# -uclibcgnueabi for uClibc EABI, and -gnueabi for glibc EABI.
# This means that the LIBC and ABI aren't strictly orthogonal,
# which explains why we need the test on LIBC below.
ifeq ($(BR2_arm)$(BR2_armeb),y)
ifeq ($(LIBC),uclibc)
ABI = gnueabi
else
ABI = eabi
endif
ifeq ($(BR2_ARM_EABIHF),y)
ABI := $(ABI)hf
endif
endif
# For FSL PowerPC there's SPE
ifeq ($(BR2_powerpc_SPE),y)
ABI = spe
# MPC8540s are e500v1 with single precision FP
ifeq ($(BR2_powerpc_8540),y)
TARGET_ABI += -mabi=spe -mfloat-gprs=single -Wa,-me500
endif
ifeq ($(BR2_powerpc_8548),y)
TARGET_ABI += -mabi=spe -mfloat-gprs=double -Wa,-me500x2
endif
ifeq ($(BR2_powerpc_e500mc),y)
TARGET_ABI += -mabi=spe -mfloat-gprs=double -Wa,-me500mc
endif
endif
# Use longcalls option for Xtensa globally.
# The 'longcalls' option allows calls across a greater range of addresses,
# and is required for some packages. While this option can degrade both
# code size and performance, the linker can usually optimize away the
# overhead when a call ends up within a certain range.
#
# Use auto-litpools for Xtensa globally.
# Collecting literals into separate section can be advantageous if that
# section is placed into DTCM at link time. This is applicable for code
# running on bare metal, but makes no sense under linux, where userspace
# is isolated from the physical memory details. OTOH placing literals into
# separate section breaks build of huge source files, because l32r
# instruction can only access literals in 256 KBytes range.
#
ifeq ($(BR2_xtensa),y)
TARGET_ABI += -mlongcalls -mauto-litpools
endif
ifeq ($(BR2_arc)$(BR2_ARC_ATOMIC_EXT),yy)
TARGET_ABI += -matomic
endif
STAGING_SUBDIR = usr/$(GNU_TARGET_NAME)/sysroot
STAGING_DIR = $(HOST_DIR)/$(STAGING_SUBDIR)
ifeq ($(BR2_OPTIMIZE_0),y)
TARGET_OPTIMIZATION = -O0
endif
ifeq ($(BR2_OPTIMIZE_1),y)
TARGET_OPTIMIZATION = -O1
endif
ifeq ($(BR2_OPTIMIZE_2),y)
TARGET_OPTIMIZATION = -O2
endif
ifeq ($(BR2_OPTIMIZE_3),y)
TARGET_OPTIMIZATION = -O3
endif
ifeq ($(BR2_OPTIMIZE_G),y)
TARGET_OPTIMIZATION = -Og
endif
ifeq ($(BR2_OPTIMIZE_S),y)
TARGET_OPTIMIZATION = -Os
endif
ifeq ($(BR2_DEBUG_1),y)
TARGET_DEBUGGING = -g1
endif
ifeq ($(BR2_DEBUG_2),y)
TARGET_DEBUGGING = -g2
endif
ifeq ($(BR2_DEBUG_3),y)
TARGET_DEBUGGING = -g3
endif
TARGET_CPPFLAGS += -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
TARGET_CXXFLAGS = $(TARGET_CFLAGS)
TARGET_FCFLAGS = $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET_DEBUGGING)
TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS))
ifeq ($(BR2_BINFMT_FLAT),y)
TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt)
TARGET_CXXFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt)
TARGET_FCFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt)
TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt)
endif
ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
TARGET_LDFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_FCFLAGS += -mid-shared-library -mshared-library-id=0
TARGET_CXXFLAGS += -mid-shared-library -mshared-library-id=0
endif
ifeq ($(BR2_BINFMT_FLAT_SEP_DATA),y)
TARGET_LDFLAGS += -msep-data
TARGET_CFLAGS += -msep-data
TARGET_FCFLAGS += -msep-data
TARGET_CXXFLAGS += -msep-data
endif
ifeq ($(BR2_SSP_REGULAR),y)
TARGET_CFLAGS += -fstack-protector
TARGET_CXXFLAGS += -fstack-protector
TARGET_FCFLAGS += -fstack-protector
else ifeq ($(BR2_SSP_STRONG),y)
TARGET_CFLAGS += -fstack-protector-strong
TARGET_CXXFLAGS += -fstack-protector-strong
TARGET_FCFLAGS += -fstack-protector-strong
else ifeq ($(BR2_SSP_ALL),y)
TARGET_CFLAGS += -fstack-protector-all
TARGET_CXXFLAGS += -fstack-protector-all
TARGET_FCFLAGS += -fstack-protector-all
endif
ifeq ($(BR2_TOOLCHAIN_BUILDROOT),y)
TARGET_CROSS = $(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-
else
TARGET_CROSS = $(HOST_DIR)/usr/bin/$(TOOLCHAIN_EXTERNAL_PREFIX)-
endif
# Define TARGET_xx variables for all common binutils/gcc
TARGET_AR = $(TARGET_CROSS)ar
TARGET_AS = $(TARGET_CROSS)as
TARGET_CC = $(TARGET_CROSS)gcc
TARGET_CPP = $(TARGET_CROSS)cpp
TARGET_CXX = $(TARGET_CROSS)g++
TARGET_FC = $(TARGET_CROSS)gfortran
TARGET_LD = $(TARGET_CROSS)ld
TARGET_NM = $(TARGET_CROSS)nm
TARGET_RANLIB = $(TARGET_CROSS)ranlib
TARGET_READELF = $(TARGET_CROSS)readelf
TARGET_OBJCOPY = $(TARGET_CROSS)objcopy
TARGET_OBJDUMP = $(TARGET_CROSS)objdump
ifeq ($(BR2_STRIP_strip),y)
STRIP_STRIP_DEBUG := --strip-debug
TARGET_STRIP = $(TARGET_CROSS)strip
STRIPCMD = $(TARGET_CROSS)strip --remove-section=.comment --remove-section=.note
endif
ifeq ($(BR2_STRIP_none),y)
TARGET_STRIP = /bin/true
STRIPCMD = $(TARGET_STRIP)
endif
INSTALL := $(shell which install || type -p install)
FLEX := $(shell which flex || type -p flex)
BISON := $(shell which bison || type -p bison)
UNZIP := $(shell which unzip || type -p unzip) -q
APPLY_PATCHES = PATH=$(HOST_DIR)/usr/bin:$$PATH support/scripts/apply-patches.sh $(if $(QUIET),-s)
HOST_CPPFLAGS = -I$(HOST_DIR)/usr/include
HOST_CFLAGS ?= -O2
HOST_CFLAGS += $(HOST_CPPFLAGS)
HOST_CXXFLAGS += $(HOST_CFLAGS)
HOST_LDFLAGS += -L$(HOST_DIR)/lib -L$(HOST_DIR)/usr/lib -Wl,-rpath,$(HOST_DIR)/usr/lib
# The macros below are taken from linux 4.11 and adapted slightly.
# Copy more when needed.
# try-run
# Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise)
# Exit code chooses option. "$$TMP" is can be used as temporary file and
# is automatically cleaned up.
try-run = $(shell set -e; \
TMP="$$(tempfile)"; \
if ($(1)) >/dev/null 2>&1; \
then echo "$(2)"; \
else echo "$(3)"; \
fi; \
rm -f "$$TMP")
# host-cc-option
# Usage: HOST_FOO_CFLAGS += $(call host-cc-option,-no-pie,)
host-cc-option = $(call try-run,\
$(HOSTCC) $(HOST_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2))
# host-intltool should be executed with the system perl, so we save
# the path to the system perl, before a host-perl built by Buildroot
# might get installed into $(HOST_DIR)/usr/bin and therefore appears
# in our PATH. This system perl will be used as INTLTOOL_PERL.
export PERL=$(shell which perl)
# host-intltool needs libxml-parser-perl, which Buildroot installs in
# $(HOST_DIR)/usr/lib/perl, so we must make sure that the system perl
# finds this perl module by exporting the proper value for PERL5LIB.
export PERL5LIB=$(HOST_DIR)/usr/lib/perl
TARGET_MAKE_ENV = PATH=$(BR_PATH)
TARGET_CONFIGURE_OPTS = \
$(TARGET_MAKE_ENV) \
AR="$(TARGET_AR)" \
AS="$(TARGET_AS)" \
LD="$(TARGET_LD)" \
NM="$(TARGET_NM)" \
CC="$(TARGET_CC)" \
GCC="$(TARGET_CC)" \
CPP="$(TARGET_CPP)" \
CXX="$(TARGET_CXX)" \
FC="$(TARGET_FC)" \
F77="$(TARGET_FC)" \
RANLIB="$(TARGET_RANLIB)" \
READELF="$(TARGET_READELF)" \
STRIP="$(TARGET_STRIP)" \
OBJCOPY="$(TARGET_OBJCOPY)" \
OBJDUMP="$(TARGET_OBJDUMP)" \
AR_FOR_BUILD="$(HOSTAR)" \
AS_FOR_BUILD="$(HOSTAS)" \
CC_FOR_BUILD="$(HOSTCC)" \
GCC_FOR_BUILD="$(HOSTCC)" \
CXX_FOR_BUILD="$(HOSTCXX)" \
LD_FOR_BUILD="$(HOSTLD)" \
CPPFLAGS_FOR_BUILD="$(HOST_CPPFLAGS)" \
CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
CXXFLAGS_FOR_BUILD="$(HOST_CXXFLAGS)" \
LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)" \
FCFLAGS_FOR_BUILD="$(HOST_FCFLAGS)" \
DEFAULT_ASSEMBLER="$(TARGET_AS)" \
DEFAULT_LINKER="$(TARGET_LD)" \
CPPFLAGS="$(TARGET_CPPFLAGS)" \
CFLAGS="$(TARGET_CFLAGS)" \
CXXFLAGS="$(TARGET_CXXFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
FCFLAGS="$(TARGET_FCFLAGS)" \
FFLAGS="$(TARGET_FCFLAGS)" \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
STAGING_DIR="$(STAGING_DIR)" \
INTLTOOL_PERL=$(PERL)
HOST_MAKE_ENV = \
PATH=$(BR_PATH) \
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
PKG_CONFIG_SYSROOT_DIR="/" \
PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 \
PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
PKG_CONFIG_LIBDIR="$(HOST_DIR)/usr/lib/pkgconfig:$(HOST_DIR)/usr/share/pkgconfig"
HOST_CONFIGURE_OPTS = \
$(HOST_MAKE_ENV) \
AR="$(HOSTAR)" \
AS="$(HOSTAS)" \
LD="$(HOSTLD)" \
NM="$(HOSTNM)" \
CC="$(HOSTCC)" \
GCC="$(HOSTCC)" \
CXX="$(HOSTCXX)" \
CPP="$(HOSTCPP)" \
OBJCOPY="$(HOSTOBJCOPY)" \
RANLIB="$(HOSTRANLIB)" \
CPPFLAGS="$(HOST_CPPFLAGS)" \
CFLAGS="$(HOST_CFLAGS)" \
CXXFLAGS="$(HOST_CXXFLAGS)" \
LDFLAGS="$(HOST_LDFLAGS)" \
INTLTOOL_PERL=$(PERL)
# This is extra environment we can not export ourselves (eg. because some
# packages use that variable internally, eg. uboot), so we have to
# explicitly pass it to user-supplied external hooks (eg. post-build,
# post-images)
EXTRA_ENV = \
PATH=$(BR_PATH) \
BR2_DL_DIR=$(BR2_DL_DIR) \
BUILD_DIR=$(BUILD_DIR)
################################################################################
# settings we need to pass to configure
# does unaligned access trap?
BR2_AC_CV_TRAP_CHECK = ac_cv_lbl_unaligned_fail=yes
ifeq ($(BR2_i386),y)
BR2_AC_CV_TRAP_CHECK = ac_cv_lbl_unaligned_fail=no
endif
ifeq ($(BR2_x86_64),y)
BR2_AC_CV_TRAP_CHECK = ac_cv_lbl_unaligned_fail=no
endif
ifeq ($(BR2_m68k),y)
BR2_AC_CV_TRAP_CHECK = ac_cv_lbl_unaligned_fail=no
endif
ifeq ($(BR2_powerpc)$(BR2_powerpc64)$(BR2_powerpc64le),y)
BR2_AC_CV_TRAP_CHECK = ac_cv_lbl_unaligned_fail=no
endif
ifeq ($(BR2_ENDIAN),"BIG")
BR2_AC_CV_C_BIGENDIAN = ac_cv_c_bigendian=yes
else
BR2_AC_CV_C_BIGENDIAN = ac_cv_c_bigendian=no
endif
# AM_GNU_GETTEXT misdetects musl gettext support.
# musl currently implements api level 1 and 2 (basic + ngettext)
# http://www.openwall.com/lists/musl/2015/04/16/3
ifeq ($(BR2_TOOLCHAIN_USES_MUSL),y)
BR2_GT_CV_FUNC_GNUGETTEXT_LIBC = \
gt_cv_func_gnugettext1_libc=yes \
gt_cv_func_gnugettext2_libc=yes
endif
TARGET_CONFIGURE_ARGS = \
$(BR2_AC_CV_TRAP_CHECK) \
ac_cv_func_mmap_fixed_mapped=yes \
ac_cv_func_memcmp_working=yes \
ac_cv_have_decl_malloc=yes \
gl_cv_func_malloc_0_nonnull=yes \
ac_cv_func_malloc_0_nonnull=yes \
ac_cv_func_calloc_0_nonnull=yes \
ac_cv_func_realloc_0_nonnull=yes \
lt_cv_sys_lib_search_path_spec="" \
$(BR2_AC_CV_C_BIGENDIAN) \
$(BR2_GT_CV_FUNC_GNUGETTEXT_LIBC)
################################################################################
ifeq ($(BR2_ENABLE_LOCALE),y)
DISABLE_NLS :=
else
DISABLE_NLS :=--disable-nls
endif
ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
TARGET_CONFIGURE_OPTS += CXX=false CXXCPP=cpp
endif
ifeq ($(BR2_STATIC_LIBS),y)
SHARED_STATIC_LIBS_OPTS = --enable-static --disable-shared
TARGET_CFLAGS += -static
TARGET_CXXFLAGS += -static
TARGET_FCFLAGS += -static
TARGET_LDFLAGS += -static
else ifeq ($(BR2_SHARED_LIBS),y)
SHARED_STATIC_LIBS_OPTS = --disable-static --enable-shared
else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
SHARED_STATIC_LIBS_OPTS = --enable-static --enable-shared
endif
ifeq ($(BR2_COMPILER_PARANOID_UNSAFE_PATH),y)
export BR_COMPILER_PARANOID_UNSAFE_PATH=enabled
endif
include package/pkg-download.mk
include package/pkg-autotools.mk
include package/pkg-cmake.mk
include package/pkg-luarocks.mk
include package/pkg-perl.mk
include package/pkg-python.mk
include package/pkg-virtual.mk
include package/pkg-generic.mk
include package/pkg-kconfig.mk
include package/pkg-rebar.mk
include package/pkg-kernel-module.mk
include package/pkg-waf.mk

View File

@@ -0,0 +1,13 @@
config BR2_PACKAGE_A10DISP
bool "a10disp"
depends on BR2_arm
depends on BR2_LINUX_KERNEL
help
Program to change the display mode of Allwinner ARM SOCs running
the linux-sunxi kernel (and not the mainline kernel.)
http://github.com/hglm/a10disp
comment "a10disp needs a Linux kernel to be built"
depends on BR2_arm
depends on !BR2_LINUX_KERNEL

View File

@@ -0,0 +1,2 @@
# Locally calculated
sha256 5077405030e8f97a1edd4b86d469466abbc4d32b4a4609e58459347fcd1ba35b a10disp-v0.6.1.tar.gz

View File

@@ -0,0 +1,22 @@
################################################################################
#
# a10disp
#
################################################################################
A10DISP_VERSION = v0.6.1
A10DISP_SITE = $(call github,hglm,a10disp,$(A10DISP_VERSION))
A10DISP_LICENSE = MIT
A10DISP_DEPENDENCIES = linux
define A10DISP_BUILD_CMDS
cp -f $(LINUX_DIR)/include/video/sunxi_disp_ioctl.h $(@D)/
$(TARGET_CC) $(TARGET_CFLAGS) $(@D)/a10disp.c -o $(@D)/a10disp
endef
define A10DISP_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/a10disp $(TARGET_DIR)/usr/bin/a10disp
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,29 @@
Support installation of .a file when doing static linking
When doing static linking (i.e ENABLE_SHARED != yes), the acl build
logic wasn't installing any library at all, not even the .a file which
is needed for static linking. This patch fixes that.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/include/buildmacros
===================================================================
--- a/include/buildmacros
+++ b/include/buildmacros
@@ -97,7 +97,15 @@
INSTALL_LTLIB_STATIC = \
cd $(TOPDIR)/$(LIBNAME)/.libs; \
- ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR);
+ ../$(INSTALL) -m 755 -d $(PKG_DEVLIB_DIR); \
+ ../$(INSTALL) -m 644 -T old_lib $(LIBNAME).la $(PKG_DEVLIB_DIR); \
+ ../$(INSTALL) -m 644 $(LIBNAME).la $(PKG_DEVLIB_DIR)/$(LIBNAME).la ; \
+ ../$(INSTALL) -m 755 -d $(PKG_LIB_DIR); \
+ ../$(INSTALL) -T so_base $(LIBNAME).la $(PKG_LIB_DIR); \
+ if test "x$(PKG_DEVLIB_DIR)" != "x$(PKG_LIB_DIR)" ; then \
+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).a $(PKG_LIB_DIR)/$(LIBNAME).a; \
+ ../$(INSTALL) -S $(PKG_DEVLIB_DIR)/$(LIBNAME).la $(PKG_LIB_DIR)/$(LIBNAME).la; \
+ fi
INSTALL_MAN = \
@for d in $(MAN_PAGES); do \

View File

@@ -0,0 +1,292 @@
From debbe4f7b591b3f35d0ed65c17fa81b196b2eb2d Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Tue, 12 Aug 2014 08:37:25 -0400
Subject: [PATCH] add __acl_ prefixes to internal symbols
When static linking libacl, people sometimes run into symbol collisions
because their own code defines symbols like "quote". So for acl internal
symbols, use an __acl_ prefix.
[Rahul Bedarkar: backported from upstream
http://git.savannah.gnu.org/cgit/acl.git/commit/?id=a2c4d71c2e84419a49db503ed59de4d3d1dca7dd ]
Signed-off-by: Rahul Bedarkar <rahul.bedarkar@imgtec.com>
---
exports | 12 ++----------
getfacl/getfacl.c | 4 ++--
include/misc.h | 8 ++++----
libacl/__acl_to_any_text.c | 4 ++--
libacl/acl_from_text.c | 4 ++--
libmisc/high_water_alloc.c | 2 +-
libmisc/next_line.c | 6 +++---
libmisc/quote.c | 4 ++--
libmisc/unquote.c | 2 +-
setfacl/parse.c | 10 +++++-----
setfacl/setfacl.c | 4 ++--
11 files changed, 26 insertions(+), 34 deletions(-)
diff --git a/exports b/exports
index 7d8e69e..bf15d84 100644
--- a/exports
+++ b/exports
@@ -59,22 +59,14 @@ ACL_1.0 {
acl_to_any_text;
local:
- # Library internal stuff
+ # Library internal stuff
__new_var_obj_p;
__new_obj_p_here;
__free_obj_p;
__check_obj_p;
__ext2int_and_check;
- __acl_reorder_entry_obj_p;
- __acl_reorder_obj_p;
- __acl_init_obj;
- __acl_create_entry_obj;
- __acl_free_acl_obj;
- __acl_to_any_text;
+ __acl_*;
__apply_mask_to_mode;
-
- quote;
- unquote;
};
ACL_1.1 {
diff --git a/getfacl/getfacl.c b/getfacl/getfacl.c
index f8eaf25..af9e225 100644
--- a/getfacl/getfacl.c
+++ b/getfacl/getfacl.c
@@ -90,7 +90,7 @@ int opt_numeric; /* don't convert id's to symbolic names */
static const char *xquote(const char *str, const char *quote_chars)
{
- const char *q = quote(str, quote_chars);
+ const char *q = __acl_quote(str, quote_chars);
if (q == NULL) {
fprintf(stderr, "%s: %s\n", progname, strerror(errno));
exit(1);
@@ -718,7 +718,7 @@ int main(int argc, char *argv[])
do {
if (optind == argc ||
strcmp(argv[optind], "-") == 0) {
- while ((line = next_line(stdin)) != NULL) {
+ while ((line = __acl_next_line(stdin)) != NULL) {
if (*line == '\0')
continue;
diff --git a/include/misc.h b/include/misc.h
index 0c5fdcc..c25accf 100644
--- a/include/misc.h
+++ b/include/misc.h
@@ -15,9 +15,9 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-extern int high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
+extern int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize);
-extern const char *quote(const char *str, const char *quote_chars);
-extern char *unquote(char *str);
+extern const char *__acl_quote(const char *str, const char *quote_chars);
+extern char *__acl_unquote(char *str);
-extern char *next_line(FILE *file);
+extern char *__acl_next_line(FILE *file);
diff --git a/libacl/__acl_to_any_text.c b/libacl/__acl_to_any_text.c
index a4f9c34..19f1ccc 100644
--- a/libacl/__acl_to_any_text.c
+++ b/libacl/__acl_to_any_text.c
@@ -159,7 +159,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size,
if (options & TEXT_NUMERIC_IDS)
str = NULL;
else
- str = quote(user_name(
+ str = __acl_quote(user_name(
entry_obj_p->eid.qid), ":, \t\n\r");
if (str != NULL) {
strncpy(text_p, str, size);
@@ -182,7 +182,7 @@ acl_entry_to_any_str(const acl_entry_t entry_d, char *text_p, ssize_t size,
if (options & TEXT_NUMERIC_IDS)
str = NULL;
else
- str = quote(group_name(
+ str = __acl_quote(group_name(
entry_obj_p->eid.qid), ":, \t\n\r");
if (str != NULL) {
strncpy(text_p, str, size);
diff --git a/libacl/acl_from_text.c b/libacl/acl_from_text.c
index 1e05322..f6165be 100644
--- a/libacl/acl_from_text.c
+++ b/libacl/acl_from_text.c
@@ -206,7 +206,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
str = get_token(text_p);
if (str) {
entry_obj.etag = ACL_USER;
- error = get_uid(unquote(str),
+ error = get_uid(__acl_unquote(str),
&entry_obj.eid.qid);
free(str);
if (error) {
@@ -225,7 +225,7 @@ parse_acl_entry(const char **text_p, acl_t *acl_p)
str = get_token(text_p);
if (str) {
entry_obj.etag = ACL_GROUP;
- error = get_gid(unquote(str),
+ error = get_gid(__acl_unquote(str),
&entry_obj.eid.qid);
free(str);
if (error) {
diff --git a/libmisc/high_water_alloc.c b/libmisc/high_water_alloc.c
index c127dc1..951f4bb 100644
--- a/libmisc/high_water_alloc.c
+++ b/libmisc/high_water_alloc.c
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include "misc.h"
-int high_water_alloc(void **buf, size_t *bufsize, size_t newsize)
+int __acl_high_water_alloc(void **buf, size_t *bufsize, size_t newsize)
{
#define CHUNK_SIZE 256
/*
diff --git a/libmisc/next_line.c b/libmisc/next_line.c
index 0566d7a..126a364 100644
--- a/libmisc/next_line.c
+++ b/libmisc/next_line.c
@@ -23,7 +23,7 @@
#define LINE_SIZE getpagesize()
-char *next_line(FILE *file)
+char *__acl_next_line(FILE *file)
{
static char *line;
static size_t line_size;
@@ -31,7 +31,7 @@ char *next_line(FILE *file)
int eol = 0;
if (!line) {
- if (high_water_alloc((void **)&line, &line_size, LINE_SIZE))
+ if (__acl_high_water_alloc((void **)&line, &line_size, LINE_SIZE))
return NULL;
}
c = line;
@@ -47,7 +47,7 @@ char *next_line(FILE *file)
if (feof(file))
break;
if (!eol) {
- if (high_water_alloc((void **)&line, &line_size,
+ if (__acl_high_water_alloc((void **)&line, &line_size,
2 * line_size))
return NULL;
c = strrchr(line, '\0');
diff --git a/libmisc/quote.c b/libmisc/quote.c
index bf8f9eb..a28800c 100644
--- a/libmisc/quote.c
+++ b/libmisc/quote.c
@@ -23,7 +23,7 @@
#include <string.h>
#include "misc.h"
-const char *quote(const char *str, const char *quote_chars)
+const char *__acl_quote(const char *str, const char *quote_chars)
{
static char *quoted_str;
static size_t quoted_str_len;
@@ -40,7 +40,7 @@ const char *quote(const char *str, const char *quote_chars)
if (nonpr == 0)
return str;
- if (high_water_alloc((void **)&quoted_str, &quoted_str_len,
+ if (__acl_high_water_alloc((void **)&quoted_str, &quoted_str_len,
(s - (unsigned char *)str) + nonpr * 3 + 1))
return NULL;
for (s = (unsigned char *)str, q = quoted_str; *s != '\0'; s++) {
diff --git a/libmisc/unquote.c b/libmisc/unquote.c
index bffebf9..4f4ce7c 100644
--- a/libmisc/unquote.c
+++ b/libmisc/unquote.c
@@ -22,7 +22,7 @@
#include <ctype.h>
#include "misc.h"
-char *unquote(char *str)
+char *__acl_unquote(char *str)
{
unsigned char *s, *t;
diff --git a/setfacl/parse.c b/setfacl/parse.c
index e7e6add..7433459 100644
--- a/setfacl/parse.c
+++ b/setfacl/parse.c
@@ -226,7 +226,7 @@ user_entry:
str = get_token(text_p);
if (str) {
cmd->c_tag = ACL_USER;
- error = get_uid(unquote(str), &cmd->c_id);
+ error = get_uid(__acl_unquote(str), &cmd->c_id);
free(str);
if (error) {
*text_p = backup;
@@ -245,7 +245,7 @@ user_entry:
str = get_token(text_p);
if (str) {
cmd->c_tag = ACL_GROUP;
- error = get_gid(unquote(str), &cmd->c_id);
+ error = get_gid(__acl_unquote(str), &cmd->c_id);
free(str);
if (error) {
*text_p = backup;
@@ -466,7 +466,7 @@ read_acl_comments(
if (strncmp(cp, "file:", 5) == 0) {
cp += 5;
SKIP_WS(cp);
- cp = unquote(cp);
+ cp = __acl_unquote(cp);
if (path_p) {
if (*path_p)
@@ -483,7 +483,7 @@ read_acl_comments(
if (uid_p) {
if (*uid_p != ACL_UNDEFINED_ID)
goto fail;
- if (get_uid(unquote(cp), uid_p) != 0)
+ if (get_uid(__acl_unquote(cp), uid_p) != 0)
continue;
}
} else if (strncmp(cp, "group:", 6) == 0) {
@@ -493,7 +493,7 @@ read_acl_comments(
if (gid_p) {
if (*gid_p != ACL_UNDEFINED_ID)
goto fail;
- if (get_gid(unquote(cp), gid_p) != 0)
+ if (get_gid(__acl_unquote(cp), gid_p) != 0)
continue;
}
} else if (strncmp(cp, "flags:", 6) == 0) {
diff --git a/setfacl/setfacl.c b/setfacl/setfacl.c
index 81062a6..fb2d172 100644
--- a/setfacl/setfacl.c
+++ b/setfacl/setfacl.c
@@ -92,7 +92,7 @@ int promote_warning;
static const char *xquote(const char *str, const char *quote_chars)
{
- const char *q = quote(str, quote_chars);
+ const char *q = __acl_quote(str, quote_chars);
if (q == NULL) {
fprintf(stderr, "%s: %s\n", progname, strerror(errno));
exit(1);
@@ -311,7 +311,7 @@ int next_file(const char *arg, seq_t seq)
args.seq = seq;
if (strcmp(arg, "-") == 0) {
- while ((line = next_line(stdin)))
+ while ((line = __acl_next_line(stdin)))
errors = walk_tree(line, walk_flags, 0, do_set, &args);
if (!feof(stdin)) {
fprintf(stderr, _("%s: Standard input: %s\n"),
--
2.6.2

View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_ACL
bool "acl"
select BR2_PACKAGE_ATTR
help
POSIX Access Control Lists, which are used to define more
fine-grained discretionary access rights for files and
directories.
This package also provides libacl.
http://savannah.nongnu.org/projects/acl

View File

@@ -0,0 +1,2 @@
# Locally calculated after checking pgp signature
sha256 179074bb0580c06c4b4137be4c5a92a701583277967acdb5546043c7874e0d23 acl-2.2.52.src.tar.gz

View File

@@ -0,0 +1,57 @@
################################################################################
#
# acl
#
################################################################################
ACL_VERSION = 2.2.52
ACL_SOURCE = acl-$(ACL_VERSION).src.tar.gz
ACL_SITE = http://download.savannah.gnu.org/releases/acl
ACL_INSTALL_STAGING = YES
ACL_DEPENDENCIES = attr
ACL_CONF_OPTS = --enable-gettext=no
ACL_LICENSE = GPLv2+ (programs), LGPLv2.1+ (libraries)
ACL_LICENSE_FILES = doc/COPYING doc/COPYING.LGPL
# While the configuration system uses autoconf, the Makefiles are
# hand-written and do not use automake. Therefore, we have to hack
# around their deficiencies by:
# - explicitly passing CFLAGS (LDFLAGS are passed on from configure,
# CFLAGS are not).
# - explicitly passing the installation prefix, not using DESTDIR.
ACL_MAKE_ENV = CFLAGS="$(TARGET_CFLAGS)"
ACL_INSTALL_STAGING_OPTS = \
prefix=$(STAGING_DIR)/usr \
exec_prefix=$(STAGING_DIR)/usr \
PKG_DEVLIB_DIR=$(STAGING_DIR)/usr/lib \
install-dev install-lib
ACL_INSTALL_TARGET_OPTS = \
prefix=$(TARGET_DIR)/usr \
exec_prefix=$(TARGET_DIR)/usr \
install install-lib
# The libdir variable in libacl.la is empty, so let's fix it. This is
# probably due to acl not using automake, and not doing fully the
# right thing with libtool.
define ACL_FIX_LIBTOOL_LA_LIBDIR
$(SED) "s,libdir=.*,libdir='$(STAGING_DIR)'," \
$(STAGING_DIR)/usr/lib/libacl.la
endef
ACL_POST_INSTALL_STAGING_HOOKS += ACL_FIX_LIBTOOL_LA_LIBDIR
HOST_ACL_DEPENDENCIES = host-attr
HOST_ACL_CONF_OPTS = --enable-gettext=no
HOST_ACL_MAKE_ENV = CFLAGS="$(HOST_CFLAGS)"
HOST_ACL_INSTALL_OPTS = \
prefix=$(HOST_DIR)/usr \
exec_prefix=$(HOST_DIR)/usr \
PKG_DEVLIB_DIR=$(HOST_DIR)/usr/lib \
install-dev install-lib
# For the host, libacl.la is correct, no fixup needed.
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@@ -0,0 +1,62 @@
From 9382ae2431d2962c430e7149302c8690f5bc159c Mon Sep 17 00:00:00 2001
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
Date: Sun, 10 Jul 2016 15:06:15 +0200
Subject: [PATCH] build: do not use -Werror
Warnings come and go with various compiler versions, so using -Werror is
prone to cause build failures with various compiler versions, especially
newer versions that introduce new warnings.
Remove use of -Werror.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
---
generate/unix/Makefile.config | 1 -
generate/unix/iasl/Makefile | 12 ++++++------
2 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/generate/unix/Makefile.config b/generate/unix/Makefile.config
index da0f61d..1476e27 100644
--- a/generate/unix/Makefile.config
+++ b/generate/unix/Makefile.config
@@ -185,7 +185,6 @@ CWARNINGFLAGS = \
-Wall\
-Wbad-function-cast\
-Wdeclaration-after-statement\
- -Werror\
-Wformat=2\
-Wmissing-declarations\
-Wmissing-prototypes\
diff --git a/generate/unix/iasl/Makefile b/generate/unix/iasl/Makefile
index a3759cc..c2dc8f0 100644
--- a/generate/unix/iasl/Makefile
+++ b/generate/unix/iasl/Makefile
@@ -320,19 +320,19 @@ $(OBJDIR)/prparserparse.c $(OBJDIR)/prparser.y.h : $(ASL_COMPILER)/prparse
# by the utilities above and they are not necessarily ANSI C, etc.
#
$(OBJDIR)/aslcompilerlex.o : $(OBJDIR)/aslcompilerlex.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
$(OBJDIR)/aslcompilerparse.o : $(OBJDIR)/aslcompilerparse.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
$(OBJDIR)/dtparserlex.o : $(OBJDIR)/dtparserlex.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
$(OBJDIR)/dtparserparse.o : $(OBJDIR)/dtparserparse.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
$(OBJDIR)/prparserlex.o : $(OBJDIR)/prparserlex.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
$(OBJDIR)/prparserparse.o : $(OBJDIR)/prparserparse.c
- $(CC) -c $(CFLAGS) -Wall -Werror -o$@ $<
+ $(CC) -c $(CFLAGS) -Wall -o$@ $<
--
2.7.4

View File

@@ -0,0 +1,13 @@
config BR2_PACKAGE_ACPICA
bool "acpica"
depends on BR2_TOOLCHAIN_HAS_THREADS
help
The ACPI Component Architecture (ACPICA) project provides an
operating system (OS)-independent reference implementation
of the Advanced Configuration and Power Interface
Specification (ACPI).
https://www.acpica.org
comment "acpica needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,3 @@
# locally computed hash
sha256 dfb33db5599bd48134dbd6e50c8804099be0cf1c35d98975a6cb84dabca78b67 acpica-unix2-20161117.tar.gz

View File

@@ -0,0 +1,26 @@
################################################################################
#
# acpica
#
################################################################################
ACPICA_VERSION = 20161117
ACPICA_SOURCE = acpica-unix2-$(ACPICA_VERSION).tar.gz
ACPICA_SITE = https://acpica.org/sites/acpica/files
ACPICA_LICENSE = BSD-3c or GPLv2
ACPICA_LICENSE_FILES = source/include/acpi.h
ACPICA_DEPENDENCIES = host-bison host-flex
define ACPICA_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
HARDWARE_NAME=$(BR2_ARCH) HOST=_LINUX CC="$(TARGET_CC)" \
all
endef
define ACPICA_INSTALL_TARGET_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \
HARDWARE_NAME=$(BR2_ARCH) DESTDIR="$(TARGET_DIR)" \
INSTALLFLAGS=-m755 install
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,20 @@
Partially roll back upstream commit 4711119089e1ad08dad206f4fded68f1972fdeed
since released versions of uClibc don't support isfdtype().
Signed-off-by: Gustavo Zaarias <gustavo@zacarias.com.ar>
diff -Nura acpid-2.0.22.orig/sock.c acpid-2.0.22/sock.c
--- acpid-2.0.22.orig/sock.c 2014-04-22 18:04:19.706841764 -0300
+++ acpid-2.0.22/sock.c 2014-04-22 18:05:08.285479625 -0300
@@ -53,7 +53,10 @@
int
is_socket(int fd)
{
- return (isfdtype(fd, S_IFSOCK) == 1);
+ int v;
+ socklen_t l = sizeof(int);
+
+ return (getsockopt(fd, SOL_SOCKET, SO_TYPE, (char *)&v, &l) == 0);
}
/* accept a new client connection */

View File

@@ -0,0 +1,40 @@
Add missing MSG_CMSG_CLOEXEC
Unpatched uClibc toolchains, even using the latest 0.9.33.2, do not
have the MSG_CMSG_CLOEXEC definition. Even though the Buildroot
internal toolchain backend has a uClibc patch to provide it, it
doesn't apply to external toolchains. This patch provides the
definition of MSG_CMSG_CLOEXEC.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/libnetlink.h
===================================================================
--- a/libnetlink.h
+++ b/libnetlink.h
@@ -7,6 +7,10 @@
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
+#ifndef MSG_CMSG_CLOEXEC
+#define MSG_CMSG_CLOEXEC 0x40000000
+#endif
+
struct rtnl_handle
{
int fd;
Index: b/kacpimon/libnetlink.h
===================================================================
--- a/kacpimon/libnetlink.h
+++ b/kacpimon/libnetlink.h
@@ -7,6 +7,10 @@
#include <linux/netlink.h>
#include <linux/rtnetlink.h>
+#ifndef MSG_CMSG_CLOEXEC
+#define MSG_CMSG_CLOEXEC 0x40000000
+#endif
+
struct rtnl_handle
{
int fd;

View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_ACPID
bool "acpid"
depends on BR2_x86_64 || BR2_i386
help
Advanced Configuration and Power Interface event daemon.
Acpid is designed to notify user-space programs of ACPI events,
and allows you to configure specific actions for specific events.
http://sourceforge.net/projects/acpid2/

View File

@@ -0,0 +1,22 @@
#!/bin/sh
case "$1" in
start)
printf "Starting acpid: "
start-stop-daemon -S -q -m -b -p /var/run/acpid.pid --exec /usr/sbin/acpid -- -n
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
stop)
printf "Stopping acpid: "
start-stop-daemon -K -q -p /var/run/acpid.pid
[ $? = 0 ] && echo "OK" || echo "FAIL"
;;
restart)
"$0" stop
sleep 1
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac

View File

@@ -0,0 +1,3 @@
# From https://sourceforge.net/projects/acpid2/files/
md5 0432407b5ff75ae8e08afb43052fde2b acpid-2.0.28.tar.xz
sha1 a5cb34d53eb6965293c436db23dc81550273975b acpid-2.0.28.tar.xz

View File

@@ -0,0 +1,26 @@
################################################################################
#
# acpid
#
################################################################################
ACPID_VERSION = 2.0.28
ACPID_SOURCE = acpid-$(ACPID_VERSION).tar.xz
ACPID_SITE = http://downloads.sourceforge.net/project/acpid2
ACPID_LICENSE = GPLv2+
ACPID_LICENSE_FILES = COPYING
define ACPID_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/acpid/S02acpid \
$(TARGET_DIR)/etc/init.d/S02acpid
endef
define ACPID_SET_EVENTS
mkdir -p $(TARGET_DIR)/etc/acpi/events
printf "event=button[ /]power\naction=/sbin/poweroff\n" \
>$(TARGET_DIR)/etc/acpi/events/powerbtn
endef
ACPID_POST_INSTALL_TARGET_HOOKS += ACPID_SET_EVENTS
$(eval $(autotools-package))

View File

@@ -0,0 +1,16 @@
config BR2_PACKAGE_ACPITOOL
bool "acpitool"
depends on !BR2_bfin
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_INSTALL_LIBSTDCPP
help
A small, convenient command-line ACPI client with a lot of
features for Linux
http://acpitool.sourceforge.net
comment "acpitool needs a toolchain w/ threads, C++, dynamic library"
depends on !BR2_bfin
depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_HAS_THREADS \
|| !BR2_INSTALL_LIBSTDCPP

View File

@@ -0,0 +1,2 @@
# locally computed hash
sha256 004fb6cd43102918b6302cf537a2db7ceadda04aef2e0906ddf230f820dad34f acpitool-0.5.1.tar.bz2

View File

@@ -0,0 +1,13 @@
################################################################################
#
# acpitool
#
################################################################################
ACPITOOL_VERSION = 0.5.1
ACPITOOL_SOURCE = acpitool-$(ACPITOOL_VERSION).tar.bz2
ACPITOOL_SITE = http://downloads.sourceforge.net/sourceforge/acpitool
ACPITOOL_LICENSE = GPLv2+
ACPITOOL_LICENSE_FILES = COPYING
$(eval $(autotools-package))

View File

@@ -0,0 +1,19 @@
config BR2_PACKAGE_ACSCCID
bool "acsccid"
depends on BR2_TOOLCHAIN_HAS_THREADS # pcsc-lite, libusb
depends on BR2_USE_MMU # pcsc-lite
depends on !BR2_STATIC_LIBS # pcsc-lite
select BR2_PACKAGE_PCSC_LITE
# Even though there is a --disable-libusb option, it has in
# fact no effect, and acsccid really requires libusb.
select BR2_PACKAGE_LIBUSB
help
acsccid is a PC/SC driver for Linux/Mac OS X and it supports
ACS CCID smart card readers.
http://acsccid.sourceforge.net/
comment "acsccid needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS

View File

@@ -0,0 +1,3 @@
# From https://sourceforge.net/projects/acsccid/files/acsccid/1.1.1/
sha1 ae340256bbba36032a903c9f89883297a31ca340 acsccid-1.1.1.tar.bz2
md5 26dc34141188e64fa2b3545032060357 acsccid-1.1.1.tar.bz2

View File

@@ -0,0 +1,15 @@
################################################################################
#
# acsccid
#
################################################################################
ACSCCID_VERSION = 1.1.1
ACSCCID_SOURCE = acsccid-$(ACSCCID_VERSION).tar.bz2
ACSCCID_SITE = http://downloads.sourceforge.net/acsccid
ACSCCID_LICENSE = LGPLv2.1+
ACSCCID_LICENSE_FILES = COPYING
ACSCCID_INSTALL_STAGING = YES
ACSCCID_DEPENDENCIES = pcsc-lite host-flex host-pkgconf libusb
$(eval $(autotools-package))

View File

@@ -0,0 +1,5 @@
config BR2_PACKAGE_ADWAITA_ICON_THEME
bool "adwaita icon theme"
depends on BR2_PACKAGE_LIBGTK2 || BR2_PACKAGE_LIBGTK3
help
Adwaita icon theme

View File

@@ -0,0 +1,2 @@
# From http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/3.22/adwaita-icon-theme-3.22.0.sha256sum
sha256 c18bf6e26087d9819a962c77288b291efab25d0419b73d909dd771716a45dcb7 adwaita-icon-theme-3.22.0.tar.xz

View File

@@ -0,0 +1,16 @@
################################################################################
#
# adwaita-icon-theme
#
################################################################################
ADWAITA_ICON_THEME_VERSION_MAJOR = 3.22
ADWAITA_ICON_THEME_VERSION = $(ADWAITA_ICON_THEME_VERSION_MAJOR).0
ADWAITA_ICON_THEME_SITE = http://ftp.gnome.org/pub/gnome/sources/adwaita-icon-theme/$(ADWAITA_ICON_THEME_VERSION_MAJOR)
ADWAITA_ICON_THEME_SOURCE = adwaita-icon-theme-$(ADWAITA_ICON_THEME_VERSION).tar.xz
ADWAITA_ICON_THEME_INSTALL_STAGING = YES
ADWAITA_ICON_THEME_LICENSE = LGPLv3 or CC-BY-SA-3.0
ADWAITA_ICON_THEME_LICENSE_FILES = COPYING COPYING_LGPL COPYING_CCBYSA3
ADWAITA_ICON_THEME_DEPENDENCIES = host-intltool host-libgtk3
$(eval $(autotools-package))

View File

@@ -0,0 +1,12 @@
config BR2_PACKAGE_AER_INJECT
bool "aer-inject"
help
aer-inject allows to inject PCIE AER errors on the software
level into a running Linux kernel. This is intended for
validation of the PCIE driver error recovery handler and
PCIE AER core handler.
Requires a new Linux kernel with PCIE AER error injection
patches.
https://git.kernel.org/cgit/linux/kernel/git/gong.chen/aer-inject.git/

View File

@@ -0,0 +1,23 @@
################################################################################
#
# aer-inject
#
################################################################################
AER_INJECT_VERSION = 9bd5e2c7886fca72f139cd8402488a2235957d41
AER_INJECT_SITE = git://git.kernel.org/pub/scm/linux/kernel/git/gong.chen/aer-inject.git
AER_INJECT_SITE_METHOD = git
AER_INJECT_LICENSE = GPLv2
AER_INJECT_LICENSE_FILES = README
AER_INJECT_DEPENDENCIES = host-flex host-bison
define AER_INJECT_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS)
endef
define AER_INJECT_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) $(TARGET_CONFIGURE_OPTS) \
DESTDIR=$(TARGET_DIR) PREFIX=/usr/bin install
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_AESPIPE
bool "aespipe"
depends on BR2_USE_MMU # fork()
help
aespipe program is AES encrypting or decrypting pipe. It reads from
standard input and writes to standard output. It can be used to
create and restore encrypted tar or cpio archives. It can be used to
encrypt and decrypt loop-AES compatible encrypted disk images.
http://koti.tnnet.fi/jari.ruusu/linux/

View File

@@ -0,0 +1,10 @@
config BR2_PACKAGE_HOST_AESPIPE
bool "host aespipe"
help
aespipe program is AES encrypting or decrypting pipe. It
reads from standard input and writes to standard output. It
can be used to create and restore encrypted tar or cpio
archives. It can be used to encrypt and decrypt loop-AES
compatible encrypted disk images.
http://koti.tnnet.fi/jari.ruusu/linux/

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 c5ce656e0ade49b93e1163ec7b35450721d5743d8d804ad3a9e39add0389e50f aespipe-v2.4d.tar.bz2

View File

@@ -0,0 +1,23 @@
################################################################################
#
# aespipe
#
################################################################################
AESPIPE_VERSION = 2.4d
AESPIPE_SOURCE = aespipe-v$(AESPIPE_VERSION).tar.bz2
AESPIPE_SITE = http://loop-aes.sourceforge.net/aespipe
AESPIPE_LICENSE = GPL
# Recent Debian, Gentoo and Ubuntu enable -fPIE by default, breaking the build:
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837393
# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=835148
# Older gcc versions however don't support the -no-pie flag, so we have to
# check its availability.
HOST_AESPIPE_NO_PIE_FLAG = $(call host-cc-option,-no-pie)
HOST_AESPIPE_CONF_ENV = \
CFLAGS="$(HOST_CFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)" \
LDFLAGS="$(HOST_LDFLAGS) $(HOST_AESPIPE_NO_PIE_FLAG)"
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@@ -0,0 +1,22 @@
config BR2_PACKAGE_AGENTPP
bool "agent++"
select BR2_PACKAGE_SNMPPP
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS # snmp++
depends on !BR2_STATIC_LIBS # snmp++
help
AGENT++ is a set of C++ classes which provides a complete protocol
engine and dispatch table for the development of SNMP agents.
AGENT++ is a multilingual API which supports SNMPv1, SNMPv2c, and
SNMPv3. It provides various C++ classes implementing prototypes for
scalar and table SNMP managed objects that can be customized by
derivation. Additional classes support the development of proxy
agents as well as sending notifications.
SNMPv3 support is enabled if SNMP++ enables it.
http://www.agentpp.com/agentpp3_5/agentpp3_5.html
comment "agent++ needs a toolchain w/ threads, C++, dynamic library"
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
BR2_STATIC_LIBS

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 6775fa2a038801edddedc148d7846427ddc4d438e3bb33362d9eec6074918a88 agent++-4.0.7.tar.gz

View File

@@ -0,0 +1,19 @@
################################################################################
#
# agentpp
#
################################################################################
AGENTPP_VERSION = 4.0.7
AGENTPP_SOURCE = agent++-$(AGENTPP_VERSION).tar.gz
AGENTPP_SITE = http://www.agentpp.com/download
AGENTPP_LICENSE = Apache-2.0
AGENTPP_LICENSE_FILES = LICENSE-2_0.txt
AGENTPP_INSTALL_STAGING = YES
AGENTPP_DEPENDENCIES = host-pkgconf snmppp
AGENTPP_CONF_OPTS += \
--disable-proxy \
--disable-forwarder \
--disable-rpath
$(eval $(autotools-package))

View File

@@ -0,0 +1,73 @@
aiccu.h, common.c, common.h: fixes for deprecated GNUTLS functions and types
Signed-off-by: Michael Rommel <rommel@layer-7.net>
diff -purN aiccu_20070115.orig/common/aiccu.h aiccu_20070115/common/aiccu.h
--- aiccu_20070115.orig/common/aiccu.h 2007-01-15 13:01:43.000000000 +0100
+++ aiccu_20070115/common/aiccu.h 2013-08-31 23:50:53.651936146 +0200
@@ -111,7 +111,7 @@ struct AICCU_conf
#endif
#ifdef AICCU_GNUTLS
- gnutls_certificate_credentials tls_cred; /* GNUTLS credentials */
+ gnutls_certificate_credentials_t tls_cred; /* GNUTLS credentials */
#endif
bool daemonize; /* Daemonize? */
diff -purN aiccu_20070115.orig/common/common.c aiccu_20070115/common/common.c
--- aiccu_20070115.orig/common/common.c 2006-12-21 15:08:50.000000000 +0100
+++ aiccu_20070115/common/common.c 2013-09-01 01:21:36.031396740 +0200
@@ -271,9 +271,8 @@ TLSSOCKET sock_alloc(void);
TLSSOCKET sock_alloc(void)
{
#ifdef AICCU_GNUTLS
- /* Allow connections to servers that have OpenPGP keys as well */
- const int cert_type_priority[3] = { GNUTLS_CRT_X509, GNUTLS_CRT_OPENPGP, 0 };
int ret;
+ const char *err;
#endif /* AICCU_GNUTLS*/
TLSSOCKET sock;
@@ -297,11 +296,16 @@ TLSSOCKET sock_alloc(void)
}
/* Use default priorities */
- gnutls_set_default_priority(sock->session);
- /* XXX: Return value is not documented in GNUTLS documentation! */
-
- gnutls_certificate_type_set_priority(sock->session, cert_type_priority);
- /* XXX: Return value is not documented in GNUTLS documentation! */
+ ret = gnutls_priority_set_direct(sock->session, "NORMAL", &err);
+ if (ret < 0)
+ {
+ if (ret == GNUTLS_E_INVALID_REQUEST)
+ {
+ dolog( LOG_ERR, "TLS set priority failed, syntax error at: %s\n", err);
+ }
+ free(sock);
+ return NULL;
+ }
/* Configure the x509 credentials for the current session */
gnutls_credentials_set(sock->session, GNUTLS_CRD_CERTIFICATE, g_aiccu->tls_cred);
@@ -474,7 +478,7 @@ bool sock_gotls(TLSSOCKET sock)
}
/* Set the transport */
- gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr)sock->socket);
+ gnutls_transport_set_ptr(sock->session, (gnutls_transport_ptr_t) sock->socket);
/* Perform the TLS handshake */
ret = gnutls_handshake(sock->session);
diff -purN aiccu_20070115.orig/common/common.h aiccu_20070115/common/common.h
--- aiccu_20070115.orig/common/common.h 2007-01-11 15:50:51.000000000 +0100
+++ aiccu_20070115/common/common.h 2013-08-31 23:26:13.683659455 +0200
@@ -381,7 +381,7 @@ struct tlssocket
SOCKET socket;
#ifdef AICCU_GNUTLS
bool tls_active; /* TLS active? */
- gnutls_session session; /* The GnuTLS sesision */
+ gnutls_session_t session; /* The GnuTLS sesision */
#endif
};

View File

@@ -0,0 +1,15 @@
Makefile: change LDFLAGS order on the compile line for --static
Signed-off-by: Michael Rommel <rommel@layer-7.net>
--- aiccu_20070115.orig/unix-console/Makefile 2007-01-15 12:04:27.000000000 +0100
+++ aiccu_20070115/unix-console/Makefile 2013-09-29 22:54:42.742963861 +0200
@@ -144,7 +144,7 @@ endif
all: aiccu
aiccu: $(OBJS) ${SRCS} ${INCS}
- $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJS)
+ $(CC) $(CFLAGS) -o $@ $(OBJS) $(LDFLAGS)
ifeq ($(shell echo $(CFLAGS) | grep -c "DEBUG"),0)
ifeq ($(shell echo "$(RPM_OPT_FLAGS)" | wc -c),1)
strip $@

View File

@@ -0,0 +1,18 @@
aiccu: fix undefined reference to clock_* functions
Since glibc 2.17 the clock_* suite functions are available directly in
the main C library. For previous versions we still need -lrt to link.
Signed-off-by: Vicente Olivert Riera <vincent.riera@imgtec.com>
--- aiccu/unix-console/Makefile.orig 2014-01-14 10:17:20.204602513 +0000
+++ aiccu/unix-console/Makefile 2014-01-14 10:17:31.435777359 +0000
@@ -42,7 +42,7 @@ CFLAGS += -D AICCU_CONSOLE
# Currently defaultly builds only on Linux, but other platforms might easily also support it
ifeq ($(shell uname | grep -c "Linux"),1)
CFLAGS += -D AICCU_GNUTLS
-LDFLAGS += -lgnutls
+LDFLAGS += -lgnutls -lrt
endif
# Linux

View File

@@ -0,0 +1,23 @@
musl does not allow using <netinet/*> together with <linux/*> headers.
Since there are both netinet/if_ether.h and linux/if_ether.h providing
the same definitions, use linux/if_ether.h whenever other linux/*
headers are included.
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
--- aiccu/common/common.h
+++ aiccu/common/common.h
@@ -91,11 +91,12 @@
#include <sys/select.h>
#include <net/if.h>
- #include <netinet/if_ether.h>
#ifdef linux
#include <netpacket/packet.h>
+ #include <linux/if_ether.h>
#include <linux/if_tun.h>
#else
+ #include <netinet/if_ether.h>
#ifdef _DFBSD
#include <net/tun/if_tun.h>
#else

View File

@@ -0,0 +1,33 @@
res_ninit is available in glibc but not in uclibc or musl.
Signed-off-by: Alex Suykov <alex.suykov@gmail.com>
--- aiccu/common/resolver.c
+++ aiccu/common/resolver.c
@@ -26,7 +26,7 @@
int getrrs(const char *label, int rrtype, void gotrec(unsigned int num, int type, const char *record))
{
-#ifdef _LINUX
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
struct __res_state res;
#endif
unsigned char answer[8192];
@@ -38,7 +38,7 @@ int getrrs(const char *label, int rrtype
uint16_t type = 0, class = 0;
uint32_t ttl = 0;
-#ifdef _LINUX
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
memset(&res, 0, sizeof(res));
res.options = RES_DEBUG;
res_ninit(&res);
@@ -47,7 +47,7 @@ int getrrs(const char *label, int rrtype
#endif
memset(answer, 0, sizeof(answer));
-#ifdef _LINUX
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
ret = res_nquery(&res, label, C_IN, rrtype, answer, sizeof(answer));
#else
ret = res_query(label, C_IN, rrtype, answer, sizeof(answer));

View File

@@ -0,0 +1,23 @@
config BR2_PACKAGE_AICCU
bool "aiccu"
depends on BR2_USE_WCHAR
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_MMU # fork()
select BR2_PACKAGE_GNUTLS
help
SixXS Automatic IPv6 Connectivity Client Utility
AICCU (Automatic IPv6 Connectivity Client Utility) makes it
easy for users to get IPv6 connectivity. After having
requested an account, tunnel and optionally a subnet, AICCU
can be used to automatically configure the tunnel. AICCU
supports TIC (Tunnel Information & Control protocol), which it
uses for retrieving the tunnel configuration information,
AYIYA, which allows tunnels to be created even behind
firewalls and NAT's.
http://www.sixxs.net/tools/aiccu/
comment "aiccu needs a toolchain w/ wchar, threads"
depends on BR2_USE_MMU
depends on !(BR2_USE_WCHAR && BR2_TOOLCHAIN_HAS_THREADS)

View File

@@ -0,0 +1,2 @@
# From https://www.sixxs.net/archive/sixxs/aiccu/unix/
md5 c9bcc83644ed788e22a7c3f3d4021350 aiccu_20070115.tar.gz

View File

@@ -0,0 +1,40 @@
################################################################################
#
# aiccu
#
################################################################################
AICCU_VERSION = 20070115
AICCU_SOURCE = aiccu_$(AICCU_VERSION).tar.gz
AICCU_SITE = http://www.sixxs.net/archive/sixxs/aiccu/unix
AICCU_LICENSE = SixXS License, concise redistribution license
AICCU_LICENSE_FILES = doc/LICENSE
AICCU_DEPENDENCIES = gnutls
AICCU_LFDLAGS = $(TARGET_LDFLAGS)
# aiccu forgets to link with gnutls' dependencies breaking the build when
# linking statically
ifeq ($(BR2_STATIC_LIBS),y)
AICCU_LDFLAGS += `$(PKG_CONFIG_HOST_BINARY) --libs gnutls`
endif
# dummy RPM_OPT_FLAGS to disable stripping
define AICCU_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) LDFLAGS="$(AICCU_LDFLAGS)" $(MAKE) \
CC="$(TARGET_CC)" RPM_OPT_FLAGS=1 -C $(@D)/unix-console all
endef
define AICCU_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0755 $(@D)/unix-console/aiccu \
$(TARGET_DIR)/usr/sbin/aiccu
$(INSTALL) -D -m 0644 $(@D)/doc/aiccu.conf \
$(TARGET_DIR)/etc/aiccu.conf
endef
define AICCU_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 $(@D)/doc/aiccu.init \
$(TARGET_DIR)/etc/init.d/S50aiccu
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,39 @@
From 98149c7664e99cc8ce9c9b1abf2fa90d9cd68e0d Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Wed, 5 Nov 2014 09:38:12 -0300
Subject: [PATCH] Makefile: use pkg-config to find libpcre, it's more
cross-compile friendly
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
Status: Upstream http://trac.aircrack-ng.org/ticket/1526
diff --git a/common.mak b/common.mak
index 6e5694b..d875708 100644
--- a/common.mak
+++ b/common.mak
@@ -39,7 +39,7 @@ PCRE = true
endif
ifeq ($(PCRE), true)
-COMMON_CFLAGS += $(shell pcre-config --cflags) -DHAVE_PCRE
+COMMON_CFLAGS += $(shell $(PKG_CONFIG) --cflags libpcre) -DHAVE_PCRE
endif
ifeq ($(OSNAME), cygwin)
diff --git a/src/Makefile b/src/Makefile
index f9217f9..14350b6 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -16,7 +16,7 @@ BINFILES = aircrack-ng$(EXE) airdecap-ng$(EXE) packetforge-ng$(EXE) \
LIBPCRE =
ifeq ($(PCRE), true)
- LIBPCRE = $(shell pcre-config --libs)
+ LIBPCRE = $(shell $(PKG_CONFIG) --libs libpcre)
endif
ifneq ($(OSNAME), cygwin) #There is yet no libpcap support for windows, so we skip the crawler
--
2.0.4

View File

@@ -0,0 +1,33 @@
From 1abf7a6aad3d7931de2c01b578f62986b75de2f5 Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Tue, 11 Nov 2014 16:23:42 -0300
Subject: [PATCH] Optionally use LIBPCAP for required libpcap libraries
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
Status: Reported http://trac.aircrack-ng.org/ticket/1528
diff --git a/src/Makefile b/src/Makefile
index 14350b6..7bd4271 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -23,6 +23,7 @@ ifneq ($(OSNAME), cygwin) #There is yet no libpcap support for windows, so we sk
HAVE_PCAP = $(shell ld -lpcap 2> /dev/null && echo yes)
ifeq ($(HAVE_PCAP), yes) #cannot link with -lpcap, skip crawler
BINFILES += besside-ng-crawler$(EXE)
+ LIBPCAP = -lpcap
endif
endif
@@ -168,7 +169,7 @@ besside-ng$(EXE): $(OBJS_BS) $(LIBOSD)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_BS) -o $(@) $(LIBS) $(LIBSSL) -lz $(LIBPCRE)
besside-ng-crawler$(EXE): $(OBJS_BC)
- $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_BC) -o $(@) -lpcap
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_BC) -o $(@) $(LIBPCAP)
makeivs-ng$(EXE): $(OBJS_MI)
$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS_MI) -o $(@) $(LDFLAGS)
--
2.0.4

View File

@@ -0,0 +1,27 @@
From 42de9f800056601443ac12edbba7bd5802740db2 Mon Sep 17 00:00:00 2001
From: Thomas d'Otreppe <tdotreppe@aircrack-ng.org>
Date: Wed, 8 Apr 2015 01:25:07 +0000
Subject: [PATCH] Wesside-ng: Use termios instead of sys/termios.
git-svn-id: http://svn.aircrack-ng.org/trunk@2533 28c6078b-6c39-48e3-add9-af49d547ecab
Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
src/wesside-ng.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/wesside-ng.c b/src/wesside-ng.c
index 711d8b7..f44438a 100644
--- a/src/wesside-ng.c
+++ b/src/wesside-ng.c
@@ -33,7 +33,7 @@
#include <sys/types.h>
#include <sys/socket.h>
-#include <sys/termios.h>
+#include <termios.h>
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/wait.h>
--
2.4.3

View File

@@ -0,0 +1,20 @@
config BR2_PACKAGE_AIRCRACK_NG
bool "aircrack-ng"
depends on BR2_USE_MMU # uses fork()
# libnl has issues when linking statically
# they need fixing in libnl itself
select BR2_PACKAGE_LIBNL if !BR2_STATIC_LIBS
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ZLIB
depends on BR2_TOOLCHAIN_HAS_THREADS
help
A set of tools for auditing wireless networks
For complete functionality, also select ethtool, iw, rfkill,
util-linux utilities, and wireless_tools.
http://www.aircrack-ng.org/
comment "aircrack-ng needs a toolchain w/ threads"
depends on BR2_USE_MMU
depends on !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,3 @@
# From http://www.aircrack-ng.org/downloads.html
sha1 b5ff7d0fffb72095311bbe8824ab98aaac62db8f aircrack-ng-1.2-rc1.tar.gz
md5 c2f8648c92f7e46051c86c618d4fb0d5 aircrack-ng-1.2-rc1.tar.gz

View File

@@ -0,0 +1,60 @@
################################################################################
#
# aircrack-ng
#
################################################################################
AIRCRACK_NG_VERSION = 1.2-rc1
AIRCRACK_NG_SITE = http://download.aircrack-ng.org
AIRCRACK_NG_LICENSE = GPLv2+
AIRCRACK_NG_LICENSE_FILES = LICENSE
AIRCRACK_NG_DEPENDENCIES = openssl zlib host-pkgconf
# Enable buddy-ng, easside-ng, tkiptun-ng, wesside-ng
AIRCRACK_NG_MAKE_OPTS = unstable=true
# Account for libpthread in static
AIRCRACK_NG_LDFLAGS = $(TARGET_LDFLAGS) \
$(if $(BR2_STATIC_LIBS),-lpthread -lz)
# libnl support has issues when building static
ifeq ($(BR2_STATIC_LIBS),y)
AIRCRACK_NG_MAKE_OPTS += libnl=false
else
AIRCRACK_NG_MAKE_OPTS += libnl=true
AIRCRACK_NG_DEPENDENCIES += libnl
endif
ifeq ($(BR2_PACKAGE_LIBPCAP),y)
AIRCRACK_NG_DEPENDENCIES += libpcap
AIRCRACK_NG_MAKE_OPTS += HAVE_PCAP=yes \
$(if $(BR2_STATIC_LIBS),LIBPCAP="-lpcap `$(STAGING_DIR)/usr/bin/pcap-config --static --additional-libs`")
else
AIRCRACK_NG_MAKE_OPTS += HAVE_PCAP=no
endif
ifeq ($(BR2_PACKAGE_PCRE),y)
AIRCRACK_NG_DEPENDENCIES += pcre
AIRCRACK_NG_MAKE_OPTS += pcre=true
else
AIRCRACK_NG_MAKE_OPTS += pcre=false
endif
# Duplicate -lpthread, because it is also needed by sqlite
ifeq ($(BR2_PACKAGE_SQLITE),y)
AIRCRACK_NG_DEPENDENCIES += sqlite
AIRCRACK_NG_MAKE_OPTS += sqlite=true LIBSQL="-lsqlite3 $(if $(BR2_STATIC_LIBS),-lpthread)"
else
AIRCRACK_NG_MAKE_OPTS += sqlite=false
endif
define AIRCRACK_NG_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) LDFLAGS="$(AIRCRACK_NG_LDFLAGS)" \
$(MAKE) -C $(@D) $(AIRCRACK_NG_MAKE_OPTS)
endef
define AIRCRACK_NG_INSTALL_TARGET_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) DESTDIR=$(TARGET_DIR) \
prefix=/usr $(AIRCRACK_NG_MAKE_OPTS) install
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,51 @@
config BR2_PACKAGE_ALLJOYN_BASE
bool "alljoyn-base"
depends on BR2_USE_MMU # alljoyn
depends on !BR2_STATIC_LIBS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_WCHAR # alljoyn
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # alljoyn
select BR2_PACKAGE_ALLJOYN
select BR2_PACKAGE_OPENSSL
select BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL if \
!BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION && \
!BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING
help
AllJoyn Base Services are common services used by many
devices, providing a set of interfaces for different devices
to interact and interoperate with one another.
https://allseenalliance.org
if BR2_PACKAGE_ALLJOYN_BASE
config BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL
bool "controlpanel"
help
Enable AllJoyn Control Panel base service which allows
devices to advertise a virtual control panel to be
controlled remotely.
config BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION
bool "notification"
help
Enable AllJoyn Notification base service which allows
text-based notifications to be sent and received by devices
on the AllJoyn network. Also supports audio and images via
URLs.
config BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING
bool "onboarding"
help
Enable AllJoyn Onboarding base service which provides a
consistent way to bring a new device onto the Wi-Fi network.
endif # BR2_PACKAGE_ALLJOYN_BASE
comment "alljoyn-base needs a toolchain w/ C++, threads, wchar, dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR || BR2_STATIC_LIBS

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 742f724b3a06c8fc4039591dba24871755728221ca5dc4afb78ebd9a7e3beb44 alljoyn-base-16.04.00.tar.gz

View File

@@ -0,0 +1,91 @@
################################################################################
#
# alljoyn-base
#
################################################################################
ALLJOYN_BASE_REV = 16.04
ALLJOYN_BASE_VERSION = $(ALLJOYN_BASE_REV).00
ALLJOYN_BASE_SITE = \
https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_BASE_REV)
# See https://allseenalliance.org/alliance/ip-policy
ALLJOYN_BASE_LICENSE = ISC
ALLJOYN_BASE_DEPENDENCIES = host-scons alljoyn openssl
ALLJOYN_BASE_INSTALL_STAGING = YES
ALLJOYN_BASE_CRYPTO = openssl
# AllJoyn can be compiled in debug or release mode. By default,
# AllJoyn is built in debug mode.
ALLJOYN_BASE_VARIANT = release
ALLJOYN_BASE_BINDINGS = c,cpp
# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely
# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined
# otherwise compilation will fail.
# CROSS_COMPILE option should not be used as it works only for linux/ARM.
ALLJOYN_BASE_OS = openwrt
ALLJOYN_BASE_CPU = openwrt
# AllJoyn install everything in this relative path
ALLJOYN_BASE_DISTDIR = \
build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist
ALLJOYN_BASE_SCONS_OPTS = \
-j$(PARALLEL_JOBS) \
V=1 \
OS=$(ALLJOYN_BASE_OS) \
CPU=$(ALLJOYN_BASE_CPU) \
VARIANT=$(ALLJOYN_BASE_VARIANT) \
BR=off \
CRYPTO=$(ALLJOYN_BASE_CRYPTO) \
BINDINGS=$(ALLJOYN_BASE_BINDINGS) \
ALLJOYN_DISTDIR="$(STAGING_DIR)"\
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \
TARGET_CC="$(TARGET_CC)" \
TARGET_CXX="$(TARGET_CXX)" \
TARGET_LD="$(TARGET_LD)" \
TARGET_LINK="$(TARGET_CXX)" \
TARGET_AR="$(TARGET_AR)" \
TARGET_RANLIB="$(TARGET_RANLIB)" \
TARGET_PATH="$(BR_PATH)"
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_CONTROLPANEL), y)
ALLJOYN_BASE_TARGETS += controlpanel
endif
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_NOTIFICATION), y)
ALLJOYN_BASE_TARGETS += notification
endif
ifeq ($(BR2_PACKAGE_ALLJOYN_BASE_ONBOARDING), y)
ALLJOYN_BASE_TARGETS += onboarding
endif
define ALLJOYN_BASE_BUILD_CMDS
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
cd $(@D)/$(target); $(SCONS) $(ALLJOYN_BASE_SCONS_OPTS)
)
endef
define ALLJOYN_BASE_INSTALL_STAGING_CMDS
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
$(STAGING_DIR)/usr/lib/
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/inc/* \
$(STAGING_DIR)/usr/include/
)
endef
define ALLJOYN_BASE_INSTALL_TARGET_CMDS
$(foreach target,$(ALLJOYN_BASE_TARGETS),\
cp -a $(@D)/$(target)/$(ALLJOYN_BASE_DISTDIR)/*/lib/lib* \
$(TARGET_DIR)/usr/lib/
)
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,18 @@
config BR2_PACKAGE_ALLJOYN_TCL_BASE
bool "alljoyn-tcl-base"
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS # alljoyn-tcl
select BR2_PACKAGE_ALLJOYN_TCL
help
AllJoyn Base Services are common services used by many
devices, providing a set of interfaces for different devices
to interact and interoperate with one another.
Thin Client Library is designed to bring the benefits of the
AllJoyn distributed programming environment to embedded
systems.
https://allseenalliance.org
comment "alljoyn-tcl-base needs a toolchain w/ threads and dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 741f7a71929ccd6a66bf75d2b03affc62411e229b70bb89399be9b1b2ce40629 alljoyn-base_tcl-16.04.00.tar.gz

View File

@@ -0,0 +1,45 @@
################################################################################
#
# alljoyn-tcl-base
#
################################################################################
ALLJOYN_TCL_BASE_REV = 16.04
ALLJOYN_TCL_BASE_VERSION = $(ALLJOYN_TCL_BASE_REV).00
ALLJOYN_TCL_BASE_SOURCE = alljoyn-base_tcl-$(ALLJOYN_TCL_BASE_VERSION).tar.gz
ALLJOYN_TCL_BASE_SITE = \
https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_BASE_REV)
# See https://allseenalliance.org/alliance/ip-policy
ALLJOYN_TCL_BASE_LICENSE = ISC
ALLJOYN_TCL_BASE_DEPENDENCIES = host-scons alljoyn-tcl
ALLJOYN_TCL_BASE_INSTALL_STAGING = YES
# AllJoyn Base Thin Core can be compiled in debug or release mode. By default,
# AllJoyn Base Thin Core is built in debug mode.
ALLJOYN_TCL_BASE_VARIANT = release
ALLJOYN_TCL_BASE_SCONS_OPTS = \
-j$(PARALLEL_JOBS) \
V=1 \
VARIANT=$(ALLJOYN_TCL_BASE_VARIANT) \
CC="$(TARGET_CC)" \
CXX="$(TARGET_CXX)" \
AJTCL_DIST=$(STAGING_DIR) \
WS=off
define ALLJOYN_TCL_BASE_BUILD_CMDS
cd $(@D); $(SCONS) $(ALLJOYN_TCL_BASE_SCONS_OPTS)
endef
define ALLJOYN_TCL_BASE_INSTALL_STAGING_CMDS
cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/
cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/
endef
# Only install AllJoyn Base Thin Core dynamic libraries into target directory
define ALLJOYN_TCL_BASE_INSTALL_TARGET_CMDS
cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,20 @@
config BR2_PACKAGE_ALLJOYN_TCL
bool "alljoyn-tcl"
depends on !BR2_STATIC_LIBS
depends on BR2_TOOLCHAIN_HAS_THREADS
help
The AllJoyn framework defines a common way for devices and
apps to communicate with one another regardless of brands,
categories, transports, and OSes. Developers write
applications that discover nearby devices, and communicate
with each other directly and through the cloud, unleashing
new possibilities in the Internet of Things.
AllJoyn Thin Core Library (AJTCL) is designed to bring the
benefits of the AllJoyn distributed programming environment
to embedded systems.
https://allseenalliance.org
comment "alljoyn-tcl needs a toolchain w/ threads and dynamic library"
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 da13614a9db79067937b744a87328fed84d99ba62e3de19b0ddc4a83e4b2447e ajtcl-16.04.00a-src.tar.gz

View File

@@ -0,0 +1,43 @@
################################################################################
#
# alljoyn-tcl
#
################################################################################
ALLJOYN_TCL_REV = 16.04
ALLJOYN_TCL_VERSION = $(ALLJOYN_TCL_REV).00a
ALLJOYN_TCL_SOURCE = ajtcl-$(ALLJOYN_TCL_VERSION)-src.tar.gz
ALLJOYN_TCL_SITE = \
https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_TCL_REV)
# See https://allseenalliance.org/alliance/ip-policy
ALLJOYN_TCL_LICENSE = ISC
ALLJOYN_TCL_DEPENDENCIES = host-scons
ALLJOYN_TCL_INSTALL_STAGING = YES
# AllJoyn Thin Core can be compiled in debug or release mode. By default,
# AllJoyn Thin Core is built in debug mode.
ALLJOYN_TCL_VARIANT = release
ALLJOYN_TCL_SCONS_OPTS = \
-j$(PARALLEL_JOBS) \
V=1 \
VARIANT=$(ALLJOYN_TCL_VARIANT) \
CC="$(TARGET_CC)" \
CXX="$(TARGET_CXX)"
define ALLJOYN_TCL_BUILD_CMDS
cd $(@D); $(SCONS) $(ALLJOYN_TCL_SCONS_OPTS)
endef
define ALLJOYN_TCL_INSTALL_STAGING_CMDS
cp -a $(@D)/dist/lib/lib* $(STAGING_DIR)/usr/lib/
cp -a $(@D)/dist/include/* $(STAGING_DIR)/usr/include/
endef
# Only install AllJoyn Thin Core dynamic libraries into target directory
define ALLJOYN_TCL_INSTALL_TARGET_CMDS
cp -a $(@D)/dist/lib/lib*.so* $(TARGET_DIR)/usr/lib/
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,56 @@
From b8e35cf95184ff18bcf923f900439f56c93609db Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sat, 16 Jul 2016 15:23:41 +0200
Subject: [PATCH] UARTStreamLinux: fix build on sparc
Some of the serial port highest speed are not defined on SPARC, so
alljoyn should not use them, so we add a patch to fix that.
From:
https://git.buildroot.org/buildroot/commit/?id=c5e96d8935016456bea342db170ae6a139a8470f
Fixes:
http://autobuild.buildroot.net/results/e5b/e5b30b5e0d86b44b97410d434b771e1fb7b18de0
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
common/os/posix/UARTStreamLinux.cc | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/common/os/posix/UARTStreamLinux.cc b/common/os/posix/UARTStreamLinux.cc
index c193b70..ae81d9d 100644
--- a/common/os/posix/UARTStreamLinux.cc
+++ b/common/os/posix/UARTStreamLinux.cc
@@ -111,21 +111,29 @@ QStatus UART(const qcc::String& devName, uint32_t baud, uint8_t databits, const
speed = B2000000;
break;
+#ifdef B2500000
case 2500000:
speed = B2500000;
break;
+#endif
+#ifdef B3000000
case 3000000:
speed = B3000000;
break;
+#endif
+#ifdef B3500000
case 3500000:
speed = B3500000;
break;
+#endif
+#ifdef B4000000
case 4000000:
speed = B4000000;
break;
+#endif
default:
QCC_LogError(ER_BAD_ARG_2, ("Invalid baud %d", baud));
--
2.5.5

View File

@@ -0,0 +1,25 @@
config BR2_PACKAGE_ALLJOYN
bool "alljoyn"
depends on BR2_USE_MMU # fork()
depends on !BR2_STATIC_LIBS
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_USE_WCHAR
select BR2_PACKAGE_LIBCAP
select BR2_PACKAGE_OPENSSL
help
The AllJoyn framework defines a common way for devices and
apps to communicate with one another regardless of brands,
categories, transports, and OSes. Developers write
applications that discover nearby devices, and communicate
with each other directly and through the cloud, unleashing
new possibilities in the Internet of Things.
https://allseenalliance.org
comment "alljoyn needs a toolchain w/ C++, threads, wchar and dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
!BR2_USE_WCHAR || BR2_STATIC_LIBS

View File

@@ -0,0 +1,2 @@
# Locally computed:
sha256 fc437d96cf1213f18048240b5d12a374b31894d21830a0a6ccf562ffa13425d5 alljoyn-16.04.00a-src.tar.gz

View File

@@ -0,0 +1,69 @@
################################################################################
#
# alljoyn
#
################################################################################
ALLJOYN_REV = 16.04
ALLJOYN_VERSION = $(ALLJOYN_REV).00a
ALLJOYN_SOURCE = alljoyn-$(ALLJOYN_VERSION)-src.tar.gz
ALLJOYN_SITE = https://mirrors.kernel.org/allseenalliance/alljoyn/$(ALLJOYN_REV)
# See https://allseenalliance.org/alliance/ip-policy
ALLJOYN_LICENSE = ISC
ALLJOYN_DEPENDENCIES = host-scons libcap openssl
ALLJOYN_INSTALL_STAGING = YES
ALLJOYN_CRYPTO = openssl
# AllJoyn can be compiled in debug or release mode. By default, AllJoyn is built
# in debug mode.
ALLJOYN_VARIANT = release
ALLJOYN_BINDINGS = c,cpp
# By setting openwrt for OS and CPU, AllJoyn cross-compilation can be finely
# tuned through TARGET_xxx options. All TARGET_xxx variables must be defined
# otherwise compilation will fail.
# CROSS_COMPILE option should not be used as it works only for linux/ARM.
ALLJOYN_OS = openwrt
ALLJOYN_CPU = openwrt
# AllJoyn installs everything in this relative path
ALLJOYN_DISTDIR = build/$(ALLJOYN_OS)/$(ALLJOYN_CPU)/$(ALLJOYN_VARIANT)/dist/
ALLJOYN_SCONS_OPTS = \
-j$(PARALLEL_JOBS) \
V=1 \
OS=$(ALLJOYN_OS) \
CPU=$(ALLJOYN_CPU) \
VARIANT=$(ALLJOYN_VARIANT) \
BR=off \
CRYPTO=$(ALLJOYN_CRYPTO) \
BINDINGS=$(ALLJOYN_BINDINGS) \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_CPPFLAGS="$(TARGET_CPPFLAGS)" \
TARGET_LINKFLAGS="$(TARGET_LINKFLAGS)" \
TARGET_CC="$(TARGET_CC)" \
TARGET_CXX="$(TARGET_CXX)" \
TARGET_LD="$(TARGET_LD)" \
TARGET_LINK="$(TARGET_CXX)" \
TARGET_AR="$(TARGET_AR)" \
TARGET_RANLIB="$(TARGET_RANLIB)" \
TARGET_PATH="$(BR_PATH)"
define ALLJOYN_BUILD_CMDS
cd $(@D); $(SCONS) $(ALLJOYN_SCONS_OPTS)
endef
define ALLJOYN_INSTALL_STAGING_CMDS
cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/lib/lib* $(STAGING_DIR)/usr/lib/
cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/inc/* $(STAGING_DIR)/usr/include/
endef
# Only install alljoyn dynamic libraries into target directory
define ALLJOYN_INSTALL_TARGET_CMDS
cp -a $(@D)/$(ALLJOYN_DISTDIR)/*/lib/lib*.so* $(TARGET_DIR)/usr/lib/
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,33 @@
Fix musl-related build errors in packages depending on alsa, in our case
this fixes openal.
Downloaded from
http://git.alpinelinux.org/cgit/aports/tree/main/alsa-lib/alsa-lib_pcm_h.patch
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
--- alsa-lib-1.0.25/include/pcm.h
+++ alsa-lib-1.0.25.patched/include/pcm.h
@@ -33,6 +33,7 @@
extern "C" {
#endif
+#include <stdint.h>
/**
* \defgroup PCM PCM Interface
* See the \ref pcm page for more details.
@@ -941,10 +942,10 @@
int snd_pcm_format_physical_width(snd_pcm_format_t format); /* in bits */
snd_pcm_format_t snd_pcm_build_linear_format(int width, int pwidth, int unsignd, int big_endian);
ssize_t snd_pcm_format_size(snd_pcm_format_t format, size_t samples);
-u_int8_t snd_pcm_format_silence(snd_pcm_format_t format);
-u_int16_t snd_pcm_format_silence_16(snd_pcm_format_t format);
-u_int32_t snd_pcm_format_silence_32(snd_pcm_format_t format);
-u_int64_t snd_pcm_format_silence_64(snd_pcm_format_t format);
+uint8_t snd_pcm_format_silence(snd_pcm_format_t format);
+uint16_t snd_pcm_format_silence_16(snd_pcm_format_t format);
+uint32_t snd_pcm_format_silence_32(snd_pcm_format_t format);
+uint64_t snd_pcm_format_silence_64(snd_pcm_format_t format);
int snd_pcm_format_set_silence(snd_pcm_format_t format, void *buf, unsigned int samples);
snd_pcm_sframes_t snd_pcm_bytes_to_frames(snd_pcm_t *pcm, ssize_t bytes);

View File

@@ -0,0 +1,45 @@
Don't use fork() on noMMU platforms
[Gustavo: update patch for 1.0.28]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: alsa-lib-1.0.26/configure.ac
===================================================================
--- alsa-lib-1.0.26.orig/configure.ac 2012-09-06 10:55:14.000000000 +0200
+++ alsa-lib-1.0.26/configure.ac 2013-03-09 16:22:08.000000000 +0100
@@ -66,6 +66,8 @@
AM_CONDITIONAL(ALSA_HSEARCH_R, [test "x$HAVE_HSEARCH_R" != xyes])
AC_CHECK_FUNCS([uselocale])
+AC_CHECK_FUNC([fork])
+
SAVE_LIBRARY_VERSION
AC_SUBST(LIBTOOL_VERSION_INFO)
Index: alsa-lib-1.0.26/src/pcm/pcm_direct.c
===================================================================
--- alsa-lib-1.0.26.orig/src/pcm/pcm_direct.c 2012-09-06 10:55:14.000000000 +0200
+++ alsa-lib-1.0.26/src/pcm/pcm_direct.c 2013-03-09 16:22:51.000000000 +0100
@@ -424,13 +424,21 @@
close(dmix->server_fd);
return ret;
}
-
+
+#ifdef HAVE_FORK
ret = fork();
+#else
+ ret = vfork();
+#endif
if (ret < 0) {
close(dmix->server_fd);
return ret;
} else if (ret == 0) {
+#ifdef HAVE_FORK
ret = fork();
+#else
+ ret = vfork();
+#endif
if (ret == 0)
server_job(dmix);
_exit(EXIT_SUCCESS);

View File

@@ -0,0 +1,59 @@
alsa-lib: provide dummy definitions of RTLD_* if necessary
The FLAT GNU toolchain (e.g. blackfin) doesn't include the dlfcn.h header
file, so we need to guard that include. Additionally, provide dummy
definitions for parameters RTLD_GLOBAL / RTLD_NOW which are normally
provided by dlfcn.h.
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
[Thomas: don't add separate dlmisc.h, move dummy defs to global.h]
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
diff --git a/include/global.h b/include/global.h
--- a/include/global.h
+++ b/include/global.h
@@ -97,6 +97,16 @@ extern struct snd_dlsym_link *snd_dlsym_
/** \brief Returns the version of a dynamic symbol as a string. */
#define SND_DLSYM_VERSION(version) __STRING(version)
+/* RTLD_NOW and RTLD_GLOBAL (used for 'mode' in snd_dlopen) are not defined
+ * on all arches (e.g. blackfin), so provide a dummy definition here. */
+#ifndef RTLD_NOW
+#define RTLD_NOW 0
+#endif
+
+#ifndef RTLD_GLOBAL
+#define RTLD_GLOBAL 0
+#endif
+
void *snd_dlopen(const char *file, int mode);
void *snd_dlsym(void *handle, const char *name, const char *version);
int snd_dlclose(void *handle);
diff --git a/modules/mixer/simple/sbasedl.c b/modules/mixer/simple/sbasedl.c
--- a/modules/mixer/simple/sbasedl.c
+++ b/modules/mixer/simple/sbasedl.c
@@ -27,7 +27,9 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
+#include "config.h"
+#ifdef HAVE_DLFCN
#include <dlfcn.h>
+#endif
-#include "config.h"
#include "asoundlib.h"
#include "mixer_abst.h"
diff --git a/src/mixer/simple_abst.c b/src/mixer/simple_abst.c
--- a/src/mixer/simple_abst.c
+++ b/src/mixer/simple_abst.c
@@ -34,7 +34,9 @@
#include <fcntl.h>
#include <sys/ioctl.h>
#include <math.h>
+#include "config.h"
+#ifdef HAVE_DLFCN
#include <dlfcn.h>
+#endif
-#include "config.h"
#include "asoundlib.h"
#include "mixer_simple.h"

View File

@@ -0,0 +1,35 @@
alsa-lib: conditionally enable libdl in AM_PATH_ALSA m4 macro
The AM_PATH_ALSA macro in utils/alsa.m4 unconditionally uses -ldl. This
breaks compilation of alsa-utils (and probably other packages using this
macro) for targets that do not support dynamic loading, such as for
Blackfin FLAT binaries.
This patch updates the macro to check if dlopen is available, and use that
result to conditionally add -ldl to the list of libraries.
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
---
diff --git a/utils/alsa.m4 b/utils/alsa.m4
--- a/utils/alsa.m4
+++ b/utils/alsa.m4
@@ -44,6 +44,8 @@ if test "$alsa_inc_prefix" != "" ; then
fi
AC_MSG_RESULT($ALSA_CFLAGS)
+AC_CHECK_LIB(c, dlopen, LIBDL="", [AC_CHECK_LIB(dl, dlopen, LIBDL="-ldl")])
+
dnl add any special lib dirs
AC_MSG_CHECKING(for ALSA LDFLAGS)
if test "$alsa_prefix" != "" ; then
@@ -52,7 +54,7 @@ if test "$alsa_prefix" != "" ; then
fi
dnl add the alsa library
-ALSA_LIBS="$ALSA_LIBS -lasound -lm -ldl -lpthread"
+ALSA_LIBS="$ALSA_LIBS -lasound -lm $LIBDL -lpthread"
LIBS="$ALSA_LIBS $LIBS"
AC_MSG_RESULT($ALSA_LIBS)

View File

@@ -0,0 +1,67 @@
Linking currently fails on powerpc64 and powerpc64le when configured
with --without-versioned, as follows:
../src/.libs/libasound.so: undefined reference to `.__snd_pcm_hw_params_set_format_first'
(And many similar messages.)
This appears to be due to a very old (2003) workaround for powerpc64,
(introduced by commit 06221f86) in include/alsa-symbols.h which alters
symbol names. While it was probably necessary at the time, it does not
appear to be necessary now and removing it fixes the build.
Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
---
include/alsa-symbols.h | 25 ++++---------------------
1 file changed, 4 insertions(+), 21 deletions(-)
diff --git a/include/alsa-symbols.h b/include/alsa-symbols.h
index 51cb982..0cb0b9f 100644
--- a/include/alsa-symbols.h
+++ b/include/alsa-symbols.h
@@ -29,19 +29,10 @@
#define INTERNAL_CONCAT2_2(Pre, Post) Pre##Post
#define INTERNAL(Name) INTERNAL_CONCAT2_2(__, Name)
-#ifdef __powerpc64__
-# define symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version); \
- __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@" #version)
-# define default_symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version); \
- __asm__ (".symver ." ASM_NAME(#real) ",." ASM_NAME(#name) "@@" #version)
-#else
-# define symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version)
-# define default_symbol_version(real, name, version) \
- __asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version)
-#endif
+#define symbol_version(real, name, version) \
+__asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@" #version)
+#define default_symbol_version(real, name, version) \
+__asm__ (".symver " ASM_NAME(#real) "," ASM_NAME(#name) "@@" #version)
#ifdef USE_VERSIONED_SYMBOLS
#define use_symbol_version(real, name, version) \
@@ -50,13 +41,6 @@
default_symbol_version(real, name, version)
#else
#define use_symbol_version(real, name, version) /* nothing */
-#ifdef __powerpc64__
-#define use_default_symbol_version(real, name, version) \
- __asm__ (".weak " ASM_NAME(#name)); \
- __asm__ (".weak ." ASM_NAME(#name)); \
- __asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real)); \
- __asm__ (".set ." ASM_NAME(#name) ",." ASM_NAME(#real))
-#else
#if defined(__alpha__) || defined(__mips__)
#define use_default_symbol_version(real, name, version) \
__asm__ (".weak " ASM_NAME(#name)); \
@@ -67,6 +51,5 @@
__asm__ (".set " ASM_NAME(#name) "," ASM_NAME(#real))
#endif
#endif
-#endif
#endif /* __ALSA_SYMBOLS_H */
--
2.10.0.297.gf6727b0

View File

@@ -0,0 +1,30 @@
From 13a796b4bd00defa9f9297fd23d508b430682aed Mon Sep 17 00:00:00 2001
From: Gustavo Zacarias <gustavo@zacarias.com.ar>
Date: Wed, 21 Dec 2016 19:41:26 -0300
Subject: [PATCH] ucm: parser needs limits.h
It's using PATH_MAX which is defined there, otherwise the build fails on
musl libc.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
Patch status: sent to alsa-devel ML.
src/ucm/parser.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/ucm/parser.c b/src/ucm/parser.c
index c98373a..f520abc 100644
--- a/src/ucm/parser.c
+++ b/src/ucm/parser.c
@@ -32,6 +32,7 @@
#include "ucm_local.h"
#include <dirent.h>
+#include <limits.h>
/** The name of the environment variable containing the UCM directory */
#define ALSA_CONFIG_UCM_VAR "ALSA_CONFIG_UCM"
--
2.10.2

View File

@@ -0,0 +1,78 @@
comment "alsa-lib needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
menuconfig BR2_PACKAGE_ALSA_LIB
bool "alsa-lib"
# Temporary until
# https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4913
# is fixed
select BR2_PACKAGE_ALSA_LIB_PCM
# Even though some parts of alsa-lib use threads only when
# available, some PCM plugins use them unconditionally. Since
# the usage of alsa-lib on no-thread systems is pretty
# unlikely, just require thread support globally for alsa-lib.
depends on BR2_TOOLCHAIN_HAS_THREADS
help
The Advanced Linux Sound Architecture (ALSA) provides audio and MIDI
functionality to the Linux operating system.
http://www.alsa-project.org/
if BR2_PACKAGE_ALSA_LIB
config BR2_PACKAGE_ALSA_LIB_PYTHON
bool "Python support for alsa-lib"
depends on BR2_PACKAGE_PYTHON
help
Add python support for alsa-lib.
Python will be built and libpython will be installed
in the target directory
http://www.alsa-project.org/
config BR2_PACKAGE_ALSA_LIB_DEVDIR
string "directory with ALSA device files"
default "/dev/snd"
config BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS
string "built PCM plugins"
default "all" if BR2_USE_MMU
default "copy linear route mulaw alaw adpcm rate plug multi file null empty share meter hooks lfloat ladspa dmix dshare dsnoop asym iec958 softvol extplug ioplug mmap_emul" if !BR2_USE_MMU
config BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS
string "built control plugins"
default "all"
config BR2_PACKAGE_ALSA_LIB_ALOAD
bool "aload"
default y
config BR2_PACKAGE_ALSA_LIB_MIXER
bool "mixer"
default y
config BR2_PACKAGE_ALSA_LIB_PCM
bool "pcm"
default y
config BR2_PACKAGE_ALSA_LIB_RAWMIDI
bool "rawmidi"
default y
config BR2_PACKAGE_ALSA_LIB_HWDEP
bool "hwdep"
default y
config BR2_PACKAGE_ALSA_LIB_SEQ
bool "seq"
default y
config BR2_PACKAGE_ALSA_LIB_ALISP
bool "alisp"
depends on BR2_USE_MMU
default y
config BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS
bool "old-symbols"
default y
endif

View File

@@ -0,0 +1,2 @@
# Locally calculated
sha256 71282502184c592c1a008e256c22ed0ba5728ca65e05273ceb480c70f515969c alsa-lib-1.1.3.tar.bz2

View File

@@ -0,0 +1,75 @@
################################################################################
#
# alsa-lib
#
################################################################################
ALSA_LIB_VERSION = 1.1.3
ALSA_LIB_SOURCE = alsa-lib-$(ALSA_LIB_VERSION).tar.bz2
ALSA_LIB_SITE = ftp://ftp.alsa-project.org/pub/lib
ALSA_LIB_LICENSE = LGPLv2.1+ (library), GPLv2+ (aserver)
ALSA_LIB_LICENSE_FILES = COPYING aserver/COPYING
ALSA_LIB_INSTALL_STAGING = YES
ALSA_LIB_CFLAGS = $(TARGET_CFLAGS)
ALSA_LIB_AUTORECONF = YES
ALSA_LIB_CONF_OPTS = \
--with-alsa-devdir=$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_DEVDIR)) \
--with-pcm-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS))" \
--with-ctl-plugins="$(call qstrip,$(BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS))" \
--without-versioned
# Can't build with static & shared at the same time (1.0.25+)
ifeq ($(BR2_STATIC_LIBS),y)
ALSA_LIB_CONF_OPTS += \
--enable-shared=no \
--without-libdl
else
ALSA_LIB_CONF_OPTS += --enable-static=no
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_ALOAD),y)
ALSA_LIB_CONF_OPTS += --disable-aload
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_MIXER),y)
ALSA_LIB_CONF_OPTS += --disable-mixer
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_PCM),y)
ALSA_LIB_CONF_OPTS += --disable-pcm
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_RAWMIDI),y)
ALSA_LIB_CONF_OPTS += --disable-rawmidi
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_HWDEP),y)
ALSA_LIB_CONF_OPTS += --disable-hwdep
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_SEQ),y)
ALSA_LIB_CONF_OPTS += --disable-seq
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_ALISP),y)
ALSA_LIB_CONF_OPTS += --disable-alisp
endif
ifneq ($(BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS),y)
ALSA_LIB_CONF_OPTS += --disable-old-symbols
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB_PYTHON),y)
ALSA_LIB_CONF_OPTS += \
--with-pythonlibs=-lpython$(PYTHON_VERSION_MAJOR) \
--with-pythonincludes=$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)
ALSA_LIB_CFLAGS += -I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)
ALSA_LIB_DEPENDENCIES = python
else
ALSA_LIB_CONF_OPTS += --disable-python
endif
ifeq ($(BR2_bfin),y)
# blackfin external toolchains don't have versionsort. Fake it using alphasort
# instead
ALSA_LIB_CFLAGS += -Dversionsort=alphasort
endif
ALSA_LIB_CONF_ENV = \
CFLAGS="$(ALSA_LIB_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS) -lm"
$(eval $(autotools-package))

View File

@@ -0,0 +1,91 @@
comment "alsa-utils needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU # fork
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
menuconfig BR2_PACKAGE_ALSA_UTILS
bool "alsa-utils"
depends on BR2_USE_MMU # fork
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
depends on !BR2_STATIC_LIBS # uses dlfcn.h
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
help
This package contains the command line utilities for the ALSA
project.
http://www.alsa-project.org/
if BR2_PACKAGE_ALSA_UTILS
config BR2_PACKAGE_ALSA_UTILS_ALSACONF
bool "alsaconf"
config BR2_PACKAGE_ALSA_UTILS_ACONNECT
bool "aconnect"
select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_ALSACTL
bool "alsactl"
default y
config BR2_PACKAGE_ALSA_UTILS_ALSALOOP
bool "alsaloop"
config BR2_PACKAGE_ALSA_UTILS_ALSAMIXER
bool "alsamixer"
select BR2_PACKAGE_NCURSES
select BR2_PACKAGE_ALSA_LIB_MIXER
depends on BR2_USE_WCHAR
default y
comment "alsamixer needs a toolchain w/ wchar"
depends on !BR2_USE_WCHAR
config BR2_PACKAGE_ALSA_UTILS_ALSAUCM
bool "alsaucm"
config BR2_PACKAGE_ALSA_UTILS_ALSATPLG
bool "alsatplg"
config BR2_PACKAGE_ALSA_UTILS_AMIDI
bool "amidi"
select BR2_PACKAGE_ALSA_LIB_RAWMIDI
select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_AMIXER
bool "amixer"
select BR2_PACKAGE_ALSA_LIB_MIXER
config BR2_PACKAGE_ALSA_UTILS_APLAY
bool "aplay/arecord"
select BR2_PACKAGE_ALSA_LIB_PCM
config BR2_PACKAGE_ALSA_UTILS_APLAYMIDI
bool "aplaymidi"
select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI
bool "arecordmidi"
select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_ASEQDUMP
bool "aseqdump"
select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_ASEQNET
bool "aseqnet"
select BR2_PACKAGE_ALSA_LIB_SEQ
config BR2_PACKAGE_ALSA_UTILS_BAT
bool "bat"
select BR2_PACKAGE_FFTW
config BR2_PACKAGE_ALSA_UTILS_IECSET
bool "iecset"
select BR2_PACKAGE_ALSA_LIB_PCM
config BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST
bool "speaker-test"
select BR2_PACKAGE_ALSA_LIB_PCM
endif

View File

@@ -0,0 +1,2 @@
# Locally calculated
sha256 127217a54eea0f9a49700a2f239a2d4f5384aa094d68df04a8eb80132eb6167c alsa-utils-1.1.3.tar.bz2

View File

@@ -0,0 +1,87 @@
################################################################################
#
# alsa-utils
#
################################################################################
ALSA_UTILS_VERSION = 1.1.3
ALSA_UTILS_SOURCE = alsa-utils-$(ALSA_UTILS_VERSION).tar.bz2
ALSA_UTILS_SITE = ftp://ftp.alsa-project.org/pub/utils
ALSA_UTILS_LICENSE = GPLv2
ALSA_UTILS_LICENSE_FILES = COPYING
ALSA_UTILS_INSTALL_STAGING = YES
ALSA_UTILS_DEPENDENCIES = host-gettext host-pkgconf alsa-lib \
$(if $(BR2_PACKAGE_NCURSES),ncurses) \
$(if $(BR2_PACKAGE_LIBSAMPLERATE),libsamplerate)
# Regenerate aclocal.m4 to pick the patched
# version of alsa.m4 from alsa-lib
ALSA_UTILS_AUTORECONF = YES
ALSA_UTILS_GETTEXTIZE = YES
ALSA_UTILS_CONF_ENV = \
ac_cv_prog_ncurses5_config=$(STAGING_DIR)/usr/bin/$(NCURSES_CONFIG_SCRIPTS)
ALSA_UTILS_CONF_OPTS = \
--disable-xmlto \
--disable-rst2man \
--with-curses=$(if $(BR2_PACKAGE_NCURSES_WCHAR),ncursesw,ncurses)
ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
ALSA_UTILS_DEPENDENCIES += gettext
ALSA_UTILS_CONF_ENV += LIBS=-lintl
endif
ifeq ($(BR2_PACKAGE_ALSA_UTILS_ALSALOOP),y)
ALSA_UTILS_CONF_OPTS += --enable-alsaloop
else
ALSA_UTILS_CONF_OPTS += --disable-alsaloop
endif
ifneq ($(BR2_PACKAGE_ALSA_UTILS_ALSAMIXER),y)
ALSA_UTILS_CONF_OPTS += --disable-alsamixer --disable-alsatest
endif
ifeq ($(BR2_PACKAGE_ALSA_UTILS_BAT),y)
ALSA_UTILS_CONF_OPTS += --enable-bat
ALSA_UTILS_DEPENDENCIES += fftw
else
ALSA_UTILS_CONF_OPTS += --disable-bat
endif
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSACONF) += usr/sbin/alsaconf
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSACTL) += usr/sbin/alsactl
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSALOOP) += usr/bin/alsaloop
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSAMIXER) += usr/bin/alsamixer
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSATPLG) += usr/bin/alsatplg
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_AMIDI) += usr/bin/amidi
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_AMIXER) += usr/bin/amixer
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_APLAY) += usr/bin/aplay usr/bin/arecord
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_BAT) += usr/bin/alsabat
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_IECSET) += usr/bin/iecset
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ACONNECT) += usr/bin/aconnect
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ALSAUCM) += usr/bin/alsaucm
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_APLAYMIDI) += usr/bin/aplaymidi
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ARECORDMIDI) += usr/bin/arecordmidi
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ASEQDUMP) += usr/bin/aseqdump
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_ASEQNET) += usr/bin/aseqnet
ALSA_UTILS_TARGETS_$(BR2_PACKAGE_ALSA_UTILS_SPEAKER_TEST) += usr/bin/speaker-test
define ALSA_UTILS_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/var/lib/alsa
for i in $(ALSA_UTILS_TARGETS_y); do \
$(INSTALL) -D -m 755 $(STAGING_DIR)/$$i $(TARGET_DIR)/$$i || exit 1; \
done
if [ -x "$(TARGET_DIR)/usr/bin/speaker-test" ]; then \
mkdir -p $(TARGET_DIR)/usr/share/alsa/speaker-test; \
mkdir -p $(TARGET_DIR)/usr/share/sounds/alsa; \
cp -rdpf $(STAGING_DIR)/usr/share/alsa/speaker-test/* $(TARGET_DIR)/usr/share/alsa/speaker-test/; \
cp -rdpf $(STAGING_DIR)/usr/share/sounds/alsa/* $(TARGET_DIR)/usr/share/sounds/alsa/; \
fi
if [ -x "$(TARGET_DIR)/usr/sbin/alsactl" ]; then \
mkdir -p $(TARGET_DIR)/usr/share/; \
rm -rf $(TARGET_DIR)/usr/share/alsa/; \
cp -rdpf $(STAGING_DIR)/usr/share/alsa/ $(TARGET_DIR)/usr/share/alsa/; \
fi
endef
$(eval $(autotools-package))

View File

@@ -0,0 +1,40 @@
--- a/configure.in
+++ b/configure.in
@@ -11,7 +11,10 @@
AC_PROG_LN_S
dnl Checks for libraries.
-AC_CHECK_LIB(fltk,numericsort,,AC_MSG_ERROR("missing fltk"))
+AC_CHECK_LIB(fltk,numericsort,,
+AC_CHECK_LIB(fltk,fl_numericsort,,
+AC_MSG_ERROR("missing fltk"))
+)
AM_PATH_ALSA(0.9.0)
dnl Checks for header files.
--- a/src/alsamixer.cxx 2007-10-21 12:39:11.000000000 -0400
+++ b/src/alsamixer.cxx 2007-10-21 12:49:10.000000000 -0400
@@ -2081,8 +2081,8 @@ static void
mixer_signal_handler (int signal)
{
if (signal != SIGSEGV)
- mixer_abort (ERR_SIGNAL, sys_siglist[signal], 0);
- else
+ // mixer_abort (ERR_SIGNAL, sys_siglist[signal], 0);
+ //else
{
fprintf (stderr, "\nSegmentation fault.\n");
_exit (11);
--- a/src/alsamixer.cxx 2006-01-16 12:41:54.000000000 -0600
+++ b/src/alsamixer.cxx 2006-01-16 12:45:44.000000000 -0600
@@ -653,8 +653,8 @@
if (vleft >= 0 && vright >= 0) {
if (joined) {
#ifdef ALSAMIXER_GUI
- for (chn = snd_mixer_selem_channel_id_t(0); chn < SND_MIXER_SCHN_LAST;
- snd_mixer_selem_channel_id_t(int(chn)++))
+ for (chn = snd_mixer_selem_channel_id_t(0); chn < SND_MIXER_SCHN_LAST;
+ snd_mixer_selem_channel_id_t(int(chn)+1))
#else
for (chn = 0; chn < SND_MIXER_SCHN_LAST; chn++)
#endif

View File

@@ -0,0 +1,18 @@
config BR2_PACKAGE_ALSAMIXERGUI
depends on BR2_PACKAGE_XORG7
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_USE_MMU # fltk fork()
select BR2_PACKAGE_FLTK
select BR2_PACKAGE_ALSA_LIB
select BR2_PACKAGE_ALSA_LIB_PCM
select BR2_PACKAGE_ALSA_LIB_MIXER
depends on BR2_TOOLCHAIN_HAS_THREADS # alsa-lib
bool "alsamixergui"
help
A nice GUI mixer for Alsa using fltk
http://www.iua.upf.es/~mdeboer/projects/alsamixergui/
comment "alsamixergui needs a toolchain w/ C++, threads"
depends on BR2_PACKAGE_XORG7 && BR2_USE_MMU
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS

View File

@@ -0,0 +1,2 @@
# From http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/alsamixergui/alsamixergui_0.9.0rc2-1-9.dsc
md5 af942a41b81ba27e2e4d0a1e1ab0decb alsamixergui_0.9.0rc2-1.orig.tar.gz

View File

@@ -0,0 +1,19 @@
################################################################################
#
# alsamixergui
#
################################################################################
ALSAMIXERGUI_VERSION = 0.9.0rc2-1
ALSAMIXERGUI_SOURCE = alsamixergui_$(ALSAMIXERGUI_VERSION).orig.tar.gz
ALSAMIXERGUI_SITE = http://snapshot.debian.org/archive/debian/20141023T043132Z/pool/main/a/alsamixergui
ALSAMIXERGUI_AUTORECONF = YES
ALSAMIXERGUI_CONF_ENV = \
ac_cv_lib_fltk_numericsort=yes \
ac_cv_lib_fltk_fl_numericsort=yes \
ac_cv_lib_asound_snd_ctl_open=yes
ALSAMIXERGUI_DEPENDENCIES = fltk alsa-lib
$(eval $(autotools-package))

View File

@@ -0,0 +1,23 @@
Makefile: do not force the release build on install
If we did build any of the other targets, and are just interested
in those and not the release one, we still want to use the 'install'
rule, but not build (and install) the release libraries.
So, remove the dependency on the 'release' target from the 'install'
rule.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
diff -durN am335x-pru-package-506e074859891a2b350eb4f5fcb451c4961410ea.orig/pru_sw/app_loader/interface/Makefile am335x-pru-package-506e074859891a2b350eb4f5fcb451c4961410ea/pru_sw/app_loader/interface/Makefile
--- am335x-pru-package-506e074859891a2b350eb4f5fcb451c4961410ea.orig/pru_sw/app_loader/interface/Makefile 2014-08-18 00:24:36.000000000 +0200
+++ am335x-pru-package-506e074859891a2b350eb4f5fcb451c4961410ea/pru_sw/app_loader/interface/Makefile 2014-10-12 11:39:17.144682697 +0200
@@ -38,7 +38,7 @@
all: debug release sodebug sorelease
-install: release
+install:
install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
install -m 0755 -d $(DESTDIR)$(PREFIX)/include
install -m 0644 $(LIBDIR)/* $(DESTDIR)$(PREFIX)/lib

View File

@@ -0,0 +1,7 @@
config BR2_PACKAGE_AM335X_PRU_PACKAGE
bool "am335x-pru-package"
depends on BR2_arm # only relevant for TI am335x
help
TI AM335X PRU program loader
https://github.com/beagleboard/am335x_pru_package

View File

@@ -0,0 +1,2 @@
# Locally computed
sha256 2a902f825ccc1885c5dccd83e1ccee104aa30e601c9964a24f49459f76f674b9 am335x-pru-package-5f374ad57cc195f28bf5e585c3d446aba6ee7096.tar.gz

View File

@@ -0,0 +1,74 @@
################################################################################
#
# am335x-pru-package
#
################################################################################
AM335X_PRU_PACKAGE_VERSION = 5f374ad57cc195f28bf5e585c3d446aba6ee7096
AM335X_PRU_PACKAGE_SITE = $(call github,beagleboard,am335x_pru_package,$(AM335X_PRU_PACKAGE_VERSION))
AM335X_PRU_PACKAGE_LICENSE = BSD-3c
AM335X_PRU_PACKAGE_LICENSE_FILES = pru_sw/utils/LICENCE.txt
AM335X_PRU_PACKAGE_DEPENDENCIES = host-am335x-pru-package
AM335X_PRU_PACKAGE_INSTALL_STAGING = YES
# The default 'all' rule builds everything, when we just need the library
ifeq ($(BR2_ENABLE_DEBUG),y)
AM335X_MAKE_TARGET = debug $(if $(BR2_STATIC_LIBS),,sodebug)
else
AM335X_MAKE_TARGET = release $(if $(BR2_STATIC_LIBS),,sorelease)
endif
define AM335X_PRU_PACKAGE_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CROSS_COMPILE="$(TARGET_CROSS)" \
-C $(@D)/pru_sw/app_loader/interface $(AM335X_MAKE_TARGET)
endef
# 'install' installs whatever was built, and our patch removes the dependency
# on the release build, so we can use it to install whatever we built above.
define AM335X_PRU_PACKAGE_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) DESTDIR="$(STAGING_DIR)" PREFIX="/usr" \
-C $(@D)/pru_sw/app_loader/interface install
endef
define AM335X_PRU_PACKAGE_INSTALL_TARGET_CMDS
$(TARGET_MAKE_ENV) $(MAKE1) DESTDIR="$(TARGET_DIR)" PREFIX="/usr" \
-C $(@D)/pru_sw/app_loader/interface install
endef
# The debug libraries are named differently than the release ones,
# so we must provide a symlink to still be able to link with them.
ifeq ($(BR2_ENABLE_DEBUG),y)
define AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_STATIC
ln -sf libprussdrvd.a $(STAGING_DIR)/usr/lib/libprussdrv.a
endef
AM335X_PRU_PACKAGE_POST_INSTALL_STAGING_HOOKS += AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_STATIC
ifeq ($(BR2_STATIC_LIBS),)
define AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_SHARED
ln -sf libprussdrvd.so $(STAGING_DIR)/usr/lib/libprussdrv.so
endef
AM335X_PRU_PACKAGE_POST_INSTALL_STAGING_HOOKS += AM335X_PRU_PACKAGE_LN_DEBUG_STAGING_SHARED
define AM335X_PRU_PACKAGE_LN_DEBUG_TARGET
ln -sf libprussdrvd.so $(TARGET_DIR)/usr/lib/libprussdrv.so
endef
AM335X_PRU_PACKAGE_POST_INSTALL_TARGET_HOOKS += AM335X_PRU_PACKAGE_LN_DEBUG_TARGET
endif # !STATIC
endif # DEBUG
define HOST_AM335X_PRU_PACKAGE_BUILD_CMDS
cd $(@D)/pru_sw/utils/pasm_source; \
$(HOSTCC) -Wall -D_UNIX_ pasm.c pasmpp.c pasmexp.c pasmop.c \
pasmdot.c pasmstruct.c pasmmacro.c path_utils.c -o ../pasm
endef
define HOST_AM335X_PRU_PACKAGE_INSTALL_CMDS
$(INSTALL) -m 0755 -D $(@D)/pru_sw/utils/pasm $(HOST_DIR)/usr/bin/pasm
endef
$(eval $(generic-package))
$(eval $(host-generic-package))

View File

@@ -0,0 +1,30 @@
Enforce correct -march option
Buildroot uses a normal ARM compiler to build the AM33X CM3 firmware
(which runs on a Cortex-M3 processor), but Buildroot will have a
default -march value that doesn't necessarily match the one needed for
Cortex-M3, leading to build failures (gcc complains that the
-mcpu=cortex-m3 option being passed is not compatible with the
selected -march).
Fix this by explicitly indicating -march=armv7-m.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Updated the patch to the latest version of the Makefile
Signed-off-by: Anders Darander <anders@chargestorm.se>
Index: b/Makefile
===================================================================
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,7 @@ SRCDIR = src
BINDIR = bin
INCLUDES = $(SRCDIR)/include
-CFLAGS =-mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \
+CFLAGS =-march=armv7-m -mcpu=cortex-m3 -mthumb -nostdlib -Wall -Wundef \
-Werror-implicit-function-declaration -Wstrict-prototypes \
-Wdeclaration-after-statement -fno-delete-null-pointer-checks \
-Wempty-body -fno-strict-overflow -g -I$(INCLUDES) -O2

View File

@@ -0,0 +1,8 @@
config BR2_PACKAGE_AM33X_CM3
bool "am33x-cm3"
depends on BR2_arm # only relevant for TI am335x
depends on BR2_BINFMT_ELF # assumes the compiler builds ELF file
help
Cortex-M3 binary blob for suspend-resume on am335x
http://arago-project.org/git/projects/am33x-cm3.git

View File

@@ -0,0 +1,6 @@
#!/bin/sh
# Load the PM CM3 firmware
echo 1 > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading
cat /lib/firmware/am335x-pm-firmware.bin > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/data
echo 0 > /sys/devices/ocp.2/44d00000.wkup_m3/firmware/am335x-pm-firmware.bin/loading

View File

@@ -0,0 +1,31 @@
################################################################################
#
# am33x-cm3
#
################################################################################
# This should correpsond to v05.00.00.02
AM33X_CM3_VERSION = 11107db2f1e9e58ee75d4fe9cc38423c9a6e4365
AM33X_CM3_SITE = http://arago-project.org/git/projects/am33x-cm3.git
AM33X_CM3_SITE_METHOD = git
AM33X_CM3_LICENSE = TI Publicly Available Software License
AM33X_CM3_LICENSE_FILES = License.txt
# The build command below will use the standard cross-compiler (normally
# build for Cortex-A8, to build the FW for the Cortex-M3.
define AM33X_CM3_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) CC="$(TARGET_CC)" CROSS_COMPILE="$(TARGET_CROSS)" -C $(@D) all
endef
# Not all of the firmware files are used
define AM33X_CM3_INSTALL_TARGET_CMDS
$(INSTALL) -m 0644 -D $(@D)/bin/am335x-pm-firmware.bin \
$(TARGET_DIR)/lib/firmware/am335x-pm-firmware.bin
endef
define AM33X_CM3_INSTALL_INIT_SYSV
$(INSTALL) -m 0755 -D package/am33x-cm3/S93-am335x-pm-firmware-load \
$(TARGET_DIR)/etc/init.d/S93-am335x-pm-firmware-load
endef
$(eval $(generic-package))

View File

@@ -0,0 +1,45 @@
From c35482bc0cc56b40263b74c3e58e42be867fd9f2 Mon Sep 17 00:00:00 2001
From: Alberto Milone <alberto.milone@canonical.com>
Date: Thu, 17 Sep 2015 15:41:46 +0200
Subject: [PATCH] Add support for Linux 4.0
Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
---
common/lib/modules/fglrx/build_mod/firegl_public.c | 5 +++++
common/lib/modules/fglrx/build_mod/kcl_str.c | 4 ++++
2 files changed, 9 insertions(+)
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index 677565d..6017e89 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -285,6 +285,11 @@ MODULE_DEVICE_TABLE(pci, fglrx_pci_table);
MODULE_INFO(supported, "external");
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
+#define read_cr4() __read_cr4()
+#define write_cr4(cr4) __write_cr4(cr4)
+#endif
+
/* globals constants */
const char* KCL_SYSINFO_OsVersionString = UTS_RELEASE;
const unsigned int KCL_SYSINFO_PageSize = PAGE_SIZE;
diff --git a/common/lib/modules/fglrx/build_mod/kcl_str.c b/common/lib/modules/fglrx/build_mod/kcl_str.c
index 2d89eb0..bacdb69 100755
--- a/common/lib/modules/fglrx/build_mod/kcl_str.c
+++ b/common/lib/modules/fglrx/build_mod/kcl_str.c
@@ -42,6 +42,10 @@
#include "kcl_type.h"
#include "kcl_str.h"
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0)
+#define strnicmp strncasecmp
+#endif
+
/** \brief Fill memory with a constant byte
* \param s Pointer to memory
* \param c Initializing value
--
2.8.1

View File

@@ -0,0 +1,31 @@
From e9c8ccb4c8c842042542b792c51f9a7ec6c85e06 Mon Sep 17 00:00:00 2001
From: Alberto Milone <alberto.milone@canonical.com>
Date: Thu, 17 Sep 2015 15:44:59 +0200
Subject: [PATCH] Add support for Linux 4.1
Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
---
common/lib/modules/fglrx/build_mod/firegl_public.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index 6017e89..94778f1 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -3508,10 +3508,12 @@ int ATI_API_CALL KCL_InstallInterruptHandler(
KCL_PUB_InterruptHandlerWrap,
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
((useMSI) ? (SA_INTERRUPT) : (SA_SHIRQ)),
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0)
//when MSI enabled. keep irq disabled when calling the action handler,
//exclude this IRQ from irq balancing (only on one CPU)
((useMSI) ? (IRQF_DISABLED) : (IRQF_SHARED)),
+#else
+ ((useMSI) ? (0x0) : (IRQF_SHARED)),
#endif
dev_name,
context);
--
2.8.1

View File

@@ -0,0 +1,121 @@
From e2e6c2dac2a0311a022208dd289374b832538329 Mon Sep 17 00:00:00 2001
From: Alberto Milone <alberto.milone@canonical.com>
Date: Tue, 14 Jul 2015 12:56:37 +0200
Subject: [PATCH] Add support for Linux 4.2
Deal with the FPU code renaming
Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
---
common/lib/modules/fglrx/build_mod/firegl_public.c | 38 ++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index 94778f1..749ea51 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -191,9 +191,17 @@
#include <linux/string.h>
#include <linux/gfp.h>
#include <linux/swap.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
#include "asm/i387.h"
+#else
+#include <asm/fpu/api.h>
+#endif
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
#include <asm/fpu-internal.h>
+#else
+#include <asm/fpu/internal.h>
+#endif
#endif
#include "firegl_public.h"
@@ -1711,6 +1719,9 @@ void ATI_API_CALL KCL_SetCurrentProcessState(KCL_ENUM_ProcessState state)
#if defined(__i386__)
#ifndef __HAVE_ARCH_CMPXCHG
+#ifndef __xg
+#define __xg(x) ((volatile long *)(x))
+#endif
static inline
unsigned long __fgl_cmpxchg(volatile void *ptr, unsigned long old,
unsigned long new, int size)
@@ -1747,7 +1758,11 @@ unsigned long ATI_API_CALL kcl__cmpxchg(volatile void *ptr, unsigned long old,
unsigned long new, int size)
{
#ifndef __HAVE_ARCH_CMPXCHG
+#if defined(__i386__)
return __fgl_cmpxchg(ptr,old,new,size);
+#elif defined(__x86_64__)
+ return cmpxchg((unsigned long*)ptr,old,new);
+#endif
#else
/* On kernel version 2.6.34 passing a variable or unsupported size
* argument to the __cmpxchg macro causes the default-clause of a
@@ -6443,21 +6458,36 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
struct fpu *fpu = &tsk->thread.fpu;
if(static_cpu_has(X86_FEATURE_XSAVE)) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
fpu_xsave(fpu);
if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
+#else
+ copy_xregs_to_kernel(&fpu->state.xsave);
+ if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
+#endif
return 1;
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
fpu_fxsave(fpu);
+#else
+ copy_fxregs_to_kernel(fpu);
+#endif
} else {
asm volatile("fnsave %[fx]; fwait"
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
: [fx] "=m" (fpu->state->fsave));
+#else
+ : [fx] "=m" (fpu->state.fsave));
+#endif
return 0;
}
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
if (unlikely(fpu->state->fxsave.swd & X87_FSW_ES)) {
asm volatile("fnclex");
return 0;
}
+#endif
return 1;
}
#endif
@@ -6469,8 +6499,12 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
void ATI_API_CALL KCL_fpu_begin(void)
{
#ifdef CONFIG_X86_64
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
kernel_fpu_begin();
#else
+ __kernel_fpu_begin();
+#endif
+#else
#ifdef TS_USEDFPU
struct thread_info *cur_thread = current_thread_info();
struct task_struct *cur_task = get_current();
@@ -6515,7 +6549,11 @@ void ATI_API_CALL KCL_fpu_begin(void)
*/
void ATI_API_CALL KCL_fpu_end(void)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
kernel_fpu_end();
+#else
+ __kernel_fpu_end();
+#endif
}
/** Create new directory entry under "/proc/...."
--
2.8.1

View File

@@ -0,0 +1,33 @@
From 7120f00015570a2e4d9b6532731960d509c71cba Mon Sep 17 00:00:00 2001
From: Alberto Milone <alberto.milone@canonical.com>
Date: Thu, 17 Sep 2015 15:48:30 +0200
Subject: [PATCH] Use fpregs_active instead of has_fpu
This is for Linux 4.2
Thanks to Tim Gardner for the patch.
Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
---
common/lib/modules/fglrx/build_mod/firegl_public.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index 749ea51..4c1f9a5 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -6528,7 +6528,11 @@ void ATI_API_CALL KCL_fpu_begin(void)
/* The thread structure is changed with the commit below for kernel 3.3:
* https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8
*/
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
+ if (cur_task->thread.fpu.fpregs_active)
+#else
if (cur_task->thread.fpu.has_fpu)
+#endif
#else
if (cur_task->thread.has_fpu)
#endif
--
2.8.1

View File

@@ -0,0 +1,79 @@
From eb703737be5c91c1a0817351db8ec152c523c85d Mon Sep 17 00:00:00 2001
From: Alberto Milone <alberto.milone@canonical.com>
Date: Thu, 17 Sep 2015 15:49:46 +0200
Subject: [PATCH] Use a local copy of copy_xregs_to_kernel
This is needed for Linux 4.2.
Thanks to Tim Gardner for the patch.
Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
---
common/lib/modules/fglrx/build_mod/firegl_public.c | 44 +++++++++++++++++++++-
1 file changed, 43 insertions(+), 1 deletion(-)
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index 4c1f9a5..bb67bba 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -6443,6 +6443,48 @@ int ATI_API_CALL kcl_sscanf(const char * buf, const char * fmt, ...)
return i;
}
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
+/*
+ * Save processor xstate to xsave area.
+ */
+static void _copy_xregs_to_kernel(struct xregs_state *xstate)
+{
+ u64 mask = -1;
+ u32 lmask = mask;
+ u32 hmask = mask >> 32;
+ int err = 0;
+
+ /*WARN_ON(!alternatives_patched);*/
+
+ /*
+ * If xsaves is enabled, xsaves replaces xsaveopt because
+ * it supports compact format and supervisor states in addition to
+ * modified optimization in xsaveopt.
+ *
+ * Otherwise, if xsaveopt is enabled, xsaveopt replaces xsave
+ * because xsaveopt supports modified optimization which is not
+ * supported by xsave.
+ *
+ * If none of xsaves and xsaveopt is enabled, use xsave.
+ */
+ alternative_input_2(
+ "1:"XSAVE,
+ XSAVEOPT,
+ X86_FEATURE_XSAVEOPT,
+ XSAVES,
+ X86_FEATURE_XSAVES,
+ [xstate] "D" (xstate), "a" (lmask), "d" (hmask) :
+ "memory");
+ asm volatile("2:\n\t"
+ xstate_fault(err)
+ : "0" (err)
+ : "memory");
+
+ /* We should never fault when copying to a kernel buffer: */
+ WARN_ON_FPU(err);
+}
+#endif
+
/** \brief Generate UUID
* \param buf pointer to the generated UUID
* \return None
@@ -6462,7 +6504,7 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
fpu_xsave(fpu);
if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
#else
- copy_xregs_to_kernel(&fpu->state.xsave);
+ _copy_xregs_to_kernel(&fpu->state.xsave);
if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
#endif
return 1;
--
2.8.1

View File

@@ -0,0 +1,78 @@
From 54b230e26a1889c08507e791ab043f8a4b4ff771 Mon Sep 17 00:00:00 2001
From: Romain Perier <romain.perier@free-electrons.com>
Date: Thu, 7 Jul 2016 14:40:53 +0200
Subject: [PATCH] Add support for Linux 4.4
It fixes various things like the use of seq_printf because its API
changed. It also replaces the call to mtrr_add and mtrr_del by
arch_phys_wc_add and arch_phys_wc_del because these symbols are
no longer exported for Linux >= 4.3.x.
Signed-off-by: Romain Perier <romain.perier@free-electrons.com>
---
common/lib/modules/fglrx/build_mod/firegl_public.c | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c b/common/lib/modules/fglrx/build_mod/firegl_public.c
index bb67bba..b4b2d30 100755
--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
+++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
@@ -636,9 +636,16 @@ static int firegl_major_proc_read(struct seq_file *m, void* data)
len = snprintf(buf, request, "%d\n", major);
#else
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
+ seq_printf(m, "%d\n", major);
+ len = 0;
+#else
len = seq_printf(m, "%d\n", major);
#endif
+#endif
+
KCL_DEBUG1(FN_FIREGL_PROC, "return len=%i\n",len);
return len;
@@ -3432,7 +3439,11 @@ int ATI_API_CALL KCL_MEM_MTRR_Support(void)
int ATI_API_CALL KCL_MEM_MTRR_AddRegionWc(unsigned long base, unsigned long size)
{
#ifdef CONFIG_MTRR
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
+ return arch_phys_wc_add(base, size);
+#else
return mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
+#endif
#else /* !CONFIG_MTRR */
return -EPERM;
#endif /* !CONFIG_MTRR */
@@ -3441,7 +3452,12 @@ int ATI_API_CALL KCL_MEM_MTRR_AddRegionWc(unsigned long base, unsigned long size
int ATI_API_CALL KCL_MEM_MTRR_DeleteRegion(int reg, unsigned long base, unsigned long size)
{
#ifdef CONFIG_MTRR
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
+ arch_phys_wc_del(reg);
+ return 0;
+#else
return mtrr_del(reg, base, size);
+#endif
#else /* !CONFIG_MTRR */
return -EPERM;
#endif /* !CONFIG_MTRR */
@@ -6505,8 +6521,13 @@ static int KCL_fpu_save_init(struct task_struct *tsk)
if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
#else
_copy_xregs_to_kernel(&fpu->state.xsave);
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)
+ if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP))
+#else
if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
#endif
+
+#endif
return 1;
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
--
2.8.1

Some files were not shown because too many files have changed in this diff Show More