Add unbound for linux
This commit is contained in:
		
							parent
							
								
									86db4530de
								
							
						
					
					
						commit
						5a951b9398
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,2 +1,3 @@ | ||||
| .idea/ | ||||
| out/ | ||||
| **/.build_*_*.txt | ||||
|  | ||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @ -70,3 +70,6 @@ | ||||
| [submodule "build-helpers"] | ||||
| 	path = build-helpers | ||||
| 	url = https://github.com/WolverinDEV/build-helpers.git | ||||
| [submodule "third_party/unbound"] | ||||
| 	path = third_party/unbound | ||||
| 	url = https://github.com/NLnetLabs/unbound.git | ||||
|  | ||||
							
								
								
									
										2
									
								
								client
									
									
									
									
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								client
									
									
									
									
									
								
							| @ -1 +1 @@ | ||||
| Subproject commit 6def99931862133eaa37b5de6146f97ff3802188 | ||||
| Subproject commit a39f573a5fedb43167ce841f51b30d7d75905135 | ||||
| @ -21,33 +21,46 @@ | ||||
| include(tearoot-helper) | ||||
| include(FindPackageHandleStandardArgs) | ||||
| 
 | ||||
| find_path(opus_ROOT_DIR | ||||
|         NAMES include/opus/opus.h | ||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/${BUILD_OUTPUT} | ||||
| ) | ||||
| function(resolve_opus) | ||||
| 	find_path(opus_ROOT_DIR | ||||
| 			NAMES include/opus/opus.h | ||||
| 			HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/${BUILD_OUTPUT} | ||||
| 	) | ||||
| 
 | ||||
| find_path(opus_INCLUDE_DIR | ||||
|         NAMES opus/opus.h opus/opus_defines.h | ||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/include/ | ||||
| ) | ||||
| 	find_path(opus_INCLUDE_DIR | ||||
| 			NAMES opus/opus.h opus/opus_defines.h | ||||
| 			HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/include/ | ||||
| 	) | ||||
| 
 | ||||
| find_library(opus_LIBRARIES_STATIC | ||||
|         NAMES libopus.a opus.a opus.lib | ||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/lib | ||||
| ) | ||||
| 	find_library(opus_LIBRARIES_STATIC | ||||
| 			NAMES libopus.a opus.a opus.lib | ||||
| 			HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/lib | ||||
| 	) | ||||
| 	 | ||||
| find_library(opus_LIBRARIES_SHARED | ||||
|         NAMES opus.dll libopus.so opus.so | ||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/lib | ||||
| ) | ||||
| 	if(opus_LIBRARIES_STATIC) | ||||
| 		add_library(opus::static SHARED IMPORTED) | ||||
| 		set_target_properties(opus::static PROPERTIES | ||||
| 			IMPORTED_LOCATION ${opus_LIBRARIES_STATIC} | ||||
| 			INTERFACE_INCLUDE_DIRECTORIES ${opus_INCLUDE_DIR} | ||||
| 		) | ||||
| 	endif() | ||||
| 
 | ||||
| find_package_handle_standard_args(opus DEFAULT_MSG | ||||
|         opus_INCLUDE_DIR | ||||
| ) | ||||
| 	find_library(opus_LIBRARIES_SHARED | ||||
| 			NAMES opus.dll libopus.so opus.so | ||||
| 			HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/lib | ||||
| 	) | ||||
| 	 | ||||
| 	if(opus_LIBRARIES_SHARED) | ||||
| 		add_library(opus::shared SHARED IMPORTED) | ||||
| 		set_target_properties(opus::shared PROPERTIES | ||||
| 			IMPORTED_LOCATION ${opus_LIBRARIES_SHARED} | ||||
| 			INTERFACE_INCLUDE_DIRECTORIES ${opus_INCLUDE_DIR} | ||||
| 		) | ||||
| 	endif() | ||||
| 	 | ||||
| 	find_package_handle_standard_args(opus DEFAULT_MSG | ||||
| 			opus_INCLUDE_DIR | ||||
| 	) | ||||
| endfunction() | ||||
| resolve_opus() | ||||
| 
 | ||||
| mark_as_advanced( | ||||
|         opus_ROOT_DIR | ||||
|         opus_INCLUDE_DIR | ||||
|         opus_LIBRARIES_STATIC | ||||
|         opus_LIBRARIES_SHARED | ||||
| ) | ||||
							
								
								
									
										67
									
								
								cmake/Findunbound.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								cmake/Findunbound.cmake
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,67 @@ | ||||
| # - Try to find unbound include dirs and libraries | ||||
| # | ||||
| # Usage of this module as follows: | ||||
| # | ||||
| #     find_package(unbound) | ||||
| # | ||||
| # Variables used by this module, they can change the default behaviour and need | ||||
| # to be set before calling find_package: | ||||
| # | ||||
| #  unbound_ROOT_DIR          Set this variable to the root installation of | ||||
| #                            unbound if the module has problems finding the | ||||
| #                            proper installation path. | ||||
| # | ||||
| # Variables defined by this module: | ||||
| # | ||||
| #  unbound_FOUND             System has unbound, include and library dirs found | ||||
| #  unbound_INCLUDE_DIR       The unbound include directories. | ||||
| #  unbound_LIBRARIES_STATIC  The unbound libraries. | ||||
| #  unbound_LIBRARIES_SHARED  The unbound libraries. | ||||
| 
 | ||||
| include(tearoot-helper) | ||||
| include(FindPackageHandleStandardArgs) | ||||
| 
 | ||||
| function(resolve_unbound) | ||||
| 	find_path(unbound_ROOT_DIR | ||||
| 			NAMES include/unbound.h include/unbound-event.h | ||||
| 			HINTS ${unbound_ROOT_DIR} ${unbound_ROOT_DIR}/${BUILD_OUTPUT} | ||||
| 	) | ||||
| 
 | ||||
| 	find_path(unbound_INCLUDE_DIR | ||||
| 			NAMES include/unbound.h include/unbound-event.h | ||||
| 			HINTS ${unbound_ROOT_DIR} | ||||
| 	) | ||||
| 
 | ||||
| 	find_library(unbound_LIBRARIES_STATIC | ||||
| 			NAMES libunbound.a unbound.a unbound.lib | ||||
| 			HINTS ${unbound_ROOT_DIR} ${unbound_ROOT_DIR}/lib | ||||
| 	) | ||||
| 	 | ||||
| 	if(unbound_LIBRARIES_STATIC) | ||||
| 		add_library(unbound::static SHARED IMPORTED) | ||||
| 		set_target_properties(unbound::static PROPERTIES | ||||
| 			IMPORTED_LOCATION ${unbound_LIBRARIES_STATIC} | ||||
| 			INTERFACE_INCLUDE_DIRECTORIES ${unbound_INCLUDE_DIR} | ||||
| 		) | ||||
| 	endif() | ||||
| 
 | ||||
| 	find_library(unbound_LIBRARIES_SHARED | ||||
| 			NAMES unbound.dll libunbound.so unbound.so | ||||
| 			HINTS ${unbound_ROOT_DIR} ${unbound_ROOT_DIR}/lib | ||||
| 	) | ||||
| 	 | ||||
| 	if(unbound_LIBRARIES_SHARED) | ||||
| 		add_library(unbound::shared SHARED IMPORTED) | ||||
| 		set_target_properties(unbound::shared PROPERTIES | ||||
| 			IMPORTED_LOCATION ${unbound_LIBRARIES_SHARED} | ||||
| 			INTERFACE_INCLUDE_DIRECTORIES ${unbound_INCLUDE_DIR} | ||||
| 		) | ||||
| 	endif() | ||||
| 	 | ||||
| 	find_package_handle_standard_args(unbound DEFAULT_MSG | ||||
| 			unbound_INCLUDE_DIR | ||||
| 	) | ||||
| endfunction() | ||||
| resolve_unbound() | ||||
| 
 | ||||
| 
 | ||||
| @ -27,6 +27,7 @@ SET(PortAudio_ROOT_DIR "${LIBRARY_PATH}/portaudio/${BUILD_OUTPUT}") | ||||
| SET(fvad_ROOT_DIR "${LIBRARY_PATH}/libfvad/${BUILD_OUTPUT}") | ||||
| SET(opus_ROOT_DIR "${LIBRARY_PATH}/opus/${BUILD_OUTPUT}") | ||||
| SET(breakpad_ROOT_DIR "${LIBRARY_PATH}/breakpad/${BUILD_OUTPUT}") | ||||
| SET(unbound_ROOT_DIR "${LIBRARY_PATH}/unbound/${BUILD_OUTPUT}") | ||||
| SET(TeaSpeak_SharedLib_ROOT_DIR "${LIBRARY_PATH}/../shared/") | ||||
| 
 | ||||
| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${LIBRARY_PATH}/spdlog/${BUILD_OUTPUT}") | ||||
							
								
								
									
										
											BIN
										
									
								
								third_party/.build_jsoncpp.sh.swp
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								third_party/.build_jsoncpp.sh.swp
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										2
									
								
								third_party/boringssl
									
									
									
									
										vendored
									
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										2
									
								
								third_party/boringssl
									
									
									
									
										vendored
									
									
								
							| @ -1 +1 @@ | ||||
| Subproject commit 8289fee35e8ba5d6acebe0a217618aca66658c2c | ||||
| Subproject commit 6f3e034fe58ce3bca3c1c32be6d603a6206c89af | ||||
							
								
								
									
										15
									
								
								third_party/build_boringssl.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										15
									
								
								third_party/build_boringssl.sh
									
									
									
									
										vendored
									
									
								
							| @ -11,12 +11,15 @@ if [[ ${build_os_type} == "linux" ]]; then | ||||
| 
 | ||||
|     cd boringssl/ | ||||
|     [[ $? -ne 0 ]] && exit 1 | ||||
|     if [[ ! -d lib ]]; then | ||||
|         mkdir lib && cd lib | ||||
|         ln -s ../build/ssl/libssl.so . | ||||
|         ln -s ../build/crypto/libcrypto.so . | ||||
|         cd .. | ||||
|     fi | ||||
|     [[ -d lib ]] && rm -r lib | ||||
|     [[ $? -ne 0 ]] && exit 2 | ||||
| 
 | ||||
|     mkdir lib && cd lib | ||||
|     ln -s ../build/ssl/libssl.so . | ||||
|     ln -s ../build/crypto/libcrypto.so . | ||||
|     ln -s ../include/ . | ||||
|     cd .. | ||||
| 
 | ||||
|     cat include/openssl/opensslv.h | grep "OPENSSL_VERSION_NUMBER" &> /dev/null | ||||
|     if [[ $? -ne 0 ]]; then | ||||
|         echo "#if false | ||||
|  | ||||
							
								
								
									
										51
									
								
								third_party/build_unbound.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										51
									
								
								third_party/build_unbound.sh
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @ -0,0 +1,51 @@ | ||||
| #!/usr/bin/env bash | ||||
| 
 | ||||
| source ../scripts/build_helper.sh | ||||
| library_path="unbound" | ||||
| requires_rebuild ${library_path} | ||||
| [[ $? -eq 0 ]] && exit 0 | ||||
| 
 | ||||
| generate_build_path "${library_path}" | ||||
| library_event=`pwd`/libevent/out/${build_os_type}_${build_os_arch}/ | ||||
| library_boringssl=`pwd`/boringssl/lib/ | ||||
| 
 | ||||
| 
 | ||||
| if [[ -d ${build_path} ]]; then | ||||
|     echo "Removing old build directory" | ||||
|     rm -r ${build_path} | ||||
| fi | ||||
| 
 | ||||
| mkdir -p ${build_path} | ||||
| check_err_exit ${library_path} "Failed to create build directory" | ||||
| cd ${build_path} | ||||
| check_err_exit ${library_path} "Failed to enter build directory" | ||||
| 
 | ||||
| if [[ ${build_os_type} == "linux" ]]; then | ||||
| 	#Failed to build with BoringSSL, so we using openssl. No ABI stuff should be changed! | ||||
| 	# --with-ssl=${library_boringssl} | ||||
|     ../../configure --with-libunbound-only --with-libevent=${library_event} --enable-event-api --enable-shared=no --enable-static=yes --with-pthreads --enable-pic --prefix=`pwd` | ||||
| 	check_err_exit ${library_path} "Failed to configure build" | ||||
|     make CXXFLAGS="${CXX_FLAGS}" CFLAGS="${C_FLAGS}" ${MAKE_OPTIONS} | ||||
| 	check_err_exit ${library_path} "Failed to build" | ||||
| 	make install | ||||
| 	check_err_exit ${library_path} "Failed to install" | ||||
| elif [[ ${build_os_type} == "win32" ]]; then | ||||
| 	exit 1 #TODO | ||||
|     cmake ../../ -G"Visual Studio 14 2015 Win64" -DOPENSSL_NO_ASM=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=. -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded" | ||||
|     check_err_exit ${library_path} "Failed generate build files!" | ||||
| 
 | ||||
|     cmake --build .  --target crypto --config release -j 8 | ||||
|     #MSBuild.exe //p:Configuration=Release //p:Platform=x64 crypto/crypto.vcxproj | ||||
|     check_err_exit ${library_path} "Failed to build crytp!" | ||||
| 
 | ||||
|     cmake --build .  --target ssl --config release -j 8 | ||||
|     #MSBuild.exe //p:Configuration=Release //p:Platform=x64 ssl/ssl.vcxproj | ||||
|     check_err_exit ${library_path} "Failed to build ssl!" | ||||
| else | ||||
|     echo "Invalid OS!" | ||||
|     exit 1 | ||||
| fi | ||||
| cd ../../../ | ||||
| 
 | ||||
| set_build_successful ${library_path} | ||||
| 
 | ||||
							
								
								
									
										1
									
								
								third_party/unbound
									
									
									
									
										vendored
									
									
										Submodule
									
								
							
							
								
								
								
								
								
								
									
									
								
							
						
						
									
										1
									
								
								third_party/unbound
									
									
									
									
										vendored
									
									
										Submodule
									
								
							| @ -0,0 +1 @@ | ||||
| Subproject commit 7dfbcdf276e7a1070978209d2533b3b8cc504f86 | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user