pci: build on Windows

Added <sys/types.h> in rte_pci header file
to include off_t type since it is missing for Windows.

Define the implementation of the Linux function rte_pci_get_sysfs_path
in pci_common.c for Linux OS only as it is unneeded for other OSs
and to avoid the warning on deprecated call to getenv() on Windows:

"warning: 'getenv' is deprecated: This function or variable may be unsafe.
Consider using _dupenv_s instead."

Signed-off-by: Tal Shnaiderman <talshn@mellanox.com>
This commit is contained in:
Tal Shnaiderman 2020-06-29 15:37:35 +03:00 committed by Thomas Monjalon
parent 2fd3567e54
commit b137f95366
4 changed files with 8 additions and 1 deletions

View File

@ -35,9 +35,11 @@ const char *rte_pci_get_sysfs_path(void)
{
const char *path = NULL;
#ifdef RTE_EXEC_ENV_LINUX
path = getenv("SYSFS_PCI_DEVICES");
if (path == NULL)
return SYSFS_PCI_DEVICES;
#endif
return path;
}

View File

@ -1,5 +1,6 @@
EXPORTS
__rte_panic
per_lcore__rte_errno
rte_calloc
rte_calloc_socket
rte_eal_get_configuration

View File

@ -20,6 +20,7 @@ extern "C" {
#include <limits.h>
#include <sys/queue.h>
#include <inttypes.h>
#include <sys/types.h>
/** Formatting string for PCI device identifier: Ex: 0000:00:01.0 */
#define PCI_PRI_FMT "%.4" PRIx16 ":%.2" PRIx8 ":%.2" PRIx8 ".%" PRIx8

View File

@ -36,7 +36,10 @@ libraries = [
'flow_classify', 'bpf', 'graph', 'node']
if is_windows
libraries = ['kvargs','eal'] # only supported libraries for windows
libraries = [
'kvargs','eal',
'pci',
] # only supported libraries for windows
endif
default_cflags = machine_args