Turn modified fdlibm into Jerry's own libm

* Rename modified fdlibm to jerry-libm
  * Move third-party/fdlibm to jerry-libm
  * Rename original fdlibm.h to jerry-libm-internal.h
    * And remove it from the public headers.
  * Rename jerry-libm's public header to math.h
    * This also makes jerry-core sources include `<math.h>`. Therefore,
      should anyone want to use a different libm implementation with
      jerry, it becomes possible. (The same way as we provide a minimal
      libc with standard headers, but should it be insufficient or
      conflicting for someone, it can be replaced.)
  * Drop `s_` prefix from jerry-libm sources
    * The original fdlibm implementation had various prefixes (e.g., `k_`
      for sources of kernel routines, and `w_` for wrapper routines), but
      after the specialization of fdlibm to jerry, only `s_` remained.
      Since it does not encode anything anymore, it can be dropped.
  * Stylistic edits to jerry-libm's CMakeLists
    * Align project name with other CMakeLists in the code base
  * Move Jerry-LibM under Apache License
    * Using the same approach as was used by linux-wireless when ath5k
      driver license needed clarification. Solution was proposed by SFLC.
      External mail for future reference: http://lwn.net/Articles/247806/

* Tests & checks
  * Remove FD from the name of libm unit test-related files
  * Make vera++ and cppcheck check jerry-libm

* Targets
  * Speculative update of targets to use jerry-libm

JerryScript-DCO-1.0-Signed-off-by: Akos Kiss akiss@inf.u-szeged.hu
This commit is contained in:
Akos Kiss
2016-04-06 18:02:44 +02:00
parent 45c89fef28
commit 3ba286f3e1
48 changed files with 686 additions and 426 deletions
+2 -2
View File
@@ -16,7 +16,7 @@
CC=gcc
LDFLAGS=-lm
GENS=gen-test-fdlibm
GENS=gen-test-libm
.PHONY: build
build: $(GENS)
@@ -25,5 +25,5 @@ build: $(GENS)
clean:
rm -f $(GENS)
gen-test-fdlibm: gen-test-fdlibm.c
gen-test-libm: gen-test-libm.c
$(CC) $< -o $@ $(LDFLAGS)
@@ -15,13 +15,13 @@
*/
/*
* Unit test generator for fdlibm.
* Unit test generator for jerry-libm.
* To be compiled separately from the rest of jerry and to be linked to a trusted libm.
* Its output should be redirected to test-fdlibm.inc.h.
* Its output should be redirected to test-libm.inc.h.
*
* Example:
* gcc gen-test-fdlibm.c -o gen-test-fdlibm -lm
* ./gen-test-fdlibm >test-fdlibm.inc.h
* gcc gen-test-libm.c -o gen-test-libm -lm
* ./gen-test-libm >test-libm.inc.h
*/
#include <math.h>
@@ -34,7 +34,7 @@ int
main (int argc, char **args)
{
printf ("/*\n"
" * Generated by tools/gen-test-fdlibm.sh\n"
" * Generated by tools/gen-test-libm.sh\n"
" * DO NOT EDIT!!!\n"
" */\n");
@@ -211,7 +211,7 @@ main (int argc, char **args)
GEN_DBL_TEST (ceil (-7.37e+19));
/* copysign tests */
/* SKIPPED: not declared in fdlibm-math.h
/* SKIPPED: not publicly declared in jerry-libm
GEN_DBL_TEST (copysign (0.0, 0.0));
GEN_DBL_TEST (copysign (0.0, -0.0));
GEN_DBL_TEST (copysign (-0.0, 0.0));
@@ -314,7 +314,7 @@ main (int argc, char **args)
GEN_DBL_TEST (fabs (-7.37e+19));
/* finite tests */
/* SKIPPED: not declared in fdlibm-math.h
/* SKIPPED: not publicly declared in jerry-libm
GEN_INT_TEST (finite (0.0));
GEN_INT_TEST (finite (-0.0));
GEN_INT_TEST (finite (1.0));
@@ -553,7 +553,7 @@ main (int argc, char **args)
GEN_DBL_TEST (pow (0.7, 1.2));
/* scalbn tests */
/* SKIPPED: not declared in fdlibm-math.h
/* SKIPPED: not publicly declared in jerry-libm
GEN_DBL_TEST (scalbn (0.0, 0));
GEN_DBL_TEST (scalbn (-0.0, 0));
GEN_DBL_TEST (scalbn (0.0, 1));