summaryrefslogtreecommitdiffstats
path: root/tools/cpu
diff options
context:
space:
mode:
Diffstat (limited to 'tools/cpu')
-rw-r--r--tools/cpu/Makefile.am2
-rw-r--r--tools/cpu/generic/Makefile.am4
-rw-r--r--tools/cpu/generic/size_rtems.in4
-rw-r--r--tools/cpu/hppa1.1/Makefile.am13
-rw-r--r--tools/cpu/sh/Makefile.am18
-rw-r--r--tools/cpu/sh/configure.in5
-rw-r--r--tools/cpu/sh/shgen.c78
-rw-r--r--tools/cpu/unix/Makefile.am6
-rw-r--r--tools/cpu/unix/gensize.c1
9 files changed, 87 insertions, 44 deletions
diff --git a/tools/cpu/Makefile.am b/tools/cpu/Makefile.am
index cf41512cdb..e1dc9607a4 100644
--- a/tools/cpu/Makefile.am
+++ b/tools/cpu/Makefile.am
@@ -10,4 +10,4 @@ SUBDIRS = @subdirs@
DIST_SUBDIRS = generic hppa1.1 sh unix
include $(top_srcdir)/../../automake/subdirs.am
-include $(top_srcdir)/../../automake/local.am
+include $(top_srcdir)/../../automake/host.am
diff --git a/tools/cpu/generic/Makefile.am b/tools/cpu/generic/Makefile.am
index 0cd7a9ebd7..0d6f395093 100644
--- a/tools/cpu/generic/Makefile.am
+++ b/tools/cpu/generic/Makefile.am
@@ -5,5 +5,5 @@
AUTOMAKE_OPTIONS = foreign 1.4
ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
-noinst_SCRIPTS=size_rtems
-include $(top_srcdir)/../../../automake/local.am
+noinst_SCRIPTS = size_rtems
+include $(top_srcdir)/../../../automake/host.am
diff --git a/tools/cpu/generic/size_rtems.in b/tools/cpu/generic/size_rtems.in
index b913e4575a..14c91917d8 100644
--- a/tools/cpu/generic/size_rtems.in
+++ b/tools/cpu/generic/size_rtems.in
@@ -46,14 +46,14 @@ case $target in
echo Not supported on unix port.
exit 0
;;
- i[3456]86-pc-linux-gnu)
+ i[34567]86-pc-linux-gnu)
echo linux
rtems_cpu=unix
bsp=linux1
echo Not supported on unix port.
exit 0
;;
- i[3456]86-unknown-freebsd2.[12]*)
+ i[34567]86-unknown-freebsd2.[12]*)
echo freebsd
rtems_cpu=unix
bsp=freebsd2
diff --git a/tools/cpu/hppa1.1/Makefile.am b/tools/cpu/hppa1.1/Makefile.am
index 2b64579122..ebbd28bc02 100644
--- a/tools/cpu/hppa1.1/Makefile.am
+++ b/tools/cpu/hppa1.1/Makefile.am
@@ -5,17 +5,14 @@
AUTOMAKE_OPTIONS = foreign 1.4
ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
-noinst_PROGRAMS=genoffsets
+noinst_PROGRAMS = genoffsets
-genoffsets_SOURCES = \
-genoffsets.c
+genoffsets_SOURCES = genoffsets.c
## We use files that have not been installed yet.
-CPU_DIR=../../cpu/$(RTEMS_CPU)
+CPU_DIR = ../../cpu/$(RTEMS_CPU)
-INCLUDES = \
--I$(PROJECT_INCLUDE) \
--I$(CPU_DIR)
+AM_CPPFLAGS = -I$(PROJECT_INCLUDE) -I$(CPU_DIR)
-include $(top_srcdir)/../../../automake/local.am
+include $(top_srcdir)/../../../automake/host.am
diff --git a/tools/cpu/sh/Makefile.am b/tools/cpu/sh/Makefile.am
index 2eb28edb70..541f1758b5 100644
--- a/tools/cpu/sh/Makefile.am
+++ b/tools/cpu/sh/Makefile.am
@@ -2,14 +2,18 @@
## $Id$
##
-AUTOMAKE_OPTIONS = foreign 1.4
+AUTOMAKE_OPTIONS = foreign 1.4 no-installman
ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
-noinst_PROGRAMS=shgen
+noinst_PROGRAMS = shgen
-shgen_SOURCES = \
-sci.h \
-sci.c \
-shgen.c
+shgen_SOURCES = sci.h sci.c shgen.c
-include $(top_srcdir)/../../../automake/local.am
+if HELP2MAN
+man_MANS = shgen.1
+
+shgen.1: $(srcdir)/shgen.c
+ $(HELP2MAN) -N shgen >$@
+endif
+
+include $(top_srcdir)/../../../automake/host.am
diff --git a/tools/cpu/sh/configure.in b/tools/cpu/sh/configure.in
index 0b718ef87e..368e95b79b 100644
--- a/tools/cpu/sh/configure.in
+++ b/tools/cpu/sh/configure.in
@@ -8,12 +8,15 @@ AC_CONFIG_AUX_DIR(../../..)
RTEMS_CANONICAL_TARGET_CPU
-AM_INIT_AUTOMAKE(rtems-tools-cpu-sh,$RTEMS_VERSION,no)
+AM_INIT_AUTOMAKE(rtems-tools-cpu-sh,0.4)
AM_MAINTAINER_MODE
AC_EXEEXT
AC_PROG_CC
AC_CHECK_LIB(m,fabs)
+AC_CHECK_FUNCS(getopt_long)
+AC_CHECK_PROGS(HELP2MAN,help2man)
+AM_CONDITIONAL(HELP2MAN,test -n "$HELP2MAN" )
RTEMS_TOOLPATHS
diff --git a/tools/cpu/sh/shgen.c b/tools/cpu/sh/shgen.c
index c101388ad8..6fc262d694 100644
--- a/tools/cpu/sh/shgen.c
+++ b/tools/cpu/sh/shgen.c
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998-1999 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
+ * Copyright (c) 1998,1999,2000 Ralf Corsepius (corsepiu@faw.uni-ulm.de)
*
* See the file COPYING for copyright notice.
*/
@@ -11,25 +11,44 @@
#include "sci.h"
-static void usage( char *prog )
+static void usage( FILE* ofile, char *prog )
{
- fprintf( stderr, "usage: %s [options] driver\n", prog );
- fprintf( stderr, "options:\n" );
- fprintf( stderr, "\t-M Phi .. processor frequency [MHz]\n" );
- fprintf( stderr, "\t-K Phi .. processor frequency [KHz]\n" );
- fprintf( stderr, "\t-H Phi .. processor frequency [Hz]\n" );
- fprintf( stderr, "\t\t..default 20MHz" );
- fprintf( stderr, "driver:\n" );
- fprintf( stderr, "\tsci .. bitrate table for sci\n" );
- exit ( 1 );
+ fprintf( ofile, "Usage: %s [options] driver\n", prog );
+ fprintf( ofile, "\nOptions:\n" );
+ fprintf( ofile, "Processor frequency (default 20MHz):\n") ;
+ fprintf( ofile, "\t-M Phi .. processor frequency [MHz]\n" );
+ fprintf( ofile, "\t-K Phi .. processor frequency [KHz]\n" );
+ fprintf( ofile, "\t-H Phi .. processor frequency [Hz]\n" );
+ fprintf( ofile, "Driver:\n" );
+ fprintf( ofile, "\tsci .. bitrate table for sci\n" );
+
+ fprintf( ofile, "\nWritten by Ralf Corsepius <corsepiu@faw.uni-ulm.de>\n" );
+ fprintf( ofile, "\nCopyright (c) 1998,1999,2000\tRalf Corsepius\n" );
}
+#if HAVE_GETOPT_LONG
+#define NOARG 0
+#define HASARG 1
+#define OPTARG 2
+
+static struct option long_options[] =
+{
+ { "version", NOARG, NULL, 'v' },
+ { "help", NOARG, NULL, 'h' },
+ { "mega-hertz", HASARG, NULL, 'M' },
+ { "kilo-hertz", HASARG, NULL, 'K' },
+ { "hertz", HASARG, NULL, 'H' },
+ { 0, 0, 0, 0 }
+};
+#endif
+
static void shgen_header( FILE *file )
{
fprintf( file,
- "/*\n * DO NOT EDIT - this file is automatically generated by shgen 0.3\n" );
+ "/*\n * DO NOT EDIT - this file is automatically generated by shgen %s\n",
+ VERSION );
fprintf( file,
- " * Copyright (c) 1998-1999, Ralf Corsepius (corsepiu@faw.uni-ulm.de)\n */\n" );
+ " * Copyright (c) 1998,1999,2000 Ralf Corsepius (corsepiu@faw.uni-ulm.de)\n */\n" );
fprintf( file,
"\n/* This file is not copyrighted */\n\n" );
}
@@ -37,8 +56,14 @@ static void shgen_header( FILE *file )
int main( int argc, char *argv[] )
{
double Phi = 20.0 ;
-
- while ( ( optopt = getopt( argc, argv, "M:K:H:" ) ) > 0 )
+
+#if HAVE_GETOPT_LONG
+ int option_index = 0 ;
+ while( ( optopt = getopt_long( argc, argv, "M:K:H:hv",
+ long_options, &option_index ) ) > 0 )
+#else
+ while ( ( optopt = getopt( argc, argv, "M:K:H:hv" ) ) > 0 )
+#endif
{
switch ( optopt )
{
@@ -51,17 +76,27 @@ int main( int argc, char *argv[] )
Phi = Phi * 1000.0;
break ;
case 'H' :
- sscanf( optarg, "%lf", &Phi );
+ sscanf( optarg, "%lf", &Phi );
break ;
+ case 'h' :
+ usage( stdout, argv[0] );
+ exit(0);
+ case 'v' :
+ fprintf( stdout, "%s version %s\n", argv[0], VERSION );
+ exit(0);
default :
- usage( argv[0] );
+ usage( stderr, argv[0] );
+ exit(1);
break ;
}
}
if ( argc - optind != 1 )
- usage( argv[0] );
-
+ {
+ fprintf( stderr, "%s: Missing argument: driver\n", argv[0] );
+ exit(1);
+ }
+
shgen_header( stdout );
if ( strcmp( argv[optind], "sci" ) == 0 )
@@ -69,7 +104,10 @@ int main( int argc, char *argv[] )
shgen_gensci( stdout, Phi );
}
else
- usage( argv[0] );
+ {
+ fprintf( stderr, "%s: Invalid argument: driver\n", argv[0] );
+ exit(1);
+ }
return 0 ;
}
diff --git a/tools/cpu/unix/Makefile.am b/tools/cpu/unix/Makefile.am
index 8104ed7c87..1ade15085d 100644
--- a/tools/cpu/unix/Makefile.am
+++ b/tools/cpu/unix/Makefile.am
@@ -5,8 +5,8 @@
AUTOMAKE_OPTIONS = foreign 1.4
ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal
-noinst_PROGRAMS=gensize
+noinst_PROGRAMS = gensize
-gensize_SOURCES=gensize.c
+gensize_SOURCES = gensize.c
-include $(top_srcdir)/../../../automake/local.am
+include $(top_srcdir)/../../../automake/host.am
diff --git a/tools/cpu/unix/gensize.c b/tools/cpu/unix/gensize.c
index 41c28bbf52..2d848e0a94 100644
--- a/tools/cpu/unix/gensize.c
+++ b/tools/cpu/unix/gensize.c
@@ -36,6 +36,7 @@
typedef struct {
jmp_buf regs;
int isr_level;
+ int pad[4]; /* just in case */
} Context_Control;
int main(