autogen-users Mailing List for AutoGen: The Automated Program Generator (Page 10)
Brought to you by:
bkorb
You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(8) |
Aug
(7) |
Sep
(4) |
Oct
(2) |
Nov
(26) |
Dec
(3) |
2002 |
Jan
(7) |
Feb
(1) |
Mar
(10) |
Apr
(22) |
May
(8) |
Jun
(6) |
Jul
(2) |
Aug
(4) |
Sep
(5) |
Oct
(2) |
Nov
(5) |
Dec
(13) |
2003 |
Jan
(5) |
Feb
(1) |
Mar
(38) |
Apr
(16) |
May
(13) |
Jun
(12) |
Jul
(21) |
Aug
(6) |
Sep
|
Oct
|
Nov
(5) |
Dec
(7) |
2004 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
(2) |
May
(4) |
Jun
(4) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
(6) |
Nov
(7) |
Dec
(5) |
2005 |
Jan
(11) |
Feb
(12) |
Mar
(4) |
Apr
(16) |
May
(6) |
Jun
(5) |
Jul
(5) |
Aug
|
Sep
(4) |
Oct
(4) |
Nov
(4) |
Dec
(7) |
2006 |
Jan
(2) |
Feb
(3) |
Mar
(1) |
Apr
(2) |
May
(2) |
Jun
(4) |
Jul
(17) |
Aug
(2) |
Sep
(13) |
Oct
(20) |
Nov
(6) |
Dec
(18) |
2007 |
Jan
(15) |
Feb
(21) |
Mar
(9) |
Apr
(9) |
May
(3) |
Jun
|
Jul
(9) |
Aug
(9) |
Sep
(2) |
Oct
(4) |
Nov
(7) |
Dec
|
2008 |
Jan
(7) |
Feb
(4) |
Mar
(4) |
Apr
(12) |
May
(6) |
Jun
(3) |
Jul
|
Aug
(1) |
Sep
(8) |
Oct
|
Nov
(7) |
Dec
(5) |
2009 |
Jan
(3) |
Feb
(1) |
Mar
(6) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(16) |
Nov
|
Dec
|
2010 |
Jan
|
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
(1) |
Jul
(3) |
Aug
(2) |
Sep
(3) |
Oct
|
Nov
(4) |
Dec
(16) |
2011 |
Jan
|
Feb
|
Mar
(10) |
Apr
|
May
|
Jun
(3) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(5) |
Dec
(2) |
2012 |
Jan
(9) |
Feb
(6) |
Mar
(1) |
Apr
(1) |
May
(5) |
Jun
(14) |
Jul
|
Aug
(9) |
Sep
(2) |
Oct
|
Nov
(4) |
Dec
(14) |
2013 |
Jan
(4) |
Feb
(1) |
Mar
(3) |
Apr
(5) |
May
(8) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
|
Oct
(12) |
Nov
(8) |
Dec
(1) |
2014 |
Jan
(2) |
Feb
|
Mar
(3) |
Apr
(9) |
May
(1) |
Jun
(9) |
Jul
(2) |
Aug
(2) |
Sep
|
Oct
(2) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
(4) |
May
|
Jun
|
Jul
(3) |
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2018 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
(10) |
Sep
(3) |
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
From: Geof S. <Geo...@ut...> - 2010-11-22 21:00:22
|
Hi Bruce (et. al), We use AutoOpts for a project, and we bundle the library for linking. My question is this: how do we configure such that a local libopt library isn't used -- we only want to link to the bundled version we provide. We're having problems with older versions popping up. Thanks for your hard work! Geof U of U, SoC, RA |
From: Tom B. <tom...@gm...> - 2010-09-01 19:29:42
|
On Wed, Sep 1, 2010 at 14:16, Bruce Korb <bru...@gm...> wrote: > 5.6.3 is a wee bit long in the tooth. (It was old several years ago.) > I'd recommend 5.10.2 or 5.11.1pre7: Sorry, Bruce--I was asleep when I went to gnu.org and somehow missed the later versions. -Tom |
From: Bruce K. <bru...@gm...> - 2010-09-01 19:16:34
|
5.6.3 is a wee bit long in the tooth. (It was old several years ago.) I'd recommend 5.10.2 or 5.11.1pre7: http://autogen.sourceforge.net/data/index.html |
From: Tom B. <tom...@gm...> - 2010-09-01 19:10:25
|
I built autogen 5.6.3 successfully and then tried "make check" which resulted in one failure: PASS: argument.test PASS: cond.test FAIL: enums.test PASS: equiv.test PASS: errors.test PASS: getopt.test PASS: guile.test PASS: handler.test PASS: immediate.test PASS: keyword.test PASS: main.test PASS: nls.test PASS: rc.test PASS: shell.test PASS: stdopts.test PASS: usage.test PASS: vers.test =========================================== 1 of 17 tests failed Please report to aut...@li... =========================================== I am hereby reporting as ordered! Regards, -Tom Thomas M. Browder, Jr. Niceville, Florida USA |
From: Bruce K. <bru...@gm...> - 2010-08-14 19:06:43
|
Hi, I introduced some bugs with the new dependency stuff, so I have to spin a new release. So, I would really appreciate knowing who-all has given it a spin. My development environment just cannot cover all the different platforms that everybody uses. The "pre5" variation is available now: http://autogen.sourceforge.net/data/ Thank you very much! Regards, Bruce |
From: Thomas YS L. <nck...@gm...> - 2010-08-06 12:53:24
|
Hi All Patches are us following ---------- 轉寄的郵件 ---------- 寄件者: <me...@an...> 日期: 2009年7月1日下午3:59 主旨: Andes application porting guide *Hi, all:* * * Share you with the experiences in open source applications porting for Andes platform. * * ** Environment settings for Andes Toolchain* # Andes toolchain setting export ANDESIGHT_ROOT=/home/path/toolchains/nds32-elf-n1213-43u1h export PATH=$ANDESIGHT_ROOT/bin:$PATH # PREFIX folder export PREFIX=/my/path/nds32 export CROSS_COMPILE="nds32le-linux-" which ${CROSS_COMPILE}gcc &> /dev/null || export CROSS_COMPILE="nds32-elf-" export HOST=${CROSS_COMPILE%-} export BUILD="i686-linux" export TARGET=${CROSS_COMPILE%-} # Cross Toolchain export BUILD_CC=gcc export CC="${TARGET}-gcc" export CXX="${TARGET}-g++" export AR="${TARGET}-ar" export AS="${TARGET}-as" export RANLIB="${TARGET}-ranlib" export LD="${TARGET}-ld" export STRIP="${TARGET}-strip" # Cross Compilation FLAGS (-EL is for little endian) export NDS32_GCC_CFLAGS=-EL #export CFLAGS="-EL -I$PREFIX/include" #export CFLAGS="-EL -I$PREFIX/include -O2" export CFLAGS="-EL -I$PREFIX/include -fomit-frame-pointer -funroll-loops -O3" # With Static Linking #export LDFLAGS="-EL -static -L$PREFIX/lib" With Shared Linking export LDFLAGS="-EL -L$PREFIX/lib" export ASFLAGS=-EL export CXXFLAGS=-EL note: The prefix of Andes toolchain is* nds32-elf* in AndeSight v1.3.x, but we will modify the prefix to nds32le-linux since Andesight v1.3.3. * Open Source Application Porting using Andes Toolchain *1. Modify config.sub* *1.1 Modify config.sub file* for individual package This step helps the autoconf tool <http://www.gnu.org/software/autoconf/>recognizing the Andes architecture and machine type. You can follow the diff file below to modify the corresponding field in your package’s config.sub file. *$ diff -u config.sub.orig config.sub* *--- config.sub.orig 2009-03-03 14:45:26.000000000 +0800* *+++ config.sub 2009-03-03 15:08:37.000000000 +0800* *@@ -149,6 +149,7 @@* * case $basic_machine in* * # Recognize the basic CPU types without company name.* * # Some are omitted here because they have special meanings below.* *+ nds32 | nds32le \* * tahoe | i860 | m32r | m68k | m68000 | m88k | ns32k | arc | arm \* * | arme[lb] | pyramid | mn10200 | mn10300 \* * | tron | a29k | 580 | i960 | h8300 | hppa | hppa1.0 | hppa1.1 \* *@@ -171,6 +172,7 @@* * exit 1* * ;;* * # Recognize the basic CPU types with company name.* *+ nds32-* | nds32le-* \* * vax-* | tahoe-* | i[3456]86-* | i860-* | m32r-* | m68k-* | m68000-* \* * | m88k-* | sparc-* | ns32k-* | fx80-* | arc-* | arm-* | c[123]* \* * | mips-* | pyramid-* | tron-* | a29k-* | romp-* | rs6000-* \* or *1.2 Modify config.sub file for automake* Added NDS32 archicture from Andes Technology. --- config.sub | 2 ++ 1 file changed, 2 insertions(+) Index: automake1.10-1.10.1/lib/config.sub =================================================================== --- automake1.10-1.10.1.orig/lib/config.sub 2008-08-13 16:20:51.000000000 +0800 +++ automake1.10-1.10.1/lib/config.sub 2008-08-13 16:25:05.000000000 +0800 @@ -270,6 +270,7 @@ | mn10200 | mn10300 \ | mt \ | msp430 \ + *| nds32 | nds32le* \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ @@ -351,6 +352,7 @@ | mmix-* \ | mt-* \ | msp430-* \ *+ | nds32-*|** nds32le-*** \* | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \x *2. configure and make* ./configure --host=$HOST --build=$BUILD --prefix=$PREFIX make #make install DESTDIR=${DEPLOY_DIR} make install DESTDIR=${PREFIX} Regards, Mentor -- Best Regards, Thomas Yu - Sian , Liu |
From: Harlan S. <st...@nt...> - 2010-07-15 20:53:27
|
Bruce, I'm writing Kapila's eval now. H |
From: Bruce K. <bk...@gn...> - 2010-07-15 18:44:55
|
Hi Dennis, On Thu, Jul 15, 2010 at 12:11 AM, Dennis Wassel <dw...@ma...> wrote: > Hi Bruce, > > I sent this to the list yesterday and got an auto-reply that I'd have to > subscribe (which I did) and to give you a heads-up to fish this one out > of your spam. > So here you are! > > Cheers, > Dennis > > -------- Original-Nachricht -------- > Betreff: [Autogen-users] Spurious whitespace in "dne" output > Datum: Wed, 14 Jul 2010 17:23:21 +0200 > Von: Dennis Wassel <dw...@ma...> > An: aut...@li... > > Hi list, hi Bruce, > > I am using the dne command like this > > (dne "-d" " * " "/*") [...] > which is fine, except.... > > Specifically, x86_64 Ubuntu 10.04's autogen (5.10) produces > "AutoGen-ed" (no whitespace) > while i686 Debian5's autogen 5.9.5 and self-compiled 5.10.2 both insist > on producing > "AutoGen-ed " (2 whitespaces) > so this always turns up in the diffs, which is nothing drastic, but > still a PITA. It isn't supposed to happen, as well as being a PITA. > I hunted this down to something like a printf format string in > agen5/expFormat.c, but I could not make much sense of it, particularly > there are no two evil spaces hidden here. > > Any help? This is the format: static char const zDne[] = "%6$s" "%1$sDO NOT EDIT THIS FILE (%2$s)\n" "%1$s\n" "%1$sIt has been AutoGen-ed%3$s\n" "%1$sFrom the definitions %4$s\n" "%1$sand the template file %5$s"; I will certainly concede that how that format gets used is a bit obscure, but the final result is basically: static char const zDne1[] = "%s -*- buffer-read-only: t -*- vi: set ro:\n" "%s\n"; asprintf(&str, zDne1, "/*", " * ") sprintf(zDne, " * ", out_fname, "", def_fname, tpl_fname, str); Even more complicating is the fact that in order to compute printf arguments on the fly, "snprintfv" was invented (an "argv" style printf library because libffi was not around at the time). So, it is possible that the snv_asprintfv has gone south for this platform, but I'd surely hope not. It has been stable for some years now. I hate to ask people to use GDB, but this is not something that is happening for me, so I think it would be best, if you are willing. Please remake the thing with CFLAGS='-g -O0' LDFLAGS=-static thus: cd $top_builddir/agen5 rm -f *.o make autogen CFLAGS='-g -O0' LDFLAGS=-static dbgag=$PWD/autogen cd into your build directory and: gdb --args $dbgag <<whatever>> and set a break point in ag_scm_dne(). Step through until you get to the line: pzRes = aprf(ENABLED_OPT(WRITABLE) ..... and examine the arguments on the Debian5 platform. (gdb) p *pzPrefix (gdb) p *pfp->pzOutName (gdb) p (char *)zScribble (gdb) p pz (gdb) p pzTemplFileName (gdb) p pzFirst In particular, the ``p (char *)zScribble'' should print the empty string because "noDate" should be set to 1. Apparently, Debian5 is emitting two space characters when it should not be. If you see the spaces in this GDB session, something is awry in agen5 code. If not, then it is either in the snprintfv code or it is further down in the bowels of Debian5. Sorry for the bother. I would surely appreciate understanding the issue!! Regards, Bruce |
From: Dennis W. <dw...@ma...> - 2010-07-14 15:53:11
|
Hi list, hi Bruce, I am using the dne command like this (dne "-d" " * " "/*") to produce something like * * DO NOT EDIT THIS FILE (foo.h) * * It has been AutoGen-ed * From the definitions foo.def * and the template file foo.tpl */ which is fine, except for some whitespace produced by some versions of autogen, and not by others. Specifically, x86_64 Ubuntu 10.04's autogen (5.10) produces "AutoGen-ed" (no whitespace) while i686 Debian5's autogen 5.9.5 and self-compiled 5.10.2 both insist on producing "AutoGen-ed " (2 whitespaces) so this always turns up in the diffs, which is nothing drastic, but still a PITA. I hunted this down to something like a printf format string in agen5/expFormat.c, but I could not make much sense of it, particularly there are no two evil spaces hidden here. Any help? Cheers, Dennis -- Zentrum für Technomathematik, AG Optimierung und Optimale Steuerung fon: 0421-218.63866 fax: 0421-218.9863866 web: www.worhp.de |
From: Bruce K. <bru...@gm...> - 2010-06-26 04:28:31
|
Hi, I think someone on this list asked for this and I finally needed it, too. I added make file dependency output using option names pretty similar to those used by GCC: http://autogen.sourceforge.net/announce.html Let me know if you have any problems: http://autogen.sourceforge.net/data/autogen-5.11pre1.tar.bz2 Cheers - Bruce |
From: Bruce K. <bk...@gn...> - 2010-03-03 23:53:17
|
GNU AutoGen/AutoOpts is a two-part project that serves two separate purposes. The two parts are combined because they are inextricably intertwined: AutoGen is a tool designed to simplify the creation and maintenance of programs that contain large amounts of repetitious text. It is especially valuable in programs that have several blocks of text that must be kept synchronized. AutoOpts is both an example of that and a project in its own right. It is a very powerful configuration file, environment variable and command line option management tool consisting of a set of AutoGen templates and a run time library that nearly eliminates the hassle of managing, parsing and documenting program options. The self-referential example: http://www.gnu.org/software/autogen/man1-autogen.html New in 5.10.1 - March, 2010 Here are the 'NEWS' entries since the last release * The "libguile" stuff has been removed. I stopped using it and nobody else can have been using it. It's gone. * Fixed a seg fault that happens on some platforms after processing completes. * Augmented the Finite State Machine templates to #include hand crafted callout code in addition to extracting from earlier revisions. * autogen now uses unlocked io where feasible. AutoGen home: http://www.gnu.org/software/autogen/ primary ftp: ftp://ftp.gnu.org/gnu/autogen/rel5.10.1/ .tar.gz: ftp://ftp.gnu.org/gnu/autogen/rel5.10.1/autogen-5.10.1.tar.gz library project: ftp://ftp.gnu.org/gnu/libopts/rel33.2/ bug reports: autogen-users at the lists dot SourceForge net domain bug archive: http://sourceforge.net/mailarchive/forum.php?forum_id=7034 maintainer: Bruce Korb - bkorb at the usual GNU domain |
From: Aaron T. <syn...@gm...> - 2010-03-01 17:52:15
|
On Sun, Feb 28, 2010 at 11:21 AM, Bruce Korb <bru...@gm...> wrote: > Rowan Sylvester-Bradley wrote: >> I'm trying to get AutoGen working under Windows Vista Business. I'm hampered >> by the fact that I know almost nothing about Unix/Linux. I've downloaded and >> installed Cygwin v1.7.1. It appears to run, although I don't know enough to >> test it properly. Are there some test scripts or commands that I should try >> to check that it's working properly? >> >> It also seems to have Guile installed - at least, I can type "guile" and get >> a "guile>" prompt. I know nothing at all about Guile, so I don't know how to >> test this either. Are there some scripts I should run or commands to try >> that would check it out? >> >> To install AutoGen, what file(s) do I have to download, and what do I have >> to do with them? > > Hi Rowan, > > You have to have libguile installed (you do) with the development headers > as well (you may not). I am forwarding this to the Minimalist GNU for Windows > list. They have something that works on Windows. Unfortunately, Windows > does not properly support fork() and guile uses some dynamic linking > options that make its library problematic on Windows. Both of these issues > make Windows support challenging. I don't use Windows myself. So, hopefully, > someone on the MinGW list can help point you in the right direction. Sorry > I could not be more helpful. > > Regards, Bruce I don't know if this works with the latest version of AutoGen/Cygwin, but I documented the necessary steps here: http://tcpreplay.synfin.net/browser/trunk/docs/Win32Readme.txt I probably last tested this a year ago. -- Aaron Turner http://synfin.net/ http://tcpreplay.synfin.net/ - Pcap editing and replay tools for Unix & Windows Those who would give up essential Liberty, to purchase a little temporary Safety, deserve neither Liberty nor Safety. -- Benjamin Franklin "carpe diem quam minimum credula postero" |
From: Bruce K. <bru...@gm...> - 2010-02-28 19:21:11
|
Rowan Sylvester-Bradley wrote: > I'm trying to get AutoGen working under Windows Vista Business. I'm hampered > by the fact that I know almost nothing about Unix/Linux. I've downloaded and > installed Cygwin v1.7.1. It appears to run, although I don't know enough to > test it properly. Are there some test scripts or commands that I should try > to check that it's working properly? > > It also seems to have Guile installed - at least, I can type "guile" and get > a "guile>" prompt. I know nothing at all about Guile, so I don't know how to > test this either. Are there some scripts I should run or commands to try > that would check it out? > > To install AutoGen, what file(s) do I have to download, and what do I have > to do with them? Hi Rowan, You have to have libguile installed (you do) with the development headers as well (you may not). I am forwarding this to the Minimalist GNU for Windows list. They have something that works on Windows. Unfortunately, Windows does not properly support fork() and guile uses some dynamic linking options that make its library problematic on Windows. Both of these issues make Windows support challenging. I don't use Windows myself. So, hopefully, someone on the MinGW list can help point you in the right direction. Sorry I could not be more helpful. Regards, Bruce |
From: Rowan Sylvester-B. <ro...@sy...> - 2010-02-27 15:56:09
|
I'm trying to get AutoGen working under Windows Vista Business. I'm hampered by the fact that I know almost nothing about Unix/Linux. I've downloaded and installed Cygwin v1.7.1. It appears to run, although I don't know enough to test it properly. Are there some test scripts or commands that I should try to check that it's working properly? It also seems to have Guile installed - at least, I can type "guile" and get a "guile>" prompt. I know nothing at all about Guile, so I don't know how to test this either. Are there some scripts I should run or commands to try that would check it out? To install AutoGen, what file(s) do I have to download, and what do I have to do with them? Thanks for your help - Rowan |
From: Rowan Sylvester-B. <ro...@sy...> - 2010-02-26 10:01:21
|
Does anyone have a Windows executable for AutoGen, or blow-by-blow instructions for getting it working in Windows? Thanks - Rowan |
From: Eric B. <eb...@by...> - 2009-10-18 21:23:18
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Bruce Korb on 10/18/2009 12:21 PM: > Eric Blake wrote: >> But on Windows 64 bit platforms, that is exactly the case (64-bit >> pointers, 32-bit long). > > Thanks, Eric. More compat.h magic: > >> #ifndef HAVE_INTPTR_T >> # if SIZEOF_CHARP == SIZEOF_LONG >> typedef signed long intptr_t; On any platform that lacks intptr_t, this should be right - the only platforms stupid enough to provide 32-bit long but 64-bit char* (aka windows 64) should at least be sane enough to provide intptr_t. >> # else >> typedef signed int intptr_t; This arm of the #if is pointless. On windows 64, int and long are the same size. On almost every other platform, char* and long are the same size, and either int and long are the same size (32 bit platforms) or int is smaller than pointers (64 bit platforms). - -- Don't work too hard, make some time for fun as well! Eric Blake eb...@by... -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrbhBMACgkQ84KuGfSFAYCjTACgrr02LIrudj/HD0VRo1cjTPpe nSIAniPrEV+hE1+8DhvGFL4WkR2IUUTn =UPZg -----END PGP SIGNATURE----- |
From: Bruce K. <bk...@gn...> - 2009-10-18 21:16:10
|
Hi Eric, On Sun, Oct 18, 2009 at 2:09 PM, Eric Blake <eb...@by...> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > According to Bruce Korb on 10/18/2009 12:21 PM: >> Eric Blake wrote: >>> But on Windows 64 bit platforms, that is exactly the case (64-bit >>> pointers, 32-bit long). >> >> Thanks, Eric. More compat.h magic: >> >>> #ifndef HAVE_INTPTR_T >>> # if SIZEOF_CHARP == SIZEOF_LONG >>> typedef signed long intptr_t; > > On any platform that lacks intptr_t, this should be right - the only > platforms stupid enough to provide 32-bit long but 64-bit char* (aka > windows 64) should at least be sane enough to provide intptr_t. What started this all off is that there was some platform out there that did not define intptr_t and had a pointer size that was not that of long. Not having access to such a platform (and being uncertain that I'd even _want_ to ;), I cooked up this stuff so NTP would build on whatever it was that was that broken. My hope was to try to shoot the problem dead so I never see it again. :) Thank you! Cheers - Bruce |
From: Bruce K. <bk...@gn...> - 2009-10-18 18:21:37
|
Eric Blake wrote: > > But on Windows 64 bit platforms, that is exactly the case (64-bit > pointers, 32-bit long). Thanks, Eric. More compat.h magic: > #ifndef HAVE_INTPTR_T > # if SIZEOF_CHARP == SIZEOF_LONG > typedef signed long intptr_t; > # else > typedef signed int intptr_t; > # endif > #endif > > #ifndef HAVE_UINTPTR_T > # if SIZEOF_CHARP == SIZEOF_LONG > typedef unsigned long intptr_t; > # else > typedef unsigned int intptr_t; > # endif > #endif This is in 5.9.10pre12 see: http://autogen.sourceforge.net/data/ Regards, Bruce |
From: Bruce K. <bk...@gn...> - 2009-10-14 16:26:34
|
On Tue, Oct 13, 2009 at 5:52 PM, Eric Blake <eb...@by...> wrote: >> then the backup is "unsigned long". If a pointer is >> not matching a long in size, there is a terrible lot of >> code that will break. > > But on Windows 64 bit platforms, that is exactly the case (64-bit > pointers, 32-bit long). Hmmm. Well, I haven't done any development on windows since Windows 3.1. I read that misstatement and believed it because it was consistent with the memory models I've seen on UNIXy platforms. Windows does seem to go out of its way to be peculiar. That will just make the tweaking of the installed options.h header a tiny bit more complicated. Oh, well. Thanks. |
From: Eric B. <eb...@by...> - 2009-10-14 01:06:51
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Bruce Korb on 10/13/2009 3:15 PM: > If it isn't in stdint.h (it should be, if memory serves), > then the backup is "unsigned long". If a pointer is > not matching a long in size, there is a terrible lot of > code that will break. But on Windows 64 bit platforms, that is exactly the case (64-bit pointers, 32-bit long). - -- Don't work too hard, make some time for fun as well! Eric Blake eb...@by... -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrVIN4ACgkQ84KuGfSFAYCOvQCdFacdhewnQw+MuVo+NGZZH/Xl wiAAoMVlgfKy2VUX85YSdY+taRz3aZOn =cyMy -----END PGP SIGNATURE----- |
From: Bruce K. <bk...@gn...> - 2009-10-13 21:16:08
|
If it isn't in stdint.h (it should be, if memory serves), then the backup is "unsigned long". If a pointer is not matching a long in size, there is a terrible lot of code that will break. So, in compat/compat.h: #ifndef HAVE_UINTPTR_T typedef unsigned long uintptr_t; #endif I guess that needs to get configured into the installed header. What a pain: ../libopts/autoopts/options.h:348: error: expected specifier-qualifier-list before ‘uintptr_t’ I have a script for installing an edited version of options.h. It needs to edit in the above typedef if HAVE_UINTPTR_T is not defined in config.h. *sigh*. Thank you. |
From: Geof S. <Geo...@ut...> - 2009-10-13 19:48:16
|
/* -*- buffer-read-only: t -*- vi: set ro: * * DO NOT EDIT THIS FILE (sched-opt.h) * * It has been AutoGen-ed Thursday October 8, 2009 at 11:18:06 AM MDT * From the definitions sched-opt.def * and the template file options * * Generated from AutoOpts 32:0:7 templates. */ /* * This file was produced by an AutoOpts template. AutoOpts is a * copyrighted work. This header file is not encumbered by AutoOpts * licensing, but is provided under the licensing terms chosen by the * isp author or copyright holder. AutoOpts is licensed under * the terms of the LGPL. The redistributable library (``libopts'') is * licensed under the terms of either the LGPL or, at the users discretion, * the BSD license. See the AutoOpts and/or libopts sources for details. * * This source file is copyrighted and licensed under the following terms: * * isp copyright 1-27-2009 University of Utah - all rights reserved * * Copyright (C) 2009 -- please see LICENSE for details. */ /* * This file contains the programmatic interface to the Automated * Options generated for the isp program. * These macros are documented in the AutoGen info file in the * "AutoOpts" chapter. Please refer to that doc for usage help. */ #ifndef AUTOOPTS_SCHED_OPT_H_GUARD #define AUTOOPTS_SCHED_OPT_H_GUARD 1 #include <autoopts/options.h> /* * Ensure that the library used for compiling this generated header is at * least as new as the version current when the header template was released * (not counting patch version increments). Also ensure that the oldest * tolerable version is at least as old as what was current when the header * template was released. */ #define AO_TEMPLATE_VERSION 131072 #if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \ || (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION) # error option template version mismatches autoopts/options.h header Choke Me. #endif /* * Enumeration of each option: */ typedef enum { INDEX_OPT_NUMPROCS = 0, INDEX_OPT_PORT = 1, INDEX_OPT_HOST = 2, INDEX_OPT_US = 3, INDEX_OPT_BLOCK = 4, INDEX_OPT_NOBLOCK = 5, INDEX_OPT_LOGFILE = 6, INDEX_OPT_MPICALLS = 7, INDEX_OPT_VERBOSE = 8, INDEX_OPT_QUIET = 9, INDEX_OPT_RPT_PROGRESS = 10, INDEX_OPT_DISTRIBUTED = 11, INDEX_OPT_FIBOPT = 12, INDEX_OPT_DISABLE_OMP = 13, INDEX_OPT_EXP_MODE = 14, INDEX_OPT_ENV = 15, INDEX_OPT_EXP_SOME = 16, INDEX_OPT_STOP_AT_DEADLOCK = 17, INDEX_OPT_VERSION = 18, INDEX_OPT_HELP = 19, INDEX_OPT_MORE_HELP = 20 } teOptIndex; #define OPTION_CT 21 #define ISP_VERSION "0.1.1" #define ISP_FULL_VERSION "isp - isp: In-Situ Partial Order - Ver. 0.1.1" /* * Interface defines for all options. Replace "n" with the UPPER_CASED * option name (as in the teOptIndex enumeration above). * e.g. HAVE_OPT( NUMPROCS ) */ #define DESC(n) (ispOptions.pOptDesc[INDEX_OPT_## n]) #define HAVE_OPT(n) (! UNUSED_OPT(& DESC(n))) #define OPT_ARG(n) (DESC(n).optArg.argString) #define STATE_OPT(n) (DESC(n).fOptState & OPTST_SET_MASK) #define COUNT_OPT(n) (DESC(n).optOccCt) #define ISSEL_OPT(n) (SELECTED_OPT(&DESC(n))) #define ISUNUSED_OPT(n) (UNUSED_OPT(& DESC(n))) #define ENABLED_OPT(n) (! DISABLED_OPT(& DESC(n))) #define STACKCT_OPT(n) (((tArgList*)(DESC(n).optCookie))->useCt) #define STACKLST_OPT(n) (((tArgList*)(DESC(n).optCookie))->apzArgs) #define CLEAR_OPT(n) STMTS( \ DESC(n).fOptState &= OPTST_PERSISTENT_MASK; \ if ( (DESC(n).fOptState & OPTST_INITENABLED) == 0) \ DESC(n).fOptState |= OPTST_DISABLED; \ DESC(n).optCookie = NULL ) /* * * * * * * * Interface defines for specific options. */ #define VALUE_OPT_NUMPROCS 'n' #define OPT_VALUE_NUMPROCS (DESC(NUMPROCS).optArg.argInt) #define VALUE_OPT_PORT 'p' #define OPT_VALUE_PORT (DESC(PORT).optArg.argInt) #define VALUE_OPT_HOST 'h' #ifndef WIN_32 #define VALUE_OPT_US 'x' #endif /* WIN_32 */ #define VALUE_OPT_BLOCK 'b' #define VALUE_OPT_NOBLOCK 'g' #define VALUE_OPT_LOGFILE 'l' #define VALUE_OPT_MPICALLS 'm' #define VALUE_OPT_VERBOSE 'O' #define VALUE_OPT_QUIET 'q' #define VALUE_OPT_RPT_PROGRESS 'r' #define OPT_VALUE_RPT_PROGRESS (DESC(RPT_PROGRESS).optArg.argInt) #define VALUE_OPT_DISTRIBUTED 'd' #ifdef FIB #define VALUE_OPT_FIBOPT 'f' #endif /* FIB */ #ifdef USE_OPENMP #define VALUE_OPT_DISABLE_OMP 'o' #endif /* USE_OPENMP */ typedef enum { EXP_MODE_ALL, EXP_MODE_RANDOM, EXP_MODE_LEFT_MOST } te_Exp_Mode; #define VALUE_OPT_EXP_MODE 'e' #define OPT_EXP_MODE_VAL2STR(_v) optionKeywordName( &DESC(EXP_MODE), (_v)) #define OPT_VALUE_EXP_MODE (DESC(EXP_MODE).optArg.argEnum) #define VALUE_OPT_ENV 's' #define VALUE_OPT_EXP_SOME 'y' #define OPT_VALUE_EXP_SOME (DESC(EXP_SOME).optArg.argInt) #define VALUE_OPT_STOP_AT_DEADLOCK 'z' #define OPT_VALUE_STOP_AT_DEADLOCK (DESC(STOP_AT_DEADLOCK).optArg.argBool) #define VALUE_OPT_HELP '?' #define VALUE_OPT_MORE_HELP '!' #define VALUE_OPT_VERSION 'v' /* * Interface defines not associated with particular options */ #define ERRSKIP_OPTERR STMTS( ispOptions.fOptSet &= ~OPTPROC_ERRSTOP ) #define ERRSTOP_OPTERR STMTS( ispOptions.fOptSet |= OPTPROC_ERRSTOP ) #define RESTART_OPT(n) STMTS( \ ispOptions.curOptIdx = (n); \ ispOptions.pzCurOpt = NULL ) #define START_OPT RESTART_OPT(1) #define USAGE(c) (*ispOptions.pUsageProc)( &ispOptions, c ) /* extracted from /usr/share/autogen/opthead.tpl near line 415 */ /* * * * * * * * Declare the isp option descriptor. */ #ifdef __cplusplus extern "C" { #endif extern tOptions ispOptions; #if defined(ENABLE_NLS) # ifndef _ # include <stdio.h> static inline char* aoGetsText( char const* pz ) { if (pz == NULL) return NULL; return (char*)gettext( pz ); } # define _(s) aoGetsText(s) # endif /* _() */ # define OPT_NO_XLAT_CFG_NAMES STMTS(ispOptions.fOptSet |= \ OPTPROC_NXLAT_OPT_CFG;) # define OPT_NO_XLAT_OPT_NAMES STMTS(ispOptions.fOptSet |= \ OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG;) # define OPT_XLAT_CFG_NAMES STMTS(ispOptions.fOptSet &= \ ~(OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG);) # define OPT_XLAT_OPT_NAMES STMTS(ispOptions.fOptSet &= \ ~OPTPROC_NXLAT_OPT;) #else /* ENABLE_NLS */ # define OPT_NO_XLAT_CFG_NAMES # define OPT_NO_XLAT_OPT_NAMES # define OPT_XLAT_CFG_NAMES # define OPT_XLAT_OPT_NAMES # ifndef _ # define _(_s) _s # endif #endif /* ENABLE_NLS */ #ifdef __cplusplus } #endif #endif /* AUTOOPTS_SCHED_OPT_H_GUARD */ /* sched-opt.h ends here */ |
From: Earnie B. <ea...@us...> - 2009-10-12 12:56:29
|
Quoting Geof Sawaya <Geo...@ut...>: > Hi Aaron, > > Thanks for your pointers on this, and congrats on your tcpreplay project. > > I'm attempting to do this on the MinGW path so that we can > distribute without Cygwin dependencies . . . > > I'll let you know how it goes! > You won't get by without MSYS at least. Especially for the scripts. And, IIRC, it must be created in the MSYS build environment, check the MinGW wiki for details on that and ask on min...@li.... -- Earnie |
From: Bruce K. <bk...@gn...> - 2009-10-09 19:03:09
|
It means you are finding an autoopts/options.h header that does not match the template you are using. Use "-H" on the CC line to figure out where it is coming from and make sure you have a -I that points to the new one ahead of wherever you are getting the old one. On Fri, Oct 9, 2009 at 11:54 AM, Geof Sawaya <Geo...@ut...> wrote: > Hello, > > I’m experiencing this template version mismatch. (the below #error > condition is being hit) > > Does anyone have a quick idea what causes this? Thanks in advance for any |
From: Geof S. <Geo...@ut...> - 2009-10-09 18:54:20
|
Hello, I'm experiencing this template version mismatch. (the below #error condition is being hit) Does anyone have a quick idea what causes this? Thanks in advance for any help. ****from my generated *-opt.h file************* #define AO_TEMPLATE_VERSION 131072 #if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \ || (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION) # error option template version mismatches autoopts/options.h header Choke Me. #endif |