利用postgresql(PG9.1.1)源码搭建win32调试环境
把以前写的东西,在这里整理一下,顺便根据新代码做些调整。 PG源码网站:www.Postgresql.org
文件夹:E:PG 1-源码postgresql-9.1.1.tar.bz2 解压到:E:PGPostgreSQL 解压后的文件夹:E:PGPostgreSQLpostgresql-9.1.1
vs2005自备 添加C:WINDOWSMicrosoft.NETFrameworkv2.0.50727到环境变量PATH中 set path=%path%;C:WINDOWSMicrosoft.NETFrameworkv2.0.50727 命令行中,不区分大小写,但仅限于会话级别有效。 开源工具可以去下载,下载地址以后补充。 文件夹位置:E:PGpgdebug 工具:openssl、Perl、prog、Python24、Tcl
配置文件位置:E:PGPostgreSQLpostgresql-9.1.1srctoolsmsvcconfig_default.pl 使用UE打开 # Configuration arguments for vcbuild. use strict; use warnings;
our $config = { asserts=>0,# --enable-cassert # integer_datetimes=>1,# --enable-integer-datetimes - on is now default # float4byval=>1,# --disable-float4-byval,on by default # float8byval=>0,# --disable-float8-byval,off by default # blocksize => 8,# --with-blocksize,8kB by default # wal_blocksize => 8,# --with-wal-blocksize,8kB by default # wal_segsize => 16,# --with-wal-segsize,16MB by default ldap=>1,# --with-ldap nls=>undef,# --enable-nls=<path> tcl=>'E:PGpgdebugtcl',# --with-tls=<path> perl=>'E:PGpgdebugperl',# --with-perl python=>'E:PGpgdebugPython24',# --with-python=<path> krb5=>'E:PGpgdebugprogpgsqldependkrb5',# --with-krb5=<path> openssl=>'E:PGpgdebugopenssl',# --with-ssl=<path> #uuid=>undef,# --with-ossp-uuid xml=>'E:PGpgdebugprogpgsqldependlibxml2',# --with-libxml=<path> xslt=>'E:PGpgdebugprogpgsqldependlibxslt',# --with-libxslt=<path> iconv=>'E:PGpgdebugprogpgsqldependiconv',# (not in configure,path to iconv) zlib=>'E:PGpgdebugprogpgsqldependzlib'# --with-zlib=<path> };
1;
配置perl环境变量set path=E:PGpgdebugPerlbin;%path%
生成cd /d E:PGPostgreSQLpostgresql-9.1.1srctoolsmsvc perl build.pl DEBUG cd /d E:PGPostgreSQLpostgresql-9.1.1 mkdirmain perl install.pl E:PGPostgreSQLpostgresql-9.1.1main cd /d E:PGpgdebugprogpgsqldependkrb5bin copy *.dll E:PGPostgreSQLpostgresql-9.1.1mainbin cd /d E:PGPostgreSQLpostgresql-9.1.1mainbin initdb.exe --no-localepgdb
词法文件修正9个词法文件,取消其属性中的执行指令和输出文件。 srcbackendparserscan.l contribcubecubescan.l srcbinpsqlpsqlscan.l srcinterfacesecpgpreprocpgc.l srcbackendbootstrapbootscanner.l srcbackendreplicationrepl_scanner.l contribsegsegscan.l srcbackendutilsmiscguc-file.l srctestisolationspecscanner.l
8个语法文件,做如上处理 srcbackendparsergram.y
修正文件修改下面文件中的代码,注释掉该行。 srcbackendmainmain.c
//check_root(progname); 修改文件属性
调试-->命令参数和工作目录 -D pgdb E:PGPostgreSQLpostgresql-9.1.1mainbin 链接器-->常规-->输出文件 E:PGPostgreSQLpostgresql-9.1.1mainbinpostgres.exe
调试经过注释所有词法和语法文件,可随意重新生成exe文件。
...... 114>stem_ISO_8859_1_danish.c
出现调试后台,即完成目的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |