eal: add OS specific header file
authorAnand Rawat <anand.rawat@intel.com>
Tue, 2 Apr 2019 03:54:51 +0000 (20:54 -0700)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 2 Apr 2019 23:11:56 +0000 (01:11 +0200)
Added rte_os.h files to support OS specific functionality.
Updated build system to contain OS headers in the include
path.

Signed-off-by: Anand Rawat <anand.rawat@intel.com>
Reviewed-by: Pallavi Kadam <pallavi.kadam@intel.com>
Acked-by: Harini Ramakrishnan <harini.ramakrishnan@microsoft.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
lib/librte_eal/freebsd/eal/Makefile
lib/librte_eal/freebsd/eal/include/rte_os.h [new file with mode: 0644]
lib/librte_eal/freebsd/eal/meson.build
lib/librte_eal/linux/eal/Makefile
lib/librte_eal/linux/eal/include/rte_os.h [new file with mode: 0644]
lib/librte_eal/linux/eal/meson.build
lib/librte_eal/windows/eal/include/rte_os.h [new file with mode: 0644]
lib/librte_eal/windows/eal/meson.build
meson.build
mk/exec-env/freebsd/rte.vars.mk
mk/exec-env/linux/rte.vars.mk

index 55d476e..19854ee 100644 (file)
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2015 Intel Corporation
+# Copyright(c) 2010-2019 Intel Corporation
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
@@ -86,7 +86,7 @@ CFLAGS_eal_thread.o += -Wno-return-type
 CFLAGS_eal_hpet.o += -Wno-return-type
 endif
 
-INC :=  # no bsd specific headers
+INC := rte_os.h
 
 SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
 
diff --git a/lib/librte_eal/freebsd/eal/include/rte_os.h b/lib/librte_eal/freebsd/eal/include/rte_os.h
new file mode 100644 (file)
index 0000000..49cd4d4
--- /dev/null
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2010-2019 Intel Corporation
+ */
+
+#ifndef _RTE_OS_H_
+#define _RTE_OS_H_
+
+/**
+ * This is header should contain any function/macro definition
+ * which are not supported natively or named differently in the
+ * freebsd OS. Functions will be added in future releases.
+ */
+
+#endif /* _RTE_OS_H_ */
index 3945b52..1426f7e 100644 (file)
@@ -2,7 +2,9 @@
 # Copyright(c) 2017 Intel Corporation
 
 env_objs = []
-env_headers = []
+env_headers = files(
+               'include/rte_os.h',
+)
 env_sources = files('eal_alarm.c',
                'eal_cpuflags.c',
                'eal_debug.c',
index 2aa6e8c..6e52611 100644 (file)
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2016 Intel Corporation
+# Copyright(c) 2010-2019 Intel Corporation
 
 include $(RTE_SDK)/mk/rte.vars.mk
 
@@ -94,6 +94,7 @@ CFLAGS_eal_thread.o += -Wno-return-type
 endif
 
 INC := rte_kni_common.h
+INC += rte_os.h
 
 SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
 
diff --git a/lib/librte_eal/linux/eal/include/rte_os.h b/lib/librte_eal/linux/eal/include/rte_os.h
new file mode 100644 (file)
index 0000000..bc6ad14
--- /dev/null
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2010-2019 Intel Corporation
+ */
+
+#ifndef _RTE_OS_H_
+#define _RTE_OS_H_
+
+/**
+ * This is header should contain any function/macro definition
+ * which are not supported natively or named differently in the
+ * linux OS. Functions will be added in future releases.
+ */
+
+#endif /* _RTE_OS_H_ */
index d223da6..b02b069 100644 (file)
@@ -4,7 +4,10 @@
 eal_inc += include_directories('include')
 
 env_objs = []
-env_headers = files('include/rte_kni_common.h')
+env_headers = files(
+               'include/rte_kni_common.h',
+               'include/rte_os.h',
+)
 env_sources = files('eal_alarm.c',
                'eal_cpuflags.c',
                'eal_debug.c',
diff --git a/lib/librte_eal/windows/eal/include/rte_os.h b/lib/librte_eal/windows/eal/include/rte_os.h
new file mode 100644 (file)
index 0000000..421ed8e
--- /dev/null
@@ -0,0 +1,14 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2010-2019 Intel Corporation
+ */
+
+#ifndef _RTE_OS_H_
+#define _RTE_OS_H_
+
+/**
+ * This is header should contain any function/macro definition
+ * which are not supported natively or named differently in the
+ * Windows OS. Functions will be added in future releases.
+ */
+
+#endif /* _RTE_OS_H_ */
index 8b17356..1781e60 100644 (file)
@@ -2,7 +2,9 @@
 # Copyright(c) 2019 Intel Corporation
 
 env_objs = []
-env_headers = []
+env_headers = files(
+       'include/rte_os.h',
+)
 env_sources = files('eal.c',
        'eal_debug.c',
        'eal_lcore.c',
index 6061c4b..a964865 100644 (file)
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2017 Intel Corporation
+# Copyright(c) 2017-2019 Intel Corporation
 
 project('DPDK', 'C',
        # Get version number from file.
@@ -24,7 +24,10 @@ dpdk_app_link_libraries = []
 # configure the build, and make sure configs here and in config folder are
 # able to be included in any file. We also store a global array of include dirs
 # for passing to pmdinfogen scripts
-global_inc = include_directories('.', 'config', 'lib/librte_eal/common/include')
+global_inc = include_directories('.', 'config',
+       'lib/librte_eal/common/include',
+       'lib/librte_eal/@0@/eal/include'.format(host_machine.system()),
+)
 subdir('config')
 
 # build libs and drivers
index c6be560..3608530 100644 (file)
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
+# Copyright(c) 2010-2019 Intel Corporation
 
 #
 # exec-env:
@@ -17,6 +17,9 @@ else
 EXECENV_CFLAGS  = -pthread
 endif
 
+# include in every library to build
+EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/freebsd/eal/include
+
 EXECENV_LDFLAGS =
 EXECENV_LDLIBS  = -lexecinfo
 EXECENV_ASFLAGS =
index d04d0e2..bea3f76 100644 (file)
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2010-2014 Intel Corporation
+# Copyright(c) 2010-2019 Intel Corporation
 
 #
 # exec-env:
@@ -17,6 +17,9 @@ else
 EXECENV_CFLAGS  = -pthread
 endif
 
+# include in every library to build
+EXECENV_CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal/include
+
 EXECENV_LDLIBS  =
 EXECENV_ASFLAGS =