add libmissing (implementing functions missing from uClibc)

SVN-Revision: 2055
master
Nicolas Thill 19 years ago
parent 63b620b6f4
commit 68087bf0e5
  1. 2
      openwrt/toolchain/Makefile
  2. 30
      openwrt/toolchain/libmissing/Makefile
  3. 35
      openwrt/toolchain/libmissing/files/math.c

@ -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))

@ -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) \

@ -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…
Cancel
Save