forked from Imagelibrary/rtems
After upgrading my linux box to the brand new SuSE 6.2 release, which is
glibc-2.1 based, I came across a bug in RTEMS - IIRC, I even warned you
about it about 1/2 a year ago, but nothing has been done since then :-.
The *.m4 macros to check for SYSV/IPC are broken for linux/glibc2.1,
because they assume that linux always defines union semun, which isn't
true anymore for glibc2.1 (the manpage for semctl states _X_OPEN
specifies it this way). Therefore I have tried to implement a more
general approach for handling SYSV for unix/posix which checks for
presence of struct semun, instead of trying to evaluate OS specific
preprocessor symbols.
This approach is a bit adventureous, because I only tested it with
linux/glibc2.1 and linux/libc5, but not under other Unix variants RTEMS
supports. I am quite confident it will work on other hosts, too, but who
knows :-.
[FYI: I think this might also is the cause of some problems with RedHat
6.X / Mandrake linux recently reported on the rtems list -- rtems-4.0.0
can not be build for posix on any glibc2.1 based host]
Furthermore the patch below contains a couple of minor fixes and
configuration cleanups, which IMO should be applied before releasing a
new snapshot.
To apply this patch:
cd <source-tree>
patch -p1 < rtems-rc-19990709-8.diff
./autogen
37 lines
938 B
INI
37 lines
938 B
INI
#
|
|
# Config file for the posix based RTEMS
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
# include $(RTEMS_ROOT)/make/target.cfg
|
|
include $(RTEMS_ROOT)/make/host.cfg
|
|
|
|
# Set them here, otherwise gcc-target-default.cfg will set them to values
|
|
# not working on some os variants (linux-RH5.0, glibc versions 2.0.0 - 2.0.7)
|
|
# These should be available on all unices
|
|
LIBC_LIBC=-lc
|
|
LIBC_LIBM=-lm
|
|
|
|
include $(RTEMS_ROOT)/make/custom/$(RTEMS_HOST)-posix.cfg
|
|
|
|
# Not applicable - let's override 'em
|
|
LINKCMDS=
|
|
START_FILE=
|
|
START_BASE=
|
|
|
|
# Here is the rule to actually build a $(ARCH)/foo.exe
|
|
# It also builds $(ARCH)/foo.sr and $(ARCH)/foo.nm
|
|
# Usage ref: src/tests/sptest/sp1/Makefile
|
|
#
|
|
# 'NODE' is set to 1 or 2 for multi cpu tests (ref: mptests/mp01/node1/Makefile)
|
|
# If NODE is set as an environment variable, don't trust it, zero it out.
|
|
# (NODE turns out to be a very common environment variable)
|
|
ifeq (,$(NODE))
|
|
NODE=0
|
|
else
|
|
ifeq "$(origin NODE)" "environment"
|
|
NODE=0
|
|
endif
|
|
endif
|