This is the mail archive of the cygwin-xfree@cygwin.com mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: XFree 4.2.1 + fontconfig-2


If it builds then I approve and Alan should commit this directly.

Harold

Alexander Gottwald wrote:
Nicholas Wourms wrote:


final outcome:
--------------
/usr/X11R6/bin/cygXfoo.0.0.dll
/usr/X11R6/lib/libXfoo.0.0.dll.a
/usr/X11R6/lib/libXfoo.0.dll.a
/usr/X11R6/lib/libXfoo.dll.a
/usr/X11R6/lib/libXfoo.a

Attached a patch which tweaks the makefile to build

lib$(NAME)-$(MAJOR).dll
lib$(NAME)-$(MAJOR).a
lib$(NAME).a -> lib$(NAME)-$(MAJOR).a

for Xft1 and Xft2 its
exports/bin/libXft-1.dll
exports/bin/libXft-2.dll
exports/lib/libXft-1.a -> ../../lib/Xft1/libXft-1.a
exports/lib/libXft-2.a -> ../../lib/Xft/libXft-2.a
exports/lib/libXft.a -> libXft-2.a

tweaking it to use cyg*.dll is simple

I also change the widely spreaded concat3(lib,libname,.dll) to one macro
(SharedLibraryName, libFoo-X.dll) The other new macro is ImportLibraryName, which is libFoo-X.a LibraryTargetName is still libFoo.a

And the is the rule LinkImportLibrary which links ImportLibraryName to
LibraryTargetName.

bye
ago


------------------------------------------------------------------------

Index: cygwin.rules
===================================================================
RCS file: /cvs/xc/config/cf/cygwin.rules,v
retrieving revision 3.19
diff -u -r3.19 cygwin.rules
--- cygwin.rules 2002/04/15 09:22:33 3.19
+++ cygwin.rules 2002/09/24 20:53:19
@@ -52,7 +52,10 @@
#define UseExportLists YES
#endif
+#define SharedLibraryName(libname, rev) Concat3(lib,libname,-$(shell echo rev|sed s=\\..*==).dll) +#define ImportLibraryName(libname, rev) Concat3(lib,libname,-$(shell echo rev|sed s=\\..*==).a) +
/*
* SharedDepLibraryTarget - generate rules to create a shared library.
*/
@@ -75,22 +78,23 @@
*/
#define SharedDepLibraryTarget(libname,rev,deplist,solist,down,up) @@\
-AllTarget(Concat3(lib,libname,.dll)) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
@@\
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
@@\
@@\
@@\
-Concat3(lib,libname,.dll): deplist libname.def @@\
- RemoveFile(LibraryTargetName(libname)) @@\
- RemoveFile(Concat3(lib,libname,.dll)) @@\
- MakeDLL(libname,solist) @@\
- LinkBuildLibrary(Concat3(lib,libname,.a)) @@\
- LinkBuildDLL(Concat3(lib,libname,.dll)) @@\
+SharedLibraryName(libname,rev): deplist libname.def @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
@@\
clean:: @@\
- RemoveFile(LibraryTargetName(libname)) @@\
- RemoveFile(Concat3(lib,libname,.dll)) @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
#endif /* SharedDepLibraryTarget */
@@ -116,22 +120,23 @@
*/
#define SharedDepCplusplusLibraryTarget(libname,rev,deplist,solist,down,up) @@\
-AllTarget(Concat3(lib,libname,.dll)) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
@@\
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
@@\
@@\
- @@\
-Concat3(lib,libname,.dll): deplist libname.def @@\
- RemoveFile(LibraryTargetName(libname)) @@\
- RemoveFile(Concat3(lib,libname,.dll)) @@\
- MakeCplusplusDLL(libname,solist) @@\
- LinkBuildLibrary(Concat3(lib,libname,.a)) @@\
- LinkBuildDLL(Concat3(lib,libname,.dll)) @@\
@@\
-clean:: @@\
- RemoveFile(LibraryTargetName(libname)) @@\
- RemoveFile(Concat3(lib,libname,.dll)) @@\
+SharedLibraryName(libname,rev): deplist libname.def @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeCplusplusDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+ @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
#endif /* SharedDepCplusplusLibraryTarget */
@@ -173,22 +178,22 @@
* MakeDllProg
*/ -#define MakeDLLProg(libname,solist,prog) @@\
- prog -shared -Wl,--out-implib=Concat3(lib,libname,.a) -Wl,--enable-auto-import --def libname.def -o Concat3(lib,libname,.dll) solist $(REQUIREDLIBS)
+#define MakeDLLProg(libname,solist,prog,rev) @@\
+ prog -shared -Wl,--out-implib=ImportLibraryName(libname,rev) -Wl,--enable-auto-import --def libname.def -o SharedLibraryName(libname,rev) solist $(REQUIREDLIBS)
/*
* MakeDll
*/
-#define MakeDLL(libname,solist) @@\
- MakeDLLProg(libname,solist,$(CC))
+#define MakeDLL(libname,solist,rev) @@\
+ MakeDLLProg(libname,solist,$(CC),rev)
/*
* MakeCplusplusDll
*/
-#define MakeCplusplusDLL(libname,solist) @@\
- MakeDLLProg(libname,solist,$(CXX))
+#define MakeCplusplusDLL(libname,solist,rev) @@\
+ MakeDLLProg(libname,solist,$(CXX),rev)
@@ -197,20 +202,21 @@
*/
#define SharedLibraryTarget(libname,rev,solist,down,up) @@\
-AllTarget(Concat3(lib,libname,.dll)) @@\
+AllTarget(SharedLibraryName(libname,rev)) @@\
@@\
CppFileTarget(libname.def,libname-def.cpp,-DLIBRARY_VERSION=rev,$(ICONFIGFILES)) @@\
@@\
@@\
-Concat3(lib,libname,.dll): solist libname.def @@\
- RemoveFile(LibraryTargetName(libname)) @@\
- RemoveFile(Concat3(lib,libname,.dll)) @@\
- MakeDLL(libname,solist) @@\
- LinkBuildLibrary(Concat3(lib,libname,.a)) @@\
- LinkBuildDLL(Concat3(lib,libname,.dll)) @@\
-clean:: @@\
- RemoveFile(LibraryTargetName(libname)) @@\
- RemoveFile(Concat3(lib,libname,.dll)) @@\
+SharedLibraryName(libname,rev): solist libname.def @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
+ MakeDLL(libname,solist,rev) @@\
+ LinkBuildLibrary(ImportLibraryName(libname,rev)) @@\
+ LinkImportLibrary(ImportLibraryName(libname,rev),LibraryTargetName(libname)) @@\
+ LinkBuildDLL(SharedLibraryName(libname,rev)) @@\
+clean:: @@\
+ RemoveFile(ImportLibraryName(libname,rev)) @@\
+ RemoveFile(SharedLibraryName(libname,rev)) @@\
/*
@@ -219,7 +225,7 @@
#define InstallSharedLibrary(libname,rev,dest) @@\
InstallTarget(install,LibraryTargetName(libname),$(INSTLIBFLAGS),$(USRLIBDIR)) @@\
-InstallTarget(install,Concat3(lib,libname,.dll),$(INSTLIBFLAGS),$(BINDIR))
+InstallTarget(install,SharedLibraryName(libname,rev),$(INSTLIBFLAGS),$(BINDIR))
/*
@@ -263,6 +269,16 @@
RemoveFile($(BUILDBINDIR)/lib) @@\
cd $(BUILDBINDIR) && $(CP) $(BUILDBINTOP)/$(CURRENT_DIR)/lib .
#endif
+
+#ifndef LinkImportLibrary
+#ifdef UseInstalled +#define LinkImportLibrary(lib, importlib) $(_NULLCMD_)
+#else
+#define LinkImportLibrary(lib, importlib) MakeDir($(BUILDLIBDIR)) @@\
+ RemoveFile($(BUILDLIBDIR)/importlib) @@\
+ cd $(BUILDLIBDIR) && $(LN) lib importlib
+#endif
+#endif /* LinkImportLibrary */
/*






Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]