Skip to content

Commit fda166f

Browse files
committed
cmake: build libcglue
1 parent d6fdac7 commit fda166f

File tree

3 files changed

+209
-11
lines changed

3 files changed

+209
-11
lines changed

cmake/ee_toolchain.cmake

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,7 @@
1010
cmake_minimum_required(VERSION 3.10)
1111

1212
INCLUDE(CMakeForceCompiler)
13-
if(DEFINED ENV{PS2SDK})
14-
SET(PS2SDK $ENV{PS2SDK})
15-
else()
16-
message(FATAL_ERROR "The environment variable PS2SDK needs to be defined.")
17-
endif()
18-
19-
if(DEFINED ENV{PS2DEV})
20-
SET(PS2DEV $ENV{PS2DEV})
21-
else()
22-
message(FATAL_ERROR "The environment variable PS2DEV needs to be defined.")
23-
endif()
13+
2414

2515
SET(CMAKE_SYSTEM_NAME Generic)
2616
SET(CMAKE_SYSTEM_VERSION 1)

ee/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ file(REAL_PATH ../ PS2SDKSRC_ROOT)
55
set(EE_INC ${PS2SDKSRC_ROOT}/common/include ${PROJECT_SOURCE_DIR}/kernel/include ${PROJECT_SOURCE_DIR}/rpc/cdvd/include)
66

77
add_subdirectory(kernel)
8+
add_subdirectory(libcglue)
89
add_subdirectory(debug)

ee/libcglue/CMakeLists.txt

Lines changed: 207 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,207 @@
1+
include(${PS2SDKSRC_ROOT}/cmake/utils.cmake)
2+
3+
add_library(cglue)
4+
target_include_directories(cglue PUBLIC ${EE_INC} include)
5+
target_sources(cglue PRIVATE src/rtc.c)
6+
target_link_libraries(cglue PRIVATE kernel)
7+
8+
compile_multiple(cglue src/timezone.c OBJECTS
9+
_libcglue_timezone_update.o ps2sdk_setTimezone.o ps2sdk_setDaylightSaving.o
10+
)
11+
12+
compile_multiple(cglue src/fdman.c OBJECTS
13+
__fdman_sema.o
14+
__descriptor_data_pool.o
15+
__descriptormap.o
16+
__fdman_init.o
17+
__fdman_deinit.o
18+
__fdman_get_new_descriptor.o
19+
__fdman_get_dup_descriptor.o
20+
__fdman_get_dup2_descriptor.o
21+
__fdman_release_descriptor.o
22+
)
23+
24+
compile_multiple(cglue src/init.c OBJECTS
25+
__gprof_init.o
26+
__gprof_cleanup.o
27+
__libpthreadglue_init.o
28+
__libpthreadglue_deinit.o
29+
_libcglue_init.o
30+
_libcglue_deinit.o
31+
_libcglue_args_parse.o
32+
)
33+
34+
compile_multiple(cglue src/sleep.c OBJECTS
35+
nanosleep.o
36+
)
37+
38+
compile_multiple(cglue src/sjis.c OBJECTS
39+
isSpecialSJIS.o isSpecialASCII.o strcpy_ascii.o strcpy_sjis.o
40+
)
41+
42+
compile_multiple(cglue src/cwd.c OBJECTS
43+
__cwd.o __cwd_len.o __get_drive.o getcwd.o __path_absolute.o __init_cwd.o
44+
)
45+
46+
compile_multiple(cglue src/ps2sdkapi.c OBJECTS
47+
__fioOpsInitialize.o
48+
__fioOpenHelper.o
49+
__fioGetFdHelper.o
50+
__fioGetFilenameHelper.o
51+
__fioCloseHelper.o
52+
__fioDcloseHelper.o
53+
__fioReadHelper.o
54+
__fioLseekHelper.o
55+
__fioWriteHelper.o
56+
__fioIoctlHelper.o
57+
__fioDreadHelper.o
58+
__fioLseekDirHelper.o
59+
__libcglue_init_stdio.o
60+
__fioMkdirHelper.o
61+
__fioGetstatHelper.o
62+
__fioOpsInitializeImpl.o
63+
_libcglue_fdman_path_ops.o
64+
_libcglue_fdman_socket_ops.o
65+
_libcglue_fdman_inet_ops.o
66+
)
67+
68+
compile_multiple(cglue src/glue.c OBJECTS
69+
__dummy_passwd.o
70+
__transform_errno.o
71+
__transform64_errno.o
72+
compile_time_check.o
73+
_open.o
74+
_close.o
75+
_read.o
76+
_write.o
77+
_stat.o
78+
lstat.o
79+
_fstat.o
80+
access.o
81+
_fcntl.o
82+
getdents.o
83+
_lseek.o
84+
lseek64.o
85+
chdir.o
86+
mkdir.o
87+
rmdir.o
88+
_link.o
89+
_unlink.o
90+
_rename.o
91+
_getpid.o
92+
_kill.o
93+
_fork.o
94+
_wait.o
95+
_execve.o
96+
_sbrk.o
97+
_gettimeofday.o
98+
_times.o
99+
ftime.o
100+
clock_getres.o
101+
clock_gettime.o
102+
clock_settime.o
103+
truncate.o
104+
symlink.o
105+
readlink.o
106+
utime.o
107+
fchown.o
108+
getrandom.o
109+
_getentropy.o
110+
_isatty.o
111+
chmod.o
112+
fchmod.o
113+
pathconf.o
114+
fsync.o
115+
getuid.o
116+
geteuid.o
117+
getpwuid.o
118+
getpwnam.o
119+
libcglue_get_fd_info.o
120+
ps2sdk_get_iop_fd.o
121+
ps2sdk_get_iop_filename.o
122+
_ps2sdk_close.o
123+
_ps2sdk_dclose.o
124+
_ps2sdk_read.o
125+
_ps2sdk_lseek.o
126+
_ps2sdk_lseek64.o
127+
_ps2sdk_write.o
128+
_ps2sdk_ioctl.o
129+
_ps2sdk_ioctl2.o
130+
_ps2sdk_dread.o
131+
openat.o
132+
renameat.o
133+
fchmodat.o
134+
fstatat.o
135+
mkdirat.o
136+
faccessat.o
137+
fchownat.o
138+
linkat.o
139+
readlinkat.o
140+
unlinkat.o
141+
dup.o
142+
dup2.o
143+
)
144+
145+
compile_multiple(cglue src/lock.c OBJECTS
146+
__lock___sfp_recursive_mutex.o
147+
__lock___atexit_recursive_mutex.o
148+
__lock___at_quick_exit_mutex.o
149+
__lock___malloc_recursive_mutex.o
150+
__lock___env_recursive_mutex.o
151+
__lock___tz_mutex.o
152+
__lock___dd_hash_mutex.o
153+
__lock___arc4random_mutex.o
154+
__retarget_lock_init.o
155+
__retarget_lock_init_recursive.o
156+
__retarget_lock_close.o
157+
__retarget_lock_close_recursive.o
158+
__retarget_lock_acquire.o
159+
__retarget_lock_acquire_recursive.o
160+
__retarget_lock_try_acquire.o
161+
__retarget_lock_try_acquire_recursive.o
162+
__retarget_lock_release.o
163+
__retarget_lock_release_recursive.o
164+
__locks_init.o
165+
__locks_deinit.o
166+
)
167+
168+
compile_multiple(cglue src/netdb.c OBJECTS
169+
gethostbyaddr.o
170+
gethostbyname.o
171+
gethostbyname_r.o
172+
freeaddrinfo.o
173+
getaddrinfo.o
174+
)
175+
176+
compile_multiple(cglue src/select.c OBJECTS
177+
select.o
178+
)
179+
180+
compile_multiple(cglue src/socket.c OBJECTS
181+
socket.o
182+
accept.o
183+
bind.o
184+
connect.o
185+
listen.o
186+
recv.o
187+
recvfrom.o
188+
recvmsg.o
189+
send.o
190+
sendto.o
191+
sendmsg.o
192+
getsockopt.o
193+
setsockopt.o
194+
shutdown.o
195+
getpeername.o
196+
getsockname.o
197+
libcglue_inet_addr.o
198+
libcglue_inet_ntoa.o
199+
libcglue_inet_ntoa_r.o
200+
libcglue_inet_aton.o
201+
libcglue_ps2ip_setconfig.o
202+
libcglue_ps2ip_getconfig.o
203+
libcglue_dns_setserver.o
204+
libcglue_dns_getserver.o
205+
)
206+
207+
install(TARGETS cglue)

0 commit comments

Comments
 (0)