forked from Imagelibrary/rtems
Here is another fix, which addresses a few more or less severe bugs in
configuration and unix/posix:
* Configuration fix: c/src/lib/configure.in didn't handle RDBG correctly
* Configuration fix: make depend was non-functional in
c/src/lib/libc/Makefile.in
* Configuration fix: stray comment removed from aclocal/target.m4
* RTEMS fix: termios support for unix/posix now uses the host's headers
only (was completely broken).
- Don't install RTEMS's newlib sys/termios.h for unix (sys/termios.h
apparently is a newlib specific header)
- To be able to compile RTEMS's termios.c with glibc2.1, glibc-2.1
needs __USE_MISC, which is a private define from gcc's features.h, being
defined only when _BSD_SOURCE of _SVID_SOURCE is defined. RTEMS's
termios apparently implements BSD, thus -D_BSD_SOURCE was added to
Linux-posix.cfg.
- Conflicting definitions for __USE_MISC and _BSD_SOURCE inside of
RTEMS codes removed due to definition of _BSD_SOURCE on the toplevel.
This fix has been tested with linux/posix (primary glibc2.1 native),
linux/posix (secondary libc5 native), sh/gensh1, i386/pc386 and a couple
of other bsp's/CPU.
To apply:
cd <srcdir>
patch -p1 < rtems-rc-19990709-9.diff
and
aclocal -I aclocal && automake && autoconf
cd c/src/lib; autoconf
or
./autogen
73 lines
2.1 KiB
INI
73 lines
2.1 KiB
INI
#
|
|
# Config file for the Linux 1.x based RTEMS UNIX
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
RTEMS_CPU=unix
|
|
RTEMS_CPU_FAMILY=i386
|
|
RTEMS_CPU_MODEL=i486dx
|
|
RTEMS_UNIX_FLAVOR=linux
|
|
|
|
# This is the actual bsp directory used during the build process.
|
|
RTEMS_BSP_FAMILY=posix
|
|
TARGET_ARCH=o-linux1
|
|
|
|
include $(RTEMS_ROOT)/make/custom/default.cfg
|
|
|
|
# RTEMS_LIBC_DIR must already be set (by configuration) DOES NOT MATTER
|
|
LIBC_DEFINES =-D_POSIX_C_SOURCE
|
|
LIBC_DEFINES+=-DRTEMS_UNIXLIB -DRTEMS_UNIX -DMALLOC_PROVIDED -DRTEMS_DEBUG
|
|
|
|
# The following define the memory reserved in the executable for the
|
|
# RTEMS Workspace and the C Program Heap.
|
|
LIBC_DEFINES += -DWORKSPACE_MB=2
|
|
LIBC_DEFINES += -DHEAPSPACE_MB=1
|
|
|
|
DEFINES += -D_BSD_SOURCE
|
|
|
|
# Define this to yes if C++ is included in the development environment
|
|
# This requires that at least the GNU C++ compiler and libg++ be installed.
|
|
ifeq ($(HAS_CPLUSPLUS),yes)
|
|
CPLUS_LD_LIBS += $(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA)
|
|
endif
|
|
|
|
# optimize flag: typically -0, could use -O4 or -fast
|
|
# -O4 is ok for RTEMS
|
|
CFLAGS_OPTIMIZE_V = -O2
|
|
|
|
# This section makes the target dependent options file.
|
|
|
|
# NDEBUG (C library)
|
|
# if defined asserts do not generate code. This is commonly used
|
|
# as a command line option.
|
|
#
|
|
# RTEMS_TEST_NO_PAUSE (RTEMS tests)
|
|
# do not pause between screens of output in the rtems tests
|
|
#
|
|
# NO_TABLE_MOVE (SPARC PORT)
|
|
# do not have a second trap table -- use the BSP's
|
|
#
|
|
# RTEMS_DEBUG (RTEMS)
|
|
# If defined, debug checks in RTEMS and support library code are enabled.
|
|
#
|
|
# RTEMS_UNIX (unix)
|
|
# Define this to indicate this is an RTEMS UNIX port.
|
|
|
|
define make-target-options
|
|
echo "/* #define NDEBUG 1 */ " >>$@
|
|
echo "#define RTEMS_TEST_NO_PAUSE 1" >>$@
|
|
echo "/* #define RTEMS_DEBUG 1 */" >>$@
|
|
echo "#define RTEMS_UNIX 1 " >>$@
|
|
endef
|
|
|
|
define make-exe
|
|
$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS)
|
|
$(NM) -ng $@ > $(basename $@).num
|
|
$(SIZE) $@
|
|
endef
|
|
|
|
|
|
# *****************************************************************
|
|
# Miscellaneous additions go here
|