diff --git a/CMakeLists.txt b/CMakeLists.txt index 6bc05307..f8c0053a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -19,12 +19,6 @@ set(BANAN_BOOT ${BANAN_SYSROOT}/boot) add_subdirectory(kernel) add_subdirectory(bootloader) add_subdirectory(BAN) -add_subdirectory(libc) -add_subdirectory(LibELF) -add_subdirectory(LibFont) -add_subdirectory(LibGUI) -add_subdirectory(LibImage) -add_subdirectory(LibInput) add_subdirectory(userspace) add_custom_target(sysroot @@ -35,24 +29,13 @@ add_custom_target(sysroot add_custom_target(headers DEPENDS kernel-headers DEPENDS ban-headers - DEPENDS libc-headers - DEPENDS libelf-headers - DEPENDS libfont-headers - DEPENDS libgui-headers - DEPENDS libimage-headers - DEPENDS libinput-headers + DEPENDS userspace-headers ) add_custom_target(install-sysroot DEPENDS kernel-install DEPENDS ban-install - DEPENDS libc-install DEPENDS userspace-install - DEPENDS libelf-install - DEPENDS libfont-install - DEPENDS libgui-install - DEPENDS libimage-install - DEPENDS libinput-install ) add_custom_target(package-sysroot diff --git a/bootloader/installer/CMakeLists.txt b/bootloader/installer/CMakeLists.txt index d5efc80f..1e68c6b5 100644 --- a/bootloader/installer/CMakeLists.txt +++ b/bootloader/installer/CMakeLists.txt @@ -18,5 +18,5 @@ set(SOURCES add_executable(banan_os-bootloader-installer ${SOURCES}) target_compile_options(banan_os-bootloader-installer PRIVATE -O2 -std=c++20) target_compile_definitions(banan_os-bootloader-installer PRIVATE __arch=${BANAN_ARCH}) -target_include_directories(banan_os-bootloader-installer PRIVATE ${CMAKE_SOURCE_DIR}/../../LibELF/include) +target_include_directories(banan_os-bootloader-installer PRIVATE ${CMAKE_SOURCE_DIR}/../../userspace/libraries/LibELF/include) target_include_directories(banan_os-bootloader-installer PRIVATE ${CMAKE_SOURCE_DIR}/../../kernel/include) diff --git a/kernel/CMakeLists.txt b/kernel/CMakeLists.txt index 4ecff95c..ce4738eb 100644 --- a/kernel/CMakeLists.txt +++ b/kernel/CMakeLists.txt @@ -148,22 +148,21 @@ set(KLIBC_SOURCES ) set(LIBELF_SOURCES - ../LibELF/LibELF/LoadableELF.cpp + ../userspace/libraries/LibELF/LibELF/LoadableELF.cpp ) set(LIBFONT_SOURCES - ../LibFont/Font.cpp - ../LibFont/PSF.cpp + ../userspace/libraries/LibFont/Font.cpp + ../userspace/libraries/LibFont/PSF.cpp ) set(LIBINPUT_SOURCE - ../LibInput/KeyboardLayout.cpp - ../LibInput/KeyEvent.cpp + ../userspace/libraries/LibInput/KeyboardLayout.cpp + ../userspace/libraries/LibInput/KeyEvent.cpp ) set(KERNEL_SOURCES ${KERNEL_SOURCES} - ${LAI_SOURCES} ${BAN_SOURCES} ${KLIBC_SOURCES} ${LIBELF_SOURCES} @@ -199,8 +198,6 @@ endif() target_link_options(kernel PUBLIC -ffreestanding -nostdlib) -set_source_files_properties(${LAI_SOURCES} PROPERTIES COMPILE_FLAGS -Wno-stack-usage) - add_custom_target(kernel-headers COMMAND ${CMAKE_COMMAND} -E copy_directory_if_different ${CMAKE_CURRENT_SOURCE_DIR}/include/ ${BANAN_INCLUDE}/ DEPENDS sysroot diff --git a/userspace/CMakeLists.txt b/userspace/CMakeLists.txt index ddcdeffa..6c194e0f 100644 --- a/userspace/CMakeLists.txt +++ b/userspace/CMakeLists.txt @@ -48,12 +48,15 @@ set(USERSPACE_PROJECTS yes ) +add_subdirectory(libraries) + foreach(USERSPACE_PROJECT ${USERSPACE_PROJECTS}) add_subdirectory(${USERSPACE_PROJECT}) endforeach() -add_custom_target(userspace) -add_custom_target(userspace-install DEPENDS userspace) +add_custom_target(userspace DEPENDS libraries) +add_custom_target(userspace-headers DEPENDS libraries-headers) +add_custom_target(userspace-install DEPENDS userspace libraries-install) add_subdirectory(aoc2023) diff --git a/userspace/libraries/CMakeLists.txt b/userspace/libraries/CMakeLists.txt new file mode 100644 index 00000000..a53cabb2 --- /dev/null +++ b/userspace/libraries/CMakeLists.txt @@ -0,0 +1,33 @@ +cmake_minimum_required(VERSION 3.26) + +project(libraries CXX) + +set(USERSPACE_LIBRARIES + LibC + LibELF + LibFont + LibGUI + LibImage + LibInput +) + +foreach(LIBRARY ${USERSPACE_LIBRARIES}) + add_subdirectory(${LIBRARY}) +endforeach() + +add_custom_target(libraries) +add_custom_target(libraries-headers) +add_custom_target(libraries-install) + +foreach(LIBRARY ${USERSPACE_LIBRARIES}) + string(TOLOWER ${LIBRARY} LIBRARY_LOWER) + + if (TARGET ${LIBRARY_LOWER}) + add_dependencies(libraries ${LIBRARY_LOWER}) + # This is to allow cmake to link when libc updates + target_link_options(${LIBRARY_LOWER} PRIVATE -nolibc) + endif() + + add_dependencies(libraries-headers ${LIBRARY_LOWER}-headers) + add_dependencies(libraries-install ${LIBRARY_LOWER}-install) +endforeach() diff --git a/libc/CMakeLists.txt b/userspace/libraries/LibC/CMakeLists.txt similarity index 98% rename from libc/CMakeLists.txt rename to userspace/libraries/LibC/CMakeLists.txt index 4ffae014..4a8275b9 100644 --- a/libc/CMakeLists.txt +++ b/userspace/libraries/LibC/CMakeLists.txt @@ -32,7 +32,7 @@ set(LIBC_SOURCES math.cpp icxxabi.cpp - ../BAN/BAN/Assert.cpp + ../../../BAN/BAN/Assert.cpp ) add_custom_target(libc-headers diff --git a/libc/arch/i686/crt0.S b/userspace/libraries/LibC/arch/i686/crt0.S similarity index 100% rename from libc/arch/i686/crt0.S rename to userspace/libraries/LibC/arch/i686/crt0.S diff --git a/libc/arch/i686/crti.S b/userspace/libraries/LibC/arch/i686/crti.S similarity index 100% rename from libc/arch/i686/crti.S rename to userspace/libraries/LibC/arch/i686/crti.S diff --git a/libc/arch/i686/crtn.S b/userspace/libraries/LibC/arch/i686/crtn.S similarity index 100% rename from libc/arch/i686/crtn.S rename to userspace/libraries/LibC/arch/i686/crtn.S diff --git a/libc/arch/x86_64/crt0.S b/userspace/libraries/LibC/arch/x86_64/crt0.S similarity index 100% rename from libc/arch/x86_64/crt0.S rename to userspace/libraries/LibC/arch/x86_64/crt0.S diff --git a/libc/arch/x86_64/crti.S b/userspace/libraries/LibC/arch/x86_64/crti.S similarity index 100% rename from libc/arch/x86_64/crti.S rename to userspace/libraries/LibC/arch/x86_64/crti.S diff --git a/libc/arch/x86_64/crtn.S b/userspace/libraries/LibC/arch/x86_64/crtn.S similarity index 100% rename from libc/arch/x86_64/crtn.S rename to userspace/libraries/LibC/arch/x86_64/crtn.S diff --git a/libc/arpa/inet.cpp b/userspace/libraries/LibC/arpa/inet.cpp similarity index 100% rename from libc/arpa/inet.cpp rename to userspace/libraries/LibC/arpa/inet.cpp diff --git a/libc/assert.cpp b/userspace/libraries/LibC/assert.cpp similarity index 100% rename from libc/assert.cpp rename to userspace/libraries/LibC/assert.cpp diff --git a/libc/ctype.cpp b/userspace/libraries/LibC/ctype.cpp similarity index 100% rename from libc/ctype.cpp rename to userspace/libraries/LibC/ctype.cpp diff --git a/libc/dirent.cpp b/userspace/libraries/LibC/dirent.cpp similarity index 100% rename from libc/dirent.cpp rename to userspace/libraries/LibC/dirent.cpp diff --git a/libc/fcntl.cpp b/userspace/libraries/LibC/fcntl.cpp similarity index 100% rename from libc/fcntl.cpp rename to userspace/libraries/LibC/fcntl.cpp diff --git a/libc/grp.cpp b/userspace/libraries/LibC/grp.cpp similarity index 100% rename from libc/grp.cpp rename to userspace/libraries/LibC/grp.cpp diff --git a/libc/icxxabi.cpp b/userspace/libraries/LibC/icxxabi.cpp similarity index 100% rename from libc/icxxabi.cpp rename to userspace/libraries/LibC/icxxabi.cpp diff --git a/libc/include/aio.h b/userspace/libraries/LibC/include/aio.h similarity index 100% rename from libc/include/aio.h rename to userspace/libraries/LibC/include/aio.h diff --git a/libc/include/arpa/inet.h b/userspace/libraries/LibC/include/arpa/inet.h similarity index 100% rename from libc/include/arpa/inet.h rename to userspace/libraries/LibC/include/arpa/inet.h diff --git a/libc/include/assert.h b/userspace/libraries/LibC/include/assert.h similarity index 100% rename from libc/include/assert.h rename to userspace/libraries/LibC/include/assert.h diff --git a/libc/include/bits/printf.h b/userspace/libraries/LibC/include/bits/printf.h similarity index 100% rename from libc/include/bits/printf.h rename to userspace/libraries/LibC/include/bits/printf.h diff --git a/libc/include/bits/pthread_types.h b/userspace/libraries/LibC/include/bits/pthread_types.h similarity index 100% rename from libc/include/bits/pthread_types.h rename to userspace/libraries/LibC/include/bits/pthread_types.h diff --git a/libc/include/bits/types/FILE.h b/userspace/libraries/LibC/include/bits/types/FILE.h similarity index 100% rename from libc/include/bits/types/FILE.h rename to userspace/libraries/LibC/include/bits/types/FILE.h diff --git a/libc/include/bits/types/locale_t.h b/userspace/libraries/LibC/include/bits/types/locale_t.h similarity index 100% rename from libc/include/bits/types/locale_t.h rename to userspace/libraries/LibC/include/bits/types/locale_t.h diff --git a/libc/include/bits/types/sa_family_t.h b/userspace/libraries/LibC/include/bits/types/sa_family_t.h similarity index 100% rename from libc/include/bits/types/sa_family_t.h rename to userspace/libraries/LibC/include/bits/types/sa_family_t.h diff --git a/libc/include/bits/types/timeval.h b/userspace/libraries/LibC/include/bits/types/timeval.h similarity index 100% rename from libc/include/bits/types/timeval.h rename to userspace/libraries/LibC/include/bits/types/timeval.h diff --git a/libc/include/complex.h b/userspace/libraries/LibC/include/complex.h similarity index 100% rename from libc/include/complex.h rename to userspace/libraries/LibC/include/complex.h diff --git a/libc/include/cpio.h b/userspace/libraries/LibC/include/cpio.h similarity index 100% rename from libc/include/cpio.h rename to userspace/libraries/LibC/include/cpio.h diff --git a/libc/include/ctype.h b/userspace/libraries/LibC/include/ctype.h similarity index 100% rename from libc/include/ctype.h rename to userspace/libraries/LibC/include/ctype.h diff --git a/libc/include/dirent.h b/userspace/libraries/LibC/include/dirent.h similarity index 100% rename from libc/include/dirent.h rename to userspace/libraries/LibC/include/dirent.h diff --git a/libc/include/dlfcn.h b/userspace/libraries/LibC/include/dlfcn.h similarity index 100% rename from libc/include/dlfcn.h rename to userspace/libraries/LibC/include/dlfcn.h diff --git a/libc/include/errno.h b/userspace/libraries/LibC/include/errno.h similarity index 100% rename from libc/include/errno.h rename to userspace/libraries/LibC/include/errno.h diff --git a/libc/include/fcntl.h b/userspace/libraries/LibC/include/fcntl.h similarity index 100% rename from libc/include/fcntl.h rename to userspace/libraries/LibC/include/fcntl.h diff --git a/libc/include/fenv.h b/userspace/libraries/LibC/include/fenv.h similarity index 100% rename from libc/include/fenv.h rename to userspace/libraries/LibC/include/fenv.h diff --git a/libc/include/fmtmsg.h b/userspace/libraries/LibC/include/fmtmsg.h similarity index 100% rename from libc/include/fmtmsg.h rename to userspace/libraries/LibC/include/fmtmsg.h diff --git a/libc/include/fnmatch.h b/userspace/libraries/LibC/include/fnmatch.h similarity index 100% rename from libc/include/fnmatch.h rename to userspace/libraries/LibC/include/fnmatch.h diff --git a/libc/include/ftw.h b/userspace/libraries/LibC/include/ftw.h similarity index 100% rename from libc/include/ftw.h rename to userspace/libraries/LibC/include/ftw.h diff --git a/libc/include/glob.h b/userspace/libraries/LibC/include/glob.h similarity index 100% rename from libc/include/glob.h rename to userspace/libraries/LibC/include/glob.h diff --git a/libc/include/grp.h b/userspace/libraries/LibC/include/grp.h similarity index 100% rename from libc/include/grp.h rename to userspace/libraries/LibC/include/grp.h diff --git a/libc/include/iconv.h b/userspace/libraries/LibC/include/iconv.h similarity index 100% rename from libc/include/iconv.h rename to userspace/libraries/LibC/include/iconv.h diff --git a/libc/include/icxxabi.h b/userspace/libraries/LibC/include/icxxabi.h similarity index 100% rename from libc/include/icxxabi.h rename to userspace/libraries/LibC/include/icxxabi.h diff --git a/libc/include/inttypes.h b/userspace/libraries/LibC/include/inttypes.h similarity index 100% rename from libc/include/inttypes.h rename to userspace/libraries/LibC/include/inttypes.h diff --git a/libc/include/langinfo.h b/userspace/libraries/LibC/include/langinfo.h similarity index 100% rename from libc/include/langinfo.h rename to userspace/libraries/LibC/include/langinfo.h diff --git a/libc/include/libgen.h b/userspace/libraries/LibC/include/libgen.h similarity index 100% rename from libc/include/libgen.h rename to userspace/libraries/LibC/include/libgen.h diff --git a/libc/include/limits.h b/userspace/libraries/LibC/include/limits.h similarity index 100% rename from libc/include/limits.h rename to userspace/libraries/LibC/include/limits.h diff --git a/libc/include/locale.h b/userspace/libraries/LibC/include/locale.h similarity index 100% rename from libc/include/locale.h rename to userspace/libraries/LibC/include/locale.h diff --git a/libc/include/math.h b/userspace/libraries/LibC/include/math.h similarity index 100% rename from libc/include/math.h rename to userspace/libraries/LibC/include/math.h diff --git a/libc/include/monetary.h b/userspace/libraries/LibC/include/monetary.h similarity index 100% rename from libc/include/monetary.h rename to userspace/libraries/LibC/include/monetary.h diff --git a/libc/include/mqueue.h b/userspace/libraries/LibC/include/mqueue.h similarity index 100% rename from libc/include/mqueue.h rename to userspace/libraries/LibC/include/mqueue.h diff --git a/libc/include/ndbm.h b/userspace/libraries/LibC/include/ndbm.h similarity index 100% rename from libc/include/ndbm.h rename to userspace/libraries/LibC/include/ndbm.h diff --git a/libc/include/net/if.h b/userspace/libraries/LibC/include/net/if.h similarity index 100% rename from libc/include/net/if.h rename to userspace/libraries/LibC/include/net/if.h diff --git a/libc/include/netdb.h b/userspace/libraries/LibC/include/netdb.h similarity index 100% rename from libc/include/netdb.h rename to userspace/libraries/LibC/include/netdb.h diff --git a/libc/include/netinet/in.h b/userspace/libraries/LibC/include/netinet/in.h similarity index 100% rename from libc/include/netinet/in.h rename to userspace/libraries/LibC/include/netinet/in.h diff --git a/libc/include/netinet/tcp.h b/userspace/libraries/LibC/include/netinet/tcp.h similarity index 100% rename from libc/include/netinet/tcp.h rename to userspace/libraries/LibC/include/netinet/tcp.h diff --git a/libc/include/nl_types.h b/userspace/libraries/LibC/include/nl_types.h similarity index 100% rename from libc/include/nl_types.h rename to userspace/libraries/LibC/include/nl_types.h diff --git a/libc/include/poll.h b/userspace/libraries/LibC/include/poll.h similarity index 100% rename from libc/include/poll.h rename to userspace/libraries/LibC/include/poll.h diff --git a/libc/include/pthread.h b/userspace/libraries/LibC/include/pthread.h similarity index 100% rename from libc/include/pthread.h rename to userspace/libraries/LibC/include/pthread.h diff --git a/libc/include/pwd.h b/userspace/libraries/LibC/include/pwd.h similarity index 100% rename from libc/include/pwd.h rename to userspace/libraries/LibC/include/pwd.h diff --git a/libc/include/regex.h b/userspace/libraries/LibC/include/regex.h similarity index 100% rename from libc/include/regex.h rename to userspace/libraries/LibC/include/regex.h diff --git a/libc/include/scanf_impl.h b/userspace/libraries/LibC/include/scanf_impl.h similarity index 100% rename from libc/include/scanf_impl.h rename to userspace/libraries/LibC/include/scanf_impl.h diff --git a/libc/include/sched.h b/userspace/libraries/LibC/include/sched.h similarity index 100% rename from libc/include/sched.h rename to userspace/libraries/LibC/include/sched.h diff --git a/libc/include/search.h b/userspace/libraries/LibC/include/search.h similarity index 100% rename from libc/include/search.h rename to userspace/libraries/LibC/include/search.h diff --git a/libc/include/semaphore.h b/userspace/libraries/LibC/include/semaphore.h similarity index 100% rename from libc/include/semaphore.h rename to userspace/libraries/LibC/include/semaphore.h diff --git a/libc/include/setjmp.h b/userspace/libraries/LibC/include/setjmp.h similarity index 100% rename from libc/include/setjmp.h rename to userspace/libraries/LibC/include/setjmp.h diff --git a/libc/include/signal.h b/userspace/libraries/LibC/include/signal.h similarity index 100% rename from libc/include/signal.h rename to userspace/libraries/LibC/include/signal.h diff --git a/libc/include/spawn.h b/userspace/libraries/LibC/include/spawn.h similarity index 100% rename from libc/include/spawn.h rename to userspace/libraries/LibC/include/spawn.h diff --git a/libc/include/stdint.h b/userspace/libraries/LibC/include/stdint.h similarity index 100% rename from libc/include/stdint.h rename to userspace/libraries/LibC/include/stdint.h diff --git a/libc/include/stdio.h b/userspace/libraries/LibC/include/stdio.h similarity index 100% rename from libc/include/stdio.h rename to userspace/libraries/LibC/include/stdio.h diff --git a/libc/include/stdlib.h b/userspace/libraries/LibC/include/stdlib.h similarity index 100% rename from libc/include/stdlib.h rename to userspace/libraries/LibC/include/stdlib.h diff --git a/libc/include/string.h b/userspace/libraries/LibC/include/string.h similarity index 100% rename from libc/include/string.h rename to userspace/libraries/LibC/include/string.h diff --git a/libc/include/strings.h b/userspace/libraries/LibC/include/strings.h similarity index 100% rename from libc/include/strings.h rename to userspace/libraries/LibC/include/strings.h diff --git a/libc/include/stropts.h b/userspace/libraries/LibC/include/stropts.h similarity index 100% rename from libc/include/stropts.h rename to userspace/libraries/LibC/include/stropts.h diff --git a/libc/include/sys/banan-os.h b/userspace/libraries/LibC/include/sys/banan-os.h similarity index 100% rename from libc/include/sys/banan-os.h rename to userspace/libraries/LibC/include/sys/banan-os.h diff --git a/libc/include/sys/cdefs.h b/userspace/libraries/LibC/include/sys/cdefs.h similarity index 100% rename from libc/include/sys/cdefs.h rename to userspace/libraries/LibC/include/sys/cdefs.h diff --git a/libc/include/sys/framebuffer.h b/userspace/libraries/LibC/include/sys/framebuffer.h similarity index 100% rename from libc/include/sys/framebuffer.h rename to userspace/libraries/LibC/include/sys/framebuffer.h diff --git a/libc/include/sys/ipc.h b/userspace/libraries/LibC/include/sys/ipc.h similarity index 100% rename from libc/include/sys/ipc.h rename to userspace/libraries/LibC/include/sys/ipc.h diff --git a/libc/include/sys/mman.h b/userspace/libraries/LibC/include/sys/mman.h similarity index 100% rename from libc/include/sys/mman.h rename to userspace/libraries/LibC/include/sys/mman.h diff --git a/libc/include/sys/msg.h b/userspace/libraries/LibC/include/sys/msg.h similarity index 100% rename from libc/include/sys/msg.h rename to userspace/libraries/LibC/include/sys/msg.h diff --git a/libc/include/sys/resource.h b/userspace/libraries/LibC/include/sys/resource.h similarity index 100% rename from libc/include/sys/resource.h rename to userspace/libraries/LibC/include/sys/resource.h diff --git a/libc/include/sys/select.h b/userspace/libraries/LibC/include/sys/select.h similarity index 100% rename from libc/include/sys/select.h rename to userspace/libraries/LibC/include/sys/select.h diff --git a/libc/include/sys/sem.h b/userspace/libraries/LibC/include/sys/sem.h similarity index 100% rename from libc/include/sys/sem.h rename to userspace/libraries/LibC/include/sys/sem.h diff --git a/libc/include/sys/shm.h b/userspace/libraries/LibC/include/sys/shm.h similarity index 100% rename from libc/include/sys/shm.h rename to userspace/libraries/LibC/include/sys/shm.h diff --git a/libc/include/sys/socket.h b/userspace/libraries/LibC/include/sys/socket.h similarity index 100% rename from libc/include/sys/socket.h rename to userspace/libraries/LibC/include/sys/socket.h diff --git a/libc/include/sys/stat.h b/userspace/libraries/LibC/include/sys/stat.h similarity index 100% rename from libc/include/sys/stat.h rename to userspace/libraries/LibC/include/sys/stat.h diff --git a/libc/include/sys/statvfs.h b/userspace/libraries/LibC/include/sys/statvfs.h similarity index 100% rename from libc/include/sys/statvfs.h rename to userspace/libraries/LibC/include/sys/statvfs.h diff --git a/libc/include/sys/syscall.h b/userspace/libraries/LibC/include/sys/syscall.h similarity index 100% rename from libc/include/sys/syscall.h rename to userspace/libraries/LibC/include/sys/syscall.h diff --git a/libc/include/sys/sysmacros.h b/userspace/libraries/LibC/include/sys/sysmacros.h similarity index 100% rename from libc/include/sys/sysmacros.h rename to userspace/libraries/LibC/include/sys/sysmacros.h diff --git a/libc/include/sys/time.h b/userspace/libraries/LibC/include/sys/time.h similarity index 100% rename from libc/include/sys/time.h rename to userspace/libraries/LibC/include/sys/time.h diff --git a/libc/include/sys/times.h b/userspace/libraries/LibC/include/sys/times.h similarity index 100% rename from libc/include/sys/times.h rename to userspace/libraries/LibC/include/sys/times.h diff --git a/libc/include/sys/types.h b/userspace/libraries/LibC/include/sys/types.h similarity index 100% rename from libc/include/sys/types.h rename to userspace/libraries/LibC/include/sys/types.h diff --git a/libc/include/sys/uio.h b/userspace/libraries/LibC/include/sys/uio.h similarity index 100% rename from libc/include/sys/uio.h rename to userspace/libraries/LibC/include/sys/uio.h diff --git a/libc/include/sys/un.h b/userspace/libraries/LibC/include/sys/un.h similarity index 100% rename from libc/include/sys/un.h rename to userspace/libraries/LibC/include/sys/un.h diff --git a/libc/include/sys/utsname.h b/userspace/libraries/LibC/include/sys/utsname.h similarity index 100% rename from libc/include/sys/utsname.h rename to userspace/libraries/LibC/include/sys/utsname.h diff --git a/libc/include/sys/wait.h b/userspace/libraries/LibC/include/sys/wait.h similarity index 100% rename from libc/include/sys/wait.h rename to userspace/libraries/LibC/include/sys/wait.h diff --git a/libc/include/syslog.h b/userspace/libraries/LibC/include/syslog.h similarity index 100% rename from libc/include/syslog.h rename to userspace/libraries/LibC/include/syslog.h diff --git a/libc/include/tar.h b/userspace/libraries/LibC/include/tar.h similarity index 100% rename from libc/include/tar.h rename to userspace/libraries/LibC/include/tar.h diff --git a/libc/include/termios.h b/userspace/libraries/LibC/include/termios.h similarity index 100% rename from libc/include/termios.h rename to userspace/libraries/LibC/include/termios.h diff --git a/libc/include/tgmath.h b/userspace/libraries/LibC/include/tgmath.h similarity index 100% rename from libc/include/tgmath.h rename to userspace/libraries/LibC/include/tgmath.h diff --git a/libc/include/time.h b/userspace/libraries/LibC/include/time.h similarity index 100% rename from libc/include/time.h rename to userspace/libraries/LibC/include/time.h diff --git a/libc/include/ulimit.h b/userspace/libraries/LibC/include/ulimit.h similarity index 100% rename from libc/include/ulimit.h rename to userspace/libraries/LibC/include/ulimit.h diff --git a/libc/include/unistd.h b/userspace/libraries/LibC/include/unistd.h similarity index 100% rename from libc/include/unistd.h rename to userspace/libraries/LibC/include/unistd.h diff --git a/libc/include/utime.h b/userspace/libraries/LibC/include/utime.h similarity index 100% rename from libc/include/utime.h rename to userspace/libraries/LibC/include/utime.h diff --git a/libc/include/utmpx.h b/userspace/libraries/LibC/include/utmpx.h similarity index 100% rename from libc/include/utmpx.h rename to userspace/libraries/LibC/include/utmpx.h diff --git a/libc/include/wchar.h b/userspace/libraries/LibC/include/wchar.h similarity index 100% rename from libc/include/wchar.h rename to userspace/libraries/LibC/include/wchar.h diff --git a/libc/include/wctype.h b/userspace/libraries/LibC/include/wctype.h similarity index 100% rename from libc/include/wctype.h rename to userspace/libraries/LibC/include/wctype.h diff --git a/libc/include/wordexp.h b/userspace/libraries/LibC/include/wordexp.h similarity index 100% rename from libc/include/wordexp.h rename to userspace/libraries/LibC/include/wordexp.h diff --git a/libc/malloc.cpp b/userspace/libraries/LibC/malloc.cpp similarity index 100% rename from libc/malloc.cpp rename to userspace/libraries/LibC/malloc.cpp diff --git a/libc/math.cpp b/userspace/libraries/LibC/math.cpp similarity index 100% rename from libc/math.cpp rename to userspace/libraries/LibC/math.cpp diff --git a/libc/netdb.cpp b/userspace/libraries/LibC/netdb.cpp similarity index 100% rename from libc/netdb.cpp rename to userspace/libraries/LibC/netdb.cpp diff --git a/libc/printf_impl.cpp b/userspace/libraries/LibC/printf_impl.cpp similarity index 100% rename from libc/printf_impl.cpp rename to userspace/libraries/LibC/printf_impl.cpp diff --git a/libc/pwd.cpp b/userspace/libraries/LibC/pwd.cpp similarity index 100% rename from libc/pwd.cpp rename to userspace/libraries/LibC/pwd.cpp diff --git a/libc/scanf_impl.cpp b/userspace/libraries/LibC/scanf_impl.cpp similarity index 100% rename from libc/scanf_impl.cpp rename to userspace/libraries/LibC/scanf_impl.cpp diff --git a/libc/signal.cpp b/userspace/libraries/LibC/signal.cpp similarity index 100% rename from libc/signal.cpp rename to userspace/libraries/LibC/signal.cpp diff --git a/libc/stdio.cpp b/userspace/libraries/LibC/stdio.cpp similarity index 100% rename from libc/stdio.cpp rename to userspace/libraries/LibC/stdio.cpp diff --git a/libc/stdlib.cpp b/userspace/libraries/LibC/stdlib.cpp similarity index 100% rename from libc/stdlib.cpp rename to userspace/libraries/LibC/stdlib.cpp diff --git a/libc/string.cpp b/userspace/libraries/LibC/string.cpp similarity index 100% rename from libc/string.cpp rename to userspace/libraries/LibC/string.cpp diff --git a/libc/strings.cpp b/userspace/libraries/LibC/strings.cpp similarity index 100% rename from libc/strings.cpp rename to userspace/libraries/LibC/strings.cpp diff --git a/libc/stropts.cpp b/userspace/libraries/LibC/stropts.cpp similarity index 100% rename from libc/stropts.cpp rename to userspace/libraries/LibC/stropts.cpp diff --git a/libc/sys/banan-os.cpp b/userspace/libraries/LibC/sys/banan-os.cpp similarity index 100% rename from libc/sys/banan-os.cpp rename to userspace/libraries/LibC/sys/banan-os.cpp diff --git a/libc/sys/mman.cpp b/userspace/libraries/LibC/sys/mman.cpp similarity index 100% rename from libc/sys/mman.cpp rename to userspace/libraries/LibC/sys/mman.cpp diff --git a/libc/sys/select.cpp b/userspace/libraries/LibC/sys/select.cpp similarity index 100% rename from libc/sys/select.cpp rename to userspace/libraries/LibC/sys/select.cpp diff --git a/libc/sys/socket.cpp b/userspace/libraries/LibC/sys/socket.cpp similarity index 100% rename from libc/sys/socket.cpp rename to userspace/libraries/LibC/sys/socket.cpp diff --git a/libc/sys/stat.cpp b/userspace/libraries/LibC/sys/stat.cpp similarity index 100% rename from libc/sys/stat.cpp rename to userspace/libraries/LibC/sys/stat.cpp diff --git a/libc/sys/wait.cpp b/userspace/libraries/LibC/sys/wait.cpp similarity index 100% rename from libc/sys/wait.cpp rename to userspace/libraries/LibC/sys/wait.cpp diff --git a/libc/termios.cpp b/userspace/libraries/LibC/termios.cpp similarity index 100% rename from libc/termios.cpp rename to userspace/libraries/LibC/termios.cpp diff --git a/libc/time.cpp b/userspace/libraries/LibC/time.cpp similarity index 100% rename from libc/time.cpp rename to userspace/libraries/LibC/time.cpp diff --git a/libc/unistd.cpp b/userspace/libraries/LibC/unistd.cpp similarity index 100% rename from libc/unistd.cpp rename to userspace/libraries/LibC/unistd.cpp diff --git a/LibELF/CMakeLists.txt b/userspace/libraries/LibELF/CMakeLists.txt similarity index 100% rename from LibELF/CMakeLists.txt rename to userspace/libraries/LibELF/CMakeLists.txt diff --git a/LibELF/LibELF/ELF.cpp b/userspace/libraries/LibELF/LibELF/ELF.cpp similarity index 100% rename from LibELF/LibELF/ELF.cpp rename to userspace/libraries/LibELF/LibELF/ELF.cpp diff --git a/LibELF/LibELF/LoadableELF.cpp b/userspace/libraries/LibELF/LibELF/LoadableELF.cpp similarity index 100% rename from LibELF/LibELF/LoadableELF.cpp rename to userspace/libraries/LibELF/LibELF/LoadableELF.cpp diff --git a/LibELF/include/LibELF/ELF.h b/userspace/libraries/LibELF/include/LibELF/ELF.h similarity index 100% rename from LibELF/include/LibELF/ELF.h rename to userspace/libraries/LibELF/include/LibELF/ELF.h diff --git a/LibELF/include/LibELF/LoadableELF.h b/userspace/libraries/LibELF/include/LibELF/LoadableELF.h similarity index 100% rename from LibELF/include/LibELF/LoadableELF.h rename to userspace/libraries/LibELF/include/LibELF/LoadableELF.h diff --git a/LibELF/include/LibELF/Types.h b/userspace/libraries/LibELF/include/LibELF/Types.h similarity index 100% rename from LibELF/include/LibELF/Types.h rename to userspace/libraries/LibELF/include/LibELF/Types.h diff --git a/LibELF/include/LibELF/Values.h b/userspace/libraries/LibELF/include/LibELF/Values.h similarity index 100% rename from LibELF/include/LibELF/Values.h rename to userspace/libraries/LibELF/include/LibELF/Values.h diff --git a/LibFont/CMakeLists.txt b/userspace/libraries/LibFont/CMakeLists.txt similarity index 100% rename from LibFont/CMakeLists.txt rename to userspace/libraries/LibFont/CMakeLists.txt diff --git a/LibFont/Font.cpp b/userspace/libraries/LibFont/Font.cpp similarity index 100% rename from LibFont/Font.cpp rename to userspace/libraries/LibFont/Font.cpp diff --git a/LibFont/PSF.cpp b/userspace/libraries/LibFont/PSF.cpp similarity index 100% rename from LibFont/PSF.cpp rename to userspace/libraries/LibFont/PSF.cpp diff --git a/LibFont/include/LibFont/Font.h b/userspace/libraries/LibFont/include/LibFont/Font.h similarity index 100% rename from LibFont/include/LibFont/Font.h rename to userspace/libraries/LibFont/include/LibFont/Font.h diff --git a/LibFont/include/LibFont/PSF.h b/userspace/libraries/LibFont/include/LibFont/PSF.h similarity index 100% rename from LibFont/include/LibFont/PSF.h rename to userspace/libraries/LibFont/include/LibFont/PSF.h diff --git a/LibGUI/CMakeLists.txt b/userspace/libraries/LibGUI/CMakeLists.txt similarity index 100% rename from LibGUI/CMakeLists.txt rename to userspace/libraries/LibGUI/CMakeLists.txt diff --git a/LibGUI/Window.cpp b/userspace/libraries/LibGUI/Window.cpp similarity index 100% rename from LibGUI/Window.cpp rename to userspace/libraries/LibGUI/Window.cpp diff --git a/LibGUI/include/LibGUI/Window.h b/userspace/libraries/LibGUI/include/LibGUI/Window.h similarity index 100% rename from LibGUI/include/LibGUI/Window.h rename to userspace/libraries/LibGUI/include/LibGUI/Window.h diff --git a/LibImage/CMakeLists.txt b/userspace/libraries/LibImage/CMakeLists.txt similarity index 100% rename from LibImage/CMakeLists.txt rename to userspace/libraries/LibImage/CMakeLists.txt diff --git a/LibImage/Image.cpp b/userspace/libraries/LibImage/Image.cpp similarity index 100% rename from LibImage/Image.cpp rename to userspace/libraries/LibImage/Image.cpp diff --git a/LibImage/Netbpm.cpp b/userspace/libraries/LibImage/Netbpm.cpp similarity index 100% rename from LibImage/Netbpm.cpp rename to userspace/libraries/LibImage/Netbpm.cpp diff --git a/LibImage/PNG.cpp b/userspace/libraries/LibImage/PNG.cpp similarity index 100% rename from LibImage/PNG.cpp rename to userspace/libraries/LibImage/PNG.cpp diff --git a/LibImage/include/LibImage/Image.h b/userspace/libraries/LibImage/include/LibImage/Image.h similarity index 100% rename from LibImage/include/LibImage/Image.h rename to userspace/libraries/LibImage/include/LibImage/Image.h diff --git a/LibImage/include/LibImage/Netbpm.h b/userspace/libraries/LibImage/include/LibImage/Netbpm.h similarity index 100% rename from LibImage/include/LibImage/Netbpm.h rename to userspace/libraries/LibImage/include/LibImage/Netbpm.h diff --git a/LibImage/include/LibImage/PNG.h b/userspace/libraries/LibImage/include/LibImage/PNG.h similarity index 100% rename from LibImage/include/LibImage/PNG.h rename to userspace/libraries/LibImage/include/LibImage/PNG.h diff --git a/LibInput/CMakeLists.txt b/userspace/libraries/LibInput/CMakeLists.txt similarity index 100% rename from LibInput/CMakeLists.txt rename to userspace/libraries/LibInput/CMakeLists.txt diff --git a/LibInput/KeyEvent.cpp b/userspace/libraries/LibInput/KeyEvent.cpp similarity index 100% rename from LibInput/KeyEvent.cpp rename to userspace/libraries/LibInput/KeyEvent.cpp diff --git a/LibInput/KeyboardLayout.cpp b/userspace/libraries/LibInput/KeyboardLayout.cpp similarity index 100% rename from LibInput/KeyboardLayout.cpp rename to userspace/libraries/LibInput/KeyboardLayout.cpp diff --git a/LibInput/include/LibInput/KeyEvent.h b/userspace/libraries/LibInput/include/LibInput/KeyEvent.h similarity index 100% rename from LibInput/include/LibInput/KeyEvent.h rename to userspace/libraries/LibInput/include/LibInput/KeyEvent.h diff --git a/LibInput/include/LibInput/KeyboardLayout.h b/userspace/libraries/LibInput/include/LibInput/KeyboardLayout.h similarity index 100% rename from LibInput/include/LibInput/KeyboardLayout.h rename to userspace/libraries/LibInput/include/LibInput/KeyboardLayout.h diff --git a/LibInput/include/LibInput/MouseEvent.h b/userspace/libraries/LibInput/include/LibInput/MouseEvent.h similarity index 100% rename from LibInput/include/LibInput/MouseEvent.h rename to userspace/libraries/LibInput/include/LibInput/MouseEvent.h