Página 1 de 1

Mod_harbour con ADS 8.1 de 32bits (Paso a Paso)

Publicado: Vie Oct 22, 2021 9:24 pm
por rhoychaves@gmail.com
Hola grupo. Dejo mi colaboración para crear el mod_harbour y que pueda usar el Advantage Databases Server (ADS) versión 8.1 de 32bits.

*----------------------------------------------------------*
* Crear Harbour y Mod_Harbour 32.txt
*----------------------------------------------------------*
1) Descargar e instalar https://git-scm.com/download/win

2) Desde una ventana CMD con derechos de administrador:
CD C:\
git clone https://github.com/FiveTechSoft/mod_harbour.git mod_harbour
(Esto nos trae el repositario de Mod_Harbour a nuestra PC)
git clone https://www.github.com/harbour/core harbour
(Esto nos trae el repositorio actualizado de Harbour a nuestra PC)

3) Bajar de https://curl.se/windows/
curl-7.79.1-win32-mingw.zip o superior
(Desempacar en c:\ y renombrar después a c:\curl)
openssl-3.0.0-win32-mingw.zip o superior
(Desempacar en c:\OpenSSL-Win32)

4) Para trabajar con c:\apache24
De https://www.apachelounge.com/download/
Descargar httpd-2.4.50-win32-VS16.zip o superior
y desempacar en c:\ (Nos genera c:\apache24)

5) Copiar carpeta "C:\Program Files (x86)\Extended Systems\Advantage 8.1" a C:\ads
(Nos genera acedsk y Redistribute con las librerías de Advantage 8.1 para 32bits)
(Si desea trabajar con otra versión de ADS copia la carpeta correspondiente a c:\ads)

6) En c:\harbour crear archivo makehb32.bat con la siguiente información:
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
set HB_BUILD_MODE=c
set HB_USER_PRGFLAGS=-l-
set HB_BUILD_CONTRIBS
set HB_WITH_OPENSSL=c:\OpenSSL-Win32\include
set HB_WITH_CURL=c:\curl\include
set HB_WITH_ADS=C:\ads\acesdk
set HB_OPENSSL_STATIC=yes
set HB_STATIC_OPENSSL=yes
set HB_STATIC_CURL=yes
set HB_BUILD_DYN=no
set HB_BUILD_CONTRIB_DYN=no
win-make.exe

10) Desde una ventana CMD con derechos de administrador:
CD C:\Harbour
makehb32
(Nos genera el harbour de 32bits con la librerías ace32.lib y rddads.lib, necesaria para ADS (Advantage Database Server))

13) Verificar la ruta de la librería de c:\apache24\lib en el archivo c:\mod_harbour\windows\go32ads.bat.
(Puede usar el apache del xampp: C:\xampp\apache\lib)
-LC:\xampp\apache\lib
-dHB_WITH_ADS="c:\ads\acesdk"
-lace32
-lrddads

El archivo go32ads.bat quedaría:
@set oldpath=%path%
@set oldinclude=%INCLUDE%
call "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
c:\harbour\bin\win\msvc\hbmk2 modharbour.hbp -comp=msvc -lace32 -lrddads -Lc:\apache24\lib -dHB_WITH_ADS="c:\ads\acesdk" rddads.hbc
@set path=%oldpath%
@set INCLUDE=%oldinclude%

14) Verificar la ruta de la librería de c:\apache24\lib en el archivo c:\mod_harbour\windows\modharbour.hbp y el archivo c:\mod_harbour\windows\mod.hbp
- Puede usar c:\Apache24\lib o C:\xampp\apache\lib
- Puede usar c:\apache24\include o C:\xampp\apache\include

15) Copiar: copy "C:\Discos\_Programacion Harbour\harbour_win32_msvc_2020_10_19\lib\libcrypto.lib" "C:\harbour\lib\win\msvc"

16) copy "C:\Discos\_Programacion Harbour\libssh2_32\libssh2.lib" "C:\harbour\lib\win\msvc"

17) Desde el CMD:
CD C:\Mod_Harbour\windows
go32ads.bat

Listo!!! Se han creado los siguientes archivos: mod_harbour.so y libharbour.dll con ADS 8.1 a 32bits!

*------------------------------------------------------------------------------*
Para instalar Mod_Harbour_32 : ver archivo Instalar Mod_Harbour32.txt
*------------------------------------------------------------------------------*

*----------------------------------------------------------*
* Instalar Mod_Harbour_32 con ADS 8.1 - 32bits
*----------------------------------------------------------*
Se recomienda instalar el Apache en c:\apache24.
Sin embargo, también puede trabajar con el XAMPP donde la carpeta del apache sería C:\xampp\apache

1) Modificar c:\apache24\httpd.conf con:

LoadModule harbour_module modules/mod_harbour.so

SetEnv LIBHARBOUR "C:\Apache24\htdocs\libharbour.dll"
SetEnv LIBHRB "C:\Apache24\htdocs\libharbour.dll"

<FilesMatch "\.(prg|hrb)$">
SetHandler harbour
</FilesMatch>

5) En CMD:
copy C:\mod_harbour\windows\mod_harbour.so c:\apache24\modules\ /y
copy C:\mod_harbour\windows\libharbour.dll c:\apache24\htdocs\ /y
copy C:\mod_harbour\windows\win32\required\libeay32.dll c:\apache24\bin\ /y
copy C:\mod_harbour\windows\win32\required\libssh2.dll c:\apache24\bin\ /y
copy C:\mod_harbour\windows\win32\required\ssleay32.dll c:\apache24\bin\ /y
copy C:\ads\acesdk\Redistribute\*.dll c:\apache24\bin\ /y

Re: Mod_harbour con ADS 8.1 de 32bits (Paso a Paso)

Publicado: Vie Oct 22, 2021 10:04 pm
por Cristobal
Muchas gracias Rhoy