Skip to content

Commit 3a8d32c

Browse files
authored
Merge pull request #698 from sanpeqf/feat-modules
Feat modules
2 parents d8e3010 + c4ed789 commit 3a8d32c

File tree

417 files changed

+665
-473
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

417 files changed

+665
-473
lines changed

AUTHORS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
-----------
77
Bfdev Designer Group
88

9-
Name : John Sanpe
9+
Name : Zhenlin Wang
1010
Email : sanpeqf@gmail.com
1111
Represent : framework
1212

CMakeLists.txt

Lines changed: 46 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0-or-later
22
#
33
# Copyright(c) 2023 ffashion <helloworldffashion@gmail.com>
4-
# Copyright(c) 2023 John Sanpe <sanpeqf@gmail.com>
4+
# Copyright(c) 2023 Zhenlin Wang <sanpeqf@gmail.com>
55
#
66

77
cmake_minimum_required(VERSION 3.12)
@@ -26,6 +26,7 @@ set(BFDEV_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
2626
set(BFDEV_HEADER_PATH ${PROJECT_SOURCE_DIR}/include)
2727
set(BFDEV_SOURCE_PATH ${PROJECT_SOURCE_DIR}/src)
2828
set(BFDEV_TEMPLATE_PATH ${PROJECT_SOURCE_DIR}/template)
29+
set(BFDEV_MODULES_PATH ${PROJECT_SOURCE_DIR}/modules)
2930
set(BFDEV_PORT_PATH ${PROJECT_SOURCE_DIR}/port)
3031
set(BFDEV_DOCUMENT_PATH ${PROJECT_SOURCE_DIR}/docs)
3132
set(BFDEV_GENERATED_PATH ${PROJECT_BINARY_DIR}/generated)
@@ -38,6 +39,7 @@ set(BFDEV_CONFIGURE ${BFDEV_GENERATED_PATH}/bfdev-config.cmake)
3839
include(${PROJECT_SOURCE_DIR}/scripts/hostrule.cmake)
3940
include(${PROJECT_SOURCE_DIR}/scripts/packed-header.cmake)
4041
include(${PROJECT_SOURCE_DIR}/scripts/commit.cmake)
42+
include(${PROJECT_SOURCE_DIR}/scripts/platform.cmake)
4143

4244
commit_hash(BFDEV_COMMITID)
4345
commit_branch(BFDEV_BRANCH)
@@ -56,6 +58,8 @@ option(BFDEV_STRICT "Enable strict compilation" OFF)
5658
option(BFDEV_EXAMPLES "Build examples" OFF)
5759
option(BFDEV_TESTSUITE "Build testsuite" OFF)
5860

61+
option(BFDEV_TEMPLATE "Build Template Library" ON)
62+
option(BFDEV_MODULES "Build Modules Library" ON)
5963
option(BFDEV_BUILD_STATIC "Build Static Library" ON)
6064
option(BFDEV_BUILD_SHARED "Build Shared Library" ON)
6165
option(BFDEV_INSTALL_HEADERS "Install Headers" ON)
@@ -85,15 +89,49 @@ if(BFDEV_DEVEL)
8589
set(BFDEV_GCOV ON)
8690
endif()
8791

92+
if(NOT BFDEV_PORT_TYPE STREQUAL "posix")
93+
set(BFDEV_MODULES OFF)
94+
set(BFDEV_EXAMPLES OFF)
95+
set(BFDEV_TESTSUITE OFF)
96+
endif()
97+
98+
if(BFDEV_EXAMPLES OR BFDEV_TESTSUITE)
99+
set(BFDEV_TEMPLATE ON)
100+
set(BFDEV_MODULES ON)
101+
endif()
102+
88103
include(${PROJECT_SOURCE_DIR}/build.cmake)
89104
add_subdirectory(${PROJECT_SOURCE_DIR}/scripts)
90105

91-
packed_header(
92-
bfdev/template/
93-
_BFDEV_TEMPLATE_H_
94-
${BFDEV_GENERATED_PATH}/bfdev/template.h
95-
${BFDEV_HEADER_PATH}/bfdev/template
96-
)
106+
if(BFDEV_TEMPLATE)
107+
packed_header(
108+
bfdev/template/
109+
_BFDEV_TEMPLATE_H_
110+
${BFDEV_GENERATED_PATH}/bfdev/template.h
111+
${BFDEV_HEADER_PATH}/bfdev/template
112+
)
113+
else()
114+
set(BFDEV_EXPORT_EXTRA
115+
${BFDEV_EXPORT_EXTRA}
116+
COMMAND ${CMAKE_COMMAND} -E rm -rf
117+
${BFDEV_EXPORT_PATH}/bfdev/template
118+
)
119+
endif()
120+
121+
if(BFDEV_MODULES)
122+
packed_header(
123+
bfdev/modules/
124+
_BFDEV_MODULES_H_
125+
${BFDEV_GENERATED_PATH}/bfdev/modules.h
126+
${BFDEV_HEADER_PATH}/bfdev/modules
127+
)
128+
else()
129+
set(BFDEV_EXPORT_EXTRA
130+
${BFDEV_EXPORT_EXTRA}
131+
COMMAND ${CMAKE_COMMAND} -E rm -rf
132+
${BFDEV_EXPORT_PATH}/bfdev/modules
133+
)
134+
endif()
97135

98136
packed_header(
99137
bfdev/
@@ -116,6 +154,7 @@ add_custom_target(
116154
${BFDEV_ARCH_HEADER_PATH}/bfdev
117155
${BFDEV_GENERATED_PATH}/bfdev
118156
${BFDEV_EXPORT_PATH}/bfdev
157+
${BFDEV_EXPORT_EXTRA}
119158
)
120159

121160
set_property(

arch/generic/build.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0-or-later
22
#
3-
# Copyright(c) 2023 John Sanpe <sanpeqf@gmail.com>
3+
# Copyright(c) 2023 Zhenlin Wang <sanpeqf@gmail.com>
44
#
55

66
#

arch/generic/include/bfdev/asm/bitops.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* SPDX-License-Identifier: LGPL-3.0-or-later */
22
/*
3-
* Copyright(c) 2024 John Sanpe <sanpeqf@gmail.com>
3+
* Copyright(c) 2024 Zhenlin Wang <sanpeqf@gmail.com>
44
*/
55

66
#ifndef _BFDEV_ASM_BITOPS_H_

arch/generic/include/bfdev/asm/dword.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* SPDX-License-Identifier: LGPL-3.0-or-later */
22
/*
3-
* Copyright(c) 2024 John Sanpe <sanpeqf@gmail.com>
3+
* Copyright(c) 2024 Zhenlin Wang <sanpeqf@gmail.com>
44
*/
55

66
#ifndef _BFDEV_ASM_DWORD_H_

bfdev.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0-or-later
22
#
3-
# Copyright(c) 2025 John Sanpe <sanpeqf@gmail.com>
3+
# Copyright(c) 2025 Zhenlin Wang <sanpeqf@gmail.com>
44
#
55

66
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)

build.cmake

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0-or-later
22
#
3-
# Copyright(c) 2023 John Sanpe <sanpeqf@gmail.com>
3+
# Copyright(c) 2023 Zhenlin Wang <sanpeqf@gmail.com>
44
#
55

66
set(CMAKE_C_FLAGS
@@ -55,12 +55,17 @@ set(BFDEV_INCLUDE_DIRS
5555
)
5656

5757
include_directories(${BFDEV_INCLUDE_DIRS})
58-
include(${PROJECT_SOURCE_DIR}/scripts/platform.cmake)
5958
include(${BFDEV_PORT_PATH}/build.cmake)
60-
6159
include(${BFDEV_ARCH_PATH}/build.cmake)
6260
include(${BFDEV_SOURCE_PATH}/build.cmake)
63-
include(${BFDEV_TEMPLATE_PATH}/build.cmake)
61+
62+
if(BFDEV_TEMPLATE)
63+
include(${BFDEV_TEMPLATE_PATH}/build.cmake)
64+
endif()
65+
66+
if(BFDEV_MODULES)
67+
include(${BFDEV_MODULES_PATH}/build.cmake)
68+
endif()
6469

6570
configure_file(
6671
${BFDEV_MODULE_PATH}/config.h.in

cmake/config.h.in

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
/* SPDX-License-Identifier: GPL-2.0-or-later */
1+
/* SPDX-License-Identifier: LGPL-3.0-or-later */
22
/*
33
* Copyright(c) 2023 ffashion <helloworldffashion@gmail.com>
4-
* Copyright(c) 2023 John Sanpe <sanpeqf@gmail.com>
4+
* Copyright(c) 2023 Zhenlin Wang <sanpeqf@gmail.com>
55
*/
66

77
#ifndef _BFDEV_CONFIG_H_

examples/action/simple.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/* SPDX-License-Identifier: GPL-2.0-or-later */
22
/*
3-
* Copyright(c) 2023 John Sanpe <sanpeqf@gmail.com>
3+
* Copyright(c) 2023 Zhenlin Wang <sanpeqf@gmail.com>
44
*/
55

66
#define MODULE_NAME "action-simple"

examples/allocator/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# SPDX-License-Identifier: GPL-2.0-or-later
22
#
3-
# Copyright(c) 2023 John Sanpe <sanpeqf@gmail.com>
3+
# Copyright(c) 2023 Zhenlin Wang <sanpeqf@gmail.com>
44
#
55

66
add_executable(allocator-simple simple.c)

0 commit comments

Comments
 (0)