added onetbb
This commit is contained in:
		
							parent
							
								
									dac0e1a5e5
								
							
						
					
					
						commit
						c08e70d5c1
					
				
					 3 changed files with 88 additions and 0 deletions
				
			
		
							
								
								
									
										36
									
								
								pkgs/tbb/build.sh
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								pkgs/tbb/build.sh
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,36 @@ | |||
| pkgname=tbb | ||||
| pkgver=master | ||||
| 
 | ||||
| fetch() { | ||||
| 	curl -L "https://github.com/oneapi-src/oneTBB/archive/refs/heads/master.tar.gz" -o $pkgname-$pkgver.tar.xz | ||||
| 	tar -xf $pkgname-$pkgver.tar.xz | ||||
| 	mv oneTBB-$pkgver $pkgname-$pkgver | ||||
| 	mkdir $pkgname-$pkgver/build | ||||
| 	cd $pkgname-$pkgver | ||||
| 	patch -p1 < ../../musl-malloc-proxy.patch | ||||
| 	patch -p1 < ../../musl-rtld.patch | ||||
| } | ||||
| 
 | ||||
| build() { | ||||
| 	cd $pkgname-$pkgver | ||||
| 	cd build | ||||
| 	cmake -G Ninja ../ \ | ||||
| 		-DCMAKE_BUILD_TYPE=Release \ | ||||
| 		-DCMAKE_INSTALL_PREFIX=/usr \ | ||||
| 		-DCMAKE_INSTALL_LIBDIR=lib \ | ||||
| 		-DTBB_TEST=OFF \ | ||||
| 		-DCMAKE_CXX_FLAGS=-Wno-unused-command-line-argument | ||||
| 	samu | ||||
| } | ||||
| 
 | ||||
| package() { | ||||
| 	cd $pkgname-$pkgver | ||||
| 	cd build | ||||
| 	DESTDIR=$pkgdir samu install | ||||
| } | ||||
| 
 | ||||
| license() { | ||||
| 	cd $pkgname-$pkgver | ||||
| 	cat LICENSE.txt | ||||
| #	cat COPYING | ||||
| } | ||||
							
								
								
									
										38
									
								
								pkgs/tbb/musl-malloc-proxy.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								pkgs/tbb/musl-malloc-proxy.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,38 @@ | |||
| --- a/src/tbbmalloc_proxy/proxy.cpp
 | ||||
| +++ b/src/tbbmalloc_proxy/proxy.cpp
 | ||||
| @@ -24,7 +24,8 @@
 | ||||
|  // of aligned_alloc as required by new C++ standard, this makes it hard to | ||||
|  // redefine aligned_alloc here. However, running on systems with new libc | ||||
|  // version, it still needs it to be redefined, thus tricking system headers | ||||
| -#if defined(__GLIBC_PREREQ) && !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC
 | ||||
| +#if defined(__GLIBC_PREREQ)
 | ||||
| +#if !__GLIBC_PREREQ(2, 16) && _GLIBCXX_HAVE_ALIGNED_ALLOC
 | ||||
|  // tell <cstdlib> that there is no aligned_alloc | ||||
|  #undef _GLIBCXX_HAVE_ALIGNED_ALLOC | ||||
|  // trick <stdlib.h> to define another symbol instead | ||||
| @@ -32,7 +33,8 @@
 | ||||
|  // Fix the state and undefine the trick | ||||
|  #include <cstdlib> | ||||
|  #undef aligned_alloc | ||||
| -#endif // defined(__GLIBC_PREREQ)&&!__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC
 | ||||
| +#endif // !__GLIBC_PREREQ(2, 16)&&_GLIBCXX_HAVE_ALIGNED_ALLOC
 | ||||
| +#endif // defined(__GLIBC_PREREQ)
 | ||||
|  #endif // __linux__ && !__ANDROID__ | ||||
|   | ||||
|  #include "proxy.h" | ||||
| @@ -253,6 +255,7 @@
 | ||||
|      return 1; | ||||
|  } | ||||
|   | ||||
| +#ifdef __GLIBC__
 | ||||
|  struct mallinfo mallinfo() __THROW | ||||
|  { | ||||
|      struct mallinfo m; | ||||
| @@ -260,6 +263,7 @@
 | ||||
|   | ||||
|      return m; | ||||
|  } | ||||
| +#endif
 | ||||
|   | ||||
|  #if __ANDROID__ | ||||
|  // Android doesn't have malloc_usable_size, provide it to be compatible | ||||
							
								
								
									
										14
									
								
								pkgs/tbb/musl-rtld.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								pkgs/tbb/musl-rtld.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | |||
| --- a/src/tbb/dynamic_link.cpp
 | ||||
| +++ b/src/tbb/dynamic_link.cpp
 | ||||
| @@ -413,9 +413,9 @@
 | ||||
|          int flags = RTLD_NOW; | ||||
|          if (local_binding) { | ||||
|              flags = flags | RTLD_LOCAL; | ||||
| -#if __linux__ && !__ANDROID__ && !__TBB_USE_ADDRESS_SANITIZER
 | ||||
| +#if __linux__ && defined(__GLIBC__) && !__TBB_USE_ADDRESS_SANITIZER
 | ||||
|              flags = flags | RTLD_DEEPBIND; | ||||
| -#endif /*__linux__ && !__ANDROID__ && !__TBB_USE_ADDRESS_SANITIZER*/
 | ||||
| +#endif /*__linux__ && defined(__GLIBC__) && !__TBB_USE_ADDRESS_SANITIZER*/
 | ||||
|          } else { | ||||
|              flags = flags | RTLD_GLOBAL; | ||||
|          } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue