delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2021/11/07/14:16:11

X-Recipient: archive-cygwin AT delorie DOT com
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3BFD03858029
Authentication-Results: sourceware.org; dmarc=none (p=none dis=none)
header.from=SystematicSw.ab.ca
Authentication-Results: sourceware.org;
spf=none smtp.mailfrom=systematicsw.ab.ca
X-Authority-Analysis: v=2.4 cv=RqrWkQqK c=1 sm=1 tr=0 ts=618825e3
a=T+ovY1NZ+FAi/xYICV7Bgg==:117 a=T+ovY1NZ+FAi/xYICV7Bgg==:17
a=IkcTkHD0fZMA:10 a=BcJzkZEVl3JQe5u44xIA:9 a=QEXdDO2ut3YA:10
Message-ID: <21f27b6b-60e6-525b-5414-d9704fc4006f@SystematicSw.ab.ca>
Date: Sun, 7 Nov 2021 12:15:46 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.3.0
Subject: Re: Add libtool use to autotools package
To: cygwin AT cygwin DOT com
References: <c2dcaf34-bcd8-60a0-06ca-b4a3d1c1026e AT SystematicSw DOT ab DOT ca>
<d728dc5c-3797-6114-8327-d4571bd3fcbe AT roumenpetrov DOT info>
From: Brian Inglis <Brian DOT Inglis AT SystematicSw DOT ab DOT ca>
Organization: Systematic Software
In-Reply-To: <d728dc5c-3797-6114-8327-d4571bd3fcbe@roumenpetrov.info>
X-CMAE-Envelope: MS4xfJQmUpoZyHNXORUUErwP/TQ0ccuy2DRiQVv3jrJG4r1kkHEYPi2b1D0D2Gt8eOFlVrs9ZOAGFuB6N/Z79GTPc9wN3VgPkbwgQLIAzb8hoYgST6G7i/U/
2aRt/h4QA5TBUDZIbkREyHVKRMB+hSVjHBtZtwFaAaFC4FpqtRXTQ0X8UND8SV2upQ7IHHxrQAmswN+HlFrACs+s/pg0pfPwqpA=
X-Spam-Status: No, score=-1165.4 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS,
KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, RCVD_IN_BARRACUDACENTRAL,
RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,
SPF_NONE, TXREP autolearn=no autolearn_force=no version=3.4.4
X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on
server2.sourceware.org
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.29
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Unsubscribe: <https://cygwin.com/mailman/options/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=unsubscribe>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
Reply-To: cygwin AT cygwin DOT com
Errors-To: cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com
Sender: "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 1A7JGAOl009984

On 2021-11-07 11:40, Roumen Petrov wrote:
> Hello Brian,
> 
> Brian Inglis wrote:
>> Hi folks,
>>
>> I am trying to port:
>> [SNIP]
>> Should I run libtoolize with all defaults in the source package src 
>> directory and/or the x11 subdirectory?
> Run libtoolize in directory if exist configure.ac that uses libtool.
> 
> You may will to redirect project to use common "macro" directory.
> Something like :
> - top configure.ac
> |AC_CONFIG_MACRO_DIR([m4])
> - ||configure.ac in foo/bar
> |||AC_CONFIG_MACRO_DIR([../../m4])
> Remark: if subdir uses or prefer to use ||||||AC_CONFIG_MACRO_DIR([m4]) 
> run ||||||||libtoolize as well.
> 
> 
> ||||
>> Should I add LT_INIT to configure.ac/.in?
> Yes if you want to use libtool.
> No if is used AC_PROG_LIBTOOL but you may consider upgrade of macros.
> 
> 
>> Should I add parameter [win32-dll]?
> If project uses AC_LIBTOOL_WIN32_DLL you may consider to upgrade to 
> macro, i.e.  LT_INIT([.... win32-dll ...])
> If I remember well libtool  required to add -no-undefinedto LDFLAGS of 
> binary.
> Sorry but I forgot needs for "win32-dll". It seems to me harmless.
> 
> 
>> Should I add ABI age and current version info and where to?
> 
> It depends from use.
> If is a loadable module you could use  -avoid-version to skip versioning 
> and -module to remove "lib".
> For windows (mingw* or cygwin*) builds I don't think that libtool 
> version scheme makes sense.
> 
> 
>> Are there other files that need to be manually added or modified for 
>> libtool to work?
> This is project dependent.
> 
> 
>> Is there an approach documented somewhere for converting Linux library 
>> commands to generic libtool commands?
>>
> Question is not clear to me.
> Lbtool documentation point how to use libtool to compile, link, install 
> and etc. Actually this is way to write make "targets" that use libtool.
> But if project uses automake there no need to know particular invocation.

Thanks Roumen,

Those hints will help a lot in getting me started with libtool.

The last point is because Makefile.in has a variety of its own 
definitions and rules with SHO, SHL, and DYN e.g.

DYN_BUILD	= @O2SAVE@ $(BUILD) @DYN_COMP@ @CC2O@
...
LIBSHOBJS = $(LIBOBJS:.o=.sho)
PDCSHOBJS = $(PDCOBJS:.o=.sho)

SHOFILES = $(LIBSHOBJS) $(PDCSHOBJS)

$(SHLPRE)$(SHLFILE)$(SHLPST) : $(SHOFILES)
	$(LD_RXLIB1) -o $@ $(SHOFILES) $(LD_RXLIB2)
...
sb.sho: $(osdir)/sb.c
	$(DYN_BUILD) $(osdir)/sb.c
	@SAVE2O@

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]

-- 
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019