I trying to compile the Postgresql 9.2.1 sources with msvcr100.a but the make
process stopping with errors.
If using the msvcrt.a from default gcc specs then do not get any errors.
I have seen messages saying that using different versions of runtime 
will cause problems during execution.
I checked that the Postgresql binaries from oficial site with depends.exe 
and I saw them using the msvcr100.dll for runtime.
I intending to compile freetds and try mimic the oracle_fdw extension.
That is why I trying switch runtimes.

I have basic C knowledge and would like to know if I should try make
those extensions use a static link or if should not worry if generate a 
freetds.dll that uses msvcrt.dll with new Postgresql?

I have dumped the specs from gcc to a file and replaced the calls from
msvcrt with following:

%{mthreads:-lmingwthrd} -lmingw32    %{shared-libgcc:-lgcc_s} %{!shared-libgcc:-lgcc_eh}    -lgcc    -lmoldname100 -lmingwex -lmsvcr100

I started with a new clean mingw32 msys on a Windows XP 32bit host.

Then instructed configure with following
./configure --prefix=/usr --enable-nls

and instaled missing dependencies

mingw-get install mingw32-gettext-bin
mingw-get install mingw32-gettext-dev
mingw-get install mingw32-libz
mingw-get install msys-wget
mingw-get install msys-locate

Before the specs change it finished.

I opened some mingw headers and found a macro __MSVCRT_VERSION__ so I 
cleaned source and invoked the following configure with highest version 
I could find in header 0x0800

CFLAGS="-D__MSVCRT_VERSION=0x0800" ./configure --prefix=/usr --enable-nls

Now during the make it stopped with the linker error below:

gcc -D__MSVCRT_VERSION=0x0800 -Wall -Wmissing-prototypes -Wpointer-arith 
-Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute 
-Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard
zic.o ialloc.o scheck.o localtime.o -L../../src/port 
-Wl,--allow-multiple-definition  -Wl,--as-needed   -lpgport -lintl -lz -lm 
-lws2_32 -lshfolder -o zic.exe
dirent.c:(.text+0x249): undefined reference to `__findnext'
dirent.c:(.text+0x2a2): undefined reference to `__findfirst'

I looked for symbols on the libraries msvcrt.a and msvcr100.a

nm /mingw/lib/libmsvcrt.a | grep __findnext
0000000 T __findnexti64
0000000 I __imp___findnexti64
0000000 T __findnext64
0000000 I __imp___findnext64
0000000 T __findnext
0000000 I __imp___findnext

nm /mingw/lib/libmsvcr100.a | grep __findnext
0000000 T __findnext64i32
0000000 I __imp___findnext64i32
0000000 T __findnext64
0000000 I __imp___findnext64
0000000 T __findnext32i64
0000000 I __imp___findnext32i64
0000000 T __findnext32
0000000 I __imp___findnext32

Should be a missing preprocessor macro to translate the __findnext call to __findnext32?
Or some linker "alias" missing ?