Re: [lng-odp] [PATCH v2] build: fix conditional compilation of sources

2017-06-22 Thread Brian Brooks
Hi Maxim,

Can you please land this in api-next as well as master since
we need to rebase the scalable scheduler patch series against
this patch?

Thanks,
Brian

On 06/22 17:05:38, Brian Brooks wrote:
> Explicitly add all arch//* files to respective _SOURCES
> variables instead of using @ARCH_DIR@ substitution.
> 
> This patch fixes the broken build for ARM, PPC, and MIPS
> introduced by [1] and the similar issue reported while
> testing [2].
> 
> From the Autoconf manual [3]:
> 
>   You can't put a configure substitution (e.g., '@FOO@' or
>   '$(FOO)' where FOO is defined via AC_SUBST) into a _SOURCES
>   variable. The reason for this is a bit hard to explain, but
>   suffice to say that it simply won't work.
> 
> Here be dragons..
> 
> [1] https://lists.linaro.org/pipermail/lng-odp/2017-April/030324.html
> [2] https://lists.linaro.org/pipermail/lng-odp/2017-June/031598.html
> [3] 
> https://www.gnu.org/software/automake/manual/html_node/Conditional-Sources.html
> 
> Signed-off-by: Brian Brooks 
> Reviewed-by: Kevin Wang 
> Reviewed-by: Yi He 
> Reviewed-by: Honnappa Nagarahalli 
> ---
> 
> v2:
>  - Alphabetize x86 sources (Maxim)
> 
>  configure.ac   |  3 +++
>  platform/linux-generic/Makefile.am | 40 
> ++
>  2 files changed, 35 insertions(+), 8 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index 46c7bbd2..45812f66 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -225,6 +225,9 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "x${DOXYGEN}" = 
> "xdoxygen"])
>  AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ])
>  AM_CONDITIONAL([HAVE_MSCGEN], [test "x${MSCGEN}" = "xmscgen"])
>  AM_CONDITIONAL([helper_linux], [test x$helper_linux = xyes ])
> +AM_CONDITIONAL([ARCH_IS_ARM], [test "x${ARCH_DIR}" = "xarm"])
> +AM_CONDITIONAL([ARCH_IS_MIPS64], [test "x${ARCH_DIR}" = "xmips64"])
> +AM_CONDITIONAL([ARCH_IS_POWERPC], [test "x${ARCH_DIR}" = "xpowerpc"])
>  AM_CONDITIONAL([ARCH_IS_X86], [test "x${ARCH_DIR}" = "xx86"])
>  
>  ##
> diff --git a/platform/linux-generic/Makefile.am 
> b/platform/linux-generic/Makefile.am
> index 8dcdebd2..989a65b6 100644
> --- a/platform/linux-generic/Makefile.am
> +++ b/platform/linux-generic/Makefile.am
> @@ -63,8 +63,20 @@ odpapiinclude_HEADERS = \
> $(srcdir)/include/odp/api/time.h \
> $(srcdir)/include/odp/api/timer.h \
> $(srcdir)/include/odp/api/traffic_mngr.h \
> -   $(srcdir)/include/odp/api/version.h \
> -   $(srcdir)/arch/@ARCH_DIR@/odp/api/cpu_arch.h
> +   $(srcdir)/include/odp/api/version.h
> +
> +if ARCH_IS_ARM
> +odpapiinclude_HEADERS += $(srcdir)/arch/arm/odp/api/cpu_arch.h
> +endif
> +if ARCH_IS_MIPS64
> +odpapiinclude_HEADERS += $(srcdir)/arch/mips64/odp/api/cpu_arch.h
> +endif
> +if ARCH_IS_POWERPC
> +odpapiinclude_HEADERS += $(srcdir)/arch/powerpc/odp/api/cpu_arch.h
> +endif
> +if ARCH_IS_X86
> +odpapiinclude_HEADERS += $(srcdir)/arch/x86/odp/api/cpu_arch.h
> +endif
>  
>  odpapiplatincludedir= $(includedir)/odp/api/plat
>  odpapiplatinclude_HEADERS = \
> @@ -217,20 +229,32 @@ __LIB__libodp_linux_la_SOURCES = \
>  odp_timer_wheel.c \
>  odp_traffic_mngr.c \
>  odp_version.c \
> -odp_weak.c \
> -arch/@ARCH_DIR@/odp_cpu_arch.c \
> -arch/@ARCH_DIR@/odp_sysinfo_parse.c
> -
> -__LIB__libodp_linux_la_LIBADD = $(ATOMIC_LIBS)
> +odp_weak.c
>  
> +if ARCH_IS_ARM
> +__LIB__libodp_linux_la_SOURCES += arch/arm/odp_cpu_arch.c \
> +   arch/arm/odp_sysinfo_parse.c
> +endif
> +if ARCH_IS_MIPS64
> +__LIB__libodp_linux_la_SOURCES += arch/mips64/odp_cpu_arch.c \
> +   arch/mips64/odp_sysinfo_parse.c
> +endif
> +if ARCH_IS_POWERPC
> +__LIB__libodp_linux_la_SOURCES += arch/powerpc/odp_cpu_arch.c \
> +   arch/powerpc/odp_sysinfo_parse.c
> +endif
>  if ARCH_IS_X86
> -__LIB__libodp_linux_la_SOURCES += arch/@ARCH_DIR@/cpu_flags.c
> +__LIB__libodp_linux_la_SOURCES += arch/x86/cpu_flags.c \
> +   arch/x86/odp_cpu_arch.c \
> +   arch/x86/odp_sysinfo_parse.c
>  endif
>  
>  if HAVE_PCAP
>  __LIB__libodp_linux_la_SOURCES += pktio/pcap.c
>  endif
>  
> +__LIB__libodp_linux_la_LIBADD = $(ATOMIC_LIBS)
> +
>  # Create symlink for ABI header files. Application does not need to use the 
> arch
>  # specific include path for installed files.
>  install-data-hook:
> -- 
> 2.13.1
> 


Re: [lng-odp] [PATCH v2] build: fix conditional compilation of sources

2017-06-22 Thread Dmitry Eremin-Solenikov
On 23.06.2017 01:05, Brian Brooks wrote:
> Explicitly add all arch//* files to respective _SOURCES
> variables instead of using @ARCH_DIR@ substitution.
> 
> This patch fixes the broken build for ARM, PPC, and MIPS
> introduced by [1] and the similar issue reported while
> testing [2].
> 
> From the Autoconf manual [3]:
> 
>   You can't put a configure substitution (e.g., '@FOO@' or
>   '$(FOO)' where FOO is defined via AC_SUBST) into a _SOURCES
>   variable. The reason for this is a bit hard to explain, but
>   suffice to say that it simply won't work.
> 
> Here be dragons..
> 
> [1] https://lists.linaro.org/pipermail/lng-odp/2017-April/030324.html
> [2] https://lists.linaro.org/pipermail/lng-odp/2017-June/031598.html
> [3] 
> https://www.gnu.org/software/automake/manual/html_node/Conditional-Sources.html
> 
> Signed-off-by: Brian Brooks 
> Reviewed-by: Kevin Wang 
> Reviewed-by: Yi He 
> Reviewed-by: Honnappa Nagarahalli 

Reviewed-by: Dmitry Eremin-Solenikov


-- 
With best wishes
Dmitry


[lng-odp] [PATCH v2] build: fix conditional compilation of sources

2017-06-22 Thread Brian Brooks
Explicitly add all arch//* files to respective _SOURCES
variables instead of using @ARCH_DIR@ substitution.

This patch fixes the broken build for ARM, PPC, and MIPS
introduced by [1] and the similar issue reported while
testing [2].

>From the Autoconf manual [3]:

  You can't put a configure substitution (e.g., '@FOO@' or
  '$(FOO)' where FOO is defined via AC_SUBST) into a _SOURCES
  variable. The reason for this is a bit hard to explain, but
  suffice to say that it simply won't work.

Here be dragons..

[1] https://lists.linaro.org/pipermail/lng-odp/2017-April/030324.html
[2] https://lists.linaro.org/pipermail/lng-odp/2017-June/031598.html
[3] 
https://www.gnu.org/software/automake/manual/html_node/Conditional-Sources.html

Signed-off-by: Brian Brooks 
Reviewed-by: Kevin Wang 
Reviewed-by: Yi He 
Reviewed-by: Honnappa Nagarahalli 
---

v2:
 - Alphabetize x86 sources (Maxim)

 configure.ac   |  3 +++
 platform/linux-generic/Makefile.am | 40 ++
 2 files changed, 35 insertions(+), 8 deletions(-)

diff --git a/configure.ac b/configure.ac
index 46c7bbd2..45812f66 100644
--- a/configure.ac
+++ b/configure.ac
@@ -225,6 +225,9 @@ AM_CONDITIONAL([HAVE_DOXYGEN], [test "x${DOXYGEN}" = 
"xdoxygen"])
 AM_CONDITIONAL([user_guide], [test "x${user_guides}" = "xyes" ])
 AM_CONDITIONAL([HAVE_MSCGEN], [test "x${MSCGEN}" = "xmscgen"])
 AM_CONDITIONAL([helper_linux], [test x$helper_linux = xyes ])
+AM_CONDITIONAL([ARCH_IS_ARM], [test "x${ARCH_DIR}" = "xarm"])
+AM_CONDITIONAL([ARCH_IS_MIPS64], [test "x${ARCH_DIR}" = "xmips64"])
+AM_CONDITIONAL([ARCH_IS_POWERPC], [test "x${ARCH_DIR}" = "xpowerpc"])
 AM_CONDITIONAL([ARCH_IS_X86], [test "x${ARCH_DIR}" = "xx86"])
 
 ##
diff --git a/platform/linux-generic/Makefile.am 
b/platform/linux-generic/Makefile.am
index 8dcdebd2..989a65b6 100644
--- a/platform/linux-generic/Makefile.am
+++ b/platform/linux-generic/Makefile.am
@@ -63,8 +63,20 @@ odpapiinclude_HEADERS = \
  $(srcdir)/include/odp/api/time.h \
  $(srcdir)/include/odp/api/timer.h \
  $(srcdir)/include/odp/api/traffic_mngr.h \
- $(srcdir)/include/odp/api/version.h \
- $(srcdir)/arch/@ARCH_DIR@/odp/api/cpu_arch.h
+ $(srcdir)/include/odp/api/version.h
+
+if ARCH_IS_ARM
+odpapiinclude_HEADERS += $(srcdir)/arch/arm/odp/api/cpu_arch.h
+endif
+if ARCH_IS_MIPS64
+odpapiinclude_HEADERS += $(srcdir)/arch/mips64/odp/api/cpu_arch.h
+endif
+if ARCH_IS_POWERPC
+odpapiinclude_HEADERS += $(srcdir)/arch/powerpc/odp/api/cpu_arch.h
+endif
+if ARCH_IS_X86
+odpapiinclude_HEADERS += $(srcdir)/arch/x86/odp/api/cpu_arch.h
+endif
 
 odpapiplatincludedir= $(includedir)/odp/api/plat
 odpapiplatinclude_HEADERS = \
@@ -217,20 +229,32 @@ __LIB__libodp_linux_la_SOURCES = \
   odp_timer_wheel.c \
   odp_traffic_mngr.c \
   odp_version.c \
-  odp_weak.c \
-  arch/@ARCH_DIR@/odp_cpu_arch.c \
-  arch/@ARCH_DIR@/odp_sysinfo_parse.c
-
-__LIB__libodp_linux_la_LIBADD = $(ATOMIC_LIBS)
+  odp_weak.c
 
+if ARCH_IS_ARM
+__LIB__libodp_linux_la_SOURCES += arch/arm/odp_cpu_arch.c \
+ arch/arm/odp_sysinfo_parse.c
+endif
+if ARCH_IS_MIPS64
+__LIB__libodp_linux_la_SOURCES += arch/mips64/odp_cpu_arch.c \
+ arch/mips64/odp_sysinfo_parse.c
+endif
+if ARCH_IS_POWERPC
+__LIB__libodp_linux_la_SOURCES += arch/powerpc/odp_cpu_arch.c \
+ arch/powerpc/odp_sysinfo_parse.c
+endif
 if ARCH_IS_X86
-__LIB__libodp_linux_la_SOURCES += arch/@ARCH_DIR@/cpu_flags.c
+__LIB__libodp_linux_la_SOURCES += arch/x86/cpu_flags.c \
+ arch/x86/odp_cpu_arch.c \
+ arch/x86/odp_sysinfo_parse.c
 endif
 
 if HAVE_PCAP
 __LIB__libodp_linux_la_SOURCES += pktio/pcap.c
 endif
 
+__LIB__libodp_linux_la_LIBADD = $(ATOMIC_LIBS)
+
 # Create symlink for ABI header files. Application does not need to use the 
arch
 # specific include path for installed files.
 install-data-hook:
-- 
2.13.1