TEXTO REFUNDIDO DE TODO LO ANTERIOR RELATIVO A LAS INSTRUCCIONES PARA INSTALAR HARBOUR EN UBUNTU 9.10
(SOLO PARA MODO CONSOLA)
He hecho lo siguiente:
1º.- Instalar en SVN (Source Version control system):
sudo apt-get install subversion
2º.- Descargar de sourceforge la version de Harbour al directorio harbour-project en el directorio local del usuario que haya ejecutado la siguiente instrucción:
svn co
https://harbour-project.svn.sourceforge ... ur-project harbour-project
Esto tarda un ratillo.
3º.- Ahora se compila la versión descargada con el fichero descargado make_gnu.sh, desde el terminal de linux:
i.- Cambiamos al directorio donde está el fichero:
cd ./harbour-project/branches/harbour-1.0
ii.- Cambiamos los atributos de make_gnu.sh para hacerlo ejecutable:
chmod +x ./make_gnu.sh
iii.- Echamos a andar el fichero:
./make_gnu.sh
4º.- Con esto ha quedado compilado el harbour.
5º.- Ahora copiamos lo necesario al arbol de directorios apropiado:
Creamos, colgando de nuestro directorio local la siguiente estructura de directorios:
harbour
/bin
/lib
/include
/doc
(Lo mismo se pordría hacer colgando desde un directorio que tenga acceso para todos los usuarios)
6º.- Copiamos los ficheros:
i.- En
/bin el ejecutable que la compilacion de harbour a generado en el directorio:
harbour-project/branches/harbour-1.0/source/main/linux/gcc
ii.- En
/lib todos los archivos generados en:
harbour-project/branches/harbour-1.0/lib/linux/gcc
iii.- En
/include todos los archivos generados en:
harbour-project/branches/harbour-1.0/include
iv.- En
/doc todos los archivos presentes en:
harbour-project/branches/harbour-1.0/doc
7º.- Ahora editamos un "programa.prg" básico ( EN EL DIRECTORIO /harbour) como:
function main()
? "Hola Mundo"
return
8º.- Lo compilamos con Harbour haciendo:
./bin/harbour programa.prg -n -I./include
y con esto se genera el fichero programa.c
9º.- Ahora generamos el programa.o con gcc:
gcc programa.c -c -I./include
10.- Linkamos:
gcc programa.o -oprograma -L./lib -Wl,--start-group -lhbcommon -lhbvm -lhbrtl -lhbrdd -lhbmacro -lhblang -lhbcpage -lhbpp -lrddntx -lrddcdx -lrddfpt -lhbsix -lhbusrrdd -lhbct -lgtstd -lhbdebug -lgtcgi -lgtpca -lgttrm -lhbbmcdx -lhbbtree -lhbclipsm -lhbcplr -lhbextern -lhbgt -lhbhsx -lhbmisc -lhbmsql -lhbmzip -lhbnf -lhbnulrdd -lhbpcre -lhbrdd -lhbsqlit3 -lhbtip -lhbtpathy -lhbvpdf -lhbziparc -lhbzlib -lrddado -lxhb -lm -Wl,--end-group
11.- Borramos el programa.c y programa.o:
rm programa.c
rm programa.o
12.- Ejecutamos el ejecutable generado (En Linux no tienen porqué terminar en exe)
./programa
13.- ACOMPAÑO EL FICHERO BUILD.SH equivalente a un BAT para compilar y linkar:
# ./build.sh
clear
if [ $# = 0 ]; then
echo syntax: ./build2.sh file [options...]
exit
fi
echo compiling...
./bin/harbour $1.prg -n -I./include
echo compiling C module...
gcc $1.c -c -I./include
echo linking...
gcc $1.o -o$1 -L./lib -Wl,--start-group -lhbcommon -lhbvm -lhbrtl -lhbrdd -lhbmacro -lhblang -lhbcpage -lhbpp -lrddntx -lrddcdx -lrddfpt -lhbsix -lhbusrrdd -lhbct -lgtstd -lhbdebug -lgtcgi -lgtpca -lgttrm -lhbbmcdx -lhbbtree -lhbclipsm -lhbcplr -lhbextern -lhbgt -lhbhsx -lhbmisc -lhbmsql -lhbmzip -lhbnf -lhbnulrdd -lhbpcre -lhbrdd -lhbsqlit3 -lhbtip -lhbtpathy -lhbvpdf -lhbziparc -lhbzlib -lrddado -lxhb -lm -Wl,--end-group
echo deleting $1.c and $1.o ...
rm $1.c
rm $1.o
echo done!
./$1
Una vez creado hay que darle antes de usarlo atributos de ejecución:
sudo chmod +x build.sh
Luego para generar el ejecutable correspondiente a "programa.prg" hacer:
./build.sh programa
Esto genera el fichero "programa" (sin extensión) que es el ejecutable final.
Espero les sea de utilidad.
Solo una nota más: actualicé mi versión anterior de ubuntu, la 9.04 que iba muy bien y rápida, por la nueva 9.10 hace pocos días y he comprobado que la nueva maneja muy lento las ventanas, por lo que no recomiendo su instalación hasta que se haya corregido esto o bien se sepa como corregir este funcionamiento anómalo.
24/12/2009
Saludos y Feliz Navidad a todos.