scripts: move to buildtools
authorThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 15 Dec 2016 21:46:47 +0000 (22:46 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 4 Jan 2017 20:17:32 +0000 (21:17 +0100)
There is already a directory buildtools for pmdinfogen used by
the build system. The scripts used in makefiles are moved here.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Tested-by: Ferruh Yigit <ferruh.yigit@intel.com>
20 files changed:
MAINTAINERS
buildtools/auto-config-h.sh [new file with mode: 0755]
buildtools/depdirs-rule.sh [new file with mode: 0755]
buildtools/gen-build-mk.sh [new file with mode: 0755]
buildtools/gen-config-h.sh [new file with mode: 0755]
buildtools/relpath.sh [new file with mode: 0755]
doc/guides/freebsd_gsg/build_dpdk.rst
drivers/net/mlx4/Makefile
drivers/net/mlx5/Makefile
mk/internal/rte.depdirs-post.mk
mk/internal/rte.install-post.mk
mk/rte.sdkbuild.mk
mk/rte.sdkconfig.mk
mk/rte.sdkinstall.mk
pkg/dpdk.spec
scripts/auto-config-h.sh [deleted file]
scripts/depdirs-rule.sh [deleted file]
scripts/gen-build-mk.sh [deleted file]
scripts/gen-config-h.sh [deleted file]
scripts/relpath.sh [deleted file]

index ebc97b8..2e3d721 100644 (file)
@@ -56,11 +56,11 @@ F: Makefile
 F: config/
 F: mk/
 F: pkg/
-F: scripts/auto-config-h.sh
-F: scripts/depdirs-rule.sh
-F: scripts/gen-build-mk.sh
-F: scripts/gen-config-h.sh
-F: scripts/relpath.sh
+F: buildtools/auto-config-h.sh
+F: buildtools/depdirs-rule.sh
+F: buildtools/gen-build-mk.sh
+F: buildtools/gen-config-h.sh
+F: buildtools/relpath.sh
 F: doc/build-sdk-quick.txt
 F: doc/guides/prog_guide/build_app.rst
 F: doc/guides/prog_guide/dev_kit_*
diff --git a/buildtools/auto-config-h.sh b/buildtools/auto-config-h.sh
new file mode 100755 (executable)
index 0000000..4356d7e
--- /dev/null
@@ -0,0 +1,136 @@
+#!/bin/sh
+#
+#   BSD LICENSE
+#
+#   Copyright 2014-2015 6WIND S.A.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of 6WIND S.A. nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Crude script to detect whether particular types, macros and functions are
+# defined by trying to compile a file with a given header. Can be used to
+# perform cross-platform checks since the resulting object file is not
+# executed.
+#
+# Set VERBOSE=1 in the environment to display compiler output and errors.
+#
+# CC, CPPFLAGS, CFLAGS, EXTRA_CPPFLAGS and EXTRA_CFLAGS are taken from the
+# environment.
+#
+# AUTO_CONFIG_CFLAGS may append additional CFLAGS without modifying the
+# above variables.
+
+file=${1:?output file name required (config.h)}
+macro=${2:?output macro name required (HAVE_*)}
+include=${3:?include name required (foo.h)}
+type=${4:?object type required (define, enum, type, field, func)}
+name=${5:?define/type/function name required}
+
+: ${CC:=cc}
+
+temp=/tmp/${0##*/}.$$.c
+
+case $type in
+define)
+       code="\
+#ifndef $name
+#error $name not defined
+#endif
+"
+       ;;
+enum)
+       code="\
+long test____ = $name;
+"
+       ;;
+type)
+       code="\
+$name test____;
+"
+       ;;
+field)
+       code="\
+void test____(void)
+{
+       ${name%%.*} test_____;
+
+       (void)test_____.${name#*.};
+}
+"
+       ;;
+func)
+       code="\
+void (*test____)() = (void (*)())$name;
+"
+       ;;
+*)
+       unset error
+       : ${error:?unknown object type \"$type\"}
+       exit
+esac
+
+if [ "${VERBOSE}" = 1 ]
+then
+       err=2
+       out=1
+       eol='
+'
+else
+       exec 3> /dev/null ||
+       exit
+       err=3
+       out=3
+       eol=' '
+fi &&
+printf 'Looking for %s %s in %s.%s' \
+       "${name}" "${type}" "${include}" "${eol}" &&
+printf "\
+#include <%s>
+
+%s
+" "$include" "$code" > "${temp}" &&
+if ${CC} ${CPPFLAGS} ${EXTRA_CPPFLAGS} ${CFLAGS} ${EXTRA_CFLAGS} \
+       ${AUTO_CONFIG_CFLAGS} \
+       -c -o /dev/null "${temp}" 1>&${out} 2>&${err}
+then
+       rm -f "${temp}"
+       printf "\
+#ifndef %s
+#define %s 1
+#endif /* %s */
+
+" "${macro}" "${macro}" "${macro}" >> "${file}" &&
+       printf 'Defining %s.\n' "${macro}"
+else
+       rm -f "${temp}"
+       printf "\
+/* %s is not defined. */
+
+" "${macro}" >> "${file}" &&
+       printf 'Not defining %s.\n' "${macro}"
+fi
+
+exit
diff --git a/buildtools/depdirs-rule.sh b/buildtools/depdirs-rule.sh
new file mode 100755 (executable)
index 0000000..7aba088
--- /dev/null
@@ -0,0 +1,95 @@
+#!/bin/sh
+
+#   BSD LICENSE
+#
+#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#
+# This (obscure) bash script finds the smallest different path between
+# path1 and path2 given as command line argument. The given paths MUST
+# be relative paths, the script is not designed to work with absolute
+# paths.
+#
+# The script will then generate Makefile code that can be saved in a
+# file and included in build system.
+#
+# For instance:
+#   depdirs-rule.sh a/b/c/d a/b/e/f
+# Will print:
+#   FULL_DEPDIRS-a/b/c/d += a/b/e/f
+#   LOCAL_DEPDIRS-a/b/c += a/b/e
+#
+# The script returns 0 except if invalid arguments are given.
+#
+
+if [ $# -ne 2 ]; then
+       echo "Bad arguments"
+       echo "Usage:"
+       echo "  $0 path1 path2"
+       exit 1
+fi
+
+left1=${1%%/*}
+right1=${1#*/}
+prev_right1=$1
+prev_left1=
+
+left2=${2%%/*}
+right2=${2#*/}
+prev_right2=$2
+prev_left2=
+
+while [ "${right1}" != "" -a "${right2}" != "" ]; do
+
+       if [ "$left1" != "$left2" ]; then
+               break
+       fi
+
+       prev_left1=$left1
+       left1=$left1/${right1%%/*}
+       prev_right1=$right1
+       right1=${prev_right1#*/}
+       if [ "$right1" = "$prev_right1" ]; then
+               right1=""
+       fi
+
+       prev_left2=$left2
+       left2=$left2/${right2%%/*}
+       prev_right2=$right2
+       right2=${prev_right2#*/}
+       if [ "$right2" = "$prev_right2" ]; then
+               right2=""
+       fi
+done
+
+echo FULL_DEPDIRS-$1 += $2
+echo LOCAL_DEPDIRS-$left1 += $left2
+
+exit 0
diff --git a/buildtools/gen-build-mk.sh b/buildtools/gen-build-mk.sh
new file mode 100755 (executable)
index 0000000..5c12813
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+#   BSD LICENSE
+#
+#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+# Auto-generate a Makefile in build directory
+# Args:
+#   $1: path of project src root
+#   $2: path of build dir (can be relative to $1)
+
+echo "# Automatically generated by gen-build-mk.sh"
+echo
+echo "ifdef O"
+echo "ifeq (\"\$(origin O)\", \"command line\")"
+echo "\$(error \"Cannot specify O= as you are already in a build directory\")"
+echo "endif"
+echo "endif"
+echo
+echo "MAKEFLAGS += --no-print-directory"
+echo
+echo "all:"
+echo " @\$(MAKE) -C $1 O=$2"
+echo
+echo "%::"
+echo " @\$(MAKE) -C $1 O=$2 \$@"
diff --git a/buildtools/gen-config-h.sh b/buildtools/gen-config-h.sh
new file mode 100755 (executable)
index 0000000..1a2436c
--- /dev/null
@@ -0,0 +1,44 @@
+#!/bin/sh
+
+#   BSD LICENSE
+#
+#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+echo "#ifndef __RTE_CONFIG_H"
+echo "#define __RTE_CONFIG_H"
+grep CONFIG_ $1 |
+grep -v '^[ \t]*#' |
+sed 's,CONFIG_\(.*\)=y.*$,#undef \1\
+#define \1 1,' |
+sed 's,CONFIG_\(.*\)=n.*$,#undef \1,' |
+sed 's,CONFIG_\(.*\)=\(.*\)$,#undef \1\
+#define \1 \2,' |
+sed 's,\# CONFIG_\(.*\) is not set$,#undef \1,'
+echo "#endif /* __RTE_CONFIG_H */"
diff --git a/buildtools/relpath.sh b/buildtools/relpath.sh
new file mode 100755 (executable)
index 0000000..4ff4671
--- /dev/null
@@ -0,0 +1,105 @@
+#!/bin/sh
+
+#   BSD LICENSE
+#
+#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
+#   All rights reserved.
+#
+#   Redistribution and use in source and binary forms, with or without
+#   modification, are permitted provided that the following conditions
+#   are met:
+#
+#     * Redistributions of source code must retain the above copyright
+#       notice, this list of conditions and the following disclaimer.
+#     * Redistributions in binary form must reproduce the above copyright
+#       notice, this list of conditions and the following disclaimer in
+#       the documentation and/or other materials provided with the
+#       distribution.
+#     * Neither the name of Intel Corporation nor the names of its
+#       contributors may be used to endorse or promote products derived
+#       from this software without specific prior written permission.
+#
+#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+#
+# print the relative path of $1 from $2 directory
+# $1 and $2 MUST be absolute paths
+#
+
+if [ $# -ne 2 ]; then
+       echo "Bad arguments"
+       echo "Usage:"
+       echo "  $0 path1 path2"
+       exit 1
+fi
+
+# get the real absolute path, derefencing symlinks
+ABS1=$(readlink -f $1)
+ABS2=$(readlink -f $2)
+
+# remove leading slash
+REL1=${ABS1#/}
+REL2=${ABS2#/}
+
+left1=${REL1%%/*}
+right1=${REL1#*/}
+prev_right1=$REL1
+prev_left1=
+
+left2=${REL2%%/*}
+right2=${REL2#*/}
+prev_right2=$REL2
+prev_left2=
+
+prefix=
+
+while [ "${right1}" != "" -a "${right2}" != "" ]; do
+
+       if [ "$left1" != "$left2" ]; then
+               break
+       fi
+
+       prev_left1=$left1
+       left1=$left1/${right1%%/*}
+       prev_right1=$right1
+       right1=${prev_right1#*/}
+       if [ "$right1" = "$prev_right1" ]; then
+               right1=""
+       fi
+
+       prev_left2=$left2
+       left2=$left2/${right2%%/*}
+       prev_right2=$right2
+       right2=${prev_right2#*/}
+       if [ "$right2" = "$prev_right2" ]; then
+               right2=""
+       fi
+done
+
+if [ "${left1}" != "${left2}" ]; then
+       right2=${prev_right2}
+       right1=${prev_right1}
+fi
+
+while [ "${right2}" != "" ]; do
+       prefix=${prefix}../
+       prev_right2=$right2
+       right2=${right2#*/}
+       if [ "$right2" = "$prev_right2" ]; then
+               right2=""
+       fi
+done
+
+echo ${prefix}${right1}
+
+exit 0
index 24a9f87..8bd9b6a 100644 (file)
@@ -119,7 +119,7 @@ The DPDK is composed of several directories:
 
 *   examples: Source code of DPDK applications
 
-*   config, tools, scripts, mk: Framework-related makefiles, scripts and configuration
+*   config, buildtools, mk: Framework-related makefiles, scripts and configuration
 
 Installation of the DPDK Target Environments
 --------------------------------------------
index efed953..68c5902 100644 (file)
@@ -102,7 +102,7 @@ endif
 
 mlx4_autoconf.h.new: FORCE
 
-mlx4_autoconf.h.new: $(RTE_SDK)/scripts/auto-config-h.sh
+mlx4_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
        $Q $(RM) -f -- '$@'
        $Q sh -- '$<' '$@' \
                RSS_SUPPORT \
index cf87f0b..18d7c00 100644 (file)
@@ -104,7 +104,7 @@ endif
 
 mlx5_autoconf.h.new: FORCE
 
-mlx5_autoconf.h.new: $(RTE_SDK)/scripts/auto-config-h.sh
+mlx5_autoconf.h.new: $(RTE_SDK)/buildtools/auto-config-h.sh
        $Q $(RM) -f -- '$@'
        $Q sh -- '$<' '$@' \
                HAVE_VERBS_IBV_EXP_CQ_COMPRESSED_CQE \
index fc6904d..102a369 100644 (file)
@@ -32,7 +32,7 @@
 .PHONY: depdirs
 depdirs:
        @for d in $(DEPDIRS-y); do \
-               $(RTE_SDK)/scripts/depdirs-rule.sh $(S) $$d ; \
+               $(RTE_SDK)/buildtools/depdirs-rule.sh $(S) $$d ; \
        done
 
 .PHONY: depgraph
index 77addee..b99e2b2 100644 (file)
@@ -59,7 +59,7 @@ define symlink_rule
 $(addprefix $(RTE_OUTPUT)/$(1)/,$(notdir $(2))): $(2)
        @echo "  SYMLINK-FILE $(addprefix $(1)/,$(notdir $(2)))"
        @[ -d $(RTE_OUTPUT)/$(1) ] || mkdir -p $(RTE_OUTPUT)/$(1)
-       $(Q)ln -nsf `$(RTE_SDK)/scripts/relpath.sh $$(<) $(RTE_OUTPUT)/$(1)` \
+       $(Q)ln -nsf `$(RTE_SDK)/buildtools/relpath.sh $$(<) $(RTE_OUTPUT)/$(1)` \
                $(RTE_OUTPUT)/$(1)
 endef
 
index 23fcf1e..db6b983 100644 (file)
@@ -67,7 +67,7 @@ clean: $(CLEANDIRS)
                $(RTE_OUTPUT)/lib \
                $(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod
        @[ -d $(RTE_OUTPUT)/include ] || mkdir -p $(RTE_OUTPUT)/include
-       @$(RTE_SDK)/scripts/gen-config-h.sh $(RTE_OUTPUT)/.config \
+       @$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
                > $(RTE_OUTPUT)/include/rte_config.h
        $(Q)$(MAKE) -f $(RTE_SDK)/GNUmakefile gcovclean
        @echo Clean complete
index 5c94edf..97581c9 100644 (file)
@@ -107,12 +107,12 @@ endif
 
 # generate a Makefile for this build directory
 # use a relative path so it will continue to work even if we move the directory
-SDK_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_SRCDIR)) \
+SDK_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_SRCDIR)) \
                                $(abspath $(RTE_OUTPUT)))
-OUTPUT_RELPATH=$(shell $(RTE_SDK)/scripts/relpath.sh $(abspath $(RTE_OUTPUT)) \
+OUTPUT_RELPATH=$(shell $(RTE_SDK)/buildtools/relpath.sh $(abspath $(RTE_OUTPUT)) \
                                $(abspath $(RTE_SRCDIR)))
 $(RTE_OUTPUT)/Makefile: | $(RTE_OUTPUT)
-       $(Q)$(RTE_SDK)/scripts/gen-build-mk.sh $(SDK_RELPATH) $(OUTPUT_RELPATH) \
+       $(Q)$(RTE_SDK)/buildtools/gen-build-mk.sh $(SDK_RELPATH) $(OUTPUT_RELPATH) \
                > $(RTE_OUTPUT)/Makefile
 
 # clean installed files, and generate a new config header file
@@ -122,7 +122,7 @@ $(RTE_OUTPUT)/include/rte_config.h: $(RTE_OUTPUT)/.config
                $(RTE_OUTPUT)/lib \
                $(RTE_OUTPUT)/hostlib $(RTE_OUTPUT)/kmod $(RTE_OUTPUT)/build
        $(Q)mkdir -p $(RTE_OUTPUT)/include
-       $(Q)$(RTE_SDK)/scripts/gen-config-h.sh $(RTE_OUTPUT)/.config \
+       $(Q)$(RTE_SDK)/buildtools/gen-config-h.sh $(RTE_OUTPUT)/.config \
                > $(RTE_OUTPUT)/include/rte_config.h
 
 # generate the rte_config.h
index 7b0d8b5..896bc14 100644 (file)
@@ -77,7 +77,7 @@ rte_mkdir = test -d $1 || mkdir -p $1
 
 # Create the relative symbolic link $2 -> $1
 # May be replaced with --relative option of ln from coreutils-8.16
-rte_symlink = ln -snf $$($(RTE_SDK)/scripts/relpath.sh $1 $(dir $2)) $2
+rte_symlink = ln -snf $$($(RTE_SDK)/buildtools/relpath.sh $1 $(dir $2)) $2
 
 .PHONY: pre_install
 pre_install:
@@ -156,7 +156,7 @@ install-sdk:
                --keep-newer-files
        $(Q)$(call rte_mkdir,                            $(DESTDIR)$(sdkdir))
        $(Q)cp -a               $(RTE_SDK)/mk            $(DESTDIR)$(sdkdir)
-       $(Q)cp -a               $(RTE_SDK)/scripts       $(DESTDIR)$(sdkdir)
+       $(Q)cp -a               $(RTE_SDK)/buildtools    $(DESTDIR)$(sdkdir)
        $(Q)$(call rte_mkdir,                            $(DESTDIR)$(targetdir)/app)
        $(Q)cp -a               $O/.config               $(DESTDIR)$(targetdir)
        $(Q)cp -a               $O/app/dpdk-pmdinfogen   $(DESTDIR)$(targetdir)/app
index ba2a476..d12509a 100644 (file)
@@ -103,7 +103,7 @@ make install O=%{target} DESTDIR=%{buildroot} \
 %files devel
 %{_includedir}/dpdk
 %{_datadir}/dpdk/mk
-%{_datadir}/dpdk/scripts
+%{_datadir}/dpdk/buildtools
 %{_datadir}/dpdk/%{target}
 %{_datadir}/dpdk/examples
 
diff --git a/scripts/auto-config-h.sh b/scripts/auto-config-h.sh
deleted file mode 100755 (executable)
index 4356d7e..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/bin/sh
-#
-#   BSD LICENSE
-#
-#   Copyright 2014-2015 6WIND S.A.
-#
-#   Redistribution and use in source and binary forms, with or without
-#   modification, are permitted provided that the following conditions
-#   are met:
-#
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in
-#       the documentation and/or other materials provided with the
-#       distribution.
-#     * Neither the name of 6WIND S.A. nor the names of its
-#       contributors may be used to endorse or promote products derived
-#       from this software without specific prior written permission.
-#
-#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-# Crude script to detect whether particular types, macros and functions are
-# defined by trying to compile a file with a given header. Can be used to
-# perform cross-platform checks since the resulting object file is not
-# executed.
-#
-# Set VERBOSE=1 in the environment to display compiler output and errors.
-#
-# CC, CPPFLAGS, CFLAGS, EXTRA_CPPFLAGS and EXTRA_CFLAGS are taken from the
-# environment.
-#
-# AUTO_CONFIG_CFLAGS may append additional CFLAGS without modifying the
-# above variables.
-
-file=${1:?output file name required (config.h)}
-macro=${2:?output macro name required (HAVE_*)}
-include=${3:?include name required (foo.h)}
-type=${4:?object type required (define, enum, type, field, func)}
-name=${5:?define/type/function name required}
-
-: ${CC:=cc}
-
-temp=/tmp/${0##*/}.$$.c
-
-case $type in
-define)
-       code="\
-#ifndef $name
-#error $name not defined
-#endif
-"
-       ;;
-enum)
-       code="\
-long test____ = $name;
-"
-       ;;
-type)
-       code="\
-$name test____;
-"
-       ;;
-field)
-       code="\
-void test____(void)
-{
-       ${name%%.*} test_____;
-
-       (void)test_____.${name#*.};
-}
-"
-       ;;
-func)
-       code="\
-void (*test____)() = (void (*)())$name;
-"
-       ;;
-*)
-       unset error
-       : ${error:?unknown object type \"$type\"}
-       exit
-esac
-
-if [ "${VERBOSE}" = 1 ]
-then
-       err=2
-       out=1
-       eol='
-'
-else
-       exec 3> /dev/null ||
-       exit
-       err=3
-       out=3
-       eol=' '
-fi &&
-printf 'Looking for %s %s in %s.%s' \
-       "${name}" "${type}" "${include}" "${eol}" &&
-printf "\
-#include <%s>
-
-%s
-" "$include" "$code" > "${temp}" &&
-if ${CC} ${CPPFLAGS} ${EXTRA_CPPFLAGS} ${CFLAGS} ${EXTRA_CFLAGS} \
-       ${AUTO_CONFIG_CFLAGS} \
-       -c -o /dev/null "${temp}" 1>&${out} 2>&${err}
-then
-       rm -f "${temp}"
-       printf "\
-#ifndef %s
-#define %s 1
-#endif /* %s */
-
-" "${macro}" "${macro}" "${macro}" >> "${file}" &&
-       printf 'Defining %s.\n' "${macro}"
-else
-       rm -f "${temp}"
-       printf "\
-/* %s is not defined. */
-
-" "${macro}" >> "${file}" &&
-       printf 'Not defining %s.\n' "${macro}"
-fi
-
-exit
diff --git a/scripts/depdirs-rule.sh b/scripts/depdirs-rule.sh
deleted file mode 100755 (executable)
index 7aba088..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/bin/sh
-
-#   BSD LICENSE
-#
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-#   All rights reserved.
-#
-#   Redistribution and use in source and binary forms, with or without
-#   modification, are permitted provided that the following conditions
-#   are met:
-#
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in
-#       the documentation and/or other materials provided with the
-#       distribution.
-#     * Neither the name of Intel Corporation nor the names of its
-#       contributors may be used to endorse or promote products derived
-#       from this software without specific prior written permission.
-#
-#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#
-# This (obscure) bash script finds the smallest different path between
-# path1 and path2 given as command line argument. The given paths MUST
-# be relative paths, the script is not designed to work with absolute
-# paths.
-#
-# The script will then generate Makefile code that can be saved in a
-# file and included in build system.
-#
-# For instance:
-#   depdirs-rule.sh a/b/c/d a/b/e/f
-# Will print:
-#   FULL_DEPDIRS-a/b/c/d += a/b/e/f
-#   LOCAL_DEPDIRS-a/b/c += a/b/e
-#
-# The script returns 0 except if invalid arguments are given.
-#
-
-if [ $# -ne 2 ]; then
-       echo "Bad arguments"
-       echo "Usage:"
-       echo "  $0 path1 path2"
-       exit 1
-fi
-
-left1=${1%%/*}
-right1=${1#*/}
-prev_right1=$1
-prev_left1=
-
-left2=${2%%/*}
-right2=${2#*/}
-prev_right2=$2
-prev_left2=
-
-while [ "${right1}" != "" -a "${right2}" != "" ]; do
-
-       if [ "$left1" != "$left2" ]; then
-               break
-       fi
-
-       prev_left1=$left1
-       left1=$left1/${right1%%/*}
-       prev_right1=$right1
-       right1=${prev_right1#*/}
-       if [ "$right1" = "$prev_right1" ]; then
-               right1=""
-       fi
-
-       prev_left2=$left2
-       left2=$left2/${right2%%/*}
-       prev_right2=$right2
-       right2=${prev_right2#*/}
-       if [ "$right2" = "$prev_right2" ]; then
-               right2=""
-       fi
-done
-
-echo FULL_DEPDIRS-$1 += $2
-echo LOCAL_DEPDIRS-$left1 += $left2
-
-exit 0
diff --git a/scripts/gen-build-mk.sh b/scripts/gen-build-mk.sh
deleted file mode 100755 (executable)
index 5c12813..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/bin/sh
-
-#   BSD LICENSE
-#
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-#   All rights reserved.
-#
-#   Redistribution and use in source and binary forms, with or without
-#   modification, are permitted provided that the following conditions
-#   are met:
-#
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in
-#       the documentation and/or other materials provided with the
-#       distribution.
-#     * Neither the name of Intel Corporation nor the names of its
-#       contributors may be used to endorse or promote products derived
-#       from this software without specific prior written permission.
-#
-#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# Auto-generate a Makefile in build directory
-# Args:
-#   $1: path of project src root
-#   $2: path of build dir (can be relative to $1)
-
-echo "# Automatically generated by gen-build-mk.sh"
-echo
-echo "ifdef O"
-echo "ifeq (\"\$(origin O)\", \"command line\")"
-echo "\$(error \"Cannot specify O= as you are already in a build directory\")"
-echo "endif"
-echo "endif"
-echo
-echo "MAKEFLAGS += --no-print-directory"
-echo
-echo "all:"
-echo " @\$(MAKE) -C $1 O=$2"
-echo
-echo "%::"
-echo " @\$(MAKE) -C $1 O=$2 \$@"
diff --git a/scripts/gen-config-h.sh b/scripts/gen-config-h.sh
deleted file mode 100755 (executable)
index 1a2436c..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/bin/sh
-
-#   BSD LICENSE
-#
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-#   All rights reserved.
-#
-#   Redistribution and use in source and binary forms, with or without
-#   modification, are permitted provided that the following conditions
-#   are met:
-#
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in
-#       the documentation and/or other materials provided with the
-#       distribution.
-#     * Neither the name of Intel Corporation nor the names of its
-#       contributors may be used to endorse or promote products derived
-#       from this software without specific prior written permission.
-#
-#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-echo "#ifndef __RTE_CONFIG_H"
-echo "#define __RTE_CONFIG_H"
-grep CONFIG_ $1 |
-grep -v '^[ \t]*#' |
-sed 's,CONFIG_\(.*\)=y.*$,#undef \1\
-#define \1 1,' |
-sed 's,CONFIG_\(.*\)=n.*$,#undef \1,' |
-sed 's,CONFIG_\(.*\)=\(.*\)$,#undef \1\
-#define \1 \2,' |
-sed 's,\# CONFIG_\(.*\) is not set$,#undef \1,'
-echo "#endif /* __RTE_CONFIG_H */"
diff --git a/scripts/relpath.sh b/scripts/relpath.sh
deleted file mode 100755 (executable)
index 4ff4671..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-#!/bin/sh
-
-#   BSD LICENSE
-#
-#   Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-#   All rights reserved.
-#
-#   Redistribution and use in source and binary forms, with or without
-#   modification, are permitted provided that the following conditions
-#   are met:
-#
-#     * Redistributions of source code must retain the above copyright
-#       notice, this list of conditions and the following disclaimer.
-#     * Redistributions in binary form must reproduce the above copyright
-#       notice, this list of conditions and the following disclaimer in
-#       the documentation and/or other materials provided with the
-#       distribution.
-#     * Neither the name of Intel Corporation nor the names of its
-#       contributors may be used to endorse or promote products derived
-#       from this software without specific prior written permission.
-#
-#   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-#   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-#   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-#   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-#   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-#   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-#   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-#   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-#   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-#   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-#   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-#
-# print the relative path of $1 from $2 directory
-# $1 and $2 MUST be absolute paths
-#
-
-if [ $# -ne 2 ]; then
-       echo "Bad arguments"
-       echo "Usage:"
-       echo "  $0 path1 path2"
-       exit 1
-fi
-
-# get the real absolute path, derefencing symlinks
-ABS1=$(readlink -f $1)
-ABS2=$(readlink -f $2)
-
-# remove leading slash
-REL1=${ABS1#/}
-REL2=${ABS2#/}
-
-left1=${REL1%%/*}
-right1=${REL1#*/}
-prev_right1=$REL1
-prev_left1=
-
-left2=${REL2%%/*}
-right2=${REL2#*/}
-prev_right2=$REL2
-prev_left2=
-
-prefix=
-
-while [ "${right1}" != "" -a "${right2}" != "" ]; do
-
-       if [ "$left1" != "$left2" ]; then
-               break
-       fi
-
-       prev_left1=$left1
-       left1=$left1/${right1%%/*}
-       prev_right1=$right1
-       right1=${prev_right1#*/}
-       if [ "$right1" = "$prev_right1" ]; then
-               right1=""
-       fi
-
-       prev_left2=$left2
-       left2=$left2/${right2%%/*}
-       prev_right2=$right2
-       right2=${prev_right2#*/}
-       if [ "$right2" = "$prev_right2" ]; then
-               right2=""
-       fi
-done
-
-if [ "${left1}" != "${left2}" ]; then
-       right2=${prev_right2}
-       right1=${prev_right1}
-fi
-
-while [ "${right2}" != "" ]; do
-       prefix=${prefix}../
-       prev_right2=$right2
-       right2=${right2#*/}
-       if [ "$right2" = "$prev_right2" ]; then
-               right2=""
-       fi
-done
-
-echo ${prefix}${right1}
-
-exit 0