Configurar y construir T-GTK

Una vez descargado t-gtk, debemos indicar al gestor de compilación donde encontrar las herramientas que necesita, estos valores se expresan en un fichero de texto plano con nombre setenv[_PLATAFORMA] donde la plataforma corresponde al entorno bajo el cual se construye la t-gtk.

Ejemplo de nombres de archivos de configuración:

setenv_Ubuntu_14.04.1_x86_64.mk  fichero de configuración para un sistema GNU/Linux Ubuntu version 14.01 64bits

setenv_win_x86.mk  fichero de configuración para Windows XP 32bits.

 

Nota. Como se puede tener varios setenv_xxxxx.mk en adelante indicaremos setenv*.mk quedando entendido que el asterisco indica cualquiera de las plataformas.

En el caso del sistema operativo Windows, en este artículo se considera que el desarrollador tiene instaladas las dependencias que igualmente están disponibles en el instalador de t-gtk. De no ser asi, es recomendable descargar el instalador, ejecutarlo y seguir las instrucciones.

 

Si no se posee un archivo setenv*.mk, luego de invocar el make, las rutinas de compilación intentan generar el archivo setenv*.mk correspondiente al entorno detectado. Puede ver también Instalar Harbour y T-GTK en GNU/Linux Ubuntu desde cero.

 ejemplo en Windows:

c:\t-gtk> make

ejemplo en GNU/Linux:

 usuario@computer:~/t-gtk$ make

 

¿Porqué varios archivos setenv*.mk?

Muy posiblemente se desea desarrollar alguna herramienta compilada para Windows y GNU/Linux. Para permitir trabajar con ambas plataforma usando una misma carpeta de trabajo, lo único que se necesita diferenciar es el fichero que indica los datos con rutas de componentes a utilizar en cada plataforma.

Por ejemplo, podria estar alojada la copia de t-gtk en un directorio de GNU/Linux como: /home/usuario/t-gtk  y a su vez podria estar ejecutando una maquina virtual con Windows y en la maquina virtual se tiene una unidad de red F: y la ruta F:\t-gtk que fisicamente es la misma carpeta que en GNU/Linux.  De esta forma puede compilar con ambos sistemas operativos sin necesidad de tener una copia separada de sus fuentes en ambos sistemas operativos.

 

Ejemplo de contenido de un setenv_win_x86.mk:

#-------------------- 
# Compilador xBase. Opciones [HARBOUR o XHARBOUR] 
export XBASE_COMPILER =HARBOUR 

#-------------------- 
# RUTAS Compilador xBase HARBOUR. 
export HARBOUR_PATH =c:\hb32
export HB_BIN_INSTALL =c:\hb32\bin
export HB_INC_INSTALL =c:\hb32\include
export HB_LIB_INSTALL =c:\hb32\lib\win\mingw
export HB_VERSION =32
#-------------------- 
# RUTAS Compilador xBase xHARBOUR. 
export XHB_BIN_INSTALL =\xhb_mingw\bin
export XHB_INC_INSTALL =\xhb_mingw\include
export XHB_LIB_INSTALL =\xhb_mingw\lib

#-------------------- 
# RUTAS T-GTK. 
export TGTK_DIR =y:\t-gtk
export LIBDIR_TGTK =$(TGTK_DIR)\lib
export INCLUDE_TGTK_PRG =$(TGTK_DIR)\include
export TGTK_RUN =$(TGTK_DIR)\runtime
export DIR_DOWN =$(TGTK_DIR)\downloads

#-------------------- 
# Componentes Adicionales. 
export GTK_PATH =c:\mingw
export TGTK_BIN =c:\mingw
export PKG_CONFIG_PATH =$(GTK_PATH)\lib\pkgconfig
#-------------------- 
# Genera Binario con Datos de la Plataforma. 
export BIN_PLATFORM_NAME =yes
#-------------------- 
# Auto Descarga e Instalación de Componentes. 
export AUTO_INST =no
export TGTK_DOWN =no

 

 

Igualmente por ejemplo, en un sistema GNU/Linux basado en Debian, posiblemente el setenv*.mk es algo como:

 

 #--------------------
 # Compilador xBase. Opciones [HARBOUR o XHARBOUR]
 export XBASE_COMPILER =HARBOUR

 #--------------------
 # RUTAS Compilador xBase HARBOUR.
 export HARBOUR_PATH =/usr/local
 export HB_BIN_INSTALL =/usr/local/bin
 export HB_INC_INSTALL =/usr/local/include/harbour
 export HB_LIB_INSTALL =/usr/local/lib/harbour
 export HB_VERSION =32
 #--------------------
 # RUTAS Compilador xBase xHARBOUR.
 export XHB_BIN_INSTALL =/usr/bin
 export XHB_INC_INSTALL =/usr/include/xharbour
 export XHB_LIB_INSTALL =/usr/lib/xharbour

 #--------------------
 # RUTAS T-GTK.
 export TGTK_DIR =/home/riztan/t-gtk
 export LIBDIR_TGTK =$(TGTK_DIR)/lib
 export INCLUDE_TGTK_PRG =$(TGTK_DIR)/include

 #--------------------
 # Componentes Adicionales.
 export GTK_PATH =
 export TGTK_BIN =\mingw
 export PKG_CONFIG_PATH =/lib/pkgconfig
 #--------------------
 # Genera Binario con Datos de la Plataforma.
 export BIN_PLATFORM_NAME =yes
 #--------------------
 # Auto Descarga e Instalación de Componentes.
 export AUTO_INST =yes
 export TGTK_DOWN =yes


 # Soporte de Impresion.
 export SUPPORT_PRINT_LINUX =no

 # Soporte para MultiThread.
 export GTK_THREAD =no


 # Soporte para Terminal.
 export VTE =yes

 # Soporte para GTKSourceView.
 export GTKSOURCEVIEW =yes

 # Soporte para GTK-Extra.
 export GTK_EXTRA =no

 # Soporte para Bonobo.
 export BONOBO =no

 # Soporte para gnomeDB y LibGDA.
 export GDA =yes
 export GDA_VERSION =5.0

 # Soporte para LibGD.
 export LIBGD =yes

 # Soporte para cURL.
 export CURL =yes

 # Soporte para WebKit.
 export WEBKIT =yes

 # Soporte para SQLite.
 export SQLITE =yes

 # Soporte para MySQL.
 export MYSQL =yes
 export DOLPHIN =yes
 export DOLPHIN_PATH =
 export MYSQL_VERSION =5.0
 export MYSQL_PATH =MySQLMySQL Server 5.0include

 # Soporte para PostgreSQL.
 export POSTGRE =yes
 export POSTGRE_VERSION =9.0
 export POSTGRE_PATH =PostgreSQL9.0include

 # Soporte para SSL (Secure Sockets Layer).
 export SSL =yes 

 

Asi entonces, si las rutas están correctas y las dependencias se cumplen; al compilar t-gtk, se debe haber creado un directorio de nombre "lib" en la ruta de t-gtk. Dentro de este directorio, un subdirectorio indicando el sistema operativo y dentro de este otro subdirectorio indicando harbour o xharbour más la versión de este último. Por ejemplo:

/usuario/t-gtk/lib/Ubuntu_14.04.1/x86_64/hb32
ó
c:\t-gtk\lib\win_x86\hb32

Y, dentro de este directorio las diferentes librerias que se generan al compilar t-gtk.
Principales:

    libhbgtk
    libgclass

Opcionales:

    libcurl-hb  (cUrl)
    libhbpg     (postgresql)
    libhbmysql   (hb - mysql)
    libsqlite3    (sqlite)
    libtdolphin   (dolphin - mysql)
    libtgtk-misc  (miscelaneos)


Si efectivamente están las librerias creadas, t-gtk está listo para ser enlazado en su proyecto!.

 

Véa también: Instalar Harbour y T-GTK en GNU/Linux Ubuntu desde cero.