2015-12-09 15:32, Wiles, Keith:
> On 12/9/15, 8:59 AM, "Thomas Monjalon" <thomas.monjalon at 6wind.com> wrote:
> 
> >2015-12-09 14:39, Wiles, Keith:
> >> I am having a problem with ?make install T=? command as I was using it 
> >> before. I would normally build a x86_64-native-linuxapp-gcc, clang and icc 
> >> or a different config all together. Currently the ?make install T=? gives 
> >> a warning message at the end of the build plus creates the 
> >> x86_64-native-linuxapp-XXX directory. If I use the suggested ?make config 
> >> T=? command this command create a directory ?build? with a .config file. 
> >> The problem is this method does not allow me to have multiple builds at 
> >> the same time.
> >> 
> >> What is the suggested method to have multiple builds without installing  
> >> into the local file system?
> >
> >The multiple build is not supported anymore. It was only building with
> >the default configuration.
> >If you want to test various builds, I suggest to use this script:
> >     scripts/test-build.sh
> >     http://dpdk.org/browse/dpdk/commit/?id=cd31ca579c
> 
> Having a build script is great, but it give me an error on building. The 
> script does not have a ?help option and the unknown option is not very 
> usefulas it does not explain the two option -jX and -s in that output 
> message. I would have expected a bit more help instructions on using this 
> command and adding a -h or ?help would be useful. 

Please check.
There is a -h option.

> The error I get from the following command is: './scripts/test-build.sh 
> x86_64-native-linuxapp-gcc? building on a Ubuntu 15.10 with all patches. If I 
> use ?make install T=x86_64-native-linuxapp-gcc? this command builds correctly 
> with the warning at the end.
[...]
> /work/home/rkwiles/projects/intel/dpdk/lib/librte_eal/linuxapp/eal/eal_pci.c: 
> In function \u2018pci_config_extended_tag\u2019:
> /work/home/rkwiles/projects/intel/dpdk/lib/librte_eal/linuxapp/eal/eal_pci.c:505:2:
>  error: ignoring return value of \u2018fgets\u2019, declared with attribute 
> warn_unused_result [-Werror=unused-result]
>   fgets(buf, sizeof(buf), f);
>   ^

It is a compilation error, not related to the script.

> >If you just want to compile, it is simple:
> >     make config T=x86_64-native-linuxapp-gcc O=my-gcc-build
> >     make O=my-gcc-build
> 
> IMO we have gone backwards in making DPDK easy to build. I agree using ?make 
> install T=? may not be the best solution as ?install? implies we are 
> installing the code. I agree not we should not try to build multiple 
> configuration with one command, but we should be able to do ?make build 
> T=x86_64-native-linuxapp-gcc? to replace the ?make install T=? command. Now 
> the developer only needs to type one command with to build a configuration 
> and not two. If the developer includes the ?O=? option then the command 
> should create that directory and build the configuration into that directory. 
> For the 80% rule the ?O=? option should not be required.

The O= option is not required.
The new syntax is closer to the standard behaviour.
You just don't want to type "make config" because you are using a default
configuration.

> The ?make config T= O=? then ?make O=? series of commands are not required, 
> even the ?config? keyword is not required and just an extra step we do not 
> need. What does the ?config? target really add to the made other then 
> creating the ?build? directory and a config file. I believe the ?build? 
> directory should be dropped/removed all together and just require the ?T=? 
> and/or the ?O=? if they really want to define a different output directory.

Between "make config" and "make" you can modify the configuration.
In the next release, "make config" will be wrapped by a "configure" script
which will allow to configure your target in one line.
So we will end up with:
        ./configure
        make
        make install
It may be weird to you but it is standard to others.

Reply via email to