|
From: | Jeremy Bettis |
Subject: | GNUStep make patch take 1 |
Date: | Tue, 5 Jul 2005 12:48:14 -0500 |
Relative to GNUStep make 1.10.0
I will try to explain what I have
done:
HIGH LEVEL:
Some little mingw tweaks, dlls
etc.
Don't do anything that requires
symlinks on mingw. I.e. Framework Versions and Current folders, and
framework headers in derived_sources.
Mingw will link directly against
dlls before using an import library. I had to change target.make and
which_lib.c to be aware of this.
DETAILS:
* Instance/framework.make:
If HAS_LN_S is no (i.e. mingw)
then define a variable HEADERS_DIR_SUFFIX for the suffix /FrameworkName to
go onto the public header path.
Disable Versions and Current if
HAS_LN_S is no.
Don't create the top level
symlinks if HAS_LN_S is no.
If HAS_LN_S is no then create
the headers dir both with and without the HEADERS_DIR_SUFFIX
I added an intermediate target
for internal-framework-copy-headers-target, as I was seeing the header file copy
being executed n^2 times, for every file, it copied all files. Perhaps
MSYS make 3.79.1 is buggy, but this fixed it.
If WITH_DLL is yes, then create
a def file using DLLTOOL, and then supply it to DLLWRAP. Otherwise, the
objc symbols weren't getting exported properly.
* Instance/subproject.make:
Handle the HEADERS_DIR_SUFFIX
which was passed from framework.make.
Added an intermediate target for
internal-subproject-copy-headers-target, for the same reason as in
framework.make
* Master/framework.make:
If HAS_LN_S is no (i.e. mingw)
then define a variable HEADERS_DIR_SUFFIX for the suffix /FrameworkName to
go onto the public header path.
* Master/rules.make:
Had to modify the subproject rule to disable the
Versions folders to match the changes in framework.make
Pass HEADERS_DIR_SUFFIX to submakes
* configure.ac:
Declare LN_S to be cp -rp for mingw, even if you find a
ln command. (Since it is probably just a wrapper around cp anyway)
* rules.make:
Include the Framework.framework/Headers dir instead of
derived sources if we have no symlinks
Added a rule to compile .rc (windows resource)
files.
* target.make:
Pass -Wl,--enable-auto-import option to dllwrap and gcc
to avoid a warning message at link time if linking directly to a dll.
* which_lib.c:
Mingw searches for libraries in this order:
name.dll, then libname.a. Changed which_lib to search in the same order,
and to look for a static import library even in dynamic mode. This fixed
many problems I had with objc_d.dll vs. objc.dll. |
gnustep-make-patch-a.txt
Description: Text document
[Prev in Thread] | Current Thread | [Next in Thread] |