2 questions about libraries
Hi, I am finally reaching the end of my autotoolization of my program but I still have two questions I think will be easy to solve but I can not figure out how to do it... 1st: I have a multiple subdirectories project. One of those directories stores again multiple subdirectories. In each of them a librtary (shared) is built and stored in .lib (local) directory. Te thing is that I would like all my libraries to be built in the same global directory, lets say ($ROOT_FOR_M_PROG)/libs. How can I do that?. 2nd: Now, in another subdirectory of the root directory I have my programs which I want to link against some of the previously built libraries but I dont know how to refer them and where to refer them: I have written: bin_PROGRAMS = 2Dinterpolation 2Dinterpolation_SOURCES = 2Dinterpolation.cc 2Dinterpolation_LDADD = But I dont know what to put in LDADD or even if LDADD is the correct variable to use. Well... I know it is a long mail but I hope it will be easy to answer it. Many thanks. Roman
Re: 2 questions about libraries
hi, For the second question, you can use the $(top_srcdir) variable and give the complete path of your library. example: 2Dinterpolation_LDADD = $(GLIB_CFLAGS) \ $(top_srcdir)/src/errors/libErrors.a \ $(top_srcdir)/src/lib/libLib.a with regards, Santosh. On 17 Jun 2003, Jose Roman Bilbao wrote: Hi, I am finally reaching the end of my autotoolization of my program but I still have two questions I think will be easy to solve but I can not figure out how to do it... 1st: I have a multiple subdirectories project. One of those directories stores again multiple subdirectories. In each of them a librtary (shared) is built and stored in .lib (local) directory. Te thing is that I would like all my libraries to be built in the same global directory, lets say ($ROOT_FOR_M_PROG)/libs. How can I do that?. 2nd: Now, in another subdirectory of the root directory I have my programs which I want to link against some of the previously built libraries but I dont know how to refer them and where to refer them: I have written: bin_PROGRAMS = 2Dinterpolation 2Dinterpolation_SOURCES = 2Dinterpolation.cc 2Dinterpolation_LDADD = But I dont know what to put in LDADD or even if LDADD is the correct variable to use. Well... I know it is a long mail but I hope it will be easy to answer it. Many thanks. Roman
Re: 2 questions about libraries
Hi, Santosh [EMAIL PROTECTED] writes: For the second question, you can use the $(top_srcdir) variable and give the complete path of your library. example: 2Dinterpolation_LDADD = $(GLIB_CFLAGS) \ $(top_srcdir)/src/errors/libErrors.a \ $(top_srcdir)/src/lib/libLib.a I think you mean $(top_builddir). $(top_srcdir) is used to refers to source files. - Hari -- Raja R Harinath -- [EMAIL PROTECTED]
Re: 2 questions about libraries
Thank you for correcting me. with regards, Santosh. On Tue, 17 Jun 2003, Raja R Harinath wrote: Hi, Santosh [EMAIL PROTECTED] writes: For the second question, you can use the $(top_srcdir) variable and give the complete path of your library. example: 2Dinterpolation_LDADD = $(GLIB_CFLAGS) \ $(top_srcdir)/src/errors/libErrors.a \ $(top_srcdir)/src/lib/libLib.a I think you mean $(top_builddir). $(top_srcdir) is used to refers to source files. - Hari
Re: 2 questions about libraries
Jose Roman Bilbao [EMAIL PROTECTED] writes: 1st: I have a multiple subdirectories project. One of those directories stores again multiple subdirectories. In each of them a librtary (shared) is built and stored in .lib (local) directory. Te thing is that I would like all my libraries to be built in the same global directory, lets say ($ROOT_FOR_M_PROG)/libs. How can I do that?. The automake-generated makefiles build the libraries in the directory of the corresponding Makefile.am. If you have: root lib lib1 lib2 And you want the libraries to be built in root, you should define them in root/Makefile.am: lib_LTLIBRARIES = libone.la libtwo.la libone_la_SOURCES = lib/lib1/foo.c ... libtwo_la_SOURCES = lib/lib2/bar.c ...
libs.am and ar
It looks like the libs.am is setting AR = ar (I am using version 1.5 of automake). This eventrually gets inserted in Makefile.in, when libraries are being created. This seems to override any other initialization done by the user for AR. Does this mean that the user cannot set AR ? Thanks, DH __ Do you Yahoo!? The New Yahoo! Search - Faster. Easier. Bingo. http://search.yahoo.com
Re: libs.am and ar
D H [EMAIL PROTECTED] writes: It looks like the libs.am is setting AR = ar (I am using version 1.5 of automake). This eventrually gets inserted in Makefile.in, when libraries are being created. This seems to override any other initialization done by the user for AR. make AR=my-ar should just work. Show us an example and tell us what OS/make you're running it it doesn't.
Quick Upgrade Question
I'm currently running automake 1.5 and autoconf 2.53. I would like to upgrade to 1.7.5 and 2.57 respectively. I don't have a need to keep the old versions, so upgrading over them would be my first choice. I want to make extra sure that I won't break anything in the upgrade process (i.e. not being to make new applications, or old ones for that matter). Would a simple configure, make, make install be all that is necessary for both automake and autoconf (autoconf before automake since it appears that autoconf 2.54+ is required to install automake 1.7.5). Thank you for your time. -Joel
RE: Problems getting dependencies compiled before executable....
Alexandre Thanks for the info. I really appreciate it. What is the easiest way then to tell system to go to a different directory to build a dependency if it is not built yet?? By the way, if you don't mind me asking, what is the point of _DEPENDENCIES when you can just add library to _LDADD and Autotools will update dependency list automatically from that??? Chris Original Message Subject: Re: Problems getting dependencies compiled before executable From: Alexandre Duret-Lutz [EMAIL PROTECTED] Date: Sat, June 14, 2003 12:19 pm To: [EMAIL PROTECTED] Cc: [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] Chris == Chris Seberino [EMAIL PROTECTED] writes: [...] Chris If a dependency of a target is not built, then Makefile Chris should build the dependency first. That is not what Chris is happening here. Why can't Makefile go to right Chris directory to build the dependency??? [...] Because the rules to build this dependency are in the subdirectory not in the current one. See http://www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html for some background. You can tell Automake you want the subdirectory built *after* the current one by changing src/Makefile.am's SUBDIRS definition to SUBDIRS = . exec Alternatively, you can merge src/exec/Makefile.am into src/Makefiles.am. It's ok to write things like noinst_LIBRARIES = libfoo.a libfoo_a_SOURCES = foo.c bin_PROGRAMS = exec/main exec_main_SOURCES = exec/main.c exec_main_LDADD = libfoo.a -- Alexandre Duret-Lutz
Re: Quick Upgrade Question
Joel Apter [EMAIL PROTECTED] writes: matter). Would a simple configure, make, make install be all that is necessary for both automake and autoconf (autoconf before automake since it appears that autoconf 2.54+ is required to install automake 1.7.5). Thank you for your time. Yes. And then you should be able to just run 'autoreconf -f -i' in your package. You might also want to look at 'autoupdate' in the autoconf manual.
Re: Problems getting dependencies compiled before executable....
Hi, [EMAIL PROTECTED] writes: By the way, if you don't mind me asking, what is the point of _DEPENDENCIES when you can just add library to _LDADD and Autotools will update dependency list automatically from that??? Usually, there's no point. However, there can be cases where automake cannot figure out that a library is part of link line, for example when the list of libraries is AC_SUBSTed in. - Hari -- Raja R Harinath -- [EMAIL PROTECTED]
Re: readme-alpha option and .90 pretests
comes from the Gnits standards. There is no such thing as Gnits standards. I was/am a founding member of gnits (which was just a few friends talking informally), and I can state this authoritatively :). Before automake existed, there were various autoconf/installation/etc. conventions that a few of us developed and followed, for personal amusement as much as anything. They were never written down or made official in any way, partly because Tom implemented them in the early days of automake, so they didn't need a separate existence :). In fact, the whole gnits thing should probably be eradicated from automake, except for historical purposes. Maybe we should have a way to tell Automake about the version numbering scheme used by a package? Well, if you want to make work for yourself :). What seems most logical to me is for automake to implement the GNU standard in these matters, at least as the default. Which is actually written down. Karl Did anyone ever make a test release with a version number like 4.5.1? Coreutils. Jim will never do it again :).
Returned mail: User unknown
The original message was received at Tue, 17 Jun 2003 23:07:55 -0400 (EDT) from rly-xe01.mail.aol.com [172.20.105.193] *** ATTENTION *** Your e-mail is being returned to you because there was a problem with its delivery. The address which was undeliverable is listed in the section labeled: - The following addresses had permanent fatal errors -. The reason your mail is being returned to you is listed in the section labeled: - Transcript of Session Follows -. The line beginning with describes the specific reason your e-mail could not be delivered. The next line contains a second error message which is a general translation for other e-mail servers. Please direct further questions regarding this message to your e-mail administrator. --AOL Postmaster - The following addresses had permanent fatal errors - [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED] - Transcript of session follows - ... while talking to air-xa02.mail.aol.com.: RCPT To:[EMAIL PROTECTED] 550 MAILBOX NOT FOUND 550 [EMAIL PROTECTED]... User unknown RCPT To:[EMAIL PROTECTED] 550 MAILBOX NOT FOUND 550 [EMAIL PROTECTED]... User unknown RCPT To:[EMAIL PROTECTED] 550 MAILBOX NOT FOUND 550 [EMAIL PROTECTED]... User unknown Reporting-MTA: dns; str-d01.mail.aol.com Arrival-Date: Tue, 17 Jun 2003 23:07:55 -0400 (EDT) Final-Recipient: RFC822; [EMAIL PROTECTED] Action: failed Status: 2.0.0 Remote-MTA: DNS; air-xa02.mail.aol.com Diagnostic-Code: SMTP; 250 OK Last-Attempt-Date: Tue, 17 Jun 2003 23:13:14 -0400 (EDT) Final-Recipient: RFC822; [EMAIL PROTECTED] Action: failed Status: 2.0.0 Remote-MTA: DNS; air-xa02.mail.aol.com Diagnostic-Code: SMTP; 250 OK Last-Attempt-Date: Tue, 17 Jun 2003 23:13:14 -0400 (EDT) Final-Recipient: RFC822; [EMAIL PROTECTED] Action: failed Status: 2.0.0 Remote-MTA: DNS; air-xa02.mail.aol.com Diagnostic-Code: SMTP; 250 OK Last-Attempt-Date: Tue, 17 Jun 2003 23:13:13 -0400 (EDT) ---BeginMessage--- I...Loading Page Please Wait... AolKesukmd Click here to s t o p u p da t e s 83aUVrmgtgpBpNV0RXktxsxs---End Message---
Re: distcheck problem.
Davy Durham [EMAIL PROTECTED] writes: These files are listed in the DIST_COMMON (at least I'm pretty sure DIST_COMMON is where these files are coming from in the cp commands) so I'm not explicitly listing them myself anywhere to be distributed. I've tried several versions between and including 1.6.3 to 1.7.5 The source tree can be obtained from if you want it: http://sourceforge.net/cvs/?group_id=5056 (and simply run bootstrap after checking out) I cannot check anything out from there. I just get: cvs [login aborted]: end of file from server (consult above messages if any) But if you can distill the problem into the smallest example that shows the problem that would be useful fox finding and fixing it.