mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 18:12:43 +00:00 
			
		
		
		
	 5dfe2eb389
			
		
	
	
		5dfe2eb389
		
	
	
	
	
		
			
			Since https://reviews.llvm.org/D131441, libc++ must be included before LibC. As clang includes libc++ as one of the system includes, LibC must be included after those, and the only correct way to do that is to install LibC's headers into the sysroot. Targets that don't link with LibC yet require its headers for one reason or another must add install_libc_headers as a dependency to ensure that the correct headers have been (re)installed into the sysroot. LibC/stddef.h has been dropped since the built-in stddef.h receives a higher include priority. In addition, string.h and wchar.h must define __CORRECT_ISO_CPP_STRING_H_PROTO and _LIBCPP_WCHAR_H_HAS_CONST_OVERLOADS respectively in order to tell libc++ to not try to define methods implemented by LibC.
		
			
				
	
	
		
			13 lines
		
	
	
	
		
			477 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
	
		
			477 B
		
	
	
	
		
			CMake
		
	
	
	
	
	
| set(SOURCES
 | |
|     syscall.cpp
 | |
| )
 | |
| 
 | |
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdlib")
 | |
| serenity_libc(LibSystem system)
 | |
| add_dependencies(LibSystem install_libc_headers)
 | |
| target_include_directories(LibSystem PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 | |
| 
 | |
| add_library(LibSystemStatic STATIC ${SOURCES})
 | |
| add_dependencies(LibSystemStatic install_libc_headers)
 | |
| target_include_directories(LibSystemStatic PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
 | |
| target_link_libraries(LibSystemStatic PRIVATE NoCoverage)
 |