add libmissing (implementing functions missing from uClibc)
SVN-Revision: 2055
This commit is contained in:
parent
63b620b6f4
commit
68087bf0e5
3 changed files with 66 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
||||||
# Main makefile for the toolchain
|
# Main makefile for the toolchain
|
||||||
include $(TOPDIR)/rules.mk
|
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_INSTALL:=$(patsubst %,%-install,$(TARGETS))
|
||||||
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
|
TARGETS_CLEAN:=$(patsubst %,%-clean,$(TARGETS))
|
||||||
|
|
30
openwrt/toolchain/libmissing/Makefile
Normal file
30
openwrt/toolchain/libmissing/Makefile
Normal file
|
@ -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) \
|
35
openwrt/toolchain/libmissing/files/math.c
Normal file
35
openwrt/toolchain/libmissing/files/math.c
Normal file
|
@ -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 );
|
||||||
|
}
|
Loading…
Reference in a new issue