Third Apr 3 patch from Fedor

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@255 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
mccallum 1995-04-03 22:22:07 +00:00
parent 35e74fa967
commit 16c2492678
2 changed files with 92 additions and 27 deletions

View file

@ -37,12 +37,15 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
AR = ar
ARFLAGS = rc
LN_S = @LN_S@
MAKEINFO = makeinfo
TEXI2DVI = texi2dvi
LEX = flex
LFLAGS =
DEFS = @DEFS@
DYNAMIC_LINKER=@DYNAMIC_LINKER@
# All these are optional. You can redifine CFLAGS, CPPFLAGS and
# INCLUDEFLAGS on the command line however you like.
@ -156,30 +159,22 @@ Storage.m
GNUSTEP_MFILES = \
NSAllocateObject.m \
NSArray.m \
NSAutoreleasePool.m \
NSBundle.m \
NSCoder.m \
NSCopyObject.m \
NSConcreteValue.m \
NSCString.m \
NSDeallocateObject.m \
NSObject.m \
NSString.m
FEDOR_GNUSTEP_MFILES = \
NSDictionary.m \
NSException.m \
NSGeometry.m \
NSNumber.m \
NSObject.m \
NSRange.m \
NSValue.m \
NSConcreteValue.m
#NSArray.m \
#NSCoder.m \
#NSDictionary.m \
#NSBundle.m \
#FEDOR_GNUSTEP_CFILES = \
#objc-load.c \
#find_exec.c
FEDOR_CLUSTER_OBJS = $(NSVALUE_OFILES) $(NSNUMBER_OFILES)
NSString.m \
NSValue.m
NSVALUE_CLUSTER = 0 1 2 3 4
NSVALUE_OFILES = NSValue0.o NSValue1.o NSValue2.o NSValue3.o NSValue4.o
@ -201,7 +196,7 @@ NXStringTable_scan.c
GNUSTEP_CFILES = \
NSZone.c \
find_exec.c \
objc-load.c \
objc-load.c
GNU_OTHER_SRCFILES =
@ -318,16 +313,10 @@ foundation/NSObjCRuntime.h \
foundation/NSObject.h \
foundation/NSRange.h \
foundation/NSString.h \
foundation/NSZone.h \
foundation/README
FEDOR_GNUSTEP_HEADERS = \
foundation/NSBundle.h \
foundation/NSException.h \
foundation/NSGeometry.h \
foundation/NSValue.h \
foundation/NSConcreteValue.h \
foundation/NSConcreteNumber.h
foundation/NSZone.h \
foundation/objc-load.h \
foundation/README
INSTALL_HEADERS = @INSTALL_HEADERS@
INSTALL_OBJS = @INSTALL_OBJS@
@ -353,7 +342,11 @@ $(GNU_CFILES) $(NEXTSTEP_CFILES) $(GNUSTEP_CFILES) \
$(GNU_HEADERS) $(NEXTSTEP_HEADERS) $(GNUSTEP_HEADERS) \
$(GNU_OTHER_SRCFILES) $(NEXTSTEP_OTHER_SRCFILES) $(GNUSTEP_OTHER_SRCFILES)
all: libobjects.a
all: one-time libobjects.a
one-time:
rm -f dynamic-load.h
$(LN_S) $(DYNAMIC_LINKER)-load.h dynamic-load.h
libobjects.a: $(INSTALL_OBJS)
$(AR) $(ARFLAGS) libobjects.a $(INSTALL_OBJS)
@ -385,6 +378,23 @@ depend:
rm -f $(srcdir)/Makefile.depend
$(CC) $(ALL_INCLUDE_FLAGS) -M $(SRCS) > $(srcdir)/Makefile.depend
# Compilation of class clusters
$(NSVALUE_OFILES) : NSCTemplateValue.m
for i in ${NSVALUE_CLUSTER}; do \
cp NSCTemplateValue.m NSCTemplateValue$$i.m; \
$(CC) -c $(ALL_CPPFLAGS) $(DEFS) $(ALL_OBJCFLAGS) \
-DTYPE_ORDER=$$i NSCTemplateValue$$i.m -o NSValue$$i.o; \
rm -f NSCTemplateValue$$i.m; \
done
$(NSNUMBER_OFILES) : NSConcreteNumber.m
for i in ${NSNUMBER_CLUSTER}; do \
cp NSConcreteNumber.m NSConcreteNumber$$i.m; \
$(CC) -c $(ALL_CPPFLAGS) $(DEFS) $(ALL_OBJCFLAGS) \
-DTYPE_ORDER=$$i -c NSConcreteNumber$$i.m -o NSNumber$$i.o; \
rm -f NSConcreteNumber$$i.m; \
done
NXStringTable_scan.c: NXStringTable_scan.l
$(LEX) $(LFLAGS) -t NXStringTable_scan.l > NXStringTable_scan.temp
sed 's/yy/NXlex_/g' < NXStringTable_scan.temp > NXStringTable_scan.c

View file

@ -165,11 +165,66 @@ AC_SUBST(NeXT_runtime)
AC_SUBST(NeXT_cc)
AC_SUBST(NEXT_INCLUDES)
#--------------------------------------------------------------------
# Check for dynamic linking
#
# the name we assign to DYNAMIC_LINKER cooresponds to the interface that
# is inluded in objc-load.c (i.e. #include "${DYNAMIC_LINKER}-load.h")
#--------------------------------------------------------------------
DYNAMIC_LINKER=null
AC_CHECK_LIB(dl, dlopen, DYNAMIC_LINKER=simple LIBS="${LIBS} -ldl")
DLD_INCLUDE=''
if test $DYNAMIC_LINKER = null; then
AC_CHECK_LIB(dld, dld_init, DYNAMIC_LINKER=dld LIBS="${LIBS} -ldld")
# Check in non-standard places
if test $ac_cv_lib_dld = no; then
AC_MSG_CHECKING(for dld in user directory)
if test -f ${srcdir}/../dld/libdld.a; then
DYNAMIC_LINKER=dld
DLD_INCLUDE="-I$(OSDIR)/.."
LIBS="${LIBS} -L$(OSDIR)/../dld -ldld"
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
fi
fi
if test $ac_cv_lib_dld = yes && test $ac_cv_header_dld_defs = no; then
AC_MSG_WARN(Could not find dld/defs.h header)
echo
echo "objc-load needs the the dld/defs.h header to get information"
echo "about how to use libdld"
echo
fi
fi
AC_SUBST(DYNAMIC_LINKER)
AC_SUBST(DLD_INCLUDE)
# These determine how the NSBundle example makefile is setup
# They don't always work...
if test $DYNAMIC_LINKER = dld; then
DYNAMIC_BUNDLER_LINKER="ld -r"
DYNAMIC_LDFLAGS="-static"
elif test $DYNAMIC_LINKER = simple; then
DYNAMIC_BUNDLER_LINKER="$(CC) -nostdlib"
DYNAMIC_LDFLAGS=""
elif test $DYNAMIC_LINKER = null; then
DYNAMIC_BUNDLER_LINKER="$(CC) -nostdlib -Xlinker -r"
DYNAMIC_LDFLAGS=""
else
DYNAMIC_BUNDLER_LINKER="$(CC) -nostdlib -Xlinker -r"
DYNAMIC_LDFLAGS=""
fi
AC_SUBST(DYNAMIC_BUNDLER_LINKER)
AC_SUBST(DYNAMIC_LDFLAGS)
#--------------------------------------------------------------------
# Find some programs
#--------------------------------------------------------------------
AC_PROG_INSTALL
AC_PROG_RANLIB
AC_LN_S
#--------------------------------------------------------------------
# Following header checks needed for bzero in Storage.m and other places