summaryrefslogtreecommitdiffstats
path: root/cpukit
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-24 14:13:15 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2002-01-24 14:13:15 +0000
commit1feedea303bb827de155296bd6ce1f96990537bf (patch)
tree269f476be67b406b5482aa45436090704d906899 /cpukit
parent2001-01-22 Joel Sherrill <joel@OARcorp.com> (diff)
downloadrtems-1feedea303bb827de155296bd6ce1f96990537bf.tar.bz2
2002-01-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Merge in rtems/Makefile.am and rtems/score/Makefile.am. Remove gensize. Require automake-1.5. * rtems/Makefile.am: Removed. * rtems/score/Makefile.am: Removed. * rtems/score/.cvsignore: Add unixsize.h*. Add stamp-h*. * configure.ac: Add AM_CONFIG_HEADER(rtems/score/unixsize.h). * rtems/score/cpu.h: Replace CPU_CONTEXT_SIZE_IN_BYTES with SIZEOF_CPU_CONTEXT.
Diffstat (limited to 'cpukit')
-rw-r--r--cpukit/score/cpu/unix/ChangeLog11
-rw-r--r--cpukit/score/cpu/unix/Makefile.am26
-rw-r--r--cpukit/score/cpu/unix/configure.ac33
-rw-r--r--cpukit/score/cpu/unix/rtems/score/.cvsignore2
-rw-r--r--cpukit/score/cpu/unix/rtems/score/cpu.h2
5 files changed, 63 insertions, 11 deletions
diff --git a/cpukit/score/cpu/unix/ChangeLog b/cpukit/score/cpu/unix/ChangeLog
index d75df26e46..acbd607317 100644
--- a/cpukit/score/cpu/unix/ChangeLog
+++ b/cpukit/score/cpu/unix/ChangeLog
@@ -1,3 +1,14 @@
+2002-01-23 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
+
+ * Makefile.am: Merge in rtems/Makefile.am and
+ rtems/score/Makefile.am. Remove gensize. Require automake-1.5.
+ * rtems/Makefile.am: Removed.
+ * rtems/score/Makefile.am: Removed.
+ * rtems/score/.cvsignore: Add unixsize.h*. Add stamp-h*.
+ * configure.ac: Add AM_CONFIG_HEADER(rtems/score/unixsize.h).
+ * rtems/score/cpu.h: Replace CPU_CONTEXT_SIZE_IN_BYTES with
+ SIZEOF_CPU_CONTEXT.
+
2001-12-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
* Makefile.am: Add multilib support.
diff --git a/cpukit/score/cpu/unix/Makefile.am b/cpukit/score/cpu/unix/Makefile.am
index 53d1b38c98..3437921396 100644
--- a/cpukit/score/cpu/unix/Makefile.am
+++ b/cpukit/score/cpu/unix/Makefile.am
@@ -2,17 +2,36 @@
## $Id$
##
-AUTOMAKE_OPTIONS = foreign 1.4
+AUTOMAKE_OPTIONS = foreign 1.5
ACLOCAL_AMFLAGS = -I ../../../../../../aclocal
include $(top_srcdir)/../../../../../../automake/multilib.am
include $(top_srcdir)/../../../../../../automake/compile.am
include $(top_srcdir)/../../../../../../automake/lib.am
-SUBDIRS = rtems
-
AM_CPPFLAGS += -DCPU_SYNC_IO $(LIBC_DEFINES)
+$(PROJECT_INCLUDE)/%.h: %.h
+ $(INSTALL_DATA) $< $@
+
+$(PROJECT_INCLUDE):
+ $(mkinstalldirs) $@
+
+$(PROJECT_INCLUDE)/rtems:
+ $(mkinstalldirs) $@
+
+$(PROJECT_INCLUDE)/rtems/score:
+ $(mkinstalldirs) $@
+
+include_rtems_scoredir = $(includedir)/rtems/score
+include_rtems_score_HEADERS = \
+ rtems/score/unixtypes.h \
+ rtems/score/cpu.h \
+ rtems/score/unix.h \
+ rtems/score/unixsize.h
+PREINSTALL_FILES = $(PROJECT_INCLUDE)/rtems/score \
+ $(include_rtems_score_HEADERS:%.h=$(PROJECT_INCLUDE)/%.h)
+
C_FILES = cpu.c
C_O_FILES = $(C_FILES:%.c=$(ARCH)/%.o)
@@ -29,5 +48,4 @@ all-local: $(ARCH) $(rtems_cpu_rel_OBJECTS) $(REL)
EXTRA_DIST = cpu.c
-include $(top_srcdir)/../../../../../../automake/subdirs.am
include $(top_srcdir)/../../../../../../automake/local.am
diff --git a/cpukit/score/cpu/unix/configure.ac b/cpukit/score/cpu/unix/configure.ac
index 71c257a4a2..c731989fb4 100644
--- a/cpukit/score/cpu/unix/configure.ac
+++ b/cpukit/score/cpu/unix/configure.ac
@@ -27,12 +27,33 @@ RTEMS_CHECK_NEWLIB
RTEMS_CHECK_MULTIPROCESSING(RTEMS_BSP)
# The only use of System V IPC is the UNIX port when multiprocessing.
-if test "$HAS_MP" = "yes"; then
- RTEMS_CHECK_SYSV_UNIX
-fi
+AS_IF([test "$HAS_MP" = "yes"],
+ [RTEMS_CHECK_SYSV_UNIX])
+
+## The code fragment below had been used in tools/cpu/unix/gensize.c.
+## FIXME:
+## * The sun-stuff needs to be looked after.
+## * The pad very likely is not necessary.
+AC_CHECK_SIZEOF([CPU_CONTEXT],[],[
+#if defined(__sun__) && defined(__sparc__) && \
+ defined(__unix__) && defined(__svr4__)
+#undef _POSIX_C_SOURCE
+#define _POSIX_C_SOURCE 3
+#undef __STRICT_ANSI__
+#endif
+
+#include <stdio.h>
+#include <setjmp.h>
+
+typedef struct {
+ jmp_buf regs;
+ int isr_level;
+ int pad[4]; /* just in case */
+} CPU_CONTEXT;
+])
+
+AM_CONFIG_HEADER(rtems/score/unixsize.h)
# Explicitly list all Makefiles here
-AC_CONFIG_FILES([Makefile
-rtems/Makefile
-rtems/score/Makefile])
+AC_CONFIG_FILES([Makefile])
AC_OUTPUT
diff --git a/cpukit/score/cpu/unix/rtems/score/.cvsignore b/cpukit/score/cpu/unix/rtems/score/.cvsignore
index 282522db03..7a3170081d 100644
--- a/cpukit/score/cpu/unix/rtems/score/.cvsignore
+++ b/cpukit/score/cpu/unix/rtems/score/.cvsignore
@@ -1,2 +1,4 @@
Makefile
Makefile.in
+unixsize.h*
+stamp-h*
diff --git a/cpukit/score/cpu/unix/rtems/score/cpu.h b/cpukit/score/cpu/unix/rtems/score/cpu.h
index 1e5271291d..984b414281 100644
--- a/cpukit/score/cpu/unix/rtems/score/cpu.h
+++ b/cpukit/score/cpu/unix/rtems/score/cpu.h
@@ -493,7 +493,7 @@ extern "C" {
#endif
typedef struct {
- char Area[ CPU_CONTEXT_SIZE_IN_BYTES ] CONTEXT_STRUCTURE_ALIGNMENT;
+ char Area[ SIZEOF_CPU_CONTEXT ] CONTEXT_STRUCTURE_ALIGNMENT;
} Context_Control;
typedef struct {