> On 31 Oct 2019, at 21:41, Christian Hopps <cho...@chopps.org> wrote:
> 
>> 
>> On Oct 31, 2019, at 4:03 PM, Damjan Marion via Lists.Fd.Io 
>> <dmarion=me....@lists.fd.io> wrote:
>> 
>> 
>> Let me clarify a bit more, as i can see that this still may be confusing:
>> 
>> 1) VPP is using cmake to build binaries and packages, all cmake related 
>> stuff is in src/.
>> 
>> 2) there is build-root/Makefile and files in build-data/* which are part of 
>> old build system called ebuild
>> - ebuild is very complex set of make scripts which have similar 
>> functionality like buildroot, it was able to build kernel, toolchain , 
>> userspace tools and libraries
>> - today we don't use much of ebuild, it is just used to run VPP cmake 
>> prioject in the right directory with he right set of command line arguments
>> 
>> 3) Other Makefiles
>> - top level makefile
>> - external deps makefiles in build/external/
> 
>> 
>> My comment bellow is that only 1) is really needed to build VPP,  people can 
>> decide to use own build system like buildroot or yocto and invoke 
>> cmake directly, and completely ignore 2) and 3). In such case selected build 
>> system also needs to take care for dependencies like DPDK.
> 
> FWIW, (3) includes "build/external/patches/" which patch the standard 
> distributions to add extra functionality. These patches could/will presumably 
> eventually be upstreamed, but it's pretty useful for getting work done in the 
> meantime.

Not sure how is this related to this discussion, but to address your concerns i 
just submitted changes to remove 2 out of 3 patches. 3rd one is related to 
quickly library, and I will do my best to encourage authors to upstream that :)


> 
>> ebuild 2) have excellent cross compilation support for building target 
>> images when those images contain everything from kernel and libraries to vpp 
>> but it is not appropriate tool for creating distribution packages, i.e. 
>> creating Centos ARM rpms on Ubuntu x86 machine. That is the reason why i 
>> tried to see if we can use docker instead to be able to build cross-arch, 
>> cross-distro or cross-distro-version (or all 3 together) packages.
>> While my patch is incomplete, it looks to me like this approach will work.
>> 
>> My patch does native compilation only if TARGET_QUAD is equal to HOST_QUAD, 
>> where QUAD is:
>> - distro name (ubuntu, centos)
>> - distro version (18.04, 7.3)
>> - arch (x86_64, aarch64, ...)
>> - platform (generic, thunderx, ….)
>> 
>> it also support multiple build_types (release, debug, gcov, … )
>> 
>> At this point it is just early draft, but it shows some basic mechanics used 
>> to produce both native and cross packages.
>> 
>> 
>>> On 31 Oct 2019, at 20:32, Damjan Marion via Lists.Fd.Io 
>>> <dmarion=me....@lists.fd.io> wrote:
>>> 
>>> I have similar scheme on my mind, where you can have platform specific mk 
>>> files loaded….
>>> 
>>>> On 31 Oct 2019, at 20:23, Nitin Saxena <nsax...@marvell.com> wrote:
>>>> 
>>>> Hi,
>>>> 
>>>>>> cmake  /path/to/vpp/src [your favorite xcompile args] cmake —build .
>>>> Instead of having a shell script to pass cmake commands, I really liked 
>>>> the idea of passing vpp_cmake_args from build-data/platforms/*.mk 
>>>> (https://gerrit.fd.io/r/#/c/vpp/+/21035/23/build-data/platforms/native.mk@42).
>>>>  Any comment of taking those changes?
>>>> 
>>>> Thanks,
>>>> Nitin
>>>> 
>>>>> -----Original Message-----
>>>>> From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Damjan
>>>>> Marion via Lists.Fd.Io
>>>>> Sent: Friday, November 1, 2019 12:15 AM
>>>>> To: Christian Hopps <cho...@chopps.org>
>>>>> Cc: vpp-dev@lists.fd.io
>>>>> Subject: [EXT] Re: [vpp-dev] cross-compilation support
>>>>> 
>>>>> External Email
>>>>> 
>>>>> ----------------------------------------------------------------------
>>>>> 
>>>>> Nobody requires you to use docker, you are free to pass right arguments
>>>>> straight to the cmake.
>>>>> 
>>>>> All the stuff in build-data, build-root, build/ is optional, and it is 
>>>>> there to help
>>>>> developers to stage workspace and create packages but VPP can be built as
>>>>> simple as:
>>>>> 
>>>>> mkdir build
>>>>> cd build
>>>>> cmake  /path/to/vpp/src [your favorite xcompile args] cmake —build .
>>>>> 
>>>>> 
>>>>> 
>>>>>> On 31 Oct 2019, at 19:39, Christian Hopps <cho...@chopps.org> wrote:
>>>>>> 
>>>>>> I mean to call out the use of docker/qemu. In order to allow for this the
>>>>> user has to have extra privileges.
>>>>>> 
>>>>>> As I mentioned, locally we use docker for building, I like it, it's a 
>>>>>> nice tool;
>>>>> however, my personal opinion is that it seems wrong to require docker
>>>>> and/or qemu for compiling an open source project.
>>>>>> 
>>>>>> Important in holding this opinion is that it's seems possible to make 
>>>>>> this
>>>>> work w/o docker/qemu/root, I think someone just has to find the time to
>>>>> make an acceptable to the project working patch.
>>>>>> 
>>>>>> I asked internally and it seems that our changes to support x-compile do
>>>>> not go as far as producing debian/ubuntu packages, so they aren't ready 
>>>>> for
>>>>> upstreaming, unfortunately.
>>>>>> 
>>>>>> Thanks,
>>>>>> Chris.
>>>>>> 
>>>>>>> On Oct 31, 2019, at 2:23 PM, Damjan Marion <dmar...@me.com> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> That is just copy paste from Ben’s command line.
>>>>>>> 
>>>>>>> As. i wrote, this is just about presenting the concept...
>>>>>>> 
>>>>>>>> On 31 Oct 2019, at 18:39, Christian Hopps <cho...@chopps.org> wrote:
>>>>>>>> 
>>>>>>>> Requiring root privileges for building software is pretty atypical and
>>>>> limiting, even for x-compiling.
>>>>>>>> 
>>>>>>>> Thanks,
>>>>>>>> Chris.
>>>>>>>> 
>>>>>>>>> On Oct 31, 2019, at 12:45 PM, Damjan Marion via Lists.Fd.Io
>>>>> <dmarion=me....@lists.fd.io> wrote:
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> So what people think about following approach for cross-compilation:
>>>>>>>>> 
>>>>>>>>> Patch:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.fd.io_r
>>>>>>>>> _c_vpp_-
>>>>> 2B_23153&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YO
>>>>>>>>> 
>>>>> vfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev-
>>>>> ZVMwh0n_
>>>>>>>>> oePUFrlQ&s=Lk5OD0CVQuGPdj-h0TfK-m8NMJj0Zci0EhjBcQxYn2E&e=
>>>>>>>>> 
>>>>>>>>> At the moment this is just to show idea, so it works only for
>>>>>>>>> x86-to-x86 and between ubuntu versions only but it can be easily
>>>>> extended to scenarios like build vpp packages for AArch64 centos7 on
>>>>> ubuntu x86 host.
>>>>>>>>> 
>>>>>>>>> export CROSS_DISTRO_NAME=ubuntu
>>>>>>>>> exprot CROSS_DISTRO_VER=18.04
>>>>>>>>> export CROSS_ARCH=x86_64
>>>>>>>>> export CROSS_TARGET=release
>>>>>>>>> 
>>>>>>>>> $ make cross-env-init
>>>>>>>>> 
>>>>>>>>> this is executed once, it creates docker container named "vpp-dev-env-
>>>>> ubuntu-18.04-x86_64”, install all dependencies including DPDK and other
>>>>> libs”
>>>>>>>>> 
>>>>>>>>> $ make cross-env-update
>>>>>>>>> 
>>>>>>>>> updates cross-env to latest packages and ext-deps
>>>>>>>>> 
>>>>>>>>> $ make cross-shell
>>>>>>>>> 
>>>>>>>>> starts shell inside cross-env
>>>>>>>>> 
>>>>>>>>> $ make cross-package
>>>>>>>>> 
>>>>>>>>> builds VPP and creates packages:
>>>>>>>>> 
>>>>>>>>> ls -la build/ubuntu-18.04-x86_64-release total 11716
>>>>>>>>> drwxr-xr-x  3 root     root        4096 Oct 31 17:30 .
>>>>>>>>> drwxrwxr-x  4 damarion damarion    4096 Oct 31 17:36 ..
>>>>>>>>> drwxr-xr-x 22 root     root        4096 Oct 31 17:30 build
>>>>>>>>> -rw-r--r--  1 root     root      190124 Oct 31 17:30 
>>>>>>>>> libvppinfra_20.01-
>>>>> rc0~555-g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root      145056 Oct 31 17:30 
>>>>>>>>> libvppinfra-dev_20.01-
>>>>> rc0~555-g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root       23140 Oct 31 17:30 
>>>>>>>>> python3-vpp-api_20.01-
>>>>> rc0~555-g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root        8815 Oct 31 17:30 
>>>>>>>>> vpp_20.01-rc0~555-
>>>>> g7f980bcfe_amd64.buildinfo
>>>>>>>>> -rw-r--r--  1 root     root        4147 Oct 31 17:30 
>>>>>>>>> vpp_20.01-rc0~555-
>>>>> g7f980bcfe_amd64.changes
>>>>>>>>> -rw-r--r--  1 root     root     3674024 Oct 31 17:30 
>>>>>>>>> vpp_20.01-rc0~555-
>>>>> g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root       23104 Oct 31 17:30 
>>>>>>>>> vpp-api-python_20.01-
>>>>> rc0~555-g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root      719712 Oct 31 17:30 
>>>>>>>>> vpp-dbg_20.01-rc0~555-
>>>>> g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root      915744 Oct 31 17:30 
>>>>>>>>> vpp-dev_20.01-rc0~555-
>>>>> g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root     3113820 Oct 31 17:30 
>>>>>>>>> vpp-plugin-core_20.01-
>>>>> rc0~555-g7f980bcfe_amd64.deb
>>>>>>>>> -rw-r--r--  1 root     root     3144784 Oct 31 17:30 
>>>>>>>>> vpp-plugin-dpdk_20.01-
>>>>> rc0~555-g7f980bcfe_amd64.deb
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>>>>>> Links: You receive all messages sent to this group.
>>>>>>>>> 
>>>>>>>>> View/Reply Online (#14428):
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_g_
>>>>>>>>> vpp-
>>>>> 2Ddev_message_14428&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7ji
>>>>> b
>>>>>>>>> 
>>>>> YAtA5YOvfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeD
>>>>> RXZev-Z
>>>>>>>>> VMwh0n_oePUFrlQ&s=iBMmIxh4KnS1Ig6WteL2-
>>>>> 14ET0OV4oviKkohF5pvnKI&e=
>>>>>>>>> Mute This Topic:
>>>>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_mt
>>>>>>>>> 
>>>>> _40199795_1826170&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibY
>>>>> AtA5Y
>>>>>>>>> 
>>>>> OvfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev-
>>>>> ZVMwh0n
>>>>>>>>> _oePUFrlQ&s=MfbIY3-EEVgV9eXT0IgUFliXj2yF4LQ5C8SDZWKqEIA&e=
>>>>>>>>> Group Owner: vpp-dev+ow...@lists.fd.io
>>>>>>>>> Unsubscribe: https://urldefense.proofpoint.com/v2/url?u=https-
>>>>> 3A__lists.fd.io_g_vpp-
>>>>> 2Ddev_unsub&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YO
>>>>> vfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev-
>>>>> ZVMwh0n_oePUFrlQ&s=WBlsVcHNJGCJ9xYyS9QwicssF0GaRcoS8m-
>>>>> 2KINBAQ0&e=   [cho...@chopps.org]
>>>>>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>>>> Links: You receive all messages sent to this group.
>>>>>> 
>>>>>> View/Reply Online (#14434):
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_g_vpp
>>>>>> -
>>>>> 2Ddev_message_14434&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7ji
>>>>> bYAtA5Y
>>>>>> 
>>>>> OvfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev-
>>>>> ZVMwh0n_oe
>>>>>> PUFrlQ&s=oJ64M8FgFtN93xTTErLxt85eClgNdxMohhu2Fk8vCuU&e=
>>>>>> Mute This Topic:
>>>>>> https://urldefense.proofpoint.com/v2/url?u=https-3A__lists.fd.io_mt_40
>>>>>> 
>>>>> 199795_675642&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5Y
>>>>> OvfL3Ik
>>>>>> GduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev-
>>>>> ZVMwh0n_oePUFrlQ&
>>>>>> s=Yrx16m5FpMJvTAPtftp7qv-ZWXW8XvQxTpFyAblkNJc&e=
>>>>>> Group Owner: vpp-dev+ow...@lists.fd.io
>>>>>> Unsubscribe: https://urldefense.proofpoint.com/v2/url?u=https-
>>>>> 3A__lists.fd.io_g_vpp-
>>>>> 2Ddev_unsub&d=DwIFaQ&c=nKjWec2b6R0mOyPaz7xtfQ&r=S4H7jibYAtA5YO
>>>>> vfL3IkGduCfk9LbZMPOAecQGDzWV0&m=G81bDw8Lj77hbqAq7cdeDRXZev-
>>>>> ZVMwh0n_oePUFrlQ&s=WBlsVcHNJGCJ9xYyS9QwicssF0GaRcoS8m-
>>>>> 2KINBAQ0&e=   [dmar...@me.com]
>>>>>> -=-=-=-=-=-=-=-=-=-=-=-
>>>> 
>>> 
>>> -=-=-=-=-=-=-=-=-=-=-=-
>>> Links: You receive all messages sent to this group.
>>> 
>>> View/Reply Online (#14440): https://lists.fd.io/g/vpp-dev/message/14440
>>> Mute This Topic: https://lists.fd.io/mt/40237995/675642
>>> Group Owner: vpp-dev+ow...@lists.fd.io
>>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [dmar...@me.com]
>>> -=-=-=-=-=-=-=-=-=-=-=-
>> 
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> 
>> View/Reply Online (#14441): https://lists.fd.io/g/vpp-dev/message/14441 
>> <https://lists.fd.io/g/vpp-dev/message/14441>
>> Mute This Topic: https://lists.fd.io/mt/40243741/1826170 
>> <https://lists.fd.io/mt/40243741/1826170>
>> Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev+ow...@lists.fd.io>
>> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub 
>> <https://lists.fd.io/g/vpp-dev/unsub>  [cho...@chopps.org 
>> <mailto:cho...@chopps.org>]
>> -=-=-=-=-=-=-=-=-=-=-=-
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> 
> View/Reply Online (#14443): https://lists.fd.io/g/vpp-dev/message/14443 
> <https://lists.fd.io/g/vpp-dev/message/14443>
> Mute This Topic: https://lists.fd.io/mt/40243741/675642 
> <https://lists.fd.io/mt/40243741/675642>
> Group Owner: vpp-dev+ow...@lists.fd.io <mailto:vpp-dev+ow...@lists.fd.io>
> Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub 
> <https://lists.fd.io/g/vpp-dev/unsub>  [dmar...@me.com 
> <mailto:dmar...@me.com>]
> -=-=-=-=-=-=-=-=-=-=-=-

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#14444): https://lists.fd.io/g/vpp-dev/message/14444
Mute This Topic: https://lists.fd.io/mt/40243741/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub  [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to