2003.05.17 - MySQL, PostgreSQLのインストール先をconfigureで指定できるようにした。 - MySQL 4.0に対応 - PostgreSQL に対応 - 日本語対応 diff -Naur gtksql-cvs.orig/gtksql/configure.in gtksql-cvs/gtksql/configure.in --- gtksql-cvs.orig/gtksql/configure.in Wed Dec 18 22:29:56 2002 +++ gtksql-cvs/gtksql/configure.in Sat May 17 11:43:52 2003 @@ -17,93 +17,84 @@ AC_MSG_ERROR(Cannot find GTK: Is gtk-config in path?)) dnl Checks for programs. -use_mysql=1 -use_postgresql=1 -AC_ARG_WITH(mysql, [ --with-mysql MySQL support], \ -if test "$withval" = "no"; then - AC_MSG_RESULT([MySQL will not be used...]) - use_mysql= -fi;) - -AC_ARG_WITH(postgresql, [ --with-postgresql PostgreSQL support], \ -if test "$withval" = "no"; then - AC_MSG_RESULT([PostgreSQL will not be used...]) - use_postgresql= -fi;) - -AC_ARG_WITH(libdir, [ --with-libdir Directory to add to the library search path], \ +AC_MSG_CHECKING(for MySQL support) +AC_ARG_WITH(mysql, +[ --with-mysql[=DIR] Include MySQL support. DIR is the MySQL base + install directory, defaults to /usr/local.], +[ if test "$withval" != "no"; then - AC_MSG_RESULT([Adding library directory $withval...]) - LDFLAGS="$LDFLAGS -L$withval" -fi;) - + if test "$withval" = "yes"; then + MYSQL_INCDIR=/usr/local/include/mysql + MYSQL_LIBDIR=/usr/local/lib/mysql + else + if test -f $withval/include/mysql/mysql.h; then + MYSQL_INCDIR=$withval/include/mysql + MYSQL_LIBDIR=$withval/lib/mysql + elif test -f $withval/include/mysql.h; then + MYSQL_INCDIR=$withval/include + MYSQL_LIBDIR=$withval/lib + else + AC_MSG_RESULT(no) + AC_MSG_ERROR(Invalid MySQL directory - unable to find mysql.h under $withval) + fi + fi + MYSQL_CFLAGS=-I$MYSQL_INCDIR + MYSQL_LIBS="-L$MYSQL_LIBDIR -lmysqlclient" -dnl Checks for libraries. -if test "$use_mysql" = "1" ; then - mysql_link= - AC_CHECK_LIB(z, inflate, \ - mysql_link="-lz", \ - AC_MSG_WARN(zlib not found. This may be required for a successful build) ) - if test -f "/usr/lib/libmysql*" ; then - LDFLAGS="$LDFLAGS -L/usr/lib" - fi - if test -f "/usr/local/lib/libmysql*" ; then - LDFLAGS="$LDFLAGS -L/usr/local/lib" - fi - if test -d "/usr/lib/mysql" ; then - LDFLAGS="$LDFLAGS -L/usr/lib/mysql" - fi - if test -d "/usr/local/lib/mysql" ; then - LDFLAGS="$LDFLAGS -L/usr/local/lib/mysql" - fi - AC_CHECK_LIB(mysqlclient, mysql_store_result, , use_mysql=, $mysql_link) + AC_DEFINE(USE_MYSQL) + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) fi +],[ + AC_MSG_RESULT(no) +]) +AC_SUBST(MYSQL_CFLAGS) +AC_SUBST(MYSQL_LIBS) -if test "$use_mysql" = "1" ; then - AC_CHECK_FUNCS(mysql_field_count) -fi -if test "$use_postgresql" = "1" ; then - AC_CHECK_LIB(pq, PQfinish, , use_postgresql=) -fi +AC_MSG_CHECKING(for PostgresSQL support) +AC_ARG_WITH(pgsql, +[ --with-pgsql[=DIR] Include PostgresSQL support. DIR is the PostgresSQL + base install directory, defaults to /usr/local/pgsql.], +[ +if test "$withval" != "no"; then + if test "$withval" = "yes"; then + PGSQL_INCDIR=/usr/local/pgsql/include + PGSQL_LIBDIR=/usr/local/pgsql/lib + else + PGSQL_INCDIR=$withval/include + PGSQL_LIBDIR=$withval/lib + fi + PGSQL_CFLAGS=-I$PGSQL_INCDIR + PGSQL_LIBS="-L$PGSQL_LIBDIR -lpq" -dnl Checks for header files. -if test "$use_mysql" = "1" ; then -AC_CHECK_HEADERS(/usr/include/mysql/mysql.h, - [ CPPFLAGS="$CPPFLAGS -I/usr/include/mysql" ], - [ use_mysql= ]) + AC_DEFINE(USE_POSTGRESQL) + AC_MSG_RESULT(yes) +else + AC_MSG_RESULT(no) fi +],[ + AC_MSG_RESULT(no) +]) +AC_SUBST(PGSQL_CFLAGS) +AC_SUBST(PGSQL_LIBS) -if test "$use_postgresql" = "1" ; then -AC_CHECK_HEADERS(/usr/include/pgsql/server/postgres.h, - [ CPPFLAGS="$CPPFLAGS -I/usr/include/pgsql/server" ], - [ AC_CHECK_HEADERS(/usr/include/postgresql/server/postgres.h, - [ CPPFLAGS="$CPPFLAGS -I/usr/include/postgresql/server -I/usr/include/postgresql" ], - [ use_postgresql= ]) ] ) -fi + +AC_ARG_WITH(libdir, [ --with-libdir Directory to add to the library search path], \ +if test "$withval" != "no"; then + AC_MSG_RESULT([Adding library directory $withval...]) + LDFLAGS="$LDFLAGS -L$withval" +fi;) dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for library functions. dnl Checks for Additional stuffs. -AC_MSG_CHECKING(whether to include MySQL support) -if test "$use_mysql" = "1" ; then - AC_MSG_RESULT(yes) - AC_DEFINE(USE_MYSQL) -else - AC_MSG_RESULT(no) -fi -AC_MSG_CHECKING(whether to include PostgreSQL support) -if test "$use_postgresql" = "1" ; then - AC_MSG_RESULT(yes) - AC_DEFINE(USE_POSTGRESQL) -else - AC_MSG_RESULT(no) -fi AC_SUBST(CPPFLAGS) AC_SUBST(LDFLAGS) diff -Naur gtksql-cvs.orig/gtksql/src/Makefile.am gtksql-cvs/gtksql/src/Makefile.am --- gtksql-cvs.orig/gtksql/src/Makefile.am Wed Mar 26 02:14:16 2003 +++ gtksql-cvs/gtksql/src/Makefile.am Sat May 17 11:56:44 2003 @@ -5,13 +5,15 @@ ## Please disable it in the Anjuta project configuration INCLUDES = \ - $(GTK_CFLAGS) + $(GTK_CFLAGS) $(MYSQL_CFLAGS) $(PGSQL_CFLAGS) -CFLAGS =\ +AM_CFLAGS =\ -Wall -Wimplicit -Wreturn-type -Wunused -Wswitch -Wcomment -Wuninitialized -Wparentheses -Wpointer-arith\ -O1\ -g +AM_LDFLAGS = @MYSQL_LIBS@ @PGSQL_LIBS@ + bin_PROGRAMS = gtksql gtksql_SOURCES = \ diff -Naur gtksql-cvs.orig/gtksql/src/appconfig.c gtksql-cvs/gtksql/src/appconfig.c --- gtksql-cvs.orig/gtksql/src/appconfig.c Fri Mar 28 01:12:57 2003 +++ gtksql-cvs/gtksql/src/appconfig.c Sat May 17 16:52:35 2003 @@ -49,7 +49,7 @@ /** Default configuration for the toolbar */ #define DEFAULT_TOOLBARCONF TOOLBAR_BOTH /** Default font. */ -#define DEFAULT_FONTNAME "-*-courier-medium-r-normal--12-*-*-*-*-*-*-*" +#define DEFAULT_FONTNAME "-*-courier-medium-r-normal--12-*-*-*-*-*-iso8859-1,-*-*-medium-r-normal--12-*-*-*-*-*-jisx0208.1983-0" /** Default window x-position. */ #define DEFAULT_WINDOWX -1 /** Default window y-position. */ diff -Naur gtksql-cvs.orig/gtksql/src/d_mysql_f.c gtksql-cvs/gtksql/src/d_mysql_f.c --- gtksql-cvs.orig/gtksql/src/d_mysql_f.c Fri Mar 28 01:14:38 2003 +++ gtksql-cvs/gtksql/src/d_mysql_f.c Sat May 17 12:14:09 2003 @@ -426,6 +426,18 @@ } } +static MYSQL* +my_mysql_connect(MYSQL* mysql, const char* host, const char* user, const char* passwd) +{ + MYSQL* res; + mysql = mysql_init(mysql); + if (!(res = mysql_real_connect(mysql, host, user, passwd, NULL, 0, NULL, 0))) { +// if (mysql->free_me) +// my_free(mysql, 0); + } + return res; +} + #define BASENAME "Database" #define BASEHOST "Host" #define BASEPORT "Port" @@ -479,7 +491,7 @@ if ((my_conn = calloc(1, sizeof(MYSQL))) == NULL) { return CONNECT_ERROR; } - if (!mysql_connect(my_conn, bhost, blogin, bpass)) { + if (!my_mysql_connect(my_conn, bhost, blogin, bpass)) { db_err = mysql_error(my_conn); buf = buf_new(strlen(DB_CONNECT_ERROR_S) + strlen(db_err) + 1); if (!buf) { diff -Naur gtksql-cvs.orig/gtksql/src/d_postgres_f.c gtksql-cvs/gtksql/src/d_postgres_f.c --- gtksql-cvs.orig/gtksql/src/d_postgres_f.c Wed Mar 26 10:50:22 2003 +++ gtksql-cvs/gtksql/src/d_postgres_f.c Sat May 17 12:12:31 2003 @@ -22,8 +22,8 @@ #ifdef USE_POSTGRESQL #include +#include #include -#include #include "buf.h" #include "common.h" diff -Naur gtksql-cvs.orig/gtksql/src/fonts.c gtksql-cvs/gtksql/src/fonts.c --- gtksql-cvs.orig/gtksql/src/fonts.c Thu Jan 30 23:26:21 2003 +++ gtksql-cvs/gtksql/src/fonts.c Sat May 17 12:38:00 2003 @@ -115,7 +115,7 @@ char *fn = cfg_get_fontname(); if (!font) - font = gdk_font_load(fn); + font = gdk_fontset_load(fn); if (! font) g_error("Font %s not loaded\n", fn); diff -Naur gtksql-cvs.orig/gtksql/src/main.c gtksql-cvs/gtksql/src/main.c --- gtksql-cvs.orig/gtksql/src/main.c Sat Mar 29 00:08:14 2003 +++ gtksql-cvs/gtksql/src/main.c Sat May 17 12:33:47 2003 @@ -1203,6 +1203,7 @@ get_config(argc, argv); /* Window / GTK initialisation */ + gtk_set_locale(); gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(window), APPNAME);