Ticket #6219 (closed enhancement: fixed)

Bug contains 10 commit(s) | SVN Diffs for #6219

 

Opened 2 years ago

Last modified 1 year ago

cygwin import libs

Reported by: rurban@... Assigned to: srl
Priority: minor Milestone: 4.2
Component: config_build Version: 3.8.1
Keywords: importlib Cc:
Load: Xref:
Java Version: Operating System: cygwin
Project (C/J): all Weeks:
Review: michaelow

Description

Attached patch enhances the cygwin Makefile to also create libicu*.dll.a import libs, so that other projects can use cygwin standard configure and linker rules to link to the libs. Ant the unversioned softlinks target the lib*.dll.a and not the cyg*.dll. dll Softlinks do not work, but the linker is cygwin native so this the recommended way.

E.g. parrot doesn't have to link to the cygicu*.dll directly, it can simple link to -licu*

One minor nitpick, which I solve in the upcoming official cygwin package seperately: The dll's should go to bin, not to lib. But this would disturb your build system too much probably.

lib:

cygicudt38.dll
cygicuin38.dll
cygicuio38.dll
cygicule38.dll
cygiculx38.dll
cygicutu38.dll
cygicuuc38.dll
libicudt.dll.a -> libicudt38.dll.a
libicudt38.dll.a
libicuin.dll.a -> libicuin38.dll.a
libicuin38.dll.a
libicuio.dll.a -> libicuio38.dll.a
libicuio38.dll.a
libicule.dll.a -> libicule38.dll.a
libicule38.dll.a
libiculx.dll.a -> libiculx38.dll.a
libiculx38.dll.a
libicutu.dll.a -> libicutu38.dll.a
libicutu38.dll.a
libicuuc.dll.a -> libicuuc38.dll.a
libicuuc38.dll.a

Attachments

icu-3.8-1.src.patch (1.8 kB) - added by rurban@x-ray.at on 03/20/08 13:18:15.
icu-cygwin-patches-3.8-1.tar.gz (4.7 kB) - added by Reini Urban <rurban@x-ray.at> on 03/21/08 15:11:22.
This replaces the previous incomplete patch. Contains also packaging info.

Change History

03/20/08 13:18:15 changed by rurban@...

  • attachment icu-3.8-1.src.patch added.

03/20/08 13:24:22 changed by Reini Urban <rurban@...>

This replaces the other cygwin importlib ticket #6166

03/21/08 15:10:21 changed by Reini Urban <rurban@...>

Please take the new attached icu-cygwin-patches-3.8-1.tar.gz instead. The content of the icu-3.8-1.cygwin.patch files and the cygport file can be put into a packaging/cygwin dir, if you care.

For the data as dll + importlib (cygicudt38.dll + libicudt38.dll.a) we have to fix pkgdata/dllmode.c for the install step also. I believe the IMPORT_LIB change there should be general, but I cannot test it on OS390, so it's up to you.

PS: This looked spooky at first. The full libicudt38.dll.a contains no symbols, as the stub. Ah, a ressource-only dll!

This will now be the official cygwin package, when I finished testing with the new parrot.

03/21/08 15:11:22 changed by Reini Urban <rurban@...>

  • attachment icu-cygwin-patches-3.8-1.tar.gz added.

This replaces the previous incomplete patch. Contains also packaging info.

03/21/08 15:22:07 changed by srl

  • xref changed.
  • priority changed from major to assess.
  • milestone changed from UNSCH to 4.0.
  • owner changed from somebody to srl.
  • weeks changed.
  • revw changed.

The first pass of the data library is an empty stub, for linkage. Once it finishes building under data, it (normally) will create a full data library.

Thanks for the patch, I will take a look at it.

04/15/08 10:08:52 changed by srl

  • priority changed from assess to minor.

06/25/08 14:02:22 changed by srl

  • status changed from new to assigned.
  • milestone changed from 4.0 to 4.2.

This patch seems to work fine on cygwin and non-cygwin systems. However, I did not integrate it early enough to make it for 4.0. Will do for 4.2

10/10/08 13:57:05 changed by srl

  • revw set to michaelow.

10/10/08 14:01:09 changed by srl

includes a checkin from #6239

12/04/08 11:33:34 changed by michaelow

  • status changed from assigned to closed.
  • resolution set to fixed.

Add/Change #6219 (cygwin import libs)




Anti spam check: