Browse Source

Merge pull request #5277 from mysterywolf/compatibility

implement legacy support
Bernard Xiong 3 years ago
parent
commit
f11113f557

+ 4 - 0
components/Kconfig

@@ -19,6 +19,10 @@ config RT_USING_USER_MAIN
             default 85  if RT_THREAD_PRIORITY_256
     endif
 
+config RT_USING_LEGACY
+    bool "Support legacy version for compatibility"
+    default n
+
 source "$RTT_DIR/components/cplusplus/Kconfig"
 
 source "$RTT_DIR/components/finsh/Kconfig"

+ 1 - 0
components/dfs/SConscript

@@ -1,4 +1,5 @@
 from building import *
+import os
 
 # The set of source files associated with this SConscript file.
 src = Split('''

+ 2 - 0
components/legacy/README.md

@@ -0,0 +1,2 @@
+# RT-Thread Legacy
+

+ 22 - 0
components/legacy/SConscript

@@ -0,0 +1,22 @@
+from building import *
+import os
+
+src = Split('''
+ipc/workqueue_legacy.c
+''')
+
+cwd = GetCurrentDir()
+CPPPATH = [cwd]
+
+if GetDepend('RT_USING_DFS'):
+    dfs_cwd = os.path.join(cwd,'dfs')
+    CPPPATH += [dfs_cwd]
+
+group = DefineGroup('Legacy', src, depend = ['RT_USING_LEGACY'], CPPPATH = CPPPATH)
+
+list = os.listdir(cwd)
+for item in list:
+    if os.path.isfile(os.path.join(cwd, item, 'SConscript')):
+        group = group + SConscript(os.path.join(item, 'SConscript'))
+
+Return('group')

+ 1 - 2
components/dfs/include/dfs_poll.h → components/legacy/dfs/dfs_poll.h

@@ -5,6 +5,7 @@
  *
  * Change Logs:
  * Date           Author       Notes
+ * 2021-11-14     Meco Man     the first version
  */
 
 #ifndef DFS_POLL_H__
@@ -12,6 +13,4 @@
 
 #include <poll.h>
 
-#warning "This file will be obsolete in the next version! Please use <poll.h> to instead."
-
 #endif /* DFS_POLL_H__ */

+ 1 - 2
components/dfs/include/dfs_select.h → components/legacy/dfs/dfs_select.h

@@ -5,6 +5,7 @@
  *
  * Change Logs:
  * Date           Author       Notes
+ * 2021-11-14     Meco Man     the first version
  */
 
 #ifndef DFS_SELECT_H__
@@ -12,6 +13,4 @@
 
 #include <sys/select.h>
 
-#warning "This file will be obsolete in the next version! Please use <sys/select.h> to instead."
-
 #endif

+ 18 - 0
components/legacy/ipc/workqueue_legacy.c

@@ -0,0 +1,18 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2021-11-14     Meco Man     the first version
+ */
+
+#include "workqueue_legacy.h"
+
+void rt_delayed_work_init(struct rt_delayed_work *work,
+                          void (*work_func)(struct rt_work *work,
+                          void *work_data), void *work_data)
+{
+    rt_work_init(&work->work, work_func, work_data);
+}

+ 25 - 0
components/legacy/ipc/workqueue_legacy.h

@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2021-11-14     Meco Man     the first version
+ */
+
+#ifndef __WORKQUEUE_LEGACY_H__
+#define __WORKQUEUE_LEGACY_H__
+
+#include <ipc/workqueue.h>
+
+struct rt_delayed_work
+{
+    struct rt_work work;
+};
+
+void rt_delayed_work_init(struct rt_delayed_work *work,
+                          void (*work_func)(struct rt_work *work,
+                          void *work_data), void *work_data);
+
+#endif

+ 27 - 0
components/legacy/rtlegacy.h

@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2006-2021, RT-Thread Development Team
+ *
+ * SPDX-License-Identifier: Apache-2.0
+ *
+ * Change Logs:
+ * Date           Author       Notes
+ * 2021-11-14     Meco Man     the first version
+ */
+
+#ifndef __RT_LEGACY_H__
+#define __RT_LEGACY_H__
+
+#include <rtconfig.h>
+
+/* rtlibc */
+#include <stdint.h>
+#include <stddef.h>
+
+/* IPC */
+#ifdef RT_USING_DEVICE_IPC
+#include "ipc/workqueue_legacy.h"
+#endif /* RT_USING_DEVICE_IPC */
+
+/* FinSH */
+
+#endif /* __RT_LEGACY_H__ */

+ 4 - 0
include/rtthread.h

@@ -15,6 +15,7 @@
  * 2016-08-09     ArdaFu       add new thread and interrupt hook.
  * 2018-11-22     Jesven       add all cpu's lock and ipi handler
  * 2021-02-28     Meco Man     add RT_KSERVICE_USING_STDLIB
+ * 2021-11-14     Meco Man     add rtlegacy.h for compatibility
  */
 
 #ifndef __RT_THREAD_H__
@@ -25,6 +26,9 @@
 #include <rtdef.h>
 #include <rtservice.h>
 #include <rtm.h>
+#ifdef RT_USING_LEGACY
+#include <rtlegacy.h>
+#endif
 
 #ifdef __cplusplus
 extern "C" {