From ce7ae15a98646cd334c1301f58eb20955f4c3ecf Mon Sep 17 00:00:00 2001 From: Anton Glukhov Date: Sat, 26 Sep 2015 04:50:40 +0300 Subject: [PATCH] Canfestival library: add new package Signed-off-by: Anton Glukhov --- libs/libcanfestival/Makefile | 68 +++++++++++++++++++ .../patches/001-sigval-ref-fix.patch | 11 +++ .../patches/002-makefile-gcc-linker.patch | 33 +++++++++ 3 files changed, 112 insertions(+) create mode 100644 libs/libcanfestival/Makefile create mode 100644 libs/libcanfestival/patches/001-sigval-ref-fix.patch create mode 100644 libs/libcanfestival/patches/002-makefile-gcc-linker.patch diff --git a/libs/libcanfestival/Makefile b/libs/libcanfestival/Makefile new file mode 100644 index 000000000..6d9ce49ea --- /dev/null +++ b/libs/libcanfestival/Makefile @@ -0,0 +1,68 @@ +# +# Copyright (C) 2015 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=libcanfestival +PKG_RELEASE:=1 + +PKG_SOURCE_PROTO:=hg +PKG_SOURCE_URL:=http://dev.automforge.net/CanFestival-3 +PKG_SOURCE_SUBDIR:=$(PKG_NAME) +PKG_SOURCE_VERSION:=8bfe0ac00cdb +PKG_SOURCE:=$(PKG_NAME)-$(PKG_SOURCE_VERSION).tar.bz2 + +PKG_MAINTAINER:=Anton Glukhov +PKG_LICENSE:=LGPL-2.1+ +PKG_LICENSE_FILE:=LICENCE + +PKG_FIXUP:=autoreconf +PKG_INSTALL:=1 + +include $(INCLUDE_DIR)/package.mk + +define Package/libcanfestival + SECTION:=libs + CATEGORY:=Libraries + TITLE:=Free software CANopen library + URL:=http://canfestival.org + DEPENDS:=+libpthread +librt +endef + +define Package/libcanfestival/description + CanFestival library +endef + +TARGET_CFLAGS += $(FPIC) + +CONFIGURE_ARGS := \ + --cc=$(TARGET_CC) \ + --cxx=$(TARGET_CXX) \ + --ld=$(TARGET_CC) \ + --arch=$(ARCH) \ + --os=Linux \ + --kerneldir=$(LINUX_DIR) \ + --prefix=/usr \ + --target=unix \ + --can=socket \ + --timers=unix \ + --debug=ERR \ + +define Build/InstallDev + $(INSTALL_DIR) $(1)/usr/include + $(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include/ + + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/* $(1)/usr/lib/ +endef + +define Package/libcanfestival/install + $(INSTALL_DIR) $(1)/usr/lib + $(CP) $(PKG_INSTALL_DIR)/usr/lib/libcanfestival_can_socket.so $(1)/usr/lib/ +endef + +$(eval $(call BuildPackage,libcanfestival)) diff --git a/libs/libcanfestival/patches/001-sigval-ref-fix.patch b/libs/libcanfestival/patches/001-sigval-ref-fix.patch new file mode 100644 index 000000000..7e15ff167 --- /dev/null +++ b/libs/libcanfestival/patches/001-sigval-ref-fix.patch @@ -0,0 +1,11 @@ +--- a/drivers/timers_unix/timers_unix.c ++++ b/drivers/timers_unix/timers_unix.c +@@ -33,7 +33,7 @@ + } + } + +-void timer_notify(sigval_t val) ++void timer_notify(void) + { + if(gettimeofday(&last_sig,NULL)) { + perror("gettimeofday()"); diff --git a/libs/libcanfestival/patches/002-makefile-gcc-linker.patch b/libs/libcanfestival/patches/002-makefile-gcc-linker.patch new file mode 100644 index 000000000..129743f08 --- /dev/null +++ b/libs/libcanfestival/patches/002-makefile-gcc-linker.patch @@ -0,0 +1,33 @@ +--- a/examples/TestMasterMicroMod/Makefile.in ++++ b/examples/TestMasterMicroMod/Makefile.in +@@ -56,7 +56,7 @@ + + + $(TESTMASTERMICROMOD): $(OBJS) +- $(LD) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS) ++ $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS) + + + TestMaster.c: TestMaster.od +--- a/examples/TestMasterSlave/Makefile.in ++++ b/examples/TestMasterSlave/Makefile.in +@@ -65,7 +65,7 @@ + + + $(TESTMASTERSLAVE): $(OBJS) +- $(LD) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS) ++ $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS) + + TestSlave.c: TestSlave.od + $(MAKE) -C ../../objdictgen gnosis +--- a/examples/CANOpenShell/Makefile.in ++++ b/examples/CANOpenShell/Makefile.in +@@ -64,7 +64,7 @@ + $(MAKE) -C ../../drivers/$(TARGET) libcanfestival_$(TARGET).a + + $(CANOPENSHELL): $(OBJS) +- $(LD) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS) ++ $(CC) $(CFLAGS) $(PROG_CFLAGS) ${PROGDEFINES} $(INCLUDES) -o $@ $(OBJS) $(EXE_CFLAGS) + mkdir -p Debug; cp $(CANOPENSHELL) Debug + + CANOpenShellMasterOD.c: CANOpenShellMasterOD.od