#!/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()