All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg@domain.hid>
To: niklaus.giger@domain.hid
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] Patches: README.install & examples/common for cross-compiling
Date: Fri, 22 Dec 2006 08:45:42 +0100	[thread overview]
Message-ID: <458B8D26.4030407@domain.hid> (raw)
In-Reply-To: <200612212259.06016.niklaus.giger@domain.hid>

Hi Niklaus,

Niklaus Giger wrote:
> Hi
> 
> After switching my development environment to a MacMini and using the ELDK 4.0 
> I discovered that my examples for building using a cross-compiler for my 
> PPC405 target were not correct. (Maybe a few of my previous problems were 
> caused by not correctly specifying the target ARCH.)
> 
> Also I would like to adapt and document the examples/common/Makefile to the 
> needs for cross-compiling (KSRC/XENOCONFIG/DESTDIR useage). Also I added a 
> target "install" to copy the generated application to $(DESTDIR)/usr/xenomai.

Hm, I don't have examples/common/Makefile in my SVN Xenomai tree. And 
/usr/xenomai should be the configurable.

> Could someone please commit these (or a improved version of it) patches?

> Thanks in advance
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Index: examples/common/Makefile
> ===================================================================
> --- examples/common/Makefile	(Revision 1970)
> +++ examples/common/Makefile	(Arbeitskopie)
> @@ -3,9 +3,9 @@
>  ### List of applications to be build
>  APPLICATIONS = hw_direct_io
>  
> -### Note: to override the search path for the xeno-config script, use "make XENO=..."
> +### Note: to override the search path for the xeno-config script, use "make XENOCONFIG=..."
> +### Note: if you installed it into a non standard place add DESTDIR=/path/to/installed/xenomai"
>  
> -
>  ### List of modules to be build
>  MODULES =
>  
> @@ -24,7 +24,9 @@
>  ### Sanity check
>  ifeq ($(XENOCONFIG),)
>  all::
> -	@echo ">>> Invoke make like this: \"make XENO=/path/to/xeno-config\" <<<"
> +	@echo ">>> Invoke make like this: \"make XENOCONFIG=/path/to/xeno-config\" <<<"
> +	@echo ">>> add KSRC=.. to override the default kernel source at /lib/modules/$(shell uname -r)/build <<<"
> +	@echo ">>> add DESTDIR=/path/to/installed/xenomai if you installed it into a non standard place <<<"
>  	@echo
>  endif
>  
> @@ -40,6 +42,9 @@
>  clean::
>  	$(RM) $(APPLICATIONS) *.o
>  
> +install:   $(APPLICATIONS)
> +	cp $(APPLICATIONS) $(DESTDIR)/usr/xenomai/bin
> +
>  endif
>  
>  
> @@ -80,3 +85,4 @@
>  	$(RM) -R .tmp*
>  
>  endif
> +
> 
> 
> ------------------------------------------------------------------------
> 
> Index: README.INSTALL
> ===================================================================
> --- README.INSTALL	(Revision 1957)
> +++ README.INSTALL	(Arbeitskopie)
> @@ -276,19 +276,20 @@
>  -----------------------------------------
>  
>  A typical cross-compilation setup, in order to build Xenomai for a
> -PowerPC-405-based system:
> +PowerPC-405-based system (assuming an ELDK cross-compiler and a 2.6.14 kernel)
>  
>  $ $xenomai_root/scripts/prepare-kernel.sh --arch=powerpc \
>    --adeos=$xenomai_root/ksrc/arch/powerpc/patches/adeos-ipipe-2.6.14-ppc-X.Y-ZZ.patch \
>    --linux=$linux_tree

For the time beeing, we must distinguish between --arch=ppc (ARCH=ppc) 
and --arch=powerpc (ARCH=powerpc). The latter is not yet supported.

>  $ cd $linux_tree
> -$ mkdir ../build-powerpc-405-2.6.14
> -$ make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- O=../build-powerpc-405-2.6.14 xconfig/gconfig/menuconfig 

For the ELDK CROSS_COMPILE must be ppc_4xx- for AMCC 4xx processors.

> +$ build_root /path/to/build-powerpc-405-2.6.14
> +$ mkdir $build_root
> +$ make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- O=$build_root xconfig/gconfig/menuconfig 
>  # select the kernel and Xenomai options
> -$ make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- O=../build-powerpc-405-2.6.14 bzImage modules 
> +$ make ARCH=ppc CROSS_COMPILE=powerpc-405-linux-gnu- O=$build_root bzImage modules 
>  # then install as needed
> -$ mkdir $build_root && cd $build_root
> -$ $xenomai_root/configure --build=i686-linux --host=powerpc-405-linux-gnu
> +$ cd $build_root
> +$ $xenomai_root/configure --build=i686-linux --host=powerpc-405-linux-gnu CC=ppc_4xx-gcc CXX=ppc_4xx-g++ LD=ppc_4xx-ld

    $ $xenomai_root/configure --host=ppc-linux

    already works fine for all ELDK tool chains. The --prefix should also
    be configurable.

>  $ make install
>  
>  2.3 Building for the IPF
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> Xenomai-core mailing list
> Xenomai-core@domain.hid
> https://mail.gna.org/listinfo/xenomai-core



  parent reply	other threads:[~2006-12-22  7:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-21 21:59 [Xenomai-core] Patches: README.install & examples/common for cross-compiling Niklaus Giger
2006-12-21 22:40 ` Wolfgang Denk
2006-12-23 22:51   ` [Xenomai-core] Patches: README.install Niklaus Giger
2006-12-23 23:47     ` Wolfgang Denk
2006-12-22  7:45 ` Wolfgang Grandegger [this message]
2006-12-23 21:19   ` [Xenomai-core] Patches: README.install & examples/common for cross-compiling Niklaus Giger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=458B8D26.4030407@domain.hid \
    --to=wg@domain.hid \
    --cc=niklaus.giger@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.