Changeset 28

Show
Ignore:
Timestamp:
11/29/02 22:16:10 (10 years ago)
Author:
ahu
Message:

juh

Location:
trunk/pdns
Files:
2 removed
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/configure.in

    r23 r28  
    4242LIBS="$my_save_LIBS" 
    4343AC_SUBST(LIBDL) 
    44  
    45  
    4644 
    4745# pthread_create is in standard libraries (As in BSDI 3.0) 
     
    9189 
    9290case "$host_os" in 
    93 solaris2*) AC_DEFINE(NEED_POSIX_TYPEDEF) 
     91solaris2*)  
     92        AC_DEFINE(NEED_POSIX_TYPEDEF) 
    9493        ;; 
    9594*) 
     
    111110if test $enable_static_binaries = yes;  
    112111then  
    113         LDFLAGS="-all-static $LD_FLAGS" 
     112        LDFLAGS="-all-static $LDFLAGS" 
    114113fi 
    115114AC_MSG_RESULT($enable_static_binaries) 
     
    130129]) 
    131130 
     131domysql=yes 
     132AC_MSG_CHECKING(whether we to include mysql support in the generic backend) 
     133AC_ARG_ENABLE(mysql,  
     134 [  --enable-mysql      Whether to include MySQL support in generic backend],domysql=yes,domysql=) 
     135 
     136AC_MSG_RESULT($domysql) 
     137AC_SUBST(domysql) 
     138 
     139AC_MSG_CHECKING(whether we to include pgsql support in the generic backend) 
     140AC_ARG_ENABLE(pgsql,  
     141 [  --enable-pgsql      Whether to include PgSQL support in generic backend],dopgsql=yes,dopgsql=) 
     142 
     143AC_MSG_RESULT($dopgsql) 
     144AC_SUBST(dopgsql) 
     145 
    132146 
    133147AC_SUBST(moduledirs) 
     
    135149AC_SUBST(modulelibs) 
    136150 
     151if echo $modules | grep -q "mysql" 
     152then 
     153        AC_ARG_WITH(mysql, 
     154            [  --with-mysql=<path>     root directory path of MySQL installation], 
     155            [MYSQL_lib_check="$withval/lib/mysql $with_mysql/lib" 
     156        MYSQL_inc_check="$withval/include/mysql"], 
     157            [MYSQL_lib_check="/usr/local/mysql/lib/mysql /usr/local/lib/mysql /opt/mysql/lib/mysql /usr/lib/mysql /usr/local/mysql/lib /usr/local/lib /opt/mysql/lib /usr/lib" 
     158        MYSQL_inc_check="/usr/local/mysql/include/mysql /usr/local/include/mysql /opt/mysql/include/mysql /opt/mysql/include /usr/include/mysql"]) 
     159                AC_ARG_WITH(mysql-lib, 
     160            [  --with-mysql-lib=<path> directory path of MySQL library installation], 
     161            [MYSQL_lib_check="$withval/lib/mysql $withval/mysql $withval"]) 
     162                AC_ARG_WITH(mysql-includes, 
     163            [  --with-mysql-includes=<path> 
     164                         directory path of MySQL header installation], 
     165            [MYSQL_inc_check="$withval/include/mysql $withval/mysql $withval"]) 
     166                AC_MSG_CHECKING([for MySQL library directory]) 
     167        MYSQL_libdir= 
     168        for m in $MYSQL_lib_check; do 
     169                if test -d "$m" && \ 
     170                   (test -f "$m/libmysqlclient.so" || test -f "$m/libmysqlclient.a") 
     171                then 
     172                        MYSQL_libdir=$m 
     173                        break 
     174                fi 
     175        done 
     176                if test -z "$MYSQL_libdir"; then 
     177                AC_MSG_ERROR([Didn't find the mysql library dir in '$MYSQL_lib_check']) 
     178        fi 
     179                case "$MYSQL_libdir" in 
     180                 /usr/lib ) MYSQL_lib="" ;; 
     181          /* ) MYSQL_lib=-L$MYSQL_libdir; LDFLAGS="$MYSQL_lib $LDFLAGS";; 
     182          * )  AC_MSG_ERROR([The MySQL library directory ($MYSQL_libdir) must be an absolute path.]) ;; 
     183        esac 
     184                AC_SUBST(MYSQL_lib) 
     185        AC_MSG_RESULT([$MYSQL_libdir]) 
     186                AC_MSG_CHECKING([for MySQL include directory]) 
     187        MYSQL_incdir= 
     188        for m in $MYSQL_inc_check; do 
     189                if test -d "$m" && test -f "$m/mysql.h" 
     190                then 
     191                        MYSQL_incdir=$m 
     192                        break 
     193                fi 
     194        done 
     195                if test -z "$MYSQL_incdir"; then 
     196                AC_MSG_ERROR([Didn't find the mysql include dir in '$MYSQL_inc_check']) 
     197        fi 
     198                case "$MYSQL_incdir" in 
     199          /* ) ;; 
     200          * )  AC_MSG_ERROR([The MySQL include directory ($MYSQL_incdir) must be an absolute path.]) ;; 
     201        esac 
     202                AC_SUBST(MYSQL_incdir) 
     203        AC_MSG_RESULT([$MYSQL_incdir]) 
     204        LIBS="$LIBS -lmysqlclient" 
     205fi 
     206 
     207for a in $modules 
     208do 
     209        case "$a" in 
     210                pgmysql ) 
     211                        if test "$dopgsql"  
     212                                then  
     213                                        needpgsql=yes 
     214                         fi 
     215                ;; 
     216        esac 
     217done 
     218 
     219 
     220if test "$needpgsql"  
     221then 
     222        AC_ARG_WITH(pgsql, 
     223            [  --with-pgsql=<path>     root directory path of PgSQL installation], 
     224            [PGSQL_lib_check="$withval/lib/pgsql $with_pgsql/lib" 
     225        PGSQL_inc_check="$withval/include/pgsql"], 
     226            [PGSQL_lib_check="/usr/local/pgsql/lib/pgsql /usr/local/lib/pgsql /opt/pgsql/lib/pgsql /usr/lib/pgsql /usr/local/pgsql/lib /usr/local/lib /opt/pgsql/lib /usr/lib" 
     227        PGSQL_inc_check="/usr/local/pgsql/include/pgsql /usr/local/include/pgsql /opt/pgsql/include/pgsql /opt/pgsql/include /usr/include/postgresql"]) 
     228                AC_ARG_WITH(pgsql-lib, 
     229            [  --with-pgsql-lib=<path> directory path of PgSQL library installation], 
     230            [PGSQL_lib_check="$withval/lib/pgsql $withval/pgsql $withval"]) 
     231                AC_ARG_WITH(pgsql-includes, 
     232            [  --with-pgsql-includes=<path> 
     233                         directory path of PgSQL header installation], 
     234            [PGSQL_inc_check="$withval/include/pgsql $withval/pgsql $withval"]) 
     235                AC_MSG_CHECKING([for PgSQL library directory]) 
     236        PGSQL_libdir= 
     237        for m in $PGSQL_lib_check; do 
     238                if test -d "$m" && \ 
     239                   (test -f "$m/libpq++.so" || test -f "$m/libpq++.a") 
     240                then 
     241                        PGSQL_libdir=$m 
     242                        break 
     243                fi 
     244        done 
     245                if test -z "$PGSQL_libdir"; then 
     246                AC_MSG_ERROR([Didn't find the pgsql library dir in '$PGSQL_lib_check']) 
     247        fi 
     248                case "$PGSQL_libdir" in 
     249                 /usr/lib ) PGSQL_lib="" ;; 
     250          /* ) PGSQL_lib=-L$PGSQL_libdir; LDFLAGS="$PGSQL_lib $LDFLAGS";; 
     251          * )  AC_MSG_ERROR([The PgSQL library directory ($PGSQL_libdir) must be an absolute path.]) ;; 
     252        esac 
     253                AC_SUBST(PGSQL_lib) 
     254        AC_MSG_RESULT([$PGSQL_libdir]) 
     255                AC_MSG_CHECKING([for PgSQL include directory]) 
     256        PGSQL_incdir= 
     257        for m in $PGSQL_inc_check; do 
     258                if test -d "$m" && test -f "$m/libpq++.h" 
     259                then 
     260                        PGSQL_incdir=$m 
     261                        break 
     262                fi 
     263        done 
     264                if test -z "$PGSQL_incdir"; then 
     265                AC_MSG_ERROR([Didn't find the mysql include dir in '$PGSQL_inc_check']) 
     266        fi 
     267                case "$PGSQL_incdir" in 
     268          /* ) ;; 
     269          * )  AC_MSG_ERROR([The PgSQL include directory ($PGSQL_incdir) must be an absolute path.]) ;; 
     270        esac 
     271        AC_SUBST(PGSQL_incdir) 
     272        AC_MSG_RESULT([$PGSQL_incdir]) 
     273 
     274        LIBS="$LIBS -lpq++ -lpq -lssl -lcrypt -lcrypto" 
     275fi 
     276 
     277 
    137278for a in $modules 
    138279do 
     
    140281 
    141282        case "$a" in 
    142                 mysql ) 
    143                 # 
    144                 # Location of MySQL installation 
    145                 # 
    146                 AC_ARG_WITH(mysql, 
    147                     [  --with-mysql=<path>     root directory path of MySQL installation], 
    148                     [MYSQL_lib_check="$withval/lib/mysql $with_mysql/lib" 
    149                 MYSQL_inc_check="$withval/include/mysql"], 
    150                     [MYSQL_lib_check="/usr/local/mysql/lib/mysql /usr/local/lib/mysql /opt/mysql/lib/mysql /usr/lib/mysql /usr/local/mysql/lib /usr/local/lib /opt/mysql/lib /usr/lib" 
    151                 MYSQL_inc_check="/usr/local/mysql/include/mysql /usr/local/include/mysql /opt/mysql/include/mysql /opt/mysql/include /usr/include/mysql"]) 
    152  
    153                 AC_ARG_WITH(mysql-lib, 
    154                     [  --with-mysql-lib=<path> directory path of MySQL library installation], 
    155                     [MYSQL_lib_check="$withval/lib/mysql $withval/mysql $withval"]) 
    156  
    157                 AC_ARG_WITH(mysql-includes, 
    158                     [  --with-mysql-includes=<path> 
    159                           directory path of MySQL header installation], 
    160                     [MYSQL_inc_check="$withval/include/mysql $withval/mysql $withval"]) 
    161  
    162                 AC_MSG_CHECKING([for MySQL library directory]) 
    163                 MYSQL_libdir= 
    164                 for m in $MYSQL_lib_check; do 
    165                         if test -d "$m" && \ 
    166                            (test -f "$m/libmysqlclient.so" || test -f "$m/libmysqlclient.a") 
    167                         then 
    168                                 MYSQL_libdir=$m 
    169                                 break 
    170                         fi 
    171                 done 
    172  
    173                 if test -z "$MYSQL_libdir"; then 
    174                         AC_MSG_ERROR([Didn't find the mysql library dir in '$MYSQL_lib_check']) 
    175                 fi 
    176  
    177                 case "$MYSQL_libdir" in 
    178                   /usr/lib ) MYSQL_lib="" ;; 
    179                   /* ) MYSQL_lib=-L$MYSQL_libdir; LIBS="$MYSQL_lib $LIBS";; 
    180                   * )  AC_MSG_ERROR([The MySQL library directory ($MYSQL_libdir) must be an absolute path.]) ;; 
    181                 esac 
    182  
    183                 AC_SUBST(MYSQL_lib) 
    184                 AC_MSG_RESULT([$MYSQL_libdir]) 
    185  
    186                 AC_MSG_CHECKING([for MySQL include directory]) 
    187                 MYSQL_incdir= 
    188                 for m in $MYSQL_inc_check; do 
    189                         if test -d "$m" && test -f "$m/mysql.h" 
    190                         then 
    191                                 MYSQL_incdir=$m 
    192                                 break 
    193                         fi 
    194                 done 
    195  
    196                 if test -z "$MYSQL_incdir"; then 
    197                         AC_MSG_ERROR([Didn't find the mysql include dir in '$MYSQL_inc_check']) 
    198                 fi 
    199  
    200                 case "$MYSQL_incdir" in 
    201                   /* ) ;; 
    202                   * )  AC_MSG_ERROR([The MySQL include directory ($MYSQL_incdir) must be an absolute path.]) ;; 
    203                 esac 
    204  
    205                 AC_SUBST(MYSQL_incdir) 
    206                 AC_MSG_RESULT([$MYSQL_incdir]) 
     283                pgmysql) 
     284                rm -f modules/pgmysqlbackend/OBJECTFILES  
     285                cat /dev/null >  modules/pgmysqlbackend/OBJECTLIBS 
     286                cat /dev/null >  modules/pgmysqlbackend/OBJECTFILES 
     287                if test -n "$domysql" 
     288                then  
     289                        echo smysql.o > modules/pgmysqlbackend/OBJECTFILES 
     290                fi  
     291 
     292                if test -n "$dopgsql" 
     293                then  
     294                        echo spgsql.o >> modules/pgmysqlbackend/OBJECTFILES 
     295                fi  
     296                ;; 
    207297        esac 
    208298 
  • trunk/pdns/modules/gmysqlbackend/Makefile.in

    r27 r28  
    66MYSQL_LIBS           = -lmysqlclient  
    77 
    8 #POSTGRES_INCLUDES      = /opt/postgresql/include 
    9 #POSTGRES_LIBDIR         = /opt/postgresql-with-3.2/lib 
    10 #POSTGRES_LIBS           = -Wl,-Bstatic  -lpq++ -lpq -Wl,-Bdynamic -lssl -lcrypt -lcrypto 
     8PGSQL_INCLUDES  = @PGSQL_incdir@ 
     9PGSQL_LIB            = @PGSQL_lib@ 
     10PGSQL_LIBS           = -Wl,-Bstatic  -lpq++ -lpq -Wl,-Bdynamic -lssl -lcrypt -lcrypto 
    1111 
    12 VERSION                 = 2.9 
     12CXXFLAGS:=-I$(PDNS_HOME) $(CXXFLAGS) 
    1313 
    14 all: gmysqlbackend.o smysql.o 
     14dopgsql=@dopgsql@ 
     15domysql=@domysql@ 
    1516 
    16 CPPFLAGS=-I$(PDNS_HOME) -I$(MYSQL_INCLUDES) # -I$(POSTGRES_INCLUDES) 
     17ifneq ($(dopgsql),) 
     18        TARGETS:=spgsql.o 
     19        CXXFLAGS:=-DPDNS_DOPGSQL -I$(PGSQL_INCLUDES) $(CXXFLAGS) 
     20        ELIBS:=$(PGSQL_LIB) $(PGSQL_LIBS) 
     21endif 
    1722 
    18 LIBS=  $(MYSQL_LIB)  $(MYSQL_LIBS) # -L$(POSTGRES_LIBDIR)  $(POSTGRES_LIBS) 
    19 DIRNAME=pdns-gmypgsqlbackend-$(VERSION) 
     23ifneq ($(domysql),) 
     24        TARGETS:=$(TARGETS) smysql.o 
     25        CXXFLAGS:=-DPDNS_DOMYSQL -I$(MYSQL_INCLUDES) $(CXXFLAGS) 
     26        ELIBS:=$(MYGRES_LIB) $(MYGRES_LIBS) $(ELIBS) 
     27endif 
     28 
     29 
     30all: gmysqlbackend.o $(TARGETS) OBJECTFILES 
     31 
     32OBJECTFILES: 
     33        echo $(TARGETS) > OBJECTFILES 
     34 
     35OBJECTLIBS: 
     36        echo $(ELIBS) > OBJECTLIBS 
     37 
    2038 
    2139PACKAGE = @PACKAGE@ 
     
    4866-include deps 
    4967 
    50  
    51 #libgmysqlbackend.so: gmysqlbackend.o smysql.o spgsql.o  
    52 #       g++ gmysqlbackend.o -Wl,-rpath -Wl,$(POSTGRES_LIBDIR) smysql.o spgsql.o $(LIBS) -Wl,-soname -Wl,libgmysqlbackend.so.0 -shared  -o libgmysqlbackend.so  
    53  
    5468.cc.o: 
    5569        g++ -MD -g -c $(CXXFLAGS) $(CPPFLAGS) $< 
     
    6276install: 
    6377 
    64 #install: libgmysqlbackend.so 
    65 #       mv $< $(PDNS_LIBDIR) 
  • trunk/pdns/modules/gmysqlbackend/gmysqlbackend.cc

    r24 r28  
    1 // $Id: gmysqlbackend.cc,v 1.2 2002/11/29 15:14:24 ahu Exp $  
     1// $Id: gmysqlbackend.cc,v 1.3 2002/11/29 21:16:10 ahu Exp $  
    22#include <string> 
    33#include <map> 
     
    1313#include "logger.hh" 
    1414#include "arguments.hh" 
     15 
     16#ifdef PDNS_DOMYSQL 
    1517#include "smysql.hh" 
    16  
    17 #if 0 
    18         #include "spgsql.hh" 
     18#endif 
     19 
     20#ifdef PDNS_DOPGSQL 
     21#include "spgsql.hh" 
    1922#endif 
    2023 
     
    188191  d_db=0; 
    189192  try { 
    190     if(mode=="gmysql") 
     193    if(0) {} 
     194#ifdef PDNS_DOMYSQL 
     195    else if(mode=="gmysql") 
    191196      d_db=new SMySQL(getArg("dbname"), 
    192197                    getArg("host"), 
     
    194199                    getArg("user"), 
    195200                    getArg("password")); 
    196 #if 0 
    197     else if(mode=="gpgsql2") 
     201#endif 
     202#ifdef PDNS_DOPGSQL 
     203    else if(mode=="gpgsql") 
    198204      d_db=new SPgSQL(getArg("dbname"), 
    199205                      getArg("host"),