1*4882a593Smuzhiyun# Path utility functions for OE python scripts 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun# Copyright (C) 2012-2014 Intel Corporation 4*4882a593Smuzhiyun# Copyright (C) 2011 Mentor Graphics Corporation 5*4882a593Smuzhiyun# 6*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 7*4882a593Smuzhiyun# 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunimport sys 10*4882a593Smuzhiyunimport os 11*4882a593Smuzhiyunimport os.path 12*4882a593Smuzhiyun 13*4882a593Smuzhiyundef add_oe_lib_path(): 14*4882a593Smuzhiyun basepath = os.path.abspath(os.path.dirname(__file__) + '/../..') 15*4882a593Smuzhiyun newpath = basepath + '/meta/lib' 16*4882a593Smuzhiyun sys.path.insert(0, newpath) 17*4882a593Smuzhiyun 18*4882a593Smuzhiyundef add_bitbake_lib_path(): 19*4882a593Smuzhiyun basepath = os.path.abspath(os.path.dirname(__file__) + '/../..') 20*4882a593Smuzhiyun bitbakepath = None 21*4882a593Smuzhiyun if os.path.exists(basepath + '/bitbake/lib/bb'): 22*4882a593Smuzhiyun bitbakepath = basepath + '/bitbake' 23*4882a593Smuzhiyun else: 24*4882a593Smuzhiyun # look for bitbake/bin dir in PATH 25*4882a593Smuzhiyun for pth in os.environ['PATH'].split(':'): 26*4882a593Smuzhiyun if os.path.exists(os.path.join(pth, '../lib/bb')): 27*4882a593Smuzhiyun bitbakepath = os.path.abspath(os.path.join(pth, '..')) 28*4882a593Smuzhiyun break 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun if bitbakepath: 31*4882a593Smuzhiyun sys.path.insert(0, bitbakepath + '/lib') 32*4882a593Smuzhiyun return bitbakepath 33