forked from Bananymous/banan-os
				
			BuildSystem: add rule to build libstdc++
We can now build libstdc++ and actually link with g++
This commit is contained in:
		
							parent
							
								
									9bd4d68f9c
								
							
						
					
					
						commit
						271dd91292
					
				|  | @ -54,6 +54,12 @@ add_custom_target(toolchain | ||||||
| 	USES_TERMINAL | 	USES_TERMINAL | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | add_custom_target(libstdc++ | ||||||
|  | 	COMMAND ${CMAKE_COMMAND} -E env LIBSTDCPP="1" ${CMAKE_SOURCE_DIR}/toolchain/build.sh | ||||||
|  | 	DEPENDS libc-install | ||||||
|  | 	USES_TERMINAL | ||||||
|  | ) | ||||||
|  | 
 | ||||||
| add_custom_target(image | add_custom_target(image | ||||||
| 	COMMAND ${CMAKE_COMMAND} -E env SYSROOT="${BANAN_SYSROOT}" DISK_IMAGE_PATH="${DISK_IMAGE_PATH}" ${CMAKE_SOURCE_DIR}/image.sh | 	COMMAND ${CMAKE_COMMAND} -E env SYSROOT="${BANAN_SYSROOT}" DISK_IMAGE_PATH="${DISK_IMAGE_PATH}" ${CMAKE_SOURCE_DIR}/image.sh | ||||||
| 	DEPENDS kernel-install | 	DEPENDS kernel-install | ||||||
|  |  | ||||||
|  | @ -6,6 +6,13 @@ GCC_VERSION="gcc-12.2.0" | ||||||
| 
 | 
 | ||||||
| cd $(dirname "$0") | cd $(dirname "$0") | ||||||
| 
 | 
 | ||||||
|  | if [[ -n $LIBSTDCPP ]]; then | ||||||
|  | 	cd build/${GCC_VERSION}/ | ||||||
|  | 	make -j $(nproc) all-target-libstdc++-v3 | ||||||
|  | 	make install-target-libstdc++-v3 | ||||||
|  | 	exit 0 | ||||||
|  | fi | ||||||
|  | 
 | ||||||
| if [[ -z $SYSROOT ]]; then | if [[ -z $SYSROOT ]]; then | ||||||
| 	echo "You must set the SYSROOT environment variable" >&2 | 	echo "You must set the SYSROOT environment variable" >&2 | ||||||
| 	exit 1 | 	exit 1 | ||||||
|  |  | ||||||
|  | @ -17,7 +17,6 @@ add_custom_target(userspace) | ||||||
| add_custom_target(userspace-install DEPENDS userspace) | add_custom_target(userspace-install DEPENDS userspace) | ||||||
| 
 | 
 | ||||||
| foreach(USERSPACE_PROJECT ${USERSPACE_PROJECTS}) | foreach(USERSPACE_PROJECT ${USERSPACE_PROJECTS}) | ||||||
| 	target_link_options(${USERSPACE_PROJECT} PUBLIC -nodefaultlibs) |  | ||||||
| 	add_dependencies(userspace ${USERSPACE_PROJECT}) | 	add_dependencies(userspace ${USERSPACE_PROJECT}) | ||||||
| 	add_dependencies(userspace-install ${USERSPACE_PROJECT}-install) | 	add_dependencies(userspace-install ${USERSPACE_PROJECT}-install) | ||||||
| endforeach() | endforeach() | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue