summaryrefslogtreecommitdiffstats
path: root/package/ltq-ifxos
diff options
context:
space:
mode:
Diffstat (limited to 'package/ltq-ifxos')
-rw-r--r--package/ltq-ifxos/Makefile49
-rw-r--r--package/ltq-ifxos/patches/100-portability.patch37
-rw-r--r--package/ltq-ifxos/patches/110-fix-2.6.32-wakeup.patch12
3 files changed, 98 insertions, 0 deletions
diff --git a/package/ltq-ifxos/Makefile b/package/ltq-ifxos/Makefile
new file mode 100644
index 000000000..518c90fd6
--- /dev/null
+++ b/package/ltq-ifxos/Makefile
@@ -0,0 +1,49 @@
+#
+# Copyright (C) 2009-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=lib_ifxos
+PKG_VERSION:=1.5.12
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_RELEASE:=2
+PKG_SOURCE_URL:=http://mirror2.openwrt.org/sources
+PKG_MD5SUM:=ba775356bdd5e1b73b3e11a152710ed6
+
+include $(INCLUDE_DIR)/package.mk
+
+define KernelPackage/ltq-ifxos
+ SUBMENU:=Voice over IP
+ TITLE:=Lantiq OS abstraction library
+ URL:=http://www.lantiq.com/
+ MAINTAINER:=Lantiq
+ DEPENDS:=@TARGET_lantiq
+ FILES:=$(PKG_BUILD_DIR)/src/drv_ifxos.ko
+ AUTOLOAD:=$(call AutoLoad,10,drv_ifxos)
+endef
+
+CONFIGURE_ARGS += \
+ ARCH=$(LINUX_KARCH) \
+ --enable-linux-26 \
+ --enable-kernelbuild="$(LINUX_DIR)" \
+ --enable-kernelincl="$(LINUX_DIR)/include" \
+ --enable-add_drv_cflags="-fno-pic -mno-abicalls -mlong-calls -G 0"
+
+define Build/Configure
+ (cd $(PKG_BUILD_DIR); aclocal && autoconf && automake)
+ $(call Build/Configure/Default)
+endef
+
+define Build/InstallDev
+ $(INSTALL_DIR) $(1)/usr/{lib,include/ifxos}
+ $(CP) $(PKG_BUILD_DIR)/src/include/* $(1)/usr/include/ifxos
+ mkdir -p $(1)/usr/lib
+ $(CP) $(PKG_BUILD_DIR)/src/libifxos.a $(1)/usr/lib/libifxos.a
+endef
+
+$(eval $(call KernelPackage,ltq-ifxos))
diff --git a/package/ltq-ifxos/patches/100-portability.patch b/package/ltq-ifxos/patches/100-portability.patch
new file mode 100644
index 000000000..1316888d6
--- /dev/null
+++ b/package/ltq-ifxos/patches/100-portability.patch
@@ -0,0 +1,37 @@
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -639,7 +639,7 @@ if KERNEL_2_6
+ drv_ifxos_OBJS = "$(subst .c,.o,$(filter %.c,$(drv_ifxos_SOURCES)))"
+
+ drv_ifxos.ko: $(drv_ifxos_SOURCES)
+- @echo -e "drv_ifxos: Making Linux 2.6.x kernel object"
++ @echo "drv_ifxos: Making Linux 2.6.x kernel object"
+ if test ! -e common/ifxos_debug.c ; then \
+ echo "copy source files (as links only!)"; \
+ for f in $(filter %.c,$(drv_ifxos_SOURCES)); do \
+@@ -647,10 +647,10 @@ drv_ifxos.ko: $(drv_ifxos_SOURCES)
+ cp -s $(addprefix @abs_srcdir@/,$$f) $(PWD)/`dirname $$f`/ ; \
+ done \
+ fi
+- @echo -e "# drv_ifxos: Generated to build Linux 2.6.x kernel object" > $(PWD)/Kbuild
+- @echo -e "obj-m := $(subst .ko,.o,$@)" >> $(PWD)/Kbuild
+- @echo -e "$(subst .ko,,$@)-y := $(drv_ifxos_OBJS)" >> $(PWD)/Kbuild
+- @echo -e "EXTRA_CFLAGS := $(CFLAGS) -DHAVE_CONFIG_H $(drv_ifxos_CFLAGS) $(DSL_DRIVER_INCL_PATH) -I@abs_srcdir@/include -I$(PWD)/include" >> $(PWD)/Kbuild
++ @echo "# drv_ifxos: Generated to build Linux 2.6.x kernel object" > $(PWD)/Kbuild
++ @echo "obj-m := $(subst .ko,.o,$@)" >> $(PWD)/Kbuild
++ @echo "$(subst .ko,,$@)-y := $(drv_ifxos_OBJS)" >> $(PWD)/Kbuild
++ @echo "EXTRA_CFLAGS := $(CFLAGS) -DHAVE_CONFIG_H $(drv_ifxos_CFLAGS) $(DSL_DRIVER_INCL_PATH) -I@abs_srcdir@/include -I$(PWD)/include" >> $(PWD)/Kbuild
+ $(MAKE) ARCH=@KERNEL_ARCH@ -C @KERNEL_BUILD_PATH@ O=@KERNEL_BUILD_PATH@ M=$(PWD) modules
+
+ clean-generic:
+--- a/configure.in
++++ b/configure.in
+@@ -64,7 +64,7 @@ dnl Set kernel build path
+ AC_ARG_ENABLE(kernelbuild,
+ AS_HELP_STRING(--enable-kernelbuild=x,Set the target kernel build path (only for kernel 2.6.x)),
+ [
+- if test -e $enableval/include/linux/autoconf.h; then
++ if test -e $enableval/include/linux/autoconf.h -o -e $enableval/include/generated/autoconf.h; then
+ AC_SUBST([KERNEL_BUILD_PATH],[$enableval])
+ else
+ AC_MSG_ERROR([The kernel build directory is not valid or not configured!])
diff --git a/package/ltq-ifxos/patches/110-fix-2.6.32-wakeup.patch b/package/ltq-ifxos/patches/110-fix-2.6.32-wakeup.patch
new file mode 100644
index 000000000..da0bbd323
--- /dev/null
+++ b/package/ltq-ifxos/patches/110-fix-2.6.32-wakeup.patch
@@ -0,0 +1,12 @@
+Index: lib_ifxos-1.5.12/src/linux/ifxos_linux_select_drv.c
+===================================================================
+--- lib_ifxos-1.5.12.orig/src/linux/ifxos_linux_select_drv.c 2010-04-24 11:33:55.000000000 +0200
++++ lib_ifxos-1.5.12/src/linux/ifxos_linux_select_drv.c 2010-04-24 11:34:21.000000000 +0200
+@@ -33,6 +33,7 @@
+ #include <linux/fs.h>
+ #include <linux/wait.h>
+ #include <linux/poll.h>
++#include <linux/sched.h>
+
+ #include "ifx_types.h"
+ #include "ifxos_rt_if_check.h"