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:
@@ -1,4 +1,4 @@
|
||||
# Copyright 2015 Samsung Electronics Co., Ltd.
|
||||
# Copyright 2015-2016 Samsung Electronics Co., Ltd.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -86,7 +86,7 @@ LINKFLAGS_eagle.app.v6 = \
|
||||
-L./libs \
|
||||
-ljerrycore \
|
||||
-ljerryentry \
|
||||
-lfdlibm \
|
||||
-ljerrylibm \
|
||||
$(DEP_LIBS_eagle.app.v6) \
|
||||
./libs/lib_a-setjmp.o \
|
||||
-Wl,--end-group
|
||||
@@ -96,7 +96,7 @@ DEPENDS_eagle.app.v6 = \
|
||||
$(LD_FILE) \
|
||||
$(LDDIR)/eagle.rom.addr.v6.ld \
|
||||
./source/jerry_targetjs.h \
|
||||
./libs/libfdlibm.a \
|
||||
./libs/libjerrylibm.a \
|
||||
./libs/libjerrycore.a \
|
||||
./libs/libjerryentry.a
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2015 Samsung Electronics Co., Ltd.
|
||||
# Copyright 2015-2016 Samsung Electronics Co., Ltd.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -74,8 +74,7 @@ jerry:
|
||||
make -C $(INTERM) $(TYPE).external
|
||||
cp `cat $(INTERM)/$(TYPE).external/list` $(OUTPUT)/.
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-core.a $(COPYTARGET)/libjerrycore.a
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-fdlibm.third_party.lib.a \
|
||||
$(COPYTARGET)/libfdlibm.a
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-libm.lib.a $(COPYTARGET)/libjerrylibm.a
|
||||
cp $(INTERM)/lib$(TYPE).external-entry.a $(OUTPUT)/.
|
||||
cp $(OUTPUT)/lib$(TYPE).external-entry.a $(COPYTARGET)/libjerryentry.a
|
||||
|
||||
|
||||
@@ -23,7 +23,7 @@ index caf8e32..dadaceb 100644
|
||||
+ _jerry_text_start = ABSOLUTE(.);
|
||||
+ *\libjerryentry.a:*(.text*)
|
||||
+ *\libjerrycore.a:*(.text*)
|
||||
+ *\libfdlibm.a:*(.text*)
|
||||
+ *\libjerrylibm.a:*(.text*)
|
||||
+ _jerry_text_end = ABSOLUTE(.);
|
||||
+
|
||||
+ } >irom0_0_seg :irom0_0_phdr
|
||||
|
||||
@@ -51,7 +51,7 @@ jerry:
|
||||
make -C $(INTERM) $(TYPE).external
|
||||
cp `cat $(INTERM)/$(TYPE).external/list` $(OUTPUT)/.
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-core.a $(COPYTARGET)/libjerrycore.a
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-fdlibm.third_party.lib.a $(COPYTARGET)/libfdlibm.a
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-libm.lib.a $(COPYTARGET)/libjerrylibm.a
|
||||
|
||||
|
||||
js2c:
|
||||
|
||||
@@ -24,7 +24,7 @@ make -f targets/mbedk64f/Makefile.mbedk64f jerry
|
||||
|
||||
Two files will be generated at `targets/mbedk64f/libjerry`
|
||||
* libjerrycore.a
|
||||
* libfdlibm.a
|
||||
* libjerrylibm.a
|
||||
|
||||
#### Building mbed binary
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2015 Samsung Electronics Co., Ltd.
|
||||
# Copyright 2015-2016 Samsung Electronics Co., Ltd.
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
@@ -29,6 +29,6 @@ set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS}
|
||||
# link jerryscript
|
||||
set(LJPATH ${CMAKE_CURRENT_LIST_DIR}/../libjerry)
|
||||
set(LJFILES "")
|
||||
set(LJFILES ${LJFILES} ${LJPATH}/libfdlibm.a)
|
||||
set(LJFILES ${LJFILES} ${LJPATH}/libjerrylibm.a)
|
||||
set(LJFILES ${LJFILES} ${LJPATH}/libjerrycore.a)
|
||||
target_link_libraries(${MBEDMODULE} ${LJFILES})
|
||||
|
||||
@@ -51,8 +51,7 @@ all:
|
||||
make -C $(INTERM) $(TYPE).external
|
||||
cp `cat $(INTERM)/$(TYPE).external/list` $(OUTPUT)/.
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-core.a $(COPYTARGET)/libjerrycore.a
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-fdlibm.third_party.lib.a \
|
||||
$(COPYTARGET)/libfdlibm.a
|
||||
cp $(OUTPUT)/lib$(TYPE).jerry-libm.lib.a $(COPYTARGET)/libjerrylibm.a
|
||||
cp $(INTERM)/lib$(TYPE).external-entry.a $(OUTPUT)/.
|
||||
cp $(OUTPUT)/lib$(TYPE).external-entry.a $(COPYTARGET)/libjerryentry.a
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ Make will copy three library files to `nuttx/nuttx/lib` folder
|
||||
```
|
||||
libjerryentry.a
|
||||
libjerrycore.a
|
||||
libfdlibm.a
|
||||
libjerrylibm.a
|
||||
```
|
||||
|
||||
In NuttX, if you run `make clean`, above library files are also removed so you
|
||||
|
||||
Reference in New Issue
Block a user