diff options
author | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-10-05 21:30:33 +0000 |
---|---|---|
committer | nico <nico@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2005-10-05 21:30:33 +0000 |
commit | 2ed13d21844b870df5c5bee201aec6a7ab5ddbce (patch) | |
tree | 6c1342225e2eec6a79ae0b80c76fc94497c4e41a /openwrt/toolchain | |
parent | 47cc81f825bdd7f7ddf1633b63c57fb499304839 (diff) |
add libmissing (implementing functions missing from uClibc)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2055 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/toolchain')
-rw-r--r-- | openwrt/toolchain/Makefile | 2 | ||||
-rw-r--r-- | openwrt/toolchain/libmissing/Makefile | 30 | ||||
-rw-r--r-- | openwrt/toolchain/libmissing/files/math.c | 35 |
3 files changed, 66 insertions, 1 deletions
diff --git a/openwrt/toolchain/Makefile b/openwrt/toolchain/Makefile index 2b1358b123..c56f263bcc 100644 --- a/openwrt/toolchain/Makefile +++ b/openwrt/toolchain/Makefile @@ -1,6 +1,6 @@ # Main makefile for the toolchain include $(TOPDIR)/rules.mk -TARGETS:=sed utils binutils gcc uClibc ipkg-utils gdb +TARGETS:=sed utils binutils gcc uClibc ipkg-utils gdb libmissing TARGETS_INSTALL:=$(patsubst %,%-install,$(TARGETS)) TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS)) diff --git a/openwrt/toolchain/libmissing/Makefile b/openwrt/toolchain/libmissing/Makefile new file mode 100644 index 0000000000..bd3749dfb0 --- /dev/null +++ b/openwrt/toolchain/libmissing/Makefile @@ -0,0 +1,30 @@ +include $(TOPDIR)/rules.mk + +LIBMISSING_DIR:=$(TOOL_BUILD_DIR)/libmissing + +LIBMISSING_SRCS+=./files/math.c +LIBMISSING_OBJS:=$(patsubst ./files/%.c,$(LIBMISSING_DIR)/%.o,$(LIBMISSING_SRCS)) + +$(LIBMISSING_DIR)/.prepared: + mkdir -p $(LIBMISSING_DIR) + touch $@ + +$(LIBMISSING_OBJS): $(LIBMISSING_DIR)/%.o : ./files/%.c + $(TARGET_CC) $(TARGET_CFLAGS) -c $< -o $@ + +$(LIBMISSING_DIR)/libmissing.a: $(LIBMISSING_OBJS) + $(TARGET_CROSS)ar rc $(LIBMISSING_DIR)/libmissing.a $(LIBMISSING_OBJS) + +$(STAGING_DIR)/usr/lib/libmissing.a: $(LIBMISSING_DIR)/libmissing.a + mkdir -p $(STAGING_DIR)/usr/lib + cp -fpR $< $@ + touch -c $@ + +source: +prepare: $(LIBMISSING_DIR)/.prepared +compile: $(LIBMISSING_DIR)/libmissing.a +install: $(STAGING_DIR)/usr/lib/libmissing.a +clean: + rm -rf \ + $(STAGING_DIR)/usr/lib/libmissing.a \ + $(LIBMISSING_DIR) \ diff --git a/openwrt/toolchain/libmissing/files/math.c b/openwrt/toolchain/libmissing/files/math.c new file mode 100644 index 0000000000..cc8a661ac5 --- /dev/null +++ b/openwrt/toolchain/libmissing/files/math.c @@ -0,0 +1,35 @@ +/* vi: set sw=4 ts=4: */ + +/* cosf for uClibc + * + * wrapper for cos(x) + */ + +#include "math.h" + +#ifdef __STDC__ + float cosf(float x) /* wrapper cos */ +#else + float cosf(x) /* wrapper cos */ + float x; +#endif +{ + return (float) cos( (double)x ); +} + +/* sinf for uClibc + * + * wrapper for sin(x) + */ + +#include "math.h" + +#ifdef __STDC__ + float sinf(float x) /* wrapper sin */ +#else + float sinf(x) /* wrapper sin */ + float x; +#endif +{ + return (float) sin( (double)x ); +} |