Skip to content

Commit

Permalink
sparse: add as a new package selectable from the config
Browse files Browse the repository at this point in the history
This change does multiple things, all related to enable sparse usage as
a static analysis tool selectable from the OpenWrt configuration:
*add a KERNEL_SPARSE option in the config to add sparse to the kernel
 build (through the C=1 option usage)
*add sparse as a new host tools. It will get selected automatically when
 the above option will be enabled

Signed-off-by: Mathieu Olivari <[email protected]>

SVN-Revision: 40490
  • Loading branch information
John Crispin committed Apr 12, 2014
1 parent 72803e0 commit 7613300
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 0 deletions.
4 changes: 4 additions & 0 deletions config/Config-kernel.in
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,10 @@ config USE_RFKILL
bool "Enable rfkill support"
default RFKILL_SUPPORT

config USE_SPARSE
bool "Enable sparse check during kernel build"
default n

#
# CGROUP support symbols
#
Expand Down
4 changes: 4 additions & 0 deletions include/kernel-defaults.mk
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,10 @@ ifneq (,$(KERNEL_CC))
KERNEL_MAKEOPTS += CC="$(KERNEL_CC)"
endif

ifdef CONFIG_USE_SPARSE
KERNEL_MAKEOPTS += C=1 CHECK=$(STAGING_DIR_HOST)/bin/sparse
endif

export HOST_EXTRACFLAGS=-I$(STAGING_DIR_HOST)/include

# defined in quilt.mk
Expand Down
1 change: 1 addition & 0 deletions tools/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ tools-$(CONFIG_TARGET_ar71xx) += lzma-old squashfs
tools-y += lzma squashfs4
tools-$(BUILD_B43_TOOLS) += b43-tools
tools-$(BUILD_PPL_CLOOG) += ppl cloog
tools-$(CONFIG_USE_SPARSE) += sparse

# builddir dependencies
$(curdir)/bison/compile := $(curdir)/flex/install
Expand Down
22 changes: 22 additions & 0 deletions tools/sparse/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#
# Copyright (C) 2014 Qualcomm-Atheros Inc.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=sparse
PKG_VERSION:=0.5.0

PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/software/devel/sparse/dist/
PKG_MD5SUM:=68bc834c57836251fbee55a7707bab39

PKG_BUILD_PARALLEL:=1

include $(INCLUDE_DIR)/host-build.mk

define Host/Install
$(INSTALL_BIN) $(HOST_BUILD_DIR)/sparse $(STAGING_DIR_HOST)/bin
endef

$(eval $(call HostBuild))

0 comments on commit 7613300

Please sign in to comment.