implement legacy support

This commit is contained in:
Meco Man 2021-11-14 13:04:03 -05:00
parent 5711b0a76b
commit c6c1544c84
10 changed files with 105 additions and 4 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -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__ */

View File

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

View File

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

View File

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

View File

@ -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__ */

View File

@ -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" {