Index: cdr/Makefile =================================================================== RCS file: /usr/cvsroot/asterisk/cdr/Makefile,v retrieving revision 1.25 diff -u -r1.25 Makefile --- cdr/Makefile 25 Jul 2004 14:56:34 -0000 1.25 +++ cdr/Makefile 10 Aug 2004 14:18:30 -0000 @@ -31,8 +31,39 @@ # # FreeTDS stuff... # -MODS+=$(shell if [ -f "/usr/include/tds.h" ]; then echo "cdr_tds.so"; fi) -MODS+=$(shell if [ -f "/usr/local/include/tds.h" ]; then echo "cdr_tds.so"; fi) +MODS+=$(shell \ +freetdsdir=""; \ +freetdsincdir=""; \ +freetdsvercheck=""; \ +for d in /usr/local /usr; \ +do \ + if test -f "$$d/include/tds.h" -a -e "$$d/lib/libtds.so" -a -f "$$d/include/tdsver.h"; \ + then \ + freetdsdir="$$d"; \ + freetdsincdir="$$d/include"; \ + break; \ + elif test -f "$$d/include/freetds/tds.h" -a -e "$$d/lib/libtds.so" -a -f "$d/include/freetds/tdsver.h"; \ + then \ + freetdsdir="$$d"; \ + freetdsincdir="$$d/include/freetds"; \ + break; \ + fi; \ +done; \ +if test "x$$freetdsdir" != "x"; \ +then \ + freetdsvercheck="`grep '^\#define TDS_VERSION_NO ' $$freetdsincdir/tdsver.h|sed 's|^.*"\(.*v\)\(.*\)"|\2|'`"; \ + if test "x$$freetdsvercheck" != "x"; \ + then \ + freetdsmajor="`echo $$freetdsvercheck|sed 's|^\([0-9]\).[0-9]\{2\}.*|\1|'`"; \ + freetdsminor="`echo $$freetdsvercheck|sed 's|^[0-9].\([0-9]\{2\}\).*|\1|'`"; \ + freetdsmacro="`echo $$freetdsvercheck|sed 's|^[0-9].[0-9]\{2\}.\(.*\)|\1|'`"; \ + if test "$$freetdsmajor" -gt 0 || test "$$freetdsminor" -ge 62; \ + then \ + echo "cdr_tds.so"; \ + fi; \ + fi; \ +fi; \ +) # # PGSQL stuff... Autoconf anyone??