Clean up vpp build bootstrap step

Net of rewriting vppapigen in python-ply, there's no need to compile
vppinfra.

Install a copy of vppapigen in .../build-root/tools/bin, so
the sample plugin build will work. Rationalize suffix-rules.mk.

Add clang, clang++ links to .../build-root/ccache-bin.

Change-Id: Ib4017848b7767b6054238ea544ee5319667c3659
Signed-off-by: Dave Barach <dave@barachs.net>
This commit is contained in:
Dave Barach
2018-03-13 12:54:43 -04:00
committed by Damjan Marion
parent 1ac36d7421
commit 5a72e425f9
8 changed files with 55 additions and 71 deletions

View File

@@ -929,11 +929,7 @@ install-packages: $(patsubst %,%-find-source,$(ROOT_PACKAGES))
basic_system \
$(ROOT_PACKAGES)) || exit 1; \
$(call build_msg_fn, Relocating ELF executables to run in $${d}) ; \
find $${d} -type f \
-exec elftool quiet in '{}' out '{}' \
set-interpreter \
$${d}/$(arch_lib_dir)/$(DYNAMIC_LINKER) \
set-rpath $${d}/$(arch_lib_dir):$${d}/lib ';' ; \
scripts/set-rpath $${d} $${d}/$(arch_lib_dir) ; \
: strip symbols from files ; \
if [ $${strip_symbols:-no} = 'yes' ] ; then \
$(call build_msg_fn, Stripping symbols from files) ; \
@@ -968,11 +964,7 @@ $(PLATFORM_IMAGE_DIR)/ro.img ro-image: $(patsubst %,%-find-source,$(ROOT_PACKAGE
: make dev directory ; \
$(linuxrc_makedev) ; \
echo @@@@ Relocating ELF executables to run in / @@@@ ; \
find $${d} -type f \
-exec elftool quiet in '{}' out '{}' \
set-interpreter \
/$(arch_lib_dir)/$(DYNAMIC_LINKER) \
set-rpath /$(arch_lib_dir):/lib ';' ; \
scripts/set-rpath /$(arch_lib_dir):/lib ; \
: strip symbols from files ; \
if [ '$${strip_symbols:-yes}' = 'yes' ] ; then \
echo @@@@ Stripping symbols from files @@@@ ; \

View File

@@ -38,28 +38,22 @@ EOF
# regenerate tools/ccache-bin
rm -rf tools/ccache-bin
mkdir -p tools/ccache-bin
mkdir -p tools/ccache-bin tools/bin
if [ ! -f /usr/bin/ccache ] ; then
echo Please install ccache AYEC and re-run this script
echo CCACHE is required. Please install it!
exit 1
fi
cd tools/ccache-bin
for c in gcc g++
do
if [ -f /usr/bin/ccache ] ; then
ln -s /usr/bin/ccache $c
else
ln -s /usr/bin/gcc
fi
for c in gcc g++ clang clang++
do
ln -s /usr/bin/ccache $c
done
cd $wsroot
cd ../
ln -s $wsroot/src/tools/vppapigen/vppapigen \
$build_root/tools/bin/vppapigen
cd $build_root
echo Compile native tools
for tool in tools
do
make V=0 is_build_tool=yes $tool-install
done
exit 0

View File

@@ -1,17 +0,0 @@
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# nothing

View File

@@ -1,16 +0,0 @@
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
tools_source = src
tools_configure_args = --disable-vlib --disable-svm --disable-japi

View File

@@ -1,3 +1,5 @@
#!/bin/bash
# Copyright (c) 2015 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
@@ -11,8 +13,31 @@
# See the License for the specific language governing permissions and
# limitations under the License.
if [ -z $1 ]; then
echo "Please specify path"
exit 1
fi
# nothing
which chrpath &> /dev/null
if [ $? -ne 0 ] ; then
echo "Please install chrpath tool"
exit 1
fi
cd $1
libs=$(find * -type f -name \*.so\*)
execs=$(find * -type f -path bin/\* )
echo "Setting RPATH to $2 ..."
for i in $libs $execs; do
# in case non-ELF file is found
chrpath $i 2> /dev/null > /dev/null
if [ $? -eq 0 ] ; then
echo $i
chrpath -r $2
fi
done