mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
sb/pkg-config: Add --cflags-only-I and --cflags-only-other option
This commit is contained in:
parent
c85c46e3bb
commit
6f96edf25b
@ -86,6 +86,19 @@ def log(s, lf = True):
|
|||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
print(s, end = '', file = out)
|
print(s, end = '', file = out)
|
||||||
|
|
||||||
|
def cflags_filter(cflags, prefixes, include=True):
|
||||||
|
cflags = cflags.split(' ')
|
||||||
|
f_cflags = []
|
||||||
|
for f in cflags:
|
||||||
|
for p in prefixes:
|
||||||
|
if f.startswith(p):
|
||||||
|
f_cflags += [f]
|
||||||
|
if not include:
|
||||||
|
not_f_cflags = [f for f in cflags if f not in f_cflags]
|
||||||
|
f_cflags = not_f_cflags
|
||||||
|
return ' '.join(f_cflags)
|
||||||
|
|
||||||
|
|
||||||
def run(argv):
|
def run(argv):
|
||||||
|
|
||||||
class version_action(argparse.Action):
|
class version_action(argparse.Action):
|
||||||
@ -110,6 +123,7 @@ def run(argv):
|
|||||||
help = 'Make error messages short.')
|
help = 'Make error messages short.')
|
||||||
opts.add_argument('--silence-errors', dest = 'silence_errors', action = 'store_true',
|
opts.add_argument('--silence-errors', dest = 'silence_errors', action = 'store_true',
|
||||||
default = False,
|
default = False,
|
||||||
|
|
||||||
help = 'Do not print any errors.')
|
help = 'Do not print any errors.')
|
||||||
opts.add_argument('--errors-to-stdout', dest = 'errors_to_stdout', action = 'store_true',
|
opts.add_argument('--errors-to-stdout', dest = 'errors_to_stdout', action = 'store_true',
|
||||||
default = False,
|
default = False,
|
||||||
@ -118,6 +132,14 @@ def run(argv):
|
|||||||
default = False,
|
default = False,
|
||||||
help = 'This prints pre-processor and compile flags required to' \
|
help = 'This prints pre-processor and compile flags required to' \
|
||||||
' compile the package(s)')
|
' compile the package(s)')
|
||||||
|
opts.add_argument('--cflags-only-I', dest = 'cflags_only_i', action = 'store_true',
|
||||||
|
default = False,
|
||||||
|
help = 'This prints the -I part of "--cflags". That is, it defines the header' \
|
||||||
|
'search path but doesn\'t specify anything else.')
|
||||||
|
opts.add_argument('--cflags-only-other', dest = 'cflags_only_other', action = 'store_true',
|
||||||
|
default = False,
|
||||||
|
help = 'Return all compiler flags, other than the include path flags, ' \
|
||||||
|
'required to compile against the package.')
|
||||||
opts.add_argument('--libs', dest = 'libs', action = 'store_true',
|
opts.add_argument('--libs', dest = 'libs', action = 'store_true',
|
||||||
default = False,
|
default = False,
|
||||||
help = 'This option is identical to "--cflags", only it prints the' \
|
help = 'This option is identical to "--cflags", only it prints the' \
|
||||||
@ -193,6 +215,20 @@ def run(argv):
|
|||||||
log('cflags: %s' % (flags['cflags']))
|
log('cflags: %s' % (flags['cflags']))
|
||||||
else:
|
else:
|
||||||
log('cflags: empty')
|
log('cflags: empty')
|
||||||
|
if args.cflags_only_i:
|
||||||
|
cflags = cflags_filter(flags['cflags'], ['-I', '-system'], True)
|
||||||
|
if len(cflags):
|
||||||
|
print(cflags)
|
||||||
|
log('cflags: %s' % (flags['cflags']))
|
||||||
|
else:
|
||||||
|
log('cflags: empty')
|
||||||
|
if args.cflags_only_other:
|
||||||
|
cflags = cflags_filter(flags['cflags'], ['-I', '-system'], False)
|
||||||
|
if len(cflags):
|
||||||
|
print(cflags)
|
||||||
|
log('cflags: %s' % (flags['cflags']))
|
||||||
|
else:
|
||||||
|
log('cflags: empty')
|
||||||
if args.libs:
|
if args.libs:
|
||||||
if len(flags['libs']):
|
if len(flags['libs']):
|
||||||
print(flags['libs'])
|
print(flags['libs'])
|
||||||
|
Loading…
x
Reference in New Issue
Block a user