Linux: create a library loader code generator for dlopen and use it for libpci.
BUG=162733 Review URL: https://codereview.chromium.org/11415138 git-svn-id: http://src.chromium.org/svn/trunk/src/build@170010 4ff67af0-8c30-449e-8e8b-ad334ec8d88c
This commit is contained in:
Родитель
d4ffb45331
Коммит
50b75e4919
|
@ -11,6 +11,8 @@
|
|||
'pkg-config': 'pkg-config'
|
||||
}]
|
||||
],
|
||||
|
||||
'linux_link_libpci%': 0,
|
||||
},
|
||||
'conditions': [
|
||||
[ 'os_posix==1 and OS!="mac"', {
|
||||
|
@ -274,6 +276,70 @@
|
|||
}],
|
||||
],
|
||||
},
|
||||
{
|
||||
'target_name': 'libpci',
|
||||
'type': 'static_library',
|
||||
'cflags': [
|
||||
'<!@(<(pkg-config) --cflags libpci)',
|
||||
],
|
||||
'include_dirs': [
|
||||
'../..',
|
||||
],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
'<(SHARED_INTERMEDIATE_DIR)',
|
||||
],
|
||||
'conditions': [
|
||||
['linux_link_libpci==1', {
|
||||
'link_settings': {
|
||||
'ldflags': [
|
||||
'<!@(<(pkg-config) --libs-only-L --libs-only-other libpci)',
|
||||
],
|
||||
'libraries': [
|
||||
'<!@(<(pkg-config) --libs-only-l libpci)',
|
||||
],
|
||||
}
|
||||
}],
|
||||
],
|
||||
},
|
||||
'hard_dependency': 1,
|
||||
'actions': [
|
||||
{
|
||||
'variables': {
|
||||
'output_h': '<(SHARED_INTERMEDIATE_DIR)/library_loaders/libpci.h',
|
||||
'output_cc': '<(INTERMEDIATE_DIR)/libpci_loader.cc',
|
||||
'generator': '../../tools/generate_library_loader/generate_library_loader.py',
|
||||
},
|
||||
'action_name': 'generate_libpci_loader',
|
||||
'inputs': [
|
||||
'<(generator)',
|
||||
],
|
||||
'outputs': [
|
||||
'<(output_h)',
|
||||
'<(output_cc)',
|
||||
],
|
||||
'action': ['python',
|
||||
'<(generator)',
|
||||
'--name', 'LibPciLoader',
|
||||
'--output-h', '<(output_h)',
|
||||
'--output-cc', '<(output_cc)',
|
||||
'--header', '<pci/pci.h>',
|
||||
# TODO(phajdan.jr): Report problem to pciutils project
|
||||
# and get it fixed so that we don't need --use-extern-c.
|
||||
'--use-extern-c',
|
||||
'--link-directly=<(linux_link_libpci)',
|
||||
'pci_alloc',
|
||||
'pci_init',
|
||||
'pci_cleanup',
|
||||
'pci_scan_bus',
|
||||
'pci_fill_info',
|
||||
'pci_lookup_name',
|
||||
],
|
||||
'message': 'Generating libpci library loader.',
|
||||
'process_outputs_as_sources': 1,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
'target_name': 'x11',
|
||||
'type': 'none',
|
||||
|
|
Загрузка…
Ссылка в новой задаче