mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-22 22:00:49 +00:00
Lib flag fix, Updated docs
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/tools/make/trunk@9250 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
2ef5e464b2
commit
0c42e21a23
6 changed files with 290 additions and 17 deletions
|
@ -1,3 +1,9 @@
|
|||
2001-02-28 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* rules.make (LIBRARIES_DEPEND_UPON): Use ALL_LIB_DIRS on
|
||||
LIB_DIRS_NO_SYSTEM.
|
||||
* Documentation/README.NetBSD: New file.
|
||||
|
||||
2001-02-27 Adam Fedor <fedor@gnu.org>
|
||||
|
||||
* rules.make (LIBRARIES_DEPEND_UPON): Switch order of -L flags so
|
||||
|
|
121
Documentation/README.MinGW
Normal file
121
Documentation/README.MinGW
Normal file
|
@ -0,0 +1,121 @@
|
|||
Compiling GNUstep on MinGW
|
||||
==========================
|
||||
|
||||
MinGW is a collection of header files and import libraries that allow
|
||||
one to use GCC and produce native Windows32 programs that do not rely
|
||||
on any 3rd-party DLLs. GNUstep has only partially been ported to MinGW
|
||||
so expect some problems when trying to compile. Also, there are still
|
||||
subtle problems with running GNU tools on Windows, so any problems you
|
||||
may encounter may just as easly have to do with the compilation tools
|
||||
you are using as with GNUstep.
|
||||
|
||||
MinGW on Cygwin
|
||||
---------------
|
||||
|
||||
This is the only configuration I've tested so far. This method
|
||||
uses the Cygwin tools to help out with the configuration and
|
||||
compilation of the libraries. It's always good to get the very latest
|
||||
version of Cygwin and MinGW. These instructions were performed with
|
||||
Cygwin DLL 1.1.4 and MingW gcc 2.95.2-1. If you have more experience
|
||||
with MinGW than me, please help improve these instructions!
|
||||
|
||||
I assume you have installed Cygwin and MinGW, and dowloaded and
|
||||
unpacked the GNUstep core package. You also need to download a version
|
||||
of the Objective-C runtime that compiles as a shared library
|
||||
(DLL). See the GNUstep-HOWTO file for more information on where to get
|
||||
various files.
|
||||
|
||||
1. First, start up a Cygwin BASH shell and make sure the MinGW tools
|
||||
are in your path:
|
||||
|
||||
export PATH=//c/gcc-2.95.2-1/bin:$PATH
|
||||
|
||||
(Put in whatever path you have for the mingw tools).
|
||||
|
||||
2. The default location for GNUstep on Unix systems in /usr/GNUstep, but
|
||||
there is no default for Windows machines, so you need to set that up
|
||||
first with the GNUSTEP_SYSTEM_ROOT environment variable. To put it in
|
||||
a similar location, you might try:
|
||||
|
||||
export GNUSTEP_SYSTEM_ROOT=//c/cygwin/usr/GNUstep/System
|
||||
|
||||
But you can put it anywhere you like (as long as you specify the full
|
||||
path with the disk label so MinGW can find it). You can also specify this
|
||||
with configure, using the --prefix=//c/cygwin/usr/GNUstep/System option.
|
||||
|
||||
3. For various reasons, we need to configure and build each
|
||||
sub-package separately. So first, go to the 'make' subdirectory of the
|
||||
core package and configure:
|
||||
|
||||
cd make
|
||||
./configure --target=i386-mingw32
|
||||
|
||||
4. Now build the Makefile package. For some reason, the make that comes
|
||||
with MinGW doesn't like the way GNUstep makefiles are setup (or perhaps
|
||||
it's that MingW make doesn't work with bash), so use Cygwin's make:
|
||||
|
||||
/usr/bin/make target=i386-mingw32
|
||||
/usr/bin/make target=i386-mingw32 install
|
||||
|
||||
5. Now source the GNUstep.sh file so the rest of the packages will
|
||||
compile correctly:
|
||||
|
||||
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
|
||||
|
||||
6. Now you can compile the Objective-C runtime DLL (unless you already
|
||||
have one installed):
|
||||
|
||||
cd location_of_the_libobjc_library
|
||||
/usr/bin/make target=i386-mingw32
|
||||
/usr/bin/make target=i386-mingw32 install
|
||||
|
||||
7. Now we can configure and make the base library.
|
||||
|
||||
cd location_of_the_core_package/base
|
||||
./configure --target=i386-mingw32
|
||||
/usr/bin/make target=i386-mingw32
|
||||
/usr/bin/make target=i386-mingw32 install
|
||||
|
||||
Note that the base library is not completely ported to run on MinGW yet.
|
||||
In particular, the gstep-base DLL doesn't seem to be set up correctly.
|
||||
To compile the gstep-base as a static library, use:
|
||||
|
||||
/usr/bin/make shared=no
|
||||
|
||||
If you get tired of typing "target=i386-mingw32" all the time, then before
|
||||
you exec the GNUstep.sh script, just set the GNUSTEP_HOST:
|
||||
|
||||
export GNUSTEP_HOST=i586-pc-mingw32
|
||||
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
|
||||
|
||||
|
||||
Native MinGW
|
||||
------------
|
||||
|
||||
(Information provided by Craig Miskell)
|
||||
|
||||
So far, this configuration only works when compiling the Makefile package
|
||||
(gstep-make). It should, in the future work on the libraries. First, you
|
||||
need to get a port of sh (probably zsh) for Windows
|
||||
(ftp://ftp.blarg.net/users/amol/).
|
||||
|
||||
1. Make sure $HOST_CC or $CC is set to MinGW's gcc. The default seems to be
|
||||
wrong.
|
||||
|
||||
2. Now configure. You may need to set the installation directory, because
|
||||
the default installation dir is for Unix machines:
|
||||
|
||||
./configure --prefix=/usr/GNUstep/System
|
||||
|
||||
(Make sure the drive is specified correctly in the path).
|
||||
|
||||
3. Then make and install
|
||||
|
||||
make
|
||||
make install
|
||||
|
||||
4. Now source the GNUstep.sh file so the rest of the packages will
|
||||
compile correctly:
|
||||
|
||||
. $GNUSTEP_SYSTEM_ROOT/Makefiles/GNUstep.sh
|
||||
|
155
Documentation/README.NetBSD
Normal file
155
Documentation/README.NetBSD
Normal file
|
@ -0,0 +1,155 @@
|
|||
Hi folks,
|
||||
|
||||
we have installed GS on NetBSD 1.5 (intel) and this is what we did:
|
||||
|
||||
pkg_add means, we have the pkg from the NetBSD package collection.
|
||||
|
||||
1.) gnumake: pkg_add gmake-3.79.1.tgz
|
||||
2.) libiconv: pkg_add libiconv-1.5.tgz
|
||||
3.) libxml:
|
||||
./configure
|
||||
|
||||
in Makefile: Add the following lines:
|
||||
|
||||
INLCUDES = -I. -I/usr/local/include -I/usr/pkg/include
|
||||
LDFLAGS = -L/usr/pkg/lib -liconv
|
||||
|
||||
|
||||
make
|
||||
su
|
||||
make install
|
||||
|
||||
4.) ffcall-1.6b: ./configure
|
||||
make
|
||||
make check
|
||||
su
|
||||
make install
|
||||
|
||||
5.) pth-1.3.7: ./configure --enable-pthread --enable-syscall-soft
|
||||
make
|
||||
make test
|
||||
su
|
||||
make install
|
||||
[for removing 'make uninstall']
|
||||
|
||||
5.1) cd /usr/lib
|
||||
ar -dv libobjc_p.a NXConstStr.po
|
||||
ar -dv libobjc_pic.a NXConstStr.so
|
||||
ar -dv libobjc.a NXConstStr.o
|
||||
rm libobjc.so.0.0
|
||||
|
||||
6.) core/make: #. Version <-- disable Version
|
||||
./configure --prefix=/usr/GNUstep
|
||||
gmake
|
||||
su
|
||||
gmake install
|
||||
|
||||
File : /usr/GNUstep/System/Makefiles/framework.make
|
||||
change ine: with ... {if($$2 == "R") ...
|
||||
in ... {if($$2 == "D") ...
|
||||
|
||||
|
||||
7.) core/base: source /usr/GNUstep/System/Makefiles/GNustep.csh
|
||||
|
||||
./configure --prefix=/usr/GNUstep
|
||||
|
||||
File: GSFormat.m include <wchar.h> <-- ADD
|
||||
(unichar *)strerror(save_errno); <- REPLACED
|
||||
__strerror_r
|
||||
File: NSCoder.m LINE 372: remove ";"
|
||||
LINE 373, 374 :
|
||||
return ((((GNU... + 0) * 100
|
||||
+ GNU.. + 0) * 100) + GNU... + 0;
|
||||
|
||||
File:dynamic-load.h Zeile 93: // sym = dlsym(RTLD_NEXT, symbol);
|
||||
sym = dlsym(handle, symbol);
|
||||
|
||||
gmake
|
||||
su
|
||||
gmake install
|
||||
|
||||
8.) core/gui: ./configure --prefix=/usr/GNUstep
|
||||
--with-tiff-library=/usr/pkg/lib
|
||||
--with-jpeg-library=/usr/pkg/lib
|
||||
|
||||
File: Source/SharedX/XGBitmapImageRep.m // include <config.h> <-- uncomment
|
||||
File: Source/XGBitmap.m // include <config.h> <-- uncomment
|
||||
|
||||
touch Sources/config.h
|
||||
|
||||
setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/pkg/lib"
|
||||
|
||||
gmake ADDITIONAL_INCLUDE_DIRS ="-I/usr/pkg/include
|
||||
-I../Headers"
|
||||
LDFLAGS="-L/usr/pkg/lib -ltiff -ljpeg"
|
||||
|
||||
su
|
||||
gmake install
|
||||
|
||||
9.) core/xgps: ./configure --prefix=/usr/GNUstep
|
||||
--with-tiff-library=/usr/pkg/lib
|
||||
--with-jpeg-library=/usr/pkg/lib
|
||||
|
||||
setenv LD_LIBRARY_PATH "${LD_LIBRARY_PATH}:/usr/X11R6/lib"
|
||||
|
||||
gmake ADDITIONAL_INCLUDE_DIRS="-I/usr/pkg/include -I../Headers"
|
||||
LDFLAGS="-L/usr/pkg/lib -L/usr/X11R6/lib
|
||||
-ltiff -lXmu -lXt"
|
||||
|
||||
su
|
||||
gmake install
|
||||
|
||||
9.1) extensions: ./configure --prefix=/usr/GNUstep
|
||||
gmake
|
||||
su
|
||||
gmake install
|
||||
|
||||
10.) Prefs:
|
||||
/usr/GNUstep/System/Tools/defaults write NSGlobalDomain "Local
|
||||
Time Zone" "Europe/Berlin"
|
||||
|
||||
|
||||
10.1) /etc/rc.local:
|
||||
|
||||
GNUSTEP_SYSTEM_ROOT=/usr/GNUstep
|
||||
if [ -f /usr/GNUstep/System/Tools/ix86/netbsdelf1.5/gdomap ]; then
|
||||
/usr/GNUstep/System/Tools/ix86/netbsdelf1.5/gdomap
|
||||
fi
|
||||
|
||||
10.2) .cshrc:
|
||||
|
||||
Add this at the end of .cshrc:
|
||||
|
||||
setenv LD_LIBRARY_PATH /usr/X11R6/lib:/usr/local/lib/usr/pkg/lib
|
||||
source /usr/GNUstep/System/Makefiles/GNUstep.csh
|
||||
if ( `gdomap -L GDNCServer | grep -c Found` == '0' ) then
|
||||
echo "Starting GNUstep services..."
|
||||
gdnc
|
||||
gpbs
|
||||
endif
|
||||
|
||||
|
||||
11.) GWorkspace: gmake LDFLAGS="-L/usr/pkg/lib -ltiff -lXmu -lXt"
|
||||
|
||||
start: openapp GWorkspace.app
|
||||
|
||||
|
||||
12.) ProjectCenter: su
|
||||
gmake install LDFLAGS="-L/usr/pkg/lib -ltiff -lXmu -lXt"
|
||||
|
||||
start: openapp ProjectCenter.app
|
||||
|
||||
|
||||
---
|
||||
_ _
|
||||
_(_)(_)_ David Wetzel, Turbocat's Development,
|
||||
(_) __ (_) Buchhorster Strasse 23, D-16567 Muehlenbeck/Berlin, FRG,
|
||||
_/ \_ Fax +49 33056 82835 NeXTmail dave@turbocat.de
|
||||
(______) http://www.turbocat.de/
|
||||
DEVELOPMENT * CONSULTING * ADMINISTRATION
|
||||
|
||||
_______________________________________________
|
||||
Discuss-gnustep mailing list
|
||||
Discuss-gnustep@gnu.org
|
||||
http://mail.gnu.org/mailman/listinfo/discuss-gnustep
|
||||
|
|
@ -264,21 +264,10 @@ and glibc library (which has the threads library) and install both.
|
|||
Unknown
|
||||
|
||||
@item Extra libs needed
|
||||
Unknown
|
||||
libiconv
|
||||
|
||||
@item Special Instructions
|
||||
Can compile with shared libraries on elf architectures, although problems
|
||||
persist with the NXConstantString class. Currently, to avoid this you can
|
||||
redefine NXConstantString to NXConstantString2 in the libobjc library. Or
|
||||
you could do the following (works on NetBSD 1.4Z)
|
||||
|
||||
@example
|
||||
cd /usr/lib
|
||||
ar -dv libobjc_p.a NXConstStr.po
|
||||
ar -dv libobjc_pic.a NXConstStr.so
|
||||
ar -dv libobjc.a NXConstStr.o
|
||||
rm /usr/lib/libobjc.so.0.0
|
||||
@end example
|
||||
See the README.NetBSD file located in the gnustep-make package.
|
||||
|
||||
@end table
|
||||
|
||||
|
|
|
@ -15,8 +15,10 @@ cross-compiled binaries.
|
|||
|
||||
The file @samp{NEWS} has the library's feature history.
|
||||
|
||||
The files @samp{INSTALL} or @samp{GNUstep-HOWTO} (from the core package)
|
||||
gives instructions for installing the library.
|
||||
The files @samp{INSTALL} or @samp{GNUstep-HOWTO}
|
||||
give instructions for installing the library. Also see the machines.texi
|
||||
documentation and various machine specific READMEs in the Documentation
|
||||
directory.
|
||||
|
||||
Files in the @samp{Documentation} directory have information on the
|
||||
design of the Makefile system and how to write your own makefiles that
|
||||
|
|
|
@ -262,7 +262,7 @@ $(GNUSTEP_OBJ_DIR)/%${OEXT} : %.m
|
|||
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS) $(ADDITIONAL_LIB_DIRS)" \
|
||||
ADDITIONAL_LDFLAGS="$($*_LDFLAGS) $(ADDITIONAL_LDFLAGS)" \
|
||||
LIBRARIES_DEPEND_UPON="$(shell $(WHICH_LIB_SCRIPT) \
|
||||
$($*_LIB_DIRS) $(ADDITIONAL_LIB_DIRS) $(LIB_DIRS_NO_SYSTEM) \
|
||||
$($*_LIB_DIRS) $(ADDITIONAL_LIB_DIRS) $(ALL_LIB_DIRS) \
|
||||
$(LIBRARIES_DEPEND_UPON) \
|
||||
$($*_LIBRARIES_DEPEND_UPON) debug=$(debug) profile=$(profile) \
|
||||
shared=$(shared) libext=$(LIBEXT) \
|
||||
|
@ -364,7 +364,7 @@ $(GNUSTEP_OBJ_DIR)/%${OEXT} : %.m
|
|||
ADDITIONAL_LIB_DIRS="$($*_LIB_DIRS) $(ADDITIONAL_LIB_DIRS)" \
|
||||
ADDITIONAL_LDFLAGS="$($*_LDFLAGS) $(ADDITIONAL_LDFLAGS)" \
|
||||
LIBRARIES_DEPEND_UPON="$(shell $(WHICH_LIB_SCRIPT) \
|
||||
$($*_LIB_DIRS) $(ADDITIONAL_LIB_DIRS) $(LIB_DIRS_NO_SYSTEM) \
|
||||
$($*_LIB_DIRS) $(ADDITIONAL_LIB_DIRS) $(ALL_LIB_DIRS) \
|
||||
$(LIBRARIES_DEPEND_UPON) \
|
||||
$($*_LIBRARIES_DEPEND_UPON) debug=$(debug) profile=$(profile) \
|
||||
shared=$(shared) libext=$(LIBEXT) \
|
||||
|
|
Loading…
Reference in a new issue