Merge commit 'v3.3.0' into upstream
[debian/gnuradio] / dtools / bin / install-tbb
diff --git a/dtools/bin/install-tbb b/dtools/bin/install-tbb
new file mode 100755 (executable)
index 0000000..95ffbed
--- /dev/null
@@ -0,0 +1,88 @@
+#!/usr/bin/env python
+
+"""
+Install the release and debug libs and includes under --prefix
+"""
+
+from optparse import OptionParser
+import os
+import os.path
+import glob
+
+default_prefix="/usr/local"
+
+pkgconfig_filename = "tbb.pc"
+pkgconfig_file_contents = """\
+prefix=%s
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: tbb
+Description: Intel Threading Building Blocks
+Requires: 
+Version: 2.0
+Libs: -L${libdir} -ltbb -ltbbmalloc
+Cflags: -I${includedir}
+"""
+
+debug_pkgconfig_filename = "tbb_debug.pc"
+debug_pkgconfig_file_contents = """\
+prefix=%s
+exec_prefix=${prefix}
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
+
+Name: tbb
+Description: Intel Threading Building Blocks
+Requires: 
+Version: 2.0
+Libs: -L${libdir} -ltbb_debug -ltbbmalloc_debug
+Cflags: -I${includedir}
+"""
+
+def main():
+   parser = OptionParser()
+   parser.add_option('','--prefix', default=default_prefix,
+                     help="install architecture-independent files in PREFIX [default=%default]")
+   (options, args) = parser.parse_args()
+   if len(args) != 0:
+      parser.print_help()
+      raise SystemExit, 1
+
+   prefix = options.prefix
+   
+   # are we installing 64-bit libs?
+
+   is_64bit = False
+   files = glob.glob('build/*_em64t_*_release')
+   # print "files: ", files
+   if len(files) != 0:
+      is_64bit = True
+
+   # FIXME add 32 and 64-bit PPC support
+
+   if is_64bit:
+      lib = 'lib64'
+   else:
+      lib = 'lib'
+      
+   os.system('install -d ' + os.path.join(prefix, 'include/tbb'))
+   os.system('install -d ' + os.path.join(prefix, 'include/tbb/machine'))
+   os.system('install -d ' + os.path.join(prefix, lib))
+   os.system('install -d ' + os.path.join(prefix, lib, 'pkgconfig'))
+   os.system('install -t ' + os.path.join(prefix, lib) + ' build/linux*release/*.so*')
+   os.system('install -t ' + os.path.join(prefix, lib) + ' build/linux*debug/*.so*')
+   os.system('install -t ' + os.path.join(prefix, 'include/tbb') + ' include/tbb/*.h')
+   os.system('install -t ' + os.path.join(prefix, 'include/tbb/machine') + ' include/tbb/machine/*.h')
+
+   f = open(os.path.join(prefix, lib, 'pkgconfig', pkgconfig_filename), 'w')
+   f.write(pkgconfig_file_contents % (prefix,))
+   f.close()
+   
+   f = open(os.path.join(prefix, lib, 'pkgconfig', debug_pkgconfig_filename), 'w')
+   f.write(debug_pkgconfig_file_contents % (prefix,))
+   f.close()
+   
+if __name__ == "__main__":
+   main()