From 896bc2d17313f32a968efb09917cc3eb2b4e3ed8 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 6 Jan 2018 18:31:15 -0800 Subject: Split local helper macros into separate m4's ... which are then picked up via aclocal. Signed-off-by: Alexey Neyman --- bootstrap | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bootstrap') diff --git a/bootstrap b/bootstrap index a71a2b0c..25453de2 100755 --- a/bootstrap +++ b/bootstrap @@ -738,7 +738,7 @@ gen_selection menu debug "Debug facilities" gen_selection menu comp_tools "Companion tools" gen_selection menu comp_libs "Companion libraries" -msg "*** Running autoconf" -autoconf -Wall --force +msg "*** Running autoreconf" +autoreconf -Wall --force msg "*** Done!" -- cgit v1.2.3 From 9dc94f36627ec79721e485bb4ae50af9fb67c9fc Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Fri, 23 Feb 2018 19:05:41 -0800 Subject: Install "pure data" directories ... and update .gitignore. Survives 'make distcheck'. Signed-off-by: Alexey Neyman --- .gitignore | 10 ++++------ Makefile.am | 4 ++++ bootstrap | 9 +++++++++ configure.ac | 6 +++++- kconfig/Makefile.am | 9 +++++++-- scripts/ylwrap | 1 - 6 files changed, 29 insertions(+), 10 deletions(-) delete mode 120000 scripts/ylwrap (limited to 'bootstrap') diff --git a/.gitignore b/.gitignore index 292a4f51..eb7d4912 100644 --- a/.gitignore +++ b/.gitignore @@ -7,15 +7,15 @@ config.log config.status Makefile Makefile.in -*ct-ng* +ct-ng !ct-ng.comp !ct-ng.in paths.* -!paths.in config/configure.in config/gen/ config/versions/ .config +verbatim-data.mk maintainer/package-versions # Temporaries @@ -26,9 +26,7 @@ temp.* # This is the place where toolchains are built .build/ -# .. and the legacy location -targets/ # .. and log for 'build-all' -.build-all +.build-all/ # .. and release creation -release +release/ diff --git a/Makefile.am b/Makefile.am index 37996f85..c58c45fd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,12 +1,16 @@ ## Process this file with automake to produce Makefile.in ## vim: set noet : +include verbatim-data.mk + SUBDIRS = kconfig bin_SCRIPTS = ct-ng CLEANFILES = $(bin_SCRIPTS) EXTRA_DIST = ct-ng.in bootstrap +nobase_dist_pkgdata_DATA = $(verbatim_data) + do_subst = ( @SED@ \ -e 's,[@]bindir[@],$(bindir),g' \ -e 's,[@]libdir[@],$(libdir),g' \ diff --git a/bootstrap b/bootstrap index 25453de2..d5d17d4d 100755 --- a/bootstrap +++ b/bootstrap @@ -738,6 +738,15 @@ gen_selection menu debug "Debug facilities" gen_selection menu comp_tools "Companion tools" gen_selection menu comp_libs "Companion libraries" +msg "*** Gathering the list of data files to install" +{ + echo -n "verbatim_data =" + find config contrib packages samples scripts -type f | LANG=C sort | while read f; do + echo " \\" + echo -n " ${f}" + done +} > verbatim-data.mk + msg "*** Running autoreconf" autoreconf -Wall --force diff --git a/configure.ac b/configure.ac index bd7ccb48..20d5b42f 100644 --- a/configure.ac +++ b/configure.ac @@ -15,7 +15,11 @@ AC_CONFIG_AUX_DIR([scripts]) AC_CONFIG_MACRO_DIR([m4]) # TBD try to use gnu strictness? Just add the missing files? -AM_INIT_AUTOMAKE([-Wall -Werror foreign no-dist-gzip dist-xz dist-bzip2 subdir-objects]) +# Set automake defaults: +# - Tarballs are compressed with xz and bzip2 +# - Object files are generated in a subdirectory (new default in automake) +# - Request new tar format (old, tar-v7, breaks on long paths we have) +AM_INIT_AUTOMAKE([-Wall -Werror foreign no-dist-gzip dist-xz dist-bzip2 subdir-objects tar-pax]) #-------------------------------------------------------------------- # Allow dummy --{en,dis}able-{static,shared} diff --git a/kconfig/Makefile.am b/kconfig/Makefile.am index 413d9446..a54c170d 100644 --- a/kconfig/Makefile.am +++ b/kconfig/Makefile.am @@ -1,16 +1,21 @@ ## vim: set noet : ## TBD turn off program renaming for these? Or account for it in ct-ng script? +## TBD when kconfig is split into a subpackage, need to remove this option from sub-configure transform = s,x,x, ## TBD install into lib/crosstool-ng/kconfig? or move to libexec which seems more suitable pkglibexec_PROGRAMS = conf nconf mconf -AM_LFLAGS = -L -Pzconf -AM_YFLAGS = -l -b zconf -p zconf +EXTRA_DIST = zconf.y zconf.l \ + expr.h list.h lkc.h lkc_proto.h nconf.h lxdialog/dialog.h \ + confdata.c expr.c kconf_id.c menu.c symbol.c util.c +CLEANFILES = zconf.lex.c zconf.c BUILT_SOURCES = zconf.c zconf.lex.c +AM_LFLAGS = -L -Pzconf +AM_YFLAGS = -l -b zconf -p zconf AM_CPPFLAGS = -include config.h -DCONFIG_=\"CT_\" conf_SOURCES = conf.c zconf.c diff --git a/scripts/ylwrap b/scripts/ylwrap deleted file mode 120000 index efe1e02d..00000000 --- a/scripts/ylwrap +++ /dev/null @@ -1 +0,0 @@ -/usr/share/automake-1.15/ylwrap \ No newline at end of file -- cgit v1.2.3 From 35b830b55233bd932f0bcb32aff04abb1d9b3c75 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 17 Mar 2018 14:44:05 -0700 Subject: Ignore/modify the list of installed files to match what was installed before. Signed-off-by: Alexey Neyman --- bootstrap | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'bootstrap') diff --git a/bootstrap b/bootstrap index d5d17d4d..e3884204 100755 --- a/bootstrap +++ b/bootstrap @@ -742,6 +742,18 @@ msg "*** Gathering the list of data files to install" { echo -n "verbatim_data =" find config contrib packages samples scripts -type f | LANG=C sort | while read f; do + case "${f}" in + # Skip certain files not needed at runtime (used above for generating kconfig + # fragments). + packages/*.help|packages/*.desc) + continue + ;; + # Special hack for configure.in.in - replace with the file that configure + # will produce. FIXME: create this file at the time of 'ct-ng build'. + config/configure.in.in) + f=config/configure.in + ;; + esac echo " \\" echo -n " ${f}" done -- cgit v1.2.3 From 5b95b81ea90682c124d5280b64a91a249c464ee4 Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 17 Mar 2018 17:41:36 -0700 Subject: Kill gperf vestiges Generate paths.sh by configure, do away with paths.mk. Signed-off-by: Alexey Neyman --- .gitignore | 2 +- .travis.yml | 1 - bootstrap | 6 ++++++ configure.ac | 1 + ct-ng.in | 13 ++++++++++++- debian/control | 2 +- paths.sh.in | 12 ++++++++++++ 7 files changed, 33 insertions(+), 4 deletions(-) create mode 100644 paths.sh.in (limited to 'bootstrap') diff --git a/.gitignore b/.gitignore index 0d917b80..0f5d8a9a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,7 +10,7 @@ Makefile.in ct-ng !ct-ng.comp !ct-ng.in -paths.* +paths.sh config/configure.in config/gen/ config/versions/ diff --git a/.travis.yml b/.travis.yml index 1be7a570..aa56c43f 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,7 +23,6 @@ addons: packages: - bison - flex - - gperf - libncurses5-dev - texinfo - help2man diff --git a/bootstrap b/bootstrap index e3884204..5c6eacaa 100755 --- a/bootstrap +++ b/bootstrap @@ -740,6 +740,7 @@ gen_selection menu comp_libs "Companion libraries" msg "*** Gathering the list of data files to install" { + declare -A seen_files echo -n "verbatim_data =" find config contrib packages samples scripts -type f | LANG=C sort | while read f; do case "${f}" in @@ -754,8 +755,13 @@ msg "*** Gathering the list of data files to install" f=config/configure.in ;; esac + # Checks & substitutions above may result in duplicate files + if [ -n "${seen_files[${f}]}" ]; then + continue + fi echo " \\" echo -n " ${f}" + seen_files[${f}]=y done } > verbatim-data.mk diff --git a/configure.ac b/configure.ac index 20d5b42f..5e9fb182 100644 --- a/configure.ac +++ b/configure.ac @@ -297,6 +297,7 @@ AS_IF( AC_CONFIG_FILES([ Makefile + paths.sh kconfig/Makefile config/configure.in ]) diff --git a/ct-ng.in b/ct-ng.in index 0b1e47d4..10ee237b 100644 --- a/ct-ng.in +++ b/ct-ng.in @@ -27,7 +27,18 @@ CT_WGET := @wget@ CT_CURL := @curl@ # Paths found by ./configure -include $(CT_LIB_DIR)/paths.mk +export install = @INSTALL@ +export bash = @BASH_SHELL@ +export awk = @AWK@ +export grep = @GREP@ +export make = @MAKE@ +export sed = @SED@ +export libtool = @LIBTOOL@ +export libtoolize = @LIBTOOLIZE@ +export objcopy = @OBJCOPY@ +export objdump = @OBJDUMP@ +export readelf = @READELF@ +export patch = @PATCH@ # Some distributions (eg. Ubuntu) thought it wise to point /bin/sh to # a truly POSIX-conforming shell, ash in this case. This is not so good diff --git a/debian/control b/debian/control index f6e7eea8..4c2a95e6 100644 --- a/debian/control +++ b/debian/control @@ -3,7 +3,7 @@ Section: devel Priority: optional Maintainer: Multiple Candidates Build-Depends: debhelper (>= 9), autoconf, automake, autotools-dev, - libncursesw5-dev, libncurses5-dev, gperf, bison, flex, + libncursesw5-dev, libncurses5-dev, bison, flex, texinfo, help2man, gawk, git, subversion, bzip2, libtool-bin Standards-Version: 3.9.8 Homepage: http://crosstool-ng.org/ diff --git a/paths.sh.in b/paths.sh.in new file mode 100644 index 00000000..c1ba0bdd --- /dev/null +++ b/paths.sh.in @@ -0,0 +1,12 @@ +export install="@INSTALL@" +export bash="@BASH_SHELL@" +export awk="@AWK@" +export grep="@GREP@" +export make="@MAKE@" +export sed="@SED@" +export libtool="@LIBTOOL@" +export libtoolize="@LIBTOOLIZE@" +export objcopy="@OBJCOPY@" +export objdump="@OBJDUMP@" +export readelf="@READELF@" +export patch="@PATCH@" -- cgit v1.2.3 From bc542408ca3c74e977e4f30d77ae6b9a6f388cbe Mon Sep 17 00:00:00 2001 From: Alexey Neyman Date: Sat, 17 Mar 2018 22:19:45 -0700 Subject: config.sub/config.guess must either be executable or be run through shell Signed-off-by: Alexey Neyman --- bootstrap | 7 ++++++- scripts/functions | 8 ++++---- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'bootstrap') diff --git a/bootstrap b/bootstrap index 5c6eacaa..e4a207bb 100755 --- a/bootstrap +++ b/bootstrap @@ -743,10 +743,15 @@ msg "*** Gathering the list of data files to install" declare -A seen_files echo -n "verbatim_data =" find config contrib packages samples scripts -type f | LANG=C sort | while read f; do + # Implement some kind of .installignore for these files? case "${f}" in # Skip certain files not needed at runtime (used above for generating kconfig # fragments). - packages/*.help|packages/*.desc) + packages/*.help | packages/*.desc) + continue + ;; + # And, some file automake insists we must have + scripts/compile | scripts/missing | scripts/depcomp | scripts/ltmain.sh | scripts/install-sh) continue ;; # Special hack for configure.in.in - replace with the file that configure diff --git a/scripts/functions b/scripts/functions index 9440f0e3..62966fd2 100644 --- a/scripts/functions +++ b/scripts/functions @@ -986,17 +986,17 @@ CT_GetFile() # Those from CT_TOP_DIR, if they exist, will be be more recent than those from CT_LIB_DIR. CT_DoConfigGuess() { if [ -x "${CT_TOP_DIR}/scripts/config.guess" ]; then - "${CT_TOP_DIR}/scripts/config.guess" + "${CT_CONFIG_SHELL}" "${CT_TOP_DIR}/scripts/config.guess" else - "${CT_LIB_DIR}/scripts/config.guess" + "${CT_CONFIG_SHELL}" "${CT_LIB_DIR}/scripts/config.guess" fi } CT_DoConfigSub() { if [ -x "${CT_TOP_DIR}/scripts/config.sub" ]; then - "${CT_TOP_DIR}/scripts/config.sub" "$@" + "${CT_CONFIG_SHELL}" "${CT_TOP_DIR}/scripts/config.sub" "$@" else - "${CT_LIB_DIR}/scripts/config.sub" "$@" + "${CT_CONFIG_SHELL}" "${CT_LIB_DIR}/scripts/config.sub" "$@" fi } -- cgit v1.2.3