mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 07:47:37 +00:00
Build: Switch to CMake :^)
Closes https://github.com/SerenityOS/serenity/issues/2080
This commit is contained in:
parent
49727ffee4
commit
450a2a0f9c
236 changed files with 1774 additions and 2337 deletions
65
Libraries/LibC/CMakeLists.txt
Normal file
65
Libraries/LibC/CMakeLists.txt
Normal file
|
@ -0,0 +1,65 @@
|
|||
set(LIBC_SOURCES
|
||||
arpa/inet.cpp
|
||||
assert.cpp
|
||||
crt0.cpp
|
||||
ctype.cpp
|
||||
cxxabi.cpp
|
||||
dirent.cpp
|
||||
dlfcn.cpp
|
||||
fcntl.cpp
|
||||
getopt.cpp
|
||||
grp.cpp
|
||||
ioctl.cpp
|
||||
libcinit.cpp
|
||||
libgen.cpp
|
||||
locale.cpp
|
||||
malloc.cpp
|
||||
mman.cpp
|
||||
mntent.cpp
|
||||
netdb.cpp
|
||||
poll.cpp
|
||||
pwd.cpp
|
||||
qsort.cpp
|
||||
scanf.cpp
|
||||
sched.cpp
|
||||
serenity.cpp
|
||||
setjmp.S
|
||||
signal.cpp
|
||||
stat.cpp
|
||||
stdio.cpp
|
||||
stdlib.cpp
|
||||
string.cpp
|
||||
strings.cpp
|
||||
syslog.cpp
|
||||
sys/ptrace.cpp
|
||||
sys/select.cpp
|
||||
sys/socket.cpp
|
||||
sys/uio.cpp
|
||||
sys/wait.cpp
|
||||
termcap.cpp
|
||||
termios.cpp
|
||||
time.cpp
|
||||
times.cpp
|
||||
ulimit.cpp
|
||||
unistd.cpp
|
||||
utime.cpp
|
||||
utsname.cpp
|
||||
wchar.cpp
|
||||
)
|
||||
|
||||
file(GLOB AK_SOURCES "../../AK/*.cpp")
|
||||
file(GLOB ELF_SOURCES "../LibELF/*.cpp")
|
||||
set(ELF_SOURCES ${ELF_SOURCES} ../LibELF/Arch/i386/plt_trampoline.S)
|
||||
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DSERENITY_LIBC_BUILD")
|
||||
|
||||
add_library(crt0 STATIC crt0.cpp)
|
||||
add_custom_command(
|
||||
TARGET crt0
|
||||
COMMAND install -D $<TARGET_OBJECTS:crt0> ${CMAKE_INSTALL_PREFIX}/usr/lib/crt0.o
|
||||
)
|
||||
|
||||
set(SOURCES ${LIBC_SOURCES} ${AK_SOURCES} ${ELF_SOURCES})
|
||||
serenity_libc(LibC c)
|
||||
target_link_libraries(LibC crt0)
|
||||
add_dependencies(LibC LibM)
|
|
@ -1,115 +0,0 @@
|
|||
AK_OBJS = \
|
||||
../../AK/Base64.o \
|
||||
../../AK/FileSystemPath.o \
|
||||
../../AK/FlyString.o \
|
||||
../../AK/JsonParser.o \
|
||||
../../AK/JsonValue.o \
|
||||
../../AK/LogStream.o \
|
||||
../../AK/MappedFile.o \
|
||||
../../AK/SharedBuffer.o \
|
||||
../../AK/String.o \
|
||||
../../AK/StringBuilder.o \
|
||||
../../AK/StringImpl.o \
|
||||
../../AK/StringUtils.o \
|
||||
../../AK/StringView.o \
|
||||
../../AK/URL.o \
|
||||
../../AK/Utf8View.o
|
||||
|
||||
LIBC_OBJS = \
|
||||
stdio.o \
|
||||
unistd.o \
|
||||
string.o \
|
||||
strings.o \
|
||||
mman.o \
|
||||
dirent.o \
|
||||
malloc.o \
|
||||
stdlib.o \
|
||||
time.o \
|
||||
utsname.o \
|
||||
assert.o \
|
||||
signal.o \
|
||||
getopt.o \
|
||||
scanf.o \
|
||||
pwd.o \
|
||||
grp.o \
|
||||
times.o \
|
||||
termcap.o \
|
||||
stat.o \
|
||||
mntent.o \
|
||||
ctype.o \
|
||||
fcntl.o \
|
||||
termios.o \
|
||||
ulimit.o \
|
||||
qsort.o \
|
||||
ioctl.o \
|
||||
utime.o \
|
||||
sys/select.o \
|
||||
sys/socket.o \
|
||||
sys/wait.o \
|
||||
sys/uio.o \
|
||||
sys/ptrace.o \
|
||||
poll.o \
|
||||
locale.o \
|
||||
arpa/inet.o \
|
||||
netdb.o \
|
||||
sched.o \
|
||||
dlfcn.o \
|
||||
libgen.o \
|
||||
wchar.o \
|
||||
serenity.o \
|
||||
syslog.o \
|
||||
cxxabi.o \
|
||||
libcinit.o
|
||||
|
||||
ELF_OBJS = \
|
||||
../LibELF/DynamicObject.o \
|
||||
../LibELF/DynamicLoader.o \
|
||||
../LibELF/Loader.o \
|
||||
../LibELF/Image.o \
|
||||
../LibELF/Validation.o
|
||||
|
||||
OBJS = $(AK_OBJS) $(LIBC_OBJS) $(ELF_OBJS)
|
||||
|
||||
EXTRA_OBJS = \
|
||||
setjmp.ao \
|
||||
crti.ao \
|
||||
crtn.ao \
|
||||
../LibELF/Arch/i386/plt_trampoline.ao
|
||||
|
||||
crt0.o: crt0.cpp
|
||||
|
||||
crtio.o: crti.ao
|
||||
$(QUIET) cp crti.ao crti.o
|
||||
|
||||
crtn.o: crtin.ao
|
||||
$(QUIET) cp crtn.ao crtn.o
|
||||
|
||||
EXTRA_CLEAN = crt0.d crt0.o
|
||||
|
||||
DEFINES = -DSERENITY_LIBC_BUILD $(EXTRA_LIBC_DEFINES)
|
||||
|
||||
LIBRARY = libc.a
|
||||
|
||||
POST_LIBRARY_BUILD = $(QUIET) $(MAKE) install
|
||||
|
||||
all: crt0.o $(EXTRA_OBJS) $(LIBRARY)
|
||||
|
||||
install:
|
||||
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/sys/
|
||||
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/bits/
|
||||
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
|
||||
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/net/
|
||||
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
|
||||
mkdir -p $(SERENITY_BASE_DIR)/Root/usr/lib/
|
||||
cp *.h $(SERENITY_BASE_DIR)/Root/usr/include/
|
||||
cp sys/*.h $(SERENITY_BASE_DIR)/Root/usr/include/sys/
|
||||
cp bits/*.h $(SERENITY_BASE_DIR)/Root/usr/include/bits/
|
||||
cp arpa/*.h $(SERENITY_BASE_DIR)/Root/usr/include/arpa/
|
||||
cp net/*.h $(SERENITY_BASE_DIR)/Root/usr/include/net/
|
||||
cp netinet/*.h $(SERENITY_BASE_DIR)/Root/usr/include/netinet/
|
||||
cp libc.a $(SERENITY_BASE_DIR)/Root/usr/lib/
|
||||
cp crt0.o $(SERENITY_BASE_DIR)/Root/usr/lib/
|
||||
cp crti.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crti.o
|
||||
cp crtn.ao $(SERENITY_BASE_DIR)/Root/usr/lib/crtn.o
|
||||
|
||||
include ../../Makefile.common
|
Loading…
Add table
Add a link
Reference in a new issue