On Wed, Jan 30, 2019 at 05:16:02PM -0500, Michael Santana wrote:
> GitHub is a service used by developers to store repositories.  GitHub
> provides service integrations that allow 3rd party services to access
> developer repositories and perform actions.  One of these services is
> Travis-CI, a simple continuous integration platform.
> 
> This is a simple initial implementation of a travis build for the DPDK
> project.  It doesn't require any changes from individual developers to
> enable, but will allow those developers who opt-in to GitHub and the
> travis service to get automatic builds for every push they make.
> 
> Additionally, the travis service will send an email to the test-report
> list informing anyone interested in the automated build (including a
> result).
> 
> Signed-off-by: Aaron Conole <acon...@redhat.com>
> Signed-off-by: Michael Santana <msant...@redhat.com>
> ---

A few comments inline below.

> v2:
>   - Added aarch64 build
>   - Added multiple meson options for builds
>   - Added multiple make/config options for builds
> 
>  .ci/linux-build.sh                  |  88 +++++++++++++++
>  .ci/linux-setup.sh                  |  31 ++++++
>  .travis.yml                         | 159 ++++++++++++++++++++++++++++
>  MAINTAINERS                         |   7 ++
>  doc/guides/contributing/patches.rst |   4 +
>  meson_cross_aarch64_gcc.txt         |  12 +++
>  6 files changed, 301 insertions(+)
>  create mode 100755 .ci/linux-build.sh
>  create mode 100755 .ci/linux-setup.sh
>  create mode 100644 .travis.yml
>  create mode 100644 meson_cross_aarch64_gcc.txt
>
 
<snip>

> +
> +if [ "${NINJABUILD}" == "1" ]; then
> +    OPTS=""
> +
> +    DEF_LIB="static"
> +    if [ "${SHARED}" == "1" ]; then
> +        DEF_LIB="shared"
> +    fi
> +
> +    if [ "${KERNEL}" == "1" ]; then
> +        OPTS="-Denable_kmods=false"
> +    fi

Is this condition correct? If kernel is set to "1" you want to disable
module builds? I think it should be the other way around.

> +
> +    if [ "${ARM64}" == "1" ]; then
> +        OPTS="${OPTS} --cross-file meson_cross_aarch64_${CC}.txt"
> +    fi
> +

<snip>

> diff --git a/.travis.yml b/.travis.yml
> new file mode 100644
> index 000000000..f296d6914
> --- /dev/null
> +++ b/.travis.yml
> @@ -0,0 +1,159 @@
> +language: c
> +compiler:
> +  - gcc
> +  - clang
> +
> +os:
> +  - linux
> +
> +addons:
> +  apt:
> +    sources:
> +      - deadsnakes #source for python 3.5

Do we really need python sources? Are the binaries not enough?

> +      - sourceline: 'ppa:mstipicevic/ninja-build-1-7-2'
> +    packages:
> +      - [libnuma-dev, linux-headers-$(uname -r), python3.5, python3-pip, 
> ninja-build]
> +
> +before_install: ./.ci/${TRAVIS_OS_NAME}-setup.sh
> +

<snip>

> diff --git a/meson_cross_aarch64_gcc.txt b/meson_cross_aarch64_gcc.txt
> new file mode 100644
> index 000000000..aee167d13
> --- /dev/null
> +++ b/meson_cross_aarch64_gcc.txt
> @@ -0,0 +1,12 @@
> +[binaries]
> +c = 'aarch64-linux-gnu-gcc'
> +cpp = 'aarch64-linux-gnu-g++'
> +ar = 'aarch64-linux-gnu-gcc-ar'
> +strip = 'aarch64-linux-gnu-strip'
> +pkgconfig = 'aarch64-linux-gnu-pkg-config'
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'aarch64'
> +endian = 'little'
> -- 

This looks very similar to the "config/arm/arm64_armv8_linuxapp_gcc" file.
I suggest that file be used instead of adding a new one.

/Bruce

Reply via email to