* [PATCH 0 of 4 v2] No static link on Darwin
@ 2011-06-28 21:57 Yann E. MORIN
2011-06-28 21:57 ` [PATCH 3 of 4 v2] configure: pass the allowed lib extensions to check_for() Yann E. MORIN
` (5 more replies)
0 siblings, 6 replies; 12+ messages in thread
From: Yann E. MORIN @ 2011-06-28 21:57 UTC (permalink / raw)
To: crossgcc; +Cc: Bryan Hundven, Titus von Boxberg
Hello All!
This patch series tries to fix the various static linking issues
seen on Darwin /MacOS-X.
First patch is mostly cosmetics, but the result is used by the second
patch.
Second patch disables all static linking options in the menuconfig
if the host can't link statically. Applies to hosts where a trivial
static-link test fails. Unconditionnaly applies to Darwin.
Third patch paves the way for fourth patch.
Fourth patch removes the check for static libs if host can't
link statically (as determined in patch 2).
configure | 19 +++++++++++
config/cc/gcc.in.2 | 1 +
config/debug/gdb.in.cross | 1 +
config/toolchain.in | 1 +
configure | 24 +++++++++++++++
configure | 75 ++++++++++++++++++++++++----------------------
configure | 43 +++++++++++++++++++-------
7 files changed, 116 insertions(+), 48 deletions(-)
Regards,
Yann E. MORIN.
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 1 of 4 v2] configure: check host system
2011-06-28 21:57 [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
2011-06-28 21:57 ` [PATCH 3 of 4 v2] configure: pass the allowed lib extensions to check_for() Yann E. MORIN
2011-06-28 21:57 ` [PATCH 2 of 4 v2] configure: disable static linking on Darwin Yann E. MORIN
@ 2011-06-28 21:57 ` Yann E. MORIN
2011-07-03 7:52 ` Titus von Boxberg
2011-06-28 22:04 ` [PATCH 4 of 4 v2] configure: do not test for static libs if static link is impossible Yann E. MORIN
` (2 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2011-06-28 21:57 UTC (permalink / raw)
To: crossgcc; +Cc: Bryan Hundven, Titus von Boxberg
configure | 19 +++++++++++++++++++
1 files changed, 19 insertions(+), 0 deletions(-)
# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1309274702 -7200
# Node ID 355696b27bc33908a25bade22d917ce6fa99da5d
# Parent aa833630f29c780332bc43b87e03a49b37bd700a
configure: check host system
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -435,6 +435,25 @@
has_or_abort prog=readelf var=readelf
has_or_abort prog=patch var=patch
+# Host system checks
+
+printf "Checking for host system... "
+host="$( uname -s )"
+printf "%s\n" "${host}"
+case "${host}" in
+ Linux) ;;
+ Cygwin) ;;
+ Darwin)
+ printf " * Runing under Darwin is not fully supported\n"
+ printf " * Although not strictly required, using MacPorts is highly recommended\n"
+ printf " * Even though, you may encounter some weird behavior\n"
+ ;;
+ *)
+ printf " * Runing under %s is not fully tested\n" "${host}"
+ printf " * You may encounter some weird behavior\n"
+ ;;
+esac
+
ncurses_hdrs="ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h"
ncurses_libs="$( for l in ncursesw ncurses curses; do \
for x in so a dylib; do \
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 3 of 4 v2] configure: pass the allowed lib extensions to check_for()
2011-06-28 21:57 [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
@ 2011-06-28 21:57 ` Yann E. MORIN
2011-06-28 21:57 ` [PATCH 2 of 4 v2] configure: disable static linking on Darwin Yann E. MORIN
` (4 subsequent siblings)
5 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2011-06-28 21:57 UTC (permalink / raw)
To: crossgcc; +Cc: Bryan Hundven, Titus von Boxberg
configure | 75 ++++++++++++++++++++++++++++++++------------------------------
1 files changed, 39 insertions(+), 36 deletions(-)
# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1309213742 -7200
# Node ID c1a75083d135ef092e9b5711a278fbca49d5b3c8
# Parent 1d66ee93a9a4cc963cad0ba2e245fa4a19e31af8
configure: pass the allowed lib extensions to check_for()
Rather than building all possible library names in the caller,
lets just do it once in check_for.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -104,6 +104,10 @@
# for each 'prog', test if $(prog --version) matches 'regexp'
# optional
# eg: ver='^GNU bash, version [34]\.'
+# $*: lib_exts=<extension[ extension...]>
+# the list of allowed library extension
+# mandatory
+# eg: lib_exts="so dylib" lib_exts="so dylib a"
# $*: err=<error_message>
# the error message to print if tool is missing
# optional, defaults to: '${prog}: none found'
@@ -115,19 +119,21 @@
# optional, defaults to none
# eg: kconfig=has_libncurses
check_for() {
+ local lib_exts
local val
local item
local where
local status
+ local ext
# Note: prog/inc/lib and var/kconfig/ver/err are set here,
# but declared by the caller (because it needs it)
for item in "${@}"; do
case "${item}" in
- prog=*|inc=*|lib=*|var=*|ver=*|err=*|kconfig=*)
+ prog=*|inc=*|lib=*|var=*|ver=*|err=*|kconfig=*|lib_exts=*)
eval ${item%%=*}=\"${item#*=}\"
;;
- *) do_error "check_for: incorrect parameters: '$@'";;
+ *) do_error "check_for: incorrect parameters: '${item}'";;
esac
done
@@ -198,15 +204,20 @@
fi
if [ -n "${lib}" ]; then
+ if [ -z "${lib_exts}" ]; then
+ do_error "check_for: no library extension specified for '${lib}'"
+ fi
for item in ${lib}; do
- printf "Checking for '${item}'... "
- where="$( gcc -print-file-name="${item}" )"
- if [ "${where}" != "${item}" ]; then
- where="$( readlink "${where}" )"
- status=yes
- break;
- fi
- printf "no\n"
+ for ext in ${lib_exts}; do
+ printf "Checking for '${item}.${ext}'... "
+ where="$( gcc -print-file-name="${item}.${ext}" )"
+ if [ "${where}" != "${item}.${ext}" ]; then
+ where="$( readlink "${where}" )"
+ status=yes
+ break 2;
+ fi
+ printf "no\n"
+ done
done
if [ -z "${status}" ]; then
return 1
@@ -478,38 +489,31 @@
add_to_kconfig_list static_link_ok
# Library checks
+libs_exts="so dylib a"
+
ncurses_hdrs="ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h"
-ncurses_libs="$( for l in ncursesw ncurses curses; do \
- for x in so a dylib; do \
- printf "lib$l.$x "; \
- done; \
- done \
- )"
+ncurses_libs="libncursesw libncurses libcurses"
has_or_abort lib="${ncurses_libs}" \
+ lib_exts="${libs_exts}" \
inc="${ncurses_hdrs}" \
err="The 'ncurses' library is needed fo the menuconfig frontend"
-stdcxx_libs="$( for x in so dylib a; do \
- printf "libstdc++.$x "; \
- done \
- )"
-has_or_abort lib="${stdcxx_libs}" \
+has_or_abort lib="libstdc++" \
+ lib_exts="${libs_exts}" \
err="The 'libstdc++' library is needed to build gcc"
# Yes, we may be checking twice for libstdc++.a
# The first is because we need one instance of libstdc++ (shared or static)
# because it is needed for PPL; the second is because the static version is
# required for static-linking, and if missing, the option is removed.
-has_or_warn lib="libstdc++.a" \
+has_or_warn lib="libstdc++" \
+ lib_exts="a" \
err="static 'libstdc++' is needed to statically link the toolchain's executables" \
kconfig=has_static_libstdcxx
-expat_libs="$( for x in so dylib a; do \
- printf "libexpat.$x "; \
- done \
- )"
-has_or_warn inc="expat.h" \
- lib="${expat_libs}" \
+has_or_warn inc="expat.h" \
+ lib="libexpat" \
+ lib_exts="${libs_exts}" \
err="The 'expat' header file and library are needed to link cross-gdb's executables" \
kconfig=has_expat
@@ -517,19 +521,18 @@
# The first is because we need one instance of libexpat (shared or static)
# because it is needed for cross-gdb; the second is because the static version
# is required for static-linking, and if missing, the option is removed.
-has_or_warn lib="libexpat.a" \
+has_or_warn lib="libexpat" \
+ lib_exts="a" \
err="static 'expat' is needed to statically link cross-gdb's executables" \
kconfig=has_static_expat
for v in 7 6 5 4; do
- python_incs="${python_incs}$( printf "python2.$v/Python.h " )"
- python_libs="${python_libs}$( for x in so dylib a; do \
- printf "libpython2.$v.$x "; \
- done \
- )"
+ python_incs="${python_incs} python2.${v}/Python.h"
+ python_libs="${python_libs} libpython2.${v}"
done
-has_or_warn inc="${python_incs}" \
- lib="${python_libs}" \
+has_or_warn inc="${python_incs}" \
+ lib="${python_libs}" \
+ lib_exts="${libs_exts}" \
err="The 'python' header file and library are needed for some features of cross-gdb"
#---------------------------------------------------------------------
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 2 of 4 v2] configure: disable static linking on Darwin
2011-06-28 21:57 [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
2011-06-28 21:57 ` [PATCH 3 of 4 v2] configure: pass the allowed lib extensions to check_for() Yann E. MORIN
@ 2011-06-28 21:57 ` Yann E. MORIN
2011-07-03 9:09 ` Titus von Boxberg
2011-06-28 21:57 ` [PATCH 1 of 4 v2] configure: check host system Yann E. MORIN
` (3 subsequent siblings)
5 siblings, 1 reply; 12+ messages in thread
From: Yann E. MORIN @ 2011-06-28 21:57 UTC (permalink / raw)
To: crossgcc; +Cc: Bryan Hundven, Titus von Boxberg
config/cc/gcc.in.2 | 1 +
config/debug/gdb.in.cross | 1 +
config/toolchain.in | 1 +
configure | 24 ++++++++++++++++++++++++
4 files changed, 27 insertions(+), 0 deletions(-)
# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1309201420 -7200
# Node ID 1d66ee93a9a4cc963cad0ba2e245fa4a19e31af8
# Parent 355696b27bc33908a25bade22d917ce6fa99da5d
configure: disable static linking on Darwin
Static liunking is not supported on Darwin, so hide the corresponding
options when the build machine is Darwin.
Reported-by: Andrea Franceschini <therealmorpheu5@gmail.com>
Reported-by: Bryan Hundven <bryanhundven@gmail.com>
Reported-by: "Titus von Boxberg" <titus@v9g.de>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
diff --git a/config/cc/gcc.in.2 b/config/cc/gcc.in.2
--- a/config/cc/gcc.in.2
+++ b/config/cc/gcc.in.2
@@ -44,6 +44,7 @@
bool
prompt "Link libstdc++ statically into the gcc binary"
default y
+ depends on CONFIGURE_static_link_ok
depends on CONFIGURE_has_static_libstdcxx
depends on CC_GCC_4_4_or_later
help
diff --git a/config/debug/gdb.in.cross b/config/debug/gdb.in.cross
--- a/config/debug/gdb.in.cross
+++ b/config/debug/gdb.in.cross
@@ -24,6 +24,7 @@
config GDB_CROSS_STATIC
bool
prompt "Build a static cross gdb"
+ depends on CONFIGURE_static_link_ok
depends on CONFIGURE_has_static_expat
help
A static cross gdb can be usefull if you debug on a machine that is
diff --git a/config/toolchain.in b/config/toolchain.in
--- a/config/toolchain.in
+++ b/config/toolchain.in
@@ -51,6 +51,7 @@
config STATIC_TOOLCHAIN_POSSIBLE
bool
default y
+ depends on CONFIGURE_static_link_ok
depends on CONFIGURE_has_static_libstdcxx
# Add new deps here! :-)
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -454,6 +454,30 @@
;;
esac
+printf "Checking if static linking is possible... "
+static_link_ok=""
+case "${host}" in
+ Darwin) ;;
+ *) tmp=.static.tmp
+ if gcc -xc - -static -o "${tmp}" >/dev/null 2>&1<<-_EOF_
+ int main() { return 0; }
+ _EOF_
+ then
+ static_link_ok="y"
+ fi
+ rm -f "${tmp}"
+ ;;
+esac
+if [ "${static_link_ok}" = "y" ]; then
+ printf "yes\n"
+else
+ printf "no\n"
+ printf " * An optional host feature is missing, some features will be disabled\n"
+ printf " * It will not be possible to link binaries statically\n"
+fi
+add_to_kconfig_list static_link_ok
+
+# Library checks
ncurses_hdrs="ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h"
ncurses_libs="$( for l in ncursesw ncurses curses; do \
for x in so a dylib; do \
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 4 of 4 v2] configure: do not test for static libs if static link is impossible
2011-06-28 21:57 [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
` (2 preceding siblings ...)
2011-06-28 21:57 ` [PATCH 1 of 4 v2] configure: check host system Yann E. MORIN
@ 2011-06-28 22:04 ` Yann E. MORIN
2011-06-28 22:23 ` [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
2011-07-03 8:55 ` Titus von Boxberg
5 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2011-06-28 22:04 UTC (permalink / raw)
To: crossgcc; +Cc: Bryan Hundven, Titus von Boxberg
configure | 43 +++++++++++++++++++++++++++++++------------
1 files changed, 31 insertions(+), 12 deletions(-)
# HG changeset patch
# User "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
# Date 1309215153 -7200
# Node ID acd0a5d28a3a941dee8fa472d65dc1bed111a249
# Parent c1a75083d135ef092e9b5711a278fbca49d5b3c8
configure: do not test for static libs if static link is impossible
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
diff --git a/configure b/configure
--- a/configure
+++ b/configure
@@ -118,8 +118,15 @@
# the prog/inc/lib was found
# optional, defaults to none
# eg: kconfig=has_libncurses
+# $*: skip=[y|n|]
+# if set to 'y', skip the test, but still register the
+# kconfig and var variables; if 'n' or empty, do the
+# test.
+# optional, default to 'n'
+# eg: skip="${static_link_ko}"
check_for() {
local lib_exts
+ local skip
local val
local item
local where
@@ -130,7 +137,7 @@
# but declared by the caller (because it needs it)
for item in "${@}"; do
case "${item}" in
- prog=*|inc=*|lib=*|var=*|ver=*|err=*|kconfig=*|lib_exts=*)
+ prog=*|inc=*|lib=*|var=*|ver=*|err=*|kconfig=*|lib_exts=*|skip=*)
eval ${item%%=*}=\"${item#*=}\"
;;
*) do_error "check_for: incorrect parameters: '${item}'";;
@@ -146,19 +153,25 @@
::) do_error "check_for: [prog|inc|lib] is mandatory";;
esac
+ if [ -n "${var}" ]; then
+ add_to_var_list "${var}"
+ fi
if [ -n "${kconfig}" ]; then
add_to_kconfig_list "${kconfig}"
fi
+ if [ "${skip}" = "y" ]; then
+ return 0
+ fi
+
if [ -n "${prog}" ]; then
for item in ${prog}; do
printf "Checking for '${item}'... "
if [ -n "${var}" ]; then
eval val="\${${var}}"
if [ -n "${val}" ]; then
- printf "${val} (cached)\n"
- add_to_var_list "${var}"
- return 0
+ status="${val} (cached)\n"
+ break
fi
fi
where="$( which "${item}" 2>/dev/null )"
@@ -228,7 +241,6 @@
if [ -n "${var}" ]; then
eval ${var}='"'"${where}"'"'
- add_to_var_list "${var}"
fi
if [ -n "${kconfig}" ]; then
eval ${kconfig}=y
@@ -480,8 +492,10 @@
;;
esac
if [ "${static_link_ok}" = "y" ]; then
+ static_link_ko=""
printf "yes\n"
else
+ static_link_ko="y"
printf "no\n"
printf " * An optional host feature is missing, some features will be disabled\n"
printf " * It will not be possible to link binaries statically\n"
@@ -489,7 +503,10 @@
add_to_kconfig_list static_link_ok
# Library checks
-libs_exts="so dylib a"
+libs_exts="so dylib"
+if [ "${static_link_ok}" = "y" ]; then
+ libs_exts+=" a"
+fi
ncurses_hdrs="ncurses/ncurses.h ncurses/curses.h ncurses.h curses.h"
ncurses_libs="libncursesw libncurses libcurses"
@@ -506,10 +523,11 @@
# The first is because we need one instance of libstdc++ (shared or static)
# because it is needed for PPL; the second is because the static version is
# required for static-linking, and if missing, the option is removed.
-has_or_warn lib="libstdc++" \
- lib_exts="a" \
+has_or_warn lib="libstdc++" \
+ lib_exts="a" \
err="static 'libstdc++' is needed to statically link the toolchain's executables" \
- kconfig=has_static_libstdcxx
+ kconfig=has_static_libstdcxx \
+ skip="${static_link_ko}"
has_or_warn inc="expat.h" \
lib="libexpat" \
@@ -521,10 +539,11 @@
# The first is because we need one instance of libexpat (shared or static)
# because it is needed for cross-gdb; the second is because the static version
# is required for static-linking, and if missing, the option is removed.
-has_or_warn lib="libexpat" \
- lib_exts="a" \
+has_or_warn lib="libexpat" \
+ lib_exts="a" \
err="static 'expat' is needed to statically link cross-gdb's executables" \
- kconfig=has_static_expat
+ kconfig=has_static_expat \
+ skip="${static_link_ko}"
for v in 7 6 5 4; do
python_incs="${python_incs} python2.${v}/Python.h"
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0 of 4 v2] No static link on Darwin
2011-06-28 21:57 [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
` (3 preceding siblings ...)
2011-06-28 22:04 ` [PATCH 4 of 4 v2] configure: do not test for static libs if static link is impossible Yann E. MORIN
@ 2011-06-28 22:23 ` Yann E. MORIN
2011-07-03 8:55 ` Titus von Boxberg
5 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2011-06-28 22:23 UTC (permalink / raw)
To: crossgcc; +Cc: Bryan Hundven, Titus von Boxberg
All,
On Tuesday 28 June 2011 23:56:19 Yann E. MORIN wrote:
> This patch series tries to fix the various static linking issues
> seen on Darwin /MacOS-X.
[--SNIP--]
This is mostly an RFC. If you can test on MacOS-X, I'd be interested in
reading about your opinions.
This is not intended to be a fix-it-all series, but mostly a starting
point taking care of the low-hanging fruits. Then we can add more fixes
and/or workarounds step-by-step...
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] 12+ messages in thread
* Re: [PATCH 1 of 4 v2] configure: check host system
2011-06-28 21:57 ` [PATCH 1 of 4 v2] configure: check host system Yann E. MORIN
@ 2011-07-03 7:52 ` Titus von Boxberg
2011-07-03 9:57 ` Yann E. MORIN
0 siblings, 1 reply; 12+ messages in thread
From: Titus von Boxberg @ 2011-07-03 7:52 UTC (permalink / raw)
To: crossgcc maillist
Am 28.06.2011 um 23:56 schrieb Yann E. MORIN:
> +case "${host}" in
> + Linux) ;;
> + Cygwin) ;;
> + Darwin)
> + printf " * Runing under Darwin is not fully supported\n"
> + printf " * Although not strictly required, using MacPorts is highly recommended\n"
> + printf " * Even though, you may encounter some weird behavior\n"
> + ;;
> + *)
> + printf " * Runing under %s is not fully tested\n" "${host}"
> + printf " * You may encounter some weird behavior\n"
> + ;;
I don't like the wording for Darwin.
What does "fully supported" mean?
There is no "using MacPorts". What has to be done is given in docs/C.txt
And macports can in no way prevent "weird behaviour".
If you do want to print a message on Darwin, the message for *) is better suited.
Regards
Titus
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0 of 4 v2] No static link on Darwin
2011-06-28 21:57 [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
` (4 preceding siblings ...)
2011-06-28 22:23 ` [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
@ 2011-07-03 8:55 ` Titus von Boxberg
2011-07-03 9:48 ` Yann E. MORIN
5 siblings, 1 reply; 12+ messages in thread
From: Titus von Boxberg @ 2011-07-03 8:55 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: crossgcc maillist
Am 28.06.2011 um 23:56 schrieb Yann E. MORIN:
> Hello All!
>
> This patch series tries to fix the various static linking issues
> seen on Darwin /MacOS-X.
>
> First patch is mostly cosmetics, but the result is used by the second
> patch.
>
> Second patch disables all static linking options in the menuconfig
> if the host can't link statically. Applies to hosts where a trivial
> static-link test fails. Unconditionnaly applies to Darwin.
>
> Third patch paves the way for fourth patch.
>
> Fourth patch removes the check for static libs if host can't
> link statically (as determined in patch 2).
Looks good to me.
My config/configure.in looks reasonable
(nothing is equivalent to 'default n'?):
# Generated file, do not edit
# Default values as found by ./configure
config CONFIGURE_static_link_ok
bool
config CONFIGURE_has_static_libstdcxx
bool
config CONFIGURE_has_expat
bool
default y
config CONFIGURE_has_static_expat
bool
-----------------
When I manually edit the configure.in to allow static
libstdc++ and static linking the diff of the .config files looks like this.
To me it looks OK.
--- .config 2011-07-03 10:45:06.000000000 +0200
+++ config-static 2011-07-03 10:44:43.000000000 +0200
@@ -1,8 +1,10 @@
#
# Automatically generated make config: don't edit
# The crosstool-NG configuration menu
-# Sun Jul 3 10:45:06 2011
+# Sun Jul 3 10:44:15 2011
#
+CT_CONFIGURE_static_link_ok=y
+CT_CONFIGURE_has_static_libstdcxx=y
CT_CONFIGURE_has_expat=y
CT_MODULES=y
@@ -149,6 +151,8 @@
CT_USE_SYSROOT=y
CT_SYSROOT_NAME="sysroot"
CT_SYSROOT_DIR_PREFIX=""
+CT_STATIC_TOOLCHAIN_POSSIBLE=y
+# CT_STATIC_TOOLCHAIN is not set
CT_TOOLCHAIN_PKGVERSION="test"
CT_TOOLCHAIN_BUGURL=""
@@ -310,6 +314,7 @@
CT_CC_ENABLE_CXX_FLAGS=""
CT_CC_CORE_EXTRA_CONFIG_ARRAY=""
CT_CC_EXTRA_CONFIG_ARRAY=""
+CT_CC_STATIC_LIBSTDCXX=y
#
# Optimisation features
----------------------
Regards
Titus
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 2 of 4 v2] configure: disable static linking on Darwin
2011-06-28 21:57 ` [PATCH 2 of 4 v2] configure: disable static linking on Darwin Yann E. MORIN
@ 2011-07-03 9:09 ` Titus von Boxberg
2011-07-03 9:55 ` Yann E. MORIN
0 siblings, 1 reply; 12+ messages in thread
From: Titus von Boxberg @ 2011-07-03 9:09 UTC (permalink / raw)
To: Yann E. MORIN; +Cc: crossgcc maillist
Am 28.06.2011 um 23:56 schrieb Yann E. MORIN:
> +if [ "${static_link_ok}" = "y" ]; then
> + printf "yes\n"
> +else
> + printf "no\n"
> + printf " * An optional host feature is missing, some features will be disabled\n"
> + printf " * It will not be possible to link binaries statically\n"
make the message more precise:
"It will not be possible to statically link the tool chain's binaries"
I'd also find those messages clearer if you'd replace the second asterisk
by indenting space and put a colon after the "An optional ...is missing...".
Then the user understands immediately that the second message is
giving the detail for the first general hint.
Regards
Titus
--
For unsubscribe information see http://sourceware.org/lists.html#faq
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0 of 4 v2] No static link on Darwin
2011-07-03 8:55 ` Titus von Boxberg
@ 2011-07-03 9:48 ` Yann E. MORIN
0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2011-07-03 9:48 UTC (permalink / raw)
To: Titus von Boxberg; +Cc: crossgcc maillist
Titus, All,
On Sunday 03 July 2011 10:55:11 Titus von Boxberg wrote:
> Am 28.06.2011 um 23:56 schrieb Yann E. MORIN:
> > This patch series tries to fix the various static linking issues
> > seen on Darwin /MacOS-X.
[-SNIP--]
> Looks good to me.
> My config/configure.in looks reasonable
> (nothing is equivalent to 'default n'?):
Indeed, 'n' is the default if there is no explicit value.
> When I manually edit the configure.in to allow static
> libstdc++ and static linking the diff of the .config files looks like this.
> To me it looks OK.
[--SNIP--]
OK, thank you for testing!
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] 12+ messages in thread
* Re: [PATCH 2 of 4 v2] configure: disable static linking on Darwin
2011-07-03 9:09 ` Titus von Boxberg
@ 2011-07-03 9:55 ` Yann E. MORIN
0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2011-07-03 9:55 UTC (permalink / raw)
To: Titus von Boxberg; +Cc: crossgcc maillist
Titus, All,
On Sunday 03 July 2011 11:09:29 Titus von Boxberg wrote:
> Am 28.06.2011 um 23:56 schrieb Yann E. MORIN:
> > +if [ "${static_link_ok}" = "y" ]; then
> > + printf "yes\n"
> > +else
> > + printf "no\n"
> > + printf " * An optional host feature is missing, some features will be disabled\n"
> > + printf " * It will not be possible to link binaries statically\n"
> make the message more precise:
> "It will not be possible to statically link the tool chain's binaries"
>
> I'd also find those messages clearer if you'd replace the second asterisk
> by indenting space and put a colon after the "An optional ...is missing...".
> Then the user understands immediately that the second message is
> giving the detail for the first general hint.
OK, both good ideas. Will do.
Thanks for testing.
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] 12+ messages in thread
* Re: [PATCH 1 of 4 v2] configure: check host system
2011-07-03 7:52 ` Titus von Boxberg
@ 2011-07-03 9:57 ` Yann E. MORIN
0 siblings, 0 replies; 12+ messages in thread
From: Yann E. MORIN @ 2011-07-03 9:57 UTC (permalink / raw)
To: crossgcc; +Cc: Titus von Boxberg
Titus, All,
On Sunday 03 July 2011 09:52:31 Titus von Boxberg wrote:
>
> Am 28.06.2011 um 23:56 schrieb Yann E. MORIN:
> > +case "${host}" in
> > + Linux) ;;
> > + Cygwin) ;;
> > + Darwin)
> > + printf " * Runing under Darwin is not fully supported\n"
> > + printf " * Although not strictly required, using MacPorts is highly recommended\n"
> > + printf " * Even though, you may encounter some weird behavior\n"
> > + ;;
> > + *)
> > + printf " * Runing under %s is not fully tested\n" "${host}"
> > + printf " * You may encounter some weird behavior\n"
> > + ;;
>
> I don't like the wording for Darwin.
> What does "fully supported" mean?
> There is no "using MacPorts". What has to be done is given in docs/C.txt
> And macports can in no way prevent "weird behaviour".
>
> If you do want to print a message on Darwin, the message for *) is better
> suited.
OK, I'll remove the Darwin special case.
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] 12+ messages in thread
end of thread, other threads:[~2011-07-03 9:57 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-28 21:57 [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
2011-06-28 21:57 ` [PATCH 3 of 4 v2] configure: pass the allowed lib extensions to check_for() Yann E. MORIN
2011-06-28 21:57 ` [PATCH 2 of 4 v2] configure: disable static linking on Darwin Yann E. MORIN
2011-07-03 9:09 ` Titus von Boxberg
2011-07-03 9:55 ` Yann E. MORIN
2011-06-28 21:57 ` [PATCH 1 of 4 v2] configure: check host system Yann E. MORIN
2011-07-03 7:52 ` Titus von Boxberg
2011-07-03 9:57 ` Yann E. MORIN
2011-06-28 22:04 ` [PATCH 4 of 4 v2] configure: do not test for static libs if static link is impossible Yann E. MORIN
2011-06-28 22:23 ` [PATCH 0 of 4 v2] No static link on Darwin Yann E. MORIN
2011-07-03 8:55 ` Titus von Boxberg
2011-07-03 9:48 ` Yann E. MORIN
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).