Chris, Thanks for taking the time for a thoughtful response. Once again, I am educated on this list.... I was a bit unclear in original post -- while I *am* planning on stabilizing my build environment (updating m4, autoconf, compiler, discovering c/cpp/ld flags, etc) my final goal is a (re-)buildable, maintainable PG8.* on AIX5.3 This is a lot of fun, but "stumbly" work for me, because I have never been a C programmer (or anything but PL/SQL for oracle, really) and while fascinated by compiler theory, technology, and implementation, I am even less familiar with that. Hence the "out of place" questions. I'll examine threadsafety, compiler options, and hetergeneous compiler/build enviroments. Thanks again Ross -----Original Message----- From: pgsql-general-owner@xxxxxxxxxxxxxx on behalf of Christopher Browne Sent: Sat 28-May-05 11:37 PM To: pgsql-general@xxxxxxxxxxxxxx Cc: Subject: Re: Fast request for version checking.... Oops! RMohan@xxxxxxxxxxx ("Mohan, Ross") was seen spray-painting on a wall: > I have 2.53, yes. > > But, I am going to rebuild and re-AC this, so need > to build m4 (1.4.3) in order to get to 2.59 of AConf. > > Any reasons to strongly advocate or avoid forcing > compiler into strict ANSI/C99 or ISO C mode? I had > to do that to get m4 to compile. I'd like to stay > on a single track (ANSI compliant or not) with all > builds. > > An RTFM pointer to a doc would be more than ample, > if such explanation already exists! There is no such explanation/document to be found, as the different pieces of software you are building are managed by completely independent groups of people. PGDG (the folks responsible for PostgreSQL) are, at least at the Core level, a disjoint set from the set of developers associated with FSF m4. There is little reason to expect any comprehensive sort of consistency of the manner you suggest, nor that it is particularly useful, either. - When you're looking at something like PostgreSQL, where there needs to be some intimacy with system level details, it's quite likely that there will need to be some weird things turned on. For instance, you're liable to find a need to enable thread safety on platforms like AIX and Solaris, even though that can Lead To Certain Complications. - In contrast, m4 is being used for relatively simple purposes, during the build process, so that "weirdities" like threading are pretty well irrelevant to compiling m4. Indeed, it would be quite appropriate for an m4 build to use pretty "anal-retentively" standards-compliant options, and it might even be appropriate to ignore platform-specific stuff like optimization. After all, the m4 code only runs at compile time, and if that slows down a bit, or even a lot, that will not have any effect on the efficiency of the resulting PostgreSQL binaries. While it would be convenient if all software projects played by exactly the same set of "how to use compiler options" rules, it is completely unrealistic to expect this. -- let name="cbbrowne" and tld="gmail.com" in String.concat "@" [name;tld];; http://linuxdatabases.info/info/slony.html And me, with this terrible pain in all the diodes down my left side... -- Marvin the Paranoid Android ---------------------------(end of broadcast)--------------------------- TIP 4: Don't 'kill -9' the postmaster ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match