This is the mail archive of the frysk-cvs@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] master: Add libunwind-* arch symlinks and use "normal" recursive configure.


The branch, master has been updated
       via  e9da21cc5516c519054e31d67b2d963dbf2e5335 (commit)
      from  e590d60fba9c0de3ba354051c5b4b7b6cf41e198 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit e9da21cc5516c519054e31d67b2d963dbf2e5335
Author: Mark Wielaard <mwielaard@redhat.com>
Date:   Thu Dec 20 09:23:36 2007 +0100

    Add libunwind-* arch symlinks and use "normal" recursive configure.
    
    frysk-imports/ChangeLog
    2007-12-20  Mark Wielaard  <mwielaard@redhat.com>
    
           * .gitignore: Remove libunwind-*.
           * Makefile.am (LIBUNWIND_DIR): Set to either empty or canonical
           libunwind dir.
           (LIBUNWIND_ARCH_DIRS): Define.
           (LIBUNWIND_OTHER_DIRS): Removed.
           (CHECK_SUBDIRS): Include LIBUNWIND_DIR (if defined).
           (SUBDIRS): Include LIBUNWIND_ARCH_DIRS.
           * bootstrap.sh: Don't create libunwind-* dirs.
           * configure.ac: Don't create and configure libunwind-* dirs
           explicitly.
           (AC_CONFIG_SUBDIRS): Add libunwind-* dirs.
    
    frysk-imports/libunwind/ChangeLog
    2007-12-20  Mark Wielaard  <mwielaard@redhat.com>
    
           * configure.in (is_local_frysk_build): New function.
           (frysk_local_target_cpu): New function.
           Define target_cpu, target_alias and UNW_REMOTE_ONLY based on new
           functions.

-----------------------------------------------------------------------

Summary of changes:
 frysk-imports/.gitignore             |    4 ----
 frysk-imports/ChangeLog              |   14 ++++++++++++++
 frysk-imports/Makefile.am            |   25 +++++--------------------
 frysk-imports/bootstrap.sh           |    7 -------
 frysk-imports/configure.ac           |   16 +---------------
 frysk-imports/libunwind-i386         |    1 +
 frysk-imports/libunwind-ppc32        |    1 +
 frysk-imports/libunwind-ppc64        |    1 +
 frysk-imports/libunwind-x86_64       |    1 +
 frysk-imports/libunwind/ChangeLog    |    7 +++++++
 frysk-imports/libunwind/configure.in |   28 ++++++++++++++++++++++++++--
 11 files changed, 57 insertions(+), 48 deletions(-)
 create mode 120000 frysk-imports/libunwind-i386
 create mode 120000 frysk-imports/libunwind-ppc32
 create mode 120000 frysk-imports/libunwind-ppc64
 create mode 120000 frysk-imports/libunwind-x86_64

First 500 lines of diff:
diff --git a/frysk-imports/.gitignore b/frysk-imports/.gitignore
index aea9805..2655ccd 100644
--- a/frysk-imports/.gitignore
+++ b/frysk-imports/.gitignore
@@ -10,7 +10,3 @@ depcomp
 files.list
 install-sh
 missing
-libunwind-i386
-libunwind-x86_64
-libunwind-ppc32
-libunwind-ppc64
diff --git a/frysk-imports/ChangeLog b/frysk-imports/ChangeLog
index 0cd00e3..41be628 100644
--- a/frysk-imports/ChangeLog
+++ b/frysk-imports/ChangeLog
@@ -1,3 +1,17 @@
+2007-12-20  Mark Wielaard  <mwielaard@redhat.com>
+
+	* .gitignore: Remove libunwind-*.
+	* Makefile.am (LIBUNWIND_DIR): Set to either empty or canonical
+	libunwind dir.
+	(LIBUNWIND_ARCH_DIRS): Define.
+	(LIBUNWIND_OTHER_DIRS): Removed.
+	(CHECK_SUBDIRS): Include LIBUNWIND_DIR (if defined).
+	(SUBDIRS): Include LIBUNWIND_ARCH_DIRS.
+	* bootstrap.sh: Don't create libunwind-* dirs.
+	* configure.ac: Don't create and configure libunwind-* dirs
+	explicitly.
+	(AC_CONFIG_SUBDIRS): Add libunwind-* dirs.
+
 2007-10-13  Mark Wielaard  <mwielaard@redhat.com>
 
 	* .cvsignore: Add libunwind-ppc32.
diff --git a/frysk-imports/Makefile.am b/frysk-imports/Makefile.am
index c6602a4..d241705 100644
--- a/frysk-imports/Makefile.am
+++ b/frysk-imports/Makefile.am
@@ -44,26 +44,11 @@ include Makefile.gen
 # See the comment above CHECK_SUBDIRS, only add libunwind to the tests
 # if explicitly configured to do so.
 if CHECK_LIBUNWIND
-if ARCH_X86
-    LIBUNWIND_ARCH_DIR = libunwind-i386
-    LIBUNWIND_OTHER_DIRS = libunwind-x86_64 libunwind-ppc32 libunwind-ppc64
-endif # ARCH_X86
-if ARCH_X86_64
-    LIBUNWIND_ARCH_DIR = libunwind-x86_64
-    LIBUNWIND_OTHER_DIRS = libunwind-i386 libunwind-ppc32 libunwind-ppc64
-endif # ARCH_X86_64
-if ARCH_PPC32
-    LIBUNWIND_ARCH_DIR = libunwind-ppc32
-    LIBUNWIND_OTHER_DIRS = libunwind-i386 libunwind-x86_64 libunwind-ppc64
-endif # ARCH_PPC32
-if ARCH_PPC64
-    LIBUNWIND_ARCH_DIR = libunwind-ppc64
-    LIBUNWIND_OTHER_DIRS = libunwind-i386 libunwind-x86_64 libunwind-ppc32
-endif # ARCH_PPC64
+  LIBUNWIND_DIR = libunwind
 else
-  LIBUNWIND_ARCH_DIR = 
-  LIBUNWIND_OTHER_DIRS = libunwind-i386 libunwind-x86_64 libunwind-ppc32 libunwind-ppc64
+  LIBUNWIND_DIR = 
 endif # CHECK_LIBUNWIND
+LIBUNWIND_ARCH_DIRS = libunwind-i386 libunwind-x86_64 libunwind-ppc32 libunwind-ppc64
 
 # List of directories that should both be included in the distro and
 # included in a recursive "make check".  Only the native architecture
@@ -77,13 +62,13 @@ CHECK_SUBDIRS = \
 	elfutils \
 	getopt \
 	tests \
-	$(LIBUNWIND_ARCH_DIR)
+	$(LIBUNWIND_DIR)
 
 check-recursive: SUBDIRS = $(CHECK_SUBDIRS)
 
 # List of directories to build.  This does not include "libunwind" but
 # does include the unwind cross libraries.
-SUBDIRS = $(CHECK_SUBDIRS) $(LIBUNWIND_OTHER_DIRS)
+SUBDIRS = $(CHECK_SUBDIRS) $(LIBUNWIND_ARCH_DIRS)
 
 # List of directories to install, put simply, only install frysk
 # stuff.  Will eventually need to change this so that it installs
diff --git a/frysk-imports/bootstrap.sh b/frysk-imports/bootstrap.sh
index d8e1949..5a734c4 100755
--- a/frysk-imports/bootstrap.sh
+++ b/frysk-imports/bootstrap.sh
@@ -69,13 +69,6 @@ FILE_LIST="\
     autoconf -Werror -f
 )
 
-for isa in i386 x86_64 ppc32 ppc64
-do
-    mkdir -p libunwind-$isa
-    # Something to include in EXTRA_DIST that these directories are
-    # included in the distro.
-    touch libunwind-$isa/.keep_me
-done
 (
     cd libunwind
     mkdir -p config
diff --git a/frysk-imports/configure.ac b/frysk-imports/configure.ac
index f9fc51a..5a127f1 100644
--- a/frysk-imports/configure.ac
+++ b/frysk-imports/configure.ac
@@ -58,24 +58,10 @@ AC_CONFIG_FILES([
 	cdtparser/Makefile
 	junit/Makefile])
 
-for isa in i386 x86_64 ppc32 ppc64
-do
-  AC_MSG_NOTICE([configuring libunwind-$isa])
-  mkdir -p libunwind-$isa
-  confdir=`cd "$srcdir";pwd`
-  # FIXME - This is wrong since it discards any configure flags given
-  # except those explicitly passed on...
-  ( cd libunwind-$isa ; $confdir/libunwind/configure \
-	--target=$isa-unknown-linux-gnu \
-	--build=${build} \
-	--host=${host} \
-	--prefix=${prefix} ) || exit $?
-done
-
 # Even though "libunwind" is not built, it is still included in the
 # list of configured subdirectories so that it can be included in
 # "make dist" (or the recursive "make distdir").
 
-AC_CONFIG_SUBDIRS([elfutils libunwind])
+AC_CONFIG_SUBDIRS([elfutils libunwind libunwind-i386 libunwind-x86_64 libunwind-ppc32 libunwind-ppc64])
 
 AC_OUTPUT
diff --git a/frysk-imports/libunwind-i386 b/frysk-imports/libunwind-i386
new file mode 120000
index 0000000..afad516
--- /dev/null
+++ b/frysk-imports/libunwind-i386
@@ -0,0 +1 @@
+libunwind
\ No newline at end of file
diff --git a/frysk-imports/libunwind-ppc32 b/frysk-imports/libunwind-ppc32
new file mode 120000
index 0000000..afad516
--- /dev/null
+++ b/frysk-imports/libunwind-ppc32
@@ -0,0 +1 @@
+libunwind
\ No newline at end of file
diff --git a/frysk-imports/libunwind-ppc64 b/frysk-imports/libunwind-ppc64
new file mode 120000
index 0000000..afad516
--- /dev/null
+++ b/frysk-imports/libunwind-ppc64
@@ -0,0 +1 @@
+libunwind
\ No newline at end of file
diff --git a/frysk-imports/libunwind-x86_64 b/frysk-imports/libunwind-x86_64
new file mode 120000
index 0000000..afad516
--- /dev/null
+++ b/frysk-imports/libunwind-x86_64
@@ -0,0 +1 @@
+libunwind
\ No newline at end of file
diff --git a/frysk-imports/libunwind/ChangeLog b/frysk-imports/libunwind/ChangeLog
index 04d85ee..e09422a 100644
--- a/frysk-imports/libunwind/ChangeLog
+++ b/frysk-imports/libunwind/ChangeLog
@@ -1,3 +1,10 @@
+2007-12-20  Mark Wielaard  <mwielaard@redhat.com>
+
+	* configure.in (is_local_frysk_build): New function.
+	(frysk_local_target_cpu): New function.
+	Define target_cpu, target_alias and UNW_REMOTE_ONLY based on new
+	functions.
+
 2007-12-11  Andrew Cagney  <cagney@redhat.com>
 
 	* src/x86/Gregs.c (linux_scratch_loc): Add XMM registers.
diff --git a/frysk-imports/libunwind/configure.in b/frysk-imports/libunwind/configure.in
index 0cd1376..28ed2b2 100644
--- a/frysk-imports/libunwind/configure.in
+++ b/frysk-imports/libunwind/configure.in
@@ -7,6 +7,30 @@ dnl Process this file with autoconf to produce a configure script.
 AC_INIT(libunwind, mkvers(pkg_major, pkg_minor, pkg_extra), pkg_maintainer)
 AC_CONFIG_SRCDIR(src/mi/backtrace.c)
 AC_CONFIG_AUX_DIR(config)
+
+# Returns "yes" or "no" based on dirname starting with libunwind-.
+is_local_frysk_build() {
+  if (echo $1 | grep ^libunwind- > /dev/null); then
+	echo "yes"
+  else
+	echo "no"
+  fi
+}
+
+# Returns the encoded build cpu in the local frysk build dir name
+frysk_local_target_cpu() {
+  echo $1 | cut -f2 -d-
+}
+
+# We will trick the target to be the same as the name of the dir
+# for frysk local builds.
+fbdir=$(basename `cd "$builddir";pwd`)
+frysk_local=`is_local_frysk_build $fbdir`
+if test x$frysk_local = xyes; then
+	target_cpu=`frysk_local_target_cpu $fbdir`
+	target_alias=${target_cpu}-unknown-linux-gnu
+fi
+
 AC_CANONICAL_SYSTEM
 AM_INIT_AUTOMAKE([1.6 subdir-objects])
 AM_CONFIG_HEADER(include/config.h)
@@ -84,7 +108,7 @@ get_arch() {
 build_arch=`get_arch $build_cpu`
 target_arch=`get_arch $target_cpu`
 
-AM_CONDITIONAL(REMOTE_ONLY, test x$target_arch != x$build_arch)
+AM_CONDITIONAL(REMOTE_ONLY, test x$frysk_local = xyes)
 AM_CONDITIONAL(ARCH_IA64, test x$target_arch = xia64)
 AM_CONDITIONAL(ARCH_HPPA, test x$target_arch = xhppa)
 AM_CONDITIONAL(ARCH_X86, test x$target_arch = xx86)
@@ -100,7 +124,7 @@ if test x$target_arch = xppc64; then
         AC_SUBST([libdir])
 fi
 
-if test x$target_arch != x$build_arch; then
+if test x$frysk_local = xyes; then
   CPPFLAGS="${CPPFLAGS} -DUNW_REMOTE_ONLY"
 fi
 AC_CONFIG_LINKS(include/libunwind.h:include/libunwind-$target_arch.h


hooks/post-receive
--
frysk system monitor/debugger


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]