public inbox for crossgcc@sourceware.org
 help / color / mirror / Atom feed
* [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev
@ 2010-01-12  0:08 Richard Strand
  2010-01-12  0:08 ` [PATCH 1 of 1] companion_tools/autoconf: add autoconf tool Richard Strand
  2010-01-12 19:16 ` [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev Yann E. MORIN
  0 siblings, 2 replies; 4+ messages in thread
From: Richard Strand @ 2010-01-12  0:08 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

Hi Yann, All,

I've made the changes to the patches. This still requires the "change overide
dir" patch but I excluded it from these emails as it hasn't changed.

Regards,

Richard Strand

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1 of 1] companion_tools/autoconf: add autoconf tool
  2010-01-12  0:08 [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev Richard Strand
@ 2010-01-12  0:08 ` Richard Strand
  2010-01-12 19:16 ` [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev Yann E. MORIN
  1 sibling, 0 replies; 4+ messages in thread
From: Richard Strand @ 2010-01-12  0:08 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

# HG changeset patch
# User Richard Strand <richard.strand@icomera.com>
# Date 1263252709 0
# Node ID 965ba28f74a5c7995e10b5055aa30b1620fc7395
# Parent  2e2ead7d3a6e90bb2015dc87d8e0ca09137b1a44
companion_tools/autoconf: add autoconf tool

Initial version of adding autoconf as a companion tool.

Signed-off-by: Richard Strand <richard.strand@icomera.com>

diff -r 2e2ead7d3a6e -r 965ba28f74a5 config/companion_tools.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/config/companion_tools.in	Mon Jan 11 23:31:49 2010 +0000
@@ -0,0 +1,27 @@
+# Companion tools config options
+
+if EXPERIMENTAL
+
+menu "Companion tools"
+
+config COMP_TOOLS
+    bool
+    prompt "READ HELP before you say 'Y' here !!!"
+    help
+      Crosstool-NG relies on some external tools to be recent enough, namely:
+        autoconf >= 2.63
+      
+      If your system has older versions, we can build them for you,
+      but you are strongly encouraged to update your system instead!
+
+if COMP_TOOLS
+
+config COMP_TOOLS_autoconf
+    bool
+    prompt "autoconf"
+
+endif
+
+endmenu
+
+endif
diff -r 2e2ead7d3a6e -r 965ba28f74a5 config/config.in
--- a/config/config.in	Mon Jan 11 13:54:05 2010 +0000
+++ b/config/config.in	Mon Jan 11 23:31:49 2010 +0000
@@ -8,3 +8,4 @@
 source config/debug.in
 source config/tools.in
 source config/companion_libs.in
+source config/companion_tools.in
diff -r 2e2ead7d3a6e -r 965ba28f74a5 scripts/build/companion_tools.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/build/companion_tools.sh	Mon Jan 11 23:31:49 2010 +0000
@@ -0,0 +1,38 @@
+# Wrapper to build the companion tools facilities
+
+# List all companion tools facilities, and parse their scripts
+CT_COMP_TOOLS_FACILITY_LIST=
+for f in "${CT_LIB_DIR}/scripts/build/companion_tools/"*.sh; do
+    _f="$(basename "${f}" .sh)"
+    _f="${_f#???-}"
+    __f="CT_COMP_TOOLS_${_f}"
+    if [ "${!__f}" = "y" ]; then
+        CT_DoLog DEBUG "Enabling companion tools '${_f}'"
+        . "${f}"
+        CT_COMP_TOOLS_FACILITY_LIST="${CT_COMP_TOOLS_FACILITY_LIST} ${_f}"
+    else
+        CT_DoLog DEBUG "Disabling companion tools '${_f}'"
+    fi
+done
+
+# Download the companion tools facilities
+do_companion_tools_get() {
+    for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
+        do_companion_tools_${f}_get
+    done
+}
+
+# Extract and patch the companion tools facilities
+do_companion_tools_extract() {
+    for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
+        do_companion_tools_${f}_extract
+    done
+}
+
+# Build the companion tools facilities
+do_companion_tools() {
+    for f in ${CT_COMP_TOOLS_FACILITY_LIST}; do
+        do_companion_tools_${f}_build
+    done
+}
+
diff -r 2e2ead7d3a6e -r 965ba28f74a5 scripts/build/companion_tools/200-autoconf.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/build/companion_tools/200-autoconf.sh	Mon Jan 11 23:31:49 2010 +0000
@@ -0,0 +1,32 @@
+# Build script for autoconf
+
+CT_AUTOCONF_VERSION=2.65
+
+do_companion_tools_autoconf_get() {
+    CT_GetFile "autoconf-${CT_AUTOCONF_VERSION}" \
+               {ftp,http}://ftp.gnu.org/gnu/autoconf
+}
+
+do_companion_tools_autoconf_extract() {
+    CT_Extract "autoconf-${CT_AUTOCONF_VERSION}"
+    CT_Patch "autoconf-${CT_AUTOCONF_VERSION}"
+}
+
+do_companion_tools_autoconf_build() {
+    CT_DoStep EXTRA "Installing autoconf"
+    mkdir -p "${CT_BUILD_DIR}/build-autoconf"
+    CT_Pushd "${CT_BUILD_DIR}/build-autoconf"
+    
+    # Ensure configure gets run using the CONFIG_SHELL as configure seems to
+    # have trouble when CONFIG_SHELL is set and /bin/sh isn't bash
+    # For reference see:
+    # http://www.gnu.org/software/autoconf/manual/autoconf.html#CONFIG_005fSHEL
+    
+    CT_DoExecLog ALL ${CONFIG_SHELL} \
+    "${CT_SRC_DIR}/autoconf-${CT_AUTOCONF_VERSION}/configure" \
+        --prefix="${CT_WORK_DIR}/tools"
+    CT_DoExecLog ALL make
+    CT_DoExecLog ALL make install
+    CT_Popd
+    CT_EndStep
+}
diff -r 2e2ead7d3a6e -r 965ba28f74a5 scripts/crosstool-NG.sh.in
--- a/scripts/crosstool-NG.sh.in	Mon Jan 11 13:54:05 2010 +0000
+++ b/scripts/crosstool-NG.sh.in	Mon Jan 11 23:31:49 2010 +0000
@@ -114,6 +114,7 @@
 # export any variable, nor re-parse the configuration and functions files.
 . "${CT_LIB_DIR}/scripts/build/internals.sh"
 . "${CT_LIB_DIR}/scripts/build/arch/${CT_ARCH}.sh"
+. "${CT_LIB_DIR}/scripts/build/companion_tools.sh"
 . "${CT_LIB_DIR}/scripts/build/kernel/${CT_KERNEL}.sh"
 . "${CT_LIB_DIR}/scripts/build/companion_libs/gmp.sh"
 . "${CT_LIB_DIR}/scripts/build/companion_libs/mpfr.sh"
@@ -493,6 +494,7 @@
         CT_DoLog INFO "Downloading forbidden by configuration, skipping downloads"
     else
         CT_DoStep INFO "Retrieving needed toolchain components' tarballs"
+        do_companion_tools_get
         do_kernel_get
         do_gmp_get
         do_mpfr_get
@@ -512,6 +514,14 @@
             CT_DoForceRmdir "${CT_SRC_DIR}"
             CT_DoExecLog ALL mkdir -p "${CT_SRC_DIR}"
         fi
+
+        if [ "${CT_COMP_TOOLS}" = "y" ]; then
+          CT_DoStep INFO "Extracting, patching and installing companion tools"
+          do_companion_tools_extract
+          do_companion_tools
+          CT_EndStep
+        fi
+
         CT_DoStep INFO "Extracting and patching toolchain components"
         do_kernel_extract
         do_gmp_extract

--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev
  2010-01-12  0:08 [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev Richard Strand
  2010-01-12  0:08 ` [PATCH 1 of 1] companion_tools/autoconf: add autoconf tool Richard Strand
@ 2010-01-12 19:16 ` Yann E. MORIN
  2010-01-12 20:11   ` Richard Strand
  1 sibling, 1 reply; 4+ messages in thread
From: Yann E. MORIN @ 2010-01-12 19:16 UTC (permalink / raw)
  To: crossgcc; +Cc: Richard Strand

Richard, All,

On Tuesday 12 January 2010 01:05:29 Richard Strand wrote:
> I've made the changes to the patches. This still requires the "change overide
> dir" patch but I excluded it from these emails as it hasn't changed.

OK, there's a few more cleanups I've seen, but your code is very good!
I'll apply the patchset very shortly (after dinner), so you'll be able
to update your copy and add the remaining tools.

Thank you very much!

Regards,
Yann E. MORIN.


-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
`------------------------------^-------^------------------^--------------------'



--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev
  2010-01-12 19:16 ` [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev Yann E. MORIN
@ 2010-01-12 20:11   ` Richard Strand
  0 siblings, 0 replies; 4+ messages in thread
From: Richard Strand @ 2010-01-12 20:11 UTC (permalink / raw)
  To: Yann E. MORIN; +Cc: crossgcc

Yann E. MORIN wrote:
> OK, there's a few more cleanups I've seen, but your code is very good!
> I'll apply the patchset very shortly (after dinner), so you'll be able
> to update your copy and add the remaining tools.
>
> Thank you very much!
>   
Awesome, I've got patches for the rest of the tools ready to go. :)

Regards,

Richard Strand


--
For unsubscribe information see http://sourceware.org/lists.html#faq

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2010-01-12 20:11 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-01-12  0:08 [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev Richard Strand
2010-01-12  0:08 ` [PATCH 1 of 1] companion_tools/autoconf: add autoconf tool Richard Strand
2010-01-12 19:16 ` [PATCH 0 of 1] Add autoconf as a companion tool - 3rd rev Yann E. MORIN
2010-01-12 20:11   ` Richard Strand

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).