Re: automake/44: conditional redefinitions (Was: Re: Automake 1.6.3 issue)
| This also works for things like | | foo = mumble | foo = blurgle | | which would be interpreted as | | foo = blurgle | if FALSE | foo = mumble | endif I've always thought this is wrong. I still think we should not support such ``feature'', which is a form of laxism to me, comparable to globbing. Nevertheless, I agree a means to install defaults would be most welcome. I suggest introducing foo ?= bar Which is always valid, but with a clear semantics. Also, maybe we want to introduce something like (hold you breath): ifndef foo foo = bar endif
Re: How to specify 2 stage build in Makefile.am
Apologies for not replying sooner, but I've been away for a week. Duncan Gibson wrote: DG> bin_PROGRAMS = CubeView DG> DG> CubeView_SOURCES = \ DG> CubeMain.cxx \ DG> CubeView.cxx CubeView.h \ DG> CubeViewUI.fl DG> DG> SUFFIXES = .cxx .h .fl DG> DG> .fl.cxx .fl.h: DG>fluid -c $< Alexandre Duret-Lutz replied: AD> Automake won't understand this (looks like a bug to me). That's AD> why you later had to add AD> nodist_CubeView_SOURCES = CubeViewUI.cxx CubeViewUI.h AD> If you rewrite your implicit rules as AD> .fl.cxx: AD> fluid -c $< AD> .fl.h: AD> fluid -c $< AD> Automake should be able to figure that CubeViewUI.fl can be AD> transformed into CubeViewUI.cxx which in turn needs to be compiled, AD> without the help of a nodist_CubeView_SOURCES variable. (You don't AD> even need to define SUFFIXES if you do that.) Thanks, that works. It's not obvious (or necessarily documented) that some common 'make' constructions don't convert directly to 'automake'. DG> Now 'make' still fails when it tries to build DG> CubeMain.o because it wants to #include CubeViewUI.h DG> which has not yet been built. However, if I say 'make DG> CubeViewUI.cxx' then 'fluid -c CubeViewUI.fl' is called DG> as expected. AD> The simplest answer is AD> BUILT_SOURCES = CubeViewUI.h AD> this will cause CubeViewUI.h to be built before anything else. I was hunting through the documentation trying to find something like this, but I obviously missed it. I will try to incorporate it during the next round of changes. Cheers Duncan
beginners question ?
I'm just starting to use gnu autotools, and I have some small problems, I have figured out how to build in some subdirs and to have resonable include paths, but how do I link with X11 , I'm using automake and autoconf and have a subdir which contains the source and an Makefile.am something like this: src/Makefile.am INCLUDES= -I$(top_builddir) -I$(top_builddir)/lib bin_PROGRAMS = prog prog_SOURCES = prog.c prog2.c prog2.h. And I want it linked with -lX11 ?? Do I add to this file or the toplevel Makefile.am or toplevel configure.ac ? / best regards, Lars Segerlund.
Re: beginners question ?
Lars Segerlund <[EMAIL PROTECTED]> [2002-10-28 17:14:18 +0100]: > > I'm just starting to use gnu autotools, and I have some small > problems, I have figured out how to build in some subdirs and to > have resonable include paths, but how do I link with X11 , I'm using > automake and autoconf and have a subdir which contains the source > and an Makefile.am something like this: > > src/Makefile.am > > > > INCLUDES= -I$(top_builddir) -I$(top_builddir)/lib I believe those should be top_srcdir and not top_builddir. Using configure you may build in a completely different directory from your source and then you would notice this as a problem at that time. INCLUDES= -I$(top_srcdir) -I$(top_srcdir)/lib > bin_PROGRAMS = prog > prog_SOURCES = prog.c prog2.c prog2.h. > > And I want it linked with -lX11 ?? > Do I add to this file or the toplevel Makefile.am or toplevel > configure.ac ? Use LDADD to add libraries to your link phase. LDADD = -lX11 Frequently this is: LDADD = ../lib/libmystuff.a -lX11 The local library specification is always relative, as opposed to the $(top_srcdir) above, so that it operates out of the build area. Bob
Your message to lam awaits moderator approval
Your mail to 'lam' with the subject Virus quarantined by PerlMx Is being held until the list moderator can review it for approval. The reason it is being held: Post by non-member to a members-only list Either the message will get posted to the list, or you will receive notification of the moderator's decision.
Delivery Status Notification (Failure)
This is an automatically generated Delivery Status Notification. Delivery to the following recipients failed. [EMAIL PROTECTED] Reporting-MTA: dns;mail.truelogic.com.au Received-From-MTA: dns;elsewhere.net Arrival-Date: Mon, 28 Oct 2002 20:56:47 +1100 Final-Recipient: rfc822;[EMAIL PROTECTED] Action: failed Status: 5.1.1 --- Begin Message --- Title: ºè´ïѶ ¡¡ Ê×Ò³ | ¹«Ë¾¼ò½é | ²úÆ·½éÉÜ | ÐÂÎÅϵÁÐ | ÍøÂçÖ±Ïú | ÐÅÏ¢·´À¡ | ¹«Ë¾µØͼ ¡¡ ¹«Ë¾¼ò½é ÉîÛÚÊкè´ïѶµç×ÓÓÐÏÞ¹«Ë¾ÊÇÒ»¼ÒÕýÔÚ·¢Õ¹ÖеÄÃñÓªÆóÒµ£¬×ÔÒ»¾Å¾Å°ËÄê³ÉÁ¢ÒÔÀ´£¬±¾¹«Ë¾Ò»Ö±»ý¼«²ÎÓë¹úÄÚÍâͨѶÊÂÒµ¼°µçÄÔÖܱßÉ豸µÄ·¢Õ¹£¬ÖÂÁ¦ÓÚÑÐÖƸ÷Ïî¼â¶Ëit¿Æ¼¼²úÆ·¡£ ÒµÎñ·¶Î§ ½ñÈÕµÄÉîÛÚÊкè´ïѶµç×ÓÓÐÏÞ¹«Ë¾£¬²»½öÉèÓй¤³§¼°¿ÆÑÐÖÐÐÄ£¬Í¬Ê±£¬°ìÊ´¦¡¢ÏúÊÛµãºÍάÐÞÖÐÐÄÒà±é¼°È«¹ú¸÷µØ´óС³ÇÊУ¬¶øÇÒÔÚ¹úÄÚ¼°¶«ÄÏÑǵØÇøÓжàÏîͶ×ÊÏîÄ¿¼°ÐÅÏ¢×Éѯ·þÎñ¡£±¾¹«Ë¾Ö÷ÒªÒµÎñ¿É¹éΪËÄ´óÀࣺ ¿ÆÑм°·¢Õ¹ ±¾¹«Ë¾·Ö±ðÔÚ±±¾©¡¢ÉîÛÚ¡¢¹ãÖÝ¡¢Ïã¸ÛÁªºÏÉ趨Á˼¼Êõ¿ª·¢ºÍ¿ÆÑÐÖÐÐÄ£¬¹¤³Ì¼¼ÊõºÍºóÇÚ¹¤×÷¶ÓÎé¾ùΪҵÄÚ¾ß×ÊÉî¾ÑéÈËÊ¿ºÍ¸ß¼¶¹¤³Ìʦ¼°Áôѧ»Ø¹úÈËÔ±×é³É£¬ÈËÊý¶à´ï200Ãû¡£¶àÄêÀ´±¾¹«Ë¾½ßÁ¦Òý½øÊÀ½çÏȽø¼¼Êõ£¬ÎªÖйúÓû§ÑÐÖƶà¸÷ÓÅÖʲúÆ·£»ÆäÖУ¬È«µçÄÔ»¯Éè¼ÆµÄ¡°Åùö¨»ð¡±ÏµÁÐÑ°ºô»ú£¬Ê×´´¿´Í¼°´¼ü¹¦ÄÜ£¬¼ÇÒäÈÝÁ¿³è´ó¼æ¾ß¶àÏî׿Խ¹¦ÄÜ£¬ÉîÊÜÓû§»¶Ó£¬ÏúÍù¶«ÄÏÑǼ°´ó½¸÷Ê¡ÊС£½øÈë¶þʮһÊÀ¼Í£¬±¾¹«Ë¾´óÁ¦·¢Õ¹ÊýÂëÊÓƵ¼¼Êõ£¬ÏÖÒѽÐøÍƳöϵÁвúÆ·£ºÊýÂëÏà»úϵÁС¢mp3²¥·ÅÆ÷¡¢¿ÉÊÓÃÅÁåÀ´µçÏÔʾµç»°¼°¿ÉÊÓ¶Ô½²ÏµÍ³¡¢¿ÉÊӵ绰µÈ¡£ Éú²úÒµÎñ ±¾¹«Ë¾ÔÚÉîÛÚÉèÓÐÉú²ú¹¤³§£¬¹¤³§Ãæ»ý´ï1000ƽ·½Ã×£¬¹²ÓУ³ÌõÉú²úÏߣ¬ÒÔ¡°¹ÜÀíÍêÉƺÍÓÅÖʲúÆ·¡±¼û³Æ¡£Í¬Ê±£¬ÔÚÉîÛÚÓУ³¼Ò´óÐÍÅäÌ×ÁªÓª¹¤³§£¬³§ÄÚÔ±¹¤¾ù½ÓÊܹýרҵ¼¼Êõ¹ÜÀíѵÁ·¡£ Ö÷Òª²úÆ·°üÀ¨£º £±£© ÊýÂëÏà»ú£ºÄê²úÄÜÁ¦Îª50Íǫ̀¡£ £²£© Ñ°ºô»ú£ºÄê²úÄÜÁ¦Îª60Íǫ̀¡£ £³£© ¿ÉÊÓÃÅÁå/À´µçÏÔʾµç»°£ºÄê²úÄÜÁ¦Îª30Íǫ̀¡£ £´£© mp3²¥·ÅÆ÷£ºÄê²úÄÜÁ¦Îª30Íǫ̀¡£ £µ£© ¿ÉÊӵ绰£ºÄê²úÄÜÁ¦Îª30Íǫ̀¡£ óÒ×ÒµÎñ ΪÂú×ãÊг¡¶àÔª»¯ÐèÇ󣬱¾¹«Ë¾Í¬Ê±´úÀíÊÀ½ç¸÷¹ú¶à¸öÃûÅÆÒƶ¯Í¨Ñ¶²úÆ·£¬Ò»¹áÒÔ¡°ÖÖÀà·±¶àºÍÆ·ÖÊÓÅÁ¼¡±¼û³Æ¡¢È¡Ê¤¡£ÃûÏ´úÀíµÄÖ÷ÒªÅÆ×Ó°üÀ¨£ºÄ¦ÍÐÂÞÀ£¨motorola£©¡¢°®Á¢ÐÅ£¨ericsson£©¡¢ËÉÏ£¨panasonic£©¡¢Ë÷Äᣨsony£©¡¢½¨Î飨kenwood£©µÈ¡£Í¬Ê±»¹´úÀíº«¹ú½ø¿Ú¾«ÇɶԽ²»ú£ºÃÀ³Ð£¨maycom£©eh-465£¬ÒÔÅäÌ×±¾¹«Ë¾µÄ¿ÉÊÓ¶Ô½²ÏµÍ³¡£ÁíÍ⣬±¾¹«Ë¾ÔÚÖйúÖ÷Òª³ÇÊм°Ïã¸Û¾ùÉèÓÐóÒײ¿¡¢ÏúÊÛµãºÍάÐÞÖÐÐÄ£¬ÎªÓû§ÌṩȫÃ漰רҵµÄºóÇÚ·þÎñ¡£ÎªÇ󲻶ÏÀ©Õ¹ÏúÊÛÍøÂ磬±¾¹«Ë¾ÕýÔÚ¶à¸öÖصã³ÇÊпªÉèÃÅÊС¢²úƷרÂôµê¡¢³ÂÁÐÊÒºÍάÐÞÖÐÐÄ£¬È«ÃæÍØÕ¹Öйú¼°¶«ÄÏÑÇÊг¡¡£ ÏîĿͶ×ʼ°¼¼Êõ¹ËÎÊ·þÎñ ±¾¹«Ë¾³ý·¢Õ¹ÊµÒµÍ⣬¶àÄêÀ´Îª¿Í»§ÌṩÏîĿͶ×ʼ°¼¼Êõ¹ËÎʵķþÎñ¡£ ¹«Ë¾µØÖ·:¹ã¶«Ê¡ÉîÛÚÊи£ÌïÇø»ªÇ¿±±ÏÖ´úÖ®´°b×ù29e ÓÊÕþ±àÂ룺518031 Êг¡²¿µç»°:0755-83281502 83281503 83281504´«Õ棺0755-83281504 e-mail:[EMAIL PROTECTED] --- End Message ---
Autoconf 2.54b released
The Autoconf team -- Akim, Alexandre, Jim, Paul, and Tom -- is happy to annonce the second beta of forthcoming Autoconf 2.55. Download, compile, install, torture, and enjoy! - Why should I upgrade from 2.54? A few bug fixes, improved portability, no known incompatibility with 2.53 and 2.54, forthcoming Gettext release might require 2.54. Running `autoreconf -fv' should be enough. - Why should I upgrade from 2.13? This version is no longer maintained. It does not address recent architectures, recent compilers etc. We know that upgrading from 2.13 to 2.5x is not an easy task, especially because the Autoconf 2.13 was extremely tolerant to incorrect macro invocations, but waiting longer endangers the portability of your package and only delays the conversation to newer Autoconf versions. Worse: some maintainers now spend a significant amount of time fixing bugs in 2.13 or backporting macros from 2.55. - Where can I find it? ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.54b.tar.gz (1.1 MB) ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.54b.tar.bz2 (787 KB) And here are xdelta-style diffs ftp://alpha.gnu.org/gnu/autoconf/autoconf-2.54a-2.54b.xdelta (23 KB) Here are the MD5 and SHA1 signatures: 3389f90c4b56a6e82b89292588080029 autoconf-2.54b.tar.gz 18b1b2c98de8614368ea248f9df60d8f autoconf-2.54b.tar.bz2 322df1a0e93e28a97329714f5b8965f9 autoconf-2.54a-2.54b.xdelta ca32ca028228210f0ea97e27cf364bd08e1b7efa autoconf-2.54b.tar.gz fe186e6025e1fe9e1de8055b65ef81bd4289ee5b autoconf-2.54b.tar.bz2 50ab7a46b147c92fd066a6c8c40156d2796b935e autoconf-2.54a-2.54b.xdelta NEWS: Release tips: Have your configure.ac checked by autoscan ("autoscan"). Try the warning options ("autoreconf -fv -Wall"). ** Documentation - AC_CHECK_HEADER, AC_CHECK_HEADERS More information on proper use. - Writing Test Programs This sections explains how to write good test sources to use with AC_COMPILE_IFELSE etc. It documents AC_LANG_PROGRAMS and so forth. - AC_FOO_IFELSE vs. AC_TRY_FOO Explains why Autoconf moves from AC_TRY_COMPILE etc. to AC_COMPILE_IFELSE and AC_LANG_PROGRAM etc. ** autoreconf - Is more robust to different Gettext installations. - Produces messages (when --verbose) to be understood by Emacs' compile mode. ** Obsolete options Support for the obsoleted options -m, --macrodir, -l, --localdir is dropped in favor of the safer --include/--prepend-include scheme. ** Customization - ~/.autom4te.cfg makes it possible to disable the caching mechanism (autom4te.cache). See `Customizing autom4te' in the documentation. ** Macros - New macros AC_COMPILER_IFELSE, AC_FUNC_MBRTOWC, AC_HEADER_STDBOOL, AC_LANG_CONFTEST, AC_LANG_SOURCE, AC_LANG_PROGRAM, AC_MSG_FAILURE, AC_PREPROC_IFELSE. - Obsoleted Obsoleted macros are kept for Autoconf backward compatibility, but should be avoided in configure.ac. Running autoupdate is advised. AC_DECL_SYS_SIGLIST. ** Bug Fixes - Portability of the Autoconf package to Solaris. - Spurious warnings caused by config.status. This bug is benign, but painful: on some systems (typically FreeBSD), warnings such as: config.status: creating Makefile mv: Makefile: set owner/group (was: 1357/0): Operation not permitted could be issued. This is fixed. - Parallel Builds Simultaneous executions of config.status are possible again. - Precious variables accumulation config.status could stack several copies of the precious variables assignments. ** Plans for 2.56 - ./configure The compatibility hooks with the old scheme will be completely removed. Please, advice/use `--build', `--host', and `--target' only. - AC_CHECK_HEADER, AC_CHECK_HEADERS The tests will be stricter, please make sure your invocations are valid. - shell functions Shell functions will gradually be introduced, probably starting with Autotest. If you know machines which are in use that you suspect *not* to support shell functions, please run the test suite of Autoconf 2.55 on it, and report the results to [EMAIL PROTECTED] ChangeLog entries: ** ChangeLog 28 Oct 2002 08:57:40 - 1.2075 ** 2002-10-28 Akim Demaille <[EMAIL PROTECTED]> Version 2.54b. * tests/foreign.at (Libtool): Adjust to broken libtoolize. 2002-10-28 Akim Demaille <[EMAIL PROTECTED]> * tests/atspecific.m4 (AT_CHECK_AUTOM4TE): Be robust to different m4 executable names, and different GNU M4 version. Reported by Ezra Peisach and Paul Jarc. 2002-10-27 Akim Demaille <[EMAIL PROTECTED]> * lib/autoconf/functions.m4 (_AC_FUNC_VFORK): Really use AC_RUN_IFELSE. 2002-10-27 Akim Demaille <[EMAIL PROTECTED]> * doc/autoconf.texi: More AC_MSG_FAILURE promotion. * lib/autoconf/fortran.m4 (_AC_F77_NAME_MANGLING)