[Tinyos-commits] CVS: tinyos-1.x/tools/release/external-tools msp430tools-binutils.spec, NONE, 1.1 msp430tools-gcc.spec, NONE, 1.1 msp430tools-gdb.spec, NONE, 1.1 msp430tools-jtag.spec, NONE, 1.1 msp430tools-python-tools.spec, NONE, 1.1

Kristin Wright kristinwright at users.sourceforge.net
Wed Sep 21 10:30:16 PDT 2005


Update of /cvsroot/tinyos/tinyos-1.x/tools/release/external-tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6387

Added Files:
	msp430tools-binutils.spec msp430tools-gcc.spec 
	msp430tools-gdb.spec msp430tools-jtag.spec 
	msp430tools-python-tools.spec 
Log Message:
linux-only specs from kevin kline

--- NEW FILE: msp430tools-binutils.spec ---
%define	summary	MSP430TOOLS -- Binutils
%define	copy	GPL
%define	name	msp430tools-binutils
%define	version	2.16
%define	release	20050607

Summary:	%{summary}
Name:		%{name}
Version:	%{version}
Release:	%{release}
Copyright:	%{copy}
#Distribution:	???
#Vendor:		???
Packager:	Kevin Klues <klues at tkn.tu-berlin.de>, TKN Group, Technische Universität Berlin
#URL:		???
Group:		Development/Tools
#Icon:		???
ExclusiveOS:	linux
BuildRequires:	msp430tools-base >= 0.1
Provides:	msp430-as
Provides:	msp430-ar
Provides:	msp430-ld
Provides:	msp430-objcopy
Requires:	msp430tools-base >= 0.1
#Conflicts:	??? <= ???
Prefix:		/opt/msp430
BuildRoot:	/tmp/%{name}-buildroot
Source0:	http://ftp.gnu.org/gnu/binutils/binutils-%{version}.tar.bz2
Patch0:		binutils-%{version}-dollar_fix.patch.bz2

%description
Binutils is a collection of binary utilities, including:

   * msp430-ar: creating modifying and extracting from archives
   * msp430-as: a family of GNU assemblers
   * msp430-ld: the GNU linker
   * msp430-nm: for listing symbols from object files
   * msp430-objcopy: for copying and translating object files
   * msp430-objdump: for displaying information from object files
   * msp430-ranlib: for generating an index for the contents of an archive
   * msp430-size: for listing the section sizes of an object or archive file
   * msp430-strings: for listing printable strings from files
   * msp430-strip: for discarding symbols
   * msp430-addr2line: for converting addresses to file and line
   * msp430-readelf: for displaying information about ELF files

Install binutils if you need to perform any of these types of actions on
MSP430 binary files.  Most programmers will want to install binutils.

Supported processors:

   * msp430x110  msp430x112
   * msp430x1101 msp430x1111
   * msp430x1121 msp430x1122 msp430x1132
   * msp430x122  msp430x123
   * msp430x133  msp430x135
   * msp430x1331 msp430x1351
   * msp430x147  msp430x148  msp430x149
   * msp430x155  msp430x156  msp430x157
   * msp430x167  msp430x168  msp430x169
   * msp430x311  msp430x312  msp430x313 msp430x314 msp430x315
   * msp430x323  msp430x325
   * msp430x336  msp430x337
   * msp430x412  msp430x413
   * msp430x435  msp430x436  msp430x437
   * msp430x447  msp430x448  msp430x449

Development of binutils is part of MPCGCC project. You can found it at:
http://mspgcc.sourceforge.net

%prep
%setup -q -n binutils-%{version}
%patch0 -p1

%build
# Binutils come with its own custom libtool
%define __libtoolize echo
CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}"
mkdir -p msp430tools; cd msp430tools
../configure --target=msp430 --prefix=%{prefix} --program-prefix="msp430-"
make

%install
rm -rf ${RPM_BUILD_ROOT}
mkdir -p msp430tools; cd msp430tools
make prefix=${RPM_BUILD_ROOT}%{prefix} install 

# This one comes from gcc
rm -f ${RPM_BUILD_ROOT}%{prefix}/bin/msp430-c++filt

%clean
rm -rf ${RPM_BUILD_ROOT}

%files
%defattr(-,root,root)
%dir %{prefix}/bin
%dir %{prefix}/info
%dir %{prefix}/lib
%dir %{prefix}/man
%dir %{prefix}/man/man1
%dir %{prefix}/msp430
%dir %{prefix}/msp430/bin
%dir %{prefix}/msp430/lib
%dir %{prefix}/msp430/lib/ldscripts
%dir %{prefix}/share
%dir %{prefix}/share/locale
%dir %{prefix}/share/locale/*/LC_MESSAGES

%{prefix}/bin/*
%{prefix}/info/*
%{prefix}/lib/*
%{prefix}/man/*
%{prefix}/msp430/*
%{prefix}/share/*

%changelog
* Tue Jun 07 2005 Kevin Klues <klues at tkn.tu-berlin.de>
- initial version of MSP430TOOLS 
- Based on CDK4MSP430 spec files by Stephan Linz <linz at li-pro.net>

--- NEW FILE: msp430tools-gcc.spec ---
%define	summary	MSP430TOOLS -- GNU CC
%define	copy	GPL
%define	name	msp430tools-gcc
%define	version	3.2.3
%define	release	20050607
%define	gccvers %{version}

Summary:	%{summary}
Name:		%{name}
Version:	%{version}
Release:	%{release}
Copyright:	%{copy}
#Distribution:	???
#Vendor:	???
Packager:	Kevin Klues <klues at tkn.tu-berlin.de>, TKN Group, Technische Universität Berlin
#URL:		???
Group:		Development/Tools
#Icon:		???
ExclusiveOS:	linux
BuildRequires:	msp430tools-base >= 0.1
BuildRequires:	msp430tools-binutils >= 2.15
Provides:	msp430-gcc
Provides:	msp430-cpp
Requires:	msp430tools-base >= 0.1
Requires:	msp430tools-binutils >= 2.15
#Conflicts:	??? <= ???
Prefix:		/opt/msp430
BuildRoot:	/tmp/%{name}-buildroot
Source0:	ftp://gcc.gnu.org/pub/gcc/releases/gcc-%{version}/gcc-core-%{version}.tar.bz2
Patch0:		gcc-%{version}-msp430_support.patch.bz2

%description
GCC is a collection of C compiler utilities, including:

   * msp430-gcc: GNU project C compiler for MSP430 processor serie
   * msp430-cpp: GNU C compatible compiler preprocessor

Install GCC if you need to perform any of these types of actions on
MSP430 C source files. Most programmers will want to install GCC.

Supported processors:

   * msp430x110  msp430x112
   * msp430x1101 msp430x1111
   * msp430x1121 msp430x1122 msp430x1132
   * msp430x122  msp430x123
   * msp430x1222 msp430x1232
   * msp430x133  msp430x135
   * msp430x1331 msp430x1351
   * msp430x147  msp430x148  msp430x149
   * msp430x1471 msp430x1481 msp430x1491
   * msp430x155  msp430x156  msp430x157
   * msp430x167  msp430x168  msp430x169  msp430x1610 msp430x1611
   * msp430x311  msp430x312  msp430x313  msp430x314  msp430x315
   * msp430x323  msp430x325
   * msp430x336  msp430x337
   * msp430x412  msp430x413
   * msp430xE423 msp430xE425 msp430xE427
   * msp430xW423 msp430xW425 msp430xW427
   * msp430x435  msp430x436  msp430x437
   * msp430x447  msp430x448  msp430x449

Development of gcc is part of MPCGCC project. You can found it at:
http://mspgcc.sourceforge.net

%prep
%setup -q -n gcc-%{version}
%patch0 -p1


#cd %{_builddir}/gcc-%{version}/gcc

# Note that %{_target_platform} is really the target hosting the
# cross-compiler in the case of msp430-gcc.

%build
mkdir -p msp430tools; cd msp430tools
../configure --target=msp430 --prefix=%{prefix}
make

%install
rm -rf $RPM_BUILD_ROOT
mkdir -p msp430tools; cd msp430tools
make prefix=${RPM_BUILD_ROOT}%{prefix} install

%clean
rm -rf ${RPM_BUILD_ROOT}

#
# RPM is very picky about seeing files installed during the build
# process but not included in the installation package.  Normally, the
# build stops if an installed but unpackaged file is found.
# Uncomment the following to tell RPM to disregard seemingly-omitted
# files from the installation RPM.  See:
# http://www.rpm.org/hintskinks/unpackaged-files/
#
%define _unpackaged_files_terminate_build 0

%files
%defattr(-,root,root) 
%dir %{prefix}/lib/gcc-lib
%dir %{prefix}/lib/gcc-lib/msp430
%dir %{prefix}/lib/gcc-lib/msp430/3.2.3/
%dir %{prefix}/lib/gcc-lib/msp430/3.2.3/include/
%dir %{prefix}/lib/gcc-lib/msp430/3.2.3/msp1/
%dir %{prefix}/lib/gcc-lib/msp430/3.2.3/msp2/
%dir %{prefix}/man/man7/
%dir %{prefix}/share/locale/el/
%dir %{prefix}/share/locale/el/LC_MESSAGES/

%{prefix}/bin/*
%{prefix}/info/*
%{prefix}/lib/gcc-lib/msp430/3.2.3/cc1
%{prefix}/lib/gcc-lib/msp430/3.2.3/collect2
%{prefix}/lib/gcc-lib/msp430/3.2.3/libgcc.a
%{prefix}/lib/gcc-lib/msp430/3.2.3/specs
%{prefix}/lib/gcc-lib/msp430/3.2.3/cpp0
%{prefix}/lib/gcc-lib/msp430/3.2.3/tradcpp0
%{prefix}/lib/gcc-lib/msp430/3.2.3/include/*
%{prefix}/lib/gcc-lib/msp430/3.2.3/msp1/*
%{prefix}/lib/gcc-lib/msp430/3.2.3/msp2/*
%{prefix}/man/man1/*
%{prefix}/man/man7/*
%{prefix}/share/locale/*/LC_MESSAGES/*

%changelog
* Tue Jun 07 2005 Kevin Klues <klues at tkn.tu-berlin.de>
- initial version of MSP430TOOLS 
- Based on CDK4MSP430 spec files by Stephan Linz <linz at li-pro.net>

--- NEW FILE: msp430tools-gdb.spec ---
%define	packsum	MSP430TOOLS -- GNU debugger
%define	copy	GPL
%define	name	msp430tools-gdb
%define	version	6.0
%define	release	20050609
%define	proxver	0.7.1

Summary:	%{packsum}
Name:		%{name}
Version:	%{version}
Release:	%{release}
Copyright:	%{copy}
#Distribution:	???
#Vendor:	???
Packager:	Kevin Klues <klues at tkn.tu-berlin.de>, TKN Group, Technische Universität Berlin
#URL:		???
Group:		Development/Debuggers
#Icon:		???
#ExclusiveOS:	???
BuildRequires:  msp430tools-base >= 0.1
Provides:	msp430-gdb
Requires: 	msp430tools-base >= 0.1
Requires: 	msp430tools-binutils >= 2.15
Requires:       msp430tools-jtag-lib
Prefix:		/opt/msp430
BuildRoot:	/tmp/%{name}-buildroot
Source0:	ftp://ftp.gnu.org/pub/gnu/gdb/gdb-%{version}.tar.bz2
Source1:	http://prdownloads.sourceforge.net/mspgcc/msp430-gdbproxy
Patch0:		http://www.nameofserver.com/src/gdb-%{version}-msp430_support.patch.bz2

%description
GDB, the GNU debugger, allows you to debug programs written in C, C++,
and other languages, by executing them in a controlled fashion and
printing their data. In the case of MSP430 processores you have to use
an external gdb proxy (msp430-gdbproxy) to access JTAG in-circuit emulator
(TIs FET) and run programs. This collection includes:

   * msp430-gdb: GNU debugger for MSP430 RISC processor serie

Install GDB if you need to perform any of these types of actions on
MSP430 programs. Most programmers will want to install GDB.

%package proxy
Summary:	%{packsum} -- gdb remote proxy
Copyright:	BSD
Group:		Development/Debuggers
Provides:	msp430-gdbproxy
Requires:	msp430tools-jtag-lib

%description proxy
"gdbproxy" is an open source remote proxy program for the GNU debugger,
GDB. Its licence is similar to the BSD licence, so it can be used to
build closed source interfaces between GDB and proprietary target debug
environments.

"gdbproxy" is based on the Open Source program rproxy, which can be
found at: http://world.std.com/~qqi/labslave/rproxy.html

One of the nice features of the Texas Instruments MSP430 microcontrollers
are their on-chip emulation facilities. These are usually accessed through
a TI JTAG Flash Emulation Tool (FET) attached to a PC's parallel port. To
make the GNU debugger (GDB) work with this, an interface between GDB and
the FET was needed.

TI made their MSP430 debug interface code available to the developers of
the MSP430 port of the GNU toolchain. However, for commercial reasons, TI
would not allow the full version of their interface library to be released
as open source code. It would reveal things about the working of the MSP430,
which they consider commercially confidential. The licencing of the GNU tools
does not permit linking against a closed source library. This is where
gdbproxy fits in.....

A sceleton (open) source base can be found at CVS repository:
http://cvs.sourceforge.net/viewcvs.py/mspgcc

A special binary for MSP430 which includes closed code by TI (even this
binary provided by this package) can be found at file download page:
http://sourceforge.net/project/showfiles.php?group_id=42303

%prep
%setup -q -n gdb-%{version}
%patch0 -p1
cp -a %SOURCE1 .

%build
rm -fr dejagnu tcl expect
mkdir -p msp430tools; cd msp430tools
CC="${CC}"			\
CFLAGS="${RPM_OPT_FLAGS}"	\
CXXFLAGS="${RPM_OPT_FLAGS}"	\
XCFLAGS="${RPM_OPT_FLAGS}"	\
TCFLAGS="${RPM_OPT_FLAGS}"	\
../configure	--target=msp430 --prefix=%{prefix}
make 

%install
rm -rf $RPM_BUILD_ROOT

# GCC stuff
pushd msp430tools
make prefix=${RPM_BUILD_ROOT}%{prefix} install
popd

# install MSP430 GDB proxy
install -D -m 0755 msp430-gdbproxy ${RPM_BUILD_ROOT}%{prefix}/bin/msp430-gdbproxy

%clean
rm -rf ${RPM_BUILD_ROOT}

#
# RPM is very picky about seeing files installed during the build
# process but not included in the installation package.  Normally, the
# build stops if an installed but unpackaged file is found.
# Uncomment the following to tell RPM to disregard seemingly-omitted
# files from the installation RPM.  See:
# http://www.rpm.org/hintskinks/unpackaged-files/
#
%define _unpackaged_files_terminate_build 0

%files
%defattr(-,root,root)
%{prefix}/bin/*
%{prefix}/info/annotate.info
%{prefix}/info/gdb.info
%{prefix}/info/gdb.info-1
%{prefix}/info/gdb.info-2
%{prefix}/info/gdb.info-3
%{prefix}/info/gdbint.info
%{prefix}/info/mmalloc.info
%{prefix}/info/stabs.info
%{prefix}/lib/libmmalloc.a
%{prefix}/lib/libmsp430-sim.a
%{prefix}/man/man1/*

%files proxy
%defattr(-,root,root)
%{prefix}/bin/msp430-gdbproxy

%changelog
* Tue Jun 09 2005 Kevin Klues <klues at tkn.tu-berlin.de>
- initial version of MSP430TOOLS 
- Based on CDK4MSP430 spec files by Stephan Linz <linz at li-pro.net>

--- NEW FILE: msp430tools-jtag.spec ---
%define	summary	MSP430TOOLS -- JTAG access library
%define	copy	Python
%define	name	msp430tools-jtag-lib
%define	version	20031101cvs
%define	release	20050610

Summary:	%{summary}
Name:		%{name}
Version:	%{version}
Release:	%{release}
Copyright:	%{copy}
#Distribution:	???
#Vendor:	???
Packager:	Kevin Klues <klues at tkn.tu-berlin.de>
#URL:		???
Group:		Development/Libraries
#Icon:		???
#ExclusiveOS:	???
BuildRequires:	python >= 2.1
BuildRequires:	msp430tools-base >= 0.1
BuildRequires:	msp430tools-binutils >= 2.15
BuildRequires:	msp430tools-gcc = 3.2.3
BuildRequires:	msp430tools-libc = 20050308cvs
Provides:	msp-jtag-lib
Requires: 	python >= 2.1
Requires:  	msp430tools-base >= 0.1
Requires: 	msp430tools-binutils >= 2.15
Requires: 	msp430tools-gcc = 3.2.3
Requires:  	msp430tools-libc = 20050308cvs
#Conflicts:	??? <= ???
Prefix:		/opt/msp430
BuildRoot:	/tmp/%{name}-buildroot
Source0:	http://prdownloads.sourceforge.net/mspgcc/jtag-%{version}.tar.bz2
Patch0:		jtag-%{version}-crlf_fix.patch.bz2
Patch1:		jtag-%{version}-makefile_fix.patch.bz2

%description
Parallel Port JTAG Interface -- the MSP430mspgcc library, the Python extension
using it and the hardware access library HIL. It includes:

   * funclets: Helper programs that are downloaded to the target.
   * hardware_access: The hardware layer is encapsulated in the HIL library.
   * msp430: The MSP430mspgcc library communicates trough the JTAG with an
             attached MSP430 processor. It has support to read and write memory,
             erase and write Flash.
   * python: Python extension for use with pyjtag.

!!! This package will not needed to build MSP430 target binaries !!!

Development of JTAG-lib is part of MPCGCC project. You can found it at:
http://mspgcc.sourceforge.net

%prep
%setup -q -n jtag-%{version}
%patch0 -p1
%patch1 -p1

%build
CFLAGS="${RPM_OPT_FLAGS}" CXXFLAGS="${RPM_OPT_FLAGS}"
make all

%install
rm -rf ${RPM_BUILD_ROOT}
pushd hardware_access/HILppdev
install -D -m 0644 libHIL.a ${RPM_BUILD_ROOT}%{prefix}/lib/libHIL.a
install -D -m 0755 libHIL.so ${RPM_BUILD_ROOT}%{prefix}/lib/libHIL.so
popd
pushd hardware_access
install -D -m 0644 HIL.h ${RPM_BUILD_ROOT}%{prefix}/include/HIL.h
popd
pushd funclets
for i in *.S *.a43 *.ci *.lst *.py *.x makefile; do
  [ -f ${i} ] && install -D -m 0644 ${i} \
    ${RPM_BUILD_ROOT}%{prefix}/share/jtag-lib/funclets/${i}; done
popd
pushd msp430
install -D -m 0644 libMSP430mspgcc.a ${RPM_BUILD_ROOT}%{prefix}/lib/libMSP430mspgcc.a
install -D -m 0755 MSP430mspgcc.so ${RPM_BUILD_ROOT}%{prefix}/lib/libMSP430mspgcc.so
install -D -m 0644 JTAGfunc.h ${RPM_BUILD_ROOT}%{prefix}/include/JTAGfunc.h
popd
pushd python
install -D -m 0755 _parjtag.so ${RPM_BUILD_ROOT}%{prefix}/bin/_parjtag.so
popd
install -D -m 0644 Basic_Types.h ${RPM_BUILD_ROOT}%{prefix}/include/Basic_Types.h
install -D -m 0644 MSP430mspgcc.h ${RPM_BUILD_ROOT}%{prefix}/include/MSP430mspgcc.h

file ${RPM_BUILD_ROOT}%{prefix}/bin/* | grep ELF | cut -d':' -f1 | xargs strip || :
file ${RPM_BUILD_ROOT}%{prefix}/lib/* | grep ELF | cut -d':' -f1 | xargs strip || :

%clean
rm -rf ${RPM_BUILD_ROOT}

%files
%defattr(-,root,root)
%dir %{prefix}/bin
%dir %{prefix}/include
%dir %{prefix}/lib
%dir %{prefix}/share/jtag-lib
%{prefix}/bin/*
%{prefix}/include/*.h
%{prefix}/lib/*.a
%{prefix}/lib/*.so
%{prefix}/share/jtag-lib/*

%changelog
* Tue Jun 08 2005 Kevin Klues <klues at tkn.tu-berlin.de>
- initial version of MSP430TOOLS
- Based on CDK4MSP430 spec files by Stephan Linz <linz at li-pro.net>

--- NEW FILE: msp430tools-python-tools.spec ---
%define name msp430tools-python-tools
%define version 1.0
%define release 1

Summary: MSP430 Python Tools
Name: %{name}
Version: %{version}
Release: %{release}
Source0: %{name}-%{version}.tar.bz2
Patch0: %{name}-serial_update.patch.bz2
License: Python
Group: Development/Libraries
BuildRoot: %{_tmppath}/%{name}-buildroot
Prefix: /opt/msp430
Requires: msp430tools-base >= 0.1
BuildArchitectures: noarch
Vendor: Chris Liechti <cliechti at gmx.net>
Packager: Kevin Klues <klues at tkn.tu-berlin.de>, TKN Group, Technische Universität Berlin
Url: http://mspgcc.sourceforge.net/

%description
Python Tools for the MSP430 processor including BSL, JTAG

%prep
%setup -q -n python
%patch0 -p1

%build
python setup.py install --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES

%install
mkdir -p ${RPM_BUILD_ROOT}%{prefix}/bin
install msp430-bsl.py ${RPM_BUILD_ROOT}%{prefix}/bin/msp430-bsl
install msp430-jtag.py ${RPM_BUILD_ROOT}%{prefix}/bin/msp430-jtag

%clean
rm -rf ${RPM_BUILD_ROOT}

%files -f INSTALLED_FILES
%defattr(-,root,root)
%{prefix}/bin



More information about the Tinyos-commits mailing list