summaryrefslogtreecommitdiff
path: root/components/libc
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2020-06-06 13:20:58 +0800
committerBernard Xiong <[email protected]>2020-06-06 13:20:58 +0800
commita4f1905b6d7543a0c0cf81fc1d91cc46d52a5bd1 (patch)
tree6fa10f8baf59dbdd6d4df21fa49a59146ddef7d4 /components/libc
parent64ac4928f4a466fdf7eacd6c160a099549858028 (diff)
[libc] Fix pthreads compiling issue with new newlib version
Diffstat (limited to 'components/libc')
-rw-r--r--components/libc/pthreads/SConscript20
1 files changed, 16 insertions, 4 deletions
diff --git a/components/libc/pthreads/SConscript b/components/libc/pthreads/SConscript
index 1b7b75bfd1..e154ee0aa9 100644
--- a/components/libc/pthreads/SConscript
+++ b/components/libc/pthreads/SConscript
@@ -1,10 +1,22 @@
from building import *
+from utils import VersionCmp
-cwd = GetCurrentDir()
-src = Glob('*.c')
-CPPPATH = [cwd]
+cwd = GetCurrentDir()
+src = Glob('*.c')
+CPPPATH = [cwd]
+CPPDEFINES = []
+
+# only enable POSIX.1b-1993 Real-time extensions
+libc_ver = GetDepend('LIBC_VERSION')
+try:
+ ver = libc_ver.split(' ')
+ ver = ver[1]
+ if VersionCmp(ver, "2.5.0") == 1:
+ CPPDEFINES = ['_POSIX_C_SOURCE=199309L']
+except :
+ pass
group = DefineGroup('pthreads', src,
- depend = ['RT_USING_PTHREADS', 'RT_USING_LIBC'], CPPPATH = CPPPATH)
+ depend = ['RT_USING_PTHREADS', 'RT_USING_LIBC'], CPPPATH = CPPPATH, CPPDEFINES = CPPDEFINES)
Return('group')