Jump to content
Fivewin Brasil

Contrib PGSQL


jfaguiar

Recommended Posts

Criando a lib -> libhbpg.lib

Criar uma arquivo de lote (.bat) que eu chamo de make_b32.bat ou qualquer nome que queira dar, salvar na pasta pgsql, que no meu caso fica em c:\xharbour\contrib\pgsql.

Este arquivo tem o seguinte conteúdo:

@echo off



if "%1" == "clean" goto CLEAN

if "%1" == "CLEAN" goto CLEAN


:BUILD



   \bcc55\bin\make -fmakefile.bc %1 %2 %3 > make_b32.log

   if errorlevel 1 goto BUILD_ERR



:BUILD_OK



   copy c:\xharbour\contrib\pgsql\lib\b32\libhbpg.lib c:\xharbour\lib\

   goto EXIT



:BUILD_ERR



   notepad make_b32.log

   goto EXIT



:CLEAN



   if exist ..\..\contrib\pgsql\lib\b32\libhbpg.lib    del ..\..\contrib\pgsql\lib\b32\libhbpg.lib

   if exist ..\..\contrib\pgsql\lib\b32\libhbpg.bak    del ..\..\contrib\pgsql\lib\b32\libhbpg.bak

   if exist ..\..\contrib\pgsql\obj\b32\postgres.obj   del ..\..\contrib\pgsql\obj\b32\postgres.obj

   if exist ..\..\contrib\pgsql\obj\b32\TPostgres.c    del ..\..\contrib\pgsql\obj\b32\TPostgres.c

   if exist ..\..\contrib\pgsql\obj\b32\TPostgres.obj  del ..\..\contrib\pgsql\obj\b32\TPostgres.obj

   goto EXIT



:EXIT

OBS.

Dentro da pasta pgsql, criar uma pasta lib e dentro desta pasta outra pasta chamada b32.

Dentro da pasta pgsql, criar uma pasta obj e dentro desta pasta outra pasta chamada b32.

* Os caminhos para o executável make, será o caminho que esta instalado no seu computador, tal como o do seu xharbour etc....

* Este arquivo executa o lote, digitando make_b32 e digitando make_b32 clean -> limpa o conteúdo para uma nova criação da lib. ( Lembrando que se chamar o arquivo de lote e gerar a lib, e depois chamar novamente o arquivo de lote não será criada uma nova lib, por isso que se tem o make_b32_clean, ou seja executa o bat para criar a lib e depois se quiser criar novamente, é necessário limpar com o make_b32 clean antes de executar o bat novamente.

 

Criar um outro arquivo com o nome de makefile.bc ou qualquer outro nome que queira dar , salvar na pasta pgsql, que no meu caso fica em c:\xharbour\contrib\pgsql.

Este arquivo tem o seguinte conteúdo:

# makefile for Borland C/C++ 32 bits
# Building of libhbpg.lib - Harbour API to postgres

# Postgresql running under Cygwin/Windows, unmark the line bellow to compile.
# PG_DIR = ..\..\..\cygwin\usr\src\postgresql-7.4.5

PG_DIR = C:\Postgresql\9.2

INCLUDE_DIR = ..\..\include
INCLUDE_PQ = $(PG_DIR)\include

BIN_DIR = c:\xharbour\bin
OBJ_DIR = ..\..\contrib\pgsql\obj\b32
LIB_DIR = ..\..\contrib\pgsql\lib\b32

$(LIB_DIR)\libhbpg.lib : \
  $(OBJ_DIR)\TPostgres.obj \
  $(OBJ_DIR)\postgres.obj

$(OBJ_DIR)\TPostgres.c    : TPostgres.prg
$(OBJ_DIR)\TPostgres.obj  : $(OBJ_DIR)\TPostgres.c
$(OBJ_DIR)\postgres.obj   : postgres.c

.c.obj:
  \bcc55\bin\bcc32 $(CLIBFLAGS) -c -O2 -I$(INCLUDE_DIR) -I$(INCLUDE_PQ) -DHB_OS_WIN_32_USED -DPG_DIAG_INTERNAL_POSITION -o$@ $<
  \bcc55\bin\tlib $(LIB_DIR)\libhbpg.lib -+$@,,

.prg.c:
  $(BIN_DIR)\harbour.exe $< -q0 -a -w -es2 -gc0 -n -i$(INCLUDE_DIR) -o$@

OBS.

Os caminhos do xharbour, bcc55 ou outro borland é de acordo como esta instalado no seu computador.

* Uma observação importante, é que no caso do POSTGRESQL, por padrão na instalação ele fica dentro da pasta ( c:\Arquivos de programas\Postgresql) ou (c:\Program Files\Postgresql), no arquivo acima é necessário informar o caminho de instalação do Postgresql, mas como esse por padrão é instalado em (c:\Arquivos de Programas) ou (c:\Program Files), se informar este caminho no arquivo acima dá erro na geração da LIB, não saberei explicar qual o motivo do WINDOWS, então basta copiar esta pasta Postgresql para a unidade c: e informar como no caso acima, esta pasta só servira para isso, para compilar a lib.

* Ficar atento aos caminhos nos dois arquivos..

OBS. TODA A VEZ QUE MUDAR O XHARBOUR OU O BCC (BORLAND), é necessário recriar esta lib e todas as outras que se usa das contrib..

BOA SORTE,

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...