Re: Support for AIX 7.1

Sebastien FLAESCH <[email protected]>
Newsgroups gmane.comp.db.tds.freetds
Organization Four Js Development Tools
Message-ID <[email protected]>
Hello,

Sorry for the mistake, I have now tested with CFLAGS set before running configure.

That worked.

A collegue told me that it was also sufficient to do following:

1) export OBJECT_MODE=64

2) Patch ./src/tds/mem.c with:

#if HAVE_SYS_SOCKET_H
#include <sys/socket.h>
#endif /* HAVE_SYS_SOCKET_H */

3) CC=xlc CFLAGS="-q64" ./configure ...

...

However, in both cases, when looking at the lib directory, it appears that it
does not produce shared libs, only static libs are created:

$ dump -X64  -H libtdsodbc.a
(no output)
$

Any idea?

Seb

On 05/04/2012 07:33 PM, James K. Lowden wrote:
> On Fri, 04 May 2012 17:06:37 +0200
> Sebastien FLAESCH<[email protected]>  wrote:
>
>> export CFLAGS="-DSYSV -D_AIX -D_AIX53 -D_ALL_SOURCE -O2"
>>
>> and restarted the build with:
>>
>> make clean all
>>
>> and now I get:
>>
>> Making all in fisql
>>           /bin/sh ../../../libtool --tag=CC    --mode=link gcc
>> -D_THREAD_SAFE  -g -O2 -Wdeclaration-after-statement    -o fisql
>> fisql.o terminal.o edit.o handlers.o
>> interrupt.o ../../dblib/libsybdb.la  ../../replacements/libreplacements.la
>> -liconv  -lpthreads
>
> As I said, Seb,
>
>> You will need to re-run the configure script for the modified CFLAGS
>> to take effect
>
> Note that although you exported CFLAGS, those switches aren't passed on
> the command line quoted above.  They won't be until you re-run
> configure.
>
> Let me unpack that a bit, because it once confused me, too.
>
> There's nothing magical about CFLAGS; you'll note it's not mentioned on
> the gcc man page.  It's just a convention.  The Makefile author can
> construct the Makefile to use CFLAGS if defined, giving the user -- the
> guy running make(1) -- a way to pass arbitrary options to the
> compiler.
>
> The configure script that generates the FreeTDS Makefiles was itself
> generated by autoconf.  The generated Makefiles sadly do not honor
> CFLAGS.  They instead *set* CFLAGS to the value that was in
> CFLAGS at the time configure was run.  See for yourself:
>
> $ grep -n ^CFLAGS  build/src/apps/Makefile
> 202:CFLAGS = -g -O0 -Wdeclaration-after-statement
>
> (YMMV.)
>
> I don't know why configure works that way.  If you asked on the
> autoconf mailing list, I imagine they'd say there's no way for make(1)
> to determine if and when files need to be recompiled when CFLAGS
> changes.  (Reading CFLAGS at build-time runs the risk of having
> different files compiled with different options, which could lead to no
> problem or very weird problems.)
>
> I favor sharp knives.  To me, the point of the configure script is to
> determine the target machine's characteristics; I would prefer to have
> the generated Makefiles incorporate CFLAGS (and friends) from the
> environment at compile time. But they don't.
>
> Once burned and twice shy.
>
> Regards,
>
> --jkl
> _______________________________________________
> FreeTDS mailing list
> [email protected]
> http://lists.ibiblio.org/mailman/listinfo/freetds
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.