From 1feedea303bb827de155296bd6ce1f96990537bf Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Thu, 24 Jan 2002 14:13:15 +0000 Subject: 2002-01-23 Ralf Corsepius * 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. --- cpukit/score/cpu/unix/ChangeLog | 11 ++++++++++ cpukit/score/cpu/unix/Makefile.am | 26 ++++++++++++++++++---- cpukit/score/cpu/unix/configure.ac | 33 +++++++++++++++++++++++----- cpukit/score/cpu/unix/rtems/score/.cvsignore | 2 ++ cpukit/score/cpu/unix/rtems/score/cpu.h | 2 +- 5 files changed, 63 insertions(+), 11 deletions(-) (limited to 'cpukit/score/cpu') 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 + + * 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 * 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 +#include + +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 { -- cgit v1.2.3