Add unbound for linux
This commit is contained in:
		
							parent
							
								
									86db4530de
								
							
						
					
					
						commit
						5a951b9398
					
				
							
								
								
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -1,2 +1,3 @@ | |||||||
| .idea/ | .idea/ | ||||||
| out/ | out/ | ||||||
|  | **/.build_*_*.txt | ||||||
|  | |||||||
							
								
								
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.gitmodules
									
									
									
									
										vendored
									
									
								
							| @ -70,3 +70,6 @@ | |||||||
| [submodule "build-helpers"] | [submodule "build-helpers"] | ||||||
| 	path = build-helpers | 	path = build-helpers | ||||||
| 	url = https://github.com/WolverinDEV/build-helpers.git | 	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(tearoot-helper) | ||||||
| include(FindPackageHandleStandardArgs) | include(FindPackageHandleStandardArgs) | ||||||
| 
 | 
 | ||||||
| find_path(opus_ROOT_DIR | function(resolve_opus) | ||||||
|         NAMES include/opus/opus.h | 	find_path(opus_ROOT_DIR | ||||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/${BUILD_OUTPUT} | 			NAMES include/opus/opus.h | ||||||
| ) | 			HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/${BUILD_OUTPUT} | ||||||
|  | 	) | ||||||
| 
 | 
 | ||||||
| find_path(opus_INCLUDE_DIR | 	find_path(opus_INCLUDE_DIR | ||||||
|         NAMES opus/opus.h opus/opus_defines.h | 			NAMES opus/opus.h opus/opus_defines.h | ||||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/include/ | 			HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/include/ | ||||||
| ) | 	) | ||||||
| 
 | 
 | ||||||
| find_library(opus_LIBRARIES_STATIC | 	find_library(opus_LIBRARIES_STATIC | ||||||
|         NAMES libopus.a opus.a opus.lib | 			NAMES libopus.a opus.a opus.lib | ||||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/lib | 			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_library(opus_LIBRARIES_SHARED | 	find_library(opus_LIBRARIES_SHARED | ||||||
|         NAMES opus.dll libopus.so opus.so | 			NAMES opus.dll libopus.so opus.so | ||||||
| 		HINTS ${opus_ROOT_DIR} ${opus_ROOT_DIR}/lib | 			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() | ||||||
| 
 | 
 | ||||||
| find_package_handle_standard_args(opus DEFAULT_MSG |  | ||||||
|         opus_INCLUDE_DIR |  | ||||||
| ) |  | ||||||
| 
 |  | ||||||
| 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(fvad_ROOT_DIR "${LIBRARY_PATH}/libfvad/${BUILD_OUTPUT}") | ||||||
| SET(opus_ROOT_DIR "${LIBRARY_PATH}/opus/${BUILD_OUTPUT}") | SET(opus_ROOT_DIR "${LIBRARY_PATH}/opus/${BUILD_OUTPUT}") | ||||||
| SET(breakpad_ROOT_DIR "${LIBRARY_PATH}/breakpad/${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(TeaSpeak_SharedLib_ROOT_DIR "${LIBRARY_PATH}/../shared/") | ||||||
| 
 | 
 | ||||||
| set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${LIBRARY_PATH}/spdlog/${BUILD_OUTPUT}") | 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 | ||||||
							
								
								
									
										17
									
								
								third_party/build_boringssl.sh
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								third_party/build_boringssl.sh
									
									
									
									
										vendored
									
									
								
							| @ -11,12 +11,15 @@ if [[ ${build_os_type} == "linux" ]]; then | |||||||
| 
 | 
 | ||||||
|     cd boringssl/ |     cd boringssl/ | ||||||
|     [[ $? -ne 0 ]] && exit 1 |     [[ $? -ne 0 ]] && exit 1 | ||||||
|     if [[ ! -d lib ]]; then |     [[ -d lib ]] && rm -r lib | ||||||
|         mkdir lib && cd lib |     [[ $? -ne 0 ]] && exit 2 | ||||||
|         ln -s ../build/ssl/libssl.so . | 
 | ||||||
|         ln -s ../build/crypto/libcrypto.so . |     mkdir lib && cd lib | ||||||
|         cd .. |     ln -s ../build/ssl/libssl.so . | ||||||
|     fi |     ln -s ../build/crypto/libcrypto.so . | ||||||
|  |     ln -s ../include/ . | ||||||
|  |     cd .. | ||||||
|  | 
 | ||||||
|     cat include/openssl/opensslv.h | grep "OPENSSL_VERSION_NUMBER" &> /dev/null |     cat include/openssl/opensslv.h | grep "OPENSSL_VERSION_NUMBER" &> /dev/null | ||||||
|     if [[ $? -ne 0 ]]; then |     if [[ $? -ne 0 ]]; then | ||||||
|         echo "#if false |         echo "#if false | ||||||
| @ -64,4 +67,4 @@ else | |||||||
| fi | fi | ||||||
| cd ../../../ | cd ../../../ | ||||||
| 
 | 
 | ||||||
| set_build_successful ${library_path} | set_build_successful ${library_path} | ||||||
|  | |||||||
							
								
								
									
										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