Merge from 1.4.0

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@14208 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Adam Fedor 2002-07-29 19:37:40 +00:00
parent ef38ad94ae
commit 635e107dae
17 changed files with 163 additions and 228 deletions

View file

@ -1,7 +1,7 @@
Announcement
************
The GNUstep Makefile Package version 1.3.4 is now available.
The GNUstep Makefile Package version 1.4.0 is now available.
What is the GNUstep makefile package?
=====================================
@ -12,23 +12,29 @@ write a project without having to deal with the complex issues
associated with configuration, building, installation, and packaging.
It also allows the user to easily create cross-compiled binaries.
Changes in version `1.3.4'
Changes in version `1.4.0'
==========================
This is a first prerelease version for 1.4.
Since the last stable release, the package has gone through an
extensive reorganization to break up each sub-make into two separate
components. This allows for much simplified code and lots of code
sharing between components. As a side effect, it also increased the
speed of the code by at least a factor of 2.
* Update Darwin/GNU gcc and Irix targets
* Use gnugc-gnu-gnu library combo for garbage collecting version.
* Add support for -library-combo in opentool
* Change GNUSTEP_PATHPREFIX_LIST to GNUSTEP_PATHLIST
* Add verbosity levels. Use make messages=yes for full messages.
* Instructions for building on Windows with MSYS
* Changed Apps directory to Applications
Obtaining gnustep-make
======================
You can get the gstep-make-1.3.4.tar.gz distribution file at
You can get the gstep-make-1.4.0.tar.gz distribution file at
<ftp://ftp.gnustep.org/pub/gnustep/core>
Please send bug reports to <bug-gnustep@gnu.org>.

View file

@ -1,3 +1,30 @@
2002-07-29 Adam Fedor <fedor@gnu.org>
* Changes from 1.4.0 merged into main branch.
2002-07-27 Adam Fedor <fedor@gnu.org>
* Version: 1.4.0
Wed Jul 24 16:31:14 2002 Nicola Pero <n.pero@mi.flashnet.it>
* debian/: Outdated directory removed - the debian maintainers are
maintaining the updated one elsewhere. (Suggested by Matthias
Klose <doko@cs.tu-berlin.de>).
Mon Jul 22 12:34:49 2002 Georg Fleischmann <georg@vhf.de>
* Instance/Shared/bundle.make (shared-instance-bundle-all):
Copying of localized resources from subprojects with multiple
languages corrected.
2002-07-21 Adam Fedor <fedor@gnu.org>
* target.make (Darwin): Changes to compile with GNU compiler/runtime.
(Irix): Has shared libs. Add OBJ_MERGE_CMD. Remove extra section.
* Documentation/machines.texi (Darwin): Update ffcall instructions.
(Reports from Carl Eugen).
2002-07-03 Adam Fedor <fedor@gnu.org>
* Version: 1.3.4

View file

@ -388,8 +388,8 @@ if [ -f $GNUSTEP_SYSTEM_ROOT/Tools/ix86/linux-gnu/gdomap ]; then
$GNUSTEP_SYSTEM_ROOT/Tools/ix86/linux-gnu/gdomap
fi
@end example
@item gdnc - Put this after executing @file{GNUstep.sh} in your local .profile
@item gpbs - Put this after executing @file{GNUstep.sh} in your local .profile
@item gdnc - Start after sourcing @file{GNUstep.sh} (e.g. in .profile)
@item gpbs - Same as with gdnc, make sure X-Windows is running.
@end itemize
@example

View file

@ -18,7 +18,7 @@ how to install the entire GNUstep package (including this package).
GNUstep-HOWTO comes with this distribution.
This should be the first GNUstep package you install. After installing
this package, install ffcall and any other libraries that GNUstep may
this package, install ffcall or libffi and any other libraries that GNUstep may
need (see the GNUstep-HOWTO). Then install gnustep-base.
When you configure additional libraries, make sure you use the same

View file

@ -75,29 +75,40 @@ This might seem senseless, but it forces the linker to use this library
instead of the NeXT-runtime!
@item Extra libs needed
Compile ffcall if you want to
use Distributed Ojects: Download and untar it, configure it with CC=cc or
CC=gcc (both seem to work). Then change to avcall, rm
avcall-rs6000-sysv4.s, compile a new one with (g)cc avcall-rs6000.c -S -o
avcall-rs6000-sysv4.s, make, make install-lib and make tests. When running
tests, you already see which arguments may be passed (and returned) and
which won't work...
Then change to ../callback/trampoline_r, ln -s trampoline_r.h.in
trampoline_r.h, rm cache-rs6000-sysv4.s tramp-rs6000-sysv4.s, compile new
ones with (g)cc cache.c -S -o cache-rs6000-sysv4.s and (g)cc trampoline.c
-S -o tramp-rs6000-sysv4.s. Then change to ../vacall_r, rm
vacall-rs6000-sysv4.s, (g)cc vacall-rs6000.c -S -o vacall-rs6000-sysv4.s
-DREENTRANT.
Now you can make and make install-lib in callback. Don't run the tests,
they simply wont't work.
Compile ffcall if you want to use Distributed Ojects: See instructions
below. Some test (e.g. in callback) simply wont't work.
@item Special Instructions
Now you have to edit gnustep-base-1.1.0/Source/NSDecimal.m: Move the line
#include <Foundation/NSDecimal.h> up so that NSDecimal.h is included
before any other files.
@end table
Compiling ffcall:
@example
tar xf ffcall-1.8d.tar
cd ffcall-1.8d
configure
cd avcall
rm avcall-rs6000-sysv4.s
gcc avcall-rs6000.c -S -o avcall-rs6000-sysv4.s
make
make install-lib
cd ../callback/trampoline_r
ln -s trampoline_r.h.in trampoline_r.h
rm cache-rs6000-sysv4.s tramp-rs6000-sysv4.s
gcc cache.c -S -o cache-rs6000-sysv4.s
gcc trampoline.c -S -o tramp-rs6000-sysv4.s
cd ../vacall_r
rm vacall-rs6000-sysv4.s
gcc vacall-rs6000.c -S -o vacall-rs6000-sysv4.s -DREENTRANT
make
gcc -c misc.c -fno-common
ar cru .libs/libvacall.a vacall.o misc.o structcpy.o
cd ..
make
make install-lib
@end example
@c -----------------------------------------
@node Debian/DEC-Alpha, FreeBSD 4.x, Darwin 5.x/PowerPC, Machine Specific
@section Debian/DEC-Alpha

View file

@ -9,6 +9,12 @@
The currently released version is @samp{@value{GNUSTEP-MAKE-VERSION}}.
@end ifclear
@section Changes in version @samp{1.4.0}
@itemize @bullet
@item Update Darwin/GNU gcc and Irix targets
@end itemize
@section Changes in version @samp{1.3.4}
This is a first prerelease version for 1.4.

View file

@ -361,7 +361,6 @@ libgnustep-base.so.1: cannot open shared object file: No such file or directory
This means your GNU make is broken on your system. Try this:
@example
make LD_LIBRARY_PATH=$LD_LIBRARY_PATH
@end example

2
FAQ
View file

@ -1,7 +1,7 @@
GNUstep Frequently Asked Questions with Answers
***********************************************
Last updated 3 July 2002. Please send corrections to
Last updated 26 July 2002. Please send corrections to
<gnustep-maintainer@gnu.org>. Also look at the user FAQ for more user
oriented questions.

View file

@ -1,7 +1,7 @@
GNUstep HOWTO
*************
Last Update: 3 July 2002
Last Update: 26 July 2002
This document explains how to build the different components of the
GNUstep core libraries and GNUstep Launchpad.
@ -315,9 +315,9 @@ app:
$GNUSTEP_SYSTEM_ROOT/Tools/ix86/linux-gnu/gdomap
fi
* gdnc - Put this after executing `GNUstep.sh' in your local .profile
* gdnc - Start after sourcing `GNUstep.sh' (e.g. in .profile)
* gpbs - Put this after executing `GNUstep.sh' in your local .profile
* gpbs - Same as with gdnc, make sure X-Windows is running.
if [ `gdomap -L GDNCServer | grep -c Unable` == 1 ]; then
echo "Starting GNUstep services..."
@ -388,26 +388,34 @@ Darwin 5.x/PowerPC (_Unstable!_)
instead of the NeXT-runtime!
`Extra libs needed'
Compile ffcall if you want to use Distributed Ojects: Download and
untar it, configure it with CC=cc or CC=gcc (both seem to work).
Then change to avcall, rm avcall-rs6000-sysv4.s, compile a new one
with (g)cc avcall-rs6000.c -S -o avcall-rs6000-sysv4.s, make, make
install-lib and make tests. When running tests, you already see
which arguments may be passed (and returned) and which won't
work... Then change to ../callback/trampoline_r, ln -s
trampoline_r.h.in trampoline_r.h, rm cache-rs6000-sysv4.s
tramp-rs6000-sysv4.s, compile new ones with (g)cc cache.c -S -o
cache-rs6000-sysv4.s and (g)cc trampoline.c -S -o
tramp-rs6000-sysv4.s. Then change to ../vacall_r, rm
vacall-rs6000-sysv4.s, (g)cc vacall-rs6000.c -S -o
vacall-rs6000-sysv4.s -DREENTRANT. Now you can make and make
install-lib in callback. Don't run the tests, they simply wont't
Compile ffcall if you want to use Distributed Ojects: See
instructions below. Some test (e.g. in callback) simply wont't
work.
`Special Instructions'
Now you have to edit gnustep-base-1.1.0/Source/NSDecimal.m: Move
the line #include <Foundation/NSDecimal.h> up so that NSDecimal.h
is included before any other files.
Compiling ffcall:
tar xf ffcall-1.8d.tar
cd ffcall-1.8d
configure
cd avcall
rm avcall-rs6000-sysv4.s
gcc avcall-rs6000.c -S -o avcall-rs6000-sysv4.s
make
make install-lib
cd ../callback/trampoline_r
ln -s trampoline_r.h.in trampoline_r.h
rm cache-rs6000-sysv4.s tramp-rs6000-sysv4.s
gcc cache.c -S -o cache-rs6000-sysv4.s
gcc trampoline.c -S -o tramp-rs6000-sysv4.s
cd ../vacall_r
rm vacall-rs6000-sysv4.s
gcc vacall-rs6000.c -S -o vacall-rs6000-sysv4.s -DREENTRANT
make
gcc -c misc.c -fno-common
ar cru .libs/libvacall.a vacall.o misc.o structcpy.o
cd ..
make
make install-lib
Debian/DEC-Alpha
================

View file

@ -209,10 +209,11 @@ endif
ifneq ($(_SUBPROJECTS),)
$(ECHO_COPYING_RESOURCES_FROM_SUBPROJS)for subproject in $(_SUBPROJECTS); do \
if [ -d $$subproject/Resources/Subproject ]; then \
if [ $$subproject/Resources/Subproject/* != $$subproject'/Resources/Subproject/*' ]; then \
cp -r $$subproject/Resources/Subproject/* \
$(GNUSTEP_SHARED_INSTANCE_BUNDLE_RESOURCE_PATH)/; \
fi; \
for f in $$subproject/Resources/Subproject/*; do \
if [ $$f != $$subproject'/Resources/Subproject/*' ]; then \
cp -r $$f $(GNUSTEP_SHARED_INSTANCE_BUNDLE_RESOURCE_PATH)/; \
fi; \
done; \
fi; \
done$(END_ECHO)
endif

7
NEWS
View file

@ -1,7 +1,12 @@
NEWS
****
The currently released version is `1.3.4'.
The currently released version is `1.4.0'.
Changes in version `1.4.0'
==========================
* Update Darwin/GNU gcc and Irix targets
Changes in version `1.3.4'
==========================

View file

@ -3,7 +3,7 @@
# The version number of this release.
GNUSTEP_MAKE_MAJOR_VERSION=1
GNUSTEP_MAKE_MINOR_VERSION=3
GNUSTEP_MAKE_SUBMINOR_VERSION=4
GNUSTEP_MAKE_MINOR_VERSION=4
GNUSTEP_MAKE_SUBMINOR_VERSION=0
GNUSTEP_MAKE_VERSION=${GNUSTEP_MAKE_MAJOR_VERSION}.${GNUSTEP_MAKE_MINOR_VERSION}.${GNUSTEP_MAKE_SUBMINOR_VERSION}

22
debian/changelog vendored
View file

@ -1,22 +0,0 @@
gnustep-make (1.0.0-1) unstable; urgency=low
* Change library-combo to gnu-gnu-gnu
-- Adam Fedor <fedor@gnu.org> Thu, 12 Apr 2001 18:47:57 +0600
gnustep-make (0.9.0-1) unstable; urgency=low
* Update to Debian policy 3.2.1.
* Set prefix to /usr/lib/GNUstep to match FHS.
* Use debhelper.
-- Matthias Klose <doko@debian.org> Sun, 4 Feb 2001 18:47:57 +0100
gnustep-make (0.9.0) unstable; urgency=low
* Packaged for Debian.
* Use gnustep- prefix for package names (was gstep- before).
* New packaging schema doesn't support gnustep-core anymore, so each
component starts with fresh Debian files.
-- Nicola Pero <n.pero@mi.flashnet.it> Mon, 29 Jan 2001 23:04:21 +0000

17
debian/control vendored
View file

@ -1,17 +0,0 @@
Source: gnustep-make
Section: libs
Priority: optional
Maintainer: Wanted
Standards-Version: 3.2.1
Build-Depends: debhelper, gobjc
Package: gnustep-make
Architecture: any
Depends: ${shlibs:Depends}
Suggests: gnustep-base
Conflicts: gstep-make
Replaces: gstep-make
Description: Basic GNUstep scripts and makefiles
This package contains the basic scripts, makefiles and
directory layout needed to run and compile any GNUstep
software.

8
debian/copyright vendored
View file

@ -1,8 +0,0 @@
This software is copyright (c) 1997-2001 by Free Software Foundation, Inc.
You are free to distribute this software; part of it is covered by the
GNU General Public License (GPL); part of it by the GNU Lesser General
Public License (LGPL).
On Debian systems, the complete text of the GNU General Public
License can be found in /usr/share/common-licenses/GPL file.

71
debian/rules vendored
View file

@ -1,71 +0,0 @@
#!/usr/bin/make -f
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
export DH_COMPAT=2
pkg = gnustep-make
tmpdir = $(shell pwd)/debian/$(pkg)
prefix = usr/lib/GNUstep
library_combo = gnu-gnu-gnu
build: stamp-build
stamp-build:
dh_testdir
./configure --prefix=$(prefix) --with-library-combo=$(library_combo)
$(MAKE)
touch stamp-build
clean:
dh_testdir
dh_testroot
rm -f stamp-build
: # configure, so that `make distclean' works
[ -f GNUmakefile ] || ./configure \
--prefix=/$(prefix) --with-library-combo=$(library_combo)
$(MAKE) distclean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
$(MAKE) install special_prefix=$(tmpdir)
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testversion 2
dh_testdir
dh_testroot
# dh_installdebconf
dh_installdocs NEWS README
dh_installexamples
# dh_installmime
# dh_installinit
dh_installcron
dh_installmanpages
dh_installinfo
# dh_undocumented
dh_installchangelogs ChangeLog
dh_strip
dh_compress
dh_fixperms
# dh_makeshlibs
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install

View file

@ -59,7 +59,13 @@ ifeq ($(findstring solaris, $(GNUSTEP_TARGET_OS)), solaris)
endif
endif
ifeq ($(findstring irix, $(GNUSTEP_TARGET_OS)), irix)
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) -lm
ifeq ("$(objc_threaded)","")
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) -lm
else
INTERNAL_CFLAGS = -D_REENTRANT
INTERNAL_OBJCFLAGS = -D_REENTRANT
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) $(objc_threaded) -lm
endif
endif
ifeq ($(findstring hpux, $(GNUSTEP_TARGET_OS)), hpux)
TARGET_SYSTEM_LIBS := $(CONFIG_SYSTEM_LIBS) -lm
@ -306,7 +312,9 @@ endif
ifeq ($(findstring darwin5, $(GNUSTEP_TARGET_OS)), darwin5)
ifeq ($(OBJC_RUNTIME), NeXT)
HAVE_BUNDLES = yes
OBJC_COMPILER = NeXT
OBJC_COMPILER = NeXT
# Set flags to ignore the MacOSX headers
INTERNAL_OBJCFLAGS += -no-cpp-precomp -nostdinc -I/usr/include
endif
HAVE_SHARED_LIBS = yes
@ -323,10 +331,6 @@ ifeq ($(FOUNDATION_LIB),nx)
INTERNAL_LDFLAGS += $(ARCH_FLAGS)
endif
endif
ifeq ($(FOUNDATION_LIB),gnu)
# Set flags to ignore the MacOSX headers
INTERNAL_OBJCFLAGS += -no-cpp-precomp -nostdinc -I/usr/include
endif
TARGET_LIB_DIR = \
Libraries/$(GNUSTEP_TARGET_CPU)/$(GNUSTEP_TARGET_OS)/$(LIBRARY_COMBO)
@ -346,23 +350,28 @@ endif
ifneq ($(OBJC_COMPILER), NeXT)
# GNU compiler
DYLIB_DEF_FRAMEWORKS += -framework System
SHARED_LD_PREFLAGS += -arch_only ppc -noall_load
SHARED_LIB_LINK_CMD = \
$(CC) $(SHARED_LD_PREFLAGS) \
-dynamiclib $(ARCH_FLAGS) -dynamic \
/usr/bin/libtool -flat_namespace -undefined warning \
$(SHARED_LD_PREFLAGS) \
$(ARCH_FLAGS) -dynamic \
$(DYLIB_COMPATIBILITY_VERSION) \
$(DYLIB_CURRENT_VERSION) \
-install_name $(DYLIB_INSTALL_NAME) \
-o $@ \
$(DYLIB_DEF_FRAMEWORKS) \
$(INTERNAL_LIBRARIES_DEPEND_UPON) $(LIBRARIES_FOUNDATION_DEPEND_UPON) \
-lobjc $^ $(SHARED_LD_POSTFLAGS); \
$^ $(SHARED_LD_POSTFLAGS); \
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
else # OBJC_COMPILER=NeXT
HAVE_BUNDLES = no
BUNDLE_LD = /usr/bin/ld
BUNDLE_CFLAGS += -fno-common
BUNDLE_LDFLAGS += -dynamic -flat_namespace -undefined warning $(ARCH_FLAGS)
else
# NeXT Compiler
DYLIB_EXTRA_FLAGS = -read_only_relocs warning -undefined warning -fno-common
#DYLIB_DEF_FRAMEWORKS += -framework Foundation
@ -382,6 +391,13 @@ SHARED_LIB_LINK_CMD = \
$^ $(SHARED_LD_POSTFLAGS); \
(cd $(GNUSTEP_OBJ_DIR); rm -f $(LIBRARY_FILE); \
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
SHARED_CFLAGS += -dynamic
BUNDLE_LD = $(CC)
BUNDLE_CFLAGS +=
BUNDLE_LDFLAGS += -bundle -undefined error $(ARCH_FLAGS)
endif # OBJC_COMPILER
OBJ_MERGE_CMD = \
@ -391,14 +407,12 @@ STATIC_LIB_LINK_CMD = \
/usr/bin/libtool $(STATIC_LD_PREFLAGS) -static $(ARCH_FLAGS) -o $@ $^ \
$(STATIC_LD_POSTFLAGS)
AFTER_INSTALL_STATIC_LIB_COMMAND =
AFTER_INSTALL_STATIC_LIB_COMMAND = \
(cd $(FINAL_LIBRARY_INSTALL_DIR); \
$(RANLIB) $(VERSION_LIBRARY_FILE))
SHARED_CFLAGS += -dynamic -fno-common
SHARED_LIBEXT = .dylib
SHARED_CFLAGS += -fno-common
BUNDLE_LD = $(CC)
BUNDLE_CFLAGS +=
BUNDLE_LDFLAGS += -bundle -undefined error $(ARCH_FLAGS)
endif
#
# end MacOSX 10.1.1, darwin5.1
@ -865,23 +879,28 @@ endif
# IRIX
#
ifeq ($(findstring irix, $(GNUSTEP_TARGET_OS)), irix)
#HAVE_SHARED_LIBS = yes
HAVE_SHARED_LIBS = yes
STATIC_LIB_LINK_CMD = \
(cd $(GNUSTEP_OBJ_DIR); $(AR) $(ARFLAGS) \
$(VERSION_LIBRARY_FILE) `ls -1 *\.o */*\.o`);\
$(RANLIB) $(VERSION_LIBRARY_FILE)
SHARED_LIB_LINK_CMD = \
(cd $(GNUSTEP_OBJ_DIR); $(CC) $(SHARED_LD_PREFLAGS) -v $(SHARED_CFLAGS) -shared -o $(VERSION_LIBRARY_FILE) `ls -1 *\.o */*\.o` $(SHARED_LD_POSTFLAGS);\
(cd $(GNUSTEP_OBJ_DIR); $(CC) -v $(SHARED_LD_PREFLAGS) \
$(SHARED_CFLAGS) -shared -o $(VERSION_LIBRARY_FILE) `ls -1 *\.o` \
$(INTERNAL_LIBRARIES_DEPEND_UPON) $(SHARED_LD_POSTFLAGS);\
rm -f $(LIBRARY_FILE); \
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
SHARED_CFLAGS += -fPIC
SHARED_LIBEXT = .sl
SHARED_LIBEXT = .so
OBJ_MERGE_CMD = \
$(CC) -nostdlib -r -o $(GNUSTEP_OBJ_DIR)/$(SUBPROJECT_PRODUCT) $^ ;
HAVE_BUNDLES = yes
BUNDLE_LD = $(CC)
BUNDLE_CFLAGS += -fPIC
BUNDLE_LDFLAGS += -nodefaultlibs -Xlinker -r
BUNDLE_LDFLAGS += -shared
endif
# end IRIX
@ -1076,35 +1095,6 @@ endif
#
####################################################
####################################################
#
# IRIX
#
ifeq ($(findstring irix, $(GNUSTEP_TARGET_OS)), irix)
#HAVE_SHARED_LIBS = yes
STATIC_LIB_LINK_CMD = \
(cd $(GNUSTEP_OBJ_DIR); $(AR) $(ARFLAGS) \
$(VERSION_LIBRARY_FILE) `ls -1 *\.o */*\.o`);\
$(RANLIB) $(GNUSTEP_OBJ_DIR)/$(VERSION_LIBRARY_FILE)
SHARED_LIB_LINK_CMD = \
(cd $(GNUSTEP_OBJ_DIR); $(CC) -v $(SHARED_CFLAGS) -shared -o $(VERSION_LIBRARY_FILE) `ls -1 *\.o */*\.o` ;\
rm -f $(LIBRARY_FILE); \
$(LN_S) $(VERSION_LIBRARY_FILE) $(LIBRARY_FILE))
SHARED_CFLAGS += -fPIC
SHARED_LIBEXT = .sl
HAVE_BUNDLES = yes
BUNDLE_LD = $(CC)
BUNDLE_CFLAGS += -fPIC
BUNDLE_LDFLAGS += -nodefaultlibs -Xlinker -r
endif
# end IRIX
#
####################################################
## Local variables:
## mode: makefile
## End: